diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 042e424c..2116b518 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,7 @@ jobs: - run: pnpm build - run: pnpm test - - name: Upload coverage report on Node 16 to coveralls.io... + - name: Upload coverage report to coveralls.io... uses: coverallsapp/github-action@master with: github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/README.md b/README.md index 7981b2f5..058622b1 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![typescript version](https://img.shields.io/badge/typescript-5.5.3-brightgreen)](https://www.typescriptlang.org/) [![eslint version](https://img.shields.io/badge/eslint-8.57.0-brightgreen)](https://github.com/eslint) [![cypress version](https://img.shields.io/badge/cypress-13.13.1-brightgreen)](https://www.cypress.io/) -[![vite version](https://img.shields.io/badge/vite-4.5.3-brightgreen)](https://vitejs.dev/) +[![vite version](https://img.shields.io/badge/vite-5.3.4-brightgreen)](https://vitejs.dev/) [![prettier version](https://img.shields.io/badge/prettier-2.8.8-brightgreen)](https://prettier.io/) diff --git a/dist/bootstrap-native.cjs b/dist/bootstrap-native.cjs index 9b845dc3..db7f6194 100644 --- a/dist/bootstrap-native.cjs +++ b/dist/bootstrap-native.cjs @@ -1,2 +1,2 @@ -"use strict";var Bo=Object.defineProperty;var Ro=(t,s,e)=>s in t?Bo(t,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[s]=e;var d=(t,s,e)=>(Ro(t,typeof s!="symbol"?s+"":s,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Nn="aria-describedby",De="aria-expanded",ke="aria-hidden",Ne="aria-modal",Os="aria-pressed",Qe="aria-selected",Wo="DOMContentLoaded",Es="focus",$s="focusin",On="focusout",Oe="keydown",Fo="keyup",N="click",Mn="mousedown",jo="hover",Me="mouseenter",Ts="mouseleave",zo="pointerdown",Vo="pointermove",Ko="pointerup",_e="resize",Be="scroll",ys="touchstart",Xo="dragstart",as="ArrowDown",rs="ArrowUp",Ms="ArrowLeft",_s="ArrowRight",Cs="Escape",Yo="transitionDuration",Uo="transitionDelay",Ze="transitionend",_n="transitionProperty",qo=navigator.userAgentData,Ae=qo,{userAgent:Qo}=navigator,Le=Qo,Bs=/iPhone|iPad|iPod|Android/i;Ae?Ae.brands.some(t=>Bs.test(t.brand)):Bs.test(Le);const Rs=/(iPhone|iPod|iPad)/,Zo=Ae?Ae.brands.some(t=>Rs.test(t.brand)):Rs.test(Le);Le&&Le.includes("Firefox");const{head:Re}=document;["webkitPerspective","perspective"].some(t=>t in Re.style);const Go=(t,s,e,n)=>{const o=n||!1;t.addEventListener(s,e,o)},Jo=(t,s,e,n)=>{const o=n||!1;t.removeEventListener(s,e,o)},ti=(t,s,e,n)=>{const o=i=>{(i.target===t||i.currentTarget===t)&&(e.apply(t,[i]),Jo(t,s,o,n))};Go(t,s,o,n)},ge=()=>{};(()=>{let t=!1;try{const s=Object.defineProperty({},"passive",{get:()=>(t=!0,t)});ti(document,Wo,ge,s)}catch{}return t})();["webkitTransform","transform"].some(t=>t in Re.style);["webkitAnimation","animation"].some(t=>t in Re.style);["webkitTransition","transition"].some(t=>t in Re.style);const it=(t,s)=>t.getAttribute(s),Ie=(t,s)=>t.hasAttribute(s),O=(t,s,e)=>t.setAttribute(s,e),Nt=(t,s)=>t.removeAttribute(s),g=(t,...s)=>{t.classList.add(...s)},b=(t,...s)=>{t.classList.remove(...s)},h=(t,s)=>t.classList.contains(s),ve=t=>t!=null&&typeof t=="object"||!1,L=t=>ve(t)&&typeof t.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(s=>t.nodeType===s)||!1,y=t=>L(t)&&t.nodeType===1||!1,jt=new Map,Lt={data:jt,set:(t,s,e)=>{y(t)&&(jt.has(s)||jt.set(s,new Map),jt.get(s).set(t,e))},getAllFor:t=>jt.get(t)||null,get:(t,s)=>{if(!y(t)||!s)return null;const e=Lt.getAllFor(s);return t&&e&&e.get(t)||null},remove:(t,s)=>{const e=Lt.getAllFor(s);!e||!y(t)||(e.delete(t),e.size===0&&jt.delete(s))}},F=(t,s)=>Lt.get(t,s),be=t=>typeof t=="string"||!1,Ss=t=>ve(t)&&t.constructor.name==="Window"||!1,Bn=t=>L(t)&&t.nodeType===9||!1,E=t=>Ss(t)?t.document:Bn(t)?t:L(t)?t.ownerDocument:window.document,dt=(t,...s)=>Object.assign(t,...s),$t=t=>{if(!t)return;if(be(t))return E().createElement(t);const{tagName:s}=t,e=$t(s);if(!e)return;const n={...t};return delete n.tagName,dt(e,n)},w=(t,s)=>t.dispatchEvent(s),V=(t,s)=>{const e=getComputedStyle(t),n=s.replace("webkit","Webkit").replace(/([A-Z])/g,"-$1").toLowerCase();return e.getPropertyValue(n)},ei=t=>{const s=V(t,_n),e=V(t,Uo),n=e.includes("ms")?1:1e3,o=s&&s!=="none"?parseFloat(e)*n:0;return Number.isNaN(o)?0:o},ee=t=>{const s=V(t,_n),e=V(t,Yo),n=e.includes("ms")?1:1e3,o=s&&s!=="none"?parseFloat(e)*n:0;return Number.isNaN(o)?0:o},x=(t,s)=>{let e=0;const n=new Event(Ze),o=ee(t),i=ei(t);if(o){const c=a=>{a.target===t&&(s.apply(t,[a]),t.removeEventListener(Ze,c),e=1)};t.addEventListener(Ze,c),setTimeout(()=>{e||w(t,n)},o+i+17)}else s.apply(t,[n])},ht=(t,s)=>t.focus(s),Ws=t=>["true",!0].includes(t)?!0:["false",!1].includes(t)?!1:["null","",null,void 0].includes(t)?null:t!==""&&!Number.isNaN(+t)?+t:t,Ce=t=>Object.entries(t),se=t=>t.toLowerCase(),si=(t,s,e,n)=>{const o={...e},i={...t.dataset},c={...s},a={},l="title";return Ce(i).forEach(([r,f])=>{const p=n&&typeof r=="string"&&r.includes(n)?r.replace(n,"").replace(/[A-Z]/g,v=>se(v)):r;a[p]=Ws(f)}),Ce(o).forEach(([r,f])=>{o[r]=Ws(f)}),Ce(s).forEach(([r,f])=>{r in o?c[r]=o[r]:r in a?c[r]=a[r]:c[r]=r===l?it(t,l):f}),c},Fs=t=>Object.keys(t),$=(t,s)=>{const e=new CustomEvent(t,{cancelable:!0,bubbles:!0});return ve(s)&&dt(e,s),e},st={passive:!0},_t=t=>t.offsetHeight,I=(t,s)=>{Ce(s).forEach(([e,n])=>{if(n&&be(e)&&e.includes("--"))t.style.setProperty(e,n);else{const o={};o[e]=n,dt(t.style,o)}})},ls=t=>ve(t)&&t.constructor.name==="Map"||!1,ni=t=>typeof t=="number"||!1,bt=new Map,u={set:(t,s,e,n)=>{y(t)&&(n&&n.length?(bt.has(t)||bt.set(t,new Map),bt.get(t).set(n,setTimeout(s,e))):bt.set(t,setTimeout(s,e)))},get:(t,s)=>{if(!y(t))return null;const e=bt.get(t);return s&&e&&ls(e)?e.get(s)||null:ni(e)?e:null},clear:(t,s)=>{if(!y(t))return;const e=bt.get(t);s&&s.length&&ls(e)?(clearTimeout(e.get(s)),e.delete(s),e.size===0&&bt.delete(t)):(clearTimeout(e),bt.delete(t))}},we=(t,s)=>{const{width:e,height:n,top:o,right:i,bottom:c,left:a}=t.getBoundingClientRect();let l=1,r=1;if(s&&y(t)){const{offsetWidth:f,offsetHeight:p}=t;l=f>0?Math.round(e)/f:1,r=p>0?Math.round(n)/p:1}return{width:e/l,height:n/r,top:o/r,right:i/l,bottom:c/r,left:a/l,x:a/l,y:o/r}},Ht=t=>E(t).body,ft=t=>E(t).documentElement,Rn=t=>L(t)&&t.constructor.name==="ShadowRoot"||!1,oi=t=>t.nodeName==="HTML"?t:y(t)&&t.assignedSlot||L(t)&&t.parentNode||Rn(t)&&t.host||ft(t);let js=0,zs=0;const zt=new Map,Wn=(t,s)=>{let e=s?js:zs;if(s){const n=Wn(t),o=zt.get(n)||new Map;zt.has(n)||zt.set(n,o),ls(o)&&!o.has(s)?(o.set(s,e),js+=1):e=o.get(s)}else{const n=t.id||t;zt.has(n)?e=zt.get(n):(zt.set(n,e),zs+=1)}return e},ie=t=>{var s;return t?Bn(t)?t.defaultView:L(t)?(s=t==null?void 0:t.ownerDocument)==null?void 0:s.defaultView:t:window},ii=t=>Array.isArray(t)||!1,Fn=t=>{if(!L(t))return!1;const{top:s,bottom:e}=we(t),{clientHeight:n}=ft(t);return s<=n&&e>=0},ci=t=>typeof t=="function"||!1,ai=t=>ve(t)&&t.constructor.name==="NodeList"||!1,St=t=>ft(t).dir==="rtl",ri=t=>L(t)&&["TABLE","TD","TH"].includes(t.nodeName)||!1,M=(t,s)=>t?t.closest(s)||M(t.getRootNode().host,s):null,P=(t,s)=>y(t)?t:(L(s)?s:E()).querySelector(t),Hs=(t,s)=>(L(s)?s:E()).getElementsByTagName(t),tt=(t,s)=>(L(s)?s:E()).querySelectorAll(t),rt=(t,s)=>(s&&L(s)?s:E()).getElementsByClassName(t),jn=(t,s)=>t.matches(s),Vt={},zn=t=>{const{type:s,currentTarget:e}=t;[...Vt[s]].forEach(([n,o])=>{e===n&&[...o].forEach(([i,c])=>{i.apply(n,[t]),typeof c=="object"&&c.once&&B(n,s,i,c)})})},_=(t,s,e,n)=>{Vt[s]||(Vt[s]=new Map);const o=Vt[s];o.has(t)||o.set(t,new Map);const i=o.get(t),{size:c}=i;i.set(e,n),c||t.addEventListener(s,zn,n)},B=(t,s,e,n)=>{const o=Vt[s],i=o&&o.get(t),c=i&&i.get(e),a=c!==void 0?c:n;i&&i.has(e)&&i.delete(e),o&&(!i||!i.size)&&o.delete(t),(!o||!o.size)&&delete Vt[s],(!i||!i.size)&&t.removeEventListener(s,zn,a)},R="fade",m="show",We="data-bs-dismiss",Fe="alert",Vn="Alert",li="5.0.13",di=li;class nt{constructor(s,e){d(this,"_toggleEventListeners",()=>{});const n=P(s);if(!n)throw be(s)?Error(`${this.name} Error: "${s}" is not a valid selector.`):Error(`${this.name} Error: your target is not an instance of HTMLElement.`);const o=Lt.get(n,this.name);o&&o._toggleEventListeners(),this.element=n,this.options=this.defaults&&Fs(this.defaults).length?si(n,this.defaults,e||{},"bs"):{},Lt.set(n,this.name,this)}get version(){return di}get name(){return"BaseComponent"}get defaults(){return{}}dispose(){Lt.remove(this.element,this.name),Fs(this).forEach(s=>{delete this[s]})}}const hi=`.${Fe}`,fi=`[${We}="${Fe}"]`,gi=t=>F(t,Vn),pi=t=>new Kt(t),Vs=$(`close.bs.${Fe}`),ui=$(`closed.bs.${Fe}`),Ks=t=>{const{element:s}=t;w(s,ui),t._toggleEventListeners(),t.dispose(),s.remove()};class Kt extends nt{constructor(e){super(e);d(this,"dismiss");d(this,"close",()=>{const{element:e}=this;e&&h(e,m)&&(w(e,Vs),Vs.defaultPrevented||(b(e,m),h(e,R)?x(e,()=>Ks(this)):Ks(this)))});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{dismiss:o,close:i}=this;o&&n(o,N,i)});this.dismiss=P(fi,this.element),this._toggleEventListeners(!0)}get name(){return Vn}dispose(){this._toggleEventListeners(),super.dispose()}}d(Kt,"selector",hi),d(Kt,"init",pi),d(Kt,"getInstance",gi);const C="active",ct="data-bs-toggle",mi="button",Kn="Button",vi=`[${ct}="${mi}"]`,bi=t=>F(t,Kn),wi=t=>new Xt(t);class Xt extends nt{constructor(e){super(e);d(this,"isActive",!1);d(this,"toggle",e=>{e&&e.preventDefault();const{element:n,isActive:o}=this;!h(n,"disabled")&&!it(n,"disabled")&&((o?b:g)(n,C),O(n,Os,o?"false":"true"),this.isActive=h(n,C))});d(this,"_toggleEventListeners",e=>{(e?_:B)(this.element,N,this.toggle)});const{element:n}=this;this.isActive=h(n,C),O(n,Os,String(!!this.isActive)),this._toggleEventListeners(!0)}get name(){return Kn}dispose(){this._toggleEventListeners(),super.dispose()}}d(Xt,"selector",vi),d(Xt,"init",wi),d(Xt,"getInstance",bi);const ds="data-bs-target",It="carousel",Xn="Carousel",Xs="data-bs-parent",Ei="data-bs-container",X=t=>{const s=[ds,Xs,Ei,"href"],e=E(t);return s.map(n=>{const o=it(t,n);return o?n===Xs?M(t,o):P(o,e):null}).filter(n=>n)[0]},Ee=`[data-bs-ride="${It}"]`,Q=`${It}-item`,hs="data-bs-slide-to",Et="data-bs-slide",Tt="paused",Ys={pause:"hover",keyboard:!1,touch:!0,interval:5e3},gt=t=>F(t,Xn),$i=t=>new Yt(t);let fe=0,Se=0,Ge=0;const Je=$(`slide.bs.${It}`),fs=$(`slid.bs.${It}`),Us=t=>{const{index:s,direction:e,element:n,slides:o,options:i}=t;if(t.isAnimating){const c=gs(t),a=e==="left"?"next":"prev",l=e==="left"?"start":"end";g(o[s],C),b(o[s],`${Q}-${a}`),b(o[s],`${Q}-${l}`),b(o[c],C),b(o[c],`${Q}-${l}`),w(n,fs),u.clear(n,Et),t.cycle&&!E(n).hidden&&i.interval&&!t.isPaused&&t.cycle()}};function Ti(){const t=gt(this);t&&!t.isPaused&&!u.get(this,Tt)&&g(this,Tt)}function yi(){const t=gt(this);t&&t.isPaused&&!u.get(this,Tt)&&t.cycle()}function Ci(t){t.preventDefault();const s=M(this,Ee)||X(this),e=gt(s);if(e&&!e.isAnimating){const n=+(it(this,hs)||0);this&&!h(this,C)&&!Number.isNaN(n)&&e.to(n)}}function Si(t){t.preventDefault();const s=M(this,Ee)||X(this),e=gt(s);if(e&&!e.isAnimating){const n=it(this,Et);n==="next"?e.next():n==="prev"&&e.prev()}}const Hi=({code:t,target:s})=>{const e=E(s),[n]=[...tt(Ee,e)].filter(i=>Fn(i)),o=gt(n);if(o&&!o.isAnimating&&!/textarea|input/i.test(s.nodeName)){const i=St(n);t===(i?_s:Ms)?o.prev():t===(i?Ms:_s)&&o.next()}};function qs(t){const{target:s}=t,e=gt(this);e&&e.isTouch&&(e.indicator&&!e.indicator.contains(s)||!e.controls.includes(s))&&(t.stopImmediatePropagation(),t.stopPropagation(),t.preventDefault())}function xi(t){const{target:s}=t,e=gt(this);if(e&&!e.isAnimating&&!e.isTouch){const{controls:n,indicators:o}=e;[...n,...o].every(i=>i===s||i.contains(s))||(fe=t.pageX,this.contains(s)&&(e.isTouch=!0,Yn(e,!0)))}}const Pi=t=>{Se=t.pageX},Di=t=>{var o;const{target:s}=t,e=E(s),n=[...tt(Ee,e)].map(i=>gt(i)).find(i=>i.isTouch);if(n){const{element:i,index:c}=n,a=St(i);Ge=t.pageX,n.isTouch=!1,Yn(n),!((o=e.getSelection())!=null&&o.toString().length)&&i.contains(s)&&Math.abs(fe-Ge)>120&&(Sefe&&n.to(c+(a?1:-1))),fe=0,Se=0,Ge=0}},ts=(t,s)=>{const{indicators:e}=t;[...e].forEach(n=>b(n,C)),t.indicators[s]&&g(e[s],C)},Yn=(t,s)=>{const{element:e}=t,n=s?_:B;n(E(e),Vo,Pi,st),n(E(e),Ko,Di,st)},gs=t=>{const{slides:s,element:e}=t,n=P(`.${Q}.${C}`,e);return y(n)?[...s].indexOf(n):-1};class Yt extends nt{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const{element:n,options:o,slides:i,controls:c,indicators:a}=this,{touch:l,pause:r,interval:f,keyboard:p}=o,v=e?_:B;r&&f&&(v(n,Me,Ti),v(n,Ts,yi)),l&&i.length>2&&(v(n,zo,xi,st),v(n,ys,qs,{passive:!1}),v(n,Xo,qs,{passive:!1})),c.length&&c.forEach(D=>{D&&v(D,N,Si)}),a.length&&a.forEach(D=>{v(D,N,Ci)}),p&&v(E(n),Oe,Hi)});const{element:o}=this;this.direction=St(o)?"right":"left",this.isTouch=!1,this.slides=rt(Q,o);const{slides:i}=this;if(i.length>=2){const c=gs(this),a=[...i].find(f=>jn(f,`.${Q}-next,.${Q}-next`));this.index=c;const l=E(o);this.controls=[...tt(`[${Et}]`,o),...tt(`[${Et}][${ds}="#${o.id}"]`,l)].filter((f,p,v)=>p===v.indexOf(f)),this.indicator=P(`.${It}-indicators`,o),this.indicators=[...this.indicator?tt(`[${hs}]`,this.indicator):[],...tt(`[${hs}][${ds}="#${o.id}"]`,l)].filter((f,p,v)=>p===v.indexOf(f));const{options:r}=this;this.options.interval=r.interval===!0?Ys.interval:r.interval,a?this.index=[...i].indexOf(a):c<0&&(this.index=0,g(i[0],C),this.indicators.length&&ts(this,0)),this.indicators.length&&ts(this,this.index),this._toggleEventListeners(!0),r.interval&&this.cycle()}}get name(){return Xn}get defaults(){return Ys}get isPaused(){return h(this.element,Tt)}get isAnimating(){return P(`.${Q}-next,.${Q}-prev`,this.element)!==null}cycle(){const{element:e,options:n,isPaused:o,index:i}=this;u.clear(e,It),o&&(u.clear(e,Tt),b(e,Tt)),u.set(e,()=>{this.element&&!this.isPaused&&!this.isTouch&&Fn(e)&&this.to(i+1)},n.interval,It)}pause(){const{element:e,options:n}=this;!this.isPaused&&n.interval&&(g(e,Tt),u.set(e,()=>{},1,Tt))}next(){this.isAnimating||this.to(this.index+1)}prev(){this.isAnimating||this.to(this.index-1)}to(e){const{element:n,slides:o,options:i}=this,c=gs(this),a=St(n);let l=e;if(!this.isAnimating&&c!==l&&!u.get(n,Et)){cl||c===o.length-1&&l===0)&&(this.direction=a?"left":"right");const{direction:r}=this;l<0?l=o.length-1:l>=o.length&&(l=0);const f=r==="left"?"next":"prev",p=r==="left"?"start":"end",v={relatedTarget:o[l],from:c,to:l,direction:r};dt(Je,v),dt(fs,v),w(n,Je),Je.defaultPrevented||(this.index=l,ts(this,l),ee(o[l])&&h(n,"slide")?u.set(n,()=>{g(o[l],`${Q}-${f}`),_t(o[l]),g(o[l],`${Q}-${p}`),g(o[c],`${Q}-${p}`),x(o[l],()=>this.slides&&this.slides.length&&Us(this))},0,Et):(g(o[l],C),b(o[c],C),u.set(n,()=>{u.clear(n,Et),n&&i.interval&&!this.isPaused&&this.cycle(),w(n,fs)},0,Et)))}}dispose(){const{isAnimating:e}=this,n={...this,isAnimating:e};this._toggleEventListeners(),super.dispose(),n.isAnimating&&x(n.slides[n.index],()=>{Us(n)})}}d(Yt,"selector",Ee),d(Yt,"init",$i),d(Yt,"getInstance",gt);const Ot="collapsing",K="collapse",Un="Collapse",Ai=`.${K}`,qn=`[${ct}="${K}"]`,Li={parent:null},He=t=>F(t,Un),Ii=t=>new Ut(t),Qs=$(`show.bs.${K}`),ki=$(`shown.bs.${K}`),Zs=$(`hide.bs.${K}`),Ni=$(`hidden.bs.${K}`),Oi=t=>{const{element:s,parent:e,triggers:n}=t;w(s,Qs),Qs.defaultPrevented||(u.set(s,ge,17),e&&u.set(e,ge,17),g(s,Ot),b(s,K),I(s,{height:`${s.scrollHeight}px`}),x(s,()=>{u.clear(s),e&&u.clear(e),n.forEach(o=>O(o,De,"true")),b(s,Ot),g(s,K),g(s,m),I(s,{height:""}),w(s,ki)}))},Gs=t=>{const{element:s,parent:e,triggers:n}=t;w(s,Zs),Zs.defaultPrevented||(u.set(s,ge,17),e&&u.set(e,ge,17),I(s,{height:`${s.scrollHeight}px`}),b(s,K),b(s,m),g(s,Ot),_t(s),I(s,{height:"0px"}),x(s,()=>{u.clear(s),e&&u.clear(e),n.forEach(o=>O(o,De,"false")),b(s,Ot),g(s,K),I(s,{height:""}),w(s,Ni)}))},Mi=t=>{const{target:s}=t,e=s&&M(s,qn),n=e&&X(e),o=n&&He(n);o&&o.toggle(),e&&e.tagName==="A"&&t.preventDefault()};class Ut extends nt{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const n=e?_:B,{triggers:o}=this;o.length&&o.forEach(i=>n(i,N,Mi))});const{element:o,options:i}=this,c=E(o);this.triggers=[...tt(qn,c)].filter(a=>X(a)===o),this.parent=y(i.parent)?i.parent:be(i.parent)?X(o)||P(i.parent,c):null,this._toggleEventListeners(!0)}get name(){return Un}get defaults(){return Li}hide(){const{triggers:e,element:n}=this;u.get(n)||(Gs(this),e.length&&e.forEach(o=>g(o,`${K}d`)))}show(){const{element:e,parent:n,triggers:o}=this;let i,c;n&&(i=[...tt(`.${K}.${m}`,n)].find(a=>He(a)),c=i&&He(i)),(!n||!u.get(n))&&!u.get(e)&&(c&&i!==e&&(Gs(c),c.triggers.forEach(a=>{g(a,`${K}d`)})),Oi(this),o.length&&o.forEach(a=>b(a,`${K}d`)))}toggle(){h(this.element,m)?this.hide():this.show()}dispose(){this._toggleEventListeners(),super.dispose()}}d(Ut,"selector",Ai),d(Ut,"init",Ii),d(Ut,"getInstance",He);const Mt=["dropdown","dropup","dropstart","dropend"],Qn="Dropdown",Zn="dropdown-menu",Gn=t=>{const s=M(t,"A");return t.tagName==="A"&&Ie(t,"href")&&it(t,"href").slice(-1)==="#"||s&&Ie(s,"href")&&it(s,"href").slice(-1)==="#"},[et,ps,us,ms]=Mt,Jn=`[${ct}="${et}"]`,ne=t=>F(t,Qn),_i=t=>new qt(t),Bi=`${Zn}-end`,Js=[et,ps],tn=[us,ms],en=["A","BUTTON"],Ri={offset:5,display:"dynamic"},es=$(`show.bs.${et}`),sn=$(`shown.bs.${et}`),ss=$(`hide.bs.${et}`),nn=$(`hidden.bs.${et}`),to=$(`updated.bs.${et}`),eo=t=>{const{element:s,menu:e,parentElement:n,options:o}=t,{offset:i}=o;if(V(e,"position")!=="static"){const c=St(s),a=h(e,Bi);["margin","top","bottom","left","right"].forEach(k=>{const ut={};ut[k]="",I(e,ut)});let r=Mt.find(k=>h(n,k))||et;const f={dropdown:[i,0,0],dropup:[0,0,i],dropstart:c?[-1,0,0,i]:[-1,i,0],dropend:c?[-1,i,0]:[-1,0,0,i]},p={dropdown:{top:"100%"},dropup:{top:"auto",bottom:"100%"},dropstart:c?{left:"100%",right:"auto"}:{left:"auto",right:"100%"},dropend:c?{left:"auto",right:"100%"}:{left:"100%",right:"auto"},menuStart:c?{right:"0",left:"auto"}:{right:"auto",left:"0"},menuEnd:c?{right:"auto",left:"0"}:{right:"0",left:"auto"}},{offsetWidth:v,offsetHeight:D}=e,{clientWidth:q,clientHeight:T}=ft(s),{left:j,top:Y,width:Rt,height:at}=we(s),S=j-v-i<0,J=j+v+Rt+i>=q,ot=Y+D+i>=T,W=Y+D+at+i>=T,z=Y-D-i<0,H=(!c&&a||c&&!a)&&j+Rt-v<0,Wt=(c&&a||!c&&!a)&&j+v>=q;if(tn.includes(r)&&S&&J&&(r=et),r===us&&(c?J:S)&&(r=ms),r===ms&&(c?S:J)&&(r=us),r===ps&&z&&!W&&(r=et),r===et&&W&&!z&&(r=ps),tn.includes(r)&&ot&&dt(p[r],{top:"auto",bottom:0}),Js.includes(r)&&(H||Wt)){let k={left:"auto",right:"auto"};!H&&Wt&&!c&&(k={left:"auto",right:0}),H&&!Wt&&c&&(k={left:0,right:"auto"}),k&&dt(p[r],k)}const pt=f[r];I(e,{...p[r],margin:`${pt.map(k=>k&&`${k}px`).join(" ")}`}),Js.includes(r)&&a&&a&&I(e,p[!c&&H||c&&Wt?"menuStart":"menuEnd"]),w(n,to)}},Wi=t=>[...t.children].map(s=>{if(s&&en.includes(s.tagName))return s;const{firstElementChild:e}=s;return e&&en.includes(e.tagName)?e:null}).filter(s=>s),on=t=>{const{element:s,options:e}=t,n=t.open?_:B,o=E(s);n(o,N,cn),n(o,Es,cn),n(o,Oe,ji),n(o,Fo,zi),e.display==="dynamic"&&[Be,_e].forEach(i=>{n(ie(s),i,Vi,st)})},je=t=>{const s=[...Mt,"btn-group","input-group"].map(e=>rt(`${e} ${m}`,E(t))).find(e=>e.length);if(s&&s.length)return[...s[0].children].find(e=>Mt.some(n=>n===it(e,ct)))},cn=t=>{const{target:s,type:e}=t;if(s&&y(s)){const n=je(s),o=n&&ne(n);if(o){const{parentElement:i,menu:c}=o,a=i&&i.contains(s)&&(s.tagName==="form"||M(s,"form")!==null);[N,Mn].includes(e)&&Gn(s)&&t.preventDefault(),!a&&e!==Es&&s!==n&&s!==c&&o.hide()}}},Fi=t=>{const{target:s}=t,e=s&&M(s,Jn),n=e&&ne(e);n&&(t.stopPropagation(),n.toggle(),e&&Gn(e)&&t.preventDefault())},ji=t=>{[as,rs].includes(t.code)&&t.preventDefault()};function zi(t){const{code:s}=t,e=je(this),n=e&&ne(e),{activeElement:o}=e&&E(e);if(n&&o){const{menu:i,open:c}=n,a=Wi(i);if(a&&a.length&&[as,rs].includes(s)){let l=a.indexOf(o);o===e?l=0:s===rs?l=l>1?l-1:0:s===as&&(l=l{(e?_:B)(this.element,N,Fi)});const{parentElement:o}=this.element,[i]=rt(Zn,o);i&&(this.parentElement=o,this.menu=i,this._toggleEventListeners(!0))}get name(){return Qn}get defaults(){return Ri}toggle(){this.open?this.hide():this.show()}show(){const{element:e,open:n,menu:o,parentElement:i}=this;if(!n){const c=je(e),a=c&&ne(c);a&&a.hide(),[es,sn,to].forEach(l=>{l.relatedTarget=e}),w(i,es),es.defaultPrevented||(g(o,m),g(i,m),O(e,De,"true"),eo(this),this.open=!n,ht(e),on(this),w(i,sn))}}hide(){const{element:e,open:n,menu:o,parentElement:i}=this;n&&([ss,nn].forEach(c=>{c.relatedTarget=e}),w(i,ss),ss.defaultPrevented||(b(o,m),b(i,m),O(e,De,"false"),this.open=!n,on(this),w(i,nn)))}dispose(){this.open&&this.hide(),this._toggleEventListeners(),super.dispose()}}d(qt,"selector",Jn),d(qt,"init",_i),d(qt,"getInstance",ne);const U="modal",xs="Modal",Ps="Offcanvas",Ki="fixed-top",Xi="fixed-bottom",so="sticky-top",no="position-sticky",oo=t=>[...rt(Ki,t),...rt(Xi,t),...rt(so,t),...rt(no,t),...rt("is-fixed",t)],Yi=t=>{const s=Ht(t);I(s,{paddingRight:"",overflow:""});const e=oo(s);e.length&&e.forEach(n=>{I(n,{paddingRight:"",marginRight:""})})},io=t=>{const{clientWidth:s}=ft(t),{innerWidth:e}=ie(t);return Math.abs(e-s)},co=(t,s)=>{const e=Ht(t),n=parseInt(V(e,"paddingRight"),10),i=V(e,"overflow")==="hidden"&&n?0:io(t),c=oo(e);s&&(I(e,{overflow:"hidden",paddingRight:`${n+i}px`}),c.length&&c.forEach(a=>{const l=V(a,"paddingRight");if(a.style.paddingRight=`${parseInt(l,10)+i}px`,[so,no].some(r=>h(a,r))){const r=V(a,"marginRight");a.style.marginRight=`${parseInt(r,10)-i}px`}}))},Z="offcanvas",yt=$t({tagName:"div",className:"popup-container"}),ao=(t,s)=>{const e=L(s)&&s.nodeName==="BODY",n=L(s)&&!e?s:yt,o=e?s:Ht(t);L(t)&&(n===yt&&o.append(yt),n.append(t))},ro=(t,s)=>{const e=L(s)&&s.nodeName==="BODY",n=L(s)&&!e?s:yt;L(t)&&(t.remove(),n===yt&&!yt.children.length&&yt.remove())},Ds=(t,s)=>{const e=L(s)&&s.nodeName!=="BODY"?s:yt;return L(t)&&e.contains(t)},lo="backdrop",an=`${U}-${lo}`,rn=`${Z}-${lo}`,ho=`.${U}.${m}`,As=`.${Z}.${m}`,A=$t("div"),Bt=t=>P(`${ho},${As}`,E(t)),Ls=t=>{const s=t?an:rn;[an,rn].forEach(e=>{b(A,e)}),g(A,s)},fo=(t,s,e)=>{Ls(e),ao(A,Ht(t)),s&&g(A,R)},go=()=>{h(A,m)||(g(A,m),_t(A))},ze=()=>{b(A,m)},po=t=>{Bt(t)||(b(A,R),ro(A,Ht(t)),Yi(t))},uo=t=>y(t)&&V(t,"visibility")!=="hidden"&&t.offsetParent!==null,Ui=`.${U}`,mo=`[${ct}="${U}"]`,qi=`[${We}="${U}"]`,vo=`${U}-static`,Qi={backdrop:!0,keyboard:!0},pe=t=>F(t,xs),Zi=t=>new Qt(t),xe=$(`show.bs.${U}`),ln=$(`shown.bs.${U}`),ns=$(`hide.bs.${U}`),dn=$(`hidden.bs.${U}`),bo=t=>{const{element:s}=t,e=io(s),{clientHeight:n,scrollHeight:o}=ft(s),{clientHeight:i,scrollHeight:c}=s,a=i!==c;if(!a&&e){const l=St(s)?"paddingLeft":"paddingRight",r={};r[l]=`${e}px`,I(s,r)}co(s,a||n!==o)},wo=(t,s)=>{const e=s?_:B,{element:n,update:o}=t;e(n,N,tc),e(ie(n),_e,o,st),e(E(n),Oe,Ji)},hn=t=>{const{triggers:s,element:e,relatedTarget:n}=t;po(e),I(e,{paddingRight:"",display:""}),wo(t);const o=xe.relatedTarget||s.find(uo);o&&ht(o),dn.relatedTarget=n,w(e,dn)},fn=t=>{const{element:s,relatedTarget:e}=t;ht(s),wo(t,!0),ln.relatedTarget=e,w(s,ln)},gn=t=>{const{element:s,hasFade:e}=t;I(s,{display:"block"}),bo(t),Bt(s)||I(Ht(s),{overflow:"hidden"}),g(s,m),Nt(s,ke),O(s,Ne,"true"),e?x(s,()=>fn(t)):fn(t)},pn=t=>{const{element:s,options:e,hasFade:n}=t;e.backdrop&&n&&h(A,m)&&!Bt(s)?(ze(),x(A,()=>hn(t))):hn(t)},Gi=t=>{const{target:s}=t,e=s&&M(s,mo),n=e&&X(e),o=n&&pe(n);o&&(e&&e.tagName==="A"&&t.preventDefault(),o.relatedTarget=e,o.toggle())},Ji=({code:t,target:s})=>{const e=P(ho,E(s)),n=e&&pe(e);if(n){const{options:o}=n;o.keyboard&&t===Cs&&h(e,m)&&(n.relatedTarget=null,n.hide())}},tc=t=>{var n,o;const{currentTarget:s}=t,e=s?pe(s):null;if(e&&s&&!u.get(s)){const{options:i,isStatic:c,modalDialog:a}=e,{backdrop:l}=i,{target:r}=t,f=(o=(n=E(s))==null?void 0:n.getSelection())==null?void 0:o.toString().length,p=a.contains(r),v=r&&M(r,qi);c&&!p?u.set(s,()=>{g(s,vo),x(a,()=>ec(e))},17):(v||!f&&!c&&!p&&l)&&(e.relatedTarget=v||null,e.hide(),t.preventDefault())}},ec=t=>{const{element:s,modalDialog:e}=t,n=(ee(e)||0)+17;b(s,vo),u.set(s,()=>u.clear(s),n)};class Qt extends nt{constructor(e,n){super(e,n);d(this,"update",()=>{h(this.element,m)&&bo(this)});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{triggers:o}=this;o.length&&o.forEach(i=>n(i,N,Gi))});const{element:o}=this,i=P(`.${U}-dialog`,o);i&&(this.modalDialog=i,this.triggers=[...tt(mo,E(o))].filter(c=>X(c)===o),this.isStatic=this.options.backdrop==="static",this.hasFade=h(o,R),this.relatedTarget=null,this._toggleEventListeners(!0))}get name(){return xs}get defaults(){return Qi}toggle(){h(this.element,m)?this.hide():this.show()}show(){const{element:e,options:n,hasFade:o,relatedTarget:i}=this,{backdrop:c}=n;let a=0;if(!h(e,m)&&(xe.relatedTarget=i||void 0,w(e,xe),!xe.defaultPrevented)){const l=Bt(e);if(l&&l!==e){const r=pe(l)||F(l,Ps);r&&r.hide()}c?(Ds(A)?Ls(!0):fo(e,o,!0),a=ee(A),go(),setTimeout(()=>gn(this),a)):(gn(this),l&&h(A,m)&&ze())}}hide(){const{element:e,hasFade:n,relatedTarget:o}=this;h(e,m)&&(ns.relatedTarget=o||void 0,w(e,ns),ns.defaultPrevented||(b(e,m),O(e,ke,"true"),Nt(e,Ne),n?x(e,()=>pn(this)):pn(this)))}dispose(){const e={...this},{element:n,modalDialog:o}=e,i=()=>super.dispose();this._toggleEventListeners(),this.hide(),h(n,"fade")?x(o,i):i()}}d(Qt,"selector",Ui),d(Qt,"init",Zi),d(Qt,"getInstance",pe);const sc=`.${Z}`,Is=`[${ct}="${Z}"]`,nc=`[${We}="${Z}"]`,Ve=`${Z}-toggling`,oc={backdrop:!0,keyboard:!0,scroll:!1},ue=t=>F(t,Ps),ic=t=>new Zt(t),Pe=$(`show.bs.${Z}`),Eo=$(`shown.bs.${Z}`),os=$(`hide.bs.${Z}`),$o=$(`hidden.bs.${Z}`),cc=t=>{const{element:s}=t,{clientHeight:e,scrollHeight:n}=ft(s);co(s,e!==n)},To=(t,s)=>{const e=s?_:B,n=E(t.element);e(n,Oe,dc),e(n,N,lc)},un=t=>{const{element:s,options:e}=t;e.scroll||(cc(t),I(Ht(s),{overflow:"hidden"})),g(s,Ve),g(s,m),I(s,{visibility:"visible"}),x(s,()=>hc(t))},ac=t=>{const{element:s,options:e}=t,n=Bt(s);s.blur(),!n&&e.backdrop&&h(A,m)&&ze(),x(s,()=>fc(t))},rc=t=>{const s=M(t.target,Is),e=s&&X(s),n=e&&ue(e);n&&(n.relatedTarget=s,n.toggle(),s&&s.tagName==="A"&&t.preventDefault())},lc=t=>{const{target:s}=t,e=P(As,E(s)),n=P(nc,e),o=e&&ue(e);if(o){const{options:i,triggers:c}=o,{backdrop:a}=i,l=M(s,Is),r=E(e).getSelection();(!A.contains(s)||a!=="static")&&(!(r&&r.toString().length)&&(!e.contains(s)&&a&&(!l||c.includes(s))||n&&n.contains(s))&&(o.relatedTarget=n&&n.contains(s)?n:null,o.hide()),l&&l.tagName==="A"&&t.preventDefault())}},dc=({code:t,target:s})=>{const e=P(As,E(s)),n=e&&ue(e);n&&n.options.keyboard&&t===Cs&&(n.relatedTarget=null,n.hide())},hc=t=>{const{element:s}=t;b(s,Ve),Nt(s,ke),O(s,Ne,"true"),O(s,"role","dialog"),w(s,Eo),To(t,!0),ht(s)},fc=t=>{const{element:s,triggers:e}=t;O(s,ke,"true"),Nt(s,Ne),Nt(s,"role"),I(s,{visibility:""});const n=Pe.relatedTarget||e.find(uo);n&&ht(n),po(s),w(s,$o),b(s,Ve),Bt(s)||To(t)};class Zt extends nt{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const n=e?_:B;this.triggers.forEach(o=>n(o,N,rc))});const{element:o}=this;this.triggers=[...tt(Is,E(o))].filter(i=>X(i)===o),this.relatedTarget=null,this._toggleEventListeners(!0)}get name(){return Ps}get defaults(){return oc}toggle(){h(this.element,m)?this.hide():this.show()}show(){const{element:e,options:n,relatedTarget:o}=this;let i=0;if(!h(e,m)&&(Pe.relatedTarget=o||void 0,Eo.relatedTarget=o||void 0,w(e,Pe),!Pe.defaultPrevented)){const c=Bt(e);if(c&&c!==e){const a=ue(c)||F(c,xs);a&&a.hide()}n.backdrop?(Ds(A)?Ls():fo(e,!0),i=ee(A),go(),setTimeout(()=>un(this),i)):(un(this),c&&h(A,m)&&ze())}}hide(){const{element:e,relatedTarget:n}=this;h(e,m)&&(os.relatedTarget=n||void 0,$o.relatedTarget=n||void 0,w(e,os),os.defaultPrevented||(g(e,Ve),b(e,m),ac(this)))}dispose(){const e={...this},{element:n,options:o}=e,i=o.backdrop?ee(A):0,c=()=>setTimeout(()=>super.dispose(),i+17);this._toggleEventListeners(),this.hide(),h(n,m)?x(n,c):c()}}d(Zt,"selector",sc),d(Zt,"init",ic),d(Zt,"getInstance",ue);const kt="popover",Ke="Popover",lt="tooltip",yo=t=>{const s=t===lt,e=s?`${t}-inner`:`${t}-body`,n=s?"":`

`,o=`
`,i=`
`;return`
${n+o+i}
`},Co={top:"top",bottom:"bottom",left:"start",right:"end"},vs=t=>{const s=/\b(top|bottom|start|end)+/,{element:e,tooltip:n,container:o,options:i,arrow:c}=t;if(n){const a={...Co},l=St(e);I(n,{top:"",left:"",right:"",bottom:""});const r=t.name===Ke,{offsetWidth:f,offsetHeight:p}=n,{clientWidth:v,clientHeight:D,offsetWidth:q}=ft(e);let{placement:T}=i;const{clientWidth:j,offsetWidth:Y}=o,at=V(o,"position")==="fixed",S=Math.abs(at?j-Y:v-q),J=l&&at?S:0,ot=v-(l?0:S)-1,{width:W,height:z,left:H,right:Wt,top:pt}=we(e,!0),{x:k,y:ut}={x:H,y:pt};I(c,{top:"",left:"",right:"",bottom:""});let xt=0,ce="",mt=0,Xe="",Ft="",Te="",Ye="";const Pt=c.offsetWidth||0,vt=c.offsetHeight||0,Ue=Pt/2;let ae=pt-p-vt<0,re=pt+p+z+vt>=D,le=H-f-Pt=ot;const ye=["left","right"],qe=["top","bottom"];ae=ye.includes(T)?pt+z/2-p/2-vt<0:ae,re=ye.includes(T)?pt+p/2+z/2+vt>=D:re,le=qe.includes(T)?H+W/2-f/2=ot:de,T=ye.includes(T)&&le&&de?"top":T,T=T==="top"&&ae?"bottom":T,T=T==="bottom"&&re?"top":T,T=T==="left"&&le?"right":T,T=T==="right"&&de?"left":T,n.className.includes(T)||(n.className=n.className.replace(s,a[T])),ye.includes(T)?(T==="left"?mt=k-f-(r?Pt:0):mt=k+W+(r?Pt:0),ae&&re?(xt=0,ce=0,Ft=pt+z/2-vt/2):ae?(xt=ut,ce="",Ft=z/2-Pt):re?(xt=ut-p+z,ce="",Ft=p-z/2-Pt):(xt=ut-p/2+z/2,Ft=p/2-vt/2)):qe.includes(T)&&(T==="top"?xt=ut-p-(r?vt:0):xt=ut+z+(r?vt:0),le?(mt=0,Te=k+W/2-Ue):de?(mt="auto",Xe=0,Ye=W/2+ot-Wt-Ue):(mt=k-f/2+W/2,Te=f/2-Ue)),I(n,{top:`${xt}px`,bottom:ce===""?"":`${ce}px`,left:mt==="auto"?mt:`${mt}px`,right:Xe!==""?`${Xe}px`:""}),y(c)&&(Ft!==""&&(c.style.top=`${Ft}px`),Te!==""?c.style.left=`${Te}px`:Ye!==""&&(c.style.right=`${Ye}px`));const _o=$(`updated.bs.${se(t.name)}`);w(e,_o)}},bs={template:yo(lt),title:"",customClass:"",trigger:"hover focus",placement:"top",sanitizeFn:void 0,animation:!0,delay:200,container:document.body,content:"",dismissible:!1,btnClose:""},So="data-original-title",Dt="Tooltip",wt=(t,s,e)=>{if(be(s)&&s.length){let n=s.trim();ci(e)&&(n=e(n));const i=new DOMParser().parseFromString(n,"text/html");t.append(...i.body.childNodes)}else y(s)?t.append(s):(ai(s)||ii(s)&&s.every(L))&&t.append(...s)},gc=t=>{const s=t.name===Dt,{id:e,element:n,options:o}=t,{title:i,placement:c,template:a,animation:l,customClass:r,sanitizeFn:f,dismissible:p,content:v,btnClose:D}=o,q=s?lt:kt,T={...Co};let j=[],Y=[];St(n)&&(T.left="end",T.right="start");const Rt=`bs-${q}-${T[c]}`;let at;if(y(a))at=a;else{const J=$t("div");wt(J,a,f),at=J.firstChild}t.tooltip=y(at)?at.cloneNode(!0):void 0;const{tooltip:S}=t;if(S){O(S,"id",e),O(S,"role",lt);const J=s?`${lt}-inner`:`${kt}-body`,ot=s?null:P(`.${kt}-header`,S),W=P(`.${J}`,S);t.arrow=P(`.${q}-arrow`,S);const{arrow:z}=t;if(y(i))j=[i.cloneNode(!0)];else{const H=$t("div");wt(H,i,f),j=[...H.childNodes]}if(y(v))Y=[v.cloneNode(!0)];else{const H=$t("div");wt(H,v,f),Y=[...H.childNodes]}if(p)if(i)if(y(D))j=[...j,D.cloneNode(!0)];else{const H=$t("div");wt(H,D,f),j=[...j,H.firstChild]}else if(ot&&ot.remove(),y(D))Y=[...Y,D.cloneNode(!0)];else{const H=$t("div");wt(H,D,f),Y=[...Y,H.firstChild]}s?i&&W&&wt(W,i,f):(i&&ot&&wt(ot,j,f),v&&W&&wt(W,Y,f),t.btn=P(".btn-close",S)||void 0),g(S,"position-fixed"),g(z,"position-absolute"),h(S,q)||g(S,q),l&&!h(S,R)&&g(S,R),r&&!h(S,r)&&g(S,r),h(S,Rt)||g(S,Rt)}},pc=t=>{const s=["HTML","BODY"],e=[];let{parentNode:n}=t;for(;n&&!s.includes(n.nodeName);)n=oi(n),Rn(n)||ri(n)||e.push(n);return e.find((o,i)=>V(o,"position")!=="relative"&&e.slice(i+1).every(c=>V(c,"position")==="static")?o:null)||E(t).body},uc=`[${ct}="${lt}"],[data-tip="${lt}"]`,Ho="title";let mn=t=>F(t,Dt);const mc=t=>new Ct(t),vc=t=>{const{element:s,tooltip:e,container:n,offsetParent:o}=t;Nt(s,Nn),ro(e,n===o?n:o)},he=t=>{const{tooltip:s,container:e,offsetParent:n}=t;return s&&Ds(s,e===n?e:n)},bc=(t,s)=>{const{element:e}=t;t._toggleEventListeners(),Ie(e,So)&&t.name===Dt&&Po(t),s&&s()},xo=(t,s)=>{const e=s?_:B,{element:n}=t;e(E(n),ys,t.handleTouch,st),[Be,_e].forEach(o=>{e(ie(n),o,t.update,st)})},vn=t=>{const{element:s}=t,e=$(`shown.bs.${se(t.name)}`);xo(t,!0),w(s,e),u.clear(s,"in")},bn=t=>{const{element:s}=t,e=$(`hidden.bs.${se(t.name)}`);xo(t),vc(t),w(s,e),u.clear(s,"out")},wn=(t,s)=>{const e=s?_:B,{element:n,container:o,offsetParent:i}=t,{offsetHeight:c,scrollHeight:a}=o,l=M(n,`.${U}`),r=M(n,`.${Z}`),f=ie(n),v=o===i&&c!==a?o:f;e(v,_e,t.update,st),e(v,Be,t.update,st),l&&e(l,`hide.bs.${U}`,t.handleHide),r&&e(r,`hide.bs.${Z}`,t.handleHide)},Po=(t,s)=>{const e=[So,Ho],{element:n}=t;O(n,e[s?0:1],s||it(n,e[0])||""),Nt(n,e[s?1:0])};class Ct extends nt{constructor(e,n){super(e,n);d(this,"handleFocus",()=>ht(this.element));d(this,"handleShow",()=>this.show());d(this,"handleHide",()=>this.hide());d(this,"update",()=>{vs(this)});d(this,"toggle",()=>{const{tooltip:e}=this;e&&!he(this)?this.show():this.hide()});d(this,"handleTouch",({target:e})=>{const{tooltip:n,element:o}=this;n&&n.contains(e)||e===o||e&&o.contains(e)||this.hide()});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{element:o,options:i,btn:c}=this,{trigger:a}=i,r=!!(this.name!==Dt&&i.dismissible);a.includes("manual")||(this.enabled=!!e,a.split(" ").forEach(p=>{p===jo?(n(o,Mn,this.handleShow),n(o,Me,this.handleShow),r||(n(o,Ts,this.handleHide),n(E(o),ys,this.handleTouch,st))):p===N?n(o,p,r?this.handleShow:this.toggle):p===Es&&(n(o,$s,this.handleShow),r||n(o,On,this.handleHide),Zo&&n(o,N,this.handleFocus)),r&&c&&n(c,N,this.handleHide)}))});const{element:o}=this,i=this.name===Dt,c=i?lt:kt,a=i?Dt:Ke;mn=r=>F(r,a),this.enabled=!0,this.id=`${c}-${Wn(o,c)}`;const{options:l}=this;!l.title&&i||!i&&!l.content||(dt(bs,{titleAttr:""}),Ie(o,Ho)&&i&&typeof l.title=="string"&&Po(this,l.title),this.container=pc(o),this.offsetParent=["sticky","fixed"].some(r=>V(this.container,"position")===r)?this.container:E(this.element).body,gc(this),this._toggleEventListeners(!0))}get name(){return Dt}get defaults(){return bs}show(){const{options:e,tooltip:n,element:o,container:i,offsetParent:c,id:a}=this,{animation:l}=e,r=u.get(o,"out"),f=i===c?i:c;u.clear(o,"out"),n&&!r&&!he(this)&&u.set(o,()=>{const p=$(`show.bs.${se(this.name)}`);w(o,p),p.defaultPrevented||(ao(n,f),O(o,Nn,`#${a}`),this.update(),wn(this,!0),h(n,m)||g(n,m),l?x(n,()=>vn(this)):vn(this))},17,"in")}hide(){const{options:e,tooltip:n,element:o}=this,{animation:i,delay:c}=e;u.clear(o,"in"),n&&he(this)&&u.set(o,()=>{const a=$(`hide.bs.${se(this.name)}`);w(o,a),a.defaultPrevented||(this.update(),b(n,m),wn(this),i?x(n,()=>bn(this)):bn(this))},c+17,"out")}enable(){const{enabled:e}=this;e||(this._toggleEventListeners(!0),this.enabled=!e)}disable(){const{tooltip:e,options:n,enabled:o}=this,{animation:i}=n;o&&(e&&he(this)&&i?(this.hide(),x(e,()=>this._toggleEventListeners())):this._toggleEventListeners(),this.enabled=!o)}toggleEnabled(){this.enabled?this.disable():this.enable()}dispose(){const{tooltip:e,options:n}=this,o={...this,name:this.name},i=()=>setTimeout(()=>bc(o,()=>super.dispose()),17);n.animation&&he(o)?(this.options.delay=0,this.hide(),x(e,i)):i()}}d(Ct,"selector",uc),d(Ct,"init",mc),d(Ct,"getInstance",mn),d(Ct,"styleTip",vs);const wc=`[${ct}="${kt}"],[data-tip="${kt}"]`,Ec=dt({},bs,{template:yo(kt),content:"",dismissible:!1,btnClose:''}),$c=t=>F(t,Ke),Tc=t=>new At(t);class At extends Ct{constructor(e,n){super(e,n);d(this,"show",()=>{super.show();const{options:e,btn:n}=this;e.dismissible&&n&&setTimeout(()=>ht(n),17)})}get name(){return Ke}get defaults(){return Ec}}d(At,"selector",wc),d(At,"init",Tc),d(At,"getInstance",$c),d(At,"styleTip",vs);const yc="scrollspy",Do="ScrollSpy",Cc='[data-bs-spy="scroll"]',Sc={offset:10,target:null},Hc=t=>F(t,Do),xc=t=>new Gt(t),En=$(`activate.bs.${yc}`),Pc=t=>{const{target:s,scrollTarget:e,options:n,itemsLength:o,scrollHeight:i,element:c}=t,{offset:a}=n,l=Ss(e),r=s&&Hs("A",s),f=e?Ao(e):i;if(t.scrollTop=l?e.scrollY:e.scrollTop,r&&(f!==i||o!==r.length)){let p,v,D;t.items=[],t.offsets=[],t.scrollHeight=f,t.maxScroll=t.scrollHeight-Dc(t),[...r].forEach(q=>{p=it(q,"href"),v=p&&p.charAt(0)==="#"&&p.slice(-1)!=="#"&&P(p,E(c)),v&&(t.items.push(q),D=we(v),t.offsets.push((l?D.top+t.scrollTop:v.offsetTop)-a))}),t.itemsLength=t.items.length}},Ao=t=>y(t)?t.scrollHeight:ft(t).scrollHeight,Dc=({element:t,scrollTarget:s})=>Ss(s)?s.innerHeight:we(t).height,Lo=t=>{[...Hs("A",t)].forEach(s=>{h(s,C)&&b(s,C)})},$n=(t,s)=>{const{target:e,element:n}=t;y(e)&&Lo(e),t.activeItem=s,g(s,C);const o=[];let i=s;for(;i!==Ht(n);)i=i.parentElement,(h(i,"nav")||h(i,"dropdown-menu"))&&o.push(i);o.forEach(c=>{const a=c.previousElementSibling;a&&!h(a,C)&&g(a,C)}),En.relatedTarget=s,w(n,En)};class Gt extends nt{constructor(e,n){super(e,n);d(this,"refresh",()=>{const{target:e}=this;if(y(e)&&e.offsetHeight>0){Pc(this);const{scrollTop:n,maxScroll:o,itemsLength:i,items:c,activeItem:a}=this;if(n>=o){const r=c[i-1];a!==r&&$n(this,r);return}const{offsets:l}=this;if(a&&n0){this.activeItem=null,e&&Lo(e);return}c.forEach((r,f)=>{a!==r&&n>=l[f]&&(typeof l[f+1]>"u"||n{(e?_:B)(this.scrollTarget,Be,this.refresh,st)});const{element:o,options:i}=this;this.target=P(i.target,E(o)),this.target&&(this.scrollTarget=o.clientHeightF(t,Io),Ac=t=>new Jt(t),is=$(`show.bs.${$e}`),yn=$(`shown.bs.${$e}`),cs=$(`hide.bs.${$e}`),Cn=$(`hidden.bs.${$e}`),me=new Map,Sn=t=>{const{tabContent:s,nav:e}=t;s&&h(s,Ot)&&(s.style.height="",b(s,Ot)),e&&u.clear(e)},Hn=t=>{const{element:s,tabContent:e,content:n,nav:o}=t,{tab:i}=y(o)&&me.get(o)||{tab:null};if(e&&n&&h(n,R)){const{currentHeight:c,nextHeight:a}=me.get(s)||{currentHeight:0,nextHeight:0};c===a?Sn(t):setTimeout(()=>{e.style.height=`${a}px`,_t(e),x(e,()=>Sn(t))},50)}else o&&u.clear(o);yn.relatedTarget=i,w(s,yn)},xn=t=>{const{element:s,content:e,tabContent:n,nav:o}=t,{tab:i,content:c}=o&&me.get(o)||{tab:null,content:null};let a=0;if(n&&e&&h(e,R)&&([c,e].forEach(l=>{y(l)&&g(l,"overflow-hidden")}),a=y(c)?c.scrollHeight:0),is.relatedTarget=i,Cn.relatedTarget=s,w(s,is),!is.defaultPrevented){if(e&&g(e,C),c&&b(c,C),n&&e&&h(e,R)){const l=e.scrollHeight;me.set(s,{currentHeight:a,nextHeight:l,tab:null,content:null}),g(n,Ot),n.style.height=`${a}px`,_t(n),[c,e].forEach(r=>{r&&b(r,"overflow-hidden")})}e&&e&&h(e,R)?setTimeout(()=>{g(e,m),x(e,()=>{Hn(t)})},1):(e&&g(e,m),Hn(t)),i&&w(i,Cn)}},Pn=t=>{const{nav:s}=t;if(!y(s))return{tab:null,content:null};const e=rt(C,s);let n=null;e.length===1&&!Mt.some(i=>h(e[0].parentElement,i))?[n]=e:e.length>1&&(n=e[e.length-1]);const o=y(n)?X(n):null;return{tab:n,content:o}},Dn=t=>{if(!y(t))return null;const s=M(t,`.${Mt.join(",.")}`);return s?P(`.${Mt[0]}-toggle`,s):null},Lc=t=>{const s=ko(t.target);s&&(t.preventDefault(),s.show())};class Jt extends nt{constructor(e){super(e);d(this,"_toggleEventListeners",e=>{(e?_:B)(this.element,N,Lc)});const{element:n}=this,o=X(n);if(o){const i=M(n,".nav"),c=M(o,".tab-content");this.nav=i,this.content=o,this.tabContent=c,this.dropdown=Dn(n);const{tab:a}=Pn(this);if(i&&!a){const l=P(Tn,i),r=l&&X(l);r&&(g(l,C),g(r,m),g(r,C),O(n,Qe,"true"))}this._toggleEventListeners(!0)}}get name(){return Io}show(){const{element:e,content:n,nav:o,dropdown:i}=this;if(!(o&&u.get(o))&&!h(e,C)){const{tab:c,content:a}=Pn(this);if(o&&me.set(o,{tab:c,content:a,currentHeight:0,nextHeight:0}),cs.relatedTarget=e,y(c)&&(w(c,cs),!cs.defaultPrevented)){g(e,C),O(e,Qe,"true");const l=y(c)&&Dn(c);if(l&&h(l,C)&&b(l,C),o){const r=()=>{c&&(b(c,C),O(c,Qe,"false")),i&&!h(i,C)&&g(i,C)};a&&(h(a,R)||n&&h(n,R))?u.set(o,r,1):r()}a&&(b(a,m),h(a,R)?x(a,()=>xn(this)):xn(this))}}}dispose(){this._toggleEventListeners(),super.dispose()}}d(Jt,"selector",Tn),d(Jt,"init",Ac),d(Jt,"getInstance",ko);const G="toast",No="Toast",Ic=`.${G}`,kc=`[${We}="${G}"]`,Oo=`[${ct}="${G}"]`,oe="showing",Mo="hide",Nc={animation:!0,autohide:!0,delay:5e3},ks=t=>F(t,No),Oc=t=>new te(t),An=$(`show.bs.${G}`),Mc=$(`shown.bs.${G}`),Ln=$(`hide.bs.${G}`),_c=$(`hidden.bs.${G}`),In=t=>{const{element:s,options:e}=t;b(s,oe),u.clear(s,oe),w(s,Mc),e.autohide&&u.set(s,()=>t.hide(),e.delay,G)},kn=t=>{const{element:s}=t;b(s,oe),b(s,m),g(s,Mo),u.clear(s,G),w(s,_c)},Bc=t=>{const{element:s,options:e}=t;g(s,oe),e.animation?(_t(s),x(s,()=>kn(t))):kn(t)},Rc=t=>{const{element:s,options:e}=t;u.set(s,()=>{b(s,Mo),_t(s),g(s,m),g(s,oe),e.animation?x(s,()=>In(t)):In(t)},17,oe)},Wc=t=>{u.clear(t.element,G),t._toggleEventListeners()},Fc=t=>{const{target:s}=t,e=s&&M(s,Oo),n=e&&X(e),o=n&&ks(n);o&&(e&&e.tagName==="A"&&t.preventDefault(),o.relatedTarget=e,o.show())},jc=t=>{const s=t.target,e=ks(s),{type:n,relatedTarget:o}=t;e&&s!==o&&!s.contains(o)&&([Me,$s].includes(n)?u.clear(s,G):u.set(s,()=>e.hide(),e.options.delay,G))};class te extends nt{constructor(e,n){super(e,n);d(this,"show",()=>{const{element:e,isShown:n}=this;e&&!n&&(w(e,An),An.defaultPrevented||Rc(this))});d(this,"hide",()=>{const{element:e,isShown:n}=this;e&&n&&(w(e,Ln),Ln.defaultPrevented||Bc(this))});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{element:o,triggers:i,dismiss:c,options:a,hide:l}=this;c&&n(c,N,l),a.autohide&&[$s,On,Me,Ts].forEach(r=>n(o,r,jc)),i.length&&i.forEach(r=>n(r,N,Fc))});const{element:o,options:i}=this;i.animation&&!h(o,R)?g(o,R):!i.animation&&h(o,R)&&b(o,R),this.dismiss=P(kc,o),this.triggers=[...tt(Oo,E(o))].filter(c=>X(c)===o),this._toggleEventListeners(!0)}get name(){return No}get defaults(){return Nc}get isShown(){return h(this.element,m)}dispose(){const{element:e,isShown:n}=this;n&&b(e,m),Wc(this),super.dispose()}}d(te,"selector",Ic),d(te,"init",Oc),d(te,"getInstance",ks);const Ns=new Map;[Kt,Xt,Yt,Ut,qt,Qt,Zt,At,Gt,Jt,te,Ct].forEach(t=>Ns.set(t.prototype.name,t));const zc=(t,s)=>{[...s].forEach(e=>t(e))},Vc=(t,s)=>{const e=Lt.getAllFor(t);e&&[...e].forEach(([n,o])=>{s.contains(n)&&o.dispose()})},ws=t=>{const s=t&&t.nodeName?t:document,e=[...Hs("*",s)];Ns.forEach(n=>{const{init:o,selector:i}=n;zc(o,e.filter(c=>jn(c,i)))})},Kc=t=>{const s=t&&t.nodeName?t:document;Ns.forEach(e=>{Vc(e.prototype.name,s)})};document.body?ws():_(document,"DOMContentLoaded",()=>ws(),{once:!0});exports.Alert=Kt;exports.Button=Xt;exports.Carousel=Yt;exports.Collapse=Ut;exports.Dropdown=qt;exports.Modal=Qt;exports.Offcanvas=Zt;exports.Popover=At;exports.ScrollSpy=Gt;exports.Tab=Jt;exports.Toast=te;exports.Tooltip=Ct;exports.initCallback=ws;exports.removeDataAPI=Kc; +"use strict";var Bo=Object.defineProperty;var Ro=(t,s,e)=>s in t?Bo(t,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[s]=e;var d=(t,s,e)=>Ro(t,typeof s!="symbol"?s+"":s,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Nn="aria-describedby",De="aria-expanded",ke="aria-hidden",Ne="aria-modal",Os="aria-pressed",Qe="aria-selected",Wo="DOMContentLoaded",Es="focus",$s="focusin",On="focusout",Oe="keydown",Fo="keyup",N="click",Mn="mousedown",jo="hover",Me="mouseenter",Ts="mouseleave",zo="pointerdown",Vo="pointermove",Ko="pointerup",_e="resize",Be="scroll",ys="touchstart",Xo="dragstart",as="ArrowDown",rs="ArrowUp",Ms="ArrowLeft",_s="ArrowRight",Cs="Escape",Yo="transitionDuration",Uo="transitionDelay",Ze="transitionend",_n="transitionProperty",qo=navigator.userAgentData,Ae=qo,{userAgent:Qo}=navigator,Le=Qo,Bs=/iPhone|iPad|iPod|Android/i;Ae?Ae.brands.some(t=>Bs.test(t.brand)):Bs.test(Le);const Rs=/(iPhone|iPod|iPad)/,Zo=Ae?Ae.brands.some(t=>Rs.test(t.brand)):Rs.test(Le);Le&&Le.includes("Firefox");const{head:Re}=document;["webkitPerspective","perspective"].some(t=>t in Re.style);const Go=(t,s,e,n)=>{const o=n||!1;t.addEventListener(s,e,o)},Jo=(t,s,e,n)=>{const o=n||!1;t.removeEventListener(s,e,o)},ti=(t,s,e,n)=>{const o=i=>{(i.target===t||i.currentTarget===t)&&(e.apply(t,[i]),Jo(t,s,o,n))};Go(t,s,o,n)},ge=()=>{};(()=>{let t=!1;try{const s=Object.defineProperty({},"passive",{get:()=>(t=!0,t)});ti(document,Wo,ge,s)}catch{}return t})();["webkitTransform","transform"].some(t=>t in Re.style);["webkitAnimation","animation"].some(t=>t in Re.style);["webkitTransition","transition"].some(t=>t in Re.style);const it=(t,s)=>t.getAttribute(s),Ie=(t,s)=>t.hasAttribute(s),O=(t,s,e)=>t.setAttribute(s,e),Nt=(t,s)=>t.removeAttribute(s),g=(t,...s)=>{t.classList.add(...s)},b=(t,...s)=>{t.classList.remove(...s)},h=(t,s)=>t.classList.contains(s),ve=t=>t!=null&&typeof t=="object"||!1,L=t=>ve(t)&&typeof t.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(s=>t.nodeType===s)||!1,y=t=>L(t)&&t.nodeType===1||!1,jt=new Map,Lt={data:jt,set:(t,s,e)=>{y(t)&&(jt.has(s)||jt.set(s,new Map),jt.get(s).set(t,e))},getAllFor:t=>jt.get(t)||null,get:(t,s)=>{if(!y(t)||!s)return null;const e=Lt.getAllFor(s);return t&&e&&e.get(t)||null},remove:(t,s)=>{const e=Lt.getAllFor(s);!e||!y(t)||(e.delete(t),e.size===0&&jt.delete(s))}},F=(t,s)=>Lt.get(t,s),be=t=>typeof t=="string"||!1,Ss=t=>ve(t)&&t.constructor.name==="Window"||!1,Bn=t=>L(t)&&t.nodeType===9||!1,E=t=>Ss(t)?t.document:Bn(t)?t:L(t)?t.ownerDocument:window.document,dt=(t,...s)=>Object.assign(t,...s),$t=t=>{if(!t)return;if(be(t))return E().createElement(t);const{tagName:s}=t,e=$t(s);if(!e)return;const n={...t};return delete n.tagName,dt(e,n)},w=(t,s)=>t.dispatchEvent(s),V=(t,s)=>{const e=getComputedStyle(t),n=s.replace("webkit","Webkit").replace(/([A-Z])/g,"-$1").toLowerCase();return e.getPropertyValue(n)},ei=t=>{const s=V(t,_n),e=V(t,Uo),n=e.includes("ms")?1:1e3,o=s&&s!=="none"?parseFloat(e)*n:0;return Number.isNaN(o)?0:o},ee=t=>{const s=V(t,_n),e=V(t,Yo),n=e.includes("ms")?1:1e3,o=s&&s!=="none"?parseFloat(e)*n:0;return Number.isNaN(o)?0:o},x=(t,s)=>{let e=0;const n=new Event(Ze),o=ee(t),i=ei(t);if(o){const c=a=>{a.target===t&&(s.apply(t,[a]),t.removeEventListener(Ze,c),e=1)};t.addEventListener(Ze,c),setTimeout(()=>{e||w(t,n)},o+i+17)}else s.apply(t,[n])},ht=(t,s)=>t.focus(s),Ws=t=>["true",!0].includes(t)?!0:["false",!1].includes(t)?!1:["null","",null,void 0].includes(t)?null:t!==""&&!Number.isNaN(+t)?+t:t,Ce=t=>Object.entries(t),se=t=>t.toLowerCase(),si=(t,s,e,n)=>{const o={...e},i={...t.dataset},c={...s},a={},l="title";return Ce(i).forEach(([r,f])=>{const p=typeof r=="string"&&r.includes(n)?r.replace(n,"").replace(/[A-Z]/g,v=>se(v)):r;a[p]=Ws(f)}),Ce(o).forEach(([r,f])=>{o[r]=Ws(f)}),Ce(s).forEach(([r,f])=>{r in o?c[r]=o[r]:r in a?c[r]=a[r]:c[r]=r===l?it(t,l):f}),c},Fs=t=>Object.keys(t),$=(t,s)=>{const e=new CustomEvent(t,{cancelable:!0,bubbles:!0});return ve(s)&&dt(e,s),e},st={passive:!0},_t=t=>t.offsetHeight,I=(t,s)=>{Ce(s).forEach(([e,n])=>{if(n&&be(e)&&e.includes("--"))t.style.setProperty(e,n);else{const o={};o[e]=n,dt(t.style,o)}})},ls=t=>ve(t)&&t.constructor.name==="Map"||!1,ni=t=>typeof t=="number"||!1,bt=new Map,u={set:(t,s,e,n)=>{y(t)&&(n&&n.length?(bt.has(t)||bt.set(t,new Map),bt.get(t).set(n,setTimeout(s,e))):bt.set(t,setTimeout(s,e)))},get:(t,s)=>{if(!y(t))return null;const e=bt.get(t);return s&&e&&ls(e)?e.get(s)||null:ni(e)?e:null},clear:(t,s)=>{if(!y(t))return;const e=bt.get(t);s&&s.length&&ls(e)?(clearTimeout(e.get(s)),e.delete(s),e.size===0&&bt.delete(t)):(clearTimeout(e),bt.delete(t))}},we=(t,s)=>{const{width:e,height:n,top:o,right:i,bottom:c,left:a}=t.getBoundingClientRect();let l=1,r=1;if(s&&y(t)){const{offsetWidth:f,offsetHeight:p}=t;l=f>0?Math.round(e)/f:1,r=p>0?Math.round(n)/p:1}return{width:e/l,height:n/r,top:o/r,right:i/l,bottom:c/r,left:a/l,x:a/l,y:o/r}},Ht=t=>E(t).body,ft=t=>E(t).documentElement,Rn=t=>L(t)&&t.constructor.name==="ShadowRoot"||!1,oi=t=>t.nodeName==="HTML"?t:y(t)&&t.assignedSlot||L(t)&&t.parentNode||Rn(t)&&t.host||ft(t);let js=0,zs=0;const zt=new Map,Wn=(t,s)=>{let e=s?js:zs;if(s){const n=Wn(t),o=zt.get(n)||new Map;zt.has(n)||zt.set(n,o),ls(o)&&!o.has(s)?(o.set(s,e),js+=1):e=o.get(s)}else{const n=t.id||t;zt.has(n)?e=zt.get(n):(zt.set(n,e),zs+=1)}return e},ie=t=>{var s;return t?Bn(t)?t.defaultView:L(t)?(s=t==null?void 0:t.ownerDocument)==null?void 0:s.defaultView:t:window},ii=t=>Array.isArray(t)||!1,Fn=t=>{if(!L(t))return!1;const{top:s,bottom:e}=we(t),{clientHeight:n}=ft(t);return s<=n&&e>=0},ci=t=>typeof t=="function"||!1,ai=t=>ve(t)&&t.constructor.name==="NodeList"||!1,St=t=>ft(t).dir==="rtl",ri=t=>L(t)&&["TABLE","TD","TH"].includes(t.nodeName)||!1,M=(t,s)=>t?t.closest(s)||M(t.getRootNode().host,s):null,P=(t,s)=>y(t)?t:(L(s)?s:E()).querySelector(t),Hs=(t,s)=>(L(s)?s:E()).getElementsByTagName(t),tt=(t,s)=>(L(s)?s:E()).querySelectorAll(t),rt=(t,s)=>(s&&L(s)?s:E()).getElementsByClassName(t),jn=(t,s)=>t.matches(s),Vt={},zn=t=>{const{type:s,currentTarget:e}=t;[...Vt[s]].forEach(([n,o])=>{e===n&&[...o].forEach(([i,c])=>{i.apply(n,[t]),typeof c=="object"&&c.once&&B(n,s,i,c)})})},_=(t,s,e,n)=>{Vt[s]||(Vt[s]=new Map);const o=Vt[s];o.has(t)||o.set(t,new Map);const i=o.get(t),{size:c}=i;i.set(e,n),c||t.addEventListener(s,zn,n)},B=(t,s,e,n)=>{const o=Vt[s],i=o&&o.get(t),c=i&&i.get(e),a=c!==void 0?c:n;i&&i.has(e)&&i.delete(e),o&&(!i||!i.size)&&o.delete(t),(!o||!o.size)&&delete Vt[s],(!i||!i.size)&&t.removeEventListener(s,zn,a)},R="fade",m="show",We="data-bs-dismiss",Fe="alert",Vn="Alert",li="5.0.14",di=li;class nt{constructor(s,e){d(this,"_toggleEventListeners",()=>{});const n=P(s);if(!n)throw be(s)?Error(`${this.name} Error: "${s}" is not a valid selector.`):Error(`${this.name} Error: your target is not an instance of HTMLElement.`);const o=Lt.get(n,this.name);o&&o._toggleEventListeners(),this.element=n,this.options=this.defaults&&Fs(this.defaults).length?si(n,this.defaults,e||{},"bs"):{},Lt.set(n,this.name,this)}get version(){return di}get name(){return"BaseComponent"}get defaults(){return{}}dispose(){Lt.remove(this.element,this.name),Fs(this).forEach(s=>{delete this[s]})}}const hi=`.${Fe}`,fi=`[${We}="${Fe}"]`,gi=t=>F(t,Vn),pi=t=>new Kt(t),Vs=$(`close.bs.${Fe}`),ui=$(`closed.bs.${Fe}`),Ks=t=>{const{element:s}=t;w(s,ui),t._toggleEventListeners(),t.dispose(),s.remove()};class Kt extends nt{constructor(e){super(e);d(this,"dismiss");d(this,"close",()=>{const{element:e}=this;e&&h(e,m)&&(w(e,Vs),Vs.defaultPrevented||(b(e,m),h(e,R)?x(e,()=>Ks(this)):Ks(this)))});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{dismiss:o,close:i}=this;o&&n(o,N,i)});this.dismiss=P(fi,this.element),this._toggleEventListeners(!0)}get name(){return Vn}dispose(){this._toggleEventListeners(),super.dispose()}}d(Kt,"selector",hi),d(Kt,"init",pi),d(Kt,"getInstance",gi);const C="active",ct="data-bs-toggle",mi="button",Kn="Button",vi=`[${ct}="${mi}"]`,bi=t=>F(t,Kn),wi=t=>new Xt(t);class Xt extends nt{constructor(e){super(e);d(this,"isActive",!1);d(this,"toggle",e=>{e&&e.preventDefault();const{element:n,isActive:o}=this;!h(n,"disabled")&&!it(n,"disabled")&&((o?b:g)(n,C),O(n,Os,o?"false":"true"),this.isActive=h(n,C))});d(this,"_toggleEventListeners",e=>{(e?_:B)(this.element,N,this.toggle)});const{element:n}=this;this.isActive=h(n,C),O(n,Os,String(!!this.isActive)),this._toggleEventListeners(!0)}get name(){return Kn}dispose(){this._toggleEventListeners(),super.dispose()}}d(Xt,"selector",vi),d(Xt,"init",wi),d(Xt,"getInstance",bi);const ds="data-bs-target",It="carousel",Xn="Carousel",Xs="data-bs-parent",Ei="data-bs-container",X=t=>{const s=[ds,Xs,Ei,"href"],e=E(t);return s.map(n=>{const o=it(t,n);return o?n===Xs?M(t,o):P(o,e):null}).filter(n=>n)[0]},Ee=`[data-bs-ride="${It}"]`,Q=`${It}-item`,hs="data-bs-slide-to",Et="data-bs-slide",Tt="paused",Ys={pause:"hover",keyboard:!1,touch:!0,interval:5e3},gt=t=>F(t,Xn),$i=t=>new Yt(t);let fe=0,Se=0,Ge=0;const Je=$(`slide.bs.${It}`),fs=$(`slid.bs.${It}`),Us=t=>{const{index:s,direction:e,element:n,slides:o,options:i}=t;if(t.isAnimating){const c=gs(t),a=e==="left"?"next":"prev",l=e==="left"?"start":"end";g(o[s],C),b(o[s],`${Q}-${a}`),b(o[s],`${Q}-${l}`),b(o[c],C),b(o[c],`${Q}-${l}`),w(n,fs),u.clear(n,Et),t.cycle&&!E(n).hidden&&i.interval&&!t.isPaused&&t.cycle()}};function Ti(){const t=gt(this);t&&!t.isPaused&&!u.get(this,Tt)&&g(this,Tt)}function yi(){const t=gt(this);t&&t.isPaused&&!u.get(this,Tt)&&t.cycle()}function Ci(t){t.preventDefault();const s=M(this,Ee)||X(this),e=gt(s);if(e&&!e.isAnimating){const n=+(it(this,hs)||0);this&&!h(this,C)&&!Number.isNaN(n)&&e.to(n)}}function Si(t){t.preventDefault();const s=M(this,Ee)||X(this),e=gt(s);if(e&&!e.isAnimating){const n=it(this,Et);n==="next"?e.next():n==="prev"&&e.prev()}}const Hi=({code:t,target:s})=>{const e=E(s),[n]=[...tt(Ee,e)].filter(i=>Fn(i)),o=gt(n);if(o&&!o.isAnimating&&!/textarea|input/i.test(s.nodeName)){const i=St(n);t===(i?_s:Ms)?o.prev():t===(i?Ms:_s)&&o.next()}};function qs(t){const{target:s}=t,e=gt(this);e&&e.isTouch&&(e.indicator&&!e.indicator.contains(s)||!e.controls.includes(s))&&(t.stopImmediatePropagation(),t.stopPropagation(),t.preventDefault())}function xi(t){const{target:s}=t,e=gt(this);if(e&&!e.isAnimating&&!e.isTouch){const{controls:n,indicators:o}=e;[...n,...o].every(i=>i===s||i.contains(s))||(fe=t.pageX,this.contains(s)&&(e.isTouch=!0,Yn(e,!0)))}}const Pi=t=>{Se=t.pageX},Di=t=>{var o;const{target:s}=t,e=E(s),n=[...tt(Ee,e)].map(i=>gt(i)).find(i=>i.isTouch);if(n){const{element:i,index:c}=n,a=St(i);Ge=t.pageX,n.isTouch=!1,Yn(n),!((o=e.getSelection())!=null&&o.toString().length)&&i.contains(s)&&Math.abs(fe-Ge)>120&&(Sefe&&n.to(c+(a?1:-1))),fe=0,Se=0,Ge=0}},ts=(t,s)=>{const{indicators:e}=t;[...e].forEach(n=>b(n,C)),t.indicators[s]&&g(e[s],C)},Yn=(t,s)=>{const{element:e}=t,n=s?_:B;n(E(e),Vo,Pi,st),n(E(e),Ko,Di,st)},gs=t=>{const{slides:s,element:e}=t,n=P(`.${Q}.${C}`,e);return y(n)?[...s].indexOf(n):-1};class Yt extends nt{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const{element:n,options:o,slides:i,controls:c,indicators:a}=this,{touch:l,pause:r,interval:f,keyboard:p}=o,v=e?_:B;r&&f&&(v(n,Me,Ti),v(n,Ts,yi)),l&&i.length>2&&(v(n,zo,xi,st),v(n,ys,qs,{passive:!1}),v(n,Xo,qs,{passive:!1})),c.length&&c.forEach(D=>{D&&v(D,N,Si)}),a.length&&a.forEach(D=>{v(D,N,Ci)}),p&&v(E(n),Oe,Hi)});const{element:o}=this;this.direction=St(o)?"right":"left",this.isTouch=!1,this.slides=rt(Q,o);const{slides:i}=this;if(i.length>=2){const c=gs(this),a=[...i].find(f=>jn(f,`.${Q}-next,.${Q}-next`));this.index=c;const l=E(o);this.controls=[...tt(`[${Et}]`,o),...tt(`[${Et}][${ds}="#${o.id}"]`,l)].filter((f,p,v)=>p===v.indexOf(f)),this.indicator=P(`.${It}-indicators`,o),this.indicators=[...this.indicator?tt(`[${hs}]`,this.indicator):[],...tt(`[${hs}][${ds}="#${o.id}"]`,l)].filter((f,p,v)=>p===v.indexOf(f));const{options:r}=this;this.options.interval=r.interval===!0?Ys.interval:r.interval,a?this.index=[...i].indexOf(a):c<0&&(this.index=0,g(i[0],C),this.indicators.length&&ts(this,0)),this.indicators.length&&ts(this,this.index),this._toggleEventListeners(!0),r.interval&&this.cycle()}}get name(){return Xn}get defaults(){return Ys}get isPaused(){return h(this.element,Tt)}get isAnimating(){return P(`.${Q}-next,.${Q}-prev`,this.element)!==null}cycle(){const{element:e,options:n,isPaused:o,index:i}=this;u.clear(e,It),o&&(u.clear(e,Tt),b(e,Tt)),u.set(e,()=>{this.element&&!this.isPaused&&!this.isTouch&&Fn(e)&&this.to(i+1)},n.interval,It)}pause(){const{element:e,options:n}=this;!this.isPaused&&n.interval&&(g(e,Tt),u.set(e,()=>{},1,Tt))}next(){this.isAnimating||this.to(this.index+1)}prev(){this.isAnimating||this.to(this.index-1)}to(e){const{element:n,slides:o,options:i}=this,c=gs(this),a=St(n);let l=e;if(!this.isAnimating&&c!==l&&!u.get(n,Et)){cl||c===o.length-1&&l===0)&&(this.direction=a?"left":"right");const{direction:r}=this;l<0?l=o.length-1:l>=o.length&&(l=0);const f=r==="left"?"next":"prev",p=r==="left"?"start":"end",v={relatedTarget:o[l],from:c,to:l,direction:r};dt(Je,v),dt(fs,v),w(n,Je),Je.defaultPrevented||(this.index=l,ts(this,l),ee(o[l])&&h(n,"slide")?u.set(n,()=>{g(o[l],`${Q}-${f}`),_t(o[l]),g(o[l],`${Q}-${p}`),g(o[c],`${Q}-${p}`),x(o[l],()=>this.slides&&this.slides.length&&Us(this))},0,Et):(g(o[l],C),b(o[c],C),u.set(n,()=>{u.clear(n,Et),n&&i.interval&&!this.isPaused&&this.cycle(),w(n,fs)},0,Et)))}}dispose(){const{isAnimating:e}=this,n={...this,isAnimating:e};this._toggleEventListeners(),super.dispose(),n.isAnimating&&x(n.slides[n.index],()=>{Us(n)})}}d(Yt,"selector",Ee),d(Yt,"init",$i),d(Yt,"getInstance",gt);const Ot="collapsing",K="collapse",Un="Collapse",Ai=`.${K}`,qn=`[${ct}="${K}"]`,Li={parent:null},He=t=>F(t,Un),Ii=t=>new Ut(t),Qs=$(`show.bs.${K}`),ki=$(`shown.bs.${K}`),Zs=$(`hide.bs.${K}`),Ni=$(`hidden.bs.${K}`),Oi=t=>{const{element:s,parent:e,triggers:n}=t;w(s,Qs),Qs.defaultPrevented||(u.set(s,ge,17),e&&u.set(e,ge,17),g(s,Ot),b(s,K),I(s,{height:`${s.scrollHeight}px`}),x(s,()=>{u.clear(s),e&&u.clear(e),n.forEach(o=>O(o,De,"true")),b(s,Ot),g(s,K),g(s,m),I(s,{height:""}),w(s,ki)}))},Gs=t=>{const{element:s,parent:e,triggers:n}=t;w(s,Zs),Zs.defaultPrevented||(u.set(s,ge,17),e&&u.set(e,ge,17),I(s,{height:`${s.scrollHeight}px`}),b(s,K),b(s,m),g(s,Ot),_t(s),I(s,{height:"0px"}),x(s,()=>{u.clear(s),e&&u.clear(e),n.forEach(o=>O(o,De,"false")),b(s,Ot),g(s,K),I(s,{height:""}),w(s,Ni)}))},Mi=t=>{const{target:s}=t,e=s&&M(s,qn),n=e&&X(e),o=n&&He(n);o&&o.toggle(),e&&e.tagName==="A"&&t.preventDefault()};class Ut extends nt{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const n=e?_:B,{triggers:o}=this;o.length&&o.forEach(i=>n(i,N,Mi))});const{element:o,options:i}=this,c=E(o);this.triggers=[...tt(qn,c)].filter(a=>X(a)===o),this.parent=y(i.parent)?i.parent:be(i.parent)?X(o)||P(i.parent,c):null,this._toggleEventListeners(!0)}get name(){return Un}get defaults(){return Li}hide(){const{triggers:e,element:n}=this;u.get(n)||(Gs(this),e.length&&e.forEach(o=>g(o,`${K}d`)))}show(){const{element:e,parent:n,triggers:o}=this;let i,c;n&&(i=[...tt(`.${K}.${m}`,n)].find(a=>He(a)),c=i&&He(i)),(!n||!u.get(n))&&!u.get(e)&&(c&&i!==e&&(Gs(c),c.triggers.forEach(a=>{g(a,`${K}d`)})),Oi(this),o.length&&o.forEach(a=>b(a,`${K}d`)))}toggle(){h(this.element,m)?this.hide():this.show()}dispose(){this._toggleEventListeners(),super.dispose()}}d(Ut,"selector",Ai),d(Ut,"init",Ii),d(Ut,"getInstance",He);const Mt=["dropdown","dropup","dropstart","dropend"],Qn="Dropdown",Zn="dropdown-menu",Gn=t=>{const s=M(t,"A");return t.tagName==="A"&&Ie(t,"href")&&it(t,"href").slice(-1)==="#"||s&&Ie(s,"href")&&it(s,"href").slice(-1)==="#"},[et,ps,us,ms]=Mt,Jn=`[${ct}="${et}"]`,ne=t=>F(t,Qn),_i=t=>new qt(t),Bi=`${Zn}-end`,Js=[et,ps],tn=[us,ms],en=["A","BUTTON"],Ri={offset:5,display:"dynamic"},es=$(`show.bs.${et}`),sn=$(`shown.bs.${et}`),ss=$(`hide.bs.${et}`),nn=$(`hidden.bs.${et}`),to=$(`updated.bs.${et}`),eo=t=>{const{element:s,menu:e,parentElement:n,options:o}=t,{offset:i}=o;if(V(e,"position")!=="static"){const c=St(s),a=h(e,Bi);["margin","top","bottom","left","right"].forEach(k=>{const ut={};ut[k]="",I(e,ut)});let r=Mt.find(k=>h(n,k))||et;const f={dropdown:[i,0,0],dropup:[0,0,i],dropstart:c?[-1,0,0,i]:[-1,i,0],dropend:c?[-1,i,0]:[-1,0,0,i]},p={dropdown:{top:"100%"},dropup:{top:"auto",bottom:"100%"},dropstart:c?{left:"100%",right:"auto"}:{left:"auto",right:"100%"},dropend:c?{left:"auto",right:"100%"}:{left:"100%",right:"auto"},menuStart:c?{right:"0",left:"auto"}:{right:"auto",left:"0"},menuEnd:c?{right:"auto",left:"0"}:{right:"0",left:"auto"}},{offsetWidth:v,offsetHeight:D}=e,{clientWidth:q,clientHeight:T}=ft(s),{left:j,top:Y,width:Rt,height:at}=we(s),S=j-v-i<0,J=j+v+Rt+i>=q,ot=Y+D+i>=T,W=Y+D+at+i>=T,z=Y-D-i<0,H=(!c&&a||c&&!a)&&j+Rt-v<0,Wt=(c&&a||!c&&!a)&&j+v>=q;if(tn.includes(r)&&S&&J&&(r=et),r===us&&(c?J:S)&&(r=ms),r===ms&&(c?S:J)&&(r=us),r===ps&&z&&!W&&(r=et),r===et&&W&&!z&&(r=ps),tn.includes(r)&&ot&&dt(p[r],{top:"auto",bottom:0}),Js.includes(r)&&(H||Wt)){let k={left:"auto",right:"auto"};!H&&Wt&&!c&&(k={left:"auto",right:0}),H&&!Wt&&c&&(k={left:0,right:"auto"}),k&&dt(p[r],k)}const pt=f[r];I(e,{...p[r],margin:`${pt.map(k=>k&&`${k}px`).join(" ")}`}),Js.includes(r)&&a&&a&&I(e,p[!c&&H||c&&Wt?"menuStart":"menuEnd"]),w(n,to)}},Wi=t=>[...t.children].map(s=>{if(s&&en.includes(s.tagName))return s;const{firstElementChild:e}=s;return e&&en.includes(e.tagName)?e:null}).filter(s=>s),on=t=>{const{element:s,options:e}=t,n=t.open?_:B,o=E(s);n(o,N,cn),n(o,Es,cn),n(o,Oe,ji),n(o,Fo,zi),e.display==="dynamic"&&[Be,_e].forEach(i=>{n(ie(s),i,Vi,st)})},je=t=>{const s=[...Mt,"btn-group","input-group"].map(e=>rt(`${e} ${m}`,E(t))).find(e=>e.length);if(s&&s.length)return[...s[0].children].find(e=>Mt.some(n=>n===it(e,ct)))},cn=t=>{const{target:s,type:e}=t;if(s&&y(s)){const n=je(s),o=n&&ne(n);if(o){const{parentElement:i,menu:c}=o,a=i&&i.contains(s)&&(s.tagName==="form"||M(s,"form")!==null);[N,Mn].includes(e)&&Gn(s)&&t.preventDefault(),!a&&e!==Es&&s!==n&&s!==c&&o.hide()}}},Fi=t=>{const{target:s}=t,e=s&&M(s,Jn),n=e&&ne(e);n&&(t.stopPropagation(),n.toggle(),e&&Gn(e)&&t.preventDefault())},ji=t=>{[as,rs].includes(t.code)&&t.preventDefault()};function zi(t){const{code:s}=t,e=je(this),n=e&&ne(e),{activeElement:o}=e&&E(e);if(n&&o){const{menu:i,open:c}=n,a=Wi(i);if(a&&a.length&&[as,rs].includes(s)){let l=a.indexOf(o);o===e?l=0:s===rs?l=l>1?l-1:0:s===as&&(l=l{(e?_:B)(this.element,N,Fi)});const{parentElement:o}=this.element,[i]=rt(Zn,o);i&&(this.parentElement=o,this.menu=i,this._toggleEventListeners(!0))}get name(){return Qn}get defaults(){return Ri}toggle(){this.open?this.hide():this.show()}show(){const{element:e,open:n,menu:o,parentElement:i}=this;if(!n){const c=je(e),a=c&&ne(c);a&&a.hide(),[es,sn,to].forEach(l=>{l.relatedTarget=e}),w(i,es),es.defaultPrevented||(g(o,m),g(i,m),O(e,De,"true"),eo(this),this.open=!n,ht(e),on(this),w(i,sn))}}hide(){const{element:e,open:n,menu:o,parentElement:i}=this;n&&([ss,nn].forEach(c=>{c.relatedTarget=e}),w(i,ss),ss.defaultPrevented||(b(o,m),b(i,m),O(e,De,"false"),this.open=!n,on(this),w(i,nn)))}dispose(){this.open&&this.hide(),this._toggleEventListeners(),super.dispose()}}d(qt,"selector",Jn),d(qt,"init",_i),d(qt,"getInstance",ne);const U="modal",xs="Modal",Ps="Offcanvas",Ki="fixed-top",Xi="fixed-bottom",so="sticky-top",no="position-sticky",oo=t=>[...rt(Ki,t),...rt(Xi,t),...rt(so,t),...rt(no,t),...rt("is-fixed",t)],Yi=t=>{const s=Ht(t);I(s,{paddingRight:"",overflow:""});const e=oo(s);e.length&&e.forEach(n=>{I(n,{paddingRight:"",marginRight:""})})},io=t=>{const{clientWidth:s}=ft(t),{innerWidth:e}=ie(t);return Math.abs(e-s)},co=(t,s)=>{const e=Ht(t),n=parseInt(V(e,"paddingRight"),10),i=V(e,"overflow")==="hidden"&&n?0:io(t),c=oo(e);s&&(I(e,{overflow:"hidden",paddingRight:`${n+i}px`}),c.length&&c.forEach(a=>{const l=V(a,"paddingRight");if(a.style.paddingRight=`${parseInt(l,10)+i}px`,[so,no].some(r=>h(a,r))){const r=V(a,"marginRight");a.style.marginRight=`${parseInt(r,10)-i}px`}}))},Z="offcanvas",yt=$t({tagName:"div",className:"popup-container"}),ao=(t,s)=>{const e=L(s)&&s.nodeName==="BODY",n=L(s)&&!e?s:yt,o=e?s:Ht(t);L(t)&&(n===yt&&o.append(yt),n.append(t))},ro=(t,s)=>{const e=L(s)&&s.nodeName==="BODY",n=L(s)&&!e?s:yt;L(t)&&(t.remove(),n===yt&&!yt.children.length&&yt.remove())},Ds=(t,s)=>{const e=L(s)&&s.nodeName!=="BODY"?s:yt;return L(t)&&e.contains(t)},lo="backdrop",an=`${U}-${lo}`,rn=`${Z}-${lo}`,ho=`.${U}.${m}`,As=`.${Z}.${m}`,A=$t("div"),Bt=t=>P(`${ho},${As}`,E(t)),Ls=t=>{const s=t?an:rn;[an,rn].forEach(e=>{b(A,e)}),g(A,s)},fo=(t,s,e)=>{Ls(e),ao(A,Ht(t)),s&&g(A,R)},go=()=>{h(A,m)||(g(A,m),_t(A))},ze=()=>{b(A,m)},po=t=>{Bt(t)||(b(A,R),ro(A,Ht(t)),Yi(t))},uo=t=>y(t)&&V(t,"visibility")!=="hidden"&&t.offsetParent!==null,Ui=`.${U}`,mo=`[${ct}="${U}"]`,qi=`[${We}="${U}"]`,vo=`${U}-static`,Qi={backdrop:!0,keyboard:!0},pe=t=>F(t,xs),Zi=t=>new Qt(t),xe=$(`show.bs.${U}`),ln=$(`shown.bs.${U}`),ns=$(`hide.bs.${U}`),dn=$(`hidden.bs.${U}`),bo=t=>{const{element:s}=t,e=io(s),{clientHeight:n,scrollHeight:o}=ft(s),{clientHeight:i,scrollHeight:c}=s,a=i!==c;if(!a&&e){const l=St(s)?"paddingLeft":"paddingRight",r={};r[l]=`${e}px`,I(s,r)}co(s,a||n!==o)},wo=(t,s)=>{const e=s?_:B,{element:n,update:o}=t;e(n,N,tc),e(ie(n),_e,o,st),e(E(n),Oe,Ji)},hn=t=>{const{triggers:s,element:e,relatedTarget:n}=t;po(e),I(e,{paddingRight:"",display:""}),wo(t);const o=xe.relatedTarget||s.find(uo);o&&ht(o),dn.relatedTarget=n,w(e,dn)},fn=t=>{const{element:s,relatedTarget:e}=t;ht(s),wo(t,!0),ln.relatedTarget=e,w(s,ln)},gn=t=>{const{element:s,hasFade:e}=t;I(s,{display:"block"}),bo(t),Bt(s)||I(Ht(s),{overflow:"hidden"}),g(s,m),Nt(s,ke),O(s,Ne,"true"),e?x(s,()=>fn(t)):fn(t)},pn=t=>{const{element:s,options:e,hasFade:n}=t;e.backdrop&&n&&h(A,m)&&!Bt(s)?(ze(),x(A,()=>hn(t))):hn(t)},Gi=t=>{const{target:s}=t,e=s&&M(s,mo),n=e&&X(e),o=n&&pe(n);o&&(e&&e.tagName==="A"&&t.preventDefault(),o.relatedTarget=e,o.toggle())},Ji=({code:t,target:s})=>{const e=P(ho,E(s)),n=e&&pe(e);if(n){const{options:o}=n;o.keyboard&&t===Cs&&h(e,m)&&(n.relatedTarget=null,n.hide())}},tc=t=>{var n,o;const{currentTarget:s}=t,e=s?pe(s):null;if(e&&s&&!u.get(s)){const{options:i,isStatic:c,modalDialog:a}=e,{backdrop:l}=i,{target:r}=t,f=(o=(n=E(s))==null?void 0:n.getSelection())==null?void 0:o.toString().length,p=a.contains(r),v=r&&M(r,qi);c&&!p?u.set(s,()=>{g(s,vo),x(a,()=>ec(e))},17):(v||!f&&!c&&!p&&l)&&(e.relatedTarget=v||null,e.hide(),t.preventDefault())}},ec=t=>{const{element:s,modalDialog:e}=t,n=(ee(e)||0)+17;b(s,vo),u.set(s,()=>u.clear(s),n)};class Qt extends nt{constructor(e,n){super(e,n);d(this,"update",()=>{h(this.element,m)&&bo(this)});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{triggers:o}=this;o.length&&o.forEach(i=>n(i,N,Gi))});const{element:o}=this,i=P(`.${U}-dialog`,o);i&&(this.modalDialog=i,this.triggers=[...tt(mo,E(o))].filter(c=>X(c)===o),this.isStatic=this.options.backdrop==="static",this.hasFade=h(o,R),this.relatedTarget=null,this._toggleEventListeners(!0))}get name(){return xs}get defaults(){return Qi}toggle(){h(this.element,m)?this.hide():this.show()}show(){const{element:e,options:n,hasFade:o,relatedTarget:i}=this,{backdrop:c}=n;let a=0;if(!h(e,m)&&(xe.relatedTarget=i||void 0,w(e,xe),!xe.defaultPrevented)){const l=Bt(e);if(l&&l!==e){const r=pe(l)||F(l,Ps);r&&r.hide()}c?(Ds(A)?Ls(!0):fo(e,o,!0),a=ee(A),go(),setTimeout(()=>gn(this),a)):(gn(this),l&&h(A,m)&&ze())}}hide(){const{element:e,hasFade:n,relatedTarget:o}=this;h(e,m)&&(ns.relatedTarget=o||void 0,w(e,ns),ns.defaultPrevented||(b(e,m),O(e,ke,"true"),Nt(e,Ne),n?x(e,()=>pn(this)):pn(this)))}dispose(){const e={...this},{element:n,modalDialog:o}=e,i=()=>super.dispose();this._toggleEventListeners(),this.hide(),h(n,"fade")?x(o,i):i()}}d(Qt,"selector",Ui),d(Qt,"init",Zi),d(Qt,"getInstance",pe);const sc=`.${Z}`,Is=`[${ct}="${Z}"]`,nc=`[${We}="${Z}"]`,Ve=`${Z}-toggling`,oc={backdrop:!0,keyboard:!0,scroll:!1},ue=t=>F(t,Ps),ic=t=>new Zt(t),Pe=$(`show.bs.${Z}`),Eo=$(`shown.bs.${Z}`),os=$(`hide.bs.${Z}`),$o=$(`hidden.bs.${Z}`),cc=t=>{const{element:s}=t,{clientHeight:e,scrollHeight:n}=ft(s);co(s,e!==n)},To=(t,s)=>{const e=s?_:B,n=E(t.element);e(n,Oe,dc),e(n,N,lc)},un=t=>{const{element:s,options:e}=t;e.scroll||(cc(t),I(Ht(s),{overflow:"hidden"})),g(s,Ve),g(s,m),I(s,{visibility:"visible"}),x(s,()=>hc(t))},ac=t=>{const{element:s,options:e}=t,n=Bt(s);s.blur(),!n&&e.backdrop&&h(A,m)&&ze(),x(s,()=>fc(t))},rc=t=>{const s=M(t.target,Is),e=s&&X(s),n=e&&ue(e);n&&(n.relatedTarget=s,n.toggle(),s&&s.tagName==="A"&&t.preventDefault())},lc=t=>{const{target:s}=t,e=P(As,E(s)),n=P(nc,e),o=e&&ue(e);if(o){const{options:i,triggers:c}=o,{backdrop:a}=i,l=M(s,Is),r=E(e).getSelection();(!A.contains(s)||a!=="static")&&(!(r&&r.toString().length)&&(!e.contains(s)&&a&&(!l||c.includes(s))||n&&n.contains(s))&&(o.relatedTarget=n&&n.contains(s)?n:null,o.hide()),l&&l.tagName==="A"&&t.preventDefault())}},dc=({code:t,target:s})=>{const e=P(As,E(s)),n=e&&ue(e);n&&n.options.keyboard&&t===Cs&&(n.relatedTarget=null,n.hide())},hc=t=>{const{element:s}=t;b(s,Ve),Nt(s,ke),O(s,Ne,"true"),O(s,"role","dialog"),w(s,Eo),To(t,!0),ht(s)},fc=t=>{const{element:s,triggers:e}=t;O(s,ke,"true"),Nt(s,Ne),Nt(s,"role"),I(s,{visibility:""});const n=Pe.relatedTarget||e.find(uo);n&&ht(n),po(s),w(s,$o),b(s,Ve),Bt(s)||To(t)};class Zt extends nt{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const n=e?_:B;this.triggers.forEach(o=>n(o,N,rc))});const{element:o}=this;this.triggers=[...tt(Is,E(o))].filter(i=>X(i)===o),this.relatedTarget=null,this._toggleEventListeners(!0)}get name(){return Ps}get defaults(){return oc}toggle(){h(this.element,m)?this.hide():this.show()}show(){const{element:e,options:n,relatedTarget:o}=this;let i=0;if(!h(e,m)&&(Pe.relatedTarget=o||void 0,Eo.relatedTarget=o||void 0,w(e,Pe),!Pe.defaultPrevented)){const c=Bt(e);if(c&&c!==e){const a=ue(c)||F(c,xs);a&&a.hide()}n.backdrop?(Ds(A)?Ls():fo(e,!0),i=ee(A),go(),setTimeout(()=>un(this),i)):(un(this),c&&h(A,m)&&ze())}}hide(){const{element:e,relatedTarget:n}=this;h(e,m)&&(os.relatedTarget=n||void 0,$o.relatedTarget=n||void 0,w(e,os),os.defaultPrevented||(g(e,Ve),b(e,m),ac(this)))}dispose(){const e={...this},{element:n,options:o}=e,i=o.backdrop?ee(A):0,c=()=>setTimeout(()=>super.dispose(),i+17);this._toggleEventListeners(),this.hide(),h(n,m)?x(n,c):c()}}d(Zt,"selector",sc),d(Zt,"init",ic),d(Zt,"getInstance",ue);const kt="popover",Ke="Popover",lt="tooltip",yo=t=>{const s=t===lt,e=s?`${t}-inner`:`${t}-body`,n=s?"":`

`,o=`
`,i=`
`;return`
${n+o+i}
`},Co={top:"top",bottom:"bottom",left:"start",right:"end"},vs=t=>{const s=/\b(top|bottom|start|end)+/,{element:e,tooltip:n,container:o,options:i,arrow:c}=t;if(n){const a={...Co},l=St(e);I(n,{top:"",left:"",right:"",bottom:""});const r=t.name===Ke,{offsetWidth:f,offsetHeight:p}=n,{clientWidth:v,clientHeight:D,offsetWidth:q}=ft(e);let{placement:T}=i;const{clientWidth:j,offsetWidth:Y}=o,at=V(o,"position")==="fixed",S=Math.abs(at?j-Y:v-q),J=l&&at?S:0,ot=v-(l?0:S)-1,{width:W,height:z,left:H,right:Wt,top:pt}=we(e,!0),{x:k,y:ut}={x:H,y:pt};I(c,{top:"",left:"",right:"",bottom:""});let xt=0,ce="",mt=0,Xe="",Ft="",Te="",Ye="";const Pt=c.offsetWidth||0,vt=c.offsetHeight||0,Ue=Pt/2;let ae=pt-p-vt<0,re=pt+p+z+vt>=D,le=H-f-Pt=ot;const ye=["left","right"],qe=["top","bottom"];ae=ye.includes(T)?pt+z/2-p/2-vt<0:ae,re=ye.includes(T)?pt+p/2+z/2+vt>=D:re,le=qe.includes(T)?H+W/2-f/2=ot:de,T=ye.includes(T)&&le&&de?"top":T,T=T==="top"&&ae?"bottom":T,T=T==="bottom"&&re?"top":T,T=T==="left"&&le?"right":T,T=T==="right"&&de?"left":T,n.className.includes(T)||(n.className=n.className.replace(s,a[T])),ye.includes(T)?(T==="left"?mt=k-f-(r?Pt:0):mt=k+W+(r?Pt:0),ae&&re?(xt=0,ce=0,Ft=pt+z/2-vt/2):ae?(xt=ut,ce="",Ft=z/2-Pt):re?(xt=ut-p+z,ce="",Ft=p-z/2-Pt):(xt=ut-p/2+z/2,Ft=p/2-vt/2)):qe.includes(T)&&(T==="top"?xt=ut-p-(r?vt:0):xt=ut+z+(r?vt:0),le?(mt=0,Te=k+W/2-Ue):de?(mt="auto",Xe=0,Ye=W/2+ot-Wt-Ue):(mt=k-f/2+W/2,Te=f/2-Ue)),I(n,{top:`${xt}px`,bottom:ce===""?"":`${ce}px`,left:mt==="auto"?mt:`${mt}px`,right:Xe!==""?`${Xe}px`:""}),y(c)&&(Ft!==""&&(c.style.top=`${Ft}px`),Te!==""?c.style.left=`${Te}px`:Ye!==""&&(c.style.right=`${Ye}px`));const _o=$(`updated.bs.${se(t.name)}`);w(e,_o)}},bs={template:yo(lt),title:"",customClass:"",trigger:"hover focus",placement:"top",sanitizeFn:void 0,animation:!0,delay:200,container:document.body,content:"",dismissible:!1,btnClose:""},So="data-original-title",Dt="Tooltip",wt=(t,s,e)=>{if(be(s)&&s.length){let n=s.trim();ci(e)&&(n=e(n));const i=new DOMParser().parseFromString(n,"text/html");t.append(...i.body.childNodes)}else y(s)?t.append(s):(ai(s)||ii(s)&&s.every(L))&&t.append(...s)},gc=t=>{const s=t.name===Dt,{id:e,element:n,options:o}=t,{title:i,placement:c,template:a,animation:l,customClass:r,sanitizeFn:f,dismissible:p,content:v,btnClose:D}=o,q=s?lt:kt,T={...Co};let j=[],Y=[];St(n)&&(T.left="end",T.right="start");const Rt=`bs-${q}-${T[c]}`;let at;if(y(a))at=a;else{const J=$t("div");wt(J,a,f),at=J.firstChild}t.tooltip=y(at)?at.cloneNode(!0):void 0;const{tooltip:S}=t;if(S){O(S,"id",e),O(S,"role",lt);const J=s?`${lt}-inner`:`${kt}-body`,ot=s?null:P(`.${kt}-header`,S),W=P(`.${J}`,S);t.arrow=P(`.${q}-arrow`,S);const{arrow:z}=t;if(y(i))j=[i.cloneNode(!0)];else{const H=$t("div");wt(H,i,f),j=[...H.childNodes]}if(y(v))Y=[v.cloneNode(!0)];else{const H=$t("div");wt(H,v,f),Y=[...H.childNodes]}if(p)if(i)if(y(D))j=[...j,D.cloneNode(!0)];else{const H=$t("div");wt(H,D,f),j=[...j,H.firstChild]}else if(ot&&ot.remove(),y(D))Y=[...Y,D.cloneNode(!0)];else{const H=$t("div");wt(H,D,f),Y=[...Y,H.firstChild]}s?i&&W&&wt(W,i,f):(i&&ot&&wt(ot,j,f),v&&W&&wt(W,Y,f),t.btn=P(".btn-close",S)||void 0),g(S,"position-fixed"),g(z,"position-absolute"),h(S,q)||g(S,q),l&&!h(S,R)&&g(S,R),r&&!h(S,r)&&g(S,r),h(S,Rt)||g(S,Rt)}},pc=t=>{const s=["HTML","BODY"],e=[];let{parentNode:n}=t;for(;n&&!s.includes(n.nodeName);)n=oi(n),Rn(n)||ri(n)||e.push(n);return e.find((o,i)=>V(o,"position")!=="relative"&&e.slice(i+1).every(c=>V(c,"position")==="static")?o:null)||E(t).body},uc=`[${ct}="${lt}"],[data-tip="${lt}"]`,Ho="title";let mn=t=>F(t,Dt);const mc=t=>new Ct(t),vc=t=>{const{element:s,tooltip:e,container:n,offsetParent:o}=t;Nt(s,Nn),ro(e,n===o?n:o)},he=t=>{const{tooltip:s,container:e,offsetParent:n}=t;return s&&Ds(s,e===n?e:n)},bc=(t,s)=>{const{element:e}=t;t._toggleEventListeners(),Ie(e,So)&&t.name===Dt&&Po(t),s&&s()},xo=(t,s)=>{const e=s?_:B,{element:n}=t;e(E(n),ys,t.handleTouch,st),[Be,_e].forEach(o=>{e(ie(n),o,t.update,st)})},vn=t=>{const{element:s}=t,e=$(`shown.bs.${se(t.name)}`);xo(t,!0),w(s,e),u.clear(s,"in")},bn=t=>{const{element:s}=t,e=$(`hidden.bs.${se(t.name)}`);xo(t),vc(t),w(s,e),u.clear(s,"out")},wn=(t,s)=>{const e=s?_:B,{element:n,container:o,offsetParent:i}=t,{offsetHeight:c,scrollHeight:a}=o,l=M(n,`.${U}`),r=M(n,`.${Z}`),f=ie(n),v=o===i&&c!==a?o:f;e(v,_e,t.update,st),e(v,Be,t.update,st),l&&e(l,`hide.bs.${U}`,t.handleHide),r&&e(r,`hide.bs.${Z}`,t.handleHide)},Po=(t,s)=>{const e=[So,Ho],{element:n}=t;O(n,e[s?0:1],s||it(n,e[0])||""),Nt(n,e[s?1:0])};class Ct extends nt{constructor(e,n){super(e,n);d(this,"handleFocus",()=>ht(this.element));d(this,"handleShow",()=>this.show());d(this,"handleHide",()=>this.hide());d(this,"update",()=>{vs(this)});d(this,"toggle",()=>{const{tooltip:e}=this;e&&!he(this)?this.show():this.hide()});d(this,"handleTouch",({target:e})=>{const{tooltip:n,element:o}=this;n&&n.contains(e)||e===o||e&&o.contains(e)||this.hide()});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{element:o,options:i,btn:c}=this,{trigger:a}=i,r=!!(this.name!==Dt&&i.dismissible);a.includes("manual")||(this.enabled=!!e,a.split(" ").forEach(p=>{p===jo?(n(o,Mn,this.handleShow),n(o,Me,this.handleShow),r||(n(o,Ts,this.handleHide),n(E(o),ys,this.handleTouch,st))):p===N?n(o,p,r?this.handleShow:this.toggle):p===Es&&(n(o,$s,this.handleShow),r||n(o,On,this.handleHide),Zo&&n(o,N,this.handleFocus)),r&&c&&n(c,N,this.handleHide)}))});const{element:o}=this,i=this.name===Dt,c=i?lt:kt,a=i?Dt:Ke;mn=r=>F(r,a),this.enabled=!0,this.id=`${c}-${Wn(o,c)}`;const{options:l}=this;!l.title&&i||!i&&!l.content||(dt(bs,{titleAttr:""}),Ie(o,Ho)&&i&&typeof l.title=="string"&&Po(this,l.title),this.container=pc(o),this.offsetParent=["sticky","fixed"].some(r=>V(this.container,"position")===r)?this.container:E(this.element).body,gc(this),this._toggleEventListeners(!0))}get name(){return Dt}get defaults(){return bs}show(){const{options:e,tooltip:n,element:o,container:i,offsetParent:c,id:a}=this,{animation:l}=e,r=u.get(o,"out"),f=i===c?i:c;u.clear(o,"out"),n&&!r&&!he(this)&&u.set(o,()=>{const p=$(`show.bs.${se(this.name)}`);w(o,p),p.defaultPrevented||(ao(n,f),O(o,Nn,`#${a}`),this.update(),wn(this,!0),h(n,m)||g(n,m),l?x(n,()=>vn(this)):vn(this))},17,"in")}hide(){const{options:e,tooltip:n,element:o}=this,{animation:i,delay:c}=e;u.clear(o,"in"),n&&he(this)&&u.set(o,()=>{const a=$(`hide.bs.${se(this.name)}`);w(o,a),a.defaultPrevented||(this.update(),b(n,m),wn(this),i?x(n,()=>bn(this)):bn(this))},c+17,"out")}enable(){const{enabled:e}=this;e||(this._toggleEventListeners(!0),this.enabled=!e)}disable(){const{tooltip:e,options:n,enabled:o}=this,{animation:i}=n;o&&(e&&he(this)&&i?(this.hide(),x(e,()=>this._toggleEventListeners())):this._toggleEventListeners(),this.enabled=!o)}toggleEnabled(){this.enabled?this.disable():this.enable()}dispose(){const{tooltip:e,options:n}=this,o={...this,name:this.name},i=()=>setTimeout(()=>bc(o,()=>super.dispose()),17);n.animation&&he(o)?(this.options.delay=0,this.hide(),x(e,i)):i()}}d(Ct,"selector",uc),d(Ct,"init",mc),d(Ct,"getInstance",mn),d(Ct,"styleTip",vs);const wc=`[${ct}="${kt}"],[data-tip="${kt}"]`,Ec=dt({},bs,{template:yo(kt),content:"",dismissible:!1,btnClose:''}),$c=t=>F(t,Ke),Tc=t=>new At(t);class At extends Ct{constructor(e,n){super(e,n);d(this,"show",()=>{super.show();const{options:e,btn:n}=this;e.dismissible&&n&&setTimeout(()=>ht(n),17)})}get name(){return Ke}get defaults(){return Ec}}d(At,"selector",wc),d(At,"init",Tc),d(At,"getInstance",$c),d(At,"styleTip",vs);const yc="scrollspy",Do="ScrollSpy",Cc='[data-bs-spy="scroll"]',Sc={offset:10,target:null},Hc=t=>F(t,Do),xc=t=>new Gt(t),En=$(`activate.bs.${yc}`),Pc=t=>{const{target:s,scrollTarget:e,options:n,itemsLength:o,scrollHeight:i,element:c}=t,{offset:a}=n,l=Ss(e),r=s&&Hs("A",s),f=e?Ao(e):i;if(t.scrollTop=l?e.scrollY:e.scrollTop,r&&(f!==i||o!==r.length)){let p,v,D;t.items=[],t.offsets=[],t.scrollHeight=f,t.maxScroll=t.scrollHeight-Dc(t),[...r].forEach(q=>{p=it(q,"href"),v=p&&p.charAt(0)==="#"&&p.slice(-1)!=="#"&&P(p,E(c)),v&&(t.items.push(q),D=we(v),t.offsets.push((l?D.top+t.scrollTop:v.offsetTop)-a))}),t.itemsLength=t.items.length}},Ao=t=>y(t)?t.scrollHeight:ft(t).scrollHeight,Dc=({element:t,scrollTarget:s})=>Ss(s)?s.innerHeight:we(t).height,Lo=t=>{[...Hs("A",t)].forEach(s=>{h(s,C)&&b(s,C)})},$n=(t,s)=>{const{target:e,element:n}=t;y(e)&&Lo(e),t.activeItem=s,g(s,C);const o=[];let i=s;for(;i!==Ht(n);)i=i.parentElement,(h(i,"nav")||h(i,"dropdown-menu"))&&o.push(i);o.forEach(c=>{const a=c.previousElementSibling;a&&!h(a,C)&&g(a,C)}),En.relatedTarget=s,w(n,En)};class Gt extends nt{constructor(e,n){super(e,n);d(this,"refresh",()=>{const{target:e}=this;if(y(e)&&e.offsetHeight>0){Pc(this);const{scrollTop:n,maxScroll:o,itemsLength:i,items:c,activeItem:a}=this;if(n>=o){const r=c[i-1];a!==r&&$n(this,r);return}const{offsets:l}=this;if(a&&n0){this.activeItem=null,e&&Lo(e);return}c.forEach((r,f)=>{a!==r&&n>=l[f]&&(typeof l[f+1]>"u"||n{(e?_:B)(this.scrollTarget,Be,this.refresh,st)});const{element:o,options:i}=this;this.target=P(i.target,E(o)),this.target&&(this.scrollTarget=o.clientHeightF(t,Io),Ac=t=>new Jt(t),is=$(`show.bs.${$e}`),yn=$(`shown.bs.${$e}`),cs=$(`hide.bs.${$e}`),Cn=$(`hidden.bs.${$e}`),me=new Map,Sn=t=>{const{tabContent:s,nav:e}=t;s&&h(s,Ot)&&(s.style.height="",b(s,Ot)),e&&u.clear(e)},Hn=t=>{const{element:s,tabContent:e,content:n,nav:o}=t,{tab:i}=y(o)&&me.get(o)||{tab:null};if(e&&n&&h(n,R)){const{currentHeight:c,nextHeight:a}=me.get(s)||{currentHeight:0,nextHeight:0};c===a?Sn(t):setTimeout(()=>{e.style.height=`${a}px`,_t(e),x(e,()=>Sn(t))},50)}else o&&u.clear(o);yn.relatedTarget=i,w(s,yn)},xn=t=>{const{element:s,content:e,tabContent:n,nav:o}=t,{tab:i,content:c}=o&&me.get(o)||{tab:null,content:null};let a=0;if(n&&e&&h(e,R)&&([c,e].forEach(l=>{y(l)&&g(l,"overflow-hidden")}),a=y(c)?c.scrollHeight:0),is.relatedTarget=i,Cn.relatedTarget=s,w(s,is),!is.defaultPrevented){if(e&&g(e,C),c&&b(c,C),n&&e&&h(e,R)){const l=e.scrollHeight;me.set(s,{currentHeight:a,nextHeight:l,tab:null,content:null}),g(n,Ot),n.style.height=`${a}px`,_t(n),[c,e].forEach(r=>{r&&b(r,"overflow-hidden")})}e&&e&&h(e,R)?setTimeout(()=>{g(e,m),x(e,()=>{Hn(t)})},1):(e&&g(e,m),Hn(t)),i&&w(i,Cn)}},Pn=t=>{const{nav:s}=t;if(!y(s))return{tab:null,content:null};const e=rt(C,s);let n=null;e.length===1&&!Mt.some(i=>h(e[0].parentElement,i))?[n]=e:e.length>1&&(n=e[e.length-1]);const o=y(n)?X(n):null;return{tab:n,content:o}},Dn=t=>{if(!y(t))return null;const s=M(t,`.${Mt.join(",.")}`);return s?P(`.${Mt[0]}-toggle`,s):null},Lc=t=>{const s=ko(t.target);s&&(t.preventDefault(),s.show())};class Jt extends nt{constructor(e){super(e);d(this,"_toggleEventListeners",e=>{(e?_:B)(this.element,N,Lc)});const{element:n}=this,o=X(n);if(o){const i=M(n,".nav"),c=M(o,".tab-content");this.nav=i,this.content=o,this.tabContent=c,this.dropdown=Dn(n);const{tab:a}=Pn(this);if(i&&!a){const l=P(Tn,i),r=l&&X(l);r&&(g(l,C),g(r,m),g(r,C),O(n,Qe,"true"))}this._toggleEventListeners(!0)}}get name(){return Io}show(){const{element:e,content:n,nav:o,dropdown:i}=this;if(!(o&&u.get(o))&&!h(e,C)){const{tab:c,content:a}=Pn(this);if(o&&me.set(o,{tab:c,content:a,currentHeight:0,nextHeight:0}),cs.relatedTarget=e,y(c)&&(w(c,cs),!cs.defaultPrevented)){g(e,C),O(e,Qe,"true");const l=y(c)&&Dn(c);if(l&&h(l,C)&&b(l,C),o){const r=()=>{c&&(b(c,C),O(c,Qe,"false")),i&&!h(i,C)&&g(i,C)};a&&(h(a,R)||n&&h(n,R))?u.set(o,r,1):r()}a&&(b(a,m),h(a,R)?x(a,()=>xn(this)):xn(this))}}}dispose(){this._toggleEventListeners(),super.dispose()}}d(Jt,"selector",Tn),d(Jt,"init",Ac),d(Jt,"getInstance",ko);const G="toast",No="Toast",Ic=`.${G}`,kc=`[${We}="${G}"]`,Oo=`[${ct}="${G}"]`,oe="showing",Mo="hide",Nc={animation:!0,autohide:!0,delay:5e3},ks=t=>F(t,No),Oc=t=>new te(t),An=$(`show.bs.${G}`),Mc=$(`shown.bs.${G}`),Ln=$(`hide.bs.${G}`),_c=$(`hidden.bs.${G}`),In=t=>{const{element:s,options:e}=t;b(s,oe),u.clear(s,oe),w(s,Mc),e.autohide&&u.set(s,()=>t.hide(),e.delay,G)},kn=t=>{const{element:s}=t;b(s,oe),b(s,m),g(s,Mo),u.clear(s,G),w(s,_c)},Bc=t=>{const{element:s,options:e}=t;g(s,oe),e.animation?(_t(s),x(s,()=>kn(t))):kn(t)},Rc=t=>{const{element:s,options:e}=t;u.set(s,()=>{b(s,Mo),_t(s),g(s,m),g(s,oe),e.animation?x(s,()=>In(t)):In(t)},17,oe)},Wc=t=>{u.clear(t.element,G),t._toggleEventListeners()},Fc=t=>{const{target:s}=t,e=s&&M(s,Oo),n=e&&X(e),o=n&&ks(n);o&&(e&&e.tagName==="A"&&t.preventDefault(),o.relatedTarget=e,o.show())},jc=t=>{const s=t.target,e=ks(s),{type:n,relatedTarget:o}=t;e&&s!==o&&!s.contains(o)&&([Me,$s].includes(n)?u.clear(s,G):u.set(s,()=>e.hide(),e.options.delay,G))};class te extends nt{constructor(e,n){super(e,n);d(this,"show",()=>{const{element:e,isShown:n}=this;e&&!n&&(w(e,An),An.defaultPrevented||Rc(this))});d(this,"hide",()=>{const{element:e,isShown:n}=this;e&&n&&(w(e,Ln),Ln.defaultPrevented||Bc(this))});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{element:o,triggers:i,dismiss:c,options:a,hide:l}=this;c&&n(c,N,l),a.autohide&&[$s,On,Me,Ts].forEach(r=>n(o,r,jc)),i.length&&i.forEach(r=>n(r,N,Fc))});const{element:o,options:i}=this;i.animation&&!h(o,R)?g(o,R):!i.animation&&h(o,R)&&b(o,R),this.dismiss=P(kc,o),this.triggers=[...tt(Oo,E(o))].filter(c=>X(c)===o),this._toggleEventListeners(!0)}get name(){return No}get defaults(){return Nc}get isShown(){return h(this.element,m)}dispose(){const{element:e,isShown:n}=this;n&&b(e,m),Wc(this),super.dispose()}}d(te,"selector",Ic),d(te,"init",Oc),d(te,"getInstance",ks);const Ns=new Map;[Kt,Xt,Yt,Ut,qt,Qt,Zt,At,Gt,Jt,te,Ct].forEach(t=>Ns.set(t.prototype.name,t));const zc=(t,s)=>{[...s].forEach(e=>t(e))},Vc=(t,s)=>{const e=Lt.getAllFor(t);e&&[...e].forEach(([n,o])=>{s.contains(n)&&o.dispose()})},ws=t=>{const s=t&&t.nodeName?t:document,e=[...Hs("*",s)];Ns.forEach(n=>{const{init:o,selector:i}=n;zc(o,e.filter(c=>jn(c,i)))})},Kc=t=>{const s=t&&t.nodeName?t:document;Ns.forEach(e=>{Vc(e.prototype.name,s)})};document.body?ws():_(document,"DOMContentLoaded",()=>ws(),{once:!0});exports.Alert=Kt;exports.Button=Xt;exports.Carousel=Yt;exports.Collapse=Ut;exports.Dropdown=qt;exports.Modal=Qt;exports.Offcanvas=Zt;exports.Popover=At;exports.ScrollSpy=Gt;exports.Tab=Jt;exports.Toast=te;exports.Tooltip=Ct;exports.initCallback=ws;exports.removeDataAPI=Kc; //# sourceMappingURL=bootstrap-native.cjs.map diff --git a/dist/bootstrap-native.cjs.map b/dist/bootstrap-native.cjs.map index f6bd0764..8b94e486 100644 --- a/dist/bootstrap-native.cjs.map +++ b/dist/bootstrap-native.cjs.map @@ -1 +1 @@ -{"version":3,"file":"bootstrap-native.cjs","sources":["../node_modules/.pnpm/@thednp+shorty@2.0.0/node_modules/@thednp/shorty/dist/shorty.mjs","../node_modules/.pnpm/@thednp+event-listener@2.0.4/node_modules/@thednp/event-listener/dist/event-listener.mjs","../src/strings/fadeClass.ts","../src/strings/showClass.ts","../src/strings/dataBsDismiss.ts","../src/strings/alertString.ts","../src/strings/alertComponent.ts","../src/version.ts","../src/components/base-component.ts","../src/components/alert.ts","../src/strings/activeClass.ts","../src/strings/dataBsToggle.ts","../src/strings/buttonString.ts","../src/strings/buttonComponent.ts","../src/components/button.ts","../src/strings/dataBsTarget.ts","../src/strings/carouselString.ts","../src/strings/carouselComponent.ts","../src/strings/dataBsParent.ts","../src/strings/dataBsContainer.ts","../src/util/getTargetElement.ts","../src/components/carousel.ts","../src/strings/collapsingClass.ts","../src/strings/collapseString.ts","../src/strings/collapseComponent.ts","../src/components/collapse.ts","../src/strings/dropdownClasses.ts","../src/strings/dropdownComponent.ts","../src/strings/dropdownMenuClass.ts","../src/util/isEmptyAnchor.ts","../src/components/dropdown.ts","../src/strings/modalString.ts","../src/strings/modalComponent.ts","../src/strings/offcanvasComponent.ts","../src/strings/fixedTopClass.ts","../src/strings/fixedBottomClass.ts","../src/strings/stickyTopClass.ts","../src/strings/positionStickyClass.ts","../src/util/scrollbar.ts","../src/strings/offcanvasString.ts","../src/util/popupContainer.ts","../src/util/backdrop.ts","../src/util/isVisible.ts","../src/components/modal.ts","../src/components/offcanvas.ts","../src/strings/popoverString.ts","../src/strings/popoverComponent.ts","../src/strings/tooltipString.ts","../src/util/getTipTemplate.ts","../src/util/tipClassPositions.ts","../src/util/styleTip.ts","../src/util/tooltipDefaults.ts","../src/strings/dataOriginalTitle.ts","../src/strings/tooltipComponent.ts","../src/util/setHtml.ts","../src/util/createTip.ts","../src/util/getElementContainer.ts","../src/components/tooltip.ts","../src/components/popover.ts","../src/strings/scrollspyString.ts","../src/strings/scrollspyComponent.ts","../src/components/scrollspy.ts","../src/strings/tabString.ts","../src/strings/tabComponent.ts","../src/components/tab.ts","../src/strings/toastString.ts","../src/strings/toastComponent.ts","../src/components/toast.ts","../src/util/init.ts"],"sourcesContent":["const pe = \"aria-checked\", me = \"aria-description\", fe = \"aria-describedby\", ge = \"aria-expanded\", ve = \"aria-haspopup\", Ee = \"aria-hidden\", be = \"aria-label\", he = \"aria-labelledby\", ye = \"aria-modal\", we = \"aria-pressed\", Ae = \"aria-selected\", Se = \"aria-valuemin\", Ne = \"aria-valuemax\", ke = \"aria-valuenow\", Me = \"aria-valuetext\", q = \"abort\", G = \"beforeunload\", J = \"blur\", K = \"change\", X = \"contextmenu\", P = \"DOMContentLoaded\", Y = \"DOMMouseScroll\", Z = \"error\", $ = \"focus\", _ = \"focusin\", tt = \"focusout\", et = \"gesturechange\", nt = \"gestureend\", ot = \"gesturestart\", st = \"keydown\", ct = \"keypress\", rt = \"keyup\", at = \"load\", it = \"click\", ut = \"dblclick\", lt = \"mousedown\", dt = \"mouseup\", pt = \"hover\", mt = \"mouseenter\", ft = \"mouseleave\", gt = \"mousein\", vt = \"mouseout\", Et = \"mouseover\", bt = \"mousemove\", ht = \"mousewheel\", yt = \"move\", wt = \"orientationchange\", At = \"pointercancel\", St = \"pointerdown\", Nt = \"pointerleave\", kt = \"pointermove\", Mt = \"pointerup\", Tt = \"readystatechange\", Dt = \"reset\", Ct = \"resize\", Ot = \"select\", Lt = \"selectend\", It = \"selectstart\", zt = \"scroll\", xt = \"submit\", Vt = \"touchstart\", Bt = \"touchmove\", Ht = \"touchcancel\", Pt = \"touchend\", Ft = \"unload\", Te = {\n DOMContentLoaded: P,\n DOMMouseScroll: Y,\n abort: q,\n beforeunload: G,\n blur: J,\n change: K,\n click: it,\n contextmenu: X,\n dblclick: ut,\n error: Z,\n focus: $,\n focusin: _,\n focusout: tt,\n gesturechange: et,\n gestureend: nt,\n gesturestart: ot,\n hover: pt,\n keydown: st,\n keypress: ct,\n keyup: rt,\n load: at,\n mousedown: lt,\n mousemove: bt,\n mousein: gt,\n mouseout: vt,\n mouseenter: mt,\n mouseleave: ft,\n mouseover: Et,\n mouseup: dt,\n mousewheel: ht,\n move: yt,\n orientationchange: wt,\n pointercancel: At,\n pointerdown: St,\n pointerleave: Nt,\n pointermove: kt,\n pointerup: Mt,\n readystatechange: Tt,\n reset: Dt,\n resize: Ct,\n scroll: zt,\n select: Ot,\n selectend: Lt,\n selectstart: It,\n submit: xt,\n touchcancel: Ht,\n touchend: Pt,\n touchmove: Bt,\n touchstart: Vt,\n unload: Ft\n}, De = \"drag\", Ce = \"dragstart\", Oe = \"dragenter\", Le = \"dragleave\", Ie = \"dragover\", ze = \"dragend\", xe = \"loadstart\", Ve = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, Be = { down: \"mousedown\", up: \"mouseup\" }, He = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : (\n /* istanbul ignore next */\n [\"mouseover\", \"mouseout\"]\n), Pe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, Fe = { in: \"focusin\", out: \"focusout\" }, Ue = {\n Backspace: \"Backspace\",\n // 8\n Tab: \"Tab\",\n // 9\n Enter: \"Enter\",\n // 13\n Shift: \"Shift\",\n // 16\n Control: \"Control\",\n // 17\n Alt: \"Alt\",\n // 18\n Pause: \"Pause\",\n // 19\n CapsLock: \"CapsLock\",\n // 20\n Escape: \"Escape\",\n // 27\n Scape: \"Space\",\n // 32\n ArrowLeft: \"ArrowLeft\",\n // 37\n ArrowUp: \"ArrowUp\",\n // 38\n ArrowRight: \"ArrowRight\",\n // 39\n ArrowDown: \"ArrowDown\",\n // 40\n Insert: \"Insert\",\n // 45\n Delete: \"Delete\",\n // 46\n Meta: \"Meta\",\n // 91 windows key\n ContextMenu: \"ContextMenu\",\n // 93\n ScrollLock: \"ScrollLock\"\n // 145\n}, We = \"Alt\", Re = \"ArrowDown\", Qe = \"ArrowUp\", je = \"ArrowLeft\", qe = \"ArrowRight\", Ge = \"Backspace\", Je = \"CapsLock\", Ke = \"Control\", Xe = \"Delete\", Ye = \"Enter\", Ze = \"NumpadEnter\", $e = \"Escape\", _e = \"Insert\", tn = \"Meta\", en = \"Pause\", nn = \"ScrollLock\", on = \"Shift\", sn = \"Space\", cn = \"Tab\", Ut = \"animationDuration\", Wt = \"animationDelay\", F = \"animationName\", D = \"animationend\", Rt = \"transitionDuration\", Qt = \"transitionDelay\", C = \"transitionend\", U = \"transitionProperty\", rn = \"addEventListener\", an = \"removeEventListener\", un = {\n linear: \"linear\",\n easingSinusoidalIn: \"cubic-bezier(0.47,0,0.745,0.715)\",\n easingSinusoidalOut: \"cubic-bezier(0.39,0.575,0.565,1)\",\n easingSinusoidalInOut: \"cubic-bezier(0.445,0.05,0.55,0.95)\",\n easingQuadraticIn: \"cubic-bezier(0.550,0.085,0.680,0.530)\",\n easingQuadraticOut: \"cubic-bezier(0.250,0.460,0.450,0.940)\",\n easingQuadraticInOut: \"cubic-bezier(0.455,0.030,0.515,0.955)\",\n easingCubicIn: \"cubic-bezier(0.55,0.055,0.675,0.19)\",\n easingCubicOut: \"cubic-bezier(0.215,0.61,0.355,1)\",\n easingCubicInOut: \"cubic-bezier(0.645,0.045,0.355,1)\",\n easingQuarticIn: \"cubic-bezier(0.895,0.03,0.685,0.22)\",\n easingQuarticOut: \"cubic-bezier(0.165,0.84,0.44,1)\",\n easingQuarticInOut: \"cubic-bezier(0.77,0,0.175,1)\",\n easingQuinticIn: \"cubic-bezier(0.755,0.05,0.855,0.06)\",\n easingQuinticOut: \"cubic-bezier(0.23,1,0.32,1)\",\n easingQuinticInOut: \"cubic-bezier(0.86,0,0.07,1)\",\n easingExponentialIn: \"cubic-bezier(0.95,0.05,0.795,0.035)\",\n easingExponentialOut: \"cubic-bezier(0.19,1,0.22,1)\",\n easingExponentialInOut: \"cubic-bezier(1,0,0,1)\",\n easingCircularIn: \"cubic-bezier(0.6,0.04,0.98,0.335)\",\n easingCircularOut: \"cubic-bezier(0.075,0.82,0.165,1)\",\n easingCircularInOut: \"cubic-bezier(0.785,0.135,0.15,0.86)\",\n easingBackIn: \"cubic-bezier(0.6,-0.28,0.735,0.045)\",\n easingBackOut: \"cubic-bezier(0.175,0.885,0.32,1.275)\",\n easingBackInOut: \"cubic-bezier(0.68,-0.55,0.265,1.55)\"\n}, ln = \"offsetHeight\", dn = \"offsetWidth\", pn = \"scrollHeight\", mn = \"scrollWidth\", fn = \"tabindex\", jt = navigator.userAgentData, A = jt, { userAgent: qt } = navigator, S = qt, z = /iPhone|iPad|iPod|Android/i;\nlet O = !1;\nA ? O = A.brands.some((t) => z.test(t.brand)) : O = z.test(S);\nconst gn = O, x = /(iPhone|iPod|iPad)/, vn = A ? A.brands.some((t) => x.test(t.brand)) : (\n /* istanbul ignore next */\n x.test(S)\n), En = S ? S.includes(\"Firefox\") : (\n /* istanbul ignore next */\n !1\n), { head: N } = document, bn = [\"webkitPerspective\", \"perspective\"].some((t) => t in N.style), Gt = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(e, n, s);\n}, Jt = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(e, n, s);\n}, Kt = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Jt(t, e, s, o));\n };\n Gt(t, e, s, o);\n}, Xt = () => {\n}, hn = (() => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n Kt(document, P, Xt, e);\n } catch {\n }\n return t;\n})(), yn = [\"webkitTransform\", \"transform\"].some((t) => t in N.style), wn = \"ontouchstart\" in window || /* istanbul ignore next */\n\"msMaxTouchPoints\" in navigator, An = [\"webkitAnimation\", \"animation\"].some((t) => t in N.style), Sn = [\"webkitTransition\", \"transition\"].some((t) => t in N.style), Yt = (t, e) => t.getAttribute(e), Nn = (t, e, n) => e.getAttributeNS(t, n), kn = (t, e) => t.hasAttribute(e), Mn = (t, e, n) => e.hasAttributeNS(t, n), Tn = (t, e, n) => t.setAttribute(e, n), Dn = (t, e, n, o) => e.setAttributeNS(t, n, o), Cn = (t, e) => t.removeAttribute(e), On = (t, e, n) => e.removeAttributeNS(t, n), Ln = (t, ...e) => {\n t.classList.add(...e);\n}, In = (t, ...e) => {\n t.classList.remove(...e);\n}, zn = (t, e) => t.classList.contains(e), { body: xn } = document, { documentElement: Vn } = document, Bn = (t) => Array.from(t), v = (t) => t != null && typeof t == \"object\" || !1, i = (t) => v(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some((e) => t.nodeType === e) || !1, u = (t) => i(t) && t.nodeType === 1 || !1, E = /* @__PURE__ */ new Map(), L = {\n data: E,\n /**\n * Sets web components data.\n *\n * @param element target element\n * @param component the component's name or a unique key\n * @param instance the component instance\n */\n set: (t, e, n) => {\n if (!u(t))\n return;\n E.has(e) || E.set(e, /* @__PURE__ */ new Map()), E.get(e).set(t, n);\n },\n /**\n * Returns all instances for specified component.\n *\n * @param component the component's name or a unique key\n * @returns all the component instances\n */\n getAllFor: (t) => E.get(t) || null,\n /**\n * Returns the instance associated with the target.\n *\n * @param element target element\n * @param component the component's name or a unique key\n * @returns the instance\n */\n get: (t, e) => {\n if (!u(t) || !e)\n return null;\n const n = L.getAllFor(e);\n return t && n && n.get(t) || null;\n },\n /**\n * Removes web components data.\n *\n * @param element target element\n * @param component the component's name or a unique key\n */\n remove: (t, e) => {\n const n = L.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && E.delete(e));\n }\n}, Hn = (t, e) => L.get(t, e), k = (t) => typeof t == \"string\" || !1, W = (t) => v(t) && t.constructor.name === \"Window\" || !1, R = (t) => i(t) && t.nodeType === 9 || !1, d = (t) => W(t) ? t.document : R(t) ? t : i(t) ? t.ownerDocument : window.document, M = (t, ...e) => Object.assign(t, ...e), Zt = (t) => {\n if (!t)\n return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = Zt(e);\n if (!n)\n return;\n const o = { ...t };\n return delete o.tagName, M(n, o);\n}, $t = (t, e) => {\n if (!t || !e)\n return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = $t(t, n);\n if (!o)\n return;\n const s = { ...e };\n return delete s.tagName, M(o, s);\n}, Q = (t, e) => t.dispatchEvent(e), Pn = (t, e, n) => n.indexOf(t) === e, g = (t, e) => {\n const n = getComputedStyle(t), o = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return n.getPropertyValue(o);\n}, _t = (t) => {\n const e = g(t, F), n = g(t, Wt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, te = (t) => {\n const e = g(t, F), n = g(t, Ut), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, Fn = (t, e) => {\n let n = 0;\n const o = new Event(D), s = te(t), r = _t(t);\n if (s) {\n const a = (l) => {\n l.target === t && (e.apply(t, [l]), t.removeEventListener(D, a), n = 1);\n };\n t.addEventListener(D, a), setTimeout(() => {\n n || Q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ee = (t) => {\n const e = g(t, U), n = g(t, Qt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : (\n /* istanbul ignore next */\n 0\n );\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, ne = (t) => {\n const e = g(t, U), n = g(t, Rt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : (\n /* istanbul ignore next */\n 0\n );\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, Un = (t, e) => {\n let n = 0;\n const o = new Event(C), s = ne(t), r = ee(t);\n if (s) {\n const a = (l) => {\n l.target === t && (e.apply(t, [l]), t.removeEventListener(C, a), n = 1);\n };\n t.addEventListener(C, a), setTimeout(() => {\n n || Q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, Wn = (t) => Float32Array.from(Array.from(t)), Rn = (t) => Float64Array.from(Array.from(t)), Qn = (t, e) => t.focus(e), V = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, w = (t) => Object.entries(t), oe = (t) => t.toLowerCase(), jn = (t, e, n, o) => {\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, l = {}, p = \"title\";\n return w(r).forEach(([c, m]) => {\n const y = o && typeof c == \"string\" && c.includes(o) ? c.replace(o, \"\").replace(/[A-Z]/g, (j) => oe(j)) : c;\n l[y] = V(m);\n }), w(s).forEach(([c, m]) => {\n s[c] = V(m);\n }), w(e).forEach(([c, m]) => {\n c in s ? a[c] = s[c] : c in l ? a[c] = l[c] : a[c] = c === p ? Yt(t, p) : m;\n }), a;\n}, qn = (t, e) => v(t) && (Object.hasOwn(t, e) || e in t), Gn = (t) => Object.keys(t), Jn = (t) => Object.values(t), Kn = (t) => Object.fromEntries(t), Xn = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return v(e) && M(n, e), n;\n}, Yn = { passive: !0 }, Zn = (t) => t.offsetHeight, $n = (t, e) => {\n w(e).forEach(([n, o]) => {\n if (o && k(n) && n.includes(\"--\"))\n t.style.setProperty(n, o);\n else {\n const s = {};\n s[n] = o, M(t.style, s);\n }\n });\n}, I = (t) => v(t) && t.constructor.name === \"Map\" || !1, se = (t) => typeof t == \"number\" || !1, f = /* @__PURE__ */ new Map(), _n = {\n /**\n * Sets a new timeout timer for an element, or element -> key association.\n *\n * @param element target element\n * @param callback the callback\n * @param delay the execution delay\n * @param key a unique key\n */\n set: (t, e, n, o) => {\n u(t) && (o && o.length ? (f.has(t) || f.set(t, /* @__PURE__ */ new Map()), f.get(t).set(o, setTimeout(e, n))) : f.set(t, setTimeout(e, n)));\n },\n /**\n * Returns the timer associated with the target.\n *\n * @param element target element\n * @param key a unique\n * @returns the timer\n */\n get: (t, e) => {\n if (!u(t))\n return null;\n const n = f.get(t);\n return e && n && I(n) ? n.get(e) || /* istanbul ignore next */\n null : se(n) ? n : null;\n },\n /**\n * Clears the element's timer.\n *\n * @param element target element\n * @param key a unique key\n */\n clear: (t, e) => {\n if (!u(t))\n return;\n const n = f.get(t);\n e && e.length && I(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && f.delete(t)) : (clearTimeout(n), f.delete(t));\n }\n}, to = (t) => t.toUpperCase(), h = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: l } = t.getBoundingClientRect();\n let p = 1, c = 1;\n if (e && u(t)) {\n const { offsetWidth: m, offsetHeight: y } = t;\n p = m > 0 ? Math.round(n) / m : (\n /* istanbul ignore next */\n 1\n ), c = y > 0 ? Math.round(o) / y : (\n /* istanbul ignore next */\n 1\n );\n }\n return {\n width: n / p,\n height: o / c,\n top: s / c,\n right: r / p,\n bottom: a / c,\n left: l / p,\n x: l / p,\n y: s / c\n };\n}, eo = (t) => d(t).body, T = (t) => d(t).documentElement, no = (t) => d(t).head, oo = (t) => {\n const e = W(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, ce = (t) => i(t) && t.constructor.name === \"ShadowRoot\" || !1, so = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || // step into the shadow DOM of the parent of a slotted node\ni(t) && t.parentNode || // DOM Element detected\nce(t) && t.host || // ShadowRoot detected\nT(t), re = (t) => {\n if (!u(t))\n return !1;\n const { width: e, height: n } = h(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, co = (t, e, n) => {\n const o = u(e), s = h(t, o && re(e)), r = { x: 0, y: 0 };\n if (o) {\n const a = h(e, !0);\n r.x = a.x + e.clientLeft, r.y = a.y + e.clientTop;\n }\n return {\n x: s.left + n.x - r.x,\n y: s.top + n.y - r.y,\n width: s.width,\n height: s.height\n };\n};\nlet B = 0, H = 0;\nconst b = /* @__PURE__ */ new Map(), ae = (t, e) => {\n let n = e ? B : H;\n if (e) {\n const o = ae(t), s = b.get(o) || /* @__PURE__ */ new Map();\n b.has(o) || b.set(o, s), I(s) && !s.has(e) ? (s.set(e, n), B += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n b.has(o) ? n = b.get(o) : (b.set(o, n), H += 1);\n }\n return n;\n}, ro = (t) => {\n var e;\n return t ? R(t) ? t.defaultView : i(t) ? (e = t == null ? void 0 : t.ownerDocument) == null ? void 0 : e.defaultView : t : window;\n}, ie = (t) => Array.isArray(t) || !1, ao = (t) => i(t) && t.nodeName === \"CANVAS\" || !1, ue = (t) => u(t) && !!t.shadowRoot || !1, io = (t) => i(t) && [1, 2, 3, 4, 5, 6, 7, 8].some((e) => t.nodeType === e) || !1, uo = (t) => {\n if (!i(t))\n return !1;\n const { top: e, bottom: n } = h(t), { clientHeight: o } = T(t);\n return e <= o && n >= 0;\n}, lo = (t) => {\n if (!i(t))\n return !1;\n const { clientWidth: e, clientHeight: n } = T(t), { top: o, left: s, bottom: r, right: a } = h(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, po = (t) => ie(t) && t.every(u) || !1, mo = (t) => typeof t == \"function\" || !1, fo = (t) => v(t) && t.constructor.name === \"HTMLCollection\" || !1, go = (t) => u(t) && t.tagName === \"IMG\" || !1, vo = (t) => {\n if (!k(t))\n return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Eo = (t) => v(t) && t.constructor.name === \"WeakMap\" || !1, bo = (t) => i(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some((e) => t.constructor.name.includes(e)) || !1, ho = (t) => v(t) && t.constructor.name === \"NodeList\" || !1, yo = (t) => T(t).dir === \"rtl\", wo = (t) => i(t) && t.constructor.name.includes(\"SVG\") || !1, Ao = (t) => i(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, le = (t, e) => t ? t.closest(e) || // break out of `ShadowRoot`\nle(t.getRootNode().host, e) : null, So = (t, e) => u(t) ? t : (i(e) ? e : d()).querySelector(t), de = (t, e) => (i(e) ? e : d()).getElementsByTagName(t), No = (t) => [...de(\"*\", t)].filter(ue), ko = (t, e) => d(e).getElementById(t) || null, Mo = (t, e) => (i(e) ? e : d()).querySelectorAll(t), To = (t, e) => (e && i(e) ? e : d()).getElementsByClassName(\n t\n), Do = (t, e) => t.matches(e), Co = \"2.0.0\";\nexport {\n Bn as ArrayFrom,\n P as DOMContentLoadedEvent,\n Y as DOMMouseScrollEvent,\n L as Data,\n Wn as Float32ArrayFrom,\n Rn as Float64ArrayFrom,\n M as ObjectAssign,\n w as ObjectEntries,\n Kn as ObjectFromEntries,\n qn as ObjectHasOwn,\n Gn as ObjectKeys,\n Jn as ObjectValues,\n _n as Timer,\n q as abortEvent,\n Ln as addClass,\n rn as addEventListener,\n Wt as animationDelay,\n Ut as animationDuration,\n D as animationEndEvent,\n F as animationName,\n pe as ariaChecked,\n fe as ariaDescribedBy,\n me as ariaDescription,\n ge as ariaExpanded,\n ve as ariaHasPopup,\n Ee as ariaHidden,\n be as ariaLabel,\n he as ariaLabelledBy,\n ye as ariaModal,\n we as ariaPressed,\n Ae as ariaSelected,\n Ne as ariaValueMax,\n Se as ariaValueMin,\n ke as ariaValueNow,\n Me as ariaValueText,\n G as beforeunloadEvent,\n un as bezierEasings,\n J as blurEvent,\n K as changeEvent,\n le as closest,\n X as contextmenuEvent,\n Xn as createCustomEvent,\n Zt as createElement,\n $t as createElementNS,\n Q as dispatchEvent,\n Pn as distinct,\n xn as documentBody,\n Vn as documentElement,\n N as documentHead,\n De as dragEvent,\n ze as dragendEvent,\n Oe as dragenterEvent,\n Le as dragleaveEvent,\n Ie as dragoverEvent,\n Ce as dragstartEvent,\n Fn as emulateAnimationEnd,\n Un as emulateTransitionEnd,\n Z as errorEvent,\n Qn as focus,\n $ as focusEvent,\n Fe as focusEvents,\n _ as focusinEvent,\n tt as focusoutEvent,\n et as gesturechangeEvent,\n nt as gestureendEvent,\n ot as gesturestartEvent,\n Yt as getAttribute,\n Nn as getAttributeNS,\n h as getBoundingClientRect,\n No as getCustomElements,\n d as getDocument,\n eo as getDocumentBody,\n T as getDocumentElement,\n no as getDocumentHead,\n _t as getElementAnimationDelay,\n te as getElementAnimationDuration,\n ko as getElementById,\n g as getElementStyle,\n ee as getElementTransitionDelay,\n ne as getElementTransitionDuration,\n To as getElementsByClassName,\n de as getElementsByTagName,\n Hn as getInstance,\n oo as getNodeScroll,\n so as getParentNode,\n co as getRectRelativeToOffsetParent,\n ae as getUID,\n ro as getWindow,\n kn as hasAttribute,\n Mn as hasAttributeNS,\n zn as hasClass,\n vn as isApple,\n ie as isArray,\n ao as isCanvas,\n ue as isCustomElement,\n R as isDocument,\n io as isElement,\n uo as isElementInScrollRange,\n lo as isElementInViewport,\n po as isElementsArray,\n En as isFirefox,\n mo as isFunction,\n fo as isHTMLCollection,\n u as isHTMLElement,\n go as isHTMLImageElement,\n vo as isJSON,\n I as isMap,\n bo as isMedia,\n gn as isMobile,\n i as isNode,\n ho as isNodeList,\n se as isNumber,\n v as isObject,\n yo as isRTL,\n wo as isSVGElement,\n re as isScaledElement,\n ce as isShadowRoot,\n k as isString,\n Ao as isTableElement,\n Eo as isWeakMap,\n W as isWindow,\n We as keyAlt,\n Re as keyArrowDown,\n je as keyArrowLeft,\n qe as keyArrowRight,\n Qe as keyArrowUp,\n Ge as keyBackspace,\n Je as keyCapsLock,\n Ke as keyControl,\n Xe as keyDelete,\n Ye as keyEnter,\n $e as keyEscape,\n _e as keyInsert,\n tn as keyMeta,\n Ze as keyNumpadEnter,\n en as keyPause,\n nn as keyScrollLock,\n on as keyShift,\n sn as keySpace,\n cn as keyTab,\n Ue as keyboardEventKeys,\n st as keydownEvent,\n ct as keypressEvent,\n rt as keyupEvent,\n at as loadEvent,\n xe as loadstartEvent,\n Do as matches,\n Be as mouseClickEvents,\n He as mouseHoverEvents,\n Ve as mouseSwipeEvents,\n it as mouseclickEvent,\n ut as mousedblclickEvent,\n lt as mousedownEvent,\n mt as mouseenterEvent,\n pt as mousehoverEvent,\n gt as mouseinEvent,\n ft as mouseleaveEvent,\n bt as mousemoveEvent,\n vt as mouseoutEvent,\n Et as mouseoverEvent,\n dt as mouseupEvent,\n ht as mousewheelEvent,\n yt as moveEvent,\n Te as nativeEvents,\n Xt as noop,\n jn as normalizeOptions,\n V as normalizeValue,\n Jt as off,\n ln as offsetHeight,\n dn as offsetWidth,\n Gt as on,\n Kt as one,\n wt as orientationchangeEvent,\n Yn as passiveHandler,\n At as pointercancelEvent,\n St as pointerdownEvent,\n Nt as pointerleaveEvent,\n kt as pointermoveEvent,\n Mt as pointerupEvent,\n So as querySelector,\n Mo as querySelectorAll,\n Tt as readystatechangeEvent,\n Zn as reflow,\n Cn as removeAttribute,\n On as removeAttributeNS,\n In as removeClass,\n an as removeEventListener,\n Dt as resetEvent,\n Ct as resizeEvent,\n zt as scrollEvent,\n pn as scrollHeight,\n mn as scrollWidth,\n Ot as selectEvent,\n Lt as selectendEvent,\n It as selectstartEvent,\n Tn as setAttribute,\n Dn as setAttributeNS,\n $n as setElementStyle,\n xt as submitEvent,\n bn as support3DTransform,\n An as supportAnimation,\n hn as supportPassive,\n wn as supportTouch,\n yn as supportTransform,\n Sn as supportTransition,\n fn as tabindex,\n oe as toLowerCase,\n to as toUpperCase,\n Pe as touchEvents,\n Ht as touchcancelEvent,\n Pt as touchendEvent,\n Bt as touchmoveEvent,\n Vt as touchstartEvent,\n Qt as transitionDelay,\n Rt as transitionDuration,\n C as transitionEndEvent,\n U as transitionProperty,\n Ft as unloadEvent,\n S as userAgent,\n A as userAgentData,\n Co as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const e = {}, f = (t) => {\n const { type: c, currentTarget: i } = t;\n [...e[c]].forEach(([n, s]) => {\n i === n && [...s].forEach(([o, a]) => {\n o.apply(n, [t]), typeof a == \"object\" && a.once && r(n, c, o, a);\n });\n });\n}, E = (t, c, i, n) => {\n e[c] || (e[c] = /* @__PURE__ */ new Map());\n const s = e[c];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(t), { size: a } = o;\n o.set(i, n), a || t.addEventListener(c, f, n);\n}, r = (t, c, i, n) => {\n const s = e[c], o = s && s.get(t), a = o && o.get(i), d = a !== void 0 ? a : n;\n o && o.has(i) && o.delete(i), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[c], (!o || !o.size) && t.removeEventListener(\n c,\n f,\n d\n );\n}, g = E, M = r;\nexport {\n E as addListener,\n f as globalListener,\n M as off,\n g as on,\n e as registry,\n r as removeListener\n};\n//# sourceMappingURL=event-listener.mjs.map\n","/**\n * Global namespace for most components `fade` class.\n */\nconst fadeClass = 'fade';\nexport default fadeClass;\n","/**\n * Global namespace for most components `show` class.\n */\nconst showClass = 'show';\nexport default showClass;\n","/**\n * Global namespace for most components `dismiss` option.\n */\nconst dataBsDismiss = 'data-bs-dismiss';\nexport default dataBsDismiss;\n","/** @type {string} */\nconst alertString = 'alert';\nexport default alertString;\n","/** @type {string} */\nconst alertComponent = 'Alert';\nexport default alertComponent;\n","import { version } from '../package.json';\n\nconst Version = version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport { querySelector, normalizeOptions, Data, ObjectKeys, isString } from '@thednp/shorty';\n\nimport type { BaseOptions } from '../interface/baseComponent';\nimport Version from '../version';\n\n/** Returns a new `BaseComponent` instance. */\nexport default class BaseComponent {\n declare element: HTMLElement;\n declare options?: BaseOptions;\n\n /**\n * @param target `HTMLElement` or selector string\n * @param config component instance options\n */\n constructor(target: HTMLElement | string, config?: BaseOptions) {\n const element = querySelector(target);\n\n if (!element) {\n if (isString(target)) {\n throw Error(`${this.name} Error: \"${target}\" is not a valid selector.`);\n } else {\n throw Error(`${this.name} Error: your target is not an instance of HTMLElement.`);\n }\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else */\n if (prevInstance) {\n // remove previously attached event listeners\n // to avoid memory leaks\n prevInstance._toggleEventListeners();\n }\n\n this.element = element;\n this.options =\n this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, 'bs')\n : {};\n\n Data.set(element, this.name, this);\n }\n\n /* istanbul ignore next */\n get version() {\n return Version;\n }\n\n /* istanbul ignore next */\n get name() {\n return 'BaseComponent';\n }\n\n /* istanbul ignore next */\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n _toggleEventListeners = () => {\n // do something to please linters\n };\n\n /** Removes component from target element. */\n dispose() {\n Data.remove(this.element, this.name);\n ObjectKeys(this).forEach(prop => {\n delete this[prop];\n });\n }\n}\n","/* Native JavaScript for Bootstrap 5 | Alert\n-------------------------------------------- */\nimport {\n emulateTransitionEnd,\n mouseclickEvent,\n getInstance,\n querySelector,\n hasClass,\n removeClass,\n dispatchEvent,\n createCustomEvent,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport alertString from '../strings/alertString';\nimport alertComponent from '../strings/alertComponent';\nimport type { AlertEvent } from '../interface/alert';\n\nimport BaseComponent from './base-component';\n\n// ALERT PRIVATE GC\n// ================\nconst alertSelector = `.${alertString}`;\nconst alertDismissSelector = `[${dataBsDismiss}=\"${alertString}\"]`;\n\n/**\n * Static method which returns an existing `Alert` instance associated\n * to a target `Element`.\n *\n */\nconst getAlertInstance = (element: HTMLElement) => getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: HTMLElement) => new Alert(element) as T;\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent(`close.bs.${alertString}`);\nconst closedAlertEvent = createCustomEvent(`closed.bs.${alertString}`);\n\n// ALERT EVENT HANDLER\n// ===================\n/**\n * Alert `transitionend` callback.\n *\n * @param that target Alert instance\n */\nconst alertTransitionEnd = (self: Alert) => {\n const { element } = self;\n dispatchEvent(element, closedAlertEvent);\n\n self._toggleEventListeners();\n self.dispose();\n element.remove();\n};\n\n// ALERT DEFINITION\n// ================\n/** Creates a new Alert instance. */\nexport default class Alert extends BaseComponent {\n static selector = alertSelector;\n static init = alertInitCallback;\n static getInstance = getAlertInstance;\n dismiss: HTMLElement | null;\n\n constructor(target: HTMLElement | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(alertDismissSelector, this.element);\n\n // add event listener\n this._toggleEventListeners(true);\n }\n\n /** Returns component name string. */\n get name() {\n return alertComponent;\n }\n\n // ALERT PUBLIC METHODS\n // ====================\n /**\n * Public method that hides the `.alert` element from the user,\n * disposes the instance once animation is complete, then\n * removes the element from the DOM.\n */\n close = () => {\n const { element } = this;\n\n /* istanbul ignore else */\n if (element && hasClass(element, showClass)) {\n dispatchEvent(element, closeAlertEvent);\n\n if (!closeAlertEvent.defaultPrevented) {\n removeClass(element, showClass);\n\n if (hasClass(element, fadeClass)) {\n emulateTransitionEnd(element, () => alertTransitionEnd(this));\n } else alertTransitionEnd(this);\n }\n }\n };\n /**\n * Toggle on / off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { dismiss, close } = this;\n /* istanbul ignore else */\n if (dismiss) action(dismiss, mouseclickEvent, close);\n };\n\n /** Remove the component from target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/**\n * Global namespace for most components active class.\n */\nconst activeClass = 'active';\nexport default activeClass;\n","/**\n * Global namespace for most components `toggle` option.\n */\nconst dataBsToggle = 'data-bs-toggle';\nexport default dataBsToggle;\n","/** @type {string} */\nconst buttonString = 'button';\nexport default buttonString;\n","/** @type {string} */\nconst buttonComponent = 'Button';\nexport default buttonComponent;\n","/* Native JavaScript for Bootstrap 5 | Button\n---------------------------------------------*/\nimport {\n getInstance,\n removeClass,\n hasClass,\n addClass,\n setAttribute,\n mouseclickEvent,\n ariaPressed,\n getAttribute,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport buttonString from '../strings/buttonString';\nimport buttonComponent from '../strings/buttonComponent';\n\nimport BaseComponent from './base-component';\n\n// BUTTON PRIVATE GC\n// =================\nconst buttonSelector = `[${dataBsToggle}=\"${buttonString}\"]`;\n\n/**\n * Static method which returns an existing `Button` instance associated\n * to a target `Element`.\n */\nconst getButtonInstance = (element: HTMLElement) => getInstance',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n *\n */\nconst getPopoverInstance = (element: HTMLElement) => getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: HTMLElement) => new Popover(element);\n\n// POPOVER DEFINITION\n// ==================\n/** Returns a new `Popover` instance. */\nexport default class Popover extends Tooltip {\n static selector = popoverSelector;\n static init = popoverInitCallback;\n static getInstance = getPopoverInstance;\n static styleTip = styleTip;\n declare options: PopoverOptions;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return popoverComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return popoverDefaults;\n }\n\n /* extend original `show()` */\n show = () => {\n super.show();\n // btn only exists within dismissible popover\n const { options, btn } = this;\n /* istanbul ignore else */\n if (options.dismissible && btn) setTimeout(() => focus(btn), 17);\n };\n}\n","/** @type {string} */\nconst scrollspyString = 'scrollspy';\nexport default scrollspyString;\n","/** @type {string} */\nconst scrollspyComponent = 'ScrollSpy';\nexport default scrollspyComponent;\n","/* Native JavaScript for Bootstrap 5 | ScrollSpy\n------------------------------------------------ */\nimport {\n getDocumentBody,\n getDocumentElement,\n getDocument,\n getWindow,\n removeClass,\n hasClass,\n addClass,\n getElementsByTagName,\n getAttribute,\n querySelector,\n isHTMLElement,\n isWindow,\n createCustomEvent,\n getInstance,\n scrollEvent,\n passiveHandler,\n dispatchEvent,\n getBoundingClientRect,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport scrollspyString from '../strings/scrollspyString';\nimport scrollspyComponent from '../strings/scrollspyComponent';\n\nimport BaseComponent from './base-component';\nimport { ScrollSpyOptions, ScrollSpyEvent } from '../interface/scrollspy';\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: ScrollSpyOptions = {\n offset: 10,\n target: null,\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: HTMLElement) => getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: HTMLElement) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent(`activate.bs.${scrollspyString}`);\n\n// SCROLLSPY PRIVATE METHODS\n// =========================\n/**\n * Update the state of all items.\n *\n * @param self the `ScrollSpy` instance\n */\nconst updateSpyTargets = (self: ScrollSpy) => {\n const { target, scrollTarget, options, itemsLength, scrollHeight, element } = self;\n const { offset } = options;\n const isWin = isWindow(scrollTarget as Node | Window);\n\n const links = target && getElementsByTagName('A', target);\n const scrollHEIGHT = scrollTarget ? getScrollHeight(scrollTarget) : /* istanbul ignore next */ scrollHeight;\n\n self.scrollTop = isWin ? (scrollTarget as Window).scrollY : (scrollTarget as HTMLElement).scrollTop;\n\n // only update items/offsets once or with each mutation\n /* istanbul ignore else */\n if (links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)) {\n let href;\n let targetItem;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n [...links].forEach(link => {\n href = getAttribute(link, 'href');\n targetItem =\n href && href.charAt(0) === '#' && href.slice(-1) !== '#' && querySelector(href, getDocument(element));\n\n if (targetItem) {\n self.items.push(link);\n rect = getBoundingClientRect(targetItem);\n self.offsets.push((isWin ? rect.top + self.scrollTop : targetItem.offsetTop) - offset);\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Returns the `scrollHeight` property of the scrolling element.\n *\n * @param scrollTarget the `ScrollSpy` instance\n * @return `scrollTarget` height\n */\nconst getScrollHeight = (scrollTarget: Node | Window) => {\n return isHTMLElement(scrollTarget as Node)\n ? (scrollTarget as HTMLElement).scrollHeight\n : getDocumentElement(scrollTarget as Node).scrollHeight;\n};\n\n/**\n * Returns the height property of the scrolling element.\n *\n * @param params the `ScrollSpy` instance\n */\nconst getOffsetHeight = ({ element, scrollTarget }: ScrollSpy) => {\n return isWindow(scrollTarget as Node) ? (scrollTarget as Window).innerHeight : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: HTMLElement) => {\n [...getElementsByTagName('A', target)].forEach(item => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n });\n};\n\n/**\n * Activates a new item.\n *\n * @param self the `ScrollSpy` instance\n * @param item a single item\n */\nconst activate = (self: ScrollSpy, item: HTMLElement) => {\n const { target, element } = self;\n if (isHTMLElement(target)) clear(target);\n self.activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n const parents: HTMLElement[] = [];\n let parentItem = item;\n while (parentItem !== getDocumentBody(element)) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (hasClass(parentItem, 'nav') || hasClass(parentItem, 'dropdown-menu')) parents.push(parentItem);\n }\n\n parents.forEach(menuItem => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n /* istanbul ignore else */\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n });\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\n// SCROLLSPY DEFINITION\n// ====================\n/** Returns a new `ScrollSpy` instance. */\nexport default class ScrollSpy extends BaseComponent {\n static selector = scrollspySelector;\n static init = scrollspyInitCallback;\n static getInstance = getScrollSpyInstance;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement | Window;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // additional properties\n this.target = querySelector(options.target as HTMLElement | string, getDocument(element));\n\n // invalidate\n if (this.target) {\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight ? element : getWindow(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // add event handlers\n this._toggleEventListeners(true);\n\n this.refresh();\n }\n }\n\n /* eslint-disable */\n /**\n * Returns component name string.\n */\n get name() {\n return scrollspyComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return scrollspyDefaults;\n }\n /* eslint-enable */\n\n // SCROLLSPY PUBLIC METHODS\n // ========================\n /** Updates all items. */\n refresh = () => {\n const { target } = this;\n\n // check if target is visible and invalidate\n /* istanbul ignore else */\n if (isHTMLElement(target) && target.offsetHeight > 0) {\n updateSpyTargets(this);\n\n const { scrollTop, maxScroll, itemsLength, items, activeItem } = this;\n\n if (scrollTop >= maxScroll) {\n const newActiveItem = items[itemsLength - 1];\n\n /* istanbul ignore else */\n if (activeItem !== newActiveItem) {\n activate(this, newActiveItem);\n }\n return;\n }\n\n const { offsets } = this;\n\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n if (target) clear(target);\n return;\n }\n\n items.forEach((item, i) => {\n if (\n activeItem !== item &&\n scrollTop >= offsets[i] &&\n (typeof offsets[i + 1] === 'undefined' || scrollTop < offsets[i + 1])\n ) {\n activate(this, item);\n }\n });\n }\n };\n\n /**\n * Toggles on/off the component event listener.\n *\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.scrollTarget as EventTarget, scrollEvent, this.refresh, passiveHandler);\n };\n\n /** Removes `ScrollSpy` from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/** @type {string} */\nconst tabString = 'tab';\nexport default tabString;\n","/** @type {string} */\nconst tabComponent = 'Tab';\nexport default tabComponent;\n","/* Native JavaScript for Bootstrap 5 | Tab\n------------------------------------------ */\nimport {\n emulateTransitionEnd,\n dispatchEvent,\n removeClass,\n hasClass,\n addClass,\n querySelector,\n getElementsByClassName,\n closest,\n setAttribute,\n mouseclickEvent,\n createCustomEvent,\n Timer,\n getInstance,\n ariaSelected,\n reflow,\n isHTMLElement,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport collapsingClass from '../strings/collapsingClass';\nimport activeClass from '../strings/activeClass';\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dropdownClasses from '../strings/dropdownClasses';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport tabString from '../strings/tabString';\nimport tabComponent from '../strings/tabComponent';\n\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport type { /* TabOptions, */ TabEvent } from '../interface/tab';\n\n// TAB PRIVATE GC\n// ================\nconst tabSelector = `[${dataBsToggle}=\"${tabString}\"]`;\n\n/**\n * Static method which returns an existing `Tab` instance associated\n * to a target `Element`.\n */\nconst getTabInstance = (element: HTMLElement) => getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: HTMLElement) => new Tab(element);\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(`show.bs.${tabString}`);\nconst shownTabEvent = createCustomEvent(`shown.bs.${tabString}`);\nconst hideTabEvent = createCustomEvent(`hide.bs.${tabString}`);\nconst hiddenTabEvent = createCustomEvent(`hidden.bs.${tabString}`);\n\ninterface TabPrivate {\n tab: HTMLElement | null;\n content: HTMLElement | null;\n currentHeight: number;\n nextHeight: number;\n}\n\n/**\n * Stores the current active tab and its content\n * for a given `.nav` element.\n */\nconst tabPrivate: Map = new Map();\n\n// TAB PRIVATE METHODS\n// ===================\n/**\n * Executes after tab transition has finished.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabEnd = (self: Tab) => {\n const { tabContent, nav } = self;\n\n /* istanbul ignore else */\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = '';\n removeClass(tabContent, collapsingClass);\n }\n\n /* istanbul ignore else */\n if (nav) Timer.clear(nav);\n};\n\n/**\n * Executes before showing the tab content.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabShow = (self: Tab) => {\n const { element, tabContent, content: nextContent, nav } = self;\n const { tab } = (isHTMLElement(nav) && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null };\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) || /* istanbul ignore next */ {\n currentHeight: 0,\n nextHeight: 0,\n };\n if (currentHeight === nextHeight) {\n triggerTabEnd(self);\n } else {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n }\n } else if (nav) Timer.clear(nav);\n\n shownTabEvent.relatedTarget = tab as HTMLElement | undefined;\n\n dispatchEvent(element, shownTabEvent);\n};\n\n/**\n * Executes before hiding the tab.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabHide = (self: Tab) => {\n const { element, content: nextContent, tabContent, nav } = self;\n const { tab, content } = (nav && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null, content: null };\n let currentHeight = 0;\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach(c => {\n if (isHTMLElement(c)) addClass(c, 'overflow-hidden');\n });\n currentHeight = isHTMLElement(content) ? content.scrollHeight : /* istanbul ignore next */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element;\n dispatchEvent(element, showTabEvent);\n\n if (!showTabEvent.defaultPrevented) {\n if (nextContent) addClass(nextContent, activeClass);\n if (content) removeClass(content, activeClass);\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, { currentHeight, nextHeight, tab: null, content: null });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach(c => {\n if (c) removeClass(c, 'overflow-hidden');\n });\n }\n\n if (nextContent && nextContent && hasClass(nextContent, fadeClass)) {\n setTimeout(() => {\n addClass(nextContent, showClass);\n emulateTransitionEnd(nextContent, () => {\n triggerTabShow(self);\n });\n }, 1);\n } else {\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n if (tab) dispatchEvent(tab, hiddenTabEvent);\n }\n};\n\n/**\n * Returns the current active tab and its target content.\n *\n * @param self the `Tab` instance\n * @returns the query result\n */\nconst getActiveTab = (self: Tab): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n /* istanbul ignore next */\n if (!isHTMLElement(nav as HTMLElement | undefined)) return { tab: null, content: null };\n\n const activeTabs = getElementsByClassName(activeClass, nav as HTMLElement);\n let tab: HTMLElement | null = null;\n /* istanbul ignore else */\n if (activeTabs.length === 1 && !dropdownClasses.some(c => hasClass(activeTabs[0].parentElement as HTMLElement, c))) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab as HTMLElement) ? getTargetElement(tab as HTMLElement) : null;\n return { tab, content };\n};\n\n/**\n * Returns a parent dropdown.\n *\n * @param element the `Tab` element\n * @returns the parent dropdown\n */\nconst getParentDropdown = (element?: HTMLElement): HTMLElement | null => {\n /* istanbul ignore next */\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(',.')}`);\n return dropdown ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown) : null;\n};\n\n// TAB EVENT HANDLER\n// =================\n/**\n * Handles the `click` event listener.\n *\n * @param e the `Event` object\n */\nconst tabClickHandler = (e: Event) => {\n const self = getTabInstance(e.target as HTMLElement);\n\n /* istanbul ignore else */\n if (self) {\n e.preventDefault();\n self.show();\n }\n};\n\n// TAB DEFINITION\n// ==============\n/** Creates a new `Tab` instance. */\nexport default class Tab extends BaseComponent {\n static selector = tabSelector;\n static init = tabInitCallback;\n static getInstance = getTabInstance;\n declare nav: HTMLElement | null;\n declare content: HTMLElement | null;\n declare tabContent: HTMLElement | null;\n declare nextContent: HTMLElement | null;\n declare dropdown: HTMLElement | null;\n\n /** @param target the target element */\n constructor(target: HTMLElement | string) {\n super(target);\n\n // initialization element\n const { element } = this;\n const content = getTargetElement(element);\n\n // no point initializing a tab without a corresponding content\n /* istanbul ignore else */\n if (content) {\n const nav = closest(element, '.nav');\n const container = closest(content, '.tab-content');\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element);\n\n // show first Tab instance of none is shown\n // suggested on #432\n const { tab } = getActiveTab(this);\n if (nav && !tab) {\n const firstTab = querySelector(tabSelector, nav);\n const firstTabContent = firstTab && getTargetElement(firstTab);\n\n /* istanbul ignore else */\n if (firstTabContent) {\n addClass(firstTab, activeClass);\n addClass(firstTabContent, showClass);\n addClass(firstTabContent, activeClass);\n setAttribute(element, ariaSelected, 'true');\n }\n }\n\n // add event listener\n this._toggleEventListeners(true);\n }\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return tabComponent;\n }\n\n // TAB PUBLIC METHODS\n // ==================\n /** Shows the tab to the user. */\n show() {\n const { element, content: nextContent, nav, dropdown } = this;\n\n /* istanbul ignore else */\n if (!(nav && Timer.get(nav)) && !hasClass(element, activeClass)) {\n const { tab, content } = getActiveTab(this);\n\n /* istanbul ignore else */\n if (nav) tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element;\n\n /* istanbul ignore else */\n if (isHTMLElement(tab)) {\n dispatchEvent(tab as EventTarget, hideTabEvent);\n /* istanbul ignore else */\n if (!hideTabEvent.defaultPrevented) {\n addClass(element, activeClass);\n setAttribute(element, ariaSelected, 'true');\n\n const activeDropdown = isHTMLElement(tab) && getParentDropdown(tab);\n if (activeDropdown && hasClass(activeDropdown, activeClass)) {\n removeClass(activeDropdown, activeClass);\n }\n\n /* istanbul ignore else */\n if (nav) {\n const toggleTab = () => {\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, 'false');\n }\n if (dropdown && !hasClass(dropdown, activeClass)) addClass(dropdown, activeClass);\n };\n\n if (content && (hasClass(content, fadeClass) || (nextContent && hasClass(nextContent, fadeClass)))) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n if (content) {\n removeClass(content, showClass);\n if (hasClass(content, fadeClass)) {\n emulateTransitionEnd(content, () => triggerTabHide(this));\n } else {\n triggerTabHide(this);\n }\n }\n }\n }\n }\n }\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.element, mouseclickEvent, tabClickHandler);\n };\n\n /** Removes the `Tab` component from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/** @type {string} */\nconst toastString = 'toast';\nexport default toastString;\n","/** @type {string} */\nconst toastComponent = 'Toast';\nexport default toastComponent;\n","/* Native JavaScript for Bootstrap 5 | Toast\n-------------------------------------------- */\nimport {\n mouseclickEvent,\n closest,\n removeClass,\n hasClass,\n addClass,\n focusoutEvent,\n focusinEvent,\n mouseleaveEvent,\n mouseenterEvent,\n createCustomEvent,\n getDocument,\n Timer,\n getInstance,\n reflow,\n emulateTransitionEnd,\n dispatchEvent,\n querySelectorAll,\n querySelector,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport toastString from '../strings/toastString';\nimport toastComponent from '../strings/toastComponent';\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport { ToastOptions, ToastEvent } from '../interface/toast';\n\n// TOAST PRIVATE GC\n// ================\nconst toastSelector = `.${toastString}`;\nconst toastDismissSelector = `[${dataBsDismiss}=\"${toastString}\"]`;\nconst toastToggleSelector = `[${dataBsToggle}=\"${toastString}\"]`;\nconst showingClass = 'showing';\n/** @deprecated */\nconst hideClass = 'hide';\n\nconst toastDefaults = {\n animation: true,\n autohide: true,\n delay: 5000,\n};\n\n/**\n * Static method which returns an existing `Toast` instance associated\n * to a target `Element`.\n */\nconst getToastInstance = (element: HTMLElement) => getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: HTMLElement) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent(`show.bs.${toastString}`);\nconst shownToastEvent = createCustomEvent(`shown.bs.${toastString}`);\nconst hideToastEvent = createCustomEvent(`hide.bs.${toastString}`);\nconst hiddenToastEvent = createCustomEvent(`hidden.bs.${toastString}`);\n\n// TOAST PRIVATE METHODS\n// =====================\n/**\n * Executes after the toast is shown to the user.\n *\n * @param self the `Toast` instance\n */\nconst showToastComplete = (self: Toast) => {\n const { element, options } = self;\n removeClass(element, showingClass);\n Timer.clear(element, showingClass);\n\n dispatchEvent(element, shownToastEvent);\n /* istanbul ignore else */\n if (options.autohide) {\n Timer.set(element, () => self.hide(), options.delay, toastString);\n }\n};\n\n/**\n * Executes after the toast is hidden to the user.\n *\n * @param self the `Toast` instance\n */\nconst hideToastComplete = (self: Toast) => {\n const { element } = self;\n removeClass(element, showingClass);\n removeClass(element, showClass);\n addClass(element, hideClass); // B/C\n Timer.clear(element, toastString);\n dispatchEvent(element, hiddenToastEvent);\n};\n\n/**\n * Executes before hiding the toast.\n *\n * @param self the `Toast` instance\n */\nconst hideToast = (self: Toast) => {\n const { element, options } = self;\n addClass(element, showingClass);\n\n if (options.animation) {\n reflow(element);\n emulateTransitionEnd(element, () => hideToastComplete(self));\n } else {\n hideToastComplete(self);\n }\n};\n\n/**\n * Executes before showing the toast.\n *\n * @param self the `Toast` instance\n */\nconst showToast = (self: Toast) => {\n const { element, options } = self;\n Timer.set(\n element,\n () => {\n removeClass(element, hideClass); // B/C\n reflow(element);\n addClass(element, showClass);\n addClass(element, showingClass);\n\n if (options.animation) {\n emulateTransitionEnd(element, () => showToastComplete(self));\n } else {\n showToastComplete(self);\n }\n },\n 17,\n showingClass,\n );\n};\n\n// TOAST EVENT HANDLERS\n// ====================\n/**\n * Executes after the instance has been disposed.\n *\n * @param {Toast} self the `Toast` instance\n */\nconst completeDisposeToast = (self: Toast) => {\n Timer.clear(self.element, toastString);\n self._toggleEventListeners();\n};\n\n/**\n * Handles the `click` event listener for toast.\n *\n * @param e the `Event` object\n */\nconst toastClickHandler = (e: Event) => {\n const { target } = e;\n\n const trigger = target && closest(target as HTMLElement, toastToggleSelector);\n const element = trigger && getTargetElement(trigger);\n const self = element && getToastInstance(element);\n\n /* istanbul ignore else */\n if (self) {\n /* istanbul ignore else */\n if (trigger && trigger.tagName === 'A') e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\n }\n};\n\n/**\n * Executes when user interacts with the toast without closing it,\n * usually by hovering or focusing it.\n *\n * @param e the `Toast` instance\n */\nconst interactiveToastHandler = (e: MouseEvent) => {\n const element = e.target as HTMLElement;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n /* istanbul ignore else: a solid filter is required */\n if (self && element !== relatedTarget && !element.contains(relatedTarget as Node)) {\n if ([mouseenterEvent, focusinEvent].includes(type)) {\n Timer.clear(element, toastString);\n } else {\n Timer.set(element, () => self.hide(), self.options.delay, toastString);\n }\n }\n};\n\n// TOAST DEFINITION\n// ================\n/** Creates a new `Toast` instance. */\nexport default class Toast extends BaseComponent {\n static selector = toastSelector;\n static init = toastInitCallback;\n static getInstance = getToastInstance;\n declare options: ToastOptions;\n declare dismiss: HTMLElement | null;\n declare triggers: HTMLElement[];\n declare relatedTarget: HTMLElement | null;\n\n /**\n * @param target the target `.toast` element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n const { element, options } = this;\n\n // set fadeClass, the options.animation will override the markup\n if (options.animation && !hasClass(element, fadeClass)) addClass(element, fadeClass);\n else if (!options.animation && hasClass(element, fadeClass)) removeClass(element, fadeClass);\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [...querySelectorAll(toastToggleSelector, getDocument(element))].filter(\n btn => getTargetElement(btn) === element,\n );\n\n // add event listener\n this._toggleEventListeners(true);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return toastComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return toastDefaults;\n }\n /**\n * Returns *true* when toast is visible.\n */\n get isShown() {\n return hasClass(this.element, showClass);\n }\n\n // TOAST PUBLIC METHODS\n // ====================\n /** Shows the toast. */\n show = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && !isShown) {\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) {\n showToast(this);\n }\n }\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && isShown) {\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) {\n hideToast(this);\n }\n }\n };\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, it will add the listener\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element, triggers, dismiss, options, hide } = this;\n\n /* istanbul ignore else */\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n /* istanbul ignore else */\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(e =>\n action(element, e, interactiveToastHandler),\n );\n }\n /* istanbul ignore else */\n if (triggers.length) {\n triggers.forEach(btn => action(btn, mouseclickEvent, toastClickHandler));\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (isShown) {\n removeClass(element, showClass);\n }\n\n completeDisposeToast(this);\n\n super.dispose();\n }\n}\n","import { Data, getElementsByTagName, matches } from '@thednp/shorty';\n\nimport { addListener } from '@thednp/event-listener';\n\nimport Alert from '../components/alert';\nimport Button from '../components/button';\nimport Carousel from '../components/carousel';\nimport Collapse from '../components/collapse';\nimport Dropdown from '../components/dropdown';\nimport Modal from '../components/modal';\nimport Offcanvas from '../components/offcanvas';\nimport Popover from '../components/popover';\nimport ScrollSpy from '../components/scrollspy';\nimport Tab from '../components/tab';\nimport Toast from '../components/toast';\nimport Tooltip from '../components/tooltip';\n\nconst componentsList = new Map<\n string,\n | typeof Alert\n | typeof Button\n | typeof Carousel\n | typeof Collapse\n | typeof Dropdown\n | typeof Modal\n | typeof Offcanvas\n | typeof Popover\n | typeof ScrollSpy\n | typeof Tab\n | typeof Toast\n | typeof Tooltip\n>();\n\n[Alert, Button, Carousel, Collapse, Dropdown, Modal, Offcanvas, Popover, ScrollSpy, Tab, Toast, Tooltip].forEach(c =>\n componentsList.set(c.prototype.name, c),\n);\n\n/**\n * Initialize all matched `Element`s for one component.\n *\n * @param callback\n * @param collection\n */\nconst initComponentDataAPI = (\n callback: (el: HTMLElement, ops?: Record) => T,\n collection: HTMLCollectionOf | HTMLElement[],\n) => {\n [...collection].forEach(x => callback(x));\n};\n\n/**\n * Remove one component from a target container element or all in the page.\n *\n * @param component the component name\n * @param context parent `Node`\n */\nconst removeComponentDataAPI = (component: string, context: ParentNode) => {\n const compData = Data.getAllFor(component) as Map;\n\n if (compData) {\n [...compData].forEach(([element, instance]) => {\n if (context.contains(element)) (instance as T & { dispose: () => void }).dispose();\n });\n }\n};\n\n/**\n * Initialize all BSN components for a target container.\n *\n * @param context parent `Node`\n */\nexport const initCallback = (context?: ParentNode) => {\n const lookUp = context && context.nodeName ? context : document;\n const elemCollection = [...getElementsByTagName('*', lookUp)];\n\n componentsList.forEach(cs => {\n const { init, selector } = cs;\n initComponentDataAPI(\n init,\n elemCollection.filter(item => matches(item, selector)),\n );\n });\n};\n\n/**\n * Remove all BSN components for a target container.\n *\n * @param context parent `Node`\n */\nexport const removeDataAPI = (context?: ParentNode) => {\n const lookUp = context && context.nodeName ? context : document;\n\n componentsList.forEach(comp => {\n removeComponentDataAPI(comp.prototype.name, lookUp);\n });\n};\n\n// Bulk initialize all components\nif (document.body) initCallback();\nelse {\n addListener(document, 'DOMContentLoaded', () => initCallback(), { once: true });\n}\n"],"names":["fe","ge","Ee","ye","we","Ae","P","$","_","tt","st","rt","it","lt","pt","mt","ft","St","kt","Mt","Ct","zt","Vt","Ce","Re","Qe","je","qe","$e","Rt","Qt","C","U","jt","A","qt","S","z","x","vn","N","Gt","e","n","o","s","Jt","Kt","r","Xt","Yt","kn","Tn","Cn","Ln","In","zn","v","i","u","E","L","Hn","k","W","R","d","M","Zt","Q","g","ee","ne","Un","a","l","Qn","V","w","oe","jn","p","c","m","y","j","Gn","Xn","Yn","Zn","$n","I","se","f","_n","h","eo","T","ce","so","B","H","b","ae","ro","ie","uo","mo","ho","yo","Ao","le","So","de","Mo","To","Do","fadeClass","showClass","dataBsDismiss","alertString","alertComponent","Version","version","BaseComponent","target","config","__publicField","element","querySelector","isString","prevInstance","Data","ObjectKeys","normalizeOptions","prop","alertSelector","alertDismissSelector","getAlertInstance","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","hasClass","removeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent","activeClass","dataBsToggle","buttonString","buttonComponent","buttonSelector","getButtonInstance","buttonInitCallback","Button","isActive","getAttribute","addClass","setAttribute","ariaPressed","dataBsTarget","carouselString","carouselComponent","dataBsParent","dataBsContainer","getTargetElement","targetAttr","doc","getDocument","att","attValue","closest","carouselSelector","carouselItem","dataBsSlideTo","dataBsSlide","pausedClass","carouselDefaults","getCarouselInstance","carouselInitCallback","Carousel","startX","currentX","endX","carouselSlideEvent","carouselSlidEvent","carouselTransitionEndHandler","index","direction","slides","options","activeItem","getActiveIndex","orientation","directionClass","Timer","carouselPauseHandler","carouselResumeHandler","carouselIndicatorHandler","newIndex","carouselControlsHandler","carouselKeyHandler","code","querySelectorAll","isElementInScrollRange","RTL","isRTL","keyArrowRight","keyArrowLeft","carouselDragHandler","carouselPointerDownHandler","controls","indicators","el","toggleCarouselTouchHandlers","carouselPointerMoveHandler","carouselPointerUpHandler","_a","activateCarouselIndicator","pointermoveEvent","passiveHandler","pointerupEvent","isHTMLElement","touch","pause","interval","keyboard","mouseenterEvent","mouseleaveEvent","pointerdownEvent","touchstartEvent","dragstartEvent","arrow","indicator","keydownEvent","getElementsByClassName","activeIndex","transitionItem","matches","ar","isPaused","idx","next","eventProperties","ObjectAssign","getElementTransitionDuration","reflow","isAnimating","clone","collapsingClass","collapseString","collapseComponent","collapseSelector","collapseToggleSelector","collapseDefaults","getCollapseInstance","collapseInitCallback","Collapse","showCollapseEvent","shownCollapseEvent","hideCollapseEvent","hiddenCollapseEvent","expandCollapse","parent","triggers","noop","setElementStyle","btn","ariaExpanded","collapseContent","collapseClickHandler","trigger","activeCollapse","activeCollapseInstance","dropdownMenuClasses","dropdownComponent","dropdownMenuClass","isEmptyAnchor","parentAnchor","hasAttribute","dropdownString","dropupString","dropstartString","dropendString","dropdownClasses","dropdownSelector","getDropdownInstance","dropdownInitCallback","Dropdown","dropdownMenuEndClass","verticalClass","horizontalClass","menuFocusTags","dropdownDefaults","showDropdownEvent","shownDropdownEvent","hideDropdownEvent","hiddenDropdownEvent","updatedDropdownEvent","styleDropdown","menu","parentElement","offset","getElementStyle","menuEnd","style","positionClass","dropdownMargin","dropdownPosition","menuWidth","menuHeight","clientWidth","clientHeight","getDocumentElement","targetLeft","targetTop","targetWidth","targetHeight","getBoundingClientRect","leftFullExceed","rightFullExceed","bottomExceed","bottomFullExceed","topExceed","leftExceed","rightExceed","posAjust","margins","getMenuItems","firstElementChild","toggleDropdownDismiss","dropdownDismissHandler","focusEvent","dropdownPreventScroll","keyupEvent","dropdownKeyHandler","scrollEvent","resizeEvent","ev","getWindow","dropdownLayoutHandler","getCurrentOpenDropdown","currentParent","type","isForm","mousedownEvent","dropdownClickHandler","keyArrowDown","keyArrowUp","activeElement","open","menuItems","focus","keyEscape","currentElement","currentInstance","modalString","modalComponent","offcanvasComponent","fixedTopClass","fixedBottomClass","stickyTopClass","positionStickyClass","getFixedItems","resetScrollbar","bd","getDocumentBody","fixedItems","fixed","measureScrollbar","innerWidth","setScrollbar","overflow","bodyPad","sbWidth","itemPadValue","itemMValue","offcanvasString","popupContainer","createElement","appendPopup","customContainer","containerIsBody","isNode","lookup","BODY","removePopup","hasPopup","backdropString","modalBackdropClass","offcanvasBackdropClass","modalActiveSelector","offcanvasActiveSelector","overlay","getCurrentOpen","toggleOverlayType","isModal","targetClass","appendOverlay","hasFade","showOverlay","hideOverlay","removeOverlay","isVisible","modalSelector","modalToggleSelector","modalDismissSelector","modalStaticClass","modalDefaults","getModalInstance","modalInitCallback","Modal","showModalEvent","shownModalEvent","hideModalEvent","hiddenModalEvent","setModalScrollbar","scrollbarWidth","scrollHeight","modalHeight","modalScrollHeight","modalOverflow","pad","padStyle","toggleModalDismiss","update","modalDismissHandler","modalKeyHandler","afterModalHide","relatedTarget","focusElement","afterModalShow","beforeModalShow","removeAttribute","ariaHidden","ariaModal","beforeModalHide","modalClickHandler","currentTarget","isStatic","modalDialog","backdrop","selectedText","targetInsideDialog","staticTransitionEnd","duration","overlayDelay","currentOpen","that","callback","offcanvasSelector","offcanvasToggleSelector","offcanvasDismissSelector","offcanvasTogglingClass","offcanvasDefaults","getOffcanvasInstance","offcanvasInitCallback","Offcanvas","showOffcanvasEvent","shownOffcanvasEvent","hideOffcanvasEvent","hiddenOffcanvasEvent","setOffCanvasScrollbar","toggleOffCanvasDismiss","offcanvasKeyDismissHandler","offcanvasDismissHandler","beforeOffcanvasShow","showOffcanvasComplete","beforeOffcanvasHide","hideOffcanvasComplete","offcanvasTriggerHandler","offCanvasDismiss","selection","visibleTrigger","delay","popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","body","tipClassPositions","styleTip","tipClasses","tooltip","container","tipPositions","isPopover","tipWidth","tipHeight","htmlcw","htmlch","htmlow","placement","parentCWidth","parentOWidth","fixedParent","leftBoundry","rightBoundry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","topPosition","bottomPosition","leftPosition","rightPosition","arrowTop","arrowLeft","arrowRight","arrowWidth","arrowHeight","arrowAdjust","horizontals","verticals","updatedTooltipEvent","toLowerCase","tooltipDefaults","dataOriginalTitle","tooltipComponent","setHtml","content","sanitizeFn","dirty","isFunction","tempDocument","isNodeList","isArray","createTip","id","title","template","animation","customClass","dismissible","btnClose","tipString","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","tooltipHeader","tooltipBody","tempTitle","tempContent","tempBtn","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","tooltipSelector","titleAttr","getTooltipInstance","tooltipInitCallback","Tooltip","removeTooltip","offsetParent","ariaDescribedBy","hasTip","disposeTooltipComplete","toggleTooltipTitle","toggleTooltipAction","tooltipShownAction","shownTooltipEvent","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","offsetHeight","parentModal","parentOffcanvas","win","scrollTarget","titleAtt","tr","mousehoverEvent","focusinEvent","focusoutEvent","isApple","tipComponent","elem","getUID","position","outTimer","tipContainer","showTooltipEvent","hideTooltipEvent","enabled","popoverSelector","popoverDefaults","getPopoverInstance","popoverInitCallback","Popover","scrollspyString","scrollspyComponent","scrollspySelector","scrollspyDefaults","getScrollSpyInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","updateSpyTargets","itemsLength","isWin","isWindow","links","getElementsByTagName","scrollHEIGHT","getScrollHeight","href","targetItem","rect","getOffsetHeight","link","clear","item","activate","parents","parentItem","menuItem","parentLink","scrollTop","maxScroll","items","newActiveItem","offsets","tabString","tabComponent","tabSelector","getTabInstance","tabInitCallback","Tab","showTabEvent","shownTabEvent","hideTabEvent","hiddenTabEvent","tabPrivate","triggerTabEnd","tabContent","nav","triggerTabShow","nextContent","tab","currentHeight","nextHeight","triggerTabHide","getActiveTab","activeTabs","getParentDropdown","dropdown","tabClickHandler","firstTab","firstTabContent","ariaSelected","activeDropdown","toggleTab","toastString","toastComponent","toastSelector","toastDismissSelector","toastToggleSelector","showingClass","hideClass","toastDefaults","getToastInstance","toastInitCallback","Toast","showToastEvent","shownToastEvent","hideToastEvent","hiddenToastEvent","showToastComplete","hideToastComplete","hideToast","showToast","completeDisposeToast","toastClickHandler","interactiveToastHandler","isShown","hide","componentsList","initComponentDataAPI","collection","removeComponentDataAPI","component","context","compData","instance","initCallback","lookUp","elemCollection","cs","init","selector","removeDataAPI","comp"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file +{"version":3,"file":"bootstrap-native.cjs","sources":["../node_modules/.pnpm/@thednp+shorty@2.0.3/node_modules/@thednp/shorty/dist/shorty.mjs","../node_modules/.pnpm/@thednp+event-listener@2.0.5/node_modules/@thednp/event-listener/dist/event-listener.mjs","../src/strings/fadeClass.ts","../src/strings/showClass.ts","../src/strings/dataBsDismiss.ts","../src/strings/alertString.ts","../src/strings/alertComponent.ts","../src/version.ts","../src/components/base-component.ts","../src/components/alert.ts","../src/strings/activeClass.ts","../src/strings/dataBsToggle.ts","../src/strings/buttonString.ts","../src/strings/buttonComponent.ts","../src/components/button.ts","../src/strings/dataBsTarget.ts","../src/strings/carouselString.ts","../src/strings/carouselComponent.ts","../src/strings/dataBsParent.ts","../src/strings/dataBsContainer.ts","../src/util/getTargetElement.ts","../src/components/carousel.ts","../src/strings/collapsingClass.ts","../src/strings/collapseString.ts","../src/strings/collapseComponent.ts","../src/components/collapse.ts","../src/strings/dropdownClasses.ts","../src/strings/dropdownComponent.ts","../src/strings/dropdownMenuClass.ts","../src/util/isEmptyAnchor.ts","../src/components/dropdown.ts","../src/strings/modalString.ts","../src/strings/modalComponent.ts","../src/strings/offcanvasComponent.ts","../src/strings/fixedTopClass.ts","../src/strings/fixedBottomClass.ts","../src/strings/stickyTopClass.ts","../src/strings/positionStickyClass.ts","../src/util/scrollbar.ts","../src/strings/offcanvasString.ts","../src/util/popupContainer.ts","../src/util/backdrop.ts","../src/util/isVisible.ts","../src/components/modal.ts","../src/components/offcanvas.ts","../src/strings/popoverString.ts","../src/strings/popoverComponent.ts","../src/strings/tooltipString.ts","../src/util/getTipTemplate.ts","../src/util/tipClassPositions.ts","../src/util/styleTip.ts","../src/util/tooltipDefaults.ts","../src/strings/dataOriginalTitle.ts","../src/strings/tooltipComponent.ts","../src/util/setHtml.ts","../src/util/createTip.ts","../src/util/getElementContainer.ts","../src/components/tooltip.ts","../src/components/popover.ts","../src/strings/scrollspyString.ts","../src/strings/scrollspyComponent.ts","../src/components/scrollspy.ts","../src/strings/tabString.ts","../src/strings/tabComponent.ts","../src/components/tab.ts","../src/strings/toastString.ts","../src/strings/toastComponent.ts","../src/components/toast.ts","../src/util/init.ts"],"sourcesContent":["const pe = \"aria-checked\", me = \"aria-description\", fe = \"aria-describedby\", ge = \"aria-expanded\", ve = \"aria-haspopup\", Ee = \"aria-hidden\", be = \"aria-label\", he = \"aria-labelledby\", ye = \"aria-modal\", we = \"aria-pressed\", Ae = \"aria-selected\", Se = \"aria-valuemin\", Ne = \"aria-valuemax\", ke = \"aria-valuenow\", Me = \"aria-valuetext\", q = \"abort\", G = \"beforeunload\", J = \"blur\", K = \"change\", X = \"contextmenu\", P = \"DOMContentLoaded\", Y = \"DOMMouseScroll\", Z = \"error\", $ = \"focus\", _ = \"focusin\", tt = \"focusout\", et = \"gesturechange\", nt = \"gestureend\", ot = \"gesturestart\", st = \"keydown\", ct = \"keypress\", rt = \"keyup\", at = \"load\", it = \"click\", ut = \"dblclick\", lt = \"mousedown\", dt = \"mouseup\", pt = \"hover\", mt = \"mouseenter\", ft = \"mouseleave\", gt = \"mousein\", vt = \"mouseout\", Et = \"mouseover\", bt = \"mousemove\", ht = \"mousewheel\", yt = \"move\", wt = \"orientationchange\", At = \"pointercancel\", St = \"pointerdown\", Nt = \"pointerleave\", kt = \"pointermove\", Mt = \"pointerup\", Tt = \"readystatechange\", Dt = \"reset\", Ct = \"resize\", Ot = \"select\", Lt = \"selectend\", It = \"selectstart\", zt = \"scroll\", xt = \"submit\", Vt = \"touchstart\", Bt = \"touchmove\", Ht = \"touchcancel\", Pt = \"touchend\", Ft = \"unload\", Te = {\n DOMContentLoaded: P,\n DOMMouseScroll: Y,\n abort: q,\n beforeunload: G,\n blur: J,\n change: K,\n click: it,\n contextmenu: X,\n dblclick: ut,\n error: Z,\n focus: $,\n focusin: _,\n focusout: tt,\n gesturechange: et,\n gestureend: nt,\n gesturestart: ot,\n hover: pt,\n keydown: st,\n keypress: ct,\n keyup: rt,\n load: at,\n mousedown: lt,\n mousemove: bt,\n mousein: gt,\n mouseout: vt,\n mouseenter: mt,\n mouseleave: ft,\n mouseover: Et,\n mouseup: dt,\n mousewheel: ht,\n move: yt,\n orientationchange: wt,\n pointercancel: At,\n pointerdown: St,\n pointerleave: Nt,\n pointermove: kt,\n pointerup: Mt,\n readystatechange: Tt,\n reset: Dt,\n resize: Ct,\n scroll: zt,\n select: Ot,\n selectend: Lt,\n selectstart: It,\n submit: xt,\n touchcancel: Ht,\n touchend: Pt,\n touchmove: Bt,\n touchstart: Vt,\n unload: Ft\n}, De = \"drag\", Ce = \"dragstart\", Oe = \"dragenter\", Le = \"dragleave\", Ie = \"dragover\", ze = \"dragend\", xe = \"loadstart\", Ve = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, Be = { down: \"mousedown\", up: \"mouseup\" }, He = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : (\n /* istanbul ignore next */\n [\"mouseover\", \"mouseout\"]\n), Pe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, Fe = { in: \"focusin\", out: \"focusout\" }, Ue = {\n Backspace: \"Backspace\",\n // 8\n Tab: \"Tab\",\n // 9\n Enter: \"Enter\",\n // 13\n Shift: \"Shift\",\n // 16\n Control: \"Control\",\n // 17\n Alt: \"Alt\",\n // 18\n Pause: \"Pause\",\n // 19\n CapsLock: \"CapsLock\",\n // 20\n Escape: \"Escape\",\n // 27\n Scape: \"Space\",\n // 32\n ArrowLeft: \"ArrowLeft\",\n // 37\n ArrowUp: \"ArrowUp\",\n // 38\n ArrowRight: \"ArrowRight\",\n // 39\n ArrowDown: \"ArrowDown\",\n // 40\n Insert: \"Insert\",\n // 45\n Delete: \"Delete\",\n // 46\n Meta: \"Meta\",\n // 91 windows key\n ContextMenu: \"ContextMenu\",\n // 93\n ScrollLock: \"ScrollLock\"\n // 145\n}, We = \"Alt\", Re = \"ArrowDown\", Qe = \"ArrowUp\", je = \"ArrowLeft\", qe = \"ArrowRight\", Ge = \"Backspace\", Je = \"CapsLock\", Ke = \"Control\", Xe = \"Delete\", Ye = \"Enter\", Ze = \"NumpadEnter\", $e = \"Escape\", _e = \"Insert\", tn = \"Meta\", en = \"Pause\", nn = \"ScrollLock\", on = \"Shift\", sn = \"Space\", cn = \"Tab\", Ut = \"animationDuration\", Wt = \"animationDelay\", F = \"animationName\", D = \"animationend\", Rt = \"transitionDuration\", Qt = \"transitionDelay\", C = \"transitionend\", U = \"transitionProperty\", rn = \"addEventListener\", an = \"removeEventListener\", un = {\n linear: \"linear\",\n easingSinusoidalIn: \"cubic-bezier(0.47,0,0.745,0.715)\",\n easingSinusoidalOut: \"cubic-bezier(0.39,0.575,0.565,1)\",\n easingSinusoidalInOut: \"cubic-bezier(0.445,0.05,0.55,0.95)\",\n easingQuadraticIn: \"cubic-bezier(0.550,0.085,0.680,0.530)\",\n easingQuadraticOut: \"cubic-bezier(0.250,0.460,0.450,0.940)\",\n easingQuadraticInOut: \"cubic-bezier(0.455,0.030,0.515,0.955)\",\n easingCubicIn: \"cubic-bezier(0.55,0.055,0.675,0.19)\",\n easingCubicOut: \"cubic-bezier(0.215,0.61,0.355,1)\",\n easingCubicInOut: \"cubic-bezier(0.645,0.045,0.355,1)\",\n easingQuarticIn: \"cubic-bezier(0.895,0.03,0.685,0.22)\",\n easingQuarticOut: \"cubic-bezier(0.165,0.84,0.44,1)\",\n easingQuarticInOut: \"cubic-bezier(0.77,0,0.175,1)\",\n easingQuinticIn: \"cubic-bezier(0.755,0.05,0.855,0.06)\",\n easingQuinticOut: \"cubic-bezier(0.23,1,0.32,1)\",\n easingQuinticInOut: \"cubic-bezier(0.86,0,0.07,1)\",\n easingExponentialIn: \"cubic-bezier(0.95,0.05,0.795,0.035)\",\n easingExponentialOut: \"cubic-bezier(0.19,1,0.22,1)\",\n easingExponentialInOut: \"cubic-bezier(1,0,0,1)\",\n easingCircularIn: \"cubic-bezier(0.6,0.04,0.98,0.335)\",\n easingCircularOut: \"cubic-bezier(0.075,0.82,0.165,1)\",\n easingCircularInOut: \"cubic-bezier(0.785,0.135,0.15,0.86)\",\n easingBackIn: \"cubic-bezier(0.6,-0.28,0.735,0.045)\",\n easingBackOut: \"cubic-bezier(0.175,0.885,0.32,1.275)\",\n easingBackInOut: \"cubic-bezier(0.68,-0.55,0.265,1.55)\"\n}, ln = \"offsetHeight\", dn = \"offsetWidth\", pn = \"scrollHeight\", mn = \"scrollWidth\", fn = \"tabindex\", jt = navigator.userAgentData, A = jt, { userAgent: qt } = navigator, S = qt, z = /iPhone|iPad|iPod|Android/i;\nlet O = !1;\nA ? O = A.brands.some((t) => z.test(t.brand)) : O = z.test(S);\nconst gn = O, x = /(iPhone|iPod|iPad)/, vn = A ? A.brands.some((t) => x.test(t.brand)) : (\n /* istanbul ignore next */\n x.test(S)\n), En = S ? S.includes(\"Firefox\") : (\n /* istanbul ignore next */\n !1\n), { head: N } = document, bn = [\"webkitPerspective\", \"perspective\"].some((t) => t in N.style), Gt = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(e, n, s);\n}, Jt = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(e, n, s);\n}, Kt = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Jt(t, e, s, o));\n };\n Gt(t, e, s, o);\n}, Xt = () => {\n}, hn = (() => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n Kt(document, P, Xt, e);\n } catch {\n }\n return t;\n})(), yn = [\"webkitTransform\", \"transform\"].some((t) => t in N.style), wn = \"ontouchstart\" in window || /* istanbul ignore next */\n\"msMaxTouchPoints\" in navigator, An = [\"webkitAnimation\", \"animation\"].some((t) => t in N.style), Sn = [\"webkitTransition\", \"transition\"].some((t) => t in N.style), Yt = (t, e) => t.getAttribute(e), Nn = (t, e, n) => e.getAttributeNS(t, n), kn = (t, e) => t.hasAttribute(e), Mn = (t, e, n) => e.hasAttributeNS(t, n), Tn = (t, e, n) => t.setAttribute(e, n), Dn = (t, e, n, o) => e.setAttributeNS(t, n, o), Cn = (t, e) => t.removeAttribute(e), On = (t, e, n) => e.removeAttributeNS(t, n), Ln = (t, ...e) => {\n t.classList.add(...e);\n}, In = (t, ...e) => {\n t.classList.remove(...e);\n}, zn = (t, e) => t.classList.contains(e), { body: xn } = document, { documentElement: Vn } = document, Bn = (t) => Array.from(t), v = (t) => t != null && typeof t == \"object\" || !1, i = (t) => v(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some((e) => t.nodeType === e) || !1, u = (t) => i(t) && t.nodeType === 1 || !1, E = /* @__PURE__ */ new Map(), L = {\n data: E,\n /**\n * Sets web components data.\n *\n * @param element target element\n * @param component the component's name or a unique key\n * @param instance the component instance\n */\n set: (t, e, n) => {\n if (!u(t)) return;\n E.has(e) || E.set(e, /* @__PURE__ */ new Map()), E.get(e).set(t, n);\n },\n /**\n * Returns all instances for specified component.\n *\n * @param component the component's name or a unique key\n * @returns all the component instances\n */\n getAllFor: (t) => E.get(t) || null,\n /**\n * Returns the instance associated with the target.\n *\n * @param element target element\n * @param component the component's name or a unique key\n * @returns the instance\n */\n get: (t, e) => {\n if (!u(t) || !e) return null;\n const n = L.getAllFor(e);\n return t && n && n.get(t) || null;\n },\n /**\n * Removes web components data.\n *\n * @param element target element\n * @param component the component's name or a unique key\n */\n remove: (t, e) => {\n const n = L.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && E.delete(e));\n }\n}, Hn = (t, e) => L.get(t, e), k = (t) => typeof t == \"string\" || !1, W = (t) => v(t) && t.constructor.name === \"Window\" || !1, R = (t) => i(t) && t.nodeType === 9 || !1, d = (t) => W(t) ? t.document : R(t) ? t : i(t) ? t.ownerDocument : window.document, M = (t, ...e) => Object.assign(t, ...e), Zt = (t) => {\n if (!t) return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = Zt(e);\n if (!n) return;\n const o = { ...t };\n return delete o.tagName, M(n, o);\n}, $t = (t, e) => {\n if (!t || !e) return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = $t(t, n);\n if (!o) return;\n const s = { ...e };\n return delete s.tagName, M(o, s);\n}, Q = (t, e) => t.dispatchEvent(e), Pn = (t, e, n) => n.indexOf(t) === e, g = (t, e) => {\n const n = getComputedStyle(t), o = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return n.getPropertyValue(o);\n}, _t = (t) => {\n const e = g(t, F), n = g(t, Wt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, te = (t) => {\n const e = g(t, F), n = g(t, Ut), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, Fn = (t, e) => {\n let n = 0;\n const o = new Event(D), s = te(t), r = _t(t);\n if (s) {\n const a = (l) => {\n l.target === t && (e.apply(t, [l]), t.removeEventListener(D, a), n = 1);\n };\n t.addEventListener(D, a), setTimeout(() => {\n n || Q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ee = (t) => {\n const e = g(t, U), n = g(t, Qt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : (\n /* istanbul ignore next */\n 0\n );\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, ne = (t) => {\n const e = g(t, U), n = g(t, Rt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : (\n /* istanbul ignore next */\n 0\n );\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, Un = (t, e) => {\n let n = 0;\n const o = new Event(C), s = ne(t), r = ee(t);\n if (s) {\n const a = (l) => {\n l.target === t && (e.apply(t, [l]), t.removeEventListener(C, a), n = 1);\n };\n t.addEventListener(C, a), setTimeout(() => {\n n || Q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, Wn = (t) => Float32Array.from(Array.from(t)), Rn = (t) => Float64Array.from(Array.from(t)), Qn = (t, e) => t.focus(e), V = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, w = (t) => Object.entries(t), oe = (t) => t.toLowerCase(), jn = (t, e, n, o) => {\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, l = {}, p = \"title\";\n return w(r).forEach(([c, m]) => {\n const y = o && typeof c == \"string\" && c.includes(o) ? c.replace(o, \"\").replace(/[A-Z]/g, (j) => oe(j)) : c;\n l[y] = V(m);\n }), w(s).forEach(([c, m]) => {\n s[c] = V(m);\n }), w(e).forEach(([c, m]) => {\n c in s ? a[c] = s[c] : c in l ? a[c] = l[c] : a[c] = c === p ? Yt(t, p) : m;\n }), a;\n}, qn = (t, e) => v(t) && (Object.hasOwn(t, e) || e in t), Gn = (t) => Object.keys(t), Jn = (t) => Object.values(t), Kn = (t) => Object.fromEntries(t), Xn = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return v(e) && M(n, e), n;\n}, Yn = { passive: !0 }, Zn = (t) => t.offsetHeight, $n = (t, e) => {\n w(e).forEach(([n, o]) => {\n if (o && k(n) && n.includes(\"--\"))\n t.style.setProperty(n, o);\n else {\n const s = {};\n s[n] = o, M(t.style, s);\n }\n });\n}, I = (t) => v(t) && t.constructor.name === \"Map\" || !1, se = (t) => typeof t == \"number\" || !1, f = /* @__PURE__ */ new Map(), _n = {\n /**\n * Sets a new timeout timer for an element, or element -> key association.\n *\n * @param element target element\n * @param callback the callback\n * @param delay the execution delay\n * @param key a unique key\n */\n set: (t, e, n, o) => {\n u(t) && (o && o.length ? (f.has(t) || f.set(t, /* @__PURE__ */ new Map()), f.get(t).set(o, setTimeout(e, n))) : f.set(t, setTimeout(e, n)));\n },\n /**\n * Returns the timer associated with the target.\n *\n * @param element target element\n * @param key a unique\n * @returns the timer\n */\n get: (t, e) => {\n if (!u(t)) return null;\n const n = f.get(t);\n return e && n && I(n) ? n.get(e) || /* istanbul ignore next */\n null : se(n) ? n : null;\n },\n /**\n * Clears the element's timer.\n *\n * @param element target element\n * @param key a unique key\n */\n clear: (t, e) => {\n if (!u(t)) return;\n const n = f.get(t);\n e && e.length && I(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && f.delete(t)) : (clearTimeout(n), f.delete(t));\n }\n}, to = (t) => t.toUpperCase(), h = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: l } = t.getBoundingClientRect();\n let p = 1, c = 1;\n if (e && u(t)) {\n const { offsetWidth: m, offsetHeight: y } = t;\n p = m > 0 ? Math.round(n) / m : (\n /* istanbul ignore next */\n 1\n ), c = y > 0 ? Math.round(o) / y : (\n /* istanbul ignore next */\n 1\n );\n }\n return {\n width: n / p,\n height: o / c,\n top: s / c,\n right: r / p,\n bottom: a / c,\n left: l / p,\n x: l / p,\n y: s / c\n };\n}, eo = (t) => d(t).body, T = (t) => d(t).documentElement, no = (t) => d(t).head, oo = (t) => {\n const e = W(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, ce = (t) => i(t) && t.constructor.name === \"ShadowRoot\" || !1, so = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || // step into the shadow DOM of the parent of a slotted node\ni(t) && t.parentNode || // DOM Element detected\nce(t) && t.host || // ShadowRoot detected\nT(t), re = (t) => {\n if (!u(t)) return !1;\n const { width: e, height: n } = h(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, co = (t, e, n) => {\n const o = u(e), s = h(t, o && re(e)), r = { x: 0, y: 0 };\n if (o) {\n const a = h(e, !0);\n r.x = a.x + e.clientLeft, r.y = a.y + e.clientTop;\n }\n return {\n x: s.left + n.x - r.x,\n y: s.top + n.y - r.y,\n width: s.width,\n height: s.height\n };\n};\nlet B = 0, H = 0;\nconst b = /* @__PURE__ */ new Map(), ae = (t, e) => {\n let n = e ? B : H;\n if (e) {\n const o = ae(t), s = b.get(o) || /* @__PURE__ */ new Map();\n b.has(o) || b.set(o, s), I(s) && !s.has(e) ? (s.set(e, n), B += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n b.has(o) ? n = b.get(o) : (b.set(o, n), H += 1);\n }\n return n;\n}, ro = (t) => {\n var e;\n return t ? R(t) ? t.defaultView : i(t) ? (e = t == null ? void 0 : t.ownerDocument) == null ? void 0 : e.defaultView : t : window;\n}, ie = (t) => Array.isArray(t) || !1, ao = (t) => i(t) && t.nodeName === \"CANVAS\" || !1, ue = (t) => u(t) && !!t.shadowRoot || !1, io = (t) => i(t) && [1, 2, 3, 4, 5, 6, 7, 8].some((e) => t.nodeType === e) || !1, uo = (t) => {\n if (!i(t)) return !1;\n const { top: e, bottom: n } = h(t), { clientHeight: o } = T(t);\n return e <= o && n >= 0;\n}, lo = (t) => {\n if (!i(t)) return !1;\n const { clientWidth: e, clientHeight: n } = T(t), { top: o, left: s, bottom: r, right: a } = h(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, po = (t) => ie(t) && t.every(u) || !1, mo = (t) => typeof t == \"function\" || !1, fo = (t) => v(t) && t.constructor.name === \"HTMLCollection\" || !1, go = (t) => u(t) && t.tagName === \"IMG\" || !1, vo = (t) => {\n if (!k(t)) return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Eo = (t) => v(t) && t.constructor.name === \"WeakMap\" || !1, bo = (t) => i(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some((e) => t.constructor.name.includes(e)) || !1, ho = (t) => v(t) && t.constructor.name === \"NodeList\" || !1, yo = (t) => T(t).dir === \"rtl\", wo = (t) => i(t) && t.constructor.name.includes(\"SVG\") || !1, Ao = (t) => i(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, le = (t, e) => t ? t.closest(e) || // break out of `ShadowRoot`\nle(t.getRootNode().host, e) : null, So = (t, e) => u(t) ? t : (i(e) ? e : d()).querySelector(t), de = (t, e) => (i(e) ? e : d()).getElementsByTagName(t), No = (t) => [...de(\"*\", t)].filter(ue), ko = (t, e) => d(e).getElementById(t) || null, Mo = (t, e) => (i(e) ? e : d()).querySelectorAll(t), To = (t, e) => (e && i(e) ? e : d()).getElementsByClassName(\n t\n), Do = (t, e) => t.matches(e), Co = \"2.0.3\";\nexport {\n Bn as ArrayFrom,\n P as DOMContentLoadedEvent,\n Y as DOMMouseScrollEvent,\n L as Data,\n Wn as Float32ArrayFrom,\n Rn as Float64ArrayFrom,\n M as ObjectAssign,\n w as ObjectEntries,\n Kn as ObjectFromEntries,\n qn as ObjectHasOwn,\n Gn as ObjectKeys,\n Jn as ObjectValues,\n _n as Timer,\n q as abortEvent,\n Ln as addClass,\n rn as addEventListener,\n Wt as animationDelay,\n Ut as animationDuration,\n D as animationEndEvent,\n F as animationName,\n pe as ariaChecked,\n fe as ariaDescribedBy,\n me as ariaDescription,\n ge as ariaExpanded,\n ve as ariaHasPopup,\n Ee as ariaHidden,\n be as ariaLabel,\n he as ariaLabelledBy,\n ye as ariaModal,\n we as ariaPressed,\n Ae as ariaSelected,\n Ne as ariaValueMax,\n Se as ariaValueMin,\n ke as ariaValueNow,\n Me as ariaValueText,\n G as beforeunloadEvent,\n un as bezierEasings,\n J as blurEvent,\n K as changeEvent,\n le as closest,\n X as contextmenuEvent,\n Xn as createCustomEvent,\n Zt as createElement,\n $t as createElementNS,\n Q as dispatchEvent,\n Pn as distinct,\n xn as documentBody,\n Vn as documentElement,\n N as documentHead,\n De as dragEvent,\n ze as dragendEvent,\n Oe as dragenterEvent,\n Le as dragleaveEvent,\n Ie as dragoverEvent,\n Ce as dragstartEvent,\n Fn as emulateAnimationEnd,\n Un as emulateTransitionEnd,\n Z as errorEvent,\n Qn as focus,\n $ as focusEvent,\n Fe as focusEvents,\n _ as focusinEvent,\n tt as focusoutEvent,\n et as gesturechangeEvent,\n nt as gestureendEvent,\n ot as gesturestartEvent,\n Yt as getAttribute,\n Nn as getAttributeNS,\n h as getBoundingClientRect,\n No as getCustomElements,\n d as getDocument,\n eo as getDocumentBody,\n T as getDocumentElement,\n no as getDocumentHead,\n _t as getElementAnimationDelay,\n te as getElementAnimationDuration,\n ko as getElementById,\n g as getElementStyle,\n ee as getElementTransitionDelay,\n ne as getElementTransitionDuration,\n To as getElementsByClassName,\n de as getElementsByTagName,\n Hn as getInstance,\n oo as getNodeScroll,\n so as getParentNode,\n co as getRectRelativeToOffsetParent,\n ae as getUID,\n ro as getWindow,\n kn as hasAttribute,\n Mn as hasAttributeNS,\n zn as hasClass,\n vn as isApple,\n ie as isArray,\n ao as isCanvas,\n ue as isCustomElement,\n R as isDocument,\n io as isElement,\n uo as isElementInScrollRange,\n lo as isElementInViewport,\n po as isElementsArray,\n En as isFirefox,\n mo as isFunction,\n fo as isHTMLCollection,\n u as isHTMLElement,\n go as isHTMLImageElement,\n vo as isJSON,\n I as isMap,\n bo as isMedia,\n gn as isMobile,\n i as isNode,\n ho as isNodeList,\n se as isNumber,\n v as isObject,\n yo as isRTL,\n wo as isSVGElement,\n re as isScaledElement,\n ce as isShadowRoot,\n k as isString,\n Ao as isTableElement,\n Eo as isWeakMap,\n W as isWindow,\n We as keyAlt,\n Re as keyArrowDown,\n je as keyArrowLeft,\n qe as keyArrowRight,\n Qe as keyArrowUp,\n Ge as keyBackspace,\n Je as keyCapsLock,\n Ke as keyControl,\n Xe as keyDelete,\n Ye as keyEnter,\n $e as keyEscape,\n _e as keyInsert,\n tn as keyMeta,\n Ze as keyNumpadEnter,\n en as keyPause,\n nn as keyScrollLock,\n on as keyShift,\n sn as keySpace,\n cn as keyTab,\n Ue as keyboardEventKeys,\n st as keydownEvent,\n ct as keypressEvent,\n rt as keyupEvent,\n at as loadEvent,\n xe as loadstartEvent,\n Do as matches,\n Be as mouseClickEvents,\n He as mouseHoverEvents,\n Ve as mouseSwipeEvents,\n it as mouseclickEvent,\n ut as mousedblclickEvent,\n lt as mousedownEvent,\n mt as mouseenterEvent,\n pt as mousehoverEvent,\n gt as mouseinEvent,\n ft as mouseleaveEvent,\n bt as mousemoveEvent,\n vt as mouseoutEvent,\n Et as mouseoverEvent,\n dt as mouseupEvent,\n ht as mousewheelEvent,\n yt as moveEvent,\n Te as nativeEvents,\n Xt as noop,\n jn as normalizeOptions,\n V as normalizeValue,\n Jt as off,\n ln as offsetHeight,\n dn as offsetWidth,\n Gt as on,\n Kt as one,\n wt as orientationchangeEvent,\n Yn as passiveHandler,\n At as pointercancelEvent,\n St as pointerdownEvent,\n Nt as pointerleaveEvent,\n kt as pointermoveEvent,\n Mt as pointerupEvent,\n So as querySelector,\n Mo as querySelectorAll,\n Tt as readystatechangeEvent,\n Zn as reflow,\n Cn as removeAttribute,\n On as removeAttributeNS,\n In as removeClass,\n an as removeEventListener,\n Dt as resetEvent,\n Ct as resizeEvent,\n zt as scrollEvent,\n pn as scrollHeight,\n mn as scrollWidth,\n Ot as selectEvent,\n Lt as selectendEvent,\n It as selectstartEvent,\n Tn as setAttribute,\n Dn as setAttributeNS,\n $n as setElementStyle,\n xt as submitEvent,\n bn as support3DTransform,\n An as supportAnimation,\n hn as supportPassive,\n wn as supportTouch,\n yn as supportTransform,\n Sn as supportTransition,\n fn as tabindex,\n oe as toLowerCase,\n to as toUpperCase,\n Pe as touchEvents,\n Ht as touchcancelEvent,\n Pt as touchendEvent,\n Bt as touchmoveEvent,\n Vt as touchstartEvent,\n Qt as transitionDelay,\n Rt as transitionDuration,\n C as transitionEndEvent,\n U as transitionProperty,\n Ft as unloadEvent,\n S as userAgent,\n A as userAgentData,\n Co as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const e = {}, f = (t) => {\n const { type: c, currentTarget: i } = t;\n [...e[c]].forEach(([n, s]) => {\n i === n && [...s].forEach(([o, a]) => {\n o.apply(n, [t]), typeof a == \"object\" && a.once && r(n, c, o, a);\n });\n });\n}, E = (t, c, i, n) => {\n e[c] || (e[c] = /* @__PURE__ */ new Map());\n const s = e[c];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(t), { size: a } = o;\n o.set(i, n), a || t.addEventListener(c, f, n);\n}, r = (t, c, i, n) => {\n const s = e[c], o = s && s.get(t), a = o && o.get(i), d = a !== void 0 ? a : n;\n o && o.has(i) && o.delete(i), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[c], (!o || !o.size) && t.removeEventListener(\n c,\n f,\n d\n );\n}, g = E, M = r;\nexport {\n E as addListener,\n f as globalListener,\n M as off,\n g as on,\n e as registry,\n r as removeListener\n};\n//# sourceMappingURL=event-listener.mjs.map\n","/**\n * Global namespace for most components `fade` class.\n */\nconst fadeClass = 'fade';\nexport default fadeClass;\n","/**\n * Global namespace for most components `show` class.\n */\nconst showClass = 'show';\nexport default showClass;\n","/**\n * Global namespace for most components `dismiss` option.\n */\nconst dataBsDismiss = 'data-bs-dismiss';\nexport default dataBsDismiss;\n","/** @type {string} */\nconst alertString = 'alert';\nexport default alertString;\n","/** @type {string} */\nconst alertComponent = 'Alert';\nexport default alertComponent;\n","import { version } from '../package.json';\n\nconst Version = version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport { querySelector, normalizeOptions, Data, ObjectKeys, isString } from '@thednp/shorty';\n\nimport type { BaseOptions } from '../interface/baseComponent';\nimport Version from '../version';\n\n/** Returns a new `BaseComponent` instance. */\nexport default class BaseComponent {\n declare element: HTMLElement;\n declare options?: BaseOptions;\n\n /**\n * @param target `HTMLElement` or selector string\n * @param config component instance options\n */\n constructor(target: HTMLElement | string, config?: BaseOptions) {\n const element = querySelector(target);\n\n if (!element) {\n if (isString(target)) {\n throw Error(`${this.name} Error: \"${target}\" is not a valid selector.`);\n } else {\n throw Error(`${this.name} Error: your target is not an instance of HTMLElement.`);\n }\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else */\n if (prevInstance) {\n // remove previously attached event listeners\n // to avoid memory leaks\n prevInstance._toggleEventListeners();\n }\n\n this.element = element;\n this.options =\n this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, 'bs')\n : {};\n\n Data.set(element, this.name, this);\n }\n\n /* istanbul ignore next */\n get version() {\n return Version;\n }\n\n /* istanbul ignore next */\n get name() {\n return 'BaseComponent';\n }\n\n /* istanbul ignore next */\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n _toggleEventListeners = () => {\n // do something to please linters\n };\n\n /** Removes component from target element. */\n dispose() {\n Data.remove(this.element, this.name);\n ObjectKeys(this).forEach(prop => {\n delete this[prop];\n });\n }\n}\n","/* Native JavaScript for Bootstrap 5 | Alert\n-------------------------------------------- */\nimport {\n emulateTransitionEnd,\n mouseclickEvent,\n getInstance,\n querySelector,\n hasClass,\n removeClass,\n dispatchEvent,\n createCustomEvent,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport alertString from '../strings/alertString';\nimport alertComponent from '../strings/alertComponent';\nimport type { AlertEvent } from '../interface/alert';\n\nimport BaseComponent from './base-component';\n\n// ALERT PRIVATE GC\n// ================\nconst alertSelector = `.${alertString}`;\nconst alertDismissSelector = `[${dataBsDismiss}=\"${alertString}\"]`;\n\n/**\n * Static method which returns an existing `Alert` instance associated\n * to a target `Element`.\n *\n */\nconst getAlertInstance = (element: HTMLElement) => getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: HTMLElement) => new Alert(element) as T;\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent(`close.bs.${alertString}`);\nconst closedAlertEvent = createCustomEvent(`closed.bs.${alertString}`);\n\n// ALERT EVENT HANDLER\n// ===================\n/**\n * Alert `transitionend` callback.\n *\n * @param that target Alert instance\n */\nconst alertTransitionEnd = (self: Alert) => {\n const { element } = self;\n dispatchEvent(element, closedAlertEvent);\n\n self._toggleEventListeners();\n self.dispose();\n element.remove();\n};\n\n// ALERT DEFINITION\n// ================\n/** Creates a new Alert instance. */\nexport default class Alert extends BaseComponent {\n static selector = alertSelector;\n static init = alertInitCallback;\n static getInstance = getAlertInstance;\n dismiss: HTMLElement | null;\n\n constructor(target: HTMLElement | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(alertDismissSelector, this.element);\n\n // add event listener\n this._toggleEventListeners(true);\n }\n\n /** Returns component name string. */\n get name() {\n return alertComponent;\n }\n\n // ALERT PUBLIC METHODS\n // ====================\n /**\n * Public method that hides the `.alert` element from the user,\n * disposes the instance once animation is complete, then\n * removes the element from the DOM.\n */\n close = () => {\n const { element } = this;\n\n /* istanbul ignore else */\n if (element && hasClass(element, showClass)) {\n dispatchEvent(element, closeAlertEvent);\n\n if (!closeAlertEvent.defaultPrevented) {\n removeClass(element, showClass);\n\n if (hasClass(element, fadeClass)) {\n emulateTransitionEnd(element, () => alertTransitionEnd(this));\n } else alertTransitionEnd(this);\n }\n }\n };\n /**\n * Toggle on / off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { dismiss, close } = this;\n /* istanbul ignore else */\n if (dismiss) action(dismiss, mouseclickEvent, close);\n };\n\n /** Remove the component from target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/**\n * Global namespace for most components active class.\n */\nconst activeClass = 'active';\nexport default activeClass;\n","/**\n * Global namespace for most components `toggle` option.\n */\nconst dataBsToggle = 'data-bs-toggle';\nexport default dataBsToggle;\n","/** @type {string} */\nconst buttonString = 'button';\nexport default buttonString;\n","/** @type {string} */\nconst buttonComponent = 'Button';\nexport default buttonComponent;\n","/* Native JavaScript for Bootstrap 5 | Button\n---------------------------------------------*/\nimport {\n getInstance,\n removeClass,\n hasClass,\n addClass,\n setAttribute,\n mouseclickEvent,\n ariaPressed,\n getAttribute,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport buttonString from '../strings/buttonString';\nimport buttonComponent from '../strings/buttonComponent';\n\nimport BaseComponent from './base-component';\n\n// BUTTON PRIVATE GC\n// =================\nconst buttonSelector = `[${dataBsToggle}=\"${buttonString}\"]`;\n\n/**\n * Static method which returns an existing `Button` instance associated\n * to a target `Element`.\n */\nconst getButtonInstance = (element: HTMLElement) => getInstance',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n *\n */\nconst getPopoverInstance = (element: HTMLElement) => getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: HTMLElement) => new Popover(element);\n\n// POPOVER DEFINITION\n// ==================\n/** Returns a new `Popover` instance. */\nexport default class Popover extends Tooltip {\n static selector = popoverSelector;\n static init = popoverInitCallback;\n static getInstance = getPopoverInstance;\n static styleTip = styleTip;\n declare options: PopoverOptions;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return popoverComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return popoverDefaults;\n }\n\n /* extend original `show()` */\n show = () => {\n super.show();\n // btn only exists within dismissible popover\n const { options, btn } = this;\n /* istanbul ignore else */\n if (options.dismissible && btn) setTimeout(() => focus(btn), 17);\n };\n}\n","/** @type {string} */\nconst scrollspyString = 'scrollspy';\nexport default scrollspyString;\n","/** @type {string} */\nconst scrollspyComponent = 'ScrollSpy';\nexport default scrollspyComponent;\n","/* Native JavaScript for Bootstrap 5 | ScrollSpy\n------------------------------------------------ */\nimport {\n getDocumentBody,\n getDocumentElement,\n getDocument,\n getWindow,\n removeClass,\n hasClass,\n addClass,\n getElementsByTagName,\n getAttribute,\n querySelector,\n isHTMLElement,\n isWindow,\n createCustomEvent,\n getInstance,\n scrollEvent,\n passiveHandler,\n dispatchEvent,\n getBoundingClientRect,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport scrollspyString from '../strings/scrollspyString';\nimport scrollspyComponent from '../strings/scrollspyComponent';\n\nimport BaseComponent from './base-component';\nimport { ScrollSpyOptions, ScrollSpyEvent } from '../interface/scrollspy';\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: ScrollSpyOptions = {\n offset: 10,\n target: null,\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: HTMLElement) => getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: HTMLElement) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent(`activate.bs.${scrollspyString}`);\n\n// SCROLLSPY PRIVATE METHODS\n// =========================\n/**\n * Update the state of all items.\n *\n * @param self the `ScrollSpy` instance\n */\nconst updateSpyTargets = (self: ScrollSpy) => {\n const { target, scrollTarget, options, itemsLength, scrollHeight, element } = self;\n const { offset } = options;\n const isWin = isWindow(scrollTarget as Node | Window);\n\n const links = target && getElementsByTagName('A', target);\n const scrollHEIGHT = scrollTarget ? getScrollHeight(scrollTarget) : /* istanbul ignore next */ scrollHeight;\n\n self.scrollTop = isWin ? (scrollTarget as Window).scrollY : (scrollTarget as HTMLElement).scrollTop;\n\n // only update items/offsets once or with each mutation\n /* istanbul ignore else */\n if (links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)) {\n let href;\n let targetItem;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n [...links].forEach(link => {\n href = getAttribute(link, 'href');\n targetItem =\n href && href.charAt(0) === '#' && href.slice(-1) !== '#' && querySelector(href, getDocument(element));\n\n if (targetItem) {\n self.items.push(link);\n rect = getBoundingClientRect(targetItem);\n self.offsets.push((isWin ? rect.top + self.scrollTop : targetItem.offsetTop) - offset);\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Returns the `scrollHeight` property of the scrolling element.\n *\n * @param scrollTarget the `ScrollSpy` instance\n * @return `scrollTarget` height\n */\nconst getScrollHeight = (scrollTarget: Node | Window) => {\n return isHTMLElement(scrollTarget as Node)\n ? (scrollTarget as HTMLElement).scrollHeight\n : getDocumentElement(scrollTarget as Node).scrollHeight;\n};\n\n/**\n * Returns the height property of the scrolling element.\n *\n * @param params the `ScrollSpy` instance\n */\nconst getOffsetHeight = ({ element, scrollTarget }: ScrollSpy) => {\n return isWindow(scrollTarget as Node) ? (scrollTarget as Window).innerHeight : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: HTMLElement) => {\n [...getElementsByTagName('A', target)].forEach(item => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n });\n};\n\n/**\n * Activates a new item.\n *\n * @param self the `ScrollSpy` instance\n * @param item a single item\n */\nconst activate = (self: ScrollSpy, item: HTMLElement) => {\n const { target, element } = self;\n if (isHTMLElement(target)) clear(target);\n self.activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n const parents: HTMLElement[] = [];\n let parentItem = item;\n while (parentItem !== getDocumentBody(element)) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (hasClass(parentItem, 'nav') || hasClass(parentItem, 'dropdown-menu')) parents.push(parentItem);\n }\n\n parents.forEach(menuItem => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n /* istanbul ignore else */\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n });\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\n// SCROLLSPY DEFINITION\n// ====================\n/** Returns a new `ScrollSpy` instance. */\nexport default class ScrollSpy extends BaseComponent {\n static selector = scrollspySelector;\n static init = scrollspyInitCallback;\n static getInstance = getScrollSpyInstance;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement | Window;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // additional properties\n this.target = querySelector(options.target as HTMLElement | string, getDocument(element));\n\n // invalidate\n if (this.target) {\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight ? element : getWindow(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // add event handlers\n this._toggleEventListeners(true);\n\n this.refresh();\n }\n }\n\n /* eslint-disable */\n /**\n * Returns component name string.\n */\n get name() {\n return scrollspyComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return scrollspyDefaults;\n }\n /* eslint-enable */\n\n // SCROLLSPY PUBLIC METHODS\n // ========================\n /** Updates all items. */\n refresh = () => {\n const { target } = this;\n\n // check if target is visible and invalidate\n /* istanbul ignore else */\n if (isHTMLElement(target) && target.offsetHeight > 0) {\n updateSpyTargets(this);\n\n const { scrollTop, maxScroll, itemsLength, items, activeItem } = this;\n\n if (scrollTop >= maxScroll) {\n const newActiveItem = items[itemsLength - 1];\n\n /* istanbul ignore else */\n if (activeItem !== newActiveItem) {\n activate(this, newActiveItem);\n }\n return;\n }\n\n const { offsets } = this;\n\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n if (target) clear(target);\n return;\n }\n\n items.forEach((item, i) => {\n if (\n activeItem !== item &&\n scrollTop >= offsets[i] &&\n (typeof offsets[i + 1] === 'undefined' || scrollTop < offsets[i + 1])\n ) {\n activate(this, item);\n }\n });\n }\n };\n\n /**\n * Toggles on/off the component event listener.\n *\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.scrollTarget as EventTarget, scrollEvent, this.refresh, passiveHandler);\n };\n\n /** Removes `ScrollSpy` from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/** @type {string} */\nconst tabString = 'tab';\nexport default tabString;\n","/** @type {string} */\nconst tabComponent = 'Tab';\nexport default tabComponent;\n","/* Native JavaScript for Bootstrap 5 | Tab\n------------------------------------------ */\nimport {\n emulateTransitionEnd,\n dispatchEvent,\n removeClass,\n hasClass,\n addClass,\n querySelector,\n getElementsByClassName,\n closest,\n setAttribute,\n mouseclickEvent,\n createCustomEvent,\n Timer,\n getInstance,\n ariaSelected,\n reflow,\n isHTMLElement,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport collapsingClass from '../strings/collapsingClass';\nimport activeClass from '../strings/activeClass';\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dropdownClasses from '../strings/dropdownClasses';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport tabString from '../strings/tabString';\nimport tabComponent from '../strings/tabComponent';\n\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport type { /* TabOptions, */ TabEvent } from '../interface/tab';\n\n// TAB PRIVATE GC\n// ================\nconst tabSelector = `[${dataBsToggle}=\"${tabString}\"]`;\n\n/**\n * Static method which returns an existing `Tab` instance associated\n * to a target `Element`.\n */\nconst getTabInstance = (element: HTMLElement) => getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: HTMLElement) => new Tab(element);\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(`show.bs.${tabString}`);\nconst shownTabEvent = createCustomEvent(`shown.bs.${tabString}`);\nconst hideTabEvent = createCustomEvent(`hide.bs.${tabString}`);\nconst hiddenTabEvent = createCustomEvent(`hidden.bs.${tabString}`);\n\ninterface TabPrivate {\n tab: HTMLElement | null;\n content: HTMLElement | null;\n currentHeight: number;\n nextHeight: number;\n}\n\n/**\n * Stores the current active tab and its content\n * for a given `.nav` element.\n */\nconst tabPrivate: Map = new Map();\n\n// TAB PRIVATE METHODS\n// ===================\n/**\n * Executes after tab transition has finished.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabEnd = (self: Tab) => {\n const { tabContent, nav } = self;\n\n /* istanbul ignore else */\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = '';\n removeClass(tabContent, collapsingClass);\n }\n\n /* istanbul ignore else */\n if (nav) Timer.clear(nav);\n};\n\n/**\n * Executes before showing the tab content.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabShow = (self: Tab) => {\n const { element, tabContent, content: nextContent, nav } = self;\n const { tab } = (isHTMLElement(nav) && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null };\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) || /* istanbul ignore next */ {\n currentHeight: 0,\n nextHeight: 0,\n };\n if (currentHeight === nextHeight) {\n triggerTabEnd(self);\n } else {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n }\n } else if (nav) Timer.clear(nav);\n\n shownTabEvent.relatedTarget = tab as HTMLElement | undefined;\n\n dispatchEvent(element, shownTabEvent);\n};\n\n/**\n * Executes before hiding the tab.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabHide = (self: Tab) => {\n const { element, content: nextContent, tabContent, nav } = self;\n const { tab, content } = (nav && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null, content: null };\n let currentHeight = 0;\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach(c => {\n if (isHTMLElement(c)) addClass(c, 'overflow-hidden');\n });\n currentHeight = isHTMLElement(content) ? content.scrollHeight : /* istanbul ignore next */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element;\n dispatchEvent(element, showTabEvent);\n\n if (!showTabEvent.defaultPrevented) {\n if (nextContent) addClass(nextContent, activeClass);\n if (content) removeClass(content, activeClass);\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, { currentHeight, nextHeight, tab: null, content: null });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach(c => {\n if (c) removeClass(c, 'overflow-hidden');\n });\n }\n\n if (nextContent && nextContent && hasClass(nextContent, fadeClass)) {\n setTimeout(() => {\n addClass(nextContent, showClass);\n emulateTransitionEnd(nextContent, () => {\n triggerTabShow(self);\n });\n }, 1);\n } else {\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n if (tab) dispatchEvent(tab, hiddenTabEvent);\n }\n};\n\n/**\n * Returns the current active tab and its target content.\n *\n * @param self the `Tab` instance\n * @returns the query result\n */\nconst getActiveTab = (self: Tab): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n /* istanbul ignore next */\n if (!isHTMLElement(nav as HTMLElement | undefined)) return { tab: null, content: null };\n\n const activeTabs = getElementsByClassName(activeClass, nav as HTMLElement);\n let tab: HTMLElement | null = null;\n /* istanbul ignore else */\n if (activeTabs.length === 1 && !dropdownClasses.some(c => hasClass(activeTabs[0].parentElement as HTMLElement, c))) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab as HTMLElement) ? getTargetElement(tab as HTMLElement) : null;\n return { tab, content };\n};\n\n/**\n * Returns a parent dropdown.\n *\n * @param element the `Tab` element\n * @returns the parent dropdown\n */\nconst getParentDropdown = (element?: HTMLElement): HTMLElement | null => {\n /* istanbul ignore next */\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(',.')}`);\n return dropdown ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown) : null;\n};\n\n// TAB EVENT HANDLER\n// =================\n/**\n * Handles the `click` event listener.\n *\n * @param e the `Event` object\n */\nconst tabClickHandler = (e: Event) => {\n const self = getTabInstance(e.target as HTMLElement);\n\n /* istanbul ignore else */\n if (self) {\n e.preventDefault();\n self.show();\n }\n};\n\n// TAB DEFINITION\n// ==============\n/** Creates a new `Tab` instance. */\nexport default class Tab extends BaseComponent {\n static selector = tabSelector;\n static init = tabInitCallback;\n static getInstance = getTabInstance;\n declare nav: HTMLElement | null;\n declare content: HTMLElement | null;\n declare tabContent: HTMLElement | null;\n declare nextContent: HTMLElement | null;\n declare dropdown: HTMLElement | null;\n\n /** @param target the target element */\n constructor(target: HTMLElement | string) {\n super(target);\n\n // initialization element\n const { element } = this;\n const content = getTargetElement(element);\n\n // no point initializing a tab without a corresponding content\n /* istanbul ignore else */\n if (content) {\n const nav = closest(element, '.nav');\n const container = closest(content, '.tab-content');\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element);\n\n // show first Tab instance of none is shown\n // suggested on #432\n const { tab } = getActiveTab(this);\n if (nav && !tab) {\n const firstTab = querySelector(tabSelector, nav);\n const firstTabContent = firstTab && getTargetElement(firstTab);\n\n /* istanbul ignore else */\n if (firstTabContent) {\n addClass(firstTab, activeClass);\n addClass(firstTabContent, showClass);\n addClass(firstTabContent, activeClass);\n setAttribute(element, ariaSelected, 'true');\n }\n }\n\n // add event listener\n this._toggleEventListeners(true);\n }\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return tabComponent;\n }\n\n // TAB PUBLIC METHODS\n // ==================\n /** Shows the tab to the user. */\n show() {\n const { element, content: nextContent, nav, dropdown } = this;\n\n /* istanbul ignore else */\n if (!(nav && Timer.get(nav)) && !hasClass(element, activeClass)) {\n const { tab, content } = getActiveTab(this);\n\n /* istanbul ignore else */\n if (nav) tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element;\n\n /* istanbul ignore else */\n if (isHTMLElement(tab)) {\n dispatchEvent(tab as EventTarget, hideTabEvent);\n /* istanbul ignore else */\n if (!hideTabEvent.defaultPrevented) {\n addClass(element, activeClass);\n setAttribute(element, ariaSelected, 'true');\n\n const activeDropdown = isHTMLElement(tab) && getParentDropdown(tab);\n if (activeDropdown && hasClass(activeDropdown, activeClass)) {\n removeClass(activeDropdown, activeClass);\n }\n\n /* istanbul ignore else */\n if (nav) {\n const toggleTab = () => {\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, 'false');\n }\n if (dropdown && !hasClass(dropdown, activeClass)) addClass(dropdown, activeClass);\n };\n\n if (content && (hasClass(content, fadeClass) || (nextContent && hasClass(nextContent, fadeClass)))) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n if (content) {\n removeClass(content, showClass);\n if (hasClass(content, fadeClass)) {\n emulateTransitionEnd(content, () => triggerTabHide(this));\n } else {\n triggerTabHide(this);\n }\n }\n }\n }\n }\n }\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.element, mouseclickEvent, tabClickHandler);\n };\n\n /** Removes the `Tab` component from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/** @type {string} */\nconst toastString = 'toast';\nexport default toastString;\n","/** @type {string} */\nconst toastComponent = 'Toast';\nexport default toastComponent;\n","/* Native JavaScript for Bootstrap 5 | Toast\n-------------------------------------------- */\nimport {\n mouseclickEvent,\n closest,\n removeClass,\n hasClass,\n addClass,\n focusoutEvent,\n focusinEvent,\n mouseleaveEvent,\n mouseenterEvent,\n createCustomEvent,\n getDocument,\n Timer,\n getInstance,\n reflow,\n emulateTransitionEnd,\n dispatchEvent,\n querySelectorAll,\n querySelector,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport toastString from '../strings/toastString';\nimport toastComponent from '../strings/toastComponent';\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport { ToastOptions, ToastEvent } from '../interface/toast';\n\n// TOAST PRIVATE GC\n// ================\nconst toastSelector = `.${toastString}`;\nconst toastDismissSelector = `[${dataBsDismiss}=\"${toastString}\"]`;\nconst toastToggleSelector = `[${dataBsToggle}=\"${toastString}\"]`;\nconst showingClass = 'showing';\n/** @deprecated */\nconst hideClass = 'hide';\n\nconst toastDefaults = {\n animation: true,\n autohide: true,\n delay: 5000,\n};\n\n/**\n * Static method which returns an existing `Toast` instance associated\n * to a target `Element`.\n */\nconst getToastInstance = (element: HTMLElement) => getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: HTMLElement) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent(`show.bs.${toastString}`);\nconst shownToastEvent = createCustomEvent(`shown.bs.${toastString}`);\nconst hideToastEvent = createCustomEvent(`hide.bs.${toastString}`);\nconst hiddenToastEvent = createCustomEvent(`hidden.bs.${toastString}`);\n\n// TOAST PRIVATE METHODS\n// =====================\n/**\n * Executes after the toast is shown to the user.\n *\n * @param self the `Toast` instance\n */\nconst showToastComplete = (self: Toast) => {\n const { element, options } = self;\n removeClass(element, showingClass);\n Timer.clear(element, showingClass);\n\n dispatchEvent(element, shownToastEvent);\n /* istanbul ignore else */\n if (options.autohide) {\n Timer.set(element, () => self.hide(), options.delay, toastString);\n }\n};\n\n/**\n * Executes after the toast is hidden to the user.\n *\n * @param self the `Toast` instance\n */\nconst hideToastComplete = (self: Toast) => {\n const { element } = self;\n removeClass(element, showingClass);\n removeClass(element, showClass);\n addClass(element, hideClass); // B/C\n Timer.clear(element, toastString);\n dispatchEvent(element, hiddenToastEvent);\n};\n\n/**\n * Executes before hiding the toast.\n *\n * @param self the `Toast` instance\n */\nconst hideToast = (self: Toast) => {\n const { element, options } = self;\n addClass(element, showingClass);\n\n if (options.animation) {\n reflow(element);\n emulateTransitionEnd(element, () => hideToastComplete(self));\n } else {\n hideToastComplete(self);\n }\n};\n\n/**\n * Executes before showing the toast.\n *\n * @param self the `Toast` instance\n */\nconst showToast = (self: Toast) => {\n const { element, options } = self;\n Timer.set(\n element,\n () => {\n removeClass(element, hideClass); // B/C\n reflow(element);\n addClass(element, showClass);\n addClass(element, showingClass);\n\n if (options.animation) {\n emulateTransitionEnd(element, () => showToastComplete(self));\n } else {\n showToastComplete(self);\n }\n },\n 17,\n showingClass,\n );\n};\n\n// TOAST EVENT HANDLERS\n// ====================\n/**\n * Executes after the instance has been disposed.\n *\n * @param {Toast} self the `Toast` instance\n */\nconst completeDisposeToast = (self: Toast) => {\n Timer.clear(self.element, toastString);\n self._toggleEventListeners();\n};\n\n/**\n * Handles the `click` event listener for toast.\n *\n * @param e the `Event` object\n */\nconst toastClickHandler = (e: Event) => {\n const { target } = e;\n\n const trigger = target && closest(target as HTMLElement, toastToggleSelector);\n const element = trigger && getTargetElement(trigger);\n const self = element && getToastInstance(element);\n\n /* istanbul ignore else */\n if (self) {\n /* istanbul ignore else */\n if (trigger && trigger.tagName === 'A') e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\n }\n};\n\n/**\n * Executes when user interacts with the toast without closing it,\n * usually by hovering or focusing it.\n *\n * @param e the `Toast` instance\n */\nconst interactiveToastHandler = (e: MouseEvent) => {\n const element = e.target as HTMLElement;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n /* istanbul ignore else: a solid filter is required */\n if (self && element !== relatedTarget && !element.contains(relatedTarget as Node)) {\n if ([mouseenterEvent, focusinEvent].includes(type)) {\n Timer.clear(element, toastString);\n } else {\n Timer.set(element, () => self.hide(), self.options.delay, toastString);\n }\n }\n};\n\n// TOAST DEFINITION\n// ================\n/** Creates a new `Toast` instance. */\nexport default class Toast extends BaseComponent {\n static selector = toastSelector;\n static init = toastInitCallback;\n static getInstance = getToastInstance;\n declare options: ToastOptions;\n declare dismiss: HTMLElement | null;\n declare triggers: HTMLElement[];\n declare relatedTarget: HTMLElement | null;\n\n /**\n * @param target the target `.toast` element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n const { element, options } = this;\n\n // set fadeClass, the options.animation will override the markup\n if (options.animation && !hasClass(element, fadeClass)) addClass(element, fadeClass);\n else if (!options.animation && hasClass(element, fadeClass)) removeClass(element, fadeClass);\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [...querySelectorAll(toastToggleSelector, getDocument(element))].filter(\n btn => getTargetElement(btn) === element,\n );\n\n // add event listener\n this._toggleEventListeners(true);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return toastComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return toastDefaults;\n }\n /**\n * Returns *true* when toast is visible.\n */\n get isShown() {\n return hasClass(this.element, showClass);\n }\n\n // TOAST PUBLIC METHODS\n // ====================\n /** Shows the toast. */\n show = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && !isShown) {\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) {\n showToast(this);\n }\n }\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && isShown) {\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) {\n hideToast(this);\n }\n }\n };\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, it will add the listener\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element, triggers, dismiss, options, hide } = this;\n\n /* istanbul ignore else */\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n /* istanbul ignore else */\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(e =>\n action(element, e, interactiveToastHandler),\n );\n }\n /* istanbul ignore else */\n if (triggers.length) {\n triggers.forEach(btn => action(btn, mouseclickEvent, toastClickHandler));\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (isShown) {\n removeClass(element, showClass);\n }\n\n completeDisposeToast(this);\n\n super.dispose();\n }\n}\n","import { Data, getElementsByTagName, matches } from '@thednp/shorty';\n\nimport { addListener } from '@thednp/event-listener';\n\nimport Alert from '../components/alert';\nimport Button from '../components/button';\nimport Carousel from '../components/carousel';\nimport Collapse from '../components/collapse';\nimport Dropdown from '../components/dropdown';\nimport Modal from '../components/modal';\nimport Offcanvas from '../components/offcanvas';\nimport Popover from '../components/popover';\nimport ScrollSpy from '../components/scrollspy';\nimport Tab from '../components/tab';\nimport Toast from '../components/toast';\nimport Tooltip from '../components/tooltip';\n\nconst componentsList = new Map<\n string,\n | typeof Alert\n | typeof Button\n | typeof Carousel\n | typeof Collapse\n | typeof Dropdown\n | typeof Modal\n | typeof Offcanvas\n | typeof Popover\n | typeof ScrollSpy\n | typeof Tab\n | typeof Toast\n | typeof Tooltip\n>();\n\n[Alert, Button, Carousel, Collapse, Dropdown, Modal, Offcanvas, Popover, ScrollSpy, Tab, Toast, Tooltip].forEach(c =>\n componentsList.set(c.prototype.name, c),\n);\n\n/**\n * Initialize all matched `Element`s for one component.\n *\n * @param callback\n * @param collection\n */\nconst initComponentDataAPI = (\n callback: (el: HTMLElement, ops?: Record) => T,\n collection: HTMLCollectionOf | HTMLElement[],\n) => {\n [...collection].forEach(x => callback(x));\n};\n\n/**\n * Remove one component from a target container element or all in the page.\n *\n * @param component the component name\n * @param context parent `Node`\n */\nconst removeComponentDataAPI = (component: string, context: ParentNode) => {\n const compData = Data.getAllFor(component) as Map;\n\n if (compData) {\n [...compData].forEach(([element, instance]) => {\n if (context.contains(element)) (instance as T & { dispose: () => void }).dispose();\n });\n }\n};\n\n/**\n * Initialize all BSN components for a target container.\n *\n * @param context parent `Node`\n */\nexport const initCallback = (context?: ParentNode) => {\n const lookUp = context && context.nodeName ? context : document;\n const elemCollection = [...getElementsByTagName('*', lookUp)];\n\n componentsList.forEach(cs => {\n const { init, selector } = cs;\n initComponentDataAPI(\n init,\n elemCollection.filter(item => matches(item, selector)),\n );\n });\n};\n\n/**\n * Remove all BSN components for a target container.\n *\n * @param context parent `Node`\n */\nexport const removeDataAPI = (context?: ParentNode) => {\n const lookUp = context && context.nodeName ? context : document;\n\n componentsList.forEach(comp => {\n removeComponentDataAPI(comp.prototype.name, lookUp);\n });\n};\n\n// Bulk initialize all components\nif (document.body) initCallback();\nelse {\n addListener(document, 'DOMContentLoaded', () => initCallback(), { once: true });\n}\n"],"names":["fe","ge","Ee","ye","we","Ae","P","$","_","tt","st","rt","it","lt","pt","mt","ft","St","kt","Mt","Ct","zt","Vt","Ce","Re","Qe","je","qe","$e","Rt","Qt","C","U","jt","A","qt","S","z","x","vn","N","Gt","e","n","o","s","Jt","Kt","r","Xt","Yt","kn","Tn","Cn","Ln","In","zn","v","i","u","E","L","Hn","k","W","R","d","M","Zt","Q","g","ee","ne","Un","a","l","Qn","V","w","oe","jn","p","c","m","y","j","Gn","Xn","Yn","Zn","$n","I","se","f","_n","h","eo","T","ce","so","B","H","b","ae","ro","ie","uo","mo","ho","yo","Ao","le","So","de","Mo","To","Do","fadeClass","showClass","dataBsDismiss","alertString","alertComponent","Version","version","BaseComponent","target","config","__publicField","element","querySelector","isString","prevInstance","Data","ObjectKeys","normalizeOptions","prop","alertSelector","alertDismissSelector","getAlertInstance","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","hasClass","removeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent","activeClass","dataBsToggle","buttonString","buttonComponent","buttonSelector","getButtonInstance","buttonInitCallback","Button","isActive","getAttribute","addClass","setAttribute","ariaPressed","dataBsTarget","carouselString","carouselComponent","dataBsParent","dataBsContainer","getTargetElement","targetAttr","doc","getDocument","att","attValue","closest","carouselSelector","carouselItem","dataBsSlideTo","dataBsSlide","pausedClass","carouselDefaults","getCarouselInstance","carouselInitCallback","Carousel","startX","currentX","endX","carouselSlideEvent","carouselSlidEvent","carouselTransitionEndHandler","index","direction","slides","options","activeItem","getActiveIndex","orientation","directionClass","Timer","carouselPauseHandler","carouselResumeHandler","carouselIndicatorHandler","newIndex","carouselControlsHandler","carouselKeyHandler","code","querySelectorAll","isElementInScrollRange","RTL","isRTL","keyArrowRight","keyArrowLeft","carouselDragHandler","carouselPointerDownHandler","controls","indicators","el","toggleCarouselTouchHandlers","carouselPointerMoveHandler","carouselPointerUpHandler","_a","activateCarouselIndicator","pointermoveEvent","passiveHandler","pointerupEvent","isHTMLElement","touch","pause","interval","keyboard","mouseenterEvent","mouseleaveEvent","pointerdownEvent","touchstartEvent","dragstartEvent","arrow","indicator","keydownEvent","getElementsByClassName","activeIndex","transitionItem","matches","ar","isPaused","idx","next","eventProperties","ObjectAssign","getElementTransitionDuration","reflow","isAnimating","clone","collapsingClass","collapseString","collapseComponent","collapseSelector","collapseToggleSelector","collapseDefaults","getCollapseInstance","collapseInitCallback","Collapse","showCollapseEvent","shownCollapseEvent","hideCollapseEvent","hiddenCollapseEvent","expandCollapse","parent","triggers","noop","setElementStyle","btn","ariaExpanded","collapseContent","collapseClickHandler","trigger","activeCollapse","activeCollapseInstance","dropdownMenuClasses","dropdownComponent","dropdownMenuClass","isEmptyAnchor","parentAnchor","hasAttribute","dropdownString","dropupString","dropstartString","dropendString","dropdownClasses","dropdownSelector","getDropdownInstance","dropdownInitCallback","Dropdown","dropdownMenuEndClass","verticalClass","horizontalClass","menuFocusTags","dropdownDefaults","showDropdownEvent","shownDropdownEvent","hideDropdownEvent","hiddenDropdownEvent","updatedDropdownEvent","styleDropdown","menu","parentElement","offset","getElementStyle","menuEnd","style","positionClass","dropdownMargin","dropdownPosition","menuWidth","menuHeight","clientWidth","clientHeight","getDocumentElement","targetLeft","targetTop","targetWidth","targetHeight","getBoundingClientRect","leftFullExceed","rightFullExceed","bottomExceed","bottomFullExceed","topExceed","leftExceed","rightExceed","posAjust","margins","getMenuItems","firstElementChild","toggleDropdownDismiss","dropdownDismissHandler","focusEvent","dropdownPreventScroll","keyupEvent","dropdownKeyHandler","scrollEvent","resizeEvent","ev","getWindow","dropdownLayoutHandler","getCurrentOpenDropdown","currentParent","type","isForm","mousedownEvent","dropdownClickHandler","keyArrowDown","keyArrowUp","activeElement","open","menuItems","focus","keyEscape","currentElement","currentInstance","modalString","modalComponent","offcanvasComponent","fixedTopClass","fixedBottomClass","stickyTopClass","positionStickyClass","getFixedItems","resetScrollbar","bd","getDocumentBody","fixedItems","fixed","measureScrollbar","innerWidth","setScrollbar","overflow","bodyPad","sbWidth","itemPadValue","itemMValue","offcanvasString","popupContainer","createElement","appendPopup","customContainer","containerIsBody","isNode","lookup","BODY","removePopup","hasPopup","backdropString","modalBackdropClass","offcanvasBackdropClass","modalActiveSelector","offcanvasActiveSelector","overlay","getCurrentOpen","toggleOverlayType","isModal","targetClass","appendOverlay","hasFade","showOverlay","hideOverlay","removeOverlay","isVisible","modalSelector","modalToggleSelector","modalDismissSelector","modalStaticClass","modalDefaults","getModalInstance","modalInitCallback","Modal","showModalEvent","shownModalEvent","hideModalEvent","hiddenModalEvent","setModalScrollbar","scrollbarWidth","scrollHeight","modalHeight","modalScrollHeight","modalOverflow","pad","padStyle","toggleModalDismiss","update","modalDismissHandler","modalKeyHandler","afterModalHide","relatedTarget","focusElement","afterModalShow","beforeModalShow","removeAttribute","ariaHidden","ariaModal","beforeModalHide","modalClickHandler","currentTarget","isStatic","modalDialog","backdrop","selectedText","targetInsideDialog","staticTransitionEnd","duration","overlayDelay","currentOpen","that","callback","offcanvasSelector","offcanvasToggleSelector","offcanvasDismissSelector","offcanvasTogglingClass","offcanvasDefaults","getOffcanvasInstance","offcanvasInitCallback","Offcanvas","showOffcanvasEvent","shownOffcanvasEvent","hideOffcanvasEvent","hiddenOffcanvasEvent","setOffCanvasScrollbar","toggleOffCanvasDismiss","offcanvasKeyDismissHandler","offcanvasDismissHandler","beforeOffcanvasShow","showOffcanvasComplete","beforeOffcanvasHide","hideOffcanvasComplete","offcanvasTriggerHandler","offCanvasDismiss","selection","visibleTrigger","delay","popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","body","tipClassPositions","styleTip","tipClasses","tooltip","container","tipPositions","isPopover","tipWidth","tipHeight","htmlcw","htmlch","htmlow","placement","parentCWidth","parentOWidth","fixedParent","leftBoundry","rightBoundry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","topPosition","bottomPosition","leftPosition","rightPosition","arrowTop","arrowLeft","arrowRight","arrowWidth","arrowHeight","arrowAdjust","horizontals","verticals","updatedTooltipEvent","toLowerCase","tooltipDefaults","dataOriginalTitle","tooltipComponent","setHtml","content","sanitizeFn","dirty","isFunction","tempDocument","isNodeList","isArray","createTip","id","title","template","animation","customClass","dismissible","btnClose","tipString","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","tooltipHeader","tooltipBody","tempTitle","tempContent","tempBtn","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","tooltipSelector","titleAttr","getTooltipInstance","tooltipInitCallback","Tooltip","removeTooltip","offsetParent","ariaDescribedBy","hasTip","disposeTooltipComplete","toggleTooltipTitle","toggleTooltipAction","tooltipShownAction","shownTooltipEvent","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","offsetHeight","parentModal","parentOffcanvas","win","scrollTarget","titleAtt","tr","mousehoverEvent","focusinEvent","focusoutEvent","isApple","tipComponent","elem","getUID","position","outTimer","tipContainer","showTooltipEvent","hideTooltipEvent","enabled","popoverSelector","popoverDefaults","getPopoverInstance","popoverInitCallback","Popover","scrollspyString","scrollspyComponent","scrollspySelector","scrollspyDefaults","getScrollSpyInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","updateSpyTargets","itemsLength","isWin","isWindow","links","getElementsByTagName","scrollHEIGHT","getScrollHeight","href","targetItem","rect","getOffsetHeight","link","clear","item","activate","parents","parentItem","menuItem","parentLink","scrollTop","maxScroll","items","newActiveItem","offsets","tabString","tabComponent","tabSelector","getTabInstance","tabInitCallback","Tab","showTabEvent","shownTabEvent","hideTabEvent","hiddenTabEvent","tabPrivate","triggerTabEnd","tabContent","nav","triggerTabShow","nextContent","tab","currentHeight","nextHeight","triggerTabHide","getActiveTab","activeTabs","getParentDropdown","dropdown","tabClickHandler","firstTab","firstTabContent","ariaSelected","activeDropdown","toggleTab","toastString","toastComponent","toastSelector","toastDismissSelector","toastToggleSelector","showingClass","hideClass","toastDefaults","getToastInstance","toastInitCallback","Toast","showToastEvent","shownToastEvent","hideToastEvent","hiddenToastEvent","showToastComplete","hideToastComplete","hideToast","showToast","completeDisposeToast","toastClickHandler","interactiveToastHandler","isShown","hide","componentsList","initComponentDataAPI","collection","removeComponentDataAPI","component","context","compData","instance","initCallback","lookUp","elemCollection","cs","init","selector","removeDataAPI","comp"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/dist/bootstrap-native.js b/dist/bootstrap-native.js index f6220371..efe8ec72 100644 --- a/dist/bootstrap-native.js +++ b/dist/bootstrap-native.js @@ -1,2 +1,2 @@ -var BSN=function(H){"use strict";var Vc=Object.defineProperty;var Kc=(H,it,ct)=>it in H?Vc(H,it,{enumerable:!0,configurable:!0,writable:!0,value:ct}):H[it]=ct;var d=(H,it,ct)=>(Kc(H,typeof it!="symbol"?it+"":it,ct),ct);const it="aria-describedby",ct="aria-expanded",Se="aria-hidden",He="aria-modal",_s="aria-pressed",Ue="aria-selected",Bo="DOMContentLoaded",qe="focus",Qe="focusin",Bs="focusout",Pe="keydown",Ro="keyup",N="click",Rs="mousedown",Wo="hover",De="mouseenter",Ze="mouseleave",Fo="pointerdown",jo="pointermove",zo="pointerup",xe="resize",Ae="scroll",Ge="touchstart",Vo="dragstart",Je="ArrowDown",ts="ArrowUp",Ws="ArrowLeft",Fs="ArrowRight",es="Escape",Ko="transitionDuration",Xo="transitionDelay",ss="transitionend",js="transitionProperty",Yo=navigator.userAgentData,Le=Yo,{userAgent:Uo}=navigator,Ie=Uo,zs=/iPhone|iPad|iPod|Android/i;Le?Le.brands.some(t=>zs.test(t.brand)):zs.test(Ie);const Vs=/(iPhone|iPod|iPad)/,qo=Le?Le.brands.some(t=>Vs.test(t.brand)):Vs.test(Ie);Ie&&Ie.includes("Firefox");const{head:ke}=document;["webkitPerspective","perspective"].some(t=>t in ke.style);const Qo=(t,s,e,n)=>{const o=n||!1;t.addEventListener(s,e,o)},Zo=(t,s,e,n)=>{const o=n||!1;t.removeEventListener(s,e,o)},Go=(t,s,e,n)=>{const o=i=>{(i.target===t||i.currentTarget===t)&&(e.apply(t,[i]),Zo(t,s,o,n))};Qo(t,s,o,n)},le=()=>{};(()=>{let t=!1;try{const s=Object.defineProperty({},"passive",{get:()=>(t=!0,t)});Go(document,Bo,le,s)}catch{}return t})(),["webkitTransform","transform"].some(t=>t in ke.style),["webkitAnimation","animation"].some(t=>t in ke.style),["webkitTransition","transition"].some(t=>t in ke.style);const at=(t,s)=>t.getAttribute(s),Ne=(t,s)=>t.hasAttribute(s),O=(t,s,e)=>t.setAttribute(s,e),At=(t,s)=>t.removeAttribute(s),f=(t,...s)=>{t.classList.add(...s)},b=(t,...s)=>{t.classList.remove(...s)},h=(t,s)=>t.classList.contains(s),de=t=>t!=null&&typeof t=="object"||!1,A=t=>de(t)&&typeof t.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(s=>t.nodeType===s)||!1,T=t=>A(t)&&t.nodeType===1||!1,jt=new Map,Lt={data:jt,set:(t,s,e)=>{T(t)&&(jt.has(s)||jt.set(s,new Map),jt.get(s).set(t,e))},getAllFor:t=>jt.get(t)||null,get:(t,s)=>{if(!T(t)||!s)return null;const e=Lt.getAllFor(s);return t&&e&&e.get(t)||null},remove:(t,s)=>{const e=Lt.getAllFor(s);!e||!T(t)||(e.delete(t),e.size===0&&jt.delete(s))}},F=(t,s)=>Lt.get(t,s),he=t=>typeof t=="string"||!1,ns=t=>de(t)&&t.constructor.name==="Window"||!1,Ks=t=>A(t)&&t.nodeType===9||!1,E=t=>ns(t)?t.document:Ks(t)?t:A(t)?t.ownerDocument:window.document,dt=(t,...s)=>Object.assign(t,...s),vt=t=>{if(!t)return;if(he(t))return E().createElement(t);const{tagName:s}=t,e=vt(s);if(!e)return;const n={...t};return delete n.tagName,dt(e,n)},w=(t,s)=>t.dispatchEvent(s),z=(t,s)=>{const e=getComputedStyle(t),n=s.replace("webkit","Webkit").replace(/([A-Z])/g,"-$1").toLowerCase();return e.getPropertyValue(n)},Jo=t=>{const s=z(t,js),e=z(t,Xo),n=e.includes("ms")?1:1e3,o=s&&s!=="none"?parseFloat(e)*n:0;return Number.isNaN(o)?0:o},zt=t=>{const s=z(t,js),e=z(t,Ko),n=e.includes("ms")?1:1e3,o=s&&s!=="none"?parseFloat(e)*n:0;return Number.isNaN(o)?0:o},P=(t,s)=>{let e=0;const n=new Event(ss),o=zt(t),i=Jo(t);if(o){const c=a=>{a.target===t&&(s.apply(t,[a]),t.removeEventListener(ss,c),e=1)};t.addEventListener(ss,c),setTimeout(()=>{e||w(t,n)},o+i+17)}else s.apply(t,[n])},ht=(t,s)=>t.focus(s),Xs=t=>["true",!0].includes(t)?!0:["false",!1].includes(t)?!1:["null","",null,void 0].includes(t)?null:t!==""&&!Number.isNaN(+t)?+t:t,Oe=t=>Object.entries(t),Vt=t=>t.toLowerCase(),ti=(t,s,e,n)=>{const o={...e},i={...t.dataset},c={...s},a={},l="title";return Oe(i).forEach(([r,g])=>{const p=n&&typeof r=="string"&&r.includes(n)?r.replace(n,"").replace(/[A-Z]/g,v=>Vt(v)):r;a[p]=Xs(g)}),Oe(o).forEach(([r,g])=>{o[r]=Xs(g)}),Oe(s).forEach(([r,g])=>{r in o?c[r]=o[r]:r in a?c[r]=a[r]:c[r]=r===l?at(t,l):g}),c},Ys=t=>Object.keys(t),$=(t,s)=>{const e=new CustomEvent(t,{cancelable:!0,bubbles:!0});return de(s)&&dt(e,s),e},tt={passive:!0},It=t=>t.offsetHeight,L=(t,s)=>{Oe(s).forEach(([e,n])=>{if(n&&he(e)&&e.includes("--"))t.style.setProperty(e,n);else{const o={};o[e]=n,dt(t.style,o)}})},os=t=>de(t)&&t.constructor.name==="Map"||!1,ei=t=>typeof t=="number"||!1,bt=new Map,u={set:(t,s,e,n)=>{T(t)&&(n&&n.length?(bt.has(t)||bt.set(t,new Map),bt.get(t).set(n,setTimeout(s,e))):bt.set(t,setTimeout(s,e)))},get:(t,s)=>{if(!T(t))return null;const e=bt.get(t);return s&&e&&os(e)?e.get(s)||null:ei(e)?e:null},clear:(t,s)=>{if(!T(t))return;const e=bt.get(t);s&&s.length&&os(e)?(clearTimeout(e.get(s)),e.delete(s),e.size===0&&bt.delete(t)):(clearTimeout(e),bt.delete(t))}},fe=(t,s)=>{const{width:e,height:n,top:o,right:i,bottom:c,left:a}=t.getBoundingClientRect();let l=1,r=1;if(s&&T(t)){const{offsetWidth:g,offsetHeight:p}=t;l=g>0?Math.round(e)/g:1,r=p>0?Math.round(n)/p:1}return{width:e/l,height:n/r,top:o/r,right:i/l,bottom:c/r,left:a/l,x:a/l,y:o/r}},wt=t=>E(t).body,ft=t=>E(t).documentElement,Us=t=>A(t)&&t.constructor.name==="ShadowRoot"||!1,si=t=>t.nodeName==="HTML"?t:T(t)&&t.assignedSlot||A(t)&&t.parentNode||Us(t)&&t.host||ft(t);let qs=0,Qs=0;const Kt=new Map,Zs=(t,s)=>{let e=s?qs:Qs;if(s){const n=Zs(t),o=Kt.get(n)||new Map;Kt.has(n)||Kt.set(n,o),os(o)&&!o.has(s)?(o.set(s,e),qs+=1):e=o.get(s)}else{const n=t.id||t;Kt.has(n)?e=Kt.get(n):(Kt.set(n,e),Qs+=1)}return e},Xt=t=>{var s;return t?Ks(t)?t.defaultView:A(t)?(s=t==null?void 0:t.ownerDocument)==null?void 0:s.defaultView:t:window},ni=t=>Array.isArray(t)||!1,Gs=t=>{if(!A(t))return!1;const{top:s,bottom:e}=fe(t),{clientHeight:n}=ft(t);return s<=n&&e>=0},oi=t=>typeof t=="function"||!1,ii=t=>de(t)&&t.constructor.name==="NodeList"||!1,Et=t=>ft(t).dir==="rtl",ci=t=>A(t)&&["TABLE","TD","TH"].includes(t.nodeName)||!1,M=(t,s)=>t?t.closest(s)||M(t.getRootNode().host,s):null,D=(t,s)=>T(t)?t:(A(s)?s:E()).querySelector(t),is=(t,s)=>(A(s)?s:E()).getElementsByTagName(t),et=(t,s)=>(A(s)?s:E()).querySelectorAll(t),gt=(t,s)=>(s&&A(s)?s:E()).getElementsByClassName(t),Js=(t,s)=>t.matches(s),Yt={},tn=t=>{const{type:s,currentTarget:e}=t;[...Yt[s]].forEach(([n,o])=>{e===n&&[...o].forEach(([i,c])=>{i.apply(n,[t]),typeof c=="object"&&c.once&&B(n,s,i,c)})})},_=(t,s,e,n)=>{Yt[s]||(Yt[s]=new Map);const o=Yt[s];o.has(t)||o.set(t,new Map);const i=o.get(t),{size:c}=i;i.set(e,n),c||t.addEventListener(s,tn,n)},B=(t,s,e,n)=>{const o=Yt[s],i=o&&o.get(t),c=i&&i.get(e),a=c!==void 0?c:n;i&&i.has(e)&&i.delete(e),o&&(!i||!i.size)&&o.delete(t),(!o||!o.size)&&delete Yt[s],(!i||!i.size)&&t.removeEventListener(s,tn,a)},W="fade",m="show",Me="data-bs-dismiss",_e="alert",en="Alert",ai="5.0.13";class st{constructor(s,e){d(this,"_toggleEventListeners",()=>{});const n=D(s);if(!n)throw he(s)?Error(`${this.name} Error: "${s}" is not a valid selector.`):Error(`${this.name} Error: your target is not an instance of HTMLElement.`);const o=Lt.get(n,this.name);o&&o._toggleEventListeners(),this.element=n,this.options=this.defaults&&Ys(this.defaults).length?ti(n,this.defaults,e||{},"bs"):{},Lt.set(n,this.name,this)}get version(){return ai}get name(){return"BaseComponent"}get defaults(){return{}}dispose(){Lt.remove(this.element,this.name),Ys(this).forEach(s=>{delete this[s]})}}const ri=`.${_e}`,li=`[${Me}="${_e}"]`,di=t=>F(t,en),hi=t=>new Ut(t),sn=$(`close.bs.${_e}`),fi=$(`closed.bs.${_e}`),nn=t=>{const{element:s}=t;w(s,fi),t._toggleEventListeners(),t.dispose(),s.remove()};class Ut extends st{constructor(e){super(e);d(this,"dismiss");d(this,"close",()=>{const{element:e}=this;e&&h(e,m)&&(w(e,sn),sn.defaultPrevented||(b(e,m),h(e,W)?P(e,()=>nn(this)):nn(this)))});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{dismiss:o,close:i}=this;o&&n(o,N,i)});this.dismiss=D(li,this.element),this._toggleEventListeners(!0)}get name(){return en}dispose(){this._toggleEventListeners(),super.dispose()}}d(Ut,"selector",ri),d(Ut,"init",hi),d(Ut,"getInstance",di);const C="active",rt="data-bs-toggle",gi="button",on="Button",pi=`[${rt}="${gi}"]`,ui=t=>F(t,on),mi=t=>new qt(t);class qt extends st{constructor(e){super(e);d(this,"isActive",!1);d(this,"toggle",e=>{e&&e.preventDefault();const{element:n,isActive:o}=this;!h(n,"disabled")&&!at(n,"disabled")&&((o?b:f)(n,C),O(n,_s,o?"false":"true"),this.isActive=h(n,C))});d(this,"_toggleEventListeners",e=>{(e?_:B)(this.element,N,this.toggle)});const{element:n}=this;this.isActive=h(n,C),O(n,_s,String(!!this.isActive)),this._toggleEventListeners(!0)}get name(){return on}dispose(){this._toggleEventListeners(),super.dispose()}}d(qt,"selector",pi),d(qt,"init",mi),d(qt,"getInstance",ui);const cs="data-bs-target",kt="carousel",cn="Carousel",an="data-bs-parent",vi="data-bs-container",V=t=>{const s=[cs,an,vi,"href"],e=E(t);return s.map(n=>{const o=at(t,n);return o?n===an?M(t,o):D(o,e):null}).filter(n=>n)[0]},ge=`[data-bs-ride="${kt}"]`,Q=`${kt}-item`,as="data-bs-slide-to",$t="data-bs-slide",Tt="paused",rn={pause:"hover",keyboard:!1,touch:!0,interval:5e3},pt=t=>F(t,cn),bi=t=>new Qt(t);let pe=0,Be=0,rs=0;const ls=$(`slide.bs.${kt}`),ds=$(`slid.bs.${kt}`),ln=t=>{const{index:s,direction:e,element:n,slides:o,options:i}=t;if(t.isAnimating){const c=fs(t),a=e==="left"?"next":"prev",l=e==="left"?"start":"end";f(o[s],C),b(o[s],`${Q}-${a}`),b(o[s],`${Q}-${l}`),b(o[c],C),b(o[c],`${Q}-${l}`),w(n,ds),u.clear(n,$t),t.cycle&&!E(n).hidden&&i.interval&&!t.isPaused&&t.cycle()}};function wi(){const t=pt(this);t&&!t.isPaused&&!u.get(this,Tt)&&f(this,Tt)}function Ei(){const t=pt(this);t&&t.isPaused&&!u.get(this,Tt)&&t.cycle()}function $i(t){t.preventDefault();const s=M(this,ge)||V(this),e=pt(s);if(e&&!e.isAnimating){const n=+(at(this,as)||0);this&&!h(this,C)&&!Number.isNaN(n)&&e.to(n)}}function Ti(t){t.preventDefault();const s=M(this,ge)||V(this),e=pt(s);if(e&&!e.isAnimating){const n=at(this,$t);n==="next"?e.next():n==="prev"&&e.prev()}}const yi=({code:t,target:s})=>{const e=E(s),[n]=[...et(ge,e)].filter(i=>Gs(i)),o=pt(n);if(o&&!o.isAnimating&&!/textarea|input/i.test(s.nodeName)){const i=Et(n);t===(i?Fs:Ws)?o.prev():t===(i?Ws:Fs)&&o.next()}};function dn(t){const{target:s}=t,e=pt(this);e&&e.isTouch&&(e.indicator&&!e.indicator.contains(s)||!e.controls.includes(s))&&(t.stopImmediatePropagation(),t.stopPropagation(),t.preventDefault())}function Ci(t){const{target:s}=t,e=pt(this);if(e&&!e.isAnimating&&!e.isTouch){const{controls:n,indicators:o}=e;[...n,...o].every(i=>i===s||i.contains(s))||(pe=t.pageX,this.contains(s)&&(e.isTouch=!0,hn(e,!0)))}}const Si=t=>{Be=t.pageX},Hi=t=>{var o;const{target:s}=t,e=E(s),n=[...et(ge,e)].map(i=>pt(i)).find(i=>i.isTouch);if(n){const{element:i,index:c}=n,a=Et(i);rs=t.pageX,n.isTouch=!1,hn(n),!((o=e.getSelection())!=null&&o.toString().length)&&i.contains(s)&&Math.abs(pe-rs)>120&&(Bepe&&n.to(c+(a?1:-1))),pe=0,Be=0,rs=0}},hs=(t,s)=>{const{indicators:e}=t;[...e].forEach(n=>b(n,C)),t.indicators[s]&&f(e[s],C)},hn=(t,s)=>{const{element:e}=t,n=s?_:B;n(E(e),jo,Si,tt),n(E(e),zo,Hi,tt)},fs=t=>{const{slides:s,element:e}=t,n=D(`.${Q}.${C}`,e);return T(n)?[...s].indexOf(n):-1};class Qt extends st{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const{element:n,options:o,slides:i,controls:c,indicators:a}=this,{touch:l,pause:r,interval:g,keyboard:p}=o,v=e?_:B;r&&g&&(v(n,De,wi),v(n,Ze,Ei)),l&&i.length>2&&(v(n,Fo,Ci,tt),v(n,Ge,dn,{passive:!1}),v(n,Vo,dn,{passive:!1})),c.length&&c.forEach(k=>{k&&v(k,N,Ti)}),a.length&&a.forEach(k=>{v(k,N,$i)}),p&&v(E(n),Pe,yi)});const{element:o}=this;this.direction=Et(o)?"right":"left",this.isTouch=!1,this.slides=gt(Q,o);const{slides:i}=this;if(i.length>=2){const c=fs(this),a=[...i].find(g=>Js(g,`.${Q}-next,.${Q}-next`));this.index=c;const l=E(o);this.controls=[...et(`[${$t}]`,o),...et(`[${$t}][${cs}="#${o.id}"]`,l)].filter((g,p,v)=>p===v.indexOf(g)),this.indicator=D(`.${kt}-indicators`,o),this.indicators=[...this.indicator?et(`[${as}]`,this.indicator):[],...et(`[${as}][${cs}="#${o.id}"]`,l)].filter((g,p,v)=>p===v.indexOf(g));const{options:r}=this;this.options.interval=r.interval===!0?rn.interval:r.interval,a?this.index=[...i].indexOf(a):c<0&&(this.index=0,f(i[0],C),this.indicators.length&&hs(this,0)),this.indicators.length&&hs(this,this.index),this._toggleEventListeners(!0),r.interval&&this.cycle()}}get name(){return cn}get defaults(){return rn}get isPaused(){return h(this.element,Tt)}get isAnimating(){return D(`.${Q}-next,.${Q}-prev`,this.element)!==null}cycle(){const{element:e,options:n,isPaused:o,index:i}=this;u.clear(e,kt),o&&(u.clear(e,Tt),b(e,Tt)),u.set(e,()=>{this.element&&!this.isPaused&&!this.isTouch&&Gs(e)&&this.to(i+1)},n.interval,kt)}pause(){const{element:e,options:n}=this;!this.isPaused&&n.interval&&(f(e,Tt),u.set(e,()=>{},1,Tt))}next(){this.isAnimating||this.to(this.index+1)}prev(){this.isAnimating||this.to(this.index-1)}to(e){const{element:n,slides:o,options:i}=this,c=fs(this),a=Et(n);let l=e;if(!this.isAnimating&&c!==l&&!u.get(n,$t)){cl||c===o.length-1&&l===0)&&(this.direction=a?"left":"right");const{direction:r}=this;l<0?l=o.length-1:l>=o.length&&(l=0);const g=r==="left"?"next":"prev",p=r==="left"?"start":"end",v={relatedTarget:o[l],from:c,to:l,direction:r};dt(ls,v),dt(ds,v),w(n,ls),ls.defaultPrevented||(this.index=l,hs(this,l),zt(o[l])&&h(n,"slide")?u.set(n,()=>{f(o[l],`${Q}-${g}`),It(o[l]),f(o[l],`${Q}-${p}`),f(o[c],`${Q}-${p}`),P(o[l],()=>this.slides&&this.slides.length&&ln(this))},0,$t):(f(o[l],C),b(o[c],C),u.set(n,()=>{u.clear(n,$t),n&&i.interval&&!this.isPaused&&this.cycle(),w(n,ds)},0,$t)))}}dispose(){const{isAnimating:e}=this,n={...this,isAnimating:e};this._toggleEventListeners(),super.dispose(),n.isAnimating&&P(n.slides[n.index],()=>{ln(n)})}}d(Qt,"selector",ge),d(Qt,"init",bi),d(Qt,"getInstance",pt);const Nt="collapsing",K="collapse",fn="Collapse",Pi=`.${K}`,gn=`[${rt}="${K}"]`,Di={parent:null},Re=t=>F(t,fn),xi=t=>new Zt(t),pn=$(`show.bs.${K}`),Ai=$(`shown.bs.${K}`),un=$(`hide.bs.${K}`),Li=$(`hidden.bs.${K}`),Ii=t=>{const{element:s,parent:e,triggers:n}=t;w(s,pn),pn.defaultPrevented||(u.set(s,le,17),e&&u.set(e,le,17),f(s,Nt),b(s,K),L(s,{height:`${s.scrollHeight}px`}),P(s,()=>{u.clear(s),e&&u.clear(e),n.forEach(o=>O(o,ct,"true")),b(s,Nt),f(s,K),f(s,m),L(s,{height:""}),w(s,Ai)}))},mn=t=>{const{element:s,parent:e,triggers:n}=t;w(s,un),un.defaultPrevented||(u.set(s,le,17),e&&u.set(e,le,17),L(s,{height:`${s.scrollHeight}px`}),b(s,K),b(s,m),f(s,Nt),It(s),L(s,{height:"0px"}),P(s,()=>{u.clear(s),e&&u.clear(e),n.forEach(o=>O(o,ct,"false")),b(s,Nt),f(s,K),L(s,{height:""}),w(s,Li)}))},ki=t=>{const{target:s}=t,e=s&&M(s,gn),n=e&&V(e),o=n&&Re(n);o&&o.toggle(),e&&e.tagName==="A"&&t.preventDefault()};class Zt extends st{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const n=e?_:B,{triggers:o}=this;o.length&&o.forEach(i=>n(i,N,ki))});const{element:o,options:i}=this,c=E(o);this.triggers=[...et(gn,c)].filter(a=>V(a)===o),this.parent=T(i.parent)?i.parent:he(i.parent)?V(o)||D(i.parent,c):null,this._toggleEventListeners(!0)}get name(){return fn}get defaults(){return Di}hide(){const{triggers:e,element:n}=this;u.get(n)||(mn(this),e.length&&e.forEach(o=>f(o,`${K}d`)))}show(){const{element:e,parent:n,triggers:o}=this;let i,c;n&&(i=[...et(`.${K}.${m}`,n)].find(a=>Re(a)),c=i&&Re(i)),(!n||!u.get(n))&&!u.get(e)&&(c&&i!==e&&(mn(c),c.triggers.forEach(a=>{f(a,`${K}d`)})),Ii(this),o.length&&o.forEach(a=>b(a,`${K}d`)))}toggle(){h(this.element,m)?this.hide():this.show()}dispose(){this._toggleEventListeners(),super.dispose()}}d(Zt,"selector",Pi),d(Zt,"init",xi),d(Zt,"getInstance",Re);const Ot=["dropdown","dropup","dropstart","dropend"],vn="Dropdown",bn="dropdown-menu",wn=t=>{const s=M(t,"A");return t.tagName==="A"&&Ne(t,"href")&&at(t,"href").slice(-1)==="#"||s&&Ne(s,"href")&&at(s,"href").slice(-1)==="#"},[nt,gs,ps,us]=Ot,En=`[${rt}="${nt}"]`,Gt=t=>F(t,vn),Ni=t=>new Jt(t),Oi=`${bn}-end`,$n=[nt,gs],Tn=[ps,us],yn=["A","BUTTON"],Mi={offset:5,display:"dynamic"},ms=$(`show.bs.${nt}`),Cn=$(`shown.bs.${nt}`),vs=$(`hide.bs.${nt}`),Sn=$(`hidden.bs.${nt}`),Hn=$(`updated.bs.${nt}`),Pn=t=>{const{element:s,menu:e,parentElement:n,options:o}=t,{offset:i}=o;if(z(e,"position")!=="static"){const c=Et(s),a=h(e,Oi);["margin","top","bottom","left","right"].forEach(R=>{const Pt={};Pt[R]="",L(e,Pt)});let r=Ot.find(R=>h(n,R))||nt;const g={dropdown:[i,0,0],dropup:[0,0,i],dropstart:c?[-1,0,0,i]:[-1,i,0],dropend:c?[-1,i,0]:[-1,0,0,i]},p={dropdown:{top:"100%"},dropup:{top:"auto",bottom:"100%"},dropstart:c?{left:"100%",right:"auto"}:{left:"auto",right:"100%"},dropend:c?{left:"auto",right:"100%"}:{left:"100%",right:"auto"},menuStart:c?{right:"0",left:"auto"}:{right:"auto",left:"0"},menuEnd:c?{right:"auto",left:"0"}:{right:"0",left:"auto"}},{offsetWidth:v,offsetHeight:k}=e,{clientWidth:J,clientHeight:y}=ft(s),{left:X,top:q,width:ce,height:mt}=fe(s),S=X-v-i<0,ot=X+v+ce+i>=J,lt=q+k+i>=y,j=q+k+mt+i>=y,Y=q-k-i<0,x=(!c&&a||c&&!a)&&X+ce-v<0,ae=(c&&a||!c&&!a)&&X+v>=J;if(Tn.includes(r)&&S&&ot&&(r=nt),r===ps&&(c?ot:S)&&(r=us),r===us&&(c?S:ot)&&(r=ps),r===gs&&Y&&!j&&(r=nt),r===nt&&j&&!Y&&(r=gs),Tn.includes(r)&<&&dt(p[r],{top:"auto",bottom:0}),$n.includes(r)&&(x||ae)){let R={left:"auto",right:"auto"};!x&&ae&&!c&&(R={left:"auto",right:0}),x&&!ae&&c&&(R={left:0,right:"auto"}),R&&dt(p[r],R)}const Ht=g[r];L(e,{...p[r],margin:`${Ht.map(R=>R&&`${R}px`).join(" ")}`}),$n.includes(r)&&a&&a&&L(e,p[!c&&x||c&&ae?"menuStart":"menuEnd"]),w(n,Hn)}},_i=t=>[...t.children].map(s=>{if(s&&yn.includes(s.tagName))return s;const{firstElementChild:e}=s;return e&&yn.includes(e.tagName)?e:null}).filter(s=>s),Dn=t=>{const{element:s,options:e}=t,n=t.open?_:B,o=E(s);n(o,N,xn),n(o,qe,xn),n(o,Pe,Ri),n(o,Ro,Wi),e.display==="dynamic"&&[Ae,xe].forEach(i=>{n(Xt(s),i,Fi,tt)})},We=t=>{const s=[...Ot,"btn-group","input-group"].map(e=>gt(`${e} ${m}`,E(t))).find(e=>e.length);if(s&&s.length)return[...s[0].children].find(e=>Ot.some(n=>n===at(e,rt)))},xn=t=>{const{target:s,type:e}=t;if(s&&T(s)){const n=We(s),o=n&&Gt(n);if(o){const{parentElement:i,menu:c}=o,a=i&&i.contains(s)&&(s.tagName==="form"||M(s,"form")!==null);[N,Rs].includes(e)&&wn(s)&&t.preventDefault(),!a&&e!==qe&&s!==n&&s!==c&&o.hide()}}},Bi=t=>{const{target:s}=t,e=s&&M(s,En),n=e&&Gt(e);n&&(t.stopPropagation(),n.toggle(),e&&wn(e)&&t.preventDefault())},Ri=t=>{[Je,ts].includes(t.code)&&t.preventDefault()};function Wi(t){const{code:s}=t,e=We(this),n=e&&Gt(e),{activeElement:o}=e&&E(e);if(n&&o){const{menu:i,open:c}=n,a=_i(i);if(a&&a.length&&[Je,ts].includes(s)){let l=a.indexOf(o);o===e?l=0:s===ts?l=l>1?l-1:0:s===Je&&(l=l{(e?_:B)(this.element,N,Bi)});const{parentElement:o}=this.element,[i]=gt(bn,o);i&&(this.parentElement=o,this.menu=i,this._toggleEventListeners(!0))}get name(){return vn}get defaults(){return Mi}toggle(){this.open?this.hide():this.show()}show(){const{element:e,open:n,menu:o,parentElement:i}=this;if(!n){const c=We(e),a=c&&Gt(c);a&&a.hide(),[ms,Cn,Hn].forEach(l=>{l.relatedTarget=e}),w(i,ms),ms.defaultPrevented||(f(o,m),f(i,m),O(e,ct,"true"),Pn(this),this.open=!n,ht(e),Dn(this),w(i,Cn))}}hide(){const{element:e,open:n,menu:o,parentElement:i}=this;n&&([vs,Sn].forEach(c=>{c.relatedTarget=e}),w(i,vs),vs.defaultPrevented||(b(o,m),b(i,m),O(e,ct,"false"),this.open=!n,Dn(this),w(i,Sn)))}dispose(){this.open&&this.hide(),this._toggleEventListeners(),super.dispose()}}d(Jt,"selector",En),d(Jt,"init",Ni),d(Jt,"getInstance",Gt);const U="modal",bs="Modal",ws="Offcanvas",ji="fixed-top",zi="fixed-bottom",An="sticky-top",Ln="position-sticky",In=t=>[...gt(ji,t),...gt(zi,t),...gt(An,t),...gt(Ln,t),...gt("is-fixed",t)],Vi=t=>{const s=wt(t);L(s,{paddingRight:"",overflow:""});const e=In(s);e.length&&e.forEach(n=>{L(n,{paddingRight:"",marginRight:""})})},kn=t=>{const{clientWidth:s}=ft(t),{innerWidth:e}=Xt(t);return Math.abs(e-s)},Nn=(t,s)=>{const e=wt(t),n=parseInt(z(e,"paddingRight"),10),i=z(e,"overflow")==="hidden"&&n?0:kn(t),c=In(e);s&&(L(e,{overflow:"hidden",paddingRight:`${n+i}px`}),c.length&&c.forEach(a=>{const l=z(a,"paddingRight");if(a.style.paddingRight=`${parseInt(l,10)+i}px`,[An,Ln].some(r=>h(a,r))){const r=z(a,"marginRight");a.style.marginRight=`${parseInt(r,10)-i}px`}}))},Z="offcanvas",yt=vt({tagName:"div",className:"popup-container"}),On=(t,s)=>{const e=A(s)&&s.nodeName==="BODY",n=A(s)&&!e?s:yt,o=e?s:wt(t);A(t)&&(n===yt&&o.append(yt),n.append(t))},Mn=(t,s)=>{const e=A(s)&&s.nodeName==="BODY",n=A(s)&&!e?s:yt;A(t)&&(t.remove(),n===yt&&!yt.children.length&&yt.remove())},Es=(t,s)=>{const e=A(s)&&s.nodeName!=="BODY"?s:yt;return A(t)&&e.contains(t)},_n="backdrop",Bn=`${U}-${_n}`,Rn=`${Z}-${_n}`,Wn=`.${U}.${m}`,$s=`.${Z}.${m}`,I=vt("div"),Mt=t=>D(`${Wn},${$s}`,E(t)),Ts=t=>{const s=t?Bn:Rn;[Bn,Rn].forEach(e=>{b(I,e)}),f(I,s)},Fn=(t,s,e)=>{Ts(e),On(I,wt(t)),s&&f(I,W)},jn=()=>{h(I,m)||(f(I,m),It(I))},Fe=()=>{b(I,m)},zn=t=>{Mt(t)||(b(I,W),Mn(I,wt(t)),Vi(t))},Vn=t=>T(t)&&z(t,"visibility")!=="hidden"&&t.offsetParent!==null,Ki=`.${U}`,Kn=`[${rt}="${U}"]`,Xi=`[${Me}="${U}"]`,Xn=`${U}-static`,Yi={backdrop:!0,keyboard:!0},ue=t=>F(t,bs),Ui=t=>new te(t),je=$(`show.bs.${U}`),Yn=$(`shown.bs.${U}`),ys=$(`hide.bs.${U}`),Un=$(`hidden.bs.${U}`),qn=t=>{const{element:s}=t,e=kn(s),{clientHeight:n,scrollHeight:o}=ft(s),{clientHeight:i,scrollHeight:c}=s,a=i!==c;if(!a&&e){const l=Et(s)?"paddingLeft":"paddingRight",r={};r[l]=`${e}px`,L(s,r)}Nn(s,a||n!==o)},Qn=(t,s)=>{const e=s?_:B,{element:n,update:o}=t;e(n,N,Zi),e(Xt(n),xe,o,tt),e(E(n),Pe,Qi)},Zn=t=>{const{triggers:s,element:e,relatedTarget:n}=t;zn(e),L(e,{paddingRight:"",display:""}),Qn(t);const o=je.relatedTarget||s.find(Vn);o&&ht(o),Un.relatedTarget=n,w(e,Un)},Gn=t=>{const{element:s,relatedTarget:e}=t;ht(s),Qn(t,!0),Yn.relatedTarget=e,w(s,Yn)},Jn=t=>{const{element:s,hasFade:e}=t;L(s,{display:"block"}),qn(t),Mt(s)||L(wt(s),{overflow:"hidden"}),f(s,m),At(s,Se),O(s,He,"true"),e?P(s,()=>Gn(t)):Gn(t)},to=t=>{const{element:s,options:e,hasFade:n}=t;e.backdrop&&n&&h(I,m)&&!Mt(s)?(Fe(),P(I,()=>Zn(t))):Zn(t)},qi=t=>{const{target:s}=t,e=s&&M(s,Kn),n=e&&V(e),o=n&&ue(n);o&&(e&&e.tagName==="A"&&t.preventDefault(),o.relatedTarget=e,o.toggle())},Qi=({code:t,target:s})=>{const e=D(Wn,E(s)),n=e&&ue(e);if(n){const{options:o}=n;o.keyboard&&t===es&&h(e,m)&&(n.relatedTarget=null,n.hide())}},Zi=t=>{var n,o;const{currentTarget:s}=t,e=s?ue(s):null;if(e&&s&&!u.get(s)){const{options:i,isStatic:c,modalDialog:a}=e,{backdrop:l}=i,{target:r}=t,g=(o=(n=E(s))==null?void 0:n.getSelection())==null?void 0:o.toString().length,p=a.contains(r),v=r&&M(r,Xi);c&&!p?u.set(s,()=>{f(s,Xn),P(a,()=>Gi(e))},17):(v||!g&&!c&&!p&&l)&&(e.relatedTarget=v||null,e.hide(),t.preventDefault())}},Gi=t=>{const{element:s,modalDialog:e}=t,n=(zt(e)||0)+17;b(s,Xn),u.set(s,()=>u.clear(s),n)};class te extends st{constructor(e,n){super(e,n);d(this,"update",()=>{h(this.element,m)&&qn(this)});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{triggers:o}=this;o.length&&o.forEach(i=>n(i,N,qi))});const{element:o}=this,i=D(`.${U}-dialog`,o);i&&(this.modalDialog=i,this.triggers=[...et(Kn,E(o))].filter(c=>V(c)===o),this.isStatic=this.options.backdrop==="static",this.hasFade=h(o,W),this.relatedTarget=null,this._toggleEventListeners(!0))}get name(){return bs}get defaults(){return Yi}toggle(){h(this.element,m)?this.hide():this.show()}show(){const{element:e,options:n,hasFade:o,relatedTarget:i}=this,{backdrop:c}=n;let a=0;if(!h(e,m)&&(je.relatedTarget=i||void 0,w(e,je),!je.defaultPrevented)){const l=Mt(e);if(l&&l!==e){const r=ue(l)||F(l,ws);r&&r.hide()}c?(Es(I)?Ts(!0):Fn(e,o,!0),a=zt(I),jn(),setTimeout(()=>Jn(this),a)):(Jn(this),l&&h(I,m)&&Fe())}}hide(){const{element:e,hasFade:n,relatedTarget:o}=this;h(e,m)&&(ys.relatedTarget=o||void 0,w(e,ys),ys.defaultPrevented||(b(e,m),O(e,Se,"true"),At(e,He),n?P(e,()=>to(this)):to(this)))}dispose(){const e={...this},{element:n,modalDialog:o}=e,i=()=>super.dispose();this._toggleEventListeners(),this.hide(),h(n,"fade")?P(o,i):i()}}d(te,"selector",Ki),d(te,"init",Ui),d(te,"getInstance",ue);const Ji=`.${Z}`,Cs=`[${rt}="${Z}"]`,tc=`[${Me}="${Z}"]`,ze=`${Z}-toggling`,ec={backdrop:!0,keyboard:!0,scroll:!1},me=t=>F(t,ws),sc=t=>new ee(t),Ve=$(`show.bs.${Z}`),eo=$(`shown.bs.${Z}`),Ss=$(`hide.bs.${Z}`),so=$(`hidden.bs.${Z}`),nc=t=>{const{element:s}=t,{clientHeight:e,scrollHeight:n}=ft(s);Nn(s,e!==n)},no=(t,s)=>{const e=s?_:B,n=E(t.element);e(n,Pe,ac),e(n,N,cc)},oo=t=>{const{element:s,options:e}=t;e.scroll||(nc(t),L(wt(s),{overflow:"hidden"})),f(s,ze),f(s,m),L(s,{visibility:"visible"}),P(s,()=>rc(t))},oc=t=>{const{element:s,options:e}=t,n=Mt(s);s.blur(),!n&&e.backdrop&&h(I,m)&&Fe(),P(s,()=>lc(t))},ic=t=>{const s=M(t.target,Cs),e=s&&V(s),n=e&&me(e);n&&(n.relatedTarget=s,n.toggle(),s&&s.tagName==="A"&&t.preventDefault())},cc=t=>{const{target:s}=t,e=D($s,E(s)),n=D(tc,e),o=e&&me(e);if(o){const{options:i,triggers:c}=o,{backdrop:a}=i,l=M(s,Cs),r=E(e).getSelection();(!I.contains(s)||a!=="static")&&(!(r&&r.toString().length)&&(!e.contains(s)&&a&&(!l||c.includes(s))||n&&n.contains(s))&&(o.relatedTarget=n&&n.contains(s)?n:null,o.hide()),l&&l.tagName==="A"&&t.preventDefault())}},ac=({code:t,target:s})=>{const e=D($s,E(s)),n=e&&me(e);n&&n.options.keyboard&&t===es&&(n.relatedTarget=null,n.hide())},rc=t=>{const{element:s}=t;b(s,ze),At(s,Se),O(s,He,"true"),O(s,"role","dialog"),w(s,eo),no(t,!0),ht(s)},lc=t=>{const{element:s,triggers:e}=t;O(s,Se,"true"),At(s,He),At(s,"role"),L(s,{visibility:""});const n=Ve.relatedTarget||e.find(Vn);n&&ht(n),zn(s),w(s,so),b(s,ze),Mt(s)||no(t)};class ee extends st{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const n=e?_:B;this.triggers.forEach(o=>n(o,N,ic))});const{element:o}=this;this.triggers=[...et(Cs,E(o))].filter(i=>V(i)===o),this.relatedTarget=null,this._toggleEventListeners(!0)}get name(){return ws}get defaults(){return ec}toggle(){h(this.element,m)?this.hide():this.show()}show(){const{element:e,options:n,relatedTarget:o}=this;let i=0;if(!h(e,m)&&(Ve.relatedTarget=o||void 0,eo.relatedTarget=o||void 0,w(e,Ve),!Ve.defaultPrevented)){const c=Mt(e);if(c&&c!==e){const a=me(c)||F(c,bs);a&&a.hide()}n.backdrop?(Es(I)?Ts():Fn(e,!0),i=zt(I),jn(),setTimeout(()=>oo(this),i)):(oo(this),c&&h(I,m)&&Fe())}}hide(){const{element:e,relatedTarget:n}=this;h(e,m)&&(Ss.relatedTarget=n||void 0,so.relatedTarget=n||void 0,w(e,Ss),Ss.defaultPrevented||(f(e,ze),b(e,m),oc(this)))}dispose(){const e={...this},{element:n,options:o}=e,i=o.backdrop?zt(I):0,c=()=>setTimeout(()=>super.dispose(),i+17);this._toggleEventListeners(),this.hide(),h(n,m)?P(n,c):c()}}d(ee,"selector",Ji),d(ee,"init",sc),d(ee,"getInstance",me);const _t="popover",Ke="Popover",ut="tooltip",io=t=>{const s=t===ut,e=s?`${t}-inner`:`${t}-body`,n=s?"":`

`,o=`
`,i=`
`;return`
${n+o+i}
`},co={top:"top",bottom:"bottom",left:"start",right:"end"},Hs=t=>{const s=/\b(top|bottom|start|end)+/,{element:e,tooltip:n,container:o,options:i,arrow:c}=t;if(n){const a={...co},l=Et(e);L(n,{top:"",left:"",right:"",bottom:""});const r=t.name===Ke,{offsetWidth:g,offsetHeight:p}=n,{clientWidth:v,clientHeight:k,offsetWidth:J}=ft(e);let{placement:y}=i;const{clientWidth:X,offsetWidth:q}=o,mt=z(o,"position")==="fixed",S=Math.abs(mt?X-q:v-J),ot=l&&mt?S:0,lt=v-(l?0:S)-1,{width:j,height:Y,left:x,right:ae,top:Ht}=fe(e,!0),{x:R,y:Pt}={x,y:Ht};L(c,{top:"",left:"",right:"",bottom:""});let Wt=0,Ee="",Dt=0,ks="",re="",Xe="",Ns="";const Ft=c.offsetWidth||0,xt=c.offsetHeight||0,Os=Ft/2;let $e=Ht-p-xt<0,Te=Ht+p+Y+xt>=k,ye=x-g-Ft=lt;const Ye=["left","right"],Ms=["top","bottom"];$e=Ye.includes(y)?Ht+Y/2-p/2-xt<0:$e,Te=Ye.includes(y)?Ht+p/2+Y/2+xt>=k:Te,ye=Ms.includes(y)?x+j/2-g/2=lt:Ce,y=Ye.includes(y)&&ye&&Ce?"top":y,y=y==="top"&&$e?"bottom":y,y=y==="bottom"&&Te?"top":y,y=y==="left"&&ye?"right":y,y=y==="right"&&Ce?"left":y,n.className.includes(y)||(n.className=n.className.replace(s,a[y])),Ye.includes(y)?(y==="left"?Dt=R-g-(r?Ft:0):Dt=R+j+(r?Ft:0),$e&&Te?(Wt=0,Ee=0,re=Ht+Y/2-xt/2):$e?(Wt=Pt,Ee="",re=Y/2-Ft):Te?(Wt=Pt-p+Y,Ee="",re=p-Y/2-Ft):(Wt=Pt-p/2+Y/2,re=p/2-xt/2)):Ms.includes(y)&&(y==="top"?Wt=Pt-p-(r?xt:0):Wt=Pt+Y+(r?xt:0),ye?(Dt=0,Xe=R+j/2-Os):Ce?(Dt="auto",ks=0,Ns=j/2+lt-ae-Os):(Dt=R-g/2+j/2,Xe=g/2-Os)),L(n,{top:`${Wt}px`,bottom:Ee===""?"":`${Ee}px`,left:Dt==="auto"?Dt:`${Dt}px`,right:ks!==""?`${ks}px`:""}),T(c)&&(re!==""&&(c.style.top=`${re}px`),Xe!==""?c.style.left=`${Xe}px`:Ns!==""&&(c.style.right=`${Ns}px`));const zc=$(`updated.bs.${Vt(t.name)}`);w(e,zc)}},Ps={template:io(ut),title:"",customClass:"",trigger:"hover focus",placement:"top",sanitizeFn:void 0,animation:!0,delay:200,container:document.body,content:"",dismissible:!1,btnClose:""},ao="data-original-title",Bt="Tooltip",Ct=(t,s,e)=>{if(he(s)&&s.length){let n=s.trim();oi(e)&&(n=e(n));const i=new DOMParser().parseFromString(n,"text/html");t.append(...i.body.childNodes)}else T(s)?t.append(s):(ii(s)||ni(s)&&s.every(A))&&t.append(...s)},dc=t=>{const s=t.name===Bt,{id:e,element:n,options:o}=t,{title:i,placement:c,template:a,animation:l,customClass:r,sanitizeFn:g,dismissible:p,content:v,btnClose:k}=o,J=s?ut:_t,y={...co};let X=[],q=[];Et(n)&&(y.left="end",y.right="start");const ce=`bs-${J}-${y[c]}`;let mt;if(T(a))mt=a;else{const ot=vt("div");Ct(ot,a,g),mt=ot.firstChild}t.tooltip=T(mt)?mt.cloneNode(!0):void 0;const{tooltip:S}=t;if(S){O(S,"id",e),O(S,"role",ut);const ot=s?`${ut}-inner`:`${_t}-body`,lt=s?null:D(`.${_t}-header`,S),j=D(`.${ot}`,S);t.arrow=D(`.${J}-arrow`,S);const{arrow:Y}=t;if(T(i))X=[i.cloneNode(!0)];else{const x=vt("div");Ct(x,i,g),X=[...x.childNodes]}if(T(v))q=[v.cloneNode(!0)];else{const x=vt("div");Ct(x,v,g),q=[...x.childNodes]}if(p)if(i)if(T(k))X=[...X,k.cloneNode(!0)];else{const x=vt("div");Ct(x,k,g),X=[...X,x.firstChild]}else if(lt&<.remove(),T(k))q=[...q,k.cloneNode(!0)];else{const x=vt("div");Ct(x,k,g),q=[...q,x.firstChild]}s?i&&j&&Ct(j,i,g):(i&<&&Ct(lt,X,g),v&&j&&Ct(j,q,g),t.btn=D(".btn-close",S)||void 0),f(S,"position-fixed"),f(Y,"position-absolute"),h(S,J)||f(S,J),l&&!h(S,W)&&f(S,W),r&&!h(S,r)&&f(S,r),h(S,ce)||f(S,ce)}},hc=t=>{const s=["HTML","BODY"],e=[];let{parentNode:n}=t;for(;n&&!s.includes(n.nodeName);)n=si(n),Us(n)||ci(n)||e.push(n);return e.find((o,i)=>z(o,"position")!=="relative"&&e.slice(i+1).every(c=>z(c,"position")==="static")?o:null)||E(t).body},fc=`[${rt}="${ut}"],[data-tip="${ut}"]`,ro="title";let lo=t=>F(t,Bt);const gc=t=>new St(t),pc=t=>{const{element:s,tooltip:e,container:n,offsetParent:o}=t;At(s,it),Mn(e,n===o?n:o)},ve=t=>{const{tooltip:s,container:e,offsetParent:n}=t;return s&&Es(s,e===n?e:n)},uc=(t,s)=>{const{element:e}=t;t._toggleEventListeners(),Ne(e,ao)&&t.name===Bt&&uo(t),s&&s()},ho=(t,s)=>{const e=s?_:B,{element:n}=t;e(E(n),Ge,t.handleTouch,tt),[Ae,xe].forEach(o=>{e(Xt(n),o,t.update,tt)})},fo=t=>{const{element:s}=t,e=$(`shown.bs.${Vt(t.name)}`);ho(t,!0),w(s,e),u.clear(s,"in")},go=t=>{const{element:s}=t,e=$(`hidden.bs.${Vt(t.name)}`);ho(t),pc(t),w(s,e),u.clear(s,"out")},po=(t,s)=>{const e=s?_:B,{element:n,container:o,offsetParent:i}=t,{offsetHeight:c,scrollHeight:a}=o,l=M(n,`.${U}`),r=M(n,`.${Z}`),g=Xt(n),v=o===i&&c!==a?o:g;e(v,xe,t.update,tt),e(v,Ae,t.update,tt),l&&e(l,`hide.bs.${U}`,t.handleHide),r&&e(r,`hide.bs.${Z}`,t.handleHide)},uo=(t,s)=>{const e=[ao,ro],{element:n}=t;O(n,e[s?0:1],s||at(n,e[0])||""),At(n,e[s?1:0])};class St extends st{constructor(e,n){super(e,n);d(this,"handleFocus",()=>ht(this.element));d(this,"handleShow",()=>this.show());d(this,"handleHide",()=>this.hide());d(this,"update",()=>{Hs(this)});d(this,"toggle",()=>{const{tooltip:e}=this;e&&!ve(this)?this.show():this.hide()});d(this,"handleTouch",({target:e})=>{const{tooltip:n,element:o}=this;n&&n.contains(e)||e===o||e&&o.contains(e)||this.hide()});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{element:o,options:i,btn:c}=this,{trigger:a}=i,r=!!(this.name!==Bt&&i.dismissible);a.includes("manual")||(this.enabled=!!e,a.split(" ").forEach(p=>{p===Wo?(n(o,Rs,this.handleShow),n(o,De,this.handleShow),r||(n(o,Ze,this.handleHide),n(E(o),Ge,this.handleTouch,tt))):p===N?n(o,p,r?this.handleShow:this.toggle):p===qe&&(n(o,Qe,this.handleShow),r||n(o,Bs,this.handleHide),qo&&n(o,N,this.handleFocus)),r&&c&&n(c,N,this.handleHide)}))});const{element:o}=this,i=this.name===Bt,c=i?ut:_t,a=i?Bt:Ke;lo=r=>F(r,a),this.enabled=!0,this.id=`${c}-${Zs(o,c)}`;const{options:l}=this;!l.title&&i||!i&&!l.content||(dt(Ps,{titleAttr:""}),Ne(o,ro)&&i&&typeof l.title=="string"&&uo(this,l.title),this.container=hc(o),this.offsetParent=["sticky","fixed"].some(r=>z(this.container,"position")===r)?this.container:E(this.element).body,dc(this),this._toggleEventListeners(!0))}get name(){return Bt}get defaults(){return Ps}show(){const{options:e,tooltip:n,element:o,container:i,offsetParent:c,id:a}=this,{animation:l}=e,r=u.get(o,"out"),g=i===c?i:c;u.clear(o,"out"),n&&!r&&!ve(this)&&u.set(o,()=>{const p=$(`show.bs.${Vt(this.name)}`);w(o,p),p.defaultPrevented||(On(n,g),O(o,it,`#${a}`),this.update(),po(this,!0),h(n,m)||f(n,m),l?P(n,()=>fo(this)):fo(this))},17,"in")}hide(){const{options:e,tooltip:n,element:o}=this,{animation:i,delay:c}=e;u.clear(o,"in"),n&&ve(this)&&u.set(o,()=>{const a=$(`hide.bs.${Vt(this.name)}`);w(o,a),a.defaultPrevented||(this.update(),b(n,m),po(this),i?P(n,()=>go(this)):go(this))},c+17,"out")}enable(){const{enabled:e}=this;e||(this._toggleEventListeners(!0),this.enabled=!e)}disable(){const{tooltip:e,options:n,enabled:o}=this,{animation:i}=n;o&&(e&&ve(this)&&i?(this.hide(),P(e,()=>this._toggleEventListeners())):this._toggleEventListeners(),this.enabled=!o)}toggleEnabled(){this.enabled?this.disable():this.enable()}dispose(){const{tooltip:e,options:n}=this,o={...this,name:this.name},i=()=>setTimeout(()=>uc(o,()=>super.dispose()),17);n.animation&&ve(o)?(this.options.delay=0,this.hide(),P(e,i)):i()}}d(St,"selector",fc),d(St,"init",gc),d(St,"getInstance",lo),d(St,"styleTip",Hs);const mc=`[${rt}="${_t}"],[data-tip="${_t}"]`,vc=dt({},Ps,{template:io(_t),content:"",dismissible:!1,btnClose:''}),bc=t=>F(t,Ke),wc=t=>new Rt(t);class Rt extends St{constructor(e,n){super(e,n);d(this,"show",()=>{super.show();const{options:e,btn:n}=this;e.dismissible&&n&&setTimeout(()=>ht(n),17)})}get name(){return Ke}get defaults(){return vc}}d(Rt,"selector",mc),d(Rt,"init",wc),d(Rt,"getInstance",bc),d(Rt,"styleTip",Hs);const Ec="scrollspy",mo="ScrollSpy",$c='[data-bs-spy="scroll"]',Tc={offset:10,target:null},yc=t=>F(t,mo),Cc=t=>new se(t),vo=$(`activate.bs.${Ec}`),Sc=t=>{const{target:s,scrollTarget:e,options:n,itemsLength:o,scrollHeight:i,element:c}=t,{offset:a}=n,l=ns(e),r=s&&is("A",s),g=e?bo(e):i;if(t.scrollTop=l?e.scrollY:e.scrollTop,r&&(g!==i||o!==r.length)){let p,v,k;t.items=[],t.offsets=[],t.scrollHeight=g,t.maxScroll=t.scrollHeight-Hc(t),[...r].forEach(J=>{p=at(J,"href"),v=p&&p.charAt(0)==="#"&&p.slice(-1)!=="#"&&D(p,E(c)),v&&(t.items.push(J),k=fe(v),t.offsets.push((l?k.top+t.scrollTop:v.offsetTop)-a))}),t.itemsLength=t.items.length}},bo=t=>T(t)?t.scrollHeight:ft(t).scrollHeight,Hc=({element:t,scrollTarget:s})=>ns(s)?s.innerHeight:fe(t).height,wo=t=>{[...is("A",t)].forEach(s=>{h(s,C)&&b(s,C)})},Eo=(t,s)=>{const{target:e,element:n}=t;T(e)&&wo(e),t.activeItem=s,f(s,C);const o=[];let i=s;for(;i!==wt(n);)i=i.parentElement,(h(i,"nav")||h(i,"dropdown-menu"))&&o.push(i);o.forEach(c=>{const a=c.previousElementSibling;a&&!h(a,C)&&f(a,C)}),vo.relatedTarget=s,w(n,vo)};class se extends st{constructor(e,n){super(e,n);d(this,"refresh",()=>{const{target:e}=this;if(T(e)&&e.offsetHeight>0){Sc(this);const{scrollTop:n,maxScroll:o,itemsLength:i,items:c,activeItem:a}=this;if(n>=o){const r=c[i-1];a!==r&&Eo(this,r);return}const{offsets:l}=this;if(a&&n0){this.activeItem=null,e&&wo(e);return}c.forEach((r,g)=>{a!==r&&n>=l[g]&&(typeof l[g+1]>"u"||n{(e?_:B)(this.scrollTarget,Ae,this.refresh,tt)});const{element:o,options:i}=this;this.target=D(i.target,E(o)),this.target&&(this.scrollTarget=o.clientHeightF(t,$o),Pc=t=>new ne(t),Ds=$(`show.bs.${be}`),Co=$(`shown.bs.${be}`),xs=$(`hide.bs.${be}`),So=$(`hidden.bs.${be}`),we=new Map,Ho=t=>{const{tabContent:s,nav:e}=t;s&&h(s,Nt)&&(s.style.height="",b(s,Nt)),e&&u.clear(e)},Po=t=>{const{element:s,tabContent:e,content:n,nav:o}=t,{tab:i}=T(o)&&we.get(o)||{tab:null};if(e&&n&&h(n,W)){const{currentHeight:c,nextHeight:a}=we.get(s)||{currentHeight:0,nextHeight:0};c===a?Ho(t):setTimeout(()=>{e.style.height=`${a}px`,It(e),P(e,()=>Ho(t))},50)}else o&&u.clear(o);Co.relatedTarget=i,w(s,Co)},Do=t=>{const{element:s,content:e,tabContent:n,nav:o}=t,{tab:i,content:c}=o&&we.get(o)||{tab:null,content:null};let a=0;if(n&&e&&h(e,W)&&([c,e].forEach(l=>{T(l)&&f(l,"overflow-hidden")}),a=T(c)?c.scrollHeight:0),Ds.relatedTarget=i,So.relatedTarget=s,w(s,Ds),!Ds.defaultPrevented){if(e&&f(e,C),c&&b(c,C),n&&e&&h(e,W)){const l=e.scrollHeight;we.set(s,{currentHeight:a,nextHeight:l,tab:null,content:null}),f(n,Nt),n.style.height=`${a}px`,It(n),[c,e].forEach(r=>{r&&b(r,"overflow-hidden")})}e&&e&&h(e,W)?setTimeout(()=>{f(e,m),P(e,()=>{Po(t)})},1):(e&&f(e,m),Po(t)),i&&w(i,So)}},xo=t=>{const{nav:s}=t;if(!T(s))return{tab:null,content:null};const e=gt(C,s);let n=null;e.length===1&&!Ot.some(i=>h(e[0].parentElement,i))?[n]=e:e.length>1&&(n=e[e.length-1]);const o=T(n)?V(n):null;return{tab:n,content:o}},Ao=t=>{if(!T(t))return null;const s=M(t,`.${Ot.join(",.")}`);return s?D(`.${Ot[0]}-toggle`,s):null},Dc=t=>{const s=yo(t.target);s&&(t.preventDefault(),s.show())};class ne extends st{constructor(e){super(e);d(this,"_toggleEventListeners",e=>{(e?_:B)(this.element,N,Dc)});const{element:n}=this,o=V(n);if(o){const i=M(n,".nav"),c=M(o,".tab-content");this.nav=i,this.content=o,this.tabContent=c,this.dropdown=Ao(n);const{tab:a}=xo(this);if(i&&!a){const l=D(To,i),r=l&&V(l);r&&(f(l,C),f(r,m),f(r,C),O(n,Ue,"true"))}this._toggleEventListeners(!0)}}get name(){return $o}show(){const{element:e,content:n,nav:o,dropdown:i}=this;if(!(o&&u.get(o))&&!h(e,C)){const{tab:c,content:a}=xo(this);if(o&&we.set(o,{tab:c,content:a,currentHeight:0,nextHeight:0}),xs.relatedTarget=e,T(c)&&(w(c,xs),!xs.defaultPrevented)){f(e,C),O(e,Ue,"true");const l=T(c)&&Ao(c);if(l&&h(l,C)&&b(l,C),o){const r=()=>{c&&(b(c,C),O(c,Ue,"false")),i&&!h(i,C)&&f(i,C)};a&&(h(a,W)||n&&h(n,W))?u.set(o,r,1):r()}a&&(b(a,m),h(a,W)?P(a,()=>Do(this)):Do(this))}}}dispose(){this._toggleEventListeners(),super.dispose()}}d(ne,"selector",To),d(ne,"init",Pc),d(ne,"getInstance",yo);const G="toast",Lo="Toast",xc=`.${G}`,Ac=`[${Me}="${G}"]`,Io=`[${rt}="${G}"]`,oe="showing",ko="hide",Lc={animation:!0,autohide:!0,delay:5e3},As=t=>F(t,Lo),Ic=t=>new ie(t),No=$(`show.bs.${G}`),kc=$(`shown.bs.${G}`),Oo=$(`hide.bs.${G}`),Nc=$(`hidden.bs.${G}`),Mo=t=>{const{element:s,options:e}=t;b(s,oe),u.clear(s,oe),w(s,kc),e.autohide&&u.set(s,()=>t.hide(),e.delay,G)},_o=t=>{const{element:s}=t;b(s,oe),b(s,m),f(s,ko),u.clear(s,G),w(s,Nc)},Oc=t=>{const{element:s,options:e}=t;f(s,oe),e.animation?(It(s),P(s,()=>_o(t))):_o(t)},Mc=t=>{const{element:s,options:e}=t;u.set(s,()=>{b(s,ko),It(s),f(s,m),f(s,oe),e.animation?P(s,()=>Mo(t)):Mo(t)},17,oe)},_c=t=>{u.clear(t.element,G),t._toggleEventListeners()},Bc=t=>{const{target:s}=t,e=s&&M(s,Io),n=e&&V(e),o=n&&As(n);o&&(e&&e.tagName==="A"&&t.preventDefault(),o.relatedTarget=e,o.show())},Rc=t=>{const s=t.target,e=As(s),{type:n,relatedTarget:o}=t;e&&s!==o&&!s.contains(o)&&([De,Qe].includes(n)?u.clear(s,G):u.set(s,()=>e.hide(),e.options.delay,G))};class ie extends st{constructor(e,n){super(e,n);d(this,"show",()=>{const{element:e,isShown:n}=this;e&&!n&&(w(e,No),No.defaultPrevented||Mc(this))});d(this,"hide",()=>{const{element:e,isShown:n}=this;e&&n&&(w(e,Oo),Oo.defaultPrevented||Oc(this))});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{element:o,triggers:i,dismiss:c,options:a,hide:l}=this;c&&n(c,N,l),a.autohide&&[Qe,Bs,De,Ze].forEach(r=>n(o,r,Rc)),i.length&&i.forEach(r=>n(r,N,Bc))});const{element:o,options:i}=this;i.animation&&!h(o,W)?f(o,W):!i.animation&&h(o,W)&&b(o,W),this.dismiss=D(Ac,o),this.triggers=[...et(Io,E(o))].filter(c=>V(c)===o),this._toggleEventListeners(!0)}get name(){return Lo}get defaults(){return Lc}get isShown(){return h(this.element,m)}dispose(){const{element:e,isShown:n}=this;n&&b(e,m),_c(this),super.dispose()}}d(ie,"selector",xc),d(ie,"init",Ic),d(ie,"getInstance",As);const Ls=new Map;[Ut,qt,Qt,Zt,Jt,te,ee,Rt,se,ne,ie,St].forEach(t=>Ls.set(t.prototype.name,t));const Wc=(t,s)=>{[...s].forEach(e=>t(e))},Fc=(t,s)=>{const e=Lt.getAllFor(t);e&&[...e].forEach(([n,o])=>{s.contains(n)&&o.dispose()})},Is=t=>{const s=t&&t.nodeName?t:document,e=[...is("*",s)];Ls.forEach(n=>{const{init:o,selector:i}=n;Wc(o,e.filter(c=>Js(c,i)))})},jc=t=>{const s=t&&t.nodeName?t:document;Ls.forEach(e=>{Fc(e.prototype.name,s)})};return document.body?Is():_(document,"DOMContentLoaded",()=>Is(),{once:!0}),H.Alert=Ut,H.Button=qt,H.Carousel=Qt,H.Collapse=Zt,H.Dropdown=Jt,H.Modal=te,H.Offcanvas=ee,H.Popover=Rt,H.ScrollSpy=se,H.Tab=ne,H.Toast=ie,H.Tooltip=St,H.initCallback=Is,H.removeDataAPI=jc,Object.defineProperty(H,Symbol.toStringTag,{value:"Module"}),H}({}); +var BSN=function(H){"use strict";var Vc=Object.defineProperty;var Kc=(H,it,lt)=>it in H?Vc(H,it,{enumerable:!0,configurable:!0,writable:!0,value:lt}):H[it]=lt;var d=(H,it,lt)=>Kc(H,typeof it!="symbol"?it+"":it,lt);const it="aria-describedby",lt="aria-expanded",Se="aria-hidden",He="aria-modal",_s="aria-pressed",Ue="aria-selected",Bo="DOMContentLoaded",qe="focus",Qe="focusin",Bs="focusout",Pe="keydown",Ro="keyup",N="click",Rs="mousedown",Wo="hover",De="mouseenter",Ze="mouseleave",Fo="pointerdown",jo="pointermove",zo="pointerup",xe="resize",Ae="scroll",Ge="touchstart",Vo="dragstart",Je="ArrowDown",ts="ArrowUp",Ws="ArrowLeft",Fs="ArrowRight",es="Escape",Ko="transitionDuration",Xo="transitionDelay",ss="transitionend",js="transitionProperty",Yo=navigator.userAgentData,Le=Yo,{userAgent:Uo}=navigator,Ie=Uo,zs=/iPhone|iPad|iPod|Android/i;Le?Le.brands.some(t=>zs.test(t.brand)):zs.test(Ie);const Vs=/(iPhone|iPod|iPad)/,qo=Le?Le.brands.some(t=>Vs.test(t.brand)):Vs.test(Ie);Ie&&Ie.includes("Firefox");const{head:ke}=document;["webkitPerspective","perspective"].some(t=>t in ke.style);const Qo=(t,s,e,n)=>{const o=n||!1;t.addEventListener(s,e,o)},Zo=(t,s,e,n)=>{const o=n||!1;t.removeEventListener(s,e,o)},Go=(t,s,e,n)=>{const o=i=>{(i.target===t||i.currentTarget===t)&&(e.apply(t,[i]),Zo(t,s,o,n))};Qo(t,s,o,n)},le=()=>{};(()=>{let t=!1;try{const s=Object.defineProperty({},"passive",{get:()=>(t=!0,t)});Go(document,Bo,le,s)}catch{}return t})(),["webkitTransform","transform"].some(t=>t in ke.style),["webkitAnimation","animation"].some(t=>t in ke.style),["webkitTransition","transition"].some(t=>t in ke.style);const ct=(t,s)=>t.getAttribute(s),Ne=(t,s)=>t.hasAttribute(s),O=(t,s,e)=>t.setAttribute(s,e),At=(t,s)=>t.removeAttribute(s),f=(t,...s)=>{t.classList.add(...s)},b=(t,...s)=>{t.classList.remove(...s)},h=(t,s)=>t.classList.contains(s),de=t=>t!=null&&typeof t=="object"||!1,A=t=>de(t)&&typeof t.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(s=>t.nodeType===s)||!1,T=t=>A(t)&&t.nodeType===1||!1,jt=new Map,Lt={data:jt,set:(t,s,e)=>{T(t)&&(jt.has(s)||jt.set(s,new Map),jt.get(s).set(t,e))},getAllFor:t=>jt.get(t)||null,get:(t,s)=>{if(!T(t)||!s)return null;const e=Lt.getAllFor(s);return t&&e&&e.get(t)||null},remove:(t,s)=>{const e=Lt.getAllFor(s);!e||!T(t)||(e.delete(t),e.size===0&&jt.delete(s))}},F=(t,s)=>Lt.get(t,s),he=t=>typeof t=="string"||!1,ns=t=>de(t)&&t.constructor.name==="Window"||!1,Ks=t=>A(t)&&t.nodeType===9||!1,E=t=>ns(t)?t.document:Ks(t)?t:A(t)?t.ownerDocument:window.document,dt=(t,...s)=>Object.assign(t,...s),vt=t=>{if(!t)return;if(he(t))return E().createElement(t);const{tagName:s}=t,e=vt(s);if(!e)return;const n={...t};return delete n.tagName,dt(e,n)},w=(t,s)=>t.dispatchEvent(s),z=(t,s)=>{const e=getComputedStyle(t),n=s.replace("webkit","Webkit").replace(/([A-Z])/g,"-$1").toLowerCase();return e.getPropertyValue(n)},Jo=t=>{const s=z(t,js),e=z(t,Xo),n=e.includes("ms")?1:1e3,o=s&&s!=="none"?parseFloat(e)*n:0;return Number.isNaN(o)?0:o},zt=t=>{const s=z(t,js),e=z(t,Ko),n=e.includes("ms")?1:1e3,o=s&&s!=="none"?parseFloat(e)*n:0;return Number.isNaN(o)?0:o},P=(t,s)=>{let e=0;const n=new Event(ss),o=zt(t),i=Jo(t);if(o){const c=a=>{a.target===t&&(s.apply(t,[a]),t.removeEventListener(ss,c),e=1)};t.addEventListener(ss,c),setTimeout(()=>{e||w(t,n)},o+i+17)}else s.apply(t,[n])},ht=(t,s)=>t.focus(s),Xs=t=>["true",!0].includes(t)?!0:["false",!1].includes(t)?!1:["null","",null,void 0].includes(t)?null:t!==""&&!Number.isNaN(+t)?+t:t,Oe=t=>Object.entries(t),Vt=t=>t.toLowerCase(),ti=(t,s,e,n)=>{const o={...e},i={...t.dataset},c={...s},a={},l="title";return Oe(i).forEach(([r,g])=>{const p=typeof r=="string"&&r.includes(n)?r.replace(n,"").replace(/[A-Z]/g,v=>Vt(v)):r;a[p]=Xs(g)}),Oe(o).forEach(([r,g])=>{o[r]=Xs(g)}),Oe(s).forEach(([r,g])=>{r in o?c[r]=o[r]:r in a?c[r]=a[r]:c[r]=r===l?ct(t,l):g}),c},Ys=t=>Object.keys(t),$=(t,s)=>{const e=new CustomEvent(t,{cancelable:!0,bubbles:!0});return de(s)&&dt(e,s),e},tt={passive:!0},It=t=>t.offsetHeight,L=(t,s)=>{Oe(s).forEach(([e,n])=>{if(n&&he(e)&&e.includes("--"))t.style.setProperty(e,n);else{const o={};o[e]=n,dt(t.style,o)}})},os=t=>de(t)&&t.constructor.name==="Map"||!1,ei=t=>typeof t=="number"||!1,bt=new Map,u={set:(t,s,e,n)=>{T(t)&&(n&&n.length?(bt.has(t)||bt.set(t,new Map),bt.get(t).set(n,setTimeout(s,e))):bt.set(t,setTimeout(s,e)))},get:(t,s)=>{if(!T(t))return null;const e=bt.get(t);return s&&e&&os(e)?e.get(s)||null:ei(e)?e:null},clear:(t,s)=>{if(!T(t))return;const e=bt.get(t);s&&s.length&&os(e)?(clearTimeout(e.get(s)),e.delete(s),e.size===0&&bt.delete(t)):(clearTimeout(e),bt.delete(t))}},fe=(t,s)=>{const{width:e,height:n,top:o,right:i,bottom:c,left:a}=t.getBoundingClientRect();let l=1,r=1;if(s&&T(t)){const{offsetWidth:g,offsetHeight:p}=t;l=g>0?Math.round(e)/g:1,r=p>0?Math.round(n)/p:1}return{width:e/l,height:n/r,top:o/r,right:i/l,bottom:c/r,left:a/l,x:a/l,y:o/r}},wt=t=>E(t).body,ft=t=>E(t).documentElement,Us=t=>A(t)&&t.constructor.name==="ShadowRoot"||!1,si=t=>t.nodeName==="HTML"?t:T(t)&&t.assignedSlot||A(t)&&t.parentNode||Us(t)&&t.host||ft(t);let qs=0,Qs=0;const Kt=new Map,Zs=(t,s)=>{let e=s?qs:Qs;if(s){const n=Zs(t),o=Kt.get(n)||new Map;Kt.has(n)||Kt.set(n,o),os(o)&&!o.has(s)?(o.set(s,e),qs+=1):e=o.get(s)}else{const n=t.id||t;Kt.has(n)?e=Kt.get(n):(Kt.set(n,e),Qs+=1)}return e},Xt=t=>{var s;return t?Ks(t)?t.defaultView:A(t)?(s=t==null?void 0:t.ownerDocument)==null?void 0:s.defaultView:t:window},ni=t=>Array.isArray(t)||!1,Gs=t=>{if(!A(t))return!1;const{top:s,bottom:e}=fe(t),{clientHeight:n}=ft(t);return s<=n&&e>=0},oi=t=>typeof t=="function"||!1,ii=t=>de(t)&&t.constructor.name==="NodeList"||!1,Et=t=>ft(t).dir==="rtl",ci=t=>A(t)&&["TABLE","TD","TH"].includes(t.nodeName)||!1,M=(t,s)=>t?t.closest(s)||M(t.getRootNode().host,s):null,D=(t,s)=>T(t)?t:(A(s)?s:E()).querySelector(t),is=(t,s)=>(A(s)?s:E()).getElementsByTagName(t),et=(t,s)=>(A(s)?s:E()).querySelectorAll(t),gt=(t,s)=>(s&&A(s)?s:E()).getElementsByClassName(t),Js=(t,s)=>t.matches(s),Yt={},tn=t=>{const{type:s,currentTarget:e}=t;[...Yt[s]].forEach(([n,o])=>{e===n&&[...o].forEach(([i,c])=>{i.apply(n,[t]),typeof c=="object"&&c.once&&B(n,s,i,c)})})},_=(t,s,e,n)=>{Yt[s]||(Yt[s]=new Map);const o=Yt[s];o.has(t)||o.set(t,new Map);const i=o.get(t),{size:c}=i;i.set(e,n),c||t.addEventListener(s,tn,n)},B=(t,s,e,n)=>{const o=Yt[s],i=o&&o.get(t),c=i&&i.get(e),a=c!==void 0?c:n;i&&i.has(e)&&i.delete(e),o&&(!i||!i.size)&&o.delete(t),(!o||!o.size)&&delete Yt[s],(!i||!i.size)&&t.removeEventListener(s,tn,a)},W="fade",m="show",Me="data-bs-dismiss",_e="alert",en="Alert",ai="5.0.14";class st{constructor(s,e){d(this,"_toggleEventListeners",()=>{});const n=D(s);if(!n)throw he(s)?Error(`${this.name} Error: "${s}" is not a valid selector.`):Error(`${this.name} Error: your target is not an instance of HTMLElement.`);const o=Lt.get(n,this.name);o&&o._toggleEventListeners(),this.element=n,this.options=this.defaults&&Ys(this.defaults).length?ti(n,this.defaults,e||{},"bs"):{},Lt.set(n,this.name,this)}get version(){return ai}get name(){return"BaseComponent"}get defaults(){return{}}dispose(){Lt.remove(this.element,this.name),Ys(this).forEach(s=>{delete this[s]})}}const ri=`.${_e}`,li=`[${Me}="${_e}"]`,di=t=>F(t,en),hi=t=>new Ut(t),sn=$(`close.bs.${_e}`),fi=$(`closed.bs.${_e}`),nn=t=>{const{element:s}=t;w(s,fi),t._toggleEventListeners(),t.dispose(),s.remove()};class Ut extends st{constructor(e){super(e);d(this,"dismiss");d(this,"close",()=>{const{element:e}=this;e&&h(e,m)&&(w(e,sn),sn.defaultPrevented||(b(e,m),h(e,W)?P(e,()=>nn(this)):nn(this)))});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{dismiss:o,close:i}=this;o&&n(o,N,i)});this.dismiss=D(li,this.element),this._toggleEventListeners(!0)}get name(){return en}dispose(){this._toggleEventListeners(),super.dispose()}}d(Ut,"selector",ri),d(Ut,"init",hi),d(Ut,"getInstance",di);const C="active",at="data-bs-toggle",gi="button",on="Button",pi=`[${at}="${gi}"]`,ui=t=>F(t,on),mi=t=>new qt(t);class qt extends st{constructor(e){super(e);d(this,"isActive",!1);d(this,"toggle",e=>{e&&e.preventDefault();const{element:n,isActive:o}=this;!h(n,"disabled")&&!ct(n,"disabled")&&((o?b:f)(n,C),O(n,_s,o?"false":"true"),this.isActive=h(n,C))});d(this,"_toggleEventListeners",e=>{(e?_:B)(this.element,N,this.toggle)});const{element:n}=this;this.isActive=h(n,C),O(n,_s,String(!!this.isActive)),this._toggleEventListeners(!0)}get name(){return on}dispose(){this._toggleEventListeners(),super.dispose()}}d(qt,"selector",pi),d(qt,"init",mi),d(qt,"getInstance",ui);const cs="data-bs-target",kt="carousel",cn="Carousel",an="data-bs-parent",vi="data-bs-container",V=t=>{const s=[cs,an,vi,"href"],e=E(t);return s.map(n=>{const o=ct(t,n);return o?n===an?M(t,o):D(o,e):null}).filter(n=>n)[0]},ge=`[data-bs-ride="${kt}"]`,Q=`${kt}-item`,as="data-bs-slide-to",$t="data-bs-slide",Tt="paused",rn={pause:"hover",keyboard:!1,touch:!0,interval:5e3},pt=t=>F(t,cn),bi=t=>new Qt(t);let pe=0,Be=0,rs=0;const ls=$(`slide.bs.${kt}`),ds=$(`slid.bs.${kt}`),ln=t=>{const{index:s,direction:e,element:n,slides:o,options:i}=t;if(t.isAnimating){const c=fs(t),a=e==="left"?"next":"prev",l=e==="left"?"start":"end";f(o[s],C),b(o[s],`${Q}-${a}`),b(o[s],`${Q}-${l}`),b(o[c],C),b(o[c],`${Q}-${l}`),w(n,ds),u.clear(n,$t),t.cycle&&!E(n).hidden&&i.interval&&!t.isPaused&&t.cycle()}};function wi(){const t=pt(this);t&&!t.isPaused&&!u.get(this,Tt)&&f(this,Tt)}function Ei(){const t=pt(this);t&&t.isPaused&&!u.get(this,Tt)&&t.cycle()}function $i(t){t.preventDefault();const s=M(this,ge)||V(this),e=pt(s);if(e&&!e.isAnimating){const n=+(ct(this,as)||0);this&&!h(this,C)&&!Number.isNaN(n)&&e.to(n)}}function Ti(t){t.preventDefault();const s=M(this,ge)||V(this),e=pt(s);if(e&&!e.isAnimating){const n=ct(this,$t);n==="next"?e.next():n==="prev"&&e.prev()}}const yi=({code:t,target:s})=>{const e=E(s),[n]=[...et(ge,e)].filter(i=>Gs(i)),o=pt(n);if(o&&!o.isAnimating&&!/textarea|input/i.test(s.nodeName)){const i=Et(n);t===(i?Fs:Ws)?o.prev():t===(i?Ws:Fs)&&o.next()}};function dn(t){const{target:s}=t,e=pt(this);e&&e.isTouch&&(e.indicator&&!e.indicator.contains(s)||!e.controls.includes(s))&&(t.stopImmediatePropagation(),t.stopPropagation(),t.preventDefault())}function Ci(t){const{target:s}=t,e=pt(this);if(e&&!e.isAnimating&&!e.isTouch){const{controls:n,indicators:o}=e;[...n,...o].every(i=>i===s||i.contains(s))||(pe=t.pageX,this.contains(s)&&(e.isTouch=!0,hn(e,!0)))}}const Si=t=>{Be=t.pageX},Hi=t=>{var o;const{target:s}=t,e=E(s),n=[...et(ge,e)].map(i=>pt(i)).find(i=>i.isTouch);if(n){const{element:i,index:c}=n,a=Et(i);rs=t.pageX,n.isTouch=!1,hn(n),!((o=e.getSelection())!=null&&o.toString().length)&&i.contains(s)&&Math.abs(pe-rs)>120&&(Bepe&&n.to(c+(a?1:-1))),pe=0,Be=0,rs=0}},hs=(t,s)=>{const{indicators:e}=t;[...e].forEach(n=>b(n,C)),t.indicators[s]&&f(e[s],C)},hn=(t,s)=>{const{element:e}=t,n=s?_:B;n(E(e),jo,Si,tt),n(E(e),zo,Hi,tt)},fs=t=>{const{slides:s,element:e}=t,n=D(`.${Q}.${C}`,e);return T(n)?[...s].indexOf(n):-1};class Qt extends st{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const{element:n,options:o,slides:i,controls:c,indicators:a}=this,{touch:l,pause:r,interval:g,keyboard:p}=o,v=e?_:B;r&&g&&(v(n,De,wi),v(n,Ze,Ei)),l&&i.length>2&&(v(n,Fo,Ci,tt),v(n,Ge,dn,{passive:!1}),v(n,Vo,dn,{passive:!1})),c.length&&c.forEach(k=>{k&&v(k,N,Ti)}),a.length&&a.forEach(k=>{v(k,N,$i)}),p&&v(E(n),Pe,yi)});const{element:o}=this;this.direction=Et(o)?"right":"left",this.isTouch=!1,this.slides=gt(Q,o);const{slides:i}=this;if(i.length>=2){const c=fs(this),a=[...i].find(g=>Js(g,`.${Q}-next,.${Q}-next`));this.index=c;const l=E(o);this.controls=[...et(`[${$t}]`,o),...et(`[${$t}][${cs}="#${o.id}"]`,l)].filter((g,p,v)=>p===v.indexOf(g)),this.indicator=D(`.${kt}-indicators`,o),this.indicators=[...this.indicator?et(`[${as}]`,this.indicator):[],...et(`[${as}][${cs}="#${o.id}"]`,l)].filter((g,p,v)=>p===v.indexOf(g));const{options:r}=this;this.options.interval=r.interval===!0?rn.interval:r.interval,a?this.index=[...i].indexOf(a):c<0&&(this.index=0,f(i[0],C),this.indicators.length&&hs(this,0)),this.indicators.length&&hs(this,this.index),this._toggleEventListeners(!0),r.interval&&this.cycle()}}get name(){return cn}get defaults(){return rn}get isPaused(){return h(this.element,Tt)}get isAnimating(){return D(`.${Q}-next,.${Q}-prev`,this.element)!==null}cycle(){const{element:e,options:n,isPaused:o,index:i}=this;u.clear(e,kt),o&&(u.clear(e,Tt),b(e,Tt)),u.set(e,()=>{this.element&&!this.isPaused&&!this.isTouch&&Gs(e)&&this.to(i+1)},n.interval,kt)}pause(){const{element:e,options:n}=this;!this.isPaused&&n.interval&&(f(e,Tt),u.set(e,()=>{},1,Tt))}next(){this.isAnimating||this.to(this.index+1)}prev(){this.isAnimating||this.to(this.index-1)}to(e){const{element:n,slides:o,options:i}=this,c=fs(this),a=Et(n);let l=e;if(!this.isAnimating&&c!==l&&!u.get(n,$t)){cl||c===o.length-1&&l===0)&&(this.direction=a?"left":"right");const{direction:r}=this;l<0?l=o.length-1:l>=o.length&&(l=0);const g=r==="left"?"next":"prev",p=r==="left"?"start":"end",v={relatedTarget:o[l],from:c,to:l,direction:r};dt(ls,v),dt(ds,v),w(n,ls),ls.defaultPrevented||(this.index=l,hs(this,l),zt(o[l])&&h(n,"slide")?u.set(n,()=>{f(o[l],`${Q}-${g}`),It(o[l]),f(o[l],`${Q}-${p}`),f(o[c],`${Q}-${p}`),P(o[l],()=>this.slides&&this.slides.length&&ln(this))},0,$t):(f(o[l],C),b(o[c],C),u.set(n,()=>{u.clear(n,$t),n&&i.interval&&!this.isPaused&&this.cycle(),w(n,ds)},0,$t)))}}dispose(){const{isAnimating:e}=this,n={...this,isAnimating:e};this._toggleEventListeners(),super.dispose(),n.isAnimating&&P(n.slides[n.index],()=>{ln(n)})}}d(Qt,"selector",ge),d(Qt,"init",bi),d(Qt,"getInstance",pt);const Nt="collapsing",K="collapse",fn="Collapse",Pi=`.${K}`,gn=`[${at}="${K}"]`,Di={parent:null},Re=t=>F(t,fn),xi=t=>new Zt(t),pn=$(`show.bs.${K}`),Ai=$(`shown.bs.${K}`),un=$(`hide.bs.${K}`),Li=$(`hidden.bs.${K}`),Ii=t=>{const{element:s,parent:e,triggers:n}=t;w(s,pn),pn.defaultPrevented||(u.set(s,le,17),e&&u.set(e,le,17),f(s,Nt),b(s,K),L(s,{height:`${s.scrollHeight}px`}),P(s,()=>{u.clear(s),e&&u.clear(e),n.forEach(o=>O(o,lt,"true")),b(s,Nt),f(s,K),f(s,m),L(s,{height:""}),w(s,Ai)}))},mn=t=>{const{element:s,parent:e,triggers:n}=t;w(s,un),un.defaultPrevented||(u.set(s,le,17),e&&u.set(e,le,17),L(s,{height:`${s.scrollHeight}px`}),b(s,K),b(s,m),f(s,Nt),It(s),L(s,{height:"0px"}),P(s,()=>{u.clear(s),e&&u.clear(e),n.forEach(o=>O(o,lt,"false")),b(s,Nt),f(s,K),L(s,{height:""}),w(s,Li)}))},ki=t=>{const{target:s}=t,e=s&&M(s,gn),n=e&&V(e),o=n&&Re(n);o&&o.toggle(),e&&e.tagName==="A"&&t.preventDefault()};class Zt extends st{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const n=e?_:B,{triggers:o}=this;o.length&&o.forEach(i=>n(i,N,ki))});const{element:o,options:i}=this,c=E(o);this.triggers=[...et(gn,c)].filter(a=>V(a)===o),this.parent=T(i.parent)?i.parent:he(i.parent)?V(o)||D(i.parent,c):null,this._toggleEventListeners(!0)}get name(){return fn}get defaults(){return Di}hide(){const{triggers:e,element:n}=this;u.get(n)||(mn(this),e.length&&e.forEach(o=>f(o,`${K}d`)))}show(){const{element:e,parent:n,triggers:o}=this;let i,c;n&&(i=[...et(`.${K}.${m}`,n)].find(a=>Re(a)),c=i&&Re(i)),(!n||!u.get(n))&&!u.get(e)&&(c&&i!==e&&(mn(c),c.triggers.forEach(a=>{f(a,`${K}d`)})),Ii(this),o.length&&o.forEach(a=>b(a,`${K}d`)))}toggle(){h(this.element,m)?this.hide():this.show()}dispose(){this._toggleEventListeners(),super.dispose()}}d(Zt,"selector",Pi),d(Zt,"init",xi),d(Zt,"getInstance",Re);const Ot=["dropdown","dropup","dropstart","dropend"],vn="Dropdown",bn="dropdown-menu",wn=t=>{const s=M(t,"A");return t.tagName==="A"&&Ne(t,"href")&&ct(t,"href").slice(-1)==="#"||s&&Ne(s,"href")&&ct(s,"href").slice(-1)==="#"},[nt,gs,ps,us]=Ot,En=`[${at}="${nt}"]`,Gt=t=>F(t,vn),Ni=t=>new Jt(t),Oi=`${bn}-end`,$n=[nt,gs],Tn=[ps,us],yn=["A","BUTTON"],Mi={offset:5,display:"dynamic"},ms=$(`show.bs.${nt}`),Cn=$(`shown.bs.${nt}`),vs=$(`hide.bs.${nt}`),Sn=$(`hidden.bs.${nt}`),Hn=$(`updated.bs.${nt}`),Pn=t=>{const{element:s,menu:e,parentElement:n,options:o}=t,{offset:i}=o;if(z(e,"position")!=="static"){const c=Et(s),a=h(e,Oi);["margin","top","bottom","left","right"].forEach(R=>{const Pt={};Pt[R]="",L(e,Pt)});let r=Ot.find(R=>h(n,R))||nt;const g={dropdown:[i,0,0],dropup:[0,0,i],dropstart:c?[-1,0,0,i]:[-1,i,0],dropend:c?[-1,i,0]:[-1,0,0,i]},p={dropdown:{top:"100%"},dropup:{top:"auto",bottom:"100%"},dropstart:c?{left:"100%",right:"auto"}:{left:"auto",right:"100%"},dropend:c?{left:"auto",right:"100%"}:{left:"100%",right:"auto"},menuStart:c?{right:"0",left:"auto"}:{right:"auto",left:"0"},menuEnd:c?{right:"auto",left:"0"}:{right:"0",left:"auto"}},{offsetWidth:v,offsetHeight:k}=e,{clientWidth:J,clientHeight:y}=ft(s),{left:X,top:q,width:ce,height:mt}=fe(s),S=X-v-i<0,ot=X+v+ce+i>=J,rt=q+k+i>=y,j=q+k+mt+i>=y,Y=q-k-i<0,x=(!c&&a||c&&!a)&&X+ce-v<0,ae=(c&&a||!c&&!a)&&X+v>=J;if(Tn.includes(r)&&S&&ot&&(r=nt),r===ps&&(c?ot:S)&&(r=us),r===us&&(c?S:ot)&&(r=ps),r===gs&&Y&&!j&&(r=nt),r===nt&&j&&!Y&&(r=gs),Tn.includes(r)&&rt&&dt(p[r],{top:"auto",bottom:0}),$n.includes(r)&&(x||ae)){let R={left:"auto",right:"auto"};!x&&ae&&!c&&(R={left:"auto",right:0}),x&&!ae&&c&&(R={left:0,right:"auto"}),R&&dt(p[r],R)}const Ht=g[r];L(e,{...p[r],margin:`${Ht.map(R=>R&&`${R}px`).join(" ")}`}),$n.includes(r)&&a&&a&&L(e,p[!c&&x||c&&ae?"menuStart":"menuEnd"]),w(n,Hn)}},_i=t=>[...t.children].map(s=>{if(s&&yn.includes(s.tagName))return s;const{firstElementChild:e}=s;return e&&yn.includes(e.tagName)?e:null}).filter(s=>s),Dn=t=>{const{element:s,options:e}=t,n=t.open?_:B,o=E(s);n(o,N,xn),n(o,qe,xn),n(o,Pe,Ri),n(o,Ro,Wi),e.display==="dynamic"&&[Ae,xe].forEach(i=>{n(Xt(s),i,Fi,tt)})},We=t=>{const s=[...Ot,"btn-group","input-group"].map(e=>gt(`${e} ${m}`,E(t))).find(e=>e.length);if(s&&s.length)return[...s[0].children].find(e=>Ot.some(n=>n===ct(e,at)))},xn=t=>{const{target:s,type:e}=t;if(s&&T(s)){const n=We(s),o=n&&Gt(n);if(o){const{parentElement:i,menu:c}=o,a=i&&i.contains(s)&&(s.tagName==="form"||M(s,"form")!==null);[N,Rs].includes(e)&&wn(s)&&t.preventDefault(),!a&&e!==qe&&s!==n&&s!==c&&o.hide()}}},Bi=t=>{const{target:s}=t,e=s&&M(s,En),n=e&&Gt(e);n&&(t.stopPropagation(),n.toggle(),e&&wn(e)&&t.preventDefault())},Ri=t=>{[Je,ts].includes(t.code)&&t.preventDefault()};function Wi(t){const{code:s}=t,e=We(this),n=e&&Gt(e),{activeElement:o}=e&&E(e);if(n&&o){const{menu:i,open:c}=n,a=_i(i);if(a&&a.length&&[Je,ts].includes(s)){let l=a.indexOf(o);o===e?l=0:s===ts?l=l>1?l-1:0:s===Je&&(l=l{(e?_:B)(this.element,N,Bi)});const{parentElement:o}=this.element,[i]=gt(bn,o);i&&(this.parentElement=o,this.menu=i,this._toggleEventListeners(!0))}get name(){return vn}get defaults(){return Mi}toggle(){this.open?this.hide():this.show()}show(){const{element:e,open:n,menu:o,parentElement:i}=this;if(!n){const c=We(e),a=c&&Gt(c);a&&a.hide(),[ms,Cn,Hn].forEach(l=>{l.relatedTarget=e}),w(i,ms),ms.defaultPrevented||(f(o,m),f(i,m),O(e,lt,"true"),Pn(this),this.open=!n,ht(e),Dn(this),w(i,Cn))}}hide(){const{element:e,open:n,menu:o,parentElement:i}=this;n&&([vs,Sn].forEach(c=>{c.relatedTarget=e}),w(i,vs),vs.defaultPrevented||(b(o,m),b(i,m),O(e,lt,"false"),this.open=!n,Dn(this),w(i,Sn)))}dispose(){this.open&&this.hide(),this._toggleEventListeners(),super.dispose()}}d(Jt,"selector",En),d(Jt,"init",Ni),d(Jt,"getInstance",Gt);const U="modal",bs="Modal",ws="Offcanvas",ji="fixed-top",zi="fixed-bottom",An="sticky-top",Ln="position-sticky",In=t=>[...gt(ji,t),...gt(zi,t),...gt(An,t),...gt(Ln,t),...gt("is-fixed",t)],Vi=t=>{const s=wt(t);L(s,{paddingRight:"",overflow:""});const e=In(s);e.length&&e.forEach(n=>{L(n,{paddingRight:"",marginRight:""})})},kn=t=>{const{clientWidth:s}=ft(t),{innerWidth:e}=Xt(t);return Math.abs(e-s)},Nn=(t,s)=>{const e=wt(t),n=parseInt(z(e,"paddingRight"),10),i=z(e,"overflow")==="hidden"&&n?0:kn(t),c=In(e);s&&(L(e,{overflow:"hidden",paddingRight:`${n+i}px`}),c.length&&c.forEach(a=>{const l=z(a,"paddingRight");if(a.style.paddingRight=`${parseInt(l,10)+i}px`,[An,Ln].some(r=>h(a,r))){const r=z(a,"marginRight");a.style.marginRight=`${parseInt(r,10)-i}px`}}))},Z="offcanvas",yt=vt({tagName:"div",className:"popup-container"}),On=(t,s)=>{const e=A(s)&&s.nodeName==="BODY",n=A(s)&&!e?s:yt,o=e?s:wt(t);A(t)&&(n===yt&&o.append(yt),n.append(t))},Mn=(t,s)=>{const e=A(s)&&s.nodeName==="BODY",n=A(s)&&!e?s:yt;A(t)&&(t.remove(),n===yt&&!yt.children.length&&yt.remove())},Es=(t,s)=>{const e=A(s)&&s.nodeName!=="BODY"?s:yt;return A(t)&&e.contains(t)},_n="backdrop",Bn=`${U}-${_n}`,Rn=`${Z}-${_n}`,Wn=`.${U}.${m}`,$s=`.${Z}.${m}`,I=vt("div"),Mt=t=>D(`${Wn},${$s}`,E(t)),Ts=t=>{const s=t?Bn:Rn;[Bn,Rn].forEach(e=>{b(I,e)}),f(I,s)},Fn=(t,s,e)=>{Ts(e),On(I,wt(t)),s&&f(I,W)},jn=()=>{h(I,m)||(f(I,m),It(I))},Fe=()=>{b(I,m)},zn=t=>{Mt(t)||(b(I,W),Mn(I,wt(t)),Vi(t))},Vn=t=>T(t)&&z(t,"visibility")!=="hidden"&&t.offsetParent!==null,Ki=`.${U}`,Kn=`[${at}="${U}"]`,Xi=`[${Me}="${U}"]`,Xn=`${U}-static`,Yi={backdrop:!0,keyboard:!0},ue=t=>F(t,bs),Ui=t=>new te(t),je=$(`show.bs.${U}`),Yn=$(`shown.bs.${U}`),ys=$(`hide.bs.${U}`),Un=$(`hidden.bs.${U}`),qn=t=>{const{element:s}=t,e=kn(s),{clientHeight:n,scrollHeight:o}=ft(s),{clientHeight:i,scrollHeight:c}=s,a=i!==c;if(!a&&e){const l=Et(s)?"paddingLeft":"paddingRight",r={};r[l]=`${e}px`,L(s,r)}Nn(s,a||n!==o)},Qn=(t,s)=>{const e=s?_:B,{element:n,update:o}=t;e(n,N,Zi),e(Xt(n),xe,o,tt),e(E(n),Pe,Qi)},Zn=t=>{const{triggers:s,element:e,relatedTarget:n}=t;zn(e),L(e,{paddingRight:"",display:""}),Qn(t);const o=je.relatedTarget||s.find(Vn);o&&ht(o),Un.relatedTarget=n,w(e,Un)},Gn=t=>{const{element:s,relatedTarget:e}=t;ht(s),Qn(t,!0),Yn.relatedTarget=e,w(s,Yn)},Jn=t=>{const{element:s,hasFade:e}=t;L(s,{display:"block"}),qn(t),Mt(s)||L(wt(s),{overflow:"hidden"}),f(s,m),At(s,Se),O(s,He,"true"),e?P(s,()=>Gn(t)):Gn(t)},to=t=>{const{element:s,options:e,hasFade:n}=t;e.backdrop&&n&&h(I,m)&&!Mt(s)?(Fe(),P(I,()=>Zn(t))):Zn(t)},qi=t=>{const{target:s}=t,e=s&&M(s,Kn),n=e&&V(e),o=n&&ue(n);o&&(e&&e.tagName==="A"&&t.preventDefault(),o.relatedTarget=e,o.toggle())},Qi=({code:t,target:s})=>{const e=D(Wn,E(s)),n=e&&ue(e);if(n){const{options:o}=n;o.keyboard&&t===es&&h(e,m)&&(n.relatedTarget=null,n.hide())}},Zi=t=>{var n,o;const{currentTarget:s}=t,e=s?ue(s):null;if(e&&s&&!u.get(s)){const{options:i,isStatic:c,modalDialog:a}=e,{backdrop:l}=i,{target:r}=t,g=(o=(n=E(s))==null?void 0:n.getSelection())==null?void 0:o.toString().length,p=a.contains(r),v=r&&M(r,Xi);c&&!p?u.set(s,()=>{f(s,Xn),P(a,()=>Gi(e))},17):(v||!g&&!c&&!p&&l)&&(e.relatedTarget=v||null,e.hide(),t.preventDefault())}},Gi=t=>{const{element:s,modalDialog:e}=t,n=(zt(e)||0)+17;b(s,Xn),u.set(s,()=>u.clear(s),n)};class te extends st{constructor(e,n){super(e,n);d(this,"update",()=>{h(this.element,m)&&qn(this)});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{triggers:o}=this;o.length&&o.forEach(i=>n(i,N,qi))});const{element:o}=this,i=D(`.${U}-dialog`,o);i&&(this.modalDialog=i,this.triggers=[...et(Kn,E(o))].filter(c=>V(c)===o),this.isStatic=this.options.backdrop==="static",this.hasFade=h(o,W),this.relatedTarget=null,this._toggleEventListeners(!0))}get name(){return bs}get defaults(){return Yi}toggle(){h(this.element,m)?this.hide():this.show()}show(){const{element:e,options:n,hasFade:o,relatedTarget:i}=this,{backdrop:c}=n;let a=0;if(!h(e,m)&&(je.relatedTarget=i||void 0,w(e,je),!je.defaultPrevented)){const l=Mt(e);if(l&&l!==e){const r=ue(l)||F(l,ws);r&&r.hide()}c?(Es(I)?Ts(!0):Fn(e,o,!0),a=zt(I),jn(),setTimeout(()=>Jn(this),a)):(Jn(this),l&&h(I,m)&&Fe())}}hide(){const{element:e,hasFade:n,relatedTarget:o}=this;h(e,m)&&(ys.relatedTarget=o||void 0,w(e,ys),ys.defaultPrevented||(b(e,m),O(e,Se,"true"),At(e,He),n?P(e,()=>to(this)):to(this)))}dispose(){const e={...this},{element:n,modalDialog:o}=e,i=()=>super.dispose();this._toggleEventListeners(),this.hide(),h(n,"fade")?P(o,i):i()}}d(te,"selector",Ki),d(te,"init",Ui),d(te,"getInstance",ue);const Ji=`.${Z}`,Cs=`[${at}="${Z}"]`,tc=`[${Me}="${Z}"]`,ze=`${Z}-toggling`,ec={backdrop:!0,keyboard:!0,scroll:!1},me=t=>F(t,ws),sc=t=>new ee(t),Ve=$(`show.bs.${Z}`),eo=$(`shown.bs.${Z}`),Ss=$(`hide.bs.${Z}`),so=$(`hidden.bs.${Z}`),nc=t=>{const{element:s}=t,{clientHeight:e,scrollHeight:n}=ft(s);Nn(s,e!==n)},no=(t,s)=>{const e=s?_:B,n=E(t.element);e(n,Pe,ac),e(n,N,cc)},oo=t=>{const{element:s,options:e}=t;e.scroll||(nc(t),L(wt(s),{overflow:"hidden"})),f(s,ze),f(s,m),L(s,{visibility:"visible"}),P(s,()=>rc(t))},oc=t=>{const{element:s,options:e}=t,n=Mt(s);s.blur(),!n&&e.backdrop&&h(I,m)&&Fe(),P(s,()=>lc(t))},ic=t=>{const s=M(t.target,Cs),e=s&&V(s),n=e&&me(e);n&&(n.relatedTarget=s,n.toggle(),s&&s.tagName==="A"&&t.preventDefault())},cc=t=>{const{target:s}=t,e=D($s,E(s)),n=D(tc,e),o=e&&me(e);if(o){const{options:i,triggers:c}=o,{backdrop:a}=i,l=M(s,Cs),r=E(e).getSelection();(!I.contains(s)||a!=="static")&&(!(r&&r.toString().length)&&(!e.contains(s)&&a&&(!l||c.includes(s))||n&&n.contains(s))&&(o.relatedTarget=n&&n.contains(s)?n:null,o.hide()),l&&l.tagName==="A"&&t.preventDefault())}},ac=({code:t,target:s})=>{const e=D($s,E(s)),n=e&&me(e);n&&n.options.keyboard&&t===es&&(n.relatedTarget=null,n.hide())},rc=t=>{const{element:s}=t;b(s,ze),At(s,Se),O(s,He,"true"),O(s,"role","dialog"),w(s,eo),no(t,!0),ht(s)},lc=t=>{const{element:s,triggers:e}=t;O(s,Se,"true"),At(s,He),At(s,"role"),L(s,{visibility:""});const n=Ve.relatedTarget||e.find(Vn);n&&ht(n),zn(s),w(s,so),b(s,ze),Mt(s)||no(t)};class ee extends st{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const n=e?_:B;this.triggers.forEach(o=>n(o,N,ic))});const{element:o}=this;this.triggers=[...et(Cs,E(o))].filter(i=>V(i)===o),this.relatedTarget=null,this._toggleEventListeners(!0)}get name(){return ws}get defaults(){return ec}toggle(){h(this.element,m)?this.hide():this.show()}show(){const{element:e,options:n,relatedTarget:o}=this;let i=0;if(!h(e,m)&&(Ve.relatedTarget=o||void 0,eo.relatedTarget=o||void 0,w(e,Ve),!Ve.defaultPrevented)){const c=Mt(e);if(c&&c!==e){const a=me(c)||F(c,bs);a&&a.hide()}n.backdrop?(Es(I)?Ts():Fn(e,!0),i=zt(I),jn(),setTimeout(()=>oo(this),i)):(oo(this),c&&h(I,m)&&Fe())}}hide(){const{element:e,relatedTarget:n}=this;h(e,m)&&(Ss.relatedTarget=n||void 0,so.relatedTarget=n||void 0,w(e,Ss),Ss.defaultPrevented||(f(e,ze),b(e,m),oc(this)))}dispose(){const e={...this},{element:n,options:o}=e,i=o.backdrop?zt(I):0,c=()=>setTimeout(()=>super.dispose(),i+17);this._toggleEventListeners(),this.hide(),h(n,m)?P(n,c):c()}}d(ee,"selector",Ji),d(ee,"init",sc),d(ee,"getInstance",me);const _t="popover",Ke="Popover",ut="tooltip",io=t=>{const s=t===ut,e=s?`${t}-inner`:`${t}-body`,n=s?"":`

`,o=`
`,i=`
`;return`
${n+o+i}
`},co={top:"top",bottom:"bottom",left:"start",right:"end"},Hs=t=>{const s=/\b(top|bottom|start|end)+/,{element:e,tooltip:n,container:o,options:i,arrow:c}=t;if(n){const a={...co},l=Et(e);L(n,{top:"",left:"",right:"",bottom:""});const r=t.name===Ke,{offsetWidth:g,offsetHeight:p}=n,{clientWidth:v,clientHeight:k,offsetWidth:J}=ft(e);let{placement:y}=i;const{clientWidth:X,offsetWidth:q}=o,mt=z(o,"position")==="fixed",S=Math.abs(mt?X-q:v-J),ot=l&&mt?S:0,rt=v-(l?0:S)-1,{width:j,height:Y,left:x,right:ae,top:Ht}=fe(e,!0),{x:R,y:Pt}={x,y:Ht};L(c,{top:"",left:"",right:"",bottom:""});let Wt=0,Ee="",Dt=0,ks="",re="",Xe="",Ns="";const Ft=c.offsetWidth||0,xt=c.offsetHeight||0,Os=Ft/2;let $e=Ht-p-xt<0,Te=Ht+p+Y+xt>=k,ye=x-g-Ft=rt;const Ye=["left","right"],Ms=["top","bottom"];$e=Ye.includes(y)?Ht+Y/2-p/2-xt<0:$e,Te=Ye.includes(y)?Ht+p/2+Y/2+xt>=k:Te,ye=Ms.includes(y)?x+j/2-g/2=rt:Ce,y=Ye.includes(y)&&ye&&Ce?"top":y,y=y==="top"&&$e?"bottom":y,y=y==="bottom"&&Te?"top":y,y=y==="left"&&ye?"right":y,y=y==="right"&&Ce?"left":y,n.className.includes(y)||(n.className=n.className.replace(s,a[y])),Ye.includes(y)?(y==="left"?Dt=R-g-(r?Ft:0):Dt=R+j+(r?Ft:0),$e&&Te?(Wt=0,Ee=0,re=Ht+Y/2-xt/2):$e?(Wt=Pt,Ee="",re=Y/2-Ft):Te?(Wt=Pt-p+Y,Ee="",re=p-Y/2-Ft):(Wt=Pt-p/2+Y/2,re=p/2-xt/2)):Ms.includes(y)&&(y==="top"?Wt=Pt-p-(r?xt:0):Wt=Pt+Y+(r?xt:0),ye?(Dt=0,Xe=R+j/2-Os):Ce?(Dt="auto",ks=0,Ns=j/2+rt-ae-Os):(Dt=R-g/2+j/2,Xe=g/2-Os)),L(n,{top:`${Wt}px`,bottom:Ee===""?"":`${Ee}px`,left:Dt==="auto"?Dt:`${Dt}px`,right:ks!==""?`${ks}px`:""}),T(c)&&(re!==""&&(c.style.top=`${re}px`),Xe!==""?c.style.left=`${Xe}px`:Ns!==""&&(c.style.right=`${Ns}px`));const zc=$(`updated.bs.${Vt(t.name)}`);w(e,zc)}},Ps={template:io(ut),title:"",customClass:"",trigger:"hover focus",placement:"top",sanitizeFn:void 0,animation:!0,delay:200,container:document.body,content:"",dismissible:!1,btnClose:""},ao="data-original-title",Bt="Tooltip",Ct=(t,s,e)=>{if(he(s)&&s.length){let n=s.trim();oi(e)&&(n=e(n));const i=new DOMParser().parseFromString(n,"text/html");t.append(...i.body.childNodes)}else T(s)?t.append(s):(ii(s)||ni(s)&&s.every(A))&&t.append(...s)},dc=t=>{const s=t.name===Bt,{id:e,element:n,options:o}=t,{title:i,placement:c,template:a,animation:l,customClass:r,sanitizeFn:g,dismissible:p,content:v,btnClose:k}=o,J=s?ut:_t,y={...co};let X=[],q=[];Et(n)&&(y.left="end",y.right="start");const ce=`bs-${J}-${y[c]}`;let mt;if(T(a))mt=a;else{const ot=vt("div");Ct(ot,a,g),mt=ot.firstChild}t.tooltip=T(mt)?mt.cloneNode(!0):void 0;const{tooltip:S}=t;if(S){O(S,"id",e),O(S,"role",ut);const ot=s?`${ut}-inner`:`${_t}-body`,rt=s?null:D(`.${_t}-header`,S),j=D(`.${ot}`,S);t.arrow=D(`.${J}-arrow`,S);const{arrow:Y}=t;if(T(i))X=[i.cloneNode(!0)];else{const x=vt("div");Ct(x,i,g),X=[...x.childNodes]}if(T(v))q=[v.cloneNode(!0)];else{const x=vt("div");Ct(x,v,g),q=[...x.childNodes]}if(p)if(i)if(T(k))X=[...X,k.cloneNode(!0)];else{const x=vt("div");Ct(x,k,g),X=[...X,x.firstChild]}else if(rt&&rt.remove(),T(k))q=[...q,k.cloneNode(!0)];else{const x=vt("div");Ct(x,k,g),q=[...q,x.firstChild]}s?i&&j&&Ct(j,i,g):(i&&rt&&Ct(rt,X,g),v&&j&&Ct(j,q,g),t.btn=D(".btn-close",S)||void 0),f(S,"position-fixed"),f(Y,"position-absolute"),h(S,J)||f(S,J),l&&!h(S,W)&&f(S,W),r&&!h(S,r)&&f(S,r),h(S,ce)||f(S,ce)}},hc=t=>{const s=["HTML","BODY"],e=[];let{parentNode:n}=t;for(;n&&!s.includes(n.nodeName);)n=si(n),Us(n)||ci(n)||e.push(n);return e.find((o,i)=>z(o,"position")!=="relative"&&e.slice(i+1).every(c=>z(c,"position")==="static")?o:null)||E(t).body},fc=`[${at}="${ut}"],[data-tip="${ut}"]`,ro="title";let lo=t=>F(t,Bt);const gc=t=>new St(t),pc=t=>{const{element:s,tooltip:e,container:n,offsetParent:o}=t;At(s,it),Mn(e,n===o?n:o)},ve=t=>{const{tooltip:s,container:e,offsetParent:n}=t;return s&&Es(s,e===n?e:n)},uc=(t,s)=>{const{element:e}=t;t._toggleEventListeners(),Ne(e,ao)&&t.name===Bt&&uo(t),s&&s()},ho=(t,s)=>{const e=s?_:B,{element:n}=t;e(E(n),Ge,t.handleTouch,tt),[Ae,xe].forEach(o=>{e(Xt(n),o,t.update,tt)})},fo=t=>{const{element:s}=t,e=$(`shown.bs.${Vt(t.name)}`);ho(t,!0),w(s,e),u.clear(s,"in")},go=t=>{const{element:s}=t,e=$(`hidden.bs.${Vt(t.name)}`);ho(t),pc(t),w(s,e),u.clear(s,"out")},po=(t,s)=>{const e=s?_:B,{element:n,container:o,offsetParent:i}=t,{offsetHeight:c,scrollHeight:a}=o,l=M(n,`.${U}`),r=M(n,`.${Z}`),g=Xt(n),v=o===i&&c!==a?o:g;e(v,xe,t.update,tt),e(v,Ae,t.update,tt),l&&e(l,`hide.bs.${U}`,t.handleHide),r&&e(r,`hide.bs.${Z}`,t.handleHide)},uo=(t,s)=>{const e=[ao,ro],{element:n}=t;O(n,e[s?0:1],s||ct(n,e[0])||""),At(n,e[s?1:0])};class St extends st{constructor(e,n){super(e,n);d(this,"handleFocus",()=>ht(this.element));d(this,"handleShow",()=>this.show());d(this,"handleHide",()=>this.hide());d(this,"update",()=>{Hs(this)});d(this,"toggle",()=>{const{tooltip:e}=this;e&&!ve(this)?this.show():this.hide()});d(this,"handleTouch",({target:e})=>{const{tooltip:n,element:o}=this;n&&n.contains(e)||e===o||e&&o.contains(e)||this.hide()});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{element:o,options:i,btn:c}=this,{trigger:a}=i,r=!!(this.name!==Bt&&i.dismissible);a.includes("manual")||(this.enabled=!!e,a.split(" ").forEach(p=>{p===Wo?(n(o,Rs,this.handleShow),n(o,De,this.handleShow),r||(n(o,Ze,this.handleHide),n(E(o),Ge,this.handleTouch,tt))):p===N?n(o,p,r?this.handleShow:this.toggle):p===qe&&(n(o,Qe,this.handleShow),r||n(o,Bs,this.handleHide),qo&&n(o,N,this.handleFocus)),r&&c&&n(c,N,this.handleHide)}))});const{element:o}=this,i=this.name===Bt,c=i?ut:_t,a=i?Bt:Ke;lo=r=>F(r,a),this.enabled=!0,this.id=`${c}-${Zs(o,c)}`;const{options:l}=this;!l.title&&i||!i&&!l.content||(dt(Ps,{titleAttr:""}),Ne(o,ro)&&i&&typeof l.title=="string"&&uo(this,l.title),this.container=hc(o),this.offsetParent=["sticky","fixed"].some(r=>z(this.container,"position")===r)?this.container:E(this.element).body,dc(this),this._toggleEventListeners(!0))}get name(){return Bt}get defaults(){return Ps}show(){const{options:e,tooltip:n,element:o,container:i,offsetParent:c,id:a}=this,{animation:l}=e,r=u.get(o,"out"),g=i===c?i:c;u.clear(o,"out"),n&&!r&&!ve(this)&&u.set(o,()=>{const p=$(`show.bs.${Vt(this.name)}`);w(o,p),p.defaultPrevented||(On(n,g),O(o,it,`#${a}`),this.update(),po(this,!0),h(n,m)||f(n,m),l?P(n,()=>fo(this)):fo(this))},17,"in")}hide(){const{options:e,tooltip:n,element:o}=this,{animation:i,delay:c}=e;u.clear(o,"in"),n&&ve(this)&&u.set(o,()=>{const a=$(`hide.bs.${Vt(this.name)}`);w(o,a),a.defaultPrevented||(this.update(),b(n,m),po(this),i?P(n,()=>go(this)):go(this))},c+17,"out")}enable(){const{enabled:e}=this;e||(this._toggleEventListeners(!0),this.enabled=!e)}disable(){const{tooltip:e,options:n,enabled:o}=this,{animation:i}=n;o&&(e&&ve(this)&&i?(this.hide(),P(e,()=>this._toggleEventListeners())):this._toggleEventListeners(),this.enabled=!o)}toggleEnabled(){this.enabled?this.disable():this.enable()}dispose(){const{tooltip:e,options:n}=this,o={...this,name:this.name},i=()=>setTimeout(()=>uc(o,()=>super.dispose()),17);n.animation&&ve(o)?(this.options.delay=0,this.hide(),P(e,i)):i()}}d(St,"selector",fc),d(St,"init",gc),d(St,"getInstance",lo),d(St,"styleTip",Hs);const mc=`[${at}="${_t}"],[data-tip="${_t}"]`,vc=dt({},Ps,{template:io(_t),content:"",dismissible:!1,btnClose:''}),bc=t=>F(t,Ke),wc=t=>new Rt(t);class Rt extends St{constructor(e,n){super(e,n);d(this,"show",()=>{super.show();const{options:e,btn:n}=this;e.dismissible&&n&&setTimeout(()=>ht(n),17)})}get name(){return Ke}get defaults(){return vc}}d(Rt,"selector",mc),d(Rt,"init",wc),d(Rt,"getInstance",bc),d(Rt,"styleTip",Hs);const Ec="scrollspy",mo="ScrollSpy",$c='[data-bs-spy="scroll"]',Tc={offset:10,target:null},yc=t=>F(t,mo),Cc=t=>new se(t),vo=$(`activate.bs.${Ec}`),Sc=t=>{const{target:s,scrollTarget:e,options:n,itemsLength:o,scrollHeight:i,element:c}=t,{offset:a}=n,l=ns(e),r=s&&is("A",s),g=e?bo(e):i;if(t.scrollTop=l?e.scrollY:e.scrollTop,r&&(g!==i||o!==r.length)){let p,v,k;t.items=[],t.offsets=[],t.scrollHeight=g,t.maxScroll=t.scrollHeight-Hc(t),[...r].forEach(J=>{p=ct(J,"href"),v=p&&p.charAt(0)==="#"&&p.slice(-1)!=="#"&&D(p,E(c)),v&&(t.items.push(J),k=fe(v),t.offsets.push((l?k.top+t.scrollTop:v.offsetTop)-a))}),t.itemsLength=t.items.length}},bo=t=>T(t)?t.scrollHeight:ft(t).scrollHeight,Hc=({element:t,scrollTarget:s})=>ns(s)?s.innerHeight:fe(t).height,wo=t=>{[...is("A",t)].forEach(s=>{h(s,C)&&b(s,C)})},Eo=(t,s)=>{const{target:e,element:n}=t;T(e)&&wo(e),t.activeItem=s,f(s,C);const o=[];let i=s;for(;i!==wt(n);)i=i.parentElement,(h(i,"nav")||h(i,"dropdown-menu"))&&o.push(i);o.forEach(c=>{const a=c.previousElementSibling;a&&!h(a,C)&&f(a,C)}),vo.relatedTarget=s,w(n,vo)};class se extends st{constructor(e,n){super(e,n);d(this,"refresh",()=>{const{target:e}=this;if(T(e)&&e.offsetHeight>0){Sc(this);const{scrollTop:n,maxScroll:o,itemsLength:i,items:c,activeItem:a}=this;if(n>=o){const r=c[i-1];a!==r&&Eo(this,r);return}const{offsets:l}=this;if(a&&n0){this.activeItem=null,e&&wo(e);return}c.forEach((r,g)=>{a!==r&&n>=l[g]&&(typeof l[g+1]>"u"||n{(e?_:B)(this.scrollTarget,Ae,this.refresh,tt)});const{element:o,options:i}=this;this.target=D(i.target,E(o)),this.target&&(this.scrollTarget=o.clientHeightF(t,$o),Pc=t=>new ne(t),Ds=$(`show.bs.${be}`),Co=$(`shown.bs.${be}`),xs=$(`hide.bs.${be}`),So=$(`hidden.bs.${be}`),we=new Map,Ho=t=>{const{tabContent:s,nav:e}=t;s&&h(s,Nt)&&(s.style.height="",b(s,Nt)),e&&u.clear(e)},Po=t=>{const{element:s,tabContent:e,content:n,nav:o}=t,{tab:i}=T(o)&&we.get(o)||{tab:null};if(e&&n&&h(n,W)){const{currentHeight:c,nextHeight:a}=we.get(s)||{currentHeight:0,nextHeight:0};c===a?Ho(t):setTimeout(()=>{e.style.height=`${a}px`,It(e),P(e,()=>Ho(t))},50)}else o&&u.clear(o);Co.relatedTarget=i,w(s,Co)},Do=t=>{const{element:s,content:e,tabContent:n,nav:o}=t,{tab:i,content:c}=o&&we.get(o)||{tab:null,content:null};let a=0;if(n&&e&&h(e,W)&&([c,e].forEach(l=>{T(l)&&f(l,"overflow-hidden")}),a=T(c)?c.scrollHeight:0),Ds.relatedTarget=i,So.relatedTarget=s,w(s,Ds),!Ds.defaultPrevented){if(e&&f(e,C),c&&b(c,C),n&&e&&h(e,W)){const l=e.scrollHeight;we.set(s,{currentHeight:a,nextHeight:l,tab:null,content:null}),f(n,Nt),n.style.height=`${a}px`,It(n),[c,e].forEach(r=>{r&&b(r,"overflow-hidden")})}e&&e&&h(e,W)?setTimeout(()=>{f(e,m),P(e,()=>{Po(t)})},1):(e&&f(e,m),Po(t)),i&&w(i,So)}},xo=t=>{const{nav:s}=t;if(!T(s))return{tab:null,content:null};const e=gt(C,s);let n=null;e.length===1&&!Ot.some(i=>h(e[0].parentElement,i))?[n]=e:e.length>1&&(n=e[e.length-1]);const o=T(n)?V(n):null;return{tab:n,content:o}},Ao=t=>{if(!T(t))return null;const s=M(t,`.${Ot.join(",.")}`);return s?D(`.${Ot[0]}-toggle`,s):null},Dc=t=>{const s=yo(t.target);s&&(t.preventDefault(),s.show())};class ne extends st{constructor(e){super(e);d(this,"_toggleEventListeners",e=>{(e?_:B)(this.element,N,Dc)});const{element:n}=this,o=V(n);if(o){const i=M(n,".nav"),c=M(o,".tab-content");this.nav=i,this.content=o,this.tabContent=c,this.dropdown=Ao(n);const{tab:a}=xo(this);if(i&&!a){const l=D(To,i),r=l&&V(l);r&&(f(l,C),f(r,m),f(r,C),O(n,Ue,"true"))}this._toggleEventListeners(!0)}}get name(){return $o}show(){const{element:e,content:n,nav:o,dropdown:i}=this;if(!(o&&u.get(o))&&!h(e,C)){const{tab:c,content:a}=xo(this);if(o&&we.set(o,{tab:c,content:a,currentHeight:0,nextHeight:0}),xs.relatedTarget=e,T(c)&&(w(c,xs),!xs.defaultPrevented)){f(e,C),O(e,Ue,"true");const l=T(c)&&Ao(c);if(l&&h(l,C)&&b(l,C),o){const r=()=>{c&&(b(c,C),O(c,Ue,"false")),i&&!h(i,C)&&f(i,C)};a&&(h(a,W)||n&&h(n,W))?u.set(o,r,1):r()}a&&(b(a,m),h(a,W)?P(a,()=>Do(this)):Do(this))}}}dispose(){this._toggleEventListeners(),super.dispose()}}d(ne,"selector",To),d(ne,"init",Pc),d(ne,"getInstance",yo);const G="toast",Lo="Toast",xc=`.${G}`,Ac=`[${Me}="${G}"]`,Io=`[${at}="${G}"]`,oe="showing",ko="hide",Lc={animation:!0,autohide:!0,delay:5e3},As=t=>F(t,Lo),Ic=t=>new ie(t),No=$(`show.bs.${G}`),kc=$(`shown.bs.${G}`),Oo=$(`hide.bs.${G}`),Nc=$(`hidden.bs.${G}`),Mo=t=>{const{element:s,options:e}=t;b(s,oe),u.clear(s,oe),w(s,kc),e.autohide&&u.set(s,()=>t.hide(),e.delay,G)},_o=t=>{const{element:s}=t;b(s,oe),b(s,m),f(s,ko),u.clear(s,G),w(s,Nc)},Oc=t=>{const{element:s,options:e}=t;f(s,oe),e.animation?(It(s),P(s,()=>_o(t))):_o(t)},Mc=t=>{const{element:s,options:e}=t;u.set(s,()=>{b(s,ko),It(s),f(s,m),f(s,oe),e.animation?P(s,()=>Mo(t)):Mo(t)},17,oe)},_c=t=>{u.clear(t.element,G),t._toggleEventListeners()},Bc=t=>{const{target:s}=t,e=s&&M(s,Io),n=e&&V(e),o=n&&As(n);o&&(e&&e.tagName==="A"&&t.preventDefault(),o.relatedTarget=e,o.show())},Rc=t=>{const s=t.target,e=As(s),{type:n,relatedTarget:o}=t;e&&s!==o&&!s.contains(o)&&([De,Qe].includes(n)?u.clear(s,G):u.set(s,()=>e.hide(),e.options.delay,G))};class ie extends st{constructor(e,n){super(e,n);d(this,"show",()=>{const{element:e,isShown:n}=this;e&&!n&&(w(e,No),No.defaultPrevented||Mc(this))});d(this,"hide",()=>{const{element:e,isShown:n}=this;e&&n&&(w(e,Oo),Oo.defaultPrevented||Oc(this))});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{element:o,triggers:i,dismiss:c,options:a,hide:l}=this;c&&n(c,N,l),a.autohide&&[Qe,Bs,De,Ze].forEach(r=>n(o,r,Rc)),i.length&&i.forEach(r=>n(r,N,Bc))});const{element:o,options:i}=this;i.animation&&!h(o,W)?f(o,W):!i.animation&&h(o,W)&&b(o,W),this.dismiss=D(Ac,o),this.triggers=[...et(Io,E(o))].filter(c=>V(c)===o),this._toggleEventListeners(!0)}get name(){return Lo}get defaults(){return Lc}get isShown(){return h(this.element,m)}dispose(){const{element:e,isShown:n}=this;n&&b(e,m),_c(this),super.dispose()}}d(ie,"selector",xc),d(ie,"init",Ic),d(ie,"getInstance",As);const Ls=new Map;[Ut,qt,Qt,Zt,Jt,te,ee,Rt,se,ne,ie,St].forEach(t=>Ls.set(t.prototype.name,t));const Wc=(t,s)=>{[...s].forEach(e=>t(e))},Fc=(t,s)=>{const e=Lt.getAllFor(t);e&&[...e].forEach(([n,o])=>{s.contains(n)&&o.dispose()})},Is=t=>{const s=t&&t.nodeName?t:document,e=[...is("*",s)];Ls.forEach(n=>{const{init:o,selector:i}=n;Wc(o,e.filter(c=>Js(c,i)))})},jc=t=>{const s=t&&t.nodeName?t:document;Ls.forEach(e=>{Fc(e.prototype.name,s)})};return document.body?Is():_(document,"DOMContentLoaded",()=>Is(),{once:!0}),H.Alert=Ut,H.Button=qt,H.Carousel=Qt,H.Collapse=Zt,H.Dropdown=Jt,H.Modal=te,H.Offcanvas=ee,H.Popover=Rt,H.ScrollSpy=se,H.Tab=ne,H.Toast=ie,H.Tooltip=St,H.initCallback=Is,H.removeDataAPI=jc,Object.defineProperty(H,Symbol.toStringTag,{value:"Module"}),H}({}); //# sourceMappingURL=bootstrap-native.js.map diff --git a/dist/bootstrap-native.js.map b/dist/bootstrap-native.js.map index 81390f0f..0e4460d0 100644 --- a/dist/bootstrap-native.js.map +++ b/dist/bootstrap-native.js.map @@ -1 +1 @@ -{"version":3,"file":"bootstrap-native.js","sources":["../node_modules/.pnpm/@thednp+shorty@2.0.0/node_modules/@thednp/shorty/dist/shorty.mjs","../node_modules/.pnpm/@thednp+event-listener@2.0.4/node_modules/@thednp/event-listener/dist/event-listener.mjs","../src/strings/fadeClass.ts","../src/strings/showClass.ts","../src/strings/dataBsDismiss.ts","../src/strings/alertString.ts","../src/strings/alertComponent.ts","../src/version.ts","../src/components/base-component.ts","../src/components/alert.ts","../src/strings/activeClass.ts","../src/strings/dataBsToggle.ts","../src/strings/buttonString.ts","../src/strings/buttonComponent.ts","../src/components/button.ts","../src/strings/dataBsTarget.ts","../src/strings/carouselString.ts","../src/strings/carouselComponent.ts","../src/strings/dataBsParent.ts","../src/strings/dataBsContainer.ts","../src/util/getTargetElement.ts","../src/components/carousel.ts","../src/strings/collapsingClass.ts","../src/strings/collapseString.ts","../src/strings/collapseComponent.ts","../src/components/collapse.ts","../src/strings/dropdownClasses.ts","../src/strings/dropdownComponent.ts","../src/strings/dropdownMenuClass.ts","../src/util/isEmptyAnchor.ts","../src/components/dropdown.ts","../src/strings/modalString.ts","../src/strings/modalComponent.ts","../src/strings/offcanvasComponent.ts","../src/strings/fixedTopClass.ts","../src/strings/fixedBottomClass.ts","../src/strings/stickyTopClass.ts","../src/strings/positionStickyClass.ts","../src/util/scrollbar.ts","../src/strings/offcanvasString.ts","../src/util/popupContainer.ts","../src/util/backdrop.ts","../src/util/isVisible.ts","../src/components/modal.ts","../src/components/offcanvas.ts","../src/strings/popoverString.ts","../src/strings/popoverComponent.ts","../src/strings/tooltipString.ts","../src/util/getTipTemplate.ts","../src/util/tipClassPositions.ts","../src/util/styleTip.ts","../src/util/tooltipDefaults.ts","../src/strings/dataOriginalTitle.ts","../src/strings/tooltipComponent.ts","../src/util/setHtml.ts","../src/util/createTip.ts","../src/util/getElementContainer.ts","../src/components/tooltip.ts","../src/components/popover.ts","../src/strings/scrollspyString.ts","../src/strings/scrollspyComponent.ts","../src/components/scrollspy.ts","../src/strings/tabString.ts","../src/strings/tabComponent.ts","../src/components/tab.ts","../src/strings/toastString.ts","../src/strings/toastComponent.ts","../src/components/toast.ts","../src/util/init.ts"],"sourcesContent":["const pe = \"aria-checked\", me = \"aria-description\", fe = \"aria-describedby\", ge = \"aria-expanded\", ve = \"aria-haspopup\", Ee = \"aria-hidden\", be = \"aria-label\", he = \"aria-labelledby\", ye = \"aria-modal\", we = \"aria-pressed\", Ae = \"aria-selected\", Se = \"aria-valuemin\", Ne = \"aria-valuemax\", ke = \"aria-valuenow\", Me = \"aria-valuetext\", q = \"abort\", G = \"beforeunload\", J = \"blur\", K = \"change\", X = \"contextmenu\", P = \"DOMContentLoaded\", Y = \"DOMMouseScroll\", Z = \"error\", $ = \"focus\", _ = \"focusin\", tt = \"focusout\", et = \"gesturechange\", nt = \"gestureend\", ot = \"gesturestart\", st = \"keydown\", ct = \"keypress\", rt = \"keyup\", at = \"load\", it = \"click\", ut = \"dblclick\", lt = \"mousedown\", dt = \"mouseup\", pt = \"hover\", mt = \"mouseenter\", ft = \"mouseleave\", gt = \"mousein\", vt = \"mouseout\", Et = \"mouseover\", bt = \"mousemove\", ht = \"mousewheel\", yt = \"move\", wt = \"orientationchange\", At = \"pointercancel\", St = \"pointerdown\", Nt = \"pointerleave\", kt = \"pointermove\", Mt = \"pointerup\", Tt = \"readystatechange\", Dt = \"reset\", Ct = \"resize\", Ot = \"select\", Lt = \"selectend\", It = \"selectstart\", zt = \"scroll\", xt = \"submit\", Vt = \"touchstart\", Bt = \"touchmove\", Ht = \"touchcancel\", Pt = \"touchend\", Ft = \"unload\", Te = {\n DOMContentLoaded: P,\n DOMMouseScroll: Y,\n abort: q,\n beforeunload: G,\n blur: J,\n change: K,\n click: it,\n contextmenu: X,\n dblclick: ut,\n error: Z,\n focus: $,\n focusin: _,\n focusout: tt,\n gesturechange: et,\n gestureend: nt,\n gesturestart: ot,\n hover: pt,\n keydown: st,\n keypress: ct,\n keyup: rt,\n load: at,\n mousedown: lt,\n mousemove: bt,\n mousein: gt,\n mouseout: vt,\n mouseenter: mt,\n mouseleave: ft,\n mouseover: Et,\n mouseup: dt,\n mousewheel: ht,\n move: yt,\n orientationchange: wt,\n pointercancel: At,\n pointerdown: St,\n pointerleave: Nt,\n pointermove: kt,\n pointerup: Mt,\n readystatechange: Tt,\n reset: Dt,\n resize: Ct,\n scroll: zt,\n select: Ot,\n selectend: Lt,\n selectstart: It,\n submit: xt,\n touchcancel: Ht,\n touchend: Pt,\n touchmove: Bt,\n touchstart: Vt,\n unload: Ft\n}, De = \"drag\", Ce = \"dragstart\", Oe = \"dragenter\", Le = \"dragleave\", Ie = \"dragover\", ze = \"dragend\", xe = \"loadstart\", Ve = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, Be = { down: \"mousedown\", up: \"mouseup\" }, He = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : (\n /* istanbul ignore next */\n [\"mouseover\", \"mouseout\"]\n), Pe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, Fe = { in: \"focusin\", out: \"focusout\" }, Ue = {\n Backspace: \"Backspace\",\n // 8\n Tab: \"Tab\",\n // 9\n Enter: \"Enter\",\n // 13\n Shift: \"Shift\",\n // 16\n Control: \"Control\",\n // 17\n Alt: \"Alt\",\n // 18\n Pause: \"Pause\",\n // 19\n CapsLock: \"CapsLock\",\n // 20\n Escape: \"Escape\",\n // 27\n Scape: \"Space\",\n // 32\n ArrowLeft: \"ArrowLeft\",\n // 37\n ArrowUp: \"ArrowUp\",\n // 38\n ArrowRight: \"ArrowRight\",\n // 39\n ArrowDown: \"ArrowDown\",\n // 40\n Insert: \"Insert\",\n // 45\n Delete: \"Delete\",\n // 46\n Meta: \"Meta\",\n // 91 windows key\n ContextMenu: \"ContextMenu\",\n // 93\n ScrollLock: \"ScrollLock\"\n // 145\n}, We = \"Alt\", Re = \"ArrowDown\", Qe = \"ArrowUp\", je = \"ArrowLeft\", qe = \"ArrowRight\", Ge = \"Backspace\", Je = \"CapsLock\", Ke = \"Control\", Xe = \"Delete\", Ye = \"Enter\", Ze = \"NumpadEnter\", $e = \"Escape\", _e = \"Insert\", tn = \"Meta\", en = \"Pause\", nn = \"ScrollLock\", on = \"Shift\", sn = \"Space\", cn = \"Tab\", Ut = \"animationDuration\", Wt = \"animationDelay\", F = \"animationName\", D = \"animationend\", Rt = \"transitionDuration\", Qt = \"transitionDelay\", C = \"transitionend\", U = \"transitionProperty\", rn = \"addEventListener\", an = \"removeEventListener\", un = {\n linear: \"linear\",\n easingSinusoidalIn: \"cubic-bezier(0.47,0,0.745,0.715)\",\n easingSinusoidalOut: \"cubic-bezier(0.39,0.575,0.565,1)\",\n easingSinusoidalInOut: \"cubic-bezier(0.445,0.05,0.55,0.95)\",\n easingQuadraticIn: \"cubic-bezier(0.550,0.085,0.680,0.530)\",\n easingQuadraticOut: \"cubic-bezier(0.250,0.460,0.450,0.940)\",\n easingQuadraticInOut: \"cubic-bezier(0.455,0.030,0.515,0.955)\",\n easingCubicIn: \"cubic-bezier(0.55,0.055,0.675,0.19)\",\n easingCubicOut: \"cubic-bezier(0.215,0.61,0.355,1)\",\n easingCubicInOut: \"cubic-bezier(0.645,0.045,0.355,1)\",\n easingQuarticIn: \"cubic-bezier(0.895,0.03,0.685,0.22)\",\n easingQuarticOut: \"cubic-bezier(0.165,0.84,0.44,1)\",\n easingQuarticInOut: \"cubic-bezier(0.77,0,0.175,1)\",\n easingQuinticIn: \"cubic-bezier(0.755,0.05,0.855,0.06)\",\n easingQuinticOut: \"cubic-bezier(0.23,1,0.32,1)\",\n easingQuinticInOut: \"cubic-bezier(0.86,0,0.07,1)\",\n easingExponentialIn: \"cubic-bezier(0.95,0.05,0.795,0.035)\",\n easingExponentialOut: \"cubic-bezier(0.19,1,0.22,1)\",\n easingExponentialInOut: \"cubic-bezier(1,0,0,1)\",\n easingCircularIn: \"cubic-bezier(0.6,0.04,0.98,0.335)\",\n easingCircularOut: \"cubic-bezier(0.075,0.82,0.165,1)\",\n easingCircularInOut: \"cubic-bezier(0.785,0.135,0.15,0.86)\",\n easingBackIn: \"cubic-bezier(0.6,-0.28,0.735,0.045)\",\n easingBackOut: \"cubic-bezier(0.175,0.885,0.32,1.275)\",\n easingBackInOut: \"cubic-bezier(0.68,-0.55,0.265,1.55)\"\n}, ln = \"offsetHeight\", dn = \"offsetWidth\", pn = \"scrollHeight\", mn = \"scrollWidth\", fn = \"tabindex\", jt = navigator.userAgentData, A = jt, { userAgent: qt } = navigator, S = qt, z = /iPhone|iPad|iPod|Android/i;\nlet O = !1;\nA ? O = A.brands.some((t) => z.test(t.brand)) : O = z.test(S);\nconst gn = O, x = /(iPhone|iPod|iPad)/, vn = A ? A.brands.some((t) => x.test(t.brand)) : (\n /* istanbul ignore next */\n x.test(S)\n), En = S ? S.includes(\"Firefox\") : (\n /* istanbul ignore next */\n !1\n), { head: N } = document, bn = [\"webkitPerspective\", \"perspective\"].some((t) => t in N.style), Gt = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(e, n, s);\n}, Jt = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(e, n, s);\n}, Kt = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Jt(t, e, s, o));\n };\n Gt(t, e, s, o);\n}, Xt = () => {\n}, hn = (() => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n Kt(document, P, Xt, e);\n } catch {\n }\n return t;\n})(), yn = [\"webkitTransform\", \"transform\"].some((t) => t in N.style), wn = \"ontouchstart\" in window || /* istanbul ignore next */\n\"msMaxTouchPoints\" in navigator, An = [\"webkitAnimation\", \"animation\"].some((t) => t in N.style), Sn = [\"webkitTransition\", \"transition\"].some((t) => t in N.style), Yt = (t, e) => t.getAttribute(e), Nn = (t, e, n) => e.getAttributeNS(t, n), kn = (t, e) => t.hasAttribute(e), Mn = (t, e, n) => e.hasAttributeNS(t, n), Tn = (t, e, n) => t.setAttribute(e, n), Dn = (t, e, n, o) => e.setAttributeNS(t, n, o), Cn = (t, e) => t.removeAttribute(e), On = (t, e, n) => e.removeAttributeNS(t, n), Ln = (t, ...e) => {\n t.classList.add(...e);\n}, In = (t, ...e) => {\n t.classList.remove(...e);\n}, zn = (t, e) => t.classList.contains(e), { body: xn } = document, { documentElement: Vn } = document, Bn = (t) => Array.from(t), v = (t) => t != null && typeof t == \"object\" || !1, i = (t) => v(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some((e) => t.nodeType === e) || !1, u = (t) => i(t) && t.nodeType === 1 || !1, E = /* @__PURE__ */ new Map(), L = {\n data: E,\n /**\n * Sets web components data.\n *\n * @param element target element\n * @param component the component's name or a unique key\n * @param instance the component instance\n */\n set: (t, e, n) => {\n if (!u(t))\n return;\n E.has(e) || E.set(e, /* @__PURE__ */ new Map()), E.get(e).set(t, n);\n },\n /**\n * Returns all instances for specified component.\n *\n * @param component the component's name or a unique key\n * @returns all the component instances\n */\n getAllFor: (t) => E.get(t) || null,\n /**\n * Returns the instance associated with the target.\n *\n * @param element target element\n * @param component the component's name or a unique key\n * @returns the instance\n */\n get: (t, e) => {\n if (!u(t) || !e)\n return null;\n const n = L.getAllFor(e);\n return t && n && n.get(t) || null;\n },\n /**\n * Removes web components data.\n *\n * @param element target element\n * @param component the component's name or a unique key\n */\n remove: (t, e) => {\n const n = L.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && E.delete(e));\n }\n}, Hn = (t, e) => L.get(t, e), k = (t) => typeof t == \"string\" || !1, W = (t) => v(t) && t.constructor.name === \"Window\" || !1, R = (t) => i(t) && t.nodeType === 9 || !1, d = (t) => W(t) ? t.document : R(t) ? t : i(t) ? t.ownerDocument : window.document, M = (t, ...e) => Object.assign(t, ...e), Zt = (t) => {\n if (!t)\n return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = Zt(e);\n if (!n)\n return;\n const o = { ...t };\n return delete o.tagName, M(n, o);\n}, $t = (t, e) => {\n if (!t || !e)\n return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = $t(t, n);\n if (!o)\n return;\n const s = { ...e };\n return delete s.tagName, M(o, s);\n}, Q = (t, e) => t.dispatchEvent(e), Pn = (t, e, n) => n.indexOf(t) === e, g = (t, e) => {\n const n = getComputedStyle(t), o = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return n.getPropertyValue(o);\n}, _t = (t) => {\n const e = g(t, F), n = g(t, Wt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, te = (t) => {\n const e = g(t, F), n = g(t, Ut), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, Fn = (t, e) => {\n let n = 0;\n const o = new Event(D), s = te(t), r = _t(t);\n if (s) {\n const a = (l) => {\n l.target === t && (e.apply(t, [l]), t.removeEventListener(D, a), n = 1);\n };\n t.addEventListener(D, a), setTimeout(() => {\n n || Q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ee = (t) => {\n const e = g(t, U), n = g(t, Qt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : (\n /* istanbul ignore next */\n 0\n );\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, ne = (t) => {\n const e = g(t, U), n = g(t, Rt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : (\n /* istanbul ignore next */\n 0\n );\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, Un = (t, e) => {\n let n = 0;\n const o = new Event(C), s = ne(t), r = ee(t);\n if (s) {\n const a = (l) => {\n l.target === t && (e.apply(t, [l]), t.removeEventListener(C, a), n = 1);\n };\n t.addEventListener(C, a), setTimeout(() => {\n n || Q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, Wn = (t) => Float32Array.from(Array.from(t)), Rn = (t) => Float64Array.from(Array.from(t)), Qn = (t, e) => t.focus(e), V = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, w = (t) => Object.entries(t), oe = (t) => t.toLowerCase(), jn = (t, e, n, o) => {\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, l = {}, p = \"title\";\n return w(r).forEach(([c, m]) => {\n const y = o && typeof c == \"string\" && c.includes(o) ? c.replace(o, \"\").replace(/[A-Z]/g, (j) => oe(j)) : c;\n l[y] = V(m);\n }), w(s).forEach(([c, m]) => {\n s[c] = V(m);\n }), w(e).forEach(([c, m]) => {\n c in s ? a[c] = s[c] : c in l ? a[c] = l[c] : a[c] = c === p ? Yt(t, p) : m;\n }), a;\n}, qn = (t, e) => v(t) && (Object.hasOwn(t, e) || e in t), Gn = (t) => Object.keys(t), Jn = (t) => Object.values(t), Kn = (t) => Object.fromEntries(t), Xn = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return v(e) && M(n, e), n;\n}, Yn = { passive: !0 }, Zn = (t) => t.offsetHeight, $n = (t, e) => {\n w(e).forEach(([n, o]) => {\n if (o && k(n) && n.includes(\"--\"))\n t.style.setProperty(n, o);\n else {\n const s = {};\n s[n] = o, M(t.style, s);\n }\n });\n}, I = (t) => v(t) && t.constructor.name === \"Map\" || !1, se = (t) => typeof t == \"number\" || !1, f = /* @__PURE__ */ new Map(), _n = {\n /**\n * Sets a new timeout timer for an element, or element -> key association.\n *\n * @param element target element\n * @param callback the callback\n * @param delay the execution delay\n * @param key a unique key\n */\n set: (t, e, n, o) => {\n u(t) && (o && o.length ? (f.has(t) || f.set(t, /* @__PURE__ */ new Map()), f.get(t).set(o, setTimeout(e, n))) : f.set(t, setTimeout(e, n)));\n },\n /**\n * Returns the timer associated with the target.\n *\n * @param element target element\n * @param key a unique\n * @returns the timer\n */\n get: (t, e) => {\n if (!u(t))\n return null;\n const n = f.get(t);\n return e && n && I(n) ? n.get(e) || /* istanbul ignore next */\n null : se(n) ? n : null;\n },\n /**\n * Clears the element's timer.\n *\n * @param element target element\n * @param key a unique key\n */\n clear: (t, e) => {\n if (!u(t))\n return;\n const n = f.get(t);\n e && e.length && I(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && f.delete(t)) : (clearTimeout(n), f.delete(t));\n }\n}, to = (t) => t.toUpperCase(), h = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: l } = t.getBoundingClientRect();\n let p = 1, c = 1;\n if (e && u(t)) {\n const { offsetWidth: m, offsetHeight: y } = t;\n p = m > 0 ? Math.round(n) / m : (\n /* istanbul ignore next */\n 1\n ), c = y > 0 ? Math.round(o) / y : (\n /* istanbul ignore next */\n 1\n );\n }\n return {\n width: n / p,\n height: o / c,\n top: s / c,\n right: r / p,\n bottom: a / c,\n left: l / p,\n x: l / p,\n y: s / c\n };\n}, eo = (t) => d(t).body, T = (t) => d(t).documentElement, no = (t) => d(t).head, oo = (t) => {\n const e = W(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, ce = (t) => i(t) && t.constructor.name === \"ShadowRoot\" || !1, so = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || // step into the shadow DOM of the parent of a slotted node\ni(t) && t.parentNode || // DOM Element detected\nce(t) && t.host || // ShadowRoot detected\nT(t), re = (t) => {\n if (!u(t))\n return !1;\n const { width: e, height: n } = h(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, co = (t, e, n) => {\n const o = u(e), s = h(t, o && re(e)), r = { x: 0, y: 0 };\n if (o) {\n const a = h(e, !0);\n r.x = a.x + e.clientLeft, r.y = a.y + e.clientTop;\n }\n return {\n x: s.left + n.x - r.x,\n y: s.top + n.y - r.y,\n width: s.width,\n height: s.height\n };\n};\nlet B = 0, H = 0;\nconst b = /* @__PURE__ */ new Map(), ae = (t, e) => {\n let n = e ? B : H;\n if (e) {\n const o = ae(t), s = b.get(o) || /* @__PURE__ */ new Map();\n b.has(o) || b.set(o, s), I(s) && !s.has(e) ? (s.set(e, n), B += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n b.has(o) ? n = b.get(o) : (b.set(o, n), H += 1);\n }\n return n;\n}, ro = (t) => {\n var e;\n return t ? R(t) ? t.defaultView : i(t) ? (e = t == null ? void 0 : t.ownerDocument) == null ? void 0 : e.defaultView : t : window;\n}, ie = (t) => Array.isArray(t) || !1, ao = (t) => i(t) && t.nodeName === \"CANVAS\" || !1, ue = (t) => u(t) && !!t.shadowRoot || !1, io = (t) => i(t) && [1, 2, 3, 4, 5, 6, 7, 8].some((e) => t.nodeType === e) || !1, uo = (t) => {\n if (!i(t))\n return !1;\n const { top: e, bottom: n } = h(t), { clientHeight: o } = T(t);\n return e <= o && n >= 0;\n}, lo = (t) => {\n if (!i(t))\n return !1;\n const { clientWidth: e, clientHeight: n } = T(t), { top: o, left: s, bottom: r, right: a } = h(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, po = (t) => ie(t) && t.every(u) || !1, mo = (t) => typeof t == \"function\" || !1, fo = (t) => v(t) && t.constructor.name === \"HTMLCollection\" || !1, go = (t) => u(t) && t.tagName === \"IMG\" || !1, vo = (t) => {\n if (!k(t))\n return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Eo = (t) => v(t) && t.constructor.name === \"WeakMap\" || !1, bo = (t) => i(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some((e) => t.constructor.name.includes(e)) || !1, ho = (t) => v(t) && t.constructor.name === \"NodeList\" || !1, yo = (t) => T(t).dir === \"rtl\", wo = (t) => i(t) && t.constructor.name.includes(\"SVG\") || !1, Ao = (t) => i(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, le = (t, e) => t ? t.closest(e) || // break out of `ShadowRoot`\nle(t.getRootNode().host, e) : null, So = (t, e) => u(t) ? t : (i(e) ? e : d()).querySelector(t), de = (t, e) => (i(e) ? e : d()).getElementsByTagName(t), No = (t) => [...de(\"*\", t)].filter(ue), ko = (t, e) => d(e).getElementById(t) || null, Mo = (t, e) => (i(e) ? e : d()).querySelectorAll(t), To = (t, e) => (e && i(e) ? e : d()).getElementsByClassName(\n t\n), Do = (t, e) => t.matches(e), Co = \"2.0.0\";\nexport {\n Bn as ArrayFrom,\n P as DOMContentLoadedEvent,\n Y as DOMMouseScrollEvent,\n L as Data,\n Wn as Float32ArrayFrom,\n Rn as Float64ArrayFrom,\n M as ObjectAssign,\n w as ObjectEntries,\n Kn as ObjectFromEntries,\n qn as ObjectHasOwn,\n Gn as ObjectKeys,\n Jn as ObjectValues,\n _n as Timer,\n q as abortEvent,\n Ln as addClass,\n rn as addEventListener,\n Wt as animationDelay,\n Ut as animationDuration,\n D as animationEndEvent,\n F as animationName,\n pe as ariaChecked,\n fe as ariaDescribedBy,\n me as ariaDescription,\n ge as ariaExpanded,\n ve as ariaHasPopup,\n Ee as ariaHidden,\n be as ariaLabel,\n he as ariaLabelledBy,\n ye as ariaModal,\n we as ariaPressed,\n Ae as ariaSelected,\n Ne as ariaValueMax,\n Se as ariaValueMin,\n ke as ariaValueNow,\n Me as ariaValueText,\n G as beforeunloadEvent,\n un as bezierEasings,\n J as blurEvent,\n K as changeEvent,\n le as closest,\n X as contextmenuEvent,\n Xn as createCustomEvent,\n Zt as createElement,\n $t as createElementNS,\n Q as dispatchEvent,\n Pn as distinct,\n xn as documentBody,\n Vn as documentElement,\n N as documentHead,\n De as dragEvent,\n ze as dragendEvent,\n Oe as dragenterEvent,\n Le as dragleaveEvent,\n Ie as dragoverEvent,\n Ce as dragstartEvent,\n Fn as emulateAnimationEnd,\n Un as emulateTransitionEnd,\n Z as errorEvent,\n Qn as focus,\n $ as focusEvent,\n Fe as focusEvents,\n _ as focusinEvent,\n tt as focusoutEvent,\n et as gesturechangeEvent,\n nt as gestureendEvent,\n ot as gesturestartEvent,\n Yt as getAttribute,\n Nn as getAttributeNS,\n h as getBoundingClientRect,\n No as getCustomElements,\n d as getDocument,\n eo as getDocumentBody,\n T as getDocumentElement,\n no as getDocumentHead,\n _t as getElementAnimationDelay,\n te as getElementAnimationDuration,\n ko as getElementById,\n g as getElementStyle,\n ee as getElementTransitionDelay,\n ne as getElementTransitionDuration,\n To as getElementsByClassName,\n de as getElementsByTagName,\n Hn as getInstance,\n oo as getNodeScroll,\n so as getParentNode,\n co as getRectRelativeToOffsetParent,\n ae as getUID,\n ro as getWindow,\n kn as hasAttribute,\n Mn as hasAttributeNS,\n zn as hasClass,\n vn as isApple,\n ie as isArray,\n ao as isCanvas,\n ue as isCustomElement,\n R as isDocument,\n io as isElement,\n uo as isElementInScrollRange,\n lo as isElementInViewport,\n po as isElementsArray,\n En as isFirefox,\n mo as isFunction,\n fo as isHTMLCollection,\n u as isHTMLElement,\n go as isHTMLImageElement,\n vo as isJSON,\n I as isMap,\n bo as isMedia,\n gn as isMobile,\n i as isNode,\n ho as isNodeList,\n se as isNumber,\n v as isObject,\n yo as isRTL,\n wo as isSVGElement,\n re as isScaledElement,\n ce as isShadowRoot,\n k as isString,\n Ao as isTableElement,\n Eo as isWeakMap,\n W as isWindow,\n We as keyAlt,\n Re as keyArrowDown,\n je as keyArrowLeft,\n qe as keyArrowRight,\n Qe as keyArrowUp,\n Ge as keyBackspace,\n Je as keyCapsLock,\n Ke as keyControl,\n Xe as keyDelete,\n Ye as keyEnter,\n $e as keyEscape,\n _e as keyInsert,\n tn as keyMeta,\n Ze as keyNumpadEnter,\n en as keyPause,\n nn as keyScrollLock,\n on as keyShift,\n sn as keySpace,\n cn as keyTab,\n Ue as keyboardEventKeys,\n st as keydownEvent,\n ct as keypressEvent,\n rt as keyupEvent,\n at as loadEvent,\n xe as loadstartEvent,\n Do as matches,\n Be as mouseClickEvents,\n He as mouseHoverEvents,\n Ve as mouseSwipeEvents,\n it as mouseclickEvent,\n ut as mousedblclickEvent,\n lt as mousedownEvent,\n mt as mouseenterEvent,\n pt as mousehoverEvent,\n gt as mouseinEvent,\n ft as mouseleaveEvent,\n bt as mousemoveEvent,\n vt as mouseoutEvent,\n Et as mouseoverEvent,\n dt as mouseupEvent,\n ht as mousewheelEvent,\n yt as moveEvent,\n Te as nativeEvents,\n Xt as noop,\n jn as normalizeOptions,\n V as normalizeValue,\n Jt as off,\n ln as offsetHeight,\n dn as offsetWidth,\n Gt as on,\n Kt as one,\n wt as orientationchangeEvent,\n Yn as passiveHandler,\n At as pointercancelEvent,\n St as pointerdownEvent,\n Nt as pointerleaveEvent,\n kt as pointermoveEvent,\n Mt as pointerupEvent,\n So as querySelector,\n Mo as querySelectorAll,\n Tt as readystatechangeEvent,\n Zn as reflow,\n Cn as removeAttribute,\n On as removeAttributeNS,\n In as removeClass,\n an as removeEventListener,\n Dt as resetEvent,\n Ct as resizeEvent,\n zt as scrollEvent,\n pn as scrollHeight,\n mn as scrollWidth,\n Ot as selectEvent,\n Lt as selectendEvent,\n It as selectstartEvent,\n Tn as setAttribute,\n Dn as setAttributeNS,\n $n as setElementStyle,\n xt as submitEvent,\n bn as support3DTransform,\n An as supportAnimation,\n hn as supportPassive,\n wn as supportTouch,\n yn as supportTransform,\n Sn as supportTransition,\n fn as tabindex,\n oe as toLowerCase,\n to as toUpperCase,\n Pe as touchEvents,\n Ht as touchcancelEvent,\n Pt as touchendEvent,\n Bt as touchmoveEvent,\n Vt as touchstartEvent,\n Qt as transitionDelay,\n Rt as transitionDuration,\n C as transitionEndEvent,\n U as transitionProperty,\n Ft as unloadEvent,\n S as userAgent,\n A as userAgentData,\n Co as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const e = {}, f = (t) => {\n const { type: c, currentTarget: i } = t;\n [...e[c]].forEach(([n, s]) => {\n i === n && [...s].forEach(([o, a]) => {\n o.apply(n, [t]), typeof a == \"object\" && a.once && r(n, c, o, a);\n });\n });\n}, E = (t, c, i, n) => {\n e[c] || (e[c] = /* @__PURE__ */ new Map());\n const s = e[c];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(t), { size: a } = o;\n o.set(i, n), a || t.addEventListener(c, f, n);\n}, r = (t, c, i, n) => {\n const s = e[c], o = s && s.get(t), a = o && o.get(i), d = a !== void 0 ? a : n;\n o && o.has(i) && o.delete(i), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[c], (!o || !o.size) && t.removeEventListener(\n c,\n f,\n d\n );\n}, g = E, M = r;\nexport {\n E as addListener,\n f as globalListener,\n M as off,\n g as on,\n e as registry,\n r as removeListener\n};\n//# sourceMappingURL=event-listener.mjs.map\n","/**\n * Global namespace for most components `fade` class.\n */\nconst fadeClass = 'fade';\nexport default fadeClass;\n","/**\n * Global namespace for most components `show` class.\n */\nconst showClass = 'show';\nexport default showClass;\n","/**\n * Global namespace for most components `dismiss` option.\n */\nconst dataBsDismiss = 'data-bs-dismiss';\nexport default dataBsDismiss;\n","/** @type {string} */\nconst alertString = 'alert';\nexport default alertString;\n","/** @type {string} */\nconst alertComponent = 'Alert';\nexport default alertComponent;\n","import { version } from '../package.json';\n\nconst Version = version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport { querySelector, normalizeOptions, Data, ObjectKeys, isString } from '@thednp/shorty';\n\nimport type { BaseOptions } from '../interface/baseComponent';\nimport Version from '../version';\n\n/** Returns a new `BaseComponent` instance. */\nexport default class BaseComponent {\n declare element: HTMLElement;\n declare options?: BaseOptions;\n\n /**\n * @param target `HTMLElement` or selector string\n * @param config component instance options\n */\n constructor(target: HTMLElement | string, config?: BaseOptions) {\n const element = querySelector(target);\n\n if (!element) {\n if (isString(target)) {\n throw Error(`${this.name} Error: \"${target}\" is not a valid selector.`);\n } else {\n throw Error(`${this.name} Error: your target is not an instance of HTMLElement.`);\n }\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else */\n if (prevInstance) {\n // remove previously attached event listeners\n // to avoid memory leaks\n prevInstance._toggleEventListeners();\n }\n\n this.element = element;\n this.options =\n this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, 'bs')\n : {};\n\n Data.set(element, this.name, this);\n }\n\n /* istanbul ignore next */\n get version() {\n return Version;\n }\n\n /* istanbul ignore next */\n get name() {\n return 'BaseComponent';\n }\n\n /* istanbul ignore next */\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n _toggleEventListeners = () => {\n // do something to please linters\n };\n\n /** Removes component from target element. */\n dispose() {\n Data.remove(this.element, this.name);\n ObjectKeys(this).forEach(prop => {\n delete this[prop];\n });\n }\n}\n","/* Native JavaScript for Bootstrap 5 | Alert\n-------------------------------------------- */\nimport {\n emulateTransitionEnd,\n mouseclickEvent,\n getInstance,\n querySelector,\n hasClass,\n removeClass,\n dispatchEvent,\n createCustomEvent,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport alertString from '../strings/alertString';\nimport alertComponent from '../strings/alertComponent';\nimport type { AlertEvent } from '../interface/alert';\n\nimport BaseComponent from './base-component';\n\n// ALERT PRIVATE GC\n// ================\nconst alertSelector = `.${alertString}`;\nconst alertDismissSelector = `[${dataBsDismiss}=\"${alertString}\"]`;\n\n/**\n * Static method which returns an existing `Alert` instance associated\n * to a target `Element`.\n *\n */\nconst getAlertInstance = (element: HTMLElement) => getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: HTMLElement) => new Alert(element) as T;\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent(`close.bs.${alertString}`);\nconst closedAlertEvent = createCustomEvent(`closed.bs.${alertString}`);\n\n// ALERT EVENT HANDLER\n// ===================\n/**\n * Alert `transitionend` callback.\n *\n * @param that target Alert instance\n */\nconst alertTransitionEnd = (self: Alert) => {\n const { element } = self;\n dispatchEvent(element, closedAlertEvent);\n\n self._toggleEventListeners();\n self.dispose();\n element.remove();\n};\n\n// ALERT DEFINITION\n// ================\n/** Creates a new Alert instance. */\nexport default class Alert extends BaseComponent {\n static selector = alertSelector;\n static init = alertInitCallback;\n static getInstance = getAlertInstance;\n dismiss: HTMLElement | null;\n\n constructor(target: HTMLElement | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(alertDismissSelector, this.element);\n\n // add event listener\n this._toggleEventListeners(true);\n }\n\n /** Returns component name string. */\n get name() {\n return alertComponent;\n }\n\n // ALERT PUBLIC METHODS\n // ====================\n /**\n * Public method that hides the `.alert` element from the user,\n * disposes the instance once animation is complete, then\n * removes the element from the DOM.\n */\n close = () => {\n const { element } = this;\n\n /* istanbul ignore else */\n if (element && hasClass(element, showClass)) {\n dispatchEvent(element, closeAlertEvent);\n\n if (!closeAlertEvent.defaultPrevented) {\n removeClass(element, showClass);\n\n if (hasClass(element, fadeClass)) {\n emulateTransitionEnd(element, () => alertTransitionEnd(this));\n } else alertTransitionEnd(this);\n }\n }\n };\n /**\n * Toggle on / off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { dismiss, close } = this;\n /* istanbul ignore else */\n if (dismiss) action(dismiss, mouseclickEvent, close);\n };\n\n /** Remove the component from target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/**\n * Global namespace for most components active class.\n */\nconst activeClass = 'active';\nexport default activeClass;\n","/**\n * Global namespace for most components `toggle` option.\n */\nconst dataBsToggle = 'data-bs-toggle';\nexport default dataBsToggle;\n","/** @type {string} */\nconst buttonString = 'button';\nexport default buttonString;\n","/** @type {string} */\nconst buttonComponent = 'Button';\nexport default buttonComponent;\n","/* Native JavaScript for Bootstrap 5 | Button\n---------------------------------------------*/\nimport {\n getInstance,\n removeClass,\n hasClass,\n addClass,\n setAttribute,\n mouseclickEvent,\n ariaPressed,\n getAttribute,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport buttonString from '../strings/buttonString';\nimport buttonComponent from '../strings/buttonComponent';\n\nimport BaseComponent from './base-component';\n\n// BUTTON PRIVATE GC\n// =================\nconst buttonSelector = `[${dataBsToggle}=\"${buttonString}\"]`;\n\n/**\n * Static method which returns an existing `Button` instance associated\n * to a target `Element`.\n */\nconst getButtonInstance = (element: HTMLElement) => getInstance',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n *\n */\nconst getPopoverInstance = (element: HTMLElement) => getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: HTMLElement) => new Popover(element);\n\n// POPOVER DEFINITION\n// ==================\n/** Returns a new `Popover` instance. */\nexport default class Popover extends Tooltip {\n static selector = popoverSelector;\n static init = popoverInitCallback;\n static getInstance = getPopoverInstance;\n static styleTip = styleTip;\n declare options: PopoverOptions;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return popoverComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return popoverDefaults;\n }\n\n /* extend original `show()` */\n show = () => {\n super.show();\n // btn only exists within dismissible popover\n const { options, btn } = this;\n /* istanbul ignore else */\n if (options.dismissible && btn) setTimeout(() => focus(btn), 17);\n };\n}\n","/** @type {string} */\nconst scrollspyString = 'scrollspy';\nexport default scrollspyString;\n","/** @type {string} */\nconst scrollspyComponent = 'ScrollSpy';\nexport default scrollspyComponent;\n","/* Native JavaScript for Bootstrap 5 | ScrollSpy\n------------------------------------------------ */\nimport {\n getDocumentBody,\n getDocumentElement,\n getDocument,\n getWindow,\n removeClass,\n hasClass,\n addClass,\n getElementsByTagName,\n getAttribute,\n querySelector,\n isHTMLElement,\n isWindow,\n createCustomEvent,\n getInstance,\n scrollEvent,\n passiveHandler,\n dispatchEvent,\n getBoundingClientRect,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport scrollspyString from '../strings/scrollspyString';\nimport scrollspyComponent from '../strings/scrollspyComponent';\n\nimport BaseComponent from './base-component';\nimport { ScrollSpyOptions, ScrollSpyEvent } from '../interface/scrollspy';\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: ScrollSpyOptions = {\n offset: 10,\n target: null,\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: HTMLElement) => getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: HTMLElement) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent(`activate.bs.${scrollspyString}`);\n\n// SCROLLSPY PRIVATE METHODS\n// =========================\n/**\n * Update the state of all items.\n *\n * @param self the `ScrollSpy` instance\n */\nconst updateSpyTargets = (self: ScrollSpy) => {\n const { target, scrollTarget, options, itemsLength, scrollHeight, element } = self;\n const { offset } = options;\n const isWin = isWindow(scrollTarget as Node | Window);\n\n const links = target && getElementsByTagName('A', target);\n const scrollHEIGHT = scrollTarget ? getScrollHeight(scrollTarget) : /* istanbul ignore next */ scrollHeight;\n\n self.scrollTop = isWin ? (scrollTarget as Window).scrollY : (scrollTarget as HTMLElement).scrollTop;\n\n // only update items/offsets once or with each mutation\n /* istanbul ignore else */\n if (links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)) {\n let href;\n let targetItem;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n [...links].forEach(link => {\n href = getAttribute(link, 'href');\n targetItem =\n href && href.charAt(0) === '#' && href.slice(-1) !== '#' && querySelector(href, getDocument(element));\n\n if (targetItem) {\n self.items.push(link);\n rect = getBoundingClientRect(targetItem);\n self.offsets.push((isWin ? rect.top + self.scrollTop : targetItem.offsetTop) - offset);\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Returns the `scrollHeight` property of the scrolling element.\n *\n * @param scrollTarget the `ScrollSpy` instance\n * @return `scrollTarget` height\n */\nconst getScrollHeight = (scrollTarget: Node | Window) => {\n return isHTMLElement(scrollTarget as Node)\n ? (scrollTarget as HTMLElement).scrollHeight\n : getDocumentElement(scrollTarget as Node).scrollHeight;\n};\n\n/**\n * Returns the height property of the scrolling element.\n *\n * @param params the `ScrollSpy` instance\n */\nconst getOffsetHeight = ({ element, scrollTarget }: ScrollSpy) => {\n return isWindow(scrollTarget as Node) ? (scrollTarget as Window).innerHeight : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: HTMLElement) => {\n [...getElementsByTagName('A', target)].forEach(item => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n });\n};\n\n/**\n * Activates a new item.\n *\n * @param self the `ScrollSpy` instance\n * @param item a single item\n */\nconst activate = (self: ScrollSpy, item: HTMLElement) => {\n const { target, element } = self;\n if (isHTMLElement(target)) clear(target);\n self.activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n const parents: HTMLElement[] = [];\n let parentItem = item;\n while (parentItem !== getDocumentBody(element)) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (hasClass(parentItem, 'nav') || hasClass(parentItem, 'dropdown-menu')) parents.push(parentItem);\n }\n\n parents.forEach(menuItem => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n /* istanbul ignore else */\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n });\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\n// SCROLLSPY DEFINITION\n// ====================\n/** Returns a new `ScrollSpy` instance. */\nexport default class ScrollSpy extends BaseComponent {\n static selector = scrollspySelector;\n static init = scrollspyInitCallback;\n static getInstance = getScrollSpyInstance;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement | Window;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // additional properties\n this.target = querySelector(options.target as HTMLElement | string, getDocument(element));\n\n // invalidate\n if (this.target) {\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight ? element : getWindow(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // add event handlers\n this._toggleEventListeners(true);\n\n this.refresh();\n }\n }\n\n /* eslint-disable */\n /**\n * Returns component name string.\n */\n get name() {\n return scrollspyComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return scrollspyDefaults;\n }\n /* eslint-enable */\n\n // SCROLLSPY PUBLIC METHODS\n // ========================\n /** Updates all items. */\n refresh = () => {\n const { target } = this;\n\n // check if target is visible and invalidate\n /* istanbul ignore else */\n if (isHTMLElement(target) && target.offsetHeight > 0) {\n updateSpyTargets(this);\n\n const { scrollTop, maxScroll, itemsLength, items, activeItem } = this;\n\n if (scrollTop >= maxScroll) {\n const newActiveItem = items[itemsLength - 1];\n\n /* istanbul ignore else */\n if (activeItem !== newActiveItem) {\n activate(this, newActiveItem);\n }\n return;\n }\n\n const { offsets } = this;\n\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n if (target) clear(target);\n return;\n }\n\n items.forEach((item, i) => {\n if (\n activeItem !== item &&\n scrollTop >= offsets[i] &&\n (typeof offsets[i + 1] === 'undefined' || scrollTop < offsets[i + 1])\n ) {\n activate(this, item);\n }\n });\n }\n };\n\n /**\n * Toggles on/off the component event listener.\n *\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.scrollTarget as EventTarget, scrollEvent, this.refresh, passiveHandler);\n };\n\n /** Removes `ScrollSpy` from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/** @type {string} */\nconst tabString = 'tab';\nexport default tabString;\n","/** @type {string} */\nconst tabComponent = 'Tab';\nexport default tabComponent;\n","/* Native JavaScript for Bootstrap 5 | Tab\n------------------------------------------ */\nimport {\n emulateTransitionEnd,\n dispatchEvent,\n removeClass,\n hasClass,\n addClass,\n querySelector,\n getElementsByClassName,\n closest,\n setAttribute,\n mouseclickEvent,\n createCustomEvent,\n Timer,\n getInstance,\n ariaSelected,\n reflow,\n isHTMLElement,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport collapsingClass from '../strings/collapsingClass';\nimport activeClass from '../strings/activeClass';\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dropdownClasses from '../strings/dropdownClasses';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport tabString from '../strings/tabString';\nimport tabComponent from '../strings/tabComponent';\n\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport type { /* TabOptions, */ TabEvent } from '../interface/tab';\n\n// TAB PRIVATE GC\n// ================\nconst tabSelector = `[${dataBsToggle}=\"${tabString}\"]`;\n\n/**\n * Static method which returns an existing `Tab` instance associated\n * to a target `Element`.\n */\nconst getTabInstance = (element: HTMLElement) => getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: HTMLElement) => new Tab(element);\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(`show.bs.${tabString}`);\nconst shownTabEvent = createCustomEvent(`shown.bs.${tabString}`);\nconst hideTabEvent = createCustomEvent(`hide.bs.${tabString}`);\nconst hiddenTabEvent = createCustomEvent(`hidden.bs.${tabString}`);\n\ninterface TabPrivate {\n tab: HTMLElement | null;\n content: HTMLElement | null;\n currentHeight: number;\n nextHeight: number;\n}\n\n/**\n * Stores the current active tab and its content\n * for a given `.nav` element.\n */\nconst tabPrivate: Map = new Map();\n\n// TAB PRIVATE METHODS\n// ===================\n/**\n * Executes after tab transition has finished.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabEnd = (self: Tab) => {\n const { tabContent, nav } = self;\n\n /* istanbul ignore else */\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = '';\n removeClass(tabContent, collapsingClass);\n }\n\n /* istanbul ignore else */\n if (nav) Timer.clear(nav);\n};\n\n/**\n * Executes before showing the tab content.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabShow = (self: Tab) => {\n const { element, tabContent, content: nextContent, nav } = self;\n const { tab } = (isHTMLElement(nav) && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null };\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) || /* istanbul ignore next */ {\n currentHeight: 0,\n nextHeight: 0,\n };\n if (currentHeight === nextHeight) {\n triggerTabEnd(self);\n } else {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n }\n } else if (nav) Timer.clear(nav);\n\n shownTabEvent.relatedTarget = tab as HTMLElement | undefined;\n\n dispatchEvent(element, shownTabEvent);\n};\n\n/**\n * Executes before hiding the tab.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabHide = (self: Tab) => {\n const { element, content: nextContent, tabContent, nav } = self;\n const { tab, content } = (nav && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null, content: null };\n let currentHeight = 0;\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach(c => {\n if (isHTMLElement(c)) addClass(c, 'overflow-hidden');\n });\n currentHeight = isHTMLElement(content) ? content.scrollHeight : /* istanbul ignore next */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element;\n dispatchEvent(element, showTabEvent);\n\n if (!showTabEvent.defaultPrevented) {\n if (nextContent) addClass(nextContent, activeClass);\n if (content) removeClass(content, activeClass);\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, { currentHeight, nextHeight, tab: null, content: null });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach(c => {\n if (c) removeClass(c, 'overflow-hidden');\n });\n }\n\n if (nextContent && nextContent && hasClass(nextContent, fadeClass)) {\n setTimeout(() => {\n addClass(nextContent, showClass);\n emulateTransitionEnd(nextContent, () => {\n triggerTabShow(self);\n });\n }, 1);\n } else {\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n if (tab) dispatchEvent(tab, hiddenTabEvent);\n }\n};\n\n/**\n * Returns the current active tab and its target content.\n *\n * @param self the `Tab` instance\n * @returns the query result\n */\nconst getActiveTab = (self: Tab): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n /* istanbul ignore next */\n if (!isHTMLElement(nav as HTMLElement | undefined)) return { tab: null, content: null };\n\n const activeTabs = getElementsByClassName(activeClass, nav as HTMLElement);\n let tab: HTMLElement | null = null;\n /* istanbul ignore else */\n if (activeTabs.length === 1 && !dropdownClasses.some(c => hasClass(activeTabs[0].parentElement as HTMLElement, c))) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab as HTMLElement) ? getTargetElement(tab as HTMLElement) : null;\n return { tab, content };\n};\n\n/**\n * Returns a parent dropdown.\n *\n * @param element the `Tab` element\n * @returns the parent dropdown\n */\nconst getParentDropdown = (element?: HTMLElement): HTMLElement | null => {\n /* istanbul ignore next */\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(',.')}`);\n return dropdown ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown) : null;\n};\n\n// TAB EVENT HANDLER\n// =================\n/**\n * Handles the `click` event listener.\n *\n * @param e the `Event` object\n */\nconst tabClickHandler = (e: Event) => {\n const self = getTabInstance(e.target as HTMLElement);\n\n /* istanbul ignore else */\n if (self) {\n e.preventDefault();\n self.show();\n }\n};\n\n// TAB DEFINITION\n// ==============\n/** Creates a new `Tab` instance. */\nexport default class Tab extends BaseComponent {\n static selector = tabSelector;\n static init = tabInitCallback;\n static getInstance = getTabInstance;\n declare nav: HTMLElement | null;\n declare content: HTMLElement | null;\n declare tabContent: HTMLElement | null;\n declare nextContent: HTMLElement | null;\n declare dropdown: HTMLElement | null;\n\n /** @param target the target element */\n constructor(target: HTMLElement | string) {\n super(target);\n\n // initialization element\n const { element } = this;\n const content = getTargetElement(element);\n\n // no point initializing a tab without a corresponding content\n /* istanbul ignore else */\n if (content) {\n const nav = closest(element, '.nav');\n const container = closest(content, '.tab-content');\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element);\n\n // show first Tab instance of none is shown\n // suggested on #432\n const { tab } = getActiveTab(this);\n if (nav && !tab) {\n const firstTab = querySelector(tabSelector, nav);\n const firstTabContent = firstTab && getTargetElement(firstTab);\n\n /* istanbul ignore else */\n if (firstTabContent) {\n addClass(firstTab, activeClass);\n addClass(firstTabContent, showClass);\n addClass(firstTabContent, activeClass);\n setAttribute(element, ariaSelected, 'true');\n }\n }\n\n // add event listener\n this._toggleEventListeners(true);\n }\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return tabComponent;\n }\n\n // TAB PUBLIC METHODS\n // ==================\n /** Shows the tab to the user. */\n show() {\n const { element, content: nextContent, nav, dropdown } = this;\n\n /* istanbul ignore else */\n if (!(nav && Timer.get(nav)) && !hasClass(element, activeClass)) {\n const { tab, content } = getActiveTab(this);\n\n /* istanbul ignore else */\n if (nav) tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element;\n\n /* istanbul ignore else */\n if (isHTMLElement(tab)) {\n dispatchEvent(tab as EventTarget, hideTabEvent);\n /* istanbul ignore else */\n if (!hideTabEvent.defaultPrevented) {\n addClass(element, activeClass);\n setAttribute(element, ariaSelected, 'true');\n\n const activeDropdown = isHTMLElement(tab) && getParentDropdown(tab);\n if (activeDropdown && hasClass(activeDropdown, activeClass)) {\n removeClass(activeDropdown, activeClass);\n }\n\n /* istanbul ignore else */\n if (nav) {\n const toggleTab = () => {\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, 'false');\n }\n if (dropdown && !hasClass(dropdown, activeClass)) addClass(dropdown, activeClass);\n };\n\n if (content && (hasClass(content, fadeClass) || (nextContent && hasClass(nextContent, fadeClass)))) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n if (content) {\n removeClass(content, showClass);\n if (hasClass(content, fadeClass)) {\n emulateTransitionEnd(content, () => triggerTabHide(this));\n } else {\n triggerTabHide(this);\n }\n }\n }\n }\n }\n }\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.element, mouseclickEvent, tabClickHandler);\n };\n\n /** Removes the `Tab` component from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/** @type {string} */\nconst toastString = 'toast';\nexport default toastString;\n","/** @type {string} */\nconst toastComponent = 'Toast';\nexport default toastComponent;\n","/* Native JavaScript for Bootstrap 5 | Toast\n-------------------------------------------- */\nimport {\n mouseclickEvent,\n closest,\n removeClass,\n hasClass,\n addClass,\n focusoutEvent,\n focusinEvent,\n mouseleaveEvent,\n mouseenterEvent,\n createCustomEvent,\n getDocument,\n Timer,\n getInstance,\n reflow,\n emulateTransitionEnd,\n dispatchEvent,\n querySelectorAll,\n querySelector,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport toastString from '../strings/toastString';\nimport toastComponent from '../strings/toastComponent';\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport { ToastOptions, ToastEvent } from '../interface/toast';\n\n// TOAST PRIVATE GC\n// ================\nconst toastSelector = `.${toastString}`;\nconst toastDismissSelector = `[${dataBsDismiss}=\"${toastString}\"]`;\nconst toastToggleSelector = `[${dataBsToggle}=\"${toastString}\"]`;\nconst showingClass = 'showing';\n/** @deprecated */\nconst hideClass = 'hide';\n\nconst toastDefaults = {\n animation: true,\n autohide: true,\n delay: 5000,\n};\n\n/**\n * Static method which returns an existing `Toast` instance associated\n * to a target `Element`.\n */\nconst getToastInstance = (element: HTMLElement) => getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: HTMLElement) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent(`show.bs.${toastString}`);\nconst shownToastEvent = createCustomEvent(`shown.bs.${toastString}`);\nconst hideToastEvent = createCustomEvent(`hide.bs.${toastString}`);\nconst hiddenToastEvent = createCustomEvent(`hidden.bs.${toastString}`);\n\n// TOAST PRIVATE METHODS\n// =====================\n/**\n * Executes after the toast is shown to the user.\n *\n * @param self the `Toast` instance\n */\nconst showToastComplete = (self: Toast) => {\n const { element, options } = self;\n removeClass(element, showingClass);\n Timer.clear(element, showingClass);\n\n dispatchEvent(element, shownToastEvent);\n /* istanbul ignore else */\n if (options.autohide) {\n Timer.set(element, () => self.hide(), options.delay, toastString);\n }\n};\n\n/**\n * Executes after the toast is hidden to the user.\n *\n * @param self the `Toast` instance\n */\nconst hideToastComplete = (self: Toast) => {\n const { element } = self;\n removeClass(element, showingClass);\n removeClass(element, showClass);\n addClass(element, hideClass); // B/C\n Timer.clear(element, toastString);\n dispatchEvent(element, hiddenToastEvent);\n};\n\n/**\n * Executes before hiding the toast.\n *\n * @param self the `Toast` instance\n */\nconst hideToast = (self: Toast) => {\n const { element, options } = self;\n addClass(element, showingClass);\n\n if (options.animation) {\n reflow(element);\n emulateTransitionEnd(element, () => hideToastComplete(self));\n } else {\n hideToastComplete(self);\n }\n};\n\n/**\n * Executes before showing the toast.\n *\n * @param self the `Toast` instance\n */\nconst showToast = (self: Toast) => {\n const { element, options } = self;\n Timer.set(\n element,\n () => {\n removeClass(element, hideClass); // B/C\n reflow(element);\n addClass(element, showClass);\n addClass(element, showingClass);\n\n if (options.animation) {\n emulateTransitionEnd(element, () => showToastComplete(self));\n } else {\n showToastComplete(self);\n }\n },\n 17,\n showingClass,\n );\n};\n\n// TOAST EVENT HANDLERS\n// ====================\n/**\n * Executes after the instance has been disposed.\n *\n * @param {Toast} self the `Toast` instance\n */\nconst completeDisposeToast = (self: Toast) => {\n Timer.clear(self.element, toastString);\n self._toggleEventListeners();\n};\n\n/**\n * Handles the `click` event listener for toast.\n *\n * @param e the `Event` object\n */\nconst toastClickHandler = (e: Event) => {\n const { target } = e;\n\n const trigger = target && closest(target as HTMLElement, toastToggleSelector);\n const element = trigger && getTargetElement(trigger);\n const self = element && getToastInstance(element);\n\n /* istanbul ignore else */\n if (self) {\n /* istanbul ignore else */\n if (trigger && trigger.tagName === 'A') e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\n }\n};\n\n/**\n * Executes when user interacts with the toast without closing it,\n * usually by hovering or focusing it.\n *\n * @param e the `Toast` instance\n */\nconst interactiveToastHandler = (e: MouseEvent) => {\n const element = e.target as HTMLElement;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n /* istanbul ignore else: a solid filter is required */\n if (self && element !== relatedTarget && !element.contains(relatedTarget as Node)) {\n if ([mouseenterEvent, focusinEvent].includes(type)) {\n Timer.clear(element, toastString);\n } else {\n Timer.set(element, () => self.hide(), self.options.delay, toastString);\n }\n }\n};\n\n// TOAST DEFINITION\n// ================\n/** Creates a new `Toast` instance. */\nexport default class Toast extends BaseComponent {\n static selector = toastSelector;\n static init = toastInitCallback;\n static getInstance = getToastInstance;\n declare options: ToastOptions;\n declare dismiss: HTMLElement | null;\n declare triggers: HTMLElement[];\n declare relatedTarget: HTMLElement | null;\n\n /**\n * @param target the target `.toast` element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n const { element, options } = this;\n\n // set fadeClass, the options.animation will override the markup\n if (options.animation && !hasClass(element, fadeClass)) addClass(element, fadeClass);\n else if (!options.animation && hasClass(element, fadeClass)) removeClass(element, fadeClass);\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [...querySelectorAll(toastToggleSelector, getDocument(element))].filter(\n btn => getTargetElement(btn) === element,\n );\n\n // add event listener\n this._toggleEventListeners(true);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return toastComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return toastDefaults;\n }\n /**\n * Returns *true* when toast is visible.\n */\n get isShown() {\n return hasClass(this.element, showClass);\n }\n\n // TOAST PUBLIC METHODS\n // ====================\n /** Shows the toast. */\n show = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && !isShown) {\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) {\n showToast(this);\n }\n }\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && isShown) {\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) {\n hideToast(this);\n }\n }\n };\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, it will add the listener\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element, triggers, dismiss, options, hide } = this;\n\n /* istanbul ignore else */\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n /* istanbul ignore else */\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(e =>\n action(element, e, interactiveToastHandler),\n );\n }\n /* istanbul ignore else */\n if (triggers.length) {\n triggers.forEach(btn => action(btn, mouseclickEvent, toastClickHandler));\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (isShown) {\n removeClass(element, showClass);\n }\n\n completeDisposeToast(this);\n\n super.dispose();\n }\n}\n","import { Data, getElementsByTagName, matches } from '@thednp/shorty';\n\nimport { addListener } from '@thednp/event-listener';\n\nimport Alert from '../components/alert';\nimport Button from '../components/button';\nimport Carousel from '../components/carousel';\nimport Collapse from '../components/collapse';\nimport Dropdown from '../components/dropdown';\nimport Modal from '../components/modal';\nimport Offcanvas from '../components/offcanvas';\nimport Popover from '../components/popover';\nimport ScrollSpy from '../components/scrollspy';\nimport Tab from '../components/tab';\nimport Toast from '../components/toast';\nimport Tooltip from '../components/tooltip';\n\nconst componentsList = new Map<\n string,\n | typeof Alert\n | typeof Button\n | typeof Carousel\n | typeof Collapse\n | typeof Dropdown\n | typeof Modal\n | typeof Offcanvas\n | typeof Popover\n | typeof ScrollSpy\n | typeof Tab\n | typeof Toast\n | typeof Tooltip\n>();\n\n[Alert, Button, Carousel, Collapse, Dropdown, Modal, Offcanvas, Popover, ScrollSpy, Tab, Toast, Tooltip].forEach(c =>\n componentsList.set(c.prototype.name, c),\n);\n\n/**\n * Initialize all matched `Element`s for one component.\n *\n * @param callback\n * @param collection\n */\nconst initComponentDataAPI = (\n callback: (el: HTMLElement, ops?: Record) => T,\n collection: HTMLCollectionOf | HTMLElement[],\n) => {\n [...collection].forEach(x => callback(x));\n};\n\n/**\n * Remove one component from a target container element or all in the page.\n *\n * @param component the component name\n * @param context parent `Node`\n */\nconst removeComponentDataAPI = (component: string, context: ParentNode) => {\n const compData = Data.getAllFor(component) as Map;\n\n if (compData) {\n [...compData].forEach(([element, instance]) => {\n if (context.contains(element)) (instance as T & { dispose: () => void }).dispose();\n });\n }\n};\n\n/**\n * Initialize all BSN components for a target container.\n *\n * @param context parent `Node`\n */\nexport const initCallback = (context?: ParentNode) => {\n const lookUp = context && context.nodeName ? context : document;\n const elemCollection = [...getElementsByTagName('*', lookUp)];\n\n componentsList.forEach(cs => {\n const { init, selector } = cs;\n initComponentDataAPI(\n init,\n elemCollection.filter(item => matches(item, selector)),\n );\n });\n};\n\n/**\n * Remove all BSN components for a target container.\n *\n * @param context parent `Node`\n */\nexport const removeDataAPI = (context?: ParentNode) => {\n const lookUp = context && context.nodeName ? context : document;\n\n componentsList.forEach(comp => {\n removeComponentDataAPI(comp.prototype.name, lookUp);\n });\n};\n\n// Bulk initialize all components\nif (document.body) initCallback();\nelse {\n addListener(document, 'DOMContentLoaded', () => initCallback(), { once: true });\n}\n"],"names":["fe","ge","Ee","ye","we","Ae","P","$","_","tt","st","rt","it","lt","pt","mt","ft","St","kt","Mt","Ct","zt","Vt","Ce","Re","Qe","je","qe","$e","Rt","Qt","C","U","jt","A","qt","S","z","x","vn","N","Gt","e","n","o","s","Jt","Kt","r","Xt","Yt","kn","Tn","Cn","Ln","In","zn","v","i","u","E","L","Hn","k","W","R","d","M","Zt","Q","g","ee","ne","Un","a","l","Qn","V","w","oe","jn","p","c","m","y","j","Gn","Xn","Yn","Zn","$n","I","se","f","_n","h","eo","T","ce","so","B","H","b","ae","ro","ie","uo","mo","ho","yo","Ao","le","So","de","Mo","To","Do","fadeClass","showClass","dataBsDismiss","alertString","alertComponent","Version","BaseComponent","target","config","__publicField","element","querySelector","isString","prevInstance","Data","ObjectKeys","normalizeOptions","prop","alertSelector","alertDismissSelector","getAlertInstance","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","hasClass","removeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent","activeClass","dataBsToggle","buttonString","buttonComponent","buttonSelector","getButtonInstance","buttonInitCallback","Button","isActive","getAttribute","addClass","setAttribute","ariaPressed","dataBsTarget","carouselString","carouselComponent","dataBsParent","dataBsContainer","getTargetElement","targetAttr","doc","getDocument","att","attValue","closest","carouselSelector","carouselItem","dataBsSlideTo","dataBsSlide","pausedClass","carouselDefaults","getCarouselInstance","carouselInitCallback","Carousel","startX","currentX","endX","carouselSlideEvent","carouselSlidEvent","carouselTransitionEndHandler","index","direction","slides","options","activeItem","getActiveIndex","orientation","directionClass","Timer","carouselPauseHandler","carouselResumeHandler","carouselIndicatorHandler","newIndex","carouselControlsHandler","carouselKeyHandler","code","querySelectorAll","isElementInScrollRange","RTL","isRTL","keyArrowRight","keyArrowLeft","carouselDragHandler","carouselPointerDownHandler","controls","indicators","el","toggleCarouselTouchHandlers","carouselPointerMoveHandler","carouselPointerUpHandler","_a","activateCarouselIndicator","pointermoveEvent","passiveHandler","pointerupEvent","isHTMLElement","touch","pause","interval","keyboard","mouseenterEvent","mouseleaveEvent","pointerdownEvent","touchstartEvent","dragstartEvent","arrow","indicator","keydownEvent","getElementsByClassName","activeIndex","transitionItem","matches","ar","isPaused","idx","next","eventProperties","ObjectAssign","getElementTransitionDuration","reflow","isAnimating","clone","collapsingClass","collapseString","collapseComponent","collapseSelector","collapseToggleSelector","collapseDefaults","getCollapseInstance","collapseInitCallback","Collapse","showCollapseEvent","shownCollapseEvent","hideCollapseEvent","hiddenCollapseEvent","expandCollapse","parent","triggers","noop","setElementStyle","btn","ariaExpanded","collapseContent","collapseClickHandler","trigger","activeCollapse","activeCollapseInstance","dropdownMenuClasses","dropdownComponent","dropdownMenuClass","isEmptyAnchor","parentAnchor","hasAttribute","dropdownString","dropupString","dropstartString","dropendString","dropdownClasses","dropdownSelector","getDropdownInstance","dropdownInitCallback","Dropdown","dropdownMenuEndClass","verticalClass","horizontalClass","menuFocusTags","dropdownDefaults","showDropdownEvent","shownDropdownEvent","hideDropdownEvent","hiddenDropdownEvent","updatedDropdownEvent","styleDropdown","menu","parentElement","offset","getElementStyle","menuEnd","style","positionClass","dropdownMargin","dropdownPosition","menuWidth","menuHeight","clientWidth","clientHeight","getDocumentElement","targetLeft","targetTop","targetWidth","targetHeight","getBoundingClientRect","leftFullExceed","rightFullExceed","bottomExceed","bottomFullExceed","topExceed","leftExceed","rightExceed","posAjust","margins","getMenuItems","firstElementChild","toggleDropdownDismiss","dropdownDismissHandler","focusEvent","dropdownPreventScroll","keyupEvent","dropdownKeyHandler","scrollEvent","resizeEvent","ev","getWindow","dropdownLayoutHandler","getCurrentOpenDropdown","currentParent","type","isForm","mousedownEvent","dropdownClickHandler","keyArrowDown","keyArrowUp","activeElement","open","menuItems","focus","keyEscape","currentElement","currentInstance","modalString","modalComponent","offcanvasComponent","fixedTopClass","fixedBottomClass","stickyTopClass","positionStickyClass","getFixedItems","resetScrollbar","bd","getDocumentBody","fixedItems","fixed","measureScrollbar","innerWidth","setScrollbar","overflow","bodyPad","sbWidth","itemPadValue","itemMValue","offcanvasString","popupContainer","createElement","appendPopup","customContainer","containerIsBody","isNode","lookup","BODY","removePopup","hasPopup","backdropString","modalBackdropClass","offcanvasBackdropClass","modalActiveSelector","offcanvasActiveSelector","overlay","getCurrentOpen","toggleOverlayType","isModal","targetClass","appendOverlay","hasFade","showOverlay","hideOverlay","removeOverlay","isVisible","modalSelector","modalToggleSelector","modalDismissSelector","modalStaticClass","modalDefaults","getModalInstance","modalInitCallback","Modal","showModalEvent","shownModalEvent","hideModalEvent","hiddenModalEvent","setModalScrollbar","scrollbarWidth","scrollHeight","modalHeight","modalScrollHeight","modalOverflow","pad","padStyle","toggleModalDismiss","update","modalDismissHandler","modalKeyHandler","afterModalHide","relatedTarget","focusElement","afterModalShow","beforeModalShow","removeAttribute","ariaHidden","ariaModal","beforeModalHide","modalClickHandler","currentTarget","isStatic","modalDialog","backdrop","selectedText","targetInsideDialog","staticTransitionEnd","duration","overlayDelay","currentOpen","that","callback","offcanvasSelector","offcanvasToggleSelector","offcanvasDismissSelector","offcanvasTogglingClass","offcanvasDefaults","getOffcanvasInstance","offcanvasInitCallback","Offcanvas","showOffcanvasEvent","shownOffcanvasEvent","hideOffcanvasEvent","hiddenOffcanvasEvent","setOffCanvasScrollbar","toggleOffCanvasDismiss","offcanvasKeyDismissHandler","offcanvasDismissHandler","beforeOffcanvasShow","showOffcanvasComplete","beforeOffcanvasHide","hideOffcanvasComplete","offcanvasTriggerHandler","offCanvasDismiss","selection","visibleTrigger","delay","popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","body","tipClassPositions","styleTip","tipClasses","tooltip","container","tipPositions","isPopover","tipWidth","tipHeight","htmlcw","htmlch","htmlow","placement","parentCWidth","parentOWidth","fixedParent","leftBoundry","rightBoundry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","topPosition","bottomPosition","leftPosition","rightPosition","arrowTop","arrowLeft","arrowRight","arrowWidth","arrowHeight","arrowAdjust","horizontals","verticals","updatedTooltipEvent","toLowerCase","tooltipDefaults","dataOriginalTitle","tooltipComponent","setHtml","content","sanitizeFn","dirty","isFunction","tempDocument","isNodeList","isArray","createTip","id","title","template","animation","customClass","dismissible","btnClose","tipString","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","tooltipHeader","tooltipBody","tempTitle","tempContent","tempBtn","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","tooltipSelector","titleAttr","getTooltipInstance","tooltipInitCallback","Tooltip","removeTooltip","offsetParent","ariaDescribedBy","hasTip","disposeTooltipComplete","toggleTooltipTitle","toggleTooltipAction","tooltipShownAction","shownTooltipEvent","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","offsetHeight","parentModal","parentOffcanvas","win","scrollTarget","titleAtt","tr","mousehoverEvent","focusinEvent","focusoutEvent","isApple","tipComponent","elem","getUID","position","outTimer","tipContainer","showTooltipEvent","hideTooltipEvent","enabled","popoverSelector","popoverDefaults","getPopoverInstance","popoverInitCallback","Popover","scrollspyString","scrollspyComponent","scrollspySelector","scrollspyDefaults","getScrollSpyInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","updateSpyTargets","itemsLength","isWin","isWindow","links","getElementsByTagName","scrollHEIGHT","getScrollHeight","href","targetItem","rect","getOffsetHeight","link","clear","item","activate","parents","parentItem","menuItem","parentLink","scrollTop","maxScroll","items","newActiveItem","offsets","tabString","tabComponent","tabSelector","getTabInstance","tabInitCallback","Tab","showTabEvent","shownTabEvent","hideTabEvent","hiddenTabEvent","tabPrivate","triggerTabEnd","tabContent","nav","triggerTabShow","nextContent","tab","currentHeight","nextHeight","triggerTabHide","getActiveTab","activeTabs","getParentDropdown","dropdown","tabClickHandler","firstTab","firstTabContent","ariaSelected","activeDropdown","toggleTab","toastString","toastComponent","toastSelector","toastDismissSelector","toastToggleSelector","showingClass","hideClass","toastDefaults","getToastInstance","toastInitCallback","Toast","showToastEvent","shownToastEvent","hideToastEvent","hiddenToastEvent","showToastComplete","hideToastComplete","hideToast","showToast","completeDisposeToast","toastClickHandler","interactiveToastHandler","isShown","hide","componentsList","initComponentDataAPI","collection","removeComponentDataAPI","component","context","compData","instance","initCallback","lookUp","elemCollection","cs","init","selector","removeDataAPI","comp"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file +{"version":3,"file":"bootstrap-native.js","sources":["../node_modules/.pnpm/@thednp+shorty@2.0.3/node_modules/@thednp/shorty/dist/shorty.mjs","../node_modules/.pnpm/@thednp+event-listener@2.0.5/node_modules/@thednp/event-listener/dist/event-listener.mjs","../src/strings/fadeClass.ts","../src/strings/showClass.ts","../src/strings/dataBsDismiss.ts","../src/strings/alertString.ts","../src/strings/alertComponent.ts","../src/version.ts","../src/components/base-component.ts","../src/components/alert.ts","../src/strings/activeClass.ts","../src/strings/dataBsToggle.ts","../src/strings/buttonString.ts","../src/strings/buttonComponent.ts","../src/components/button.ts","../src/strings/dataBsTarget.ts","../src/strings/carouselString.ts","../src/strings/carouselComponent.ts","../src/strings/dataBsParent.ts","../src/strings/dataBsContainer.ts","../src/util/getTargetElement.ts","../src/components/carousel.ts","../src/strings/collapsingClass.ts","../src/strings/collapseString.ts","../src/strings/collapseComponent.ts","../src/components/collapse.ts","../src/strings/dropdownClasses.ts","../src/strings/dropdownComponent.ts","../src/strings/dropdownMenuClass.ts","../src/util/isEmptyAnchor.ts","../src/components/dropdown.ts","../src/strings/modalString.ts","../src/strings/modalComponent.ts","../src/strings/offcanvasComponent.ts","../src/strings/fixedTopClass.ts","../src/strings/fixedBottomClass.ts","../src/strings/stickyTopClass.ts","../src/strings/positionStickyClass.ts","../src/util/scrollbar.ts","../src/strings/offcanvasString.ts","../src/util/popupContainer.ts","../src/util/backdrop.ts","../src/util/isVisible.ts","../src/components/modal.ts","../src/components/offcanvas.ts","../src/strings/popoverString.ts","../src/strings/popoverComponent.ts","../src/strings/tooltipString.ts","../src/util/getTipTemplate.ts","../src/util/tipClassPositions.ts","../src/util/styleTip.ts","../src/util/tooltipDefaults.ts","../src/strings/dataOriginalTitle.ts","../src/strings/tooltipComponent.ts","../src/util/setHtml.ts","../src/util/createTip.ts","../src/util/getElementContainer.ts","../src/components/tooltip.ts","../src/components/popover.ts","../src/strings/scrollspyString.ts","../src/strings/scrollspyComponent.ts","../src/components/scrollspy.ts","../src/strings/tabString.ts","../src/strings/tabComponent.ts","../src/components/tab.ts","../src/strings/toastString.ts","../src/strings/toastComponent.ts","../src/components/toast.ts","../src/util/init.ts"],"sourcesContent":["const pe = \"aria-checked\", me = \"aria-description\", fe = \"aria-describedby\", ge = \"aria-expanded\", ve = \"aria-haspopup\", Ee = \"aria-hidden\", be = \"aria-label\", he = \"aria-labelledby\", ye = \"aria-modal\", we = \"aria-pressed\", Ae = \"aria-selected\", Se = \"aria-valuemin\", Ne = \"aria-valuemax\", ke = \"aria-valuenow\", Me = \"aria-valuetext\", q = \"abort\", G = \"beforeunload\", J = \"blur\", K = \"change\", X = \"contextmenu\", P = \"DOMContentLoaded\", Y = \"DOMMouseScroll\", Z = \"error\", $ = \"focus\", _ = \"focusin\", tt = \"focusout\", et = \"gesturechange\", nt = \"gestureend\", ot = \"gesturestart\", st = \"keydown\", ct = \"keypress\", rt = \"keyup\", at = \"load\", it = \"click\", ut = \"dblclick\", lt = \"mousedown\", dt = \"mouseup\", pt = \"hover\", mt = \"mouseenter\", ft = \"mouseleave\", gt = \"mousein\", vt = \"mouseout\", Et = \"mouseover\", bt = \"mousemove\", ht = \"mousewheel\", yt = \"move\", wt = \"orientationchange\", At = \"pointercancel\", St = \"pointerdown\", Nt = \"pointerleave\", kt = \"pointermove\", Mt = \"pointerup\", Tt = \"readystatechange\", Dt = \"reset\", Ct = \"resize\", Ot = \"select\", Lt = \"selectend\", It = \"selectstart\", zt = \"scroll\", xt = \"submit\", Vt = \"touchstart\", Bt = \"touchmove\", Ht = \"touchcancel\", Pt = \"touchend\", Ft = \"unload\", Te = {\n DOMContentLoaded: P,\n DOMMouseScroll: Y,\n abort: q,\n beforeunload: G,\n blur: J,\n change: K,\n click: it,\n contextmenu: X,\n dblclick: ut,\n error: Z,\n focus: $,\n focusin: _,\n focusout: tt,\n gesturechange: et,\n gestureend: nt,\n gesturestart: ot,\n hover: pt,\n keydown: st,\n keypress: ct,\n keyup: rt,\n load: at,\n mousedown: lt,\n mousemove: bt,\n mousein: gt,\n mouseout: vt,\n mouseenter: mt,\n mouseleave: ft,\n mouseover: Et,\n mouseup: dt,\n mousewheel: ht,\n move: yt,\n orientationchange: wt,\n pointercancel: At,\n pointerdown: St,\n pointerleave: Nt,\n pointermove: kt,\n pointerup: Mt,\n readystatechange: Tt,\n reset: Dt,\n resize: Ct,\n scroll: zt,\n select: Ot,\n selectend: Lt,\n selectstart: It,\n submit: xt,\n touchcancel: Ht,\n touchend: Pt,\n touchmove: Bt,\n touchstart: Vt,\n unload: Ft\n}, De = \"drag\", Ce = \"dragstart\", Oe = \"dragenter\", Le = \"dragleave\", Ie = \"dragover\", ze = \"dragend\", xe = \"loadstart\", Ve = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, Be = { down: \"mousedown\", up: \"mouseup\" }, He = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : (\n /* istanbul ignore next */\n [\"mouseover\", \"mouseout\"]\n), Pe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, Fe = { in: \"focusin\", out: \"focusout\" }, Ue = {\n Backspace: \"Backspace\",\n // 8\n Tab: \"Tab\",\n // 9\n Enter: \"Enter\",\n // 13\n Shift: \"Shift\",\n // 16\n Control: \"Control\",\n // 17\n Alt: \"Alt\",\n // 18\n Pause: \"Pause\",\n // 19\n CapsLock: \"CapsLock\",\n // 20\n Escape: \"Escape\",\n // 27\n Scape: \"Space\",\n // 32\n ArrowLeft: \"ArrowLeft\",\n // 37\n ArrowUp: \"ArrowUp\",\n // 38\n ArrowRight: \"ArrowRight\",\n // 39\n ArrowDown: \"ArrowDown\",\n // 40\n Insert: \"Insert\",\n // 45\n Delete: \"Delete\",\n // 46\n Meta: \"Meta\",\n // 91 windows key\n ContextMenu: \"ContextMenu\",\n // 93\n ScrollLock: \"ScrollLock\"\n // 145\n}, We = \"Alt\", Re = \"ArrowDown\", Qe = \"ArrowUp\", je = \"ArrowLeft\", qe = \"ArrowRight\", Ge = \"Backspace\", Je = \"CapsLock\", Ke = \"Control\", Xe = \"Delete\", Ye = \"Enter\", Ze = \"NumpadEnter\", $e = \"Escape\", _e = \"Insert\", tn = \"Meta\", en = \"Pause\", nn = \"ScrollLock\", on = \"Shift\", sn = \"Space\", cn = \"Tab\", Ut = \"animationDuration\", Wt = \"animationDelay\", F = \"animationName\", D = \"animationend\", Rt = \"transitionDuration\", Qt = \"transitionDelay\", C = \"transitionend\", U = \"transitionProperty\", rn = \"addEventListener\", an = \"removeEventListener\", un = {\n linear: \"linear\",\n easingSinusoidalIn: \"cubic-bezier(0.47,0,0.745,0.715)\",\n easingSinusoidalOut: \"cubic-bezier(0.39,0.575,0.565,1)\",\n easingSinusoidalInOut: \"cubic-bezier(0.445,0.05,0.55,0.95)\",\n easingQuadraticIn: \"cubic-bezier(0.550,0.085,0.680,0.530)\",\n easingQuadraticOut: \"cubic-bezier(0.250,0.460,0.450,0.940)\",\n easingQuadraticInOut: \"cubic-bezier(0.455,0.030,0.515,0.955)\",\n easingCubicIn: \"cubic-bezier(0.55,0.055,0.675,0.19)\",\n easingCubicOut: \"cubic-bezier(0.215,0.61,0.355,1)\",\n easingCubicInOut: \"cubic-bezier(0.645,0.045,0.355,1)\",\n easingQuarticIn: \"cubic-bezier(0.895,0.03,0.685,0.22)\",\n easingQuarticOut: \"cubic-bezier(0.165,0.84,0.44,1)\",\n easingQuarticInOut: \"cubic-bezier(0.77,0,0.175,1)\",\n easingQuinticIn: \"cubic-bezier(0.755,0.05,0.855,0.06)\",\n easingQuinticOut: \"cubic-bezier(0.23,1,0.32,1)\",\n easingQuinticInOut: \"cubic-bezier(0.86,0,0.07,1)\",\n easingExponentialIn: \"cubic-bezier(0.95,0.05,0.795,0.035)\",\n easingExponentialOut: \"cubic-bezier(0.19,1,0.22,1)\",\n easingExponentialInOut: \"cubic-bezier(1,0,0,1)\",\n easingCircularIn: \"cubic-bezier(0.6,0.04,0.98,0.335)\",\n easingCircularOut: \"cubic-bezier(0.075,0.82,0.165,1)\",\n easingCircularInOut: \"cubic-bezier(0.785,0.135,0.15,0.86)\",\n easingBackIn: \"cubic-bezier(0.6,-0.28,0.735,0.045)\",\n easingBackOut: \"cubic-bezier(0.175,0.885,0.32,1.275)\",\n easingBackInOut: \"cubic-bezier(0.68,-0.55,0.265,1.55)\"\n}, ln = \"offsetHeight\", dn = \"offsetWidth\", pn = \"scrollHeight\", mn = \"scrollWidth\", fn = \"tabindex\", jt = navigator.userAgentData, A = jt, { userAgent: qt } = navigator, S = qt, z = /iPhone|iPad|iPod|Android/i;\nlet O = !1;\nA ? O = A.brands.some((t) => z.test(t.brand)) : O = z.test(S);\nconst gn = O, x = /(iPhone|iPod|iPad)/, vn = A ? A.brands.some((t) => x.test(t.brand)) : (\n /* istanbul ignore next */\n x.test(S)\n), En = S ? S.includes(\"Firefox\") : (\n /* istanbul ignore next */\n !1\n), { head: N } = document, bn = [\"webkitPerspective\", \"perspective\"].some((t) => t in N.style), Gt = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(e, n, s);\n}, Jt = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(e, n, s);\n}, Kt = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Jt(t, e, s, o));\n };\n Gt(t, e, s, o);\n}, Xt = () => {\n}, hn = (() => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n Kt(document, P, Xt, e);\n } catch {\n }\n return t;\n})(), yn = [\"webkitTransform\", \"transform\"].some((t) => t in N.style), wn = \"ontouchstart\" in window || /* istanbul ignore next */\n\"msMaxTouchPoints\" in navigator, An = [\"webkitAnimation\", \"animation\"].some((t) => t in N.style), Sn = [\"webkitTransition\", \"transition\"].some((t) => t in N.style), Yt = (t, e) => t.getAttribute(e), Nn = (t, e, n) => e.getAttributeNS(t, n), kn = (t, e) => t.hasAttribute(e), Mn = (t, e, n) => e.hasAttributeNS(t, n), Tn = (t, e, n) => t.setAttribute(e, n), Dn = (t, e, n, o) => e.setAttributeNS(t, n, o), Cn = (t, e) => t.removeAttribute(e), On = (t, e, n) => e.removeAttributeNS(t, n), Ln = (t, ...e) => {\n t.classList.add(...e);\n}, In = (t, ...e) => {\n t.classList.remove(...e);\n}, zn = (t, e) => t.classList.contains(e), { body: xn } = document, { documentElement: Vn } = document, Bn = (t) => Array.from(t), v = (t) => t != null && typeof t == \"object\" || !1, i = (t) => v(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some((e) => t.nodeType === e) || !1, u = (t) => i(t) && t.nodeType === 1 || !1, E = /* @__PURE__ */ new Map(), L = {\n data: E,\n /**\n * Sets web components data.\n *\n * @param element target element\n * @param component the component's name or a unique key\n * @param instance the component instance\n */\n set: (t, e, n) => {\n if (!u(t)) return;\n E.has(e) || E.set(e, /* @__PURE__ */ new Map()), E.get(e).set(t, n);\n },\n /**\n * Returns all instances for specified component.\n *\n * @param component the component's name or a unique key\n * @returns all the component instances\n */\n getAllFor: (t) => E.get(t) || null,\n /**\n * Returns the instance associated with the target.\n *\n * @param element target element\n * @param component the component's name or a unique key\n * @returns the instance\n */\n get: (t, e) => {\n if (!u(t) || !e) return null;\n const n = L.getAllFor(e);\n return t && n && n.get(t) || null;\n },\n /**\n * Removes web components data.\n *\n * @param element target element\n * @param component the component's name or a unique key\n */\n remove: (t, e) => {\n const n = L.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && E.delete(e));\n }\n}, Hn = (t, e) => L.get(t, e), k = (t) => typeof t == \"string\" || !1, W = (t) => v(t) && t.constructor.name === \"Window\" || !1, R = (t) => i(t) && t.nodeType === 9 || !1, d = (t) => W(t) ? t.document : R(t) ? t : i(t) ? t.ownerDocument : window.document, M = (t, ...e) => Object.assign(t, ...e), Zt = (t) => {\n if (!t) return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = Zt(e);\n if (!n) return;\n const o = { ...t };\n return delete o.tagName, M(n, o);\n}, $t = (t, e) => {\n if (!t || !e) return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = $t(t, n);\n if (!o) return;\n const s = { ...e };\n return delete s.tagName, M(o, s);\n}, Q = (t, e) => t.dispatchEvent(e), Pn = (t, e, n) => n.indexOf(t) === e, g = (t, e) => {\n const n = getComputedStyle(t), o = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return n.getPropertyValue(o);\n}, _t = (t) => {\n const e = g(t, F), n = g(t, Wt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, te = (t) => {\n const e = g(t, F), n = g(t, Ut), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, Fn = (t, e) => {\n let n = 0;\n const o = new Event(D), s = te(t), r = _t(t);\n if (s) {\n const a = (l) => {\n l.target === t && (e.apply(t, [l]), t.removeEventListener(D, a), n = 1);\n };\n t.addEventListener(D, a), setTimeout(() => {\n n || Q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ee = (t) => {\n const e = g(t, U), n = g(t, Qt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : (\n /* istanbul ignore next */\n 0\n );\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, ne = (t) => {\n const e = g(t, U), n = g(t, Rt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : (\n /* istanbul ignore next */\n 0\n );\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, Un = (t, e) => {\n let n = 0;\n const o = new Event(C), s = ne(t), r = ee(t);\n if (s) {\n const a = (l) => {\n l.target === t && (e.apply(t, [l]), t.removeEventListener(C, a), n = 1);\n };\n t.addEventListener(C, a), setTimeout(() => {\n n || Q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, Wn = (t) => Float32Array.from(Array.from(t)), Rn = (t) => Float64Array.from(Array.from(t)), Qn = (t, e) => t.focus(e), V = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, w = (t) => Object.entries(t), oe = (t) => t.toLowerCase(), jn = (t, e, n, o) => {\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, l = {}, p = \"title\";\n return w(r).forEach(([c, m]) => {\n const y = o && typeof c == \"string\" && c.includes(o) ? c.replace(o, \"\").replace(/[A-Z]/g, (j) => oe(j)) : c;\n l[y] = V(m);\n }), w(s).forEach(([c, m]) => {\n s[c] = V(m);\n }), w(e).forEach(([c, m]) => {\n c in s ? a[c] = s[c] : c in l ? a[c] = l[c] : a[c] = c === p ? Yt(t, p) : m;\n }), a;\n}, qn = (t, e) => v(t) && (Object.hasOwn(t, e) || e in t), Gn = (t) => Object.keys(t), Jn = (t) => Object.values(t), Kn = (t) => Object.fromEntries(t), Xn = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return v(e) && M(n, e), n;\n}, Yn = { passive: !0 }, Zn = (t) => t.offsetHeight, $n = (t, e) => {\n w(e).forEach(([n, o]) => {\n if (o && k(n) && n.includes(\"--\"))\n t.style.setProperty(n, o);\n else {\n const s = {};\n s[n] = o, M(t.style, s);\n }\n });\n}, I = (t) => v(t) && t.constructor.name === \"Map\" || !1, se = (t) => typeof t == \"number\" || !1, f = /* @__PURE__ */ new Map(), _n = {\n /**\n * Sets a new timeout timer for an element, or element -> key association.\n *\n * @param element target element\n * @param callback the callback\n * @param delay the execution delay\n * @param key a unique key\n */\n set: (t, e, n, o) => {\n u(t) && (o && o.length ? (f.has(t) || f.set(t, /* @__PURE__ */ new Map()), f.get(t).set(o, setTimeout(e, n))) : f.set(t, setTimeout(e, n)));\n },\n /**\n * Returns the timer associated with the target.\n *\n * @param element target element\n * @param key a unique\n * @returns the timer\n */\n get: (t, e) => {\n if (!u(t)) return null;\n const n = f.get(t);\n return e && n && I(n) ? n.get(e) || /* istanbul ignore next */\n null : se(n) ? n : null;\n },\n /**\n * Clears the element's timer.\n *\n * @param element target element\n * @param key a unique key\n */\n clear: (t, e) => {\n if (!u(t)) return;\n const n = f.get(t);\n e && e.length && I(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && f.delete(t)) : (clearTimeout(n), f.delete(t));\n }\n}, to = (t) => t.toUpperCase(), h = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: l } = t.getBoundingClientRect();\n let p = 1, c = 1;\n if (e && u(t)) {\n const { offsetWidth: m, offsetHeight: y } = t;\n p = m > 0 ? Math.round(n) / m : (\n /* istanbul ignore next */\n 1\n ), c = y > 0 ? Math.round(o) / y : (\n /* istanbul ignore next */\n 1\n );\n }\n return {\n width: n / p,\n height: o / c,\n top: s / c,\n right: r / p,\n bottom: a / c,\n left: l / p,\n x: l / p,\n y: s / c\n };\n}, eo = (t) => d(t).body, T = (t) => d(t).documentElement, no = (t) => d(t).head, oo = (t) => {\n const e = W(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, ce = (t) => i(t) && t.constructor.name === \"ShadowRoot\" || !1, so = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || // step into the shadow DOM of the parent of a slotted node\ni(t) && t.parentNode || // DOM Element detected\nce(t) && t.host || // ShadowRoot detected\nT(t), re = (t) => {\n if (!u(t)) return !1;\n const { width: e, height: n } = h(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, co = (t, e, n) => {\n const o = u(e), s = h(t, o && re(e)), r = { x: 0, y: 0 };\n if (o) {\n const a = h(e, !0);\n r.x = a.x + e.clientLeft, r.y = a.y + e.clientTop;\n }\n return {\n x: s.left + n.x - r.x,\n y: s.top + n.y - r.y,\n width: s.width,\n height: s.height\n };\n};\nlet B = 0, H = 0;\nconst b = /* @__PURE__ */ new Map(), ae = (t, e) => {\n let n = e ? B : H;\n if (e) {\n const o = ae(t), s = b.get(o) || /* @__PURE__ */ new Map();\n b.has(o) || b.set(o, s), I(s) && !s.has(e) ? (s.set(e, n), B += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n b.has(o) ? n = b.get(o) : (b.set(o, n), H += 1);\n }\n return n;\n}, ro = (t) => {\n var e;\n return t ? R(t) ? t.defaultView : i(t) ? (e = t == null ? void 0 : t.ownerDocument) == null ? void 0 : e.defaultView : t : window;\n}, ie = (t) => Array.isArray(t) || !1, ao = (t) => i(t) && t.nodeName === \"CANVAS\" || !1, ue = (t) => u(t) && !!t.shadowRoot || !1, io = (t) => i(t) && [1, 2, 3, 4, 5, 6, 7, 8].some((e) => t.nodeType === e) || !1, uo = (t) => {\n if (!i(t)) return !1;\n const { top: e, bottom: n } = h(t), { clientHeight: o } = T(t);\n return e <= o && n >= 0;\n}, lo = (t) => {\n if (!i(t)) return !1;\n const { clientWidth: e, clientHeight: n } = T(t), { top: o, left: s, bottom: r, right: a } = h(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, po = (t) => ie(t) && t.every(u) || !1, mo = (t) => typeof t == \"function\" || !1, fo = (t) => v(t) && t.constructor.name === \"HTMLCollection\" || !1, go = (t) => u(t) && t.tagName === \"IMG\" || !1, vo = (t) => {\n if (!k(t)) return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Eo = (t) => v(t) && t.constructor.name === \"WeakMap\" || !1, bo = (t) => i(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some((e) => t.constructor.name.includes(e)) || !1, ho = (t) => v(t) && t.constructor.name === \"NodeList\" || !1, yo = (t) => T(t).dir === \"rtl\", wo = (t) => i(t) && t.constructor.name.includes(\"SVG\") || !1, Ao = (t) => i(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, le = (t, e) => t ? t.closest(e) || // break out of `ShadowRoot`\nle(t.getRootNode().host, e) : null, So = (t, e) => u(t) ? t : (i(e) ? e : d()).querySelector(t), de = (t, e) => (i(e) ? e : d()).getElementsByTagName(t), No = (t) => [...de(\"*\", t)].filter(ue), ko = (t, e) => d(e).getElementById(t) || null, Mo = (t, e) => (i(e) ? e : d()).querySelectorAll(t), To = (t, e) => (e && i(e) ? e : d()).getElementsByClassName(\n t\n), Do = (t, e) => t.matches(e), Co = \"2.0.3\";\nexport {\n Bn as ArrayFrom,\n P as DOMContentLoadedEvent,\n Y as DOMMouseScrollEvent,\n L as Data,\n Wn as Float32ArrayFrom,\n Rn as Float64ArrayFrom,\n M as ObjectAssign,\n w as ObjectEntries,\n Kn as ObjectFromEntries,\n qn as ObjectHasOwn,\n Gn as ObjectKeys,\n Jn as ObjectValues,\n _n as Timer,\n q as abortEvent,\n Ln as addClass,\n rn as addEventListener,\n Wt as animationDelay,\n Ut as animationDuration,\n D as animationEndEvent,\n F as animationName,\n pe as ariaChecked,\n fe as ariaDescribedBy,\n me as ariaDescription,\n ge as ariaExpanded,\n ve as ariaHasPopup,\n Ee as ariaHidden,\n be as ariaLabel,\n he as ariaLabelledBy,\n ye as ariaModal,\n we as ariaPressed,\n Ae as ariaSelected,\n Ne as ariaValueMax,\n Se as ariaValueMin,\n ke as ariaValueNow,\n Me as ariaValueText,\n G as beforeunloadEvent,\n un as bezierEasings,\n J as blurEvent,\n K as changeEvent,\n le as closest,\n X as contextmenuEvent,\n Xn as createCustomEvent,\n Zt as createElement,\n $t as createElementNS,\n Q as dispatchEvent,\n Pn as distinct,\n xn as documentBody,\n Vn as documentElement,\n N as documentHead,\n De as dragEvent,\n ze as dragendEvent,\n Oe as dragenterEvent,\n Le as dragleaveEvent,\n Ie as dragoverEvent,\n Ce as dragstartEvent,\n Fn as emulateAnimationEnd,\n Un as emulateTransitionEnd,\n Z as errorEvent,\n Qn as focus,\n $ as focusEvent,\n Fe as focusEvents,\n _ as focusinEvent,\n tt as focusoutEvent,\n et as gesturechangeEvent,\n nt as gestureendEvent,\n ot as gesturestartEvent,\n Yt as getAttribute,\n Nn as getAttributeNS,\n h as getBoundingClientRect,\n No as getCustomElements,\n d as getDocument,\n eo as getDocumentBody,\n T as getDocumentElement,\n no as getDocumentHead,\n _t as getElementAnimationDelay,\n te as getElementAnimationDuration,\n ko as getElementById,\n g as getElementStyle,\n ee as getElementTransitionDelay,\n ne as getElementTransitionDuration,\n To as getElementsByClassName,\n de as getElementsByTagName,\n Hn as getInstance,\n oo as getNodeScroll,\n so as getParentNode,\n co as getRectRelativeToOffsetParent,\n ae as getUID,\n ro as getWindow,\n kn as hasAttribute,\n Mn as hasAttributeNS,\n zn as hasClass,\n vn as isApple,\n ie as isArray,\n ao as isCanvas,\n ue as isCustomElement,\n R as isDocument,\n io as isElement,\n uo as isElementInScrollRange,\n lo as isElementInViewport,\n po as isElementsArray,\n En as isFirefox,\n mo as isFunction,\n fo as isHTMLCollection,\n u as isHTMLElement,\n go as isHTMLImageElement,\n vo as isJSON,\n I as isMap,\n bo as isMedia,\n gn as isMobile,\n i as isNode,\n ho as isNodeList,\n se as isNumber,\n v as isObject,\n yo as isRTL,\n wo as isSVGElement,\n re as isScaledElement,\n ce as isShadowRoot,\n k as isString,\n Ao as isTableElement,\n Eo as isWeakMap,\n W as isWindow,\n We as keyAlt,\n Re as keyArrowDown,\n je as keyArrowLeft,\n qe as keyArrowRight,\n Qe as keyArrowUp,\n Ge as keyBackspace,\n Je as keyCapsLock,\n Ke as keyControl,\n Xe as keyDelete,\n Ye as keyEnter,\n $e as keyEscape,\n _e as keyInsert,\n tn as keyMeta,\n Ze as keyNumpadEnter,\n en as keyPause,\n nn as keyScrollLock,\n on as keyShift,\n sn as keySpace,\n cn as keyTab,\n Ue as keyboardEventKeys,\n st as keydownEvent,\n ct as keypressEvent,\n rt as keyupEvent,\n at as loadEvent,\n xe as loadstartEvent,\n Do as matches,\n Be as mouseClickEvents,\n He as mouseHoverEvents,\n Ve as mouseSwipeEvents,\n it as mouseclickEvent,\n ut as mousedblclickEvent,\n lt as mousedownEvent,\n mt as mouseenterEvent,\n pt as mousehoverEvent,\n gt as mouseinEvent,\n ft as mouseleaveEvent,\n bt as mousemoveEvent,\n vt as mouseoutEvent,\n Et as mouseoverEvent,\n dt as mouseupEvent,\n ht as mousewheelEvent,\n yt as moveEvent,\n Te as nativeEvents,\n Xt as noop,\n jn as normalizeOptions,\n V as normalizeValue,\n Jt as off,\n ln as offsetHeight,\n dn as offsetWidth,\n Gt as on,\n Kt as one,\n wt as orientationchangeEvent,\n Yn as passiveHandler,\n At as pointercancelEvent,\n St as pointerdownEvent,\n Nt as pointerleaveEvent,\n kt as pointermoveEvent,\n Mt as pointerupEvent,\n So as querySelector,\n Mo as querySelectorAll,\n Tt as readystatechangeEvent,\n Zn as reflow,\n Cn as removeAttribute,\n On as removeAttributeNS,\n In as removeClass,\n an as removeEventListener,\n Dt as resetEvent,\n Ct as resizeEvent,\n zt as scrollEvent,\n pn as scrollHeight,\n mn as scrollWidth,\n Ot as selectEvent,\n Lt as selectendEvent,\n It as selectstartEvent,\n Tn as setAttribute,\n Dn as setAttributeNS,\n $n as setElementStyle,\n xt as submitEvent,\n bn as support3DTransform,\n An as supportAnimation,\n hn as supportPassive,\n wn as supportTouch,\n yn as supportTransform,\n Sn as supportTransition,\n fn as tabindex,\n oe as toLowerCase,\n to as toUpperCase,\n Pe as touchEvents,\n Ht as touchcancelEvent,\n Pt as touchendEvent,\n Bt as touchmoveEvent,\n Vt as touchstartEvent,\n Qt as transitionDelay,\n Rt as transitionDuration,\n C as transitionEndEvent,\n U as transitionProperty,\n Ft as unloadEvent,\n S as userAgent,\n A as userAgentData,\n Co as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const e = {}, f = (t) => {\n const { type: c, currentTarget: i } = t;\n [...e[c]].forEach(([n, s]) => {\n i === n && [...s].forEach(([o, a]) => {\n o.apply(n, [t]), typeof a == \"object\" && a.once && r(n, c, o, a);\n });\n });\n}, E = (t, c, i, n) => {\n e[c] || (e[c] = /* @__PURE__ */ new Map());\n const s = e[c];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(t), { size: a } = o;\n o.set(i, n), a || t.addEventListener(c, f, n);\n}, r = (t, c, i, n) => {\n const s = e[c], o = s && s.get(t), a = o && o.get(i), d = a !== void 0 ? a : n;\n o && o.has(i) && o.delete(i), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[c], (!o || !o.size) && t.removeEventListener(\n c,\n f,\n d\n );\n}, g = E, M = r;\nexport {\n E as addListener,\n f as globalListener,\n M as off,\n g as on,\n e as registry,\n r as removeListener\n};\n//# sourceMappingURL=event-listener.mjs.map\n","/**\n * Global namespace for most components `fade` class.\n */\nconst fadeClass = 'fade';\nexport default fadeClass;\n","/**\n * Global namespace for most components `show` class.\n */\nconst showClass = 'show';\nexport default showClass;\n","/**\n * Global namespace for most components `dismiss` option.\n */\nconst dataBsDismiss = 'data-bs-dismiss';\nexport default dataBsDismiss;\n","/** @type {string} */\nconst alertString = 'alert';\nexport default alertString;\n","/** @type {string} */\nconst alertComponent = 'Alert';\nexport default alertComponent;\n","import { version } from '../package.json';\n\nconst Version = version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport { querySelector, normalizeOptions, Data, ObjectKeys, isString } from '@thednp/shorty';\n\nimport type { BaseOptions } from '../interface/baseComponent';\nimport Version from '../version';\n\n/** Returns a new `BaseComponent` instance. */\nexport default class BaseComponent {\n declare element: HTMLElement;\n declare options?: BaseOptions;\n\n /**\n * @param target `HTMLElement` or selector string\n * @param config component instance options\n */\n constructor(target: HTMLElement | string, config?: BaseOptions) {\n const element = querySelector(target);\n\n if (!element) {\n if (isString(target)) {\n throw Error(`${this.name} Error: \"${target}\" is not a valid selector.`);\n } else {\n throw Error(`${this.name} Error: your target is not an instance of HTMLElement.`);\n }\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else */\n if (prevInstance) {\n // remove previously attached event listeners\n // to avoid memory leaks\n prevInstance._toggleEventListeners();\n }\n\n this.element = element;\n this.options =\n this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, 'bs')\n : {};\n\n Data.set(element, this.name, this);\n }\n\n /* istanbul ignore next */\n get version() {\n return Version;\n }\n\n /* istanbul ignore next */\n get name() {\n return 'BaseComponent';\n }\n\n /* istanbul ignore next */\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n _toggleEventListeners = () => {\n // do something to please linters\n };\n\n /** Removes component from target element. */\n dispose() {\n Data.remove(this.element, this.name);\n ObjectKeys(this).forEach(prop => {\n delete this[prop];\n });\n }\n}\n","/* Native JavaScript for Bootstrap 5 | Alert\n-------------------------------------------- */\nimport {\n emulateTransitionEnd,\n mouseclickEvent,\n getInstance,\n querySelector,\n hasClass,\n removeClass,\n dispatchEvent,\n createCustomEvent,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport alertString from '../strings/alertString';\nimport alertComponent from '../strings/alertComponent';\nimport type { AlertEvent } from '../interface/alert';\n\nimport BaseComponent from './base-component';\n\n// ALERT PRIVATE GC\n// ================\nconst alertSelector = `.${alertString}`;\nconst alertDismissSelector = `[${dataBsDismiss}=\"${alertString}\"]`;\n\n/**\n * Static method which returns an existing `Alert` instance associated\n * to a target `Element`.\n *\n */\nconst getAlertInstance = (element: HTMLElement) => getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: HTMLElement) => new Alert(element) as T;\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent(`close.bs.${alertString}`);\nconst closedAlertEvent = createCustomEvent(`closed.bs.${alertString}`);\n\n// ALERT EVENT HANDLER\n// ===================\n/**\n * Alert `transitionend` callback.\n *\n * @param that target Alert instance\n */\nconst alertTransitionEnd = (self: Alert) => {\n const { element } = self;\n dispatchEvent(element, closedAlertEvent);\n\n self._toggleEventListeners();\n self.dispose();\n element.remove();\n};\n\n// ALERT DEFINITION\n// ================\n/** Creates a new Alert instance. */\nexport default class Alert extends BaseComponent {\n static selector = alertSelector;\n static init = alertInitCallback;\n static getInstance = getAlertInstance;\n dismiss: HTMLElement | null;\n\n constructor(target: HTMLElement | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(alertDismissSelector, this.element);\n\n // add event listener\n this._toggleEventListeners(true);\n }\n\n /** Returns component name string. */\n get name() {\n return alertComponent;\n }\n\n // ALERT PUBLIC METHODS\n // ====================\n /**\n * Public method that hides the `.alert` element from the user,\n * disposes the instance once animation is complete, then\n * removes the element from the DOM.\n */\n close = () => {\n const { element } = this;\n\n /* istanbul ignore else */\n if (element && hasClass(element, showClass)) {\n dispatchEvent(element, closeAlertEvent);\n\n if (!closeAlertEvent.defaultPrevented) {\n removeClass(element, showClass);\n\n if (hasClass(element, fadeClass)) {\n emulateTransitionEnd(element, () => alertTransitionEnd(this));\n } else alertTransitionEnd(this);\n }\n }\n };\n /**\n * Toggle on / off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { dismiss, close } = this;\n /* istanbul ignore else */\n if (dismiss) action(dismiss, mouseclickEvent, close);\n };\n\n /** Remove the component from target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/**\n * Global namespace for most components active class.\n */\nconst activeClass = 'active';\nexport default activeClass;\n","/**\n * Global namespace for most components `toggle` option.\n */\nconst dataBsToggle = 'data-bs-toggle';\nexport default dataBsToggle;\n","/** @type {string} */\nconst buttonString = 'button';\nexport default buttonString;\n","/** @type {string} */\nconst buttonComponent = 'Button';\nexport default buttonComponent;\n","/* Native JavaScript for Bootstrap 5 | Button\n---------------------------------------------*/\nimport {\n getInstance,\n removeClass,\n hasClass,\n addClass,\n setAttribute,\n mouseclickEvent,\n ariaPressed,\n getAttribute,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport buttonString from '../strings/buttonString';\nimport buttonComponent from '../strings/buttonComponent';\n\nimport BaseComponent from './base-component';\n\n// BUTTON PRIVATE GC\n// =================\nconst buttonSelector = `[${dataBsToggle}=\"${buttonString}\"]`;\n\n/**\n * Static method which returns an existing `Button` instance associated\n * to a target `Element`.\n */\nconst getButtonInstance = (element: HTMLElement) => getInstance',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n *\n */\nconst getPopoverInstance = (element: HTMLElement) => getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: HTMLElement) => new Popover(element);\n\n// POPOVER DEFINITION\n// ==================\n/** Returns a new `Popover` instance. */\nexport default class Popover extends Tooltip {\n static selector = popoverSelector;\n static init = popoverInitCallback;\n static getInstance = getPopoverInstance;\n static styleTip = styleTip;\n declare options: PopoverOptions;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return popoverComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return popoverDefaults;\n }\n\n /* extend original `show()` */\n show = () => {\n super.show();\n // btn only exists within dismissible popover\n const { options, btn } = this;\n /* istanbul ignore else */\n if (options.dismissible && btn) setTimeout(() => focus(btn), 17);\n };\n}\n","/** @type {string} */\nconst scrollspyString = 'scrollspy';\nexport default scrollspyString;\n","/** @type {string} */\nconst scrollspyComponent = 'ScrollSpy';\nexport default scrollspyComponent;\n","/* Native JavaScript for Bootstrap 5 | ScrollSpy\n------------------------------------------------ */\nimport {\n getDocumentBody,\n getDocumentElement,\n getDocument,\n getWindow,\n removeClass,\n hasClass,\n addClass,\n getElementsByTagName,\n getAttribute,\n querySelector,\n isHTMLElement,\n isWindow,\n createCustomEvent,\n getInstance,\n scrollEvent,\n passiveHandler,\n dispatchEvent,\n getBoundingClientRect,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport scrollspyString from '../strings/scrollspyString';\nimport scrollspyComponent from '../strings/scrollspyComponent';\n\nimport BaseComponent from './base-component';\nimport { ScrollSpyOptions, ScrollSpyEvent } from '../interface/scrollspy';\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: ScrollSpyOptions = {\n offset: 10,\n target: null,\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: HTMLElement) => getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: HTMLElement) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent(`activate.bs.${scrollspyString}`);\n\n// SCROLLSPY PRIVATE METHODS\n// =========================\n/**\n * Update the state of all items.\n *\n * @param self the `ScrollSpy` instance\n */\nconst updateSpyTargets = (self: ScrollSpy) => {\n const { target, scrollTarget, options, itemsLength, scrollHeight, element } = self;\n const { offset } = options;\n const isWin = isWindow(scrollTarget as Node | Window);\n\n const links = target && getElementsByTagName('A', target);\n const scrollHEIGHT = scrollTarget ? getScrollHeight(scrollTarget) : /* istanbul ignore next */ scrollHeight;\n\n self.scrollTop = isWin ? (scrollTarget as Window).scrollY : (scrollTarget as HTMLElement).scrollTop;\n\n // only update items/offsets once or with each mutation\n /* istanbul ignore else */\n if (links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)) {\n let href;\n let targetItem;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n [...links].forEach(link => {\n href = getAttribute(link, 'href');\n targetItem =\n href && href.charAt(0) === '#' && href.slice(-1) !== '#' && querySelector(href, getDocument(element));\n\n if (targetItem) {\n self.items.push(link);\n rect = getBoundingClientRect(targetItem);\n self.offsets.push((isWin ? rect.top + self.scrollTop : targetItem.offsetTop) - offset);\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Returns the `scrollHeight` property of the scrolling element.\n *\n * @param scrollTarget the `ScrollSpy` instance\n * @return `scrollTarget` height\n */\nconst getScrollHeight = (scrollTarget: Node | Window) => {\n return isHTMLElement(scrollTarget as Node)\n ? (scrollTarget as HTMLElement).scrollHeight\n : getDocumentElement(scrollTarget as Node).scrollHeight;\n};\n\n/**\n * Returns the height property of the scrolling element.\n *\n * @param params the `ScrollSpy` instance\n */\nconst getOffsetHeight = ({ element, scrollTarget }: ScrollSpy) => {\n return isWindow(scrollTarget as Node) ? (scrollTarget as Window).innerHeight : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: HTMLElement) => {\n [...getElementsByTagName('A', target)].forEach(item => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n });\n};\n\n/**\n * Activates a new item.\n *\n * @param self the `ScrollSpy` instance\n * @param item a single item\n */\nconst activate = (self: ScrollSpy, item: HTMLElement) => {\n const { target, element } = self;\n if (isHTMLElement(target)) clear(target);\n self.activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n const parents: HTMLElement[] = [];\n let parentItem = item;\n while (parentItem !== getDocumentBody(element)) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (hasClass(parentItem, 'nav') || hasClass(parentItem, 'dropdown-menu')) parents.push(parentItem);\n }\n\n parents.forEach(menuItem => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n /* istanbul ignore else */\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n });\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\n// SCROLLSPY DEFINITION\n// ====================\n/** Returns a new `ScrollSpy` instance. */\nexport default class ScrollSpy extends BaseComponent {\n static selector = scrollspySelector;\n static init = scrollspyInitCallback;\n static getInstance = getScrollSpyInstance;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement | Window;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // additional properties\n this.target = querySelector(options.target as HTMLElement | string, getDocument(element));\n\n // invalidate\n if (this.target) {\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight ? element : getWindow(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // add event handlers\n this._toggleEventListeners(true);\n\n this.refresh();\n }\n }\n\n /* eslint-disable */\n /**\n * Returns component name string.\n */\n get name() {\n return scrollspyComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return scrollspyDefaults;\n }\n /* eslint-enable */\n\n // SCROLLSPY PUBLIC METHODS\n // ========================\n /** Updates all items. */\n refresh = () => {\n const { target } = this;\n\n // check if target is visible and invalidate\n /* istanbul ignore else */\n if (isHTMLElement(target) && target.offsetHeight > 0) {\n updateSpyTargets(this);\n\n const { scrollTop, maxScroll, itemsLength, items, activeItem } = this;\n\n if (scrollTop >= maxScroll) {\n const newActiveItem = items[itemsLength - 1];\n\n /* istanbul ignore else */\n if (activeItem !== newActiveItem) {\n activate(this, newActiveItem);\n }\n return;\n }\n\n const { offsets } = this;\n\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n if (target) clear(target);\n return;\n }\n\n items.forEach((item, i) => {\n if (\n activeItem !== item &&\n scrollTop >= offsets[i] &&\n (typeof offsets[i + 1] === 'undefined' || scrollTop < offsets[i + 1])\n ) {\n activate(this, item);\n }\n });\n }\n };\n\n /**\n * Toggles on/off the component event listener.\n *\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.scrollTarget as EventTarget, scrollEvent, this.refresh, passiveHandler);\n };\n\n /** Removes `ScrollSpy` from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/** @type {string} */\nconst tabString = 'tab';\nexport default tabString;\n","/** @type {string} */\nconst tabComponent = 'Tab';\nexport default tabComponent;\n","/* Native JavaScript for Bootstrap 5 | Tab\n------------------------------------------ */\nimport {\n emulateTransitionEnd,\n dispatchEvent,\n removeClass,\n hasClass,\n addClass,\n querySelector,\n getElementsByClassName,\n closest,\n setAttribute,\n mouseclickEvent,\n createCustomEvent,\n Timer,\n getInstance,\n ariaSelected,\n reflow,\n isHTMLElement,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport collapsingClass from '../strings/collapsingClass';\nimport activeClass from '../strings/activeClass';\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dropdownClasses from '../strings/dropdownClasses';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport tabString from '../strings/tabString';\nimport tabComponent from '../strings/tabComponent';\n\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport type { /* TabOptions, */ TabEvent } from '../interface/tab';\n\n// TAB PRIVATE GC\n// ================\nconst tabSelector = `[${dataBsToggle}=\"${tabString}\"]`;\n\n/**\n * Static method which returns an existing `Tab` instance associated\n * to a target `Element`.\n */\nconst getTabInstance = (element: HTMLElement) => getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: HTMLElement) => new Tab(element);\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(`show.bs.${tabString}`);\nconst shownTabEvent = createCustomEvent(`shown.bs.${tabString}`);\nconst hideTabEvent = createCustomEvent(`hide.bs.${tabString}`);\nconst hiddenTabEvent = createCustomEvent(`hidden.bs.${tabString}`);\n\ninterface TabPrivate {\n tab: HTMLElement | null;\n content: HTMLElement | null;\n currentHeight: number;\n nextHeight: number;\n}\n\n/**\n * Stores the current active tab and its content\n * for a given `.nav` element.\n */\nconst tabPrivate: Map = new Map();\n\n// TAB PRIVATE METHODS\n// ===================\n/**\n * Executes after tab transition has finished.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabEnd = (self: Tab) => {\n const { tabContent, nav } = self;\n\n /* istanbul ignore else */\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = '';\n removeClass(tabContent, collapsingClass);\n }\n\n /* istanbul ignore else */\n if (nav) Timer.clear(nav);\n};\n\n/**\n * Executes before showing the tab content.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabShow = (self: Tab) => {\n const { element, tabContent, content: nextContent, nav } = self;\n const { tab } = (isHTMLElement(nav) && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null };\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) || /* istanbul ignore next */ {\n currentHeight: 0,\n nextHeight: 0,\n };\n if (currentHeight === nextHeight) {\n triggerTabEnd(self);\n } else {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n }\n } else if (nav) Timer.clear(nav);\n\n shownTabEvent.relatedTarget = tab as HTMLElement | undefined;\n\n dispatchEvent(element, shownTabEvent);\n};\n\n/**\n * Executes before hiding the tab.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabHide = (self: Tab) => {\n const { element, content: nextContent, tabContent, nav } = self;\n const { tab, content } = (nav && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null, content: null };\n let currentHeight = 0;\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach(c => {\n if (isHTMLElement(c)) addClass(c, 'overflow-hidden');\n });\n currentHeight = isHTMLElement(content) ? content.scrollHeight : /* istanbul ignore next */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element;\n dispatchEvent(element, showTabEvent);\n\n if (!showTabEvent.defaultPrevented) {\n if (nextContent) addClass(nextContent, activeClass);\n if (content) removeClass(content, activeClass);\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, { currentHeight, nextHeight, tab: null, content: null });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach(c => {\n if (c) removeClass(c, 'overflow-hidden');\n });\n }\n\n if (nextContent && nextContent && hasClass(nextContent, fadeClass)) {\n setTimeout(() => {\n addClass(nextContent, showClass);\n emulateTransitionEnd(nextContent, () => {\n triggerTabShow(self);\n });\n }, 1);\n } else {\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n if (tab) dispatchEvent(tab, hiddenTabEvent);\n }\n};\n\n/**\n * Returns the current active tab and its target content.\n *\n * @param self the `Tab` instance\n * @returns the query result\n */\nconst getActiveTab = (self: Tab): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n /* istanbul ignore next */\n if (!isHTMLElement(nav as HTMLElement | undefined)) return { tab: null, content: null };\n\n const activeTabs = getElementsByClassName(activeClass, nav as HTMLElement);\n let tab: HTMLElement | null = null;\n /* istanbul ignore else */\n if (activeTabs.length === 1 && !dropdownClasses.some(c => hasClass(activeTabs[0].parentElement as HTMLElement, c))) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab as HTMLElement) ? getTargetElement(tab as HTMLElement) : null;\n return { tab, content };\n};\n\n/**\n * Returns a parent dropdown.\n *\n * @param element the `Tab` element\n * @returns the parent dropdown\n */\nconst getParentDropdown = (element?: HTMLElement): HTMLElement | null => {\n /* istanbul ignore next */\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(',.')}`);\n return dropdown ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown) : null;\n};\n\n// TAB EVENT HANDLER\n// =================\n/**\n * Handles the `click` event listener.\n *\n * @param e the `Event` object\n */\nconst tabClickHandler = (e: Event) => {\n const self = getTabInstance(e.target as HTMLElement);\n\n /* istanbul ignore else */\n if (self) {\n e.preventDefault();\n self.show();\n }\n};\n\n// TAB DEFINITION\n// ==============\n/** Creates a new `Tab` instance. */\nexport default class Tab extends BaseComponent {\n static selector = tabSelector;\n static init = tabInitCallback;\n static getInstance = getTabInstance;\n declare nav: HTMLElement | null;\n declare content: HTMLElement | null;\n declare tabContent: HTMLElement | null;\n declare nextContent: HTMLElement | null;\n declare dropdown: HTMLElement | null;\n\n /** @param target the target element */\n constructor(target: HTMLElement | string) {\n super(target);\n\n // initialization element\n const { element } = this;\n const content = getTargetElement(element);\n\n // no point initializing a tab without a corresponding content\n /* istanbul ignore else */\n if (content) {\n const nav = closest(element, '.nav');\n const container = closest(content, '.tab-content');\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element);\n\n // show first Tab instance of none is shown\n // suggested on #432\n const { tab } = getActiveTab(this);\n if (nav && !tab) {\n const firstTab = querySelector(tabSelector, nav);\n const firstTabContent = firstTab && getTargetElement(firstTab);\n\n /* istanbul ignore else */\n if (firstTabContent) {\n addClass(firstTab, activeClass);\n addClass(firstTabContent, showClass);\n addClass(firstTabContent, activeClass);\n setAttribute(element, ariaSelected, 'true');\n }\n }\n\n // add event listener\n this._toggleEventListeners(true);\n }\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return tabComponent;\n }\n\n // TAB PUBLIC METHODS\n // ==================\n /** Shows the tab to the user. */\n show() {\n const { element, content: nextContent, nav, dropdown } = this;\n\n /* istanbul ignore else */\n if (!(nav && Timer.get(nav)) && !hasClass(element, activeClass)) {\n const { tab, content } = getActiveTab(this);\n\n /* istanbul ignore else */\n if (nav) tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element;\n\n /* istanbul ignore else */\n if (isHTMLElement(tab)) {\n dispatchEvent(tab as EventTarget, hideTabEvent);\n /* istanbul ignore else */\n if (!hideTabEvent.defaultPrevented) {\n addClass(element, activeClass);\n setAttribute(element, ariaSelected, 'true');\n\n const activeDropdown = isHTMLElement(tab) && getParentDropdown(tab);\n if (activeDropdown && hasClass(activeDropdown, activeClass)) {\n removeClass(activeDropdown, activeClass);\n }\n\n /* istanbul ignore else */\n if (nav) {\n const toggleTab = () => {\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, 'false');\n }\n if (dropdown && !hasClass(dropdown, activeClass)) addClass(dropdown, activeClass);\n };\n\n if (content && (hasClass(content, fadeClass) || (nextContent && hasClass(nextContent, fadeClass)))) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n if (content) {\n removeClass(content, showClass);\n if (hasClass(content, fadeClass)) {\n emulateTransitionEnd(content, () => triggerTabHide(this));\n } else {\n triggerTabHide(this);\n }\n }\n }\n }\n }\n }\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.element, mouseclickEvent, tabClickHandler);\n };\n\n /** Removes the `Tab` component from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/** @type {string} */\nconst toastString = 'toast';\nexport default toastString;\n","/** @type {string} */\nconst toastComponent = 'Toast';\nexport default toastComponent;\n","/* Native JavaScript for Bootstrap 5 | Toast\n-------------------------------------------- */\nimport {\n mouseclickEvent,\n closest,\n removeClass,\n hasClass,\n addClass,\n focusoutEvent,\n focusinEvent,\n mouseleaveEvent,\n mouseenterEvent,\n createCustomEvent,\n getDocument,\n Timer,\n getInstance,\n reflow,\n emulateTransitionEnd,\n dispatchEvent,\n querySelectorAll,\n querySelector,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport toastString from '../strings/toastString';\nimport toastComponent from '../strings/toastComponent';\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport { ToastOptions, ToastEvent } from '../interface/toast';\n\n// TOAST PRIVATE GC\n// ================\nconst toastSelector = `.${toastString}`;\nconst toastDismissSelector = `[${dataBsDismiss}=\"${toastString}\"]`;\nconst toastToggleSelector = `[${dataBsToggle}=\"${toastString}\"]`;\nconst showingClass = 'showing';\n/** @deprecated */\nconst hideClass = 'hide';\n\nconst toastDefaults = {\n animation: true,\n autohide: true,\n delay: 5000,\n};\n\n/**\n * Static method which returns an existing `Toast` instance associated\n * to a target `Element`.\n */\nconst getToastInstance = (element: HTMLElement) => getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: HTMLElement) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent(`show.bs.${toastString}`);\nconst shownToastEvent = createCustomEvent(`shown.bs.${toastString}`);\nconst hideToastEvent = createCustomEvent(`hide.bs.${toastString}`);\nconst hiddenToastEvent = createCustomEvent(`hidden.bs.${toastString}`);\n\n// TOAST PRIVATE METHODS\n// =====================\n/**\n * Executes after the toast is shown to the user.\n *\n * @param self the `Toast` instance\n */\nconst showToastComplete = (self: Toast) => {\n const { element, options } = self;\n removeClass(element, showingClass);\n Timer.clear(element, showingClass);\n\n dispatchEvent(element, shownToastEvent);\n /* istanbul ignore else */\n if (options.autohide) {\n Timer.set(element, () => self.hide(), options.delay, toastString);\n }\n};\n\n/**\n * Executes after the toast is hidden to the user.\n *\n * @param self the `Toast` instance\n */\nconst hideToastComplete = (self: Toast) => {\n const { element } = self;\n removeClass(element, showingClass);\n removeClass(element, showClass);\n addClass(element, hideClass); // B/C\n Timer.clear(element, toastString);\n dispatchEvent(element, hiddenToastEvent);\n};\n\n/**\n * Executes before hiding the toast.\n *\n * @param self the `Toast` instance\n */\nconst hideToast = (self: Toast) => {\n const { element, options } = self;\n addClass(element, showingClass);\n\n if (options.animation) {\n reflow(element);\n emulateTransitionEnd(element, () => hideToastComplete(self));\n } else {\n hideToastComplete(self);\n }\n};\n\n/**\n * Executes before showing the toast.\n *\n * @param self the `Toast` instance\n */\nconst showToast = (self: Toast) => {\n const { element, options } = self;\n Timer.set(\n element,\n () => {\n removeClass(element, hideClass); // B/C\n reflow(element);\n addClass(element, showClass);\n addClass(element, showingClass);\n\n if (options.animation) {\n emulateTransitionEnd(element, () => showToastComplete(self));\n } else {\n showToastComplete(self);\n }\n },\n 17,\n showingClass,\n );\n};\n\n// TOAST EVENT HANDLERS\n// ====================\n/**\n * Executes after the instance has been disposed.\n *\n * @param {Toast} self the `Toast` instance\n */\nconst completeDisposeToast = (self: Toast) => {\n Timer.clear(self.element, toastString);\n self._toggleEventListeners();\n};\n\n/**\n * Handles the `click` event listener for toast.\n *\n * @param e the `Event` object\n */\nconst toastClickHandler = (e: Event) => {\n const { target } = e;\n\n const trigger = target && closest(target as HTMLElement, toastToggleSelector);\n const element = trigger && getTargetElement(trigger);\n const self = element && getToastInstance(element);\n\n /* istanbul ignore else */\n if (self) {\n /* istanbul ignore else */\n if (trigger && trigger.tagName === 'A') e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\n }\n};\n\n/**\n * Executes when user interacts with the toast without closing it,\n * usually by hovering or focusing it.\n *\n * @param e the `Toast` instance\n */\nconst interactiveToastHandler = (e: MouseEvent) => {\n const element = e.target as HTMLElement;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n /* istanbul ignore else: a solid filter is required */\n if (self && element !== relatedTarget && !element.contains(relatedTarget as Node)) {\n if ([mouseenterEvent, focusinEvent].includes(type)) {\n Timer.clear(element, toastString);\n } else {\n Timer.set(element, () => self.hide(), self.options.delay, toastString);\n }\n }\n};\n\n// TOAST DEFINITION\n// ================\n/** Creates a new `Toast` instance. */\nexport default class Toast extends BaseComponent {\n static selector = toastSelector;\n static init = toastInitCallback;\n static getInstance = getToastInstance;\n declare options: ToastOptions;\n declare dismiss: HTMLElement | null;\n declare triggers: HTMLElement[];\n declare relatedTarget: HTMLElement | null;\n\n /**\n * @param target the target `.toast` element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n const { element, options } = this;\n\n // set fadeClass, the options.animation will override the markup\n if (options.animation && !hasClass(element, fadeClass)) addClass(element, fadeClass);\n else if (!options.animation && hasClass(element, fadeClass)) removeClass(element, fadeClass);\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [...querySelectorAll(toastToggleSelector, getDocument(element))].filter(\n btn => getTargetElement(btn) === element,\n );\n\n // add event listener\n this._toggleEventListeners(true);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return toastComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return toastDefaults;\n }\n /**\n * Returns *true* when toast is visible.\n */\n get isShown() {\n return hasClass(this.element, showClass);\n }\n\n // TOAST PUBLIC METHODS\n // ====================\n /** Shows the toast. */\n show = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && !isShown) {\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) {\n showToast(this);\n }\n }\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && isShown) {\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) {\n hideToast(this);\n }\n }\n };\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, it will add the listener\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element, triggers, dismiss, options, hide } = this;\n\n /* istanbul ignore else */\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n /* istanbul ignore else */\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(e =>\n action(element, e, interactiveToastHandler),\n );\n }\n /* istanbul ignore else */\n if (triggers.length) {\n triggers.forEach(btn => action(btn, mouseclickEvent, toastClickHandler));\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (isShown) {\n removeClass(element, showClass);\n }\n\n completeDisposeToast(this);\n\n super.dispose();\n }\n}\n","import { Data, getElementsByTagName, matches } from '@thednp/shorty';\n\nimport { addListener } from '@thednp/event-listener';\n\nimport Alert from '../components/alert';\nimport Button from '../components/button';\nimport Carousel from '../components/carousel';\nimport Collapse from '../components/collapse';\nimport Dropdown from '../components/dropdown';\nimport Modal from '../components/modal';\nimport Offcanvas from '../components/offcanvas';\nimport Popover from '../components/popover';\nimport ScrollSpy from '../components/scrollspy';\nimport Tab from '../components/tab';\nimport Toast from '../components/toast';\nimport Tooltip from '../components/tooltip';\n\nconst componentsList = new Map<\n string,\n | typeof Alert\n | typeof Button\n | typeof Carousel\n | typeof Collapse\n | typeof Dropdown\n | typeof Modal\n | typeof Offcanvas\n | typeof Popover\n | typeof ScrollSpy\n | typeof Tab\n | typeof Toast\n | typeof Tooltip\n>();\n\n[Alert, Button, Carousel, Collapse, Dropdown, Modal, Offcanvas, Popover, ScrollSpy, Tab, Toast, Tooltip].forEach(c =>\n componentsList.set(c.prototype.name, c),\n);\n\n/**\n * Initialize all matched `Element`s for one component.\n *\n * @param callback\n * @param collection\n */\nconst initComponentDataAPI = (\n callback: (el: HTMLElement, ops?: Record) => T,\n collection: HTMLCollectionOf | HTMLElement[],\n) => {\n [...collection].forEach(x => callback(x));\n};\n\n/**\n * Remove one component from a target container element or all in the page.\n *\n * @param component the component name\n * @param context parent `Node`\n */\nconst removeComponentDataAPI = (component: string, context: ParentNode) => {\n const compData = Data.getAllFor(component) as Map;\n\n if (compData) {\n [...compData].forEach(([element, instance]) => {\n if (context.contains(element)) (instance as T & { dispose: () => void }).dispose();\n });\n }\n};\n\n/**\n * Initialize all BSN components for a target container.\n *\n * @param context parent `Node`\n */\nexport const initCallback = (context?: ParentNode) => {\n const lookUp = context && context.nodeName ? context : document;\n const elemCollection = [...getElementsByTagName('*', lookUp)];\n\n componentsList.forEach(cs => {\n const { init, selector } = cs;\n initComponentDataAPI(\n init,\n elemCollection.filter(item => matches(item, selector)),\n );\n });\n};\n\n/**\n * Remove all BSN components for a target container.\n *\n * @param context parent `Node`\n */\nexport const removeDataAPI = (context?: ParentNode) => {\n const lookUp = context && context.nodeName ? context : document;\n\n componentsList.forEach(comp => {\n removeComponentDataAPI(comp.prototype.name, lookUp);\n });\n};\n\n// Bulk initialize all components\nif (document.body) initCallback();\nelse {\n addListener(document, 'DOMContentLoaded', () => initCallback(), { once: true });\n}\n"],"names":["fe","ge","Ee","ye","we","Ae","P","$","_","tt","st","rt","it","lt","pt","mt","ft","St","kt","Mt","Ct","zt","Vt","Ce","Re","Qe","je","qe","$e","Rt","Qt","C","U","jt","A","qt","S","z","x","vn","N","Gt","e","n","o","s","Jt","Kt","r","Xt","Yt","kn","Tn","Cn","Ln","In","zn","v","i","u","E","L","Hn","k","W","R","d","M","Zt","Q","g","ee","ne","Un","a","l","Qn","V","w","oe","jn","p","c","m","y","j","Gn","Xn","Yn","Zn","$n","I","se","f","_n","h","eo","T","ce","so","B","H","b","ae","ro","ie","uo","mo","ho","yo","Ao","le","So","de","Mo","To","Do","fadeClass","showClass","dataBsDismiss","alertString","alertComponent","Version","BaseComponent","target","config","__publicField","element","querySelector","isString","prevInstance","Data","ObjectKeys","normalizeOptions","prop","alertSelector","alertDismissSelector","getAlertInstance","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","hasClass","removeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent","activeClass","dataBsToggle","buttonString","buttonComponent","buttonSelector","getButtonInstance","buttonInitCallback","Button","isActive","getAttribute","addClass","setAttribute","ariaPressed","dataBsTarget","carouselString","carouselComponent","dataBsParent","dataBsContainer","getTargetElement","targetAttr","doc","getDocument","att","attValue","closest","carouselSelector","carouselItem","dataBsSlideTo","dataBsSlide","pausedClass","carouselDefaults","getCarouselInstance","carouselInitCallback","Carousel","startX","currentX","endX","carouselSlideEvent","carouselSlidEvent","carouselTransitionEndHandler","index","direction","slides","options","activeItem","getActiveIndex","orientation","directionClass","Timer","carouselPauseHandler","carouselResumeHandler","carouselIndicatorHandler","newIndex","carouselControlsHandler","carouselKeyHandler","code","querySelectorAll","isElementInScrollRange","RTL","isRTL","keyArrowRight","keyArrowLeft","carouselDragHandler","carouselPointerDownHandler","controls","indicators","el","toggleCarouselTouchHandlers","carouselPointerMoveHandler","carouselPointerUpHandler","_a","activateCarouselIndicator","pointermoveEvent","passiveHandler","pointerupEvent","isHTMLElement","touch","pause","interval","keyboard","mouseenterEvent","mouseleaveEvent","pointerdownEvent","touchstartEvent","dragstartEvent","arrow","indicator","keydownEvent","getElementsByClassName","activeIndex","transitionItem","matches","ar","isPaused","idx","next","eventProperties","ObjectAssign","getElementTransitionDuration","reflow","isAnimating","clone","collapsingClass","collapseString","collapseComponent","collapseSelector","collapseToggleSelector","collapseDefaults","getCollapseInstance","collapseInitCallback","Collapse","showCollapseEvent","shownCollapseEvent","hideCollapseEvent","hiddenCollapseEvent","expandCollapse","parent","triggers","noop","setElementStyle","btn","ariaExpanded","collapseContent","collapseClickHandler","trigger","activeCollapse","activeCollapseInstance","dropdownMenuClasses","dropdownComponent","dropdownMenuClass","isEmptyAnchor","parentAnchor","hasAttribute","dropdownString","dropupString","dropstartString","dropendString","dropdownClasses","dropdownSelector","getDropdownInstance","dropdownInitCallback","Dropdown","dropdownMenuEndClass","verticalClass","horizontalClass","menuFocusTags","dropdownDefaults","showDropdownEvent","shownDropdownEvent","hideDropdownEvent","hiddenDropdownEvent","updatedDropdownEvent","styleDropdown","menu","parentElement","offset","getElementStyle","menuEnd","style","positionClass","dropdownMargin","dropdownPosition","menuWidth","menuHeight","clientWidth","clientHeight","getDocumentElement","targetLeft","targetTop","targetWidth","targetHeight","getBoundingClientRect","leftFullExceed","rightFullExceed","bottomExceed","bottomFullExceed","topExceed","leftExceed","rightExceed","posAjust","margins","getMenuItems","firstElementChild","toggleDropdownDismiss","dropdownDismissHandler","focusEvent","dropdownPreventScroll","keyupEvent","dropdownKeyHandler","scrollEvent","resizeEvent","ev","getWindow","dropdownLayoutHandler","getCurrentOpenDropdown","currentParent","type","isForm","mousedownEvent","dropdownClickHandler","keyArrowDown","keyArrowUp","activeElement","open","menuItems","focus","keyEscape","currentElement","currentInstance","modalString","modalComponent","offcanvasComponent","fixedTopClass","fixedBottomClass","stickyTopClass","positionStickyClass","getFixedItems","resetScrollbar","bd","getDocumentBody","fixedItems","fixed","measureScrollbar","innerWidth","setScrollbar","overflow","bodyPad","sbWidth","itemPadValue","itemMValue","offcanvasString","popupContainer","createElement","appendPopup","customContainer","containerIsBody","isNode","lookup","BODY","removePopup","hasPopup","backdropString","modalBackdropClass","offcanvasBackdropClass","modalActiveSelector","offcanvasActiveSelector","overlay","getCurrentOpen","toggleOverlayType","isModal","targetClass","appendOverlay","hasFade","showOverlay","hideOverlay","removeOverlay","isVisible","modalSelector","modalToggleSelector","modalDismissSelector","modalStaticClass","modalDefaults","getModalInstance","modalInitCallback","Modal","showModalEvent","shownModalEvent","hideModalEvent","hiddenModalEvent","setModalScrollbar","scrollbarWidth","scrollHeight","modalHeight","modalScrollHeight","modalOverflow","pad","padStyle","toggleModalDismiss","update","modalDismissHandler","modalKeyHandler","afterModalHide","relatedTarget","focusElement","afterModalShow","beforeModalShow","removeAttribute","ariaHidden","ariaModal","beforeModalHide","modalClickHandler","currentTarget","isStatic","modalDialog","backdrop","selectedText","targetInsideDialog","staticTransitionEnd","duration","overlayDelay","currentOpen","that","callback","offcanvasSelector","offcanvasToggleSelector","offcanvasDismissSelector","offcanvasTogglingClass","offcanvasDefaults","getOffcanvasInstance","offcanvasInitCallback","Offcanvas","showOffcanvasEvent","shownOffcanvasEvent","hideOffcanvasEvent","hiddenOffcanvasEvent","setOffCanvasScrollbar","toggleOffCanvasDismiss","offcanvasKeyDismissHandler","offcanvasDismissHandler","beforeOffcanvasShow","showOffcanvasComplete","beforeOffcanvasHide","hideOffcanvasComplete","offcanvasTriggerHandler","offCanvasDismiss","selection","visibleTrigger","delay","popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","body","tipClassPositions","styleTip","tipClasses","tooltip","container","tipPositions","isPopover","tipWidth","tipHeight","htmlcw","htmlch","htmlow","placement","parentCWidth","parentOWidth","fixedParent","leftBoundry","rightBoundry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","topPosition","bottomPosition","leftPosition","rightPosition","arrowTop","arrowLeft","arrowRight","arrowWidth","arrowHeight","arrowAdjust","horizontals","verticals","updatedTooltipEvent","toLowerCase","tooltipDefaults","dataOriginalTitle","tooltipComponent","setHtml","content","sanitizeFn","dirty","isFunction","tempDocument","isNodeList","isArray","createTip","id","title","template","animation","customClass","dismissible","btnClose","tipString","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","tooltipHeader","tooltipBody","tempTitle","tempContent","tempBtn","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","tooltipSelector","titleAttr","getTooltipInstance","tooltipInitCallback","Tooltip","removeTooltip","offsetParent","ariaDescribedBy","hasTip","disposeTooltipComplete","toggleTooltipTitle","toggleTooltipAction","tooltipShownAction","shownTooltipEvent","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","offsetHeight","parentModal","parentOffcanvas","win","scrollTarget","titleAtt","tr","mousehoverEvent","focusinEvent","focusoutEvent","isApple","tipComponent","elem","getUID","position","outTimer","tipContainer","showTooltipEvent","hideTooltipEvent","enabled","popoverSelector","popoverDefaults","getPopoverInstance","popoverInitCallback","Popover","scrollspyString","scrollspyComponent","scrollspySelector","scrollspyDefaults","getScrollSpyInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","updateSpyTargets","itemsLength","isWin","isWindow","links","getElementsByTagName","scrollHEIGHT","getScrollHeight","href","targetItem","rect","getOffsetHeight","link","clear","item","activate","parents","parentItem","menuItem","parentLink","scrollTop","maxScroll","items","newActiveItem","offsets","tabString","tabComponent","tabSelector","getTabInstance","tabInitCallback","Tab","showTabEvent","shownTabEvent","hideTabEvent","hiddenTabEvent","tabPrivate","triggerTabEnd","tabContent","nav","triggerTabShow","nextContent","tab","currentHeight","nextHeight","triggerTabHide","getActiveTab","activeTabs","getParentDropdown","dropdown","tabClickHandler","firstTab","firstTabContent","ariaSelected","activeDropdown","toggleTab","toastString","toastComponent","toastSelector","toastDismissSelector","toastToggleSelector","showingClass","hideClass","toastDefaults","getToastInstance","toastInitCallback","Toast","showToastEvent","shownToastEvent","hideToastEvent","hiddenToastEvent","showToastComplete","hideToastComplete","hideToast","showToast","completeDisposeToast","toastClickHandler","interactiveToastHandler","isShown","hide","componentsList","initComponentDataAPI","collection","removeComponentDataAPI","component","context","compData","instance","initCallback","lookUp","elemCollection","cs","init","selector","removeDataAPI","comp"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/dist/bootstrap-native.mjs b/dist/bootstrap-native.mjs index 565d88e7..5c77f99b 100644 --- a/dist/bootstrap-native.mjs +++ b/dist/bootstrap-native.mjs @@ -1,6 +1,6 @@ var Bo = Object.defineProperty; var Ro = (t, s, e) => s in t ? Bo(t, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[s] = e; -var d = (t, s, e) => (Ro(t, typeof s != "symbol" ? s + "" : s, e), e); +var d = (t, s, e) => Ro(t, typeof s != "symbol" ? s + "" : s, e); const Nn = "aria-describedby", De = "aria-expanded", ke = "aria-hidden", Ne = "aria-modal", Ns = "aria-pressed", Qe = "aria-selected", Wo = "DOMContentLoaded", ws = "focus", Es = "focusin", On = "focusout", Oe = "keydown", Fo = "keyup", N = "click", Mn = "mousedown", jo = "hover", Me = "mouseenter", $s = "mouseleave", zo = "pointerdown", Vo = "pointermove", Ko = "pointerup", _e = "resize", Be = "scroll", Ts = "touchstart", Xo = "dragstart", as = "ArrowDown", rs = "ArrowUp", Os = "ArrowLeft", Ms = "ArrowRight", ys = "Escape", Yo = "transitionDuration", Uo = "transitionDelay", Ze = "transitionend", _n = "transitionProperty", qo = navigator.userAgentData, Ae = qo, { userAgent: Qo } = navigator, Le = Qo, _s = /iPhone|iPad|iPod|Android/i; Ae ? Ae.brands.some((t) => _s.test(t.brand)) : _s.test(Le); const Bs = /(iPhone|iPod|iPad)/, Zo = Ae ? Ae.brands.some((t) => Bs.test(t.brand)) : ( @@ -68,8 +68,7 @@ const it = (t, s) => t.getAttribute(s), Ie = (t, s) => t.hasAttribute(s), O = (t * @returns the instance */ get: (t, s) => { - if (!y(t) || !s) - return null; + if (!y(t) || !s) return null; const e = At.getAllFor(s); return t && e && e.get(t) || null; }, @@ -84,13 +83,11 @@ const it = (t, s) => t.getAttribute(s), Ie = (t, s) => t.hasAttribute(s), O = (t !e || !y(t) || (e.delete(t), e.size === 0 && Ft.delete(s)); } }, F = (t, s) => At.get(t, s), be = (t) => typeof t == "string" || !1, Cs = (t) => ve(t) && t.constructor.name === "Window" || !1, Bn = (t) => L(t) && t.nodeType === 9 || !1, E = (t) => Cs(t) ? t.document : Bn(t) ? t : L(t) ? t.ownerDocument : window.document, dt = (t, ...s) => Object.assign(t, ...s), $t = (t) => { - if (!t) - return; + if (!t) return; if (be(t)) return E().createElement(t); const { tagName: s } = t, e = $t(s); - if (!e) - return; + if (!e) return; const n = { ...t }; return delete n.tagName, dt(e, n); }, w = (t, s) => t.dispatchEvent(s), V = (t, s) => { @@ -135,7 +132,7 @@ const it = (t, s) => t.getAttribute(s), Ie = (t, s) => t.hasAttribute(s), O = (t }, ht = (t, s) => t.focus(s), Rs = (t) => ["true", !0].includes(t) ? !0 : ["false", !1].includes(t) ? !1 : ["null", "", null, void 0].includes(t) ? null : t !== "" && !Number.isNaN(+t) ? +t : t, Ce = (t) => Object.entries(t), Xt = (t) => t.toLowerCase(), si = (t, s, e, n) => { const o = { ...e }, i = { ...t.dataset }, c = { ...s }, a = {}, l = "title"; return Ce(i).forEach(([r, f]) => { - const p = n && typeof r == "string" && r.includes(n) ? r.replace(n, "").replace(/[A-Z]/g, (v) => Xt(v)) : r; + const p = typeof r == "string" && r.includes(n) ? r.replace(n, "").replace(/[A-Z]/g, (v) => Xt(v)) : r; a[p] = Rs(f); }), Ce(o).forEach(([r, f]) => { o[r] = Rs(f); @@ -177,8 +174,7 @@ const it = (t, s) => t.getAttribute(s), Ie = (t, s) => t.hasAttribute(s), O = (t * @returns the timer */ get: (t, s) => { - if (!y(t)) - return null; + if (!y(t)) return null; const e = bt.get(t); return s && e && ls(e) ? e.get(s) || /* istanbul ignore next */ null : ni(e) ? e : null; @@ -190,8 +186,7 @@ const it = (t, s) => t.getAttribute(s), Ie = (t, s) => t.hasAttribute(s), O = (t * @param key a unique key */ clear: (t, s) => { - if (!y(t)) - return; + if (!y(t)) return; const e = bt.get(t); s && s.length && ls(e) ? (clearTimeout(e.get(s)), e.delete(s), e.size === 0 && bt.delete(t)) : (clearTimeout(e), bt.delete(t)); } @@ -237,8 +232,7 @@ const jt = /* @__PURE__ */ new Map(), Wn = (t, s) => { var s; return t ? Bn(t) ? t.defaultView : L(t) ? (s = t == null ? void 0 : t.ownerDocument) == null ? void 0 : s.defaultView : t : window; }, ii = (t) => Array.isArray(t) || !1, Fn = (t) => { - if (!L(t)) - return !1; + if (!L(t)) return !1; const { top: s, bottom: e } = we(t), { clientHeight: n } = ft(t); return s <= n && e >= 0; }, ci = (t) => typeof t == "function" || !1, ai = (t) => ve(t) && t.constructor.name === "NodeList" || !1, Ct = (t) => ft(t).dir === "rtl", ri = (t) => L(t) && ["TABLE", "TD", "TH"].includes(t.nodeName) || !1, M = (t, s) => t ? t.closest(s) || // break out of `ShadowRoot` @@ -264,7 +258,7 @@ M(t.getRootNode().host, s) : null, P = (t, s) => y(t) ? t : (L(s) ? s : E()).que zn, a ); -}, R = "fade", m = "show", We = "data-bs-dismiss", Fe = "alert", Vn = "Alert", li = "5.0.13", di = li; +}, R = "fade", m = "show", We = "data-bs-dismiss", Fe = "alert", Vn = "Alert", li = "5.0.14", di = li; class nt { /** * @param target `HTMLElement` or selector string @@ -739,8 +733,7 @@ const Ot = ["dropdown", "dropup", "dropstart", "dropend"], Qn = "Dropdown", Zn = )]), w(n, to); } }, Wi = (t) => [...t.children].map((s) => { - if (s && tn.includes(s.tagName)) - return s; + if (s && tn.includes(s.tagName)) return s; const { firstElementChild: e } = s; return e && tn.includes(e.tagName) ? e : null; }).filter((s) => s), nn = (t) => { @@ -1212,8 +1205,7 @@ const It = "popover", Ke = "Popover", lt = "tooltip", yo = (t) => { ci(e) && (n = e(n)); const i = new DOMParser().parseFromString(n, "text/html"); t.append(...i.body.childNodes); - } else - y(s) ? t.append(s) : (ai(s) || ii(s) && s.every(L)) && t.append(...s); + } else y(s) ? t.append(s) : (ai(s) || ii(s) && s.every(L)) && t.append(...s); }, gc = (t) => { const s = t.name === Pt, { id: e, element: n, options: o } = t, { title: i, placement: c, template: a, animation: l, customClass: r, sanitizeFn: f, dismissible: p, content: v, btnClose: D } = o, q = s ? lt : It, T = { ...Co }; let j = [], Y = []; @@ -1236,28 +1228,24 @@ const It = "popover", Ke = "Popover", lt = "tooltip", yo = (t) => { const J = s ? `${lt}-inner` : `${It}-body`, ot = s ? null : P(`.${It}-header`, S), W = P(`.${J}`, S); t.arrow = P(`.${q}-arrow`, S); const { arrow: z } = t; - if (y(i)) - j = [i.cloneNode(!0)]; + if (y(i)) j = [i.cloneNode(!0)]; else { const H = $t("div"); wt(H, i, f), j = [...H.childNodes]; } - if (y(v)) - Y = [v.cloneNode(!0)]; + if (y(v)) Y = [v.cloneNode(!0)]; else { const H = $t("div"); wt(H, v, f), Y = [...H.childNodes]; } if (p) if (i) - if (y(D)) - j = [...j, D.cloneNode(!0)]; + if (y(D)) j = [...j, D.cloneNode(!0)]; else { const H = $t("div"); wt(H, D, f), j = [...j, H.firstChild]; } - else if (ot && ot.remove(), y(D)) - Y = [...Y, D.cloneNode(!0)]; + else if (ot && ot.remove(), y(D)) Y = [...Y, D.cloneNode(!0)]; else { const H = $t("div"); wt(H, D, f), Y = [...Y, H.firstChild]; @@ -1554,8 +1542,7 @@ const $e = "tab", Io = "Tab", $n = `[${ct}="${$e}"]`, ko = (t) => F(t, Io), Ac = c === a ? Cn(t) : setTimeout(() => { e.style.height = `${a}px`, Mt(e), x(e, () => Cn(t)); }, 50); - } else - o && u.clear(o); + } else o && u.clear(o); Tn.relatedTarget = i, w(s, Tn); }, Hn = (t) => { const { element: s, content: e, tabContent: n, nav: o } = t, { tab: i, content: c } = o && me.get(o) || /* istanbul ignore next */ @@ -1581,16 +1568,14 @@ const $e = "tab", Io = "Tab", $n = `[${ct}="${$e}"]`, ko = (t) => F(t, Io), Ac = } }, xn = (t) => { const { nav: s } = t; - if (!y(s)) - return { tab: null, content: null }; + if (!y(s)) return { tab: null, content: null }; const e = rt(C, s); let n = null; e.length === 1 && !Ot.some((i) => h(e[0].parentElement, i)) ? [n] = e : e.length > 1 && (n = e[e.length - 1]); const o = y(n) ? X(n) : null; return { tab: n, content: o }; }, Pn = (t) => { - if (!y(t)) - return null; + if (!y(t)) return null; const s = M(t, `.${Ot.join(",.")}`); return s ? P(`.${Ot[0]}-toggle`, s) : null; }, Lc = (t) => { diff --git a/dist/bootstrap-native.mjs.map b/dist/bootstrap-native.mjs.map index 63a8f3cd..53bb8307 100644 --- a/dist/bootstrap-native.mjs.map +++ b/dist/bootstrap-native.mjs.map @@ -1 +1 @@ -{"version":3,"file":"bootstrap-native.mjs","sources":["../node_modules/.pnpm/@thednp+shorty@2.0.0/node_modules/@thednp/shorty/dist/shorty.mjs","../node_modules/.pnpm/@thednp+event-listener@2.0.4/node_modules/@thednp/event-listener/dist/event-listener.mjs","../src/strings/fadeClass.ts","../src/strings/showClass.ts","../src/strings/dataBsDismiss.ts","../src/strings/alertString.ts","../src/strings/alertComponent.ts","../src/version.ts","../src/components/base-component.ts","../src/components/alert.ts","../src/strings/activeClass.ts","../src/strings/dataBsToggle.ts","../src/strings/buttonString.ts","../src/strings/buttonComponent.ts","../src/components/button.ts","../src/strings/dataBsTarget.ts","../src/strings/carouselString.ts","../src/strings/carouselComponent.ts","../src/strings/dataBsParent.ts","../src/strings/dataBsContainer.ts","../src/util/getTargetElement.ts","../src/components/carousel.ts","../src/strings/collapsingClass.ts","../src/strings/collapseString.ts","../src/strings/collapseComponent.ts","../src/components/collapse.ts","../src/strings/dropdownClasses.ts","../src/strings/dropdownComponent.ts","../src/strings/dropdownMenuClass.ts","../src/util/isEmptyAnchor.ts","../src/components/dropdown.ts","../src/strings/modalString.ts","../src/strings/modalComponent.ts","../src/strings/offcanvasComponent.ts","../src/strings/fixedTopClass.ts","../src/strings/fixedBottomClass.ts","../src/strings/stickyTopClass.ts","../src/strings/positionStickyClass.ts","../src/util/scrollbar.ts","../src/strings/offcanvasString.ts","../src/util/popupContainer.ts","../src/util/backdrop.ts","../src/util/isVisible.ts","../src/components/modal.ts","../src/components/offcanvas.ts","../src/strings/popoverString.ts","../src/strings/popoverComponent.ts","../src/strings/tooltipString.ts","../src/util/getTipTemplate.ts","../src/util/tipClassPositions.ts","../src/util/styleTip.ts","../src/util/tooltipDefaults.ts","../src/strings/dataOriginalTitle.ts","../src/strings/tooltipComponent.ts","../src/util/setHtml.ts","../src/util/createTip.ts","../src/util/getElementContainer.ts","../src/components/tooltip.ts","../src/components/popover.ts","../src/strings/scrollspyString.ts","../src/strings/scrollspyComponent.ts","../src/components/scrollspy.ts","../src/strings/tabString.ts","../src/strings/tabComponent.ts","../src/components/tab.ts","../src/strings/toastString.ts","../src/strings/toastComponent.ts","../src/components/toast.ts","../src/util/init.ts"],"sourcesContent":["const pe = \"aria-checked\", me = \"aria-description\", fe = \"aria-describedby\", ge = \"aria-expanded\", ve = \"aria-haspopup\", Ee = \"aria-hidden\", be = \"aria-label\", he = \"aria-labelledby\", ye = \"aria-modal\", we = \"aria-pressed\", Ae = \"aria-selected\", Se = \"aria-valuemin\", Ne = \"aria-valuemax\", ke = \"aria-valuenow\", Me = \"aria-valuetext\", q = \"abort\", G = \"beforeunload\", J = \"blur\", K = \"change\", X = \"contextmenu\", P = \"DOMContentLoaded\", Y = \"DOMMouseScroll\", Z = \"error\", $ = \"focus\", _ = \"focusin\", tt = \"focusout\", et = \"gesturechange\", nt = \"gestureend\", ot = \"gesturestart\", st = \"keydown\", ct = \"keypress\", rt = \"keyup\", at = \"load\", it = \"click\", ut = \"dblclick\", lt = \"mousedown\", dt = \"mouseup\", pt = \"hover\", mt = \"mouseenter\", ft = \"mouseleave\", gt = \"mousein\", vt = \"mouseout\", Et = \"mouseover\", bt = \"mousemove\", ht = \"mousewheel\", yt = \"move\", wt = \"orientationchange\", At = \"pointercancel\", St = \"pointerdown\", Nt = \"pointerleave\", kt = \"pointermove\", Mt = \"pointerup\", Tt = \"readystatechange\", Dt = \"reset\", Ct = \"resize\", Ot = \"select\", Lt = \"selectend\", It = \"selectstart\", zt = \"scroll\", xt = \"submit\", Vt = \"touchstart\", Bt = \"touchmove\", Ht = \"touchcancel\", Pt = \"touchend\", Ft = \"unload\", Te = {\n DOMContentLoaded: P,\n DOMMouseScroll: Y,\n abort: q,\n beforeunload: G,\n blur: J,\n change: K,\n click: it,\n contextmenu: X,\n dblclick: ut,\n error: Z,\n focus: $,\n focusin: _,\n focusout: tt,\n gesturechange: et,\n gestureend: nt,\n gesturestart: ot,\n hover: pt,\n keydown: st,\n keypress: ct,\n keyup: rt,\n load: at,\n mousedown: lt,\n mousemove: bt,\n mousein: gt,\n mouseout: vt,\n mouseenter: mt,\n mouseleave: ft,\n mouseover: Et,\n mouseup: dt,\n mousewheel: ht,\n move: yt,\n orientationchange: wt,\n pointercancel: At,\n pointerdown: St,\n pointerleave: Nt,\n pointermove: kt,\n pointerup: Mt,\n readystatechange: Tt,\n reset: Dt,\n resize: Ct,\n scroll: zt,\n select: Ot,\n selectend: Lt,\n selectstart: It,\n submit: xt,\n touchcancel: Ht,\n touchend: Pt,\n touchmove: Bt,\n touchstart: Vt,\n unload: Ft\n}, De = \"drag\", Ce = \"dragstart\", Oe = \"dragenter\", Le = \"dragleave\", Ie = \"dragover\", ze = \"dragend\", xe = \"loadstart\", Ve = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, Be = { down: \"mousedown\", up: \"mouseup\" }, He = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : (\n /* istanbul ignore next */\n [\"mouseover\", \"mouseout\"]\n), Pe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, Fe = { in: \"focusin\", out: \"focusout\" }, Ue = {\n Backspace: \"Backspace\",\n // 8\n Tab: \"Tab\",\n // 9\n Enter: \"Enter\",\n // 13\n Shift: \"Shift\",\n // 16\n Control: \"Control\",\n // 17\n Alt: \"Alt\",\n // 18\n Pause: \"Pause\",\n // 19\n CapsLock: \"CapsLock\",\n // 20\n Escape: \"Escape\",\n // 27\n Scape: \"Space\",\n // 32\n ArrowLeft: \"ArrowLeft\",\n // 37\n ArrowUp: \"ArrowUp\",\n // 38\n ArrowRight: \"ArrowRight\",\n // 39\n ArrowDown: \"ArrowDown\",\n // 40\n Insert: \"Insert\",\n // 45\n Delete: \"Delete\",\n // 46\n Meta: \"Meta\",\n // 91 windows key\n ContextMenu: \"ContextMenu\",\n // 93\n ScrollLock: \"ScrollLock\"\n // 145\n}, We = \"Alt\", Re = \"ArrowDown\", Qe = \"ArrowUp\", je = \"ArrowLeft\", qe = \"ArrowRight\", Ge = \"Backspace\", Je = \"CapsLock\", Ke = \"Control\", Xe = \"Delete\", Ye = \"Enter\", Ze = \"NumpadEnter\", $e = \"Escape\", _e = \"Insert\", tn = \"Meta\", en = \"Pause\", nn = \"ScrollLock\", on = \"Shift\", sn = \"Space\", cn = \"Tab\", Ut = \"animationDuration\", Wt = \"animationDelay\", F = \"animationName\", D = \"animationend\", Rt = \"transitionDuration\", Qt = \"transitionDelay\", C = \"transitionend\", U = \"transitionProperty\", rn = \"addEventListener\", an = \"removeEventListener\", un = {\n linear: \"linear\",\n easingSinusoidalIn: \"cubic-bezier(0.47,0,0.745,0.715)\",\n easingSinusoidalOut: \"cubic-bezier(0.39,0.575,0.565,1)\",\n easingSinusoidalInOut: \"cubic-bezier(0.445,0.05,0.55,0.95)\",\n easingQuadraticIn: \"cubic-bezier(0.550,0.085,0.680,0.530)\",\n easingQuadraticOut: \"cubic-bezier(0.250,0.460,0.450,0.940)\",\n easingQuadraticInOut: \"cubic-bezier(0.455,0.030,0.515,0.955)\",\n easingCubicIn: \"cubic-bezier(0.55,0.055,0.675,0.19)\",\n easingCubicOut: \"cubic-bezier(0.215,0.61,0.355,1)\",\n easingCubicInOut: \"cubic-bezier(0.645,0.045,0.355,1)\",\n easingQuarticIn: \"cubic-bezier(0.895,0.03,0.685,0.22)\",\n easingQuarticOut: \"cubic-bezier(0.165,0.84,0.44,1)\",\n easingQuarticInOut: \"cubic-bezier(0.77,0,0.175,1)\",\n easingQuinticIn: \"cubic-bezier(0.755,0.05,0.855,0.06)\",\n easingQuinticOut: \"cubic-bezier(0.23,1,0.32,1)\",\n easingQuinticInOut: \"cubic-bezier(0.86,0,0.07,1)\",\n easingExponentialIn: \"cubic-bezier(0.95,0.05,0.795,0.035)\",\n easingExponentialOut: \"cubic-bezier(0.19,1,0.22,1)\",\n easingExponentialInOut: \"cubic-bezier(1,0,0,1)\",\n easingCircularIn: \"cubic-bezier(0.6,0.04,0.98,0.335)\",\n easingCircularOut: \"cubic-bezier(0.075,0.82,0.165,1)\",\n easingCircularInOut: \"cubic-bezier(0.785,0.135,0.15,0.86)\",\n easingBackIn: \"cubic-bezier(0.6,-0.28,0.735,0.045)\",\n easingBackOut: \"cubic-bezier(0.175,0.885,0.32,1.275)\",\n easingBackInOut: \"cubic-bezier(0.68,-0.55,0.265,1.55)\"\n}, ln = \"offsetHeight\", dn = \"offsetWidth\", pn = \"scrollHeight\", mn = \"scrollWidth\", fn = \"tabindex\", jt = navigator.userAgentData, A = jt, { userAgent: qt } = navigator, S = qt, z = /iPhone|iPad|iPod|Android/i;\nlet O = !1;\nA ? O = A.brands.some((t) => z.test(t.brand)) : O = z.test(S);\nconst gn = O, x = /(iPhone|iPod|iPad)/, vn = A ? A.brands.some((t) => x.test(t.brand)) : (\n /* istanbul ignore next */\n x.test(S)\n), En = S ? S.includes(\"Firefox\") : (\n /* istanbul ignore next */\n !1\n), { head: N } = document, bn = [\"webkitPerspective\", \"perspective\"].some((t) => t in N.style), Gt = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(e, n, s);\n}, Jt = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(e, n, s);\n}, Kt = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Jt(t, e, s, o));\n };\n Gt(t, e, s, o);\n}, Xt = () => {\n}, hn = (() => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n Kt(document, P, Xt, e);\n } catch {\n }\n return t;\n})(), yn = [\"webkitTransform\", \"transform\"].some((t) => t in N.style), wn = \"ontouchstart\" in window || /* istanbul ignore next */\n\"msMaxTouchPoints\" in navigator, An = [\"webkitAnimation\", \"animation\"].some((t) => t in N.style), Sn = [\"webkitTransition\", \"transition\"].some((t) => t in N.style), Yt = (t, e) => t.getAttribute(e), Nn = (t, e, n) => e.getAttributeNS(t, n), kn = (t, e) => t.hasAttribute(e), Mn = (t, e, n) => e.hasAttributeNS(t, n), Tn = (t, e, n) => t.setAttribute(e, n), Dn = (t, e, n, o) => e.setAttributeNS(t, n, o), Cn = (t, e) => t.removeAttribute(e), On = (t, e, n) => e.removeAttributeNS(t, n), Ln = (t, ...e) => {\n t.classList.add(...e);\n}, In = (t, ...e) => {\n t.classList.remove(...e);\n}, zn = (t, e) => t.classList.contains(e), { body: xn } = document, { documentElement: Vn } = document, Bn = (t) => Array.from(t), v = (t) => t != null && typeof t == \"object\" || !1, i = (t) => v(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some((e) => t.nodeType === e) || !1, u = (t) => i(t) && t.nodeType === 1 || !1, E = /* @__PURE__ */ new Map(), L = {\n data: E,\n /**\n * Sets web components data.\n *\n * @param element target element\n * @param component the component's name or a unique key\n * @param instance the component instance\n */\n set: (t, e, n) => {\n if (!u(t))\n return;\n E.has(e) || E.set(e, /* @__PURE__ */ new Map()), E.get(e).set(t, n);\n },\n /**\n * Returns all instances for specified component.\n *\n * @param component the component's name or a unique key\n * @returns all the component instances\n */\n getAllFor: (t) => E.get(t) || null,\n /**\n * Returns the instance associated with the target.\n *\n * @param element target element\n * @param component the component's name or a unique key\n * @returns the instance\n */\n get: (t, e) => {\n if (!u(t) || !e)\n return null;\n const n = L.getAllFor(e);\n return t && n && n.get(t) || null;\n },\n /**\n * Removes web components data.\n *\n * @param element target element\n * @param component the component's name or a unique key\n */\n remove: (t, e) => {\n const n = L.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && E.delete(e));\n }\n}, Hn = (t, e) => L.get(t, e), k = (t) => typeof t == \"string\" || !1, W = (t) => v(t) && t.constructor.name === \"Window\" || !1, R = (t) => i(t) && t.nodeType === 9 || !1, d = (t) => W(t) ? t.document : R(t) ? t : i(t) ? t.ownerDocument : window.document, M = (t, ...e) => Object.assign(t, ...e), Zt = (t) => {\n if (!t)\n return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = Zt(e);\n if (!n)\n return;\n const o = { ...t };\n return delete o.tagName, M(n, o);\n}, $t = (t, e) => {\n if (!t || !e)\n return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = $t(t, n);\n if (!o)\n return;\n const s = { ...e };\n return delete s.tagName, M(o, s);\n}, Q = (t, e) => t.dispatchEvent(e), Pn = (t, e, n) => n.indexOf(t) === e, g = (t, e) => {\n const n = getComputedStyle(t), o = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return n.getPropertyValue(o);\n}, _t = (t) => {\n const e = g(t, F), n = g(t, Wt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, te = (t) => {\n const e = g(t, F), n = g(t, Ut), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, Fn = (t, e) => {\n let n = 0;\n const o = new Event(D), s = te(t), r = _t(t);\n if (s) {\n const a = (l) => {\n l.target === t && (e.apply(t, [l]), t.removeEventListener(D, a), n = 1);\n };\n t.addEventListener(D, a), setTimeout(() => {\n n || Q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ee = (t) => {\n const e = g(t, U), n = g(t, Qt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : (\n /* istanbul ignore next */\n 0\n );\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, ne = (t) => {\n const e = g(t, U), n = g(t, Rt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : (\n /* istanbul ignore next */\n 0\n );\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, Un = (t, e) => {\n let n = 0;\n const o = new Event(C), s = ne(t), r = ee(t);\n if (s) {\n const a = (l) => {\n l.target === t && (e.apply(t, [l]), t.removeEventListener(C, a), n = 1);\n };\n t.addEventListener(C, a), setTimeout(() => {\n n || Q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, Wn = (t) => Float32Array.from(Array.from(t)), Rn = (t) => Float64Array.from(Array.from(t)), Qn = (t, e) => t.focus(e), V = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, w = (t) => Object.entries(t), oe = (t) => t.toLowerCase(), jn = (t, e, n, o) => {\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, l = {}, p = \"title\";\n return w(r).forEach(([c, m]) => {\n const y = o && typeof c == \"string\" && c.includes(o) ? c.replace(o, \"\").replace(/[A-Z]/g, (j) => oe(j)) : c;\n l[y] = V(m);\n }), w(s).forEach(([c, m]) => {\n s[c] = V(m);\n }), w(e).forEach(([c, m]) => {\n c in s ? a[c] = s[c] : c in l ? a[c] = l[c] : a[c] = c === p ? Yt(t, p) : m;\n }), a;\n}, qn = (t, e) => v(t) && (Object.hasOwn(t, e) || e in t), Gn = (t) => Object.keys(t), Jn = (t) => Object.values(t), Kn = (t) => Object.fromEntries(t), Xn = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return v(e) && M(n, e), n;\n}, Yn = { passive: !0 }, Zn = (t) => t.offsetHeight, $n = (t, e) => {\n w(e).forEach(([n, o]) => {\n if (o && k(n) && n.includes(\"--\"))\n t.style.setProperty(n, o);\n else {\n const s = {};\n s[n] = o, M(t.style, s);\n }\n });\n}, I = (t) => v(t) && t.constructor.name === \"Map\" || !1, se = (t) => typeof t == \"number\" || !1, f = /* @__PURE__ */ new Map(), _n = {\n /**\n * Sets a new timeout timer for an element, or element -> key association.\n *\n * @param element target element\n * @param callback the callback\n * @param delay the execution delay\n * @param key a unique key\n */\n set: (t, e, n, o) => {\n u(t) && (o && o.length ? (f.has(t) || f.set(t, /* @__PURE__ */ new Map()), f.get(t).set(o, setTimeout(e, n))) : f.set(t, setTimeout(e, n)));\n },\n /**\n * Returns the timer associated with the target.\n *\n * @param element target element\n * @param key a unique\n * @returns the timer\n */\n get: (t, e) => {\n if (!u(t))\n return null;\n const n = f.get(t);\n return e && n && I(n) ? n.get(e) || /* istanbul ignore next */\n null : se(n) ? n : null;\n },\n /**\n * Clears the element's timer.\n *\n * @param element target element\n * @param key a unique key\n */\n clear: (t, e) => {\n if (!u(t))\n return;\n const n = f.get(t);\n e && e.length && I(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && f.delete(t)) : (clearTimeout(n), f.delete(t));\n }\n}, to = (t) => t.toUpperCase(), h = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: l } = t.getBoundingClientRect();\n let p = 1, c = 1;\n if (e && u(t)) {\n const { offsetWidth: m, offsetHeight: y } = t;\n p = m > 0 ? Math.round(n) / m : (\n /* istanbul ignore next */\n 1\n ), c = y > 0 ? Math.round(o) / y : (\n /* istanbul ignore next */\n 1\n );\n }\n return {\n width: n / p,\n height: o / c,\n top: s / c,\n right: r / p,\n bottom: a / c,\n left: l / p,\n x: l / p,\n y: s / c\n };\n}, eo = (t) => d(t).body, T = (t) => d(t).documentElement, no = (t) => d(t).head, oo = (t) => {\n const e = W(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, ce = (t) => i(t) && t.constructor.name === \"ShadowRoot\" || !1, so = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || // step into the shadow DOM of the parent of a slotted node\ni(t) && t.parentNode || // DOM Element detected\nce(t) && t.host || // ShadowRoot detected\nT(t), re = (t) => {\n if (!u(t))\n return !1;\n const { width: e, height: n } = h(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, co = (t, e, n) => {\n const o = u(e), s = h(t, o && re(e)), r = { x: 0, y: 0 };\n if (o) {\n const a = h(e, !0);\n r.x = a.x + e.clientLeft, r.y = a.y + e.clientTop;\n }\n return {\n x: s.left + n.x - r.x,\n y: s.top + n.y - r.y,\n width: s.width,\n height: s.height\n };\n};\nlet B = 0, H = 0;\nconst b = /* @__PURE__ */ new Map(), ae = (t, e) => {\n let n = e ? B : H;\n if (e) {\n const o = ae(t), s = b.get(o) || /* @__PURE__ */ new Map();\n b.has(o) || b.set(o, s), I(s) && !s.has(e) ? (s.set(e, n), B += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n b.has(o) ? n = b.get(o) : (b.set(o, n), H += 1);\n }\n return n;\n}, ro = (t) => {\n var e;\n return t ? R(t) ? t.defaultView : i(t) ? (e = t == null ? void 0 : t.ownerDocument) == null ? void 0 : e.defaultView : t : window;\n}, ie = (t) => Array.isArray(t) || !1, ao = (t) => i(t) && t.nodeName === \"CANVAS\" || !1, ue = (t) => u(t) && !!t.shadowRoot || !1, io = (t) => i(t) && [1, 2, 3, 4, 5, 6, 7, 8].some((e) => t.nodeType === e) || !1, uo = (t) => {\n if (!i(t))\n return !1;\n const { top: e, bottom: n } = h(t), { clientHeight: o } = T(t);\n return e <= o && n >= 0;\n}, lo = (t) => {\n if (!i(t))\n return !1;\n const { clientWidth: e, clientHeight: n } = T(t), { top: o, left: s, bottom: r, right: a } = h(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, po = (t) => ie(t) && t.every(u) || !1, mo = (t) => typeof t == \"function\" || !1, fo = (t) => v(t) && t.constructor.name === \"HTMLCollection\" || !1, go = (t) => u(t) && t.tagName === \"IMG\" || !1, vo = (t) => {\n if (!k(t))\n return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Eo = (t) => v(t) && t.constructor.name === \"WeakMap\" || !1, bo = (t) => i(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some((e) => t.constructor.name.includes(e)) || !1, ho = (t) => v(t) && t.constructor.name === \"NodeList\" || !1, yo = (t) => T(t).dir === \"rtl\", wo = (t) => i(t) && t.constructor.name.includes(\"SVG\") || !1, Ao = (t) => i(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, le = (t, e) => t ? t.closest(e) || // break out of `ShadowRoot`\nle(t.getRootNode().host, e) : null, So = (t, e) => u(t) ? t : (i(e) ? e : d()).querySelector(t), de = (t, e) => (i(e) ? e : d()).getElementsByTagName(t), No = (t) => [...de(\"*\", t)].filter(ue), ko = (t, e) => d(e).getElementById(t) || null, Mo = (t, e) => (i(e) ? e : d()).querySelectorAll(t), To = (t, e) => (e && i(e) ? e : d()).getElementsByClassName(\n t\n), Do = (t, e) => t.matches(e), Co = \"2.0.0\";\nexport {\n Bn as ArrayFrom,\n P as DOMContentLoadedEvent,\n Y as DOMMouseScrollEvent,\n L as Data,\n Wn as Float32ArrayFrom,\n Rn as Float64ArrayFrom,\n M as ObjectAssign,\n w as ObjectEntries,\n Kn as ObjectFromEntries,\n qn as ObjectHasOwn,\n Gn as ObjectKeys,\n Jn as ObjectValues,\n _n as Timer,\n q as abortEvent,\n Ln as addClass,\n rn as addEventListener,\n Wt as animationDelay,\n Ut as animationDuration,\n D as animationEndEvent,\n F as animationName,\n pe as ariaChecked,\n fe as ariaDescribedBy,\n me as ariaDescription,\n ge as ariaExpanded,\n ve as ariaHasPopup,\n Ee as ariaHidden,\n be as ariaLabel,\n he as ariaLabelledBy,\n ye as ariaModal,\n we as ariaPressed,\n Ae as ariaSelected,\n Ne as ariaValueMax,\n Se as ariaValueMin,\n ke as ariaValueNow,\n Me as ariaValueText,\n G as beforeunloadEvent,\n un as bezierEasings,\n J as blurEvent,\n K as changeEvent,\n le as closest,\n X as contextmenuEvent,\n Xn as createCustomEvent,\n Zt as createElement,\n $t as createElementNS,\n Q as dispatchEvent,\n Pn as distinct,\n xn as documentBody,\n Vn as documentElement,\n N as documentHead,\n De as dragEvent,\n ze as dragendEvent,\n Oe as dragenterEvent,\n Le as dragleaveEvent,\n Ie as dragoverEvent,\n Ce as dragstartEvent,\n Fn as emulateAnimationEnd,\n Un as emulateTransitionEnd,\n Z as errorEvent,\n Qn as focus,\n $ as focusEvent,\n Fe as focusEvents,\n _ as focusinEvent,\n tt as focusoutEvent,\n et as gesturechangeEvent,\n nt as gestureendEvent,\n ot as gesturestartEvent,\n Yt as getAttribute,\n Nn as getAttributeNS,\n h as getBoundingClientRect,\n No as getCustomElements,\n d as getDocument,\n eo as getDocumentBody,\n T as getDocumentElement,\n no as getDocumentHead,\n _t as getElementAnimationDelay,\n te as getElementAnimationDuration,\n ko as getElementById,\n g as getElementStyle,\n ee as getElementTransitionDelay,\n ne as getElementTransitionDuration,\n To as getElementsByClassName,\n de as getElementsByTagName,\n Hn as getInstance,\n oo as getNodeScroll,\n so as getParentNode,\n co as getRectRelativeToOffsetParent,\n ae as getUID,\n ro as getWindow,\n kn as hasAttribute,\n Mn as hasAttributeNS,\n zn as hasClass,\n vn as isApple,\n ie as isArray,\n ao as isCanvas,\n ue as isCustomElement,\n R as isDocument,\n io as isElement,\n uo as isElementInScrollRange,\n lo as isElementInViewport,\n po as isElementsArray,\n En as isFirefox,\n mo as isFunction,\n fo as isHTMLCollection,\n u as isHTMLElement,\n go as isHTMLImageElement,\n vo as isJSON,\n I as isMap,\n bo as isMedia,\n gn as isMobile,\n i as isNode,\n ho as isNodeList,\n se as isNumber,\n v as isObject,\n yo as isRTL,\n wo as isSVGElement,\n re as isScaledElement,\n ce as isShadowRoot,\n k as isString,\n Ao as isTableElement,\n Eo as isWeakMap,\n W as isWindow,\n We as keyAlt,\n Re as keyArrowDown,\n je as keyArrowLeft,\n qe as keyArrowRight,\n Qe as keyArrowUp,\n Ge as keyBackspace,\n Je as keyCapsLock,\n Ke as keyControl,\n Xe as keyDelete,\n Ye as keyEnter,\n $e as keyEscape,\n _e as keyInsert,\n tn as keyMeta,\n Ze as keyNumpadEnter,\n en as keyPause,\n nn as keyScrollLock,\n on as keyShift,\n sn as keySpace,\n cn as keyTab,\n Ue as keyboardEventKeys,\n st as keydownEvent,\n ct as keypressEvent,\n rt as keyupEvent,\n at as loadEvent,\n xe as loadstartEvent,\n Do as matches,\n Be as mouseClickEvents,\n He as mouseHoverEvents,\n Ve as mouseSwipeEvents,\n it as mouseclickEvent,\n ut as mousedblclickEvent,\n lt as mousedownEvent,\n mt as mouseenterEvent,\n pt as mousehoverEvent,\n gt as mouseinEvent,\n ft as mouseleaveEvent,\n bt as mousemoveEvent,\n vt as mouseoutEvent,\n Et as mouseoverEvent,\n dt as mouseupEvent,\n ht as mousewheelEvent,\n yt as moveEvent,\n Te as nativeEvents,\n Xt as noop,\n jn as normalizeOptions,\n V as normalizeValue,\n Jt as off,\n ln as offsetHeight,\n dn as offsetWidth,\n Gt as on,\n Kt as one,\n wt as orientationchangeEvent,\n Yn as passiveHandler,\n At as pointercancelEvent,\n St as pointerdownEvent,\n Nt as pointerleaveEvent,\n kt as pointermoveEvent,\n Mt as pointerupEvent,\n So as querySelector,\n Mo as querySelectorAll,\n Tt as readystatechangeEvent,\n Zn as reflow,\n Cn as removeAttribute,\n On as removeAttributeNS,\n In as removeClass,\n an as removeEventListener,\n Dt as resetEvent,\n Ct as resizeEvent,\n zt as scrollEvent,\n pn as scrollHeight,\n mn as scrollWidth,\n Ot as selectEvent,\n Lt as selectendEvent,\n It as selectstartEvent,\n Tn as setAttribute,\n Dn as setAttributeNS,\n $n as setElementStyle,\n xt as submitEvent,\n bn as support3DTransform,\n An as supportAnimation,\n hn as supportPassive,\n wn as supportTouch,\n yn as supportTransform,\n Sn as supportTransition,\n fn as tabindex,\n oe as toLowerCase,\n to as toUpperCase,\n Pe as touchEvents,\n Ht as touchcancelEvent,\n Pt as touchendEvent,\n Bt as touchmoveEvent,\n Vt as touchstartEvent,\n Qt as transitionDelay,\n Rt as transitionDuration,\n C as transitionEndEvent,\n U as transitionProperty,\n Ft as unloadEvent,\n S as userAgent,\n A as userAgentData,\n Co as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const e = {}, f = (t) => {\n const { type: c, currentTarget: i } = t;\n [...e[c]].forEach(([n, s]) => {\n i === n && [...s].forEach(([o, a]) => {\n o.apply(n, [t]), typeof a == \"object\" && a.once && r(n, c, o, a);\n });\n });\n}, E = (t, c, i, n) => {\n e[c] || (e[c] = /* @__PURE__ */ new Map());\n const s = e[c];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(t), { size: a } = o;\n o.set(i, n), a || t.addEventListener(c, f, n);\n}, r = (t, c, i, n) => {\n const s = e[c], o = s && s.get(t), a = o && o.get(i), d = a !== void 0 ? a : n;\n o && o.has(i) && o.delete(i), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[c], (!o || !o.size) && t.removeEventListener(\n c,\n f,\n d\n );\n}, g = E, M = r;\nexport {\n E as addListener,\n f as globalListener,\n M as off,\n g as on,\n e as registry,\n r as removeListener\n};\n//# sourceMappingURL=event-listener.mjs.map\n","/**\n * Global namespace for most components `fade` class.\n */\nconst fadeClass = 'fade';\nexport default fadeClass;\n","/**\n * Global namespace for most components `show` class.\n */\nconst showClass = 'show';\nexport default showClass;\n","/**\n * Global namespace for most components `dismiss` option.\n */\nconst dataBsDismiss = 'data-bs-dismiss';\nexport default dataBsDismiss;\n","/** @type {string} */\nconst alertString = 'alert';\nexport default alertString;\n","/** @type {string} */\nconst alertComponent = 'Alert';\nexport default alertComponent;\n","import { version } from '../package.json';\n\nconst Version = version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport { querySelector, normalizeOptions, Data, ObjectKeys, isString } from '@thednp/shorty';\n\nimport type { BaseOptions } from '../interface/baseComponent';\nimport Version from '../version';\n\n/** Returns a new `BaseComponent` instance. */\nexport default class BaseComponent {\n declare element: HTMLElement;\n declare options?: BaseOptions;\n\n /**\n * @param target `HTMLElement` or selector string\n * @param config component instance options\n */\n constructor(target: HTMLElement | string, config?: BaseOptions) {\n const element = querySelector(target);\n\n if (!element) {\n if (isString(target)) {\n throw Error(`${this.name} Error: \"${target}\" is not a valid selector.`);\n } else {\n throw Error(`${this.name} Error: your target is not an instance of HTMLElement.`);\n }\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else */\n if (prevInstance) {\n // remove previously attached event listeners\n // to avoid memory leaks\n prevInstance._toggleEventListeners();\n }\n\n this.element = element;\n this.options =\n this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, 'bs')\n : {};\n\n Data.set(element, this.name, this);\n }\n\n /* istanbul ignore next */\n get version() {\n return Version;\n }\n\n /* istanbul ignore next */\n get name() {\n return 'BaseComponent';\n }\n\n /* istanbul ignore next */\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n _toggleEventListeners = () => {\n // do something to please linters\n };\n\n /** Removes component from target element. */\n dispose() {\n Data.remove(this.element, this.name);\n ObjectKeys(this).forEach(prop => {\n delete this[prop];\n });\n }\n}\n","/* Native JavaScript for Bootstrap 5 | Alert\n-------------------------------------------- */\nimport {\n emulateTransitionEnd,\n mouseclickEvent,\n getInstance,\n querySelector,\n hasClass,\n removeClass,\n dispatchEvent,\n createCustomEvent,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport alertString from '../strings/alertString';\nimport alertComponent from '../strings/alertComponent';\nimport type { AlertEvent } from '../interface/alert';\n\nimport BaseComponent from './base-component';\n\n// ALERT PRIVATE GC\n// ================\nconst alertSelector = `.${alertString}`;\nconst alertDismissSelector = `[${dataBsDismiss}=\"${alertString}\"]`;\n\n/**\n * Static method which returns an existing `Alert` instance associated\n * to a target `Element`.\n *\n */\nconst getAlertInstance = (element: HTMLElement) => getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: HTMLElement) => new Alert(element) as T;\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent(`close.bs.${alertString}`);\nconst closedAlertEvent = createCustomEvent(`closed.bs.${alertString}`);\n\n// ALERT EVENT HANDLER\n// ===================\n/**\n * Alert `transitionend` callback.\n *\n * @param that target Alert instance\n */\nconst alertTransitionEnd = (self: Alert) => {\n const { element } = self;\n dispatchEvent(element, closedAlertEvent);\n\n self._toggleEventListeners();\n self.dispose();\n element.remove();\n};\n\n// ALERT DEFINITION\n// ================\n/** Creates a new Alert instance. */\nexport default class Alert extends BaseComponent {\n static selector = alertSelector;\n static init = alertInitCallback;\n static getInstance = getAlertInstance;\n dismiss: HTMLElement | null;\n\n constructor(target: HTMLElement | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(alertDismissSelector, this.element);\n\n // add event listener\n this._toggleEventListeners(true);\n }\n\n /** Returns component name string. */\n get name() {\n return alertComponent;\n }\n\n // ALERT PUBLIC METHODS\n // ====================\n /**\n * Public method that hides the `.alert` element from the user,\n * disposes the instance once animation is complete, then\n * removes the element from the DOM.\n */\n close = () => {\n const { element } = this;\n\n /* istanbul ignore else */\n if (element && hasClass(element, showClass)) {\n dispatchEvent(element, closeAlertEvent);\n\n if (!closeAlertEvent.defaultPrevented) {\n removeClass(element, showClass);\n\n if (hasClass(element, fadeClass)) {\n emulateTransitionEnd(element, () => alertTransitionEnd(this));\n } else alertTransitionEnd(this);\n }\n }\n };\n /**\n * Toggle on / off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { dismiss, close } = this;\n /* istanbul ignore else */\n if (dismiss) action(dismiss, mouseclickEvent, close);\n };\n\n /** Remove the component from target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/**\n * Global namespace for most components active class.\n */\nconst activeClass = 'active';\nexport default activeClass;\n","/**\n * Global namespace for most components `toggle` option.\n */\nconst dataBsToggle = 'data-bs-toggle';\nexport default dataBsToggle;\n","/** @type {string} */\nconst buttonString = 'button';\nexport default buttonString;\n","/** @type {string} */\nconst buttonComponent = 'Button';\nexport default buttonComponent;\n","/* Native JavaScript for Bootstrap 5 | Button\n---------------------------------------------*/\nimport {\n getInstance,\n removeClass,\n hasClass,\n addClass,\n setAttribute,\n mouseclickEvent,\n ariaPressed,\n getAttribute,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport buttonString from '../strings/buttonString';\nimport buttonComponent from '../strings/buttonComponent';\n\nimport BaseComponent from './base-component';\n\n// BUTTON PRIVATE GC\n// =================\nconst buttonSelector = `[${dataBsToggle}=\"${buttonString}\"]`;\n\n/**\n * Static method which returns an existing `Button` instance associated\n * to a target `Element`.\n */\nconst getButtonInstance = (element: HTMLElement) => getInstance',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n *\n */\nconst getPopoverInstance = (element: HTMLElement) => getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: HTMLElement) => new Popover(element);\n\n// POPOVER DEFINITION\n// ==================\n/** Returns a new `Popover` instance. */\nexport default class Popover extends Tooltip {\n static selector = popoverSelector;\n static init = popoverInitCallback;\n static getInstance = getPopoverInstance;\n static styleTip = styleTip;\n declare options: PopoverOptions;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return popoverComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return popoverDefaults;\n }\n\n /* extend original `show()` */\n show = () => {\n super.show();\n // btn only exists within dismissible popover\n const { options, btn } = this;\n /* istanbul ignore else */\n if (options.dismissible && btn) setTimeout(() => focus(btn), 17);\n };\n}\n","/** @type {string} */\nconst scrollspyString = 'scrollspy';\nexport default scrollspyString;\n","/** @type {string} */\nconst scrollspyComponent = 'ScrollSpy';\nexport default scrollspyComponent;\n","/* Native JavaScript for Bootstrap 5 | ScrollSpy\n------------------------------------------------ */\nimport {\n getDocumentBody,\n getDocumentElement,\n getDocument,\n getWindow,\n removeClass,\n hasClass,\n addClass,\n getElementsByTagName,\n getAttribute,\n querySelector,\n isHTMLElement,\n isWindow,\n createCustomEvent,\n getInstance,\n scrollEvent,\n passiveHandler,\n dispatchEvent,\n getBoundingClientRect,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport scrollspyString from '../strings/scrollspyString';\nimport scrollspyComponent from '../strings/scrollspyComponent';\n\nimport BaseComponent from './base-component';\nimport { ScrollSpyOptions, ScrollSpyEvent } from '../interface/scrollspy';\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: ScrollSpyOptions = {\n offset: 10,\n target: null,\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: HTMLElement) => getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: HTMLElement) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent(`activate.bs.${scrollspyString}`);\n\n// SCROLLSPY PRIVATE METHODS\n// =========================\n/**\n * Update the state of all items.\n *\n * @param self the `ScrollSpy` instance\n */\nconst updateSpyTargets = (self: ScrollSpy) => {\n const { target, scrollTarget, options, itemsLength, scrollHeight, element } = self;\n const { offset } = options;\n const isWin = isWindow(scrollTarget as Node | Window);\n\n const links = target && getElementsByTagName('A', target);\n const scrollHEIGHT = scrollTarget ? getScrollHeight(scrollTarget) : /* istanbul ignore next */ scrollHeight;\n\n self.scrollTop = isWin ? (scrollTarget as Window).scrollY : (scrollTarget as HTMLElement).scrollTop;\n\n // only update items/offsets once or with each mutation\n /* istanbul ignore else */\n if (links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)) {\n let href;\n let targetItem;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n [...links].forEach(link => {\n href = getAttribute(link, 'href');\n targetItem =\n href && href.charAt(0) === '#' && href.slice(-1) !== '#' && querySelector(href, getDocument(element));\n\n if (targetItem) {\n self.items.push(link);\n rect = getBoundingClientRect(targetItem);\n self.offsets.push((isWin ? rect.top + self.scrollTop : targetItem.offsetTop) - offset);\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Returns the `scrollHeight` property of the scrolling element.\n *\n * @param scrollTarget the `ScrollSpy` instance\n * @return `scrollTarget` height\n */\nconst getScrollHeight = (scrollTarget: Node | Window) => {\n return isHTMLElement(scrollTarget as Node)\n ? (scrollTarget as HTMLElement).scrollHeight\n : getDocumentElement(scrollTarget as Node).scrollHeight;\n};\n\n/**\n * Returns the height property of the scrolling element.\n *\n * @param params the `ScrollSpy` instance\n */\nconst getOffsetHeight = ({ element, scrollTarget }: ScrollSpy) => {\n return isWindow(scrollTarget as Node) ? (scrollTarget as Window).innerHeight : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: HTMLElement) => {\n [...getElementsByTagName('A', target)].forEach(item => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n });\n};\n\n/**\n * Activates a new item.\n *\n * @param self the `ScrollSpy` instance\n * @param item a single item\n */\nconst activate = (self: ScrollSpy, item: HTMLElement) => {\n const { target, element } = self;\n if (isHTMLElement(target)) clear(target);\n self.activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n const parents: HTMLElement[] = [];\n let parentItem = item;\n while (parentItem !== getDocumentBody(element)) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (hasClass(parentItem, 'nav') || hasClass(parentItem, 'dropdown-menu')) parents.push(parentItem);\n }\n\n parents.forEach(menuItem => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n /* istanbul ignore else */\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n });\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\n// SCROLLSPY DEFINITION\n// ====================\n/** Returns a new `ScrollSpy` instance. */\nexport default class ScrollSpy extends BaseComponent {\n static selector = scrollspySelector;\n static init = scrollspyInitCallback;\n static getInstance = getScrollSpyInstance;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement | Window;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // additional properties\n this.target = querySelector(options.target as HTMLElement | string, getDocument(element));\n\n // invalidate\n if (this.target) {\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight ? element : getWindow(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // add event handlers\n this._toggleEventListeners(true);\n\n this.refresh();\n }\n }\n\n /* eslint-disable */\n /**\n * Returns component name string.\n */\n get name() {\n return scrollspyComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return scrollspyDefaults;\n }\n /* eslint-enable */\n\n // SCROLLSPY PUBLIC METHODS\n // ========================\n /** Updates all items. */\n refresh = () => {\n const { target } = this;\n\n // check if target is visible and invalidate\n /* istanbul ignore else */\n if (isHTMLElement(target) && target.offsetHeight > 0) {\n updateSpyTargets(this);\n\n const { scrollTop, maxScroll, itemsLength, items, activeItem } = this;\n\n if (scrollTop >= maxScroll) {\n const newActiveItem = items[itemsLength - 1];\n\n /* istanbul ignore else */\n if (activeItem !== newActiveItem) {\n activate(this, newActiveItem);\n }\n return;\n }\n\n const { offsets } = this;\n\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n if (target) clear(target);\n return;\n }\n\n items.forEach((item, i) => {\n if (\n activeItem !== item &&\n scrollTop >= offsets[i] &&\n (typeof offsets[i + 1] === 'undefined' || scrollTop < offsets[i + 1])\n ) {\n activate(this, item);\n }\n });\n }\n };\n\n /**\n * Toggles on/off the component event listener.\n *\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.scrollTarget as EventTarget, scrollEvent, this.refresh, passiveHandler);\n };\n\n /** Removes `ScrollSpy` from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/** @type {string} */\nconst tabString = 'tab';\nexport default tabString;\n","/** @type {string} */\nconst tabComponent = 'Tab';\nexport default tabComponent;\n","/* Native JavaScript for Bootstrap 5 | Tab\n------------------------------------------ */\nimport {\n emulateTransitionEnd,\n dispatchEvent,\n removeClass,\n hasClass,\n addClass,\n querySelector,\n getElementsByClassName,\n closest,\n setAttribute,\n mouseclickEvent,\n createCustomEvent,\n Timer,\n getInstance,\n ariaSelected,\n reflow,\n isHTMLElement,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport collapsingClass from '../strings/collapsingClass';\nimport activeClass from '../strings/activeClass';\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dropdownClasses from '../strings/dropdownClasses';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport tabString from '../strings/tabString';\nimport tabComponent from '../strings/tabComponent';\n\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport type { /* TabOptions, */ TabEvent } from '../interface/tab';\n\n// TAB PRIVATE GC\n// ================\nconst tabSelector = `[${dataBsToggle}=\"${tabString}\"]`;\n\n/**\n * Static method which returns an existing `Tab` instance associated\n * to a target `Element`.\n */\nconst getTabInstance = (element: HTMLElement) => getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: HTMLElement) => new Tab(element);\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(`show.bs.${tabString}`);\nconst shownTabEvent = createCustomEvent(`shown.bs.${tabString}`);\nconst hideTabEvent = createCustomEvent(`hide.bs.${tabString}`);\nconst hiddenTabEvent = createCustomEvent(`hidden.bs.${tabString}`);\n\ninterface TabPrivate {\n tab: HTMLElement | null;\n content: HTMLElement | null;\n currentHeight: number;\n nextHeight: number;\n}\n\n/**\n * Stores the current active tab and its content\n * for a given `.nav` element.\n */\nconst tabPrivate: Map = new Map();\n\n// TAB PRIVATE METHODS\n// ===================\n/**\n * Executes after tab transition has finished.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabEnd = (self: Tab) => {\n const { tabContent, nav } = self;\n\n /* istanbul ignore else */\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = '';\n removeClass(tabContent, collapsingClass);\n }\n\n /* istanbul ignore else */\n if (nav) Timer.clear(nav);\n};\n\n/**\n * Executes before showing the tab content.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabShow = (self: Tab) => {\n const { element, tabContent, content: nextContent, nav } = self;\n const { tab } = (isHTMLElement(nav) && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null };\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) || /* istanbul ignore next */ {\n currentHeight: 0,\n nextHeight: 0,\n };\n if (currentHeight === nextHeight) {\n triggerTabEnd(self);\n } else {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n }\n } else if (nav) Timer.clear(nav);\n\n shownTabEvent.relatedTarget = tab as HTMLElement | undefined;\n\n dispatchEvent(element, shownTabEvent);\n};\n\n/**\n * Executes before hiding the tab.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabHide = (self: Tab) => {\n const { element, content: nextContent, tabContent, nav } = self;\n const { tab, content } = (nav && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null, content: null };\n let currentHeight = 0;\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach(c => {\n if (isHTMLElement(c)) addClass(c, 'overflow-hidden');\n });\n currentHeight = isHTMLElement(content) ? content.scrollHeight : /* istanbul ignore next */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element;\n dispatchEvent(element, showTabEvent);\n\n if (!showTabEvent.defaultPrevented) {\n if (nextContent) addClass(nextContent, activeClass);\n if (content) removeClass(content, activeClass);\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, { currentHeight, nextHeight, tab: null, content: null });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach(c => {\n if (c) removeClass(c, 'overflow-hidden');\n });\n }\n\n if (nextContent && nextContent && hasClass(nextContent, fadeClass)) {\n setTimeout(() => {\n addClass(nextContent, showClass);\n emulateTransitionEnd(nextContent, () => {\n triggerTabShow(self);\n });\n }, 1);\n } else {\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n if (tab) dispatchEvent(tab, hiddenTabEvent);\n }\n};\n\n/**\n * Returns the current active tab and its target content.\n *\n * @param self the `Tab` instance\n * @returns the query result\n */\nconst getActiveTab = (self: Tab): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n /* istanbul ignore next */\n if (!isHTMLElement(nav as HTMLElement | undefined)) return { tab: null, content: null };\n\n const activeTabs = getElementsByClassName(activeClass, nav as HTMLElement);\n let tab: HTMLElement | null = null;\n /* istanbul ignore else */\n if (activeTabs.length === 1 && !dropdownClasses.some(c => hasClass(activeTabs[0].parentElement as HTMLElement, c))) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab as HTMLElement) ? getTargetElement(tab as HTMLElement) : null;\n return { tab, content };\n};\n\n/**\n * Returns a parent dropdown.\n *\n * @param element the `Tab` element\n * @returns the parent dropdown\n */\nconst getParentDropdown = (element?: HTMLElement): HTMLElement | null => {\n /* istanbul ignore next */\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(',.')}`);\n return dropdown ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown) : null;\n};\n\n// TAB EVENT HANDLER\n// =================\n/**\n * Handles the `click` event listener.\n *\n * @param e the `Event` object\n */\nconst tabClickHandler = (e: Event) => {\n const self = getTabInstance(e.target as HTMLElement);\n\n /* istanbul ignore else */\n if (self) {\n e.preventDefault();\n self.show();\n }\n};\n\n// TAB DEFINITION\n// ==============\n/** Creates a new `Tab` instance. */\nexport default class Tab extends BaseComponent {\n static selector = tabSelector;\n static init = tabInitCallback;\n static getInstance = getTabInstance;\n declare nav: HTMLElement | null;\n declare content: HTMLElement | null;\n declare tabContent: HTMLElement | null;\n declare nextContent: HTMLElement | null;\n declare dropdown: HTMLElement | null;\n\n /** @param target the target element */\n constructor(target: HTMLElement | string) {\n super(target);\n\n // initialization element\n const { element } = this;\n const content = getTargetElement(element);\n\n // no point initializing a tab without a corresponding content\n /* istanbul ignore else */\n if (content) {\n const nav = closest(element, '.nav');\n const container = closest(content, '.tab-content');\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element);\n\n // show first Tab instance of none is shown\n // suggested on #432\n const { tab } = getActiveTab(this);\n if (nav && !tab) {\n const firstTab = querySelector(tabSelector, nav);\n const firstTabContent = firstTab && getTargetElement(firstTab);\n\n /* istanbul ignore else */\n if (firstTabContent) {\n addClass(firstTab, activeClass);\n addClass(firstTabContent, showClass);\n addClass(firstTabContent, activeClass);\n setAttribute(element, ariaSelected, 'true');\n }\n }\n\n // add event listener\n this._toggleEventListeners(true);\n }\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return tabComponent;\n }\n\n // TAB PUBLIC METHODS\n // ==================\n /** Shows the tab to the user. */\n show() {\n const { element, content: nextContent, nav, dropdown } = this;\n\n /* istanbul ignore else */\n if (!(nav && Timer.get(nav)) && !hasClass(element, activeClass)) {\n const { tab, content } = getActiveTab(this);\n\n /* istanbul ignore else */\n if (nav) tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element;\n\n /* istanbul ignore else */\n if (isHTMLElement(tab)) {\n dispatchEvent(tab as EventTarget, hideTabEvent);\n /* istanbul ignore else */\n if (!hideTabEvent.defaultPrevented) {\n addClass(element, activeClass);\n setAttribute(element, ariaSelected, 'true');\n\n const activeDropdown = isHTMLElement(tab) && getParentDropdown(tab);\n if (activeDropdown && hasClass(activeDropdown, activeClass)) {\n removeClass(activeDropdown, activeClass);\n }\n\n /* istanbul ignore else */\n if (nav) {\n const toggleTab = () => {\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, 'false');\n }\n if (dropdown && !hasClass(dropdown, activeClass)) addClass(dropdown, activeClass);\n };\n\n if (content && (hasClass(content, fadeClass) || (nextContent && hasClass(nextContent, fadeClass)))) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n if (content) {\n removeClass(content, showClass);\n if (hasClass(content, fadeClass)) {\n emulateTransitionEnd(content, () => triggerTabHide(this));\n } else {\n triggerTabHide(this);\n }\n }\n }\n }\n }\n }\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.element, mouseclickEvent, tabClickHandler);\n };\n\n /** Removes the `Tab` component from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/** @type {string} */\nconst toastString = 'toast';\nexport default toastString;\n","/** @type {string} */\nconst toastComponent = 'Toast';\nexport default toastComponent;\n","/* Native JavaScript for Bootstrap 5 | Toast\n-------------------------------------------- */\nimport {\n mouseclickEvent,\n closest,\n removeClass,\n hasClass,\n addClass,\n focusoutEvent,\n focusinEvent,\n mouseleaveEvent,\n mouseenterEvent,\n createCustomEvent,\n getDocument,\n Timer,\n getInstance,\n reflow,\n emulateTransitionEnd,\n dispatchEvent,\n querySelectorAll,\n querySelector,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport toastString from '../strings/toastString';\nimport toastComponent from '../strings/toastComponent';\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport { ToastOptions, ToastEvent } from '../interface/toast';\n\n// TOAST PRIVATE GC\n// ================\nconst toastSelector = `.${toastString}`;\nconst toastDismissSelector = `[${dataBsDismiss}=\"${toastString}\"]`;\nconst toastToggleSelector = `[${dataBsToggle}=\"${toastString}\"]`;\nconst showingClass = 'showing';\n/** @deprecated */\nconst hideClass = 'hide';\n\nconst toastDefaults = {\n animation: true,\n autohide: true,\n delay: 5000,\n};\n\n/**\n * Static method which returns an existing `Toast` instance associated\n * to a target `Element`.\n */\nconst getToastInstance = (element: HTMLElement) => getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: HTMLElement) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent(`show.bs.${toastString}`);\nconst shownToastEvent = createCustomEvent(`shown.bs.${toastString}`);\nconst hideToastEvent = createCustomEvent(`hide.bs.${toastString}`);\nconst hiddenToastEvent = createCustomEvent(`hidden.bs.${toastString}`);\n\n// TOAST PRIVATE METHODS\n// =====================\n/**\n * Executes after the toast is shown to the user.\n *\n * @param self the `Toast` instance\n */\nconst showToastComplete = (self: Toast) => {\n const { element, options } = self;\n removeClass(element, showingClass);\n Timer.clear(element, showingClass);\n\n dispatchEvent(element, shownToastEvent);\n /* istanbul ignore else */\n if (options.autohide) {\n Timer.set(element, () => self.hide(), options.delay, toastString);\n }\n};\n\n/**\n * Executes after the toast is hidden to the user.\n *\n * @param self the `Toast` instance\n */\nconst hideToastComplete = (self: Toast) => {\n const { element } = self;\n removeClass(element, showingClass);\n removeClass(element, showClass);\n addClass(element, hideClass); // B/C\n Timer.clear(element, toastString);\n dispatchEvent(element, hiddenToastEvent);\n};\n\n/**\n * Executes before hiding the toast.\n *\n * @param self the `Toast` instance\n */\nconst hideToast = (self: Toast) => {\n const { element, options } = self;\n addClass(element, showingClass);\n\n if (options.animation) {\n reflow(element);\n emulateTransitionEnd(element, () => hideToastComplete(self));\n } else {\n hideToastComplete(self);\n }\n};\n\n/**\n * Executes before showing the toast.\n *\n * @param self the `Toast` instance\n */\nconst showToast = (self: Toast) => {\n const { element, options } = self;\n Timer.set(\n element,\n () => {\n removeClass(element, hideClass); // B/C\n reflow(element);\n addClass(element, showClass);\n addClass(element, showingClass);\n\n if (options.animation) {\n emulateTransitionEnd(element, () => showToastComplete(self));\n } else {\n showToastComplete(self);\n }\n },\n 17,\n showingClass,\n );\n};\n\n// TOAST EVENT HANDLERS\n// ====================\n/**\n * Executes after the instance has been disposed.\n *\n * @param {Toast} self the `Toast` instance\n */\nconst completeDisposeToast = (self: Toast) => {\n Timer.clear(self.element, toastString);\n self._toggleEventListeners();\n};\n\n/**\n * Handles the `click` event listener for toast.\n *\n * @param e the `Event` object\n */\nconst toastClickHandler = (e: Event) => {\n const { target } = e;\n\n const trigger = target && closest(target as HTMLElement, toastToggleSelector);\n const element = trigger && getTargetElement(trigger);\n const self = element && getToastInstance(element);\n\n /* istanbul ignore else */\n if (self) {\n /* istanbul ignore else */\n if (trigger && trigger.tagName === 'A') e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\n }\n};\n\n/**\n * Executes when user interacts with the toast without closing it,\n * usually by hovering or focusing it.\n *\n * @param e the `Toast` instance\n */\nconst interactiveToastHandler = (e: MouseEvent) => {\n const element = e.target as HTMLElement;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n /* istanbul ignore else: a solid filter is required */\n if (self && element !== relatedTarget && !element.contains(relatedTarget as Node)) {\n if ([mouseenterEvent, focusinEvent].includes(type)) {\n Timer.clear(element, toastString);\n } else {\n Timer.set(element, () => self.hide(), self.options.delay, toastString);\n }\n }\n};\n\n// TOAST DEFINITION\n// ================\n/** Creates a new `Toast` instance. */\nexport default class Toast extends BaseComponent {\n static selector = toastSelector;\n static init = toastInitCallback;\n static getInstance = getToastInstance;\n declare options: ToastOptions;\n declare dismiss: HTMLElement | null;\n declare triggers: HTMLElement[];\n declare relatedTarget: HTMLElement | null;\n\n /**\n * @param target the target `.toast` element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n const { element, options } = this;\n\n // set fadeClass, the options.animation will override the markup\n if (options.animation && !hasClass(element, fadeClass)) addClass(element, fadeClass);\n else if (!options.animation && hasClass(element, fadeClass)) removeClass(element, fadeClass);\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [...querySelectorAll(toastToggleSelector, getDocument(element))].filter(\n btn => getTargetElement(btn) === element,\n );\n\n // add event listener\n this._toggleEventListeners(true);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return toastComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return toastDefaults;\n }\n /**\n * Returns *true* when toast is visible.\n */\n get isShown() {\n return hasClass(this.element, showClass);\n }\n\n // TOAST PUBLIC METHODS\n // ====================\n /** Shows the toast. */\n show = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && !isShown) {\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) {\n showToast(this);\n }\n }\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && isShown) {\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) {\n hideToast(this);\n }\n }\n };\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, it will add the listener\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element, triggers, dismiss, options, hide } = this;\n\n /* istanbul ignore else */\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n /* istanbul ignore else */\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(e =>\n action(element, e, interactiveToastHandler),\n );\n }\n /* istanbul ignore else */\n if (triggers.length) {\n triggers.forEach(btn => action(btn, mouseclickEvent, toastClickHandler));\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (isShown) {\n removeClass(element, showClass);\n }\n\n completeDisposeToast(this);\n\n super.dispose();\n }\n}\n","import { Data, getElementsByTagName, matches } from '@thednp/shorty';\n\nimport { addListener } from '@thednp/event-listener';\n\nimport Alert from '../components/alert';\nimport Button from '../components/button';\nimport Carousel from '../components/carousel';\nimport Collapse from '../components/collapse';\nimport Dropdown from '../components/dropdown';\nimport Modal from '../components/modal';\nimport Offcanvas from '../components/offcanvas';\nimport Popover from '../components/popover';\nimport ScrollSpy from '../components/scrollspy';\nimport Tab from '../components/tab';\nimport Toast from '../components/toast';\nimport Tooltip from '../components/tooltip';\n\nconst componentsList = new Map<\n string,\n | typeof Alert\n | typeof Button\n | typeof Carousel\n | typeof Collapse\n | typeof Dropdown\n | typeof Modal\n | typeof Offcanvas\n | typeof Popover\n | typeof ScrollSpy\n | typeof Tab\n | typeof Toast\n | typeof Tooltip\n>();\n\n[Alert, Button, Carousel, Collapse, Dropdown, Modal, Offcanvas, Popover, ScrollSpy, Tab, Toast, Tooltip].forEach(c =>\n componentsList.set(c.prototype.name, c),\n);\n\n/**\n * Initialize all matched `Element`s for one component.\n *\n * @param callback\n * @param collection\n */\nconst initComponentDataAPI = (\n callback: (el: HTMLElement, ops?: Record) => T,\n collection: HTMLCollectionOf | HTMLElement[],\n) => {\n [...collection].forEach(x => callback(x));\n};\n\n/**\n * Remove one component from a target container element or all in the page.\n *\n * @param component the component name\n * @param context parent `Node`\n */\nconst removeComponentDataAPI = (component: string, context: ParentNode) => {\n const compData = Data.getAllFor(component) as Map;\n\n if (compData) {\n [...compData].forEach(([element, instance]) => {\n if (context.contains(element)) (instance as T & { dispose: () => void }).dispose();\n });\n }\n};\n\n/**\n * Initialize all BSN components for a target container.\n *\n * @param context parent `Node`\n */\nexport const initCallback = (context?: ParentNode) => {\n const lookUp = context && context.nodeName ? context : document;\n const elemCollection = [...getElementsByTagName('*', lookUp)];\n\n componentsList.forEach(cs => {\n const { init, selector } = cs;\n initComponentDataAPI(\n init,\n elemCollection.filter(item => matches(item, selector)),\n );\n });\n};\n\n/**\n * Remove all BSN components for a target container.\n *\n * @param context parent `Node`\n */\nexport const removeDataAPI = (context?: ParentNode) => {\n const lookUp = context && context.nodeName ? context : document;\n\n componentsList.forEach(comp => {\n removeComponentDataAPI(comp.prototype.name, lookUp);\n });\n};\n\n// Bulk initialize all components\nif (document.body) initCallback();\nelse {\n addListener(document, 'DOMContentLoaded', () => initCallback(), { once: true });\n}\n"],"names":["fe","ge","Ee","ye","we","Ae","P","$","_","tt","st","rt","it","lt","pt","mt","ft","St","kt","Mt","Ct","zt","Vt","Ce","Re","Qe","je","qe","$e","Rt","Qt","C","U","jt","A","qt","S","z","x","vn","N","Gt","e","n","o","s","Jt","Kt","r","Xt","Yt","kn","Tn","Cn","Ln","In","zn","v","i","u","E","L","Hn","k","W","R","d","M","Zt","Q","g","ee","ne","Un","a","l","Qn","V","w","oe","jn","p","c","m","y","j","Gn","Xn","Yn","Zn","$n","I","se","f","_n","h","eo","T","ce","so","B","H","b","ae","ro","ie","uo","mo","ho","yo","Ao","le","So","de","Mo","To","Do","fadeClass","showClass","dataBsDismiss","alertString","alertComponent","Version","version","BaseComponent","target","config","__publicField","element","querySelector","isString","prevInstance","Data","ObjectKeys","normalizeOptions","prop","alertSelector","alertDismissSelector","getAlertInstance","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","hasClass","removeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent","activeClass","dataBsToggle","buttonString","buttonComponent","buttonSelector","getButtonInstance","buttonInitCallback","Button","isActive","getAttribute","addClass","setAttribute","ariaPressed","dataBsTarget","carouselString","carouselComponent","dataBsParent","dataBsContainer","getTargetElement","targetAttr","doc","getDocument","att","attValue","closest","carouselSelector","carouselItem","dataBsSlideTo","dataBsSlide","pausedClass","carouselDefaults","getCarouselInstance","carouselInitCallback","Carousel","startX","currentX","endX","carouselSlideEvent","carouselSlidEvent","carouselTransitionEndHandler","index","direction","slides","options","activeItem","getActiveIndex","orientation","directionClass","Timer","carouselPauseHandler","carouselResumeHandler","carouselIndicatorHandler","newIndex","carouselControlsHandler","carouselKeyHandler","code","querySelectorAll","isElementInScrollRange","RTL","isRTL","keyArrowRight","keyArrowLeft","carouselDragHandler","carouselPointerDownHandler","controls","indicators","el","toggleCarouselTouchHandlers","carouselPointerMoveHandler","carouselPointerUpHandler","_a","activateCarouselIndicator","pointermoveEvent","passiveHandler","pointerupEvent","isHTMLElement","touch","pause","interval","keyboard","mouseenterEvent","mouseleaveEvent","pointerdownEvent","touchstartEvent","dragstartEvent","arrow","indicator","keydownEvent","getElementsByClassName","activeIndex","transitionItem","matches","ar","isPaused","idx","next","eventProperties","ObjectAssign","getElementTransitionDuration","reflow","isAnimating","clone","collapsingClass","collapseString","collapseComponent","collapseSelector","collapseToggleSelector","collapseDefaults","getCollapseInstance","collapseInitCallback","Collapse","showCollapseEvent","shownCollapseEvent","hideCollapseEvent","hiddenCollapseEvent","expandCollapse","parent","triggers","noop","setElementStyle","btn","ariaExpanded","collapseContent","collapseClickHandler","trigger","activeCollapse","activeCollapseInstance","dropdownMenuClasses","dropdownComponent","dropdownMenuClass","isEmptyAnchor","parentAnchor","hasAttribute","dropdownString","dropupString","dropstartString","dropendString","dropdownClasses","dropdownSelector","getDropdownInstance","dropdownInitCallback","Dropdown","dropdownMenuEndClass","verticalClass","horizontalClass","menuFocusTags","dropdownDefaults","showDropdownEvent","shownDropdownEvent","hideDropdownEvent","hiddenDropdownEvent","updatedDropdownEvent","styleDropdown","menu","parentElement","offset","getElementStyle","menuEnd","style","positionClass","dropdownMargin","dropdownPosition","menuWidth","menuHeight","clientWidth","clientHeight","getDocumentElement","targetLeft","targetTop","targetWidth","targetHeight","getBoundingClientRect","leftFullExceed","rightFullExceed","bottomExceed","bottomFullExceed","topExceed","leftExceed","rightExceed","posAjust","margins","getMenuItems","firstElementChild","toggleDropdownDismiss","dropdownDismissHandler","focusEvent","dropdownPreventScroll","keyupEvent","dropdownKeyHandler","scrollEvent","resizeEvent","ev","getWindow","dropdownLayoutHandler","getCurrentOpenDropdown","currentParent","type","isForm","mousedownEvent","dropdownClickHandler","keyArrowDown","keyArrowUp","activeElement","open","menuItems","focus","keyEscape","currentElement","currentInstance","modalString","modalComponent","offcanvasComponent","fixedTopClass","fixedBottomClass","stickyTopClass","positionStickyClass","getFixedItems","resetScrollbar","bd","getDocumentBody","fixedItems","fixed","measureScrollbar","innerWidth","setScrollbar","overflow","bodyPad","sbWidth","itemPadValue","itemMValue","offcanvasString","popupContainer","createElement","appendPopup","customContainer","containerIsBody","isNode","lookup","BODY","removePopup","hasPopup","backdropString","modalBackdropClass","offcanvasBackdropClass","modalActiveSelector","offcanvasActiveSelector","overlay","getCurrentOpen","toggleOverlayType","isModal","targetClass","appendOverlay","hasFade","showOverlay","hideOverlay","removeOverlay","isVisible","modalSelector","modalToggleSelector","modalDismissSelector","modalStaticClass","modalDefaults","getModalInstance","modalInitCallback","Modal","showModalEvent","shownModalEvent","hideModalEvent","hiddenModalEvent","setModalScrollbar","scrollbarWidth","scrollHeight","modalHeight","modalScrollHeight","modalOverflow","pad","padStyle","toggleModalDismiss","update","modalDismissHandler","modalKeyHandler","afterModalHide","relatedTarget","focusElement","afterModalShow","beforeModalShow","removeAttribute","ariaHidden","ariaModal","beforeModalHide","modalClickHandler","_b","currentTarget","isStatic","modalDialog","backdrop","selectedText","targetInsideDialog","staticTransitionEnd","duration","overlayDelay","currentOpen","that","callback","offcanvasSelector","offcanvasToggleSelector","offcanvasDismissSelector","offcanvasTogglingClass","offcanvasDefaults","getOffcanvasInstance","offcanvasInitCallback","Offcanvas","showOffcanvasEvent","shownOffcanvasEvent","hideOffcanvasEvent","hiddenOffcanvasEvent","setOffCanvasScrollbar","toggleOffCanvasDismiss","offcanvasKeyDismissHandler","offcanvasDismissHandler","beforeOffcanvasShow","showOffcanvasComplete","beforeOffcanvasHide","hideOffcanvasComplete","offcanvasTriggerHandler","offCanvasDismiss","selection","visibleTrigger","delay","popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","body","tipClassPositions","styleTip","tipClasses","tooltip","container","tipPositions","isPopover","tipWidth","tipHeight","htmlcw","htmlch","htmlow","placement","parentCWidth","parentOWidth","fixedParent","leftBoundry","rightBoundry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","topPosition","bottomPosition","leftPosition","rightPosition","arrowTop","arrowLeft","arrowRight","arrowWidth","arrowHeight","arrowAdjust","horizontals","verticals","updatedTooltipEvent","toLowerCase","tooltipDefaults","dataOriginalTitle","tooltipComponent","setHtml","content","sanitizeFn","dirty","isFunction","tempDocument","isNodeList","isArray","createTip","id","title","template","animation","customClass","dismissible","btnClose","tipString","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","tooltipHeader","tooltipBody","tempTitle","tempContent","tempBtn","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","tooltipSelector","titleAttr","getTooltipInstance","tooltipInitCallback","Tooltip","removeTooltip","offsetParent","ariaDescribedBy","hasTip","disposeTooltipComplete","toggleTooltipTitle","toggleTooltipAction","tooltipShownAction","shownTooltipEvent","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","offsetHeight","parentModal","parentOffcanvas","win","scrollTarget","titleAtt","tr","mousehoverEvent","focusinEvent","focusoutEvent","isApple","tipComponent","elem","getUID","position","outTimer","tipContainer","showTooltipEvent","hideTooltipEvent","enabled","popoverSelector","popoverDefaults","getPopoverInstance","popoverInitCallback","Popover","scrollspyString","scrollspyComponent","scrollspySelector","scrollspyDefaults","getScrollSpyInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","updateSpyTargets","itemsLength","isWin","isWindow","links","getElementsByTagName","scrollHEIGHT","getScrollHeight","href","targetItem","rect","getOffsetHeight","link","clear","item","activate","parents","parentItem","menuItem","parentLink","scrollTop","maxScroll","items","newActiveItem","offsets","tabString","tabComponent","tabSelector","getTabInstance","tabInitCallback","Tab","showTabEvent","shownTabEvent","hideTabEvent","hiddenTabEvent","tabPrivate","triggerTabEnd","tabContent","nav","triggerTabShow","nextContent","tab","currentHeight","nextHeight","triggerTabHide","getActiveTab","activeTabs","getParentDropdown","dropdown","tabClickHandler","firstTab","firstTabContent","ariaSelected","activeDropdown","toggleTab","toastString","toastComponent","toastSelector","toastDismissSelector","toastToggleSelector","showingClass","hideClass","toastDefaults","getToastInstance","toastInitCallback","Toast","showToastEvent","shownToastEvent","hideToastEvent","hiddenToastEvent","showToastComplete","hideToastComplete","hideToast","showToast","completeDisposeToast","toastClickHandler","interactiveToastHandler","isShown","hide","componentsList","initComponentDataAPI","collection","removeComponentDataAPI","component","context","compData","instance","initCallback","lookUp","elemCollection","cs","init","selector","removeDataAPI","comp"],"mappings":";;;AAAK,MAA+CA,KAAK,oBAAoBC,KAAK,iBAAuCC,KAAK,eAA0DC,KAAK,cAAcC,KAAK,gBAAgBC,KAAK,iBAAwLC,KAAI,oBAAuDC,KAAI,SAASC,KAAI,WAAWC,KAAK,YAA0EC,KAAK,WAA4BC,KAAK,SAAsBC,IAAK,SAA0BC,KAAK,aAA6BC,KAAK,SAASC,KAAK,cAAcC,KAAK,cAAmKC,KAAK,eAAoCC,KAAK,eAAeC,KAAK,aAAoDC,KAAK,UAA+DC,KAAK,UAAyBC,KAAK,cAmDtlCC,KAAK,aAoDNC,KAAK,aAAaC,KAAK,WAAWC,KAAK,aAAaC,KAAK,cAAkHC,KAAK,UAAyMC,KAAK,sBAAsBC,KAAK,mBAAmBC,KAAI,iBAAiBC,KAAI,sBA0B9WC,KAAK,UAAU,eAAeC,KAAID,IAAI,EAAE,WAAWE,GAAE,IAAK,WAAWC,KAAID,IAAIE,KAAI;AAEvLH,KAAQA,GAAE,OAAO,KAAK,CAAC,MAAMG,GAAE,KAAK,EAAE,KAAK,CAAC,IAAQA,GAAE,KAAKD,EAAC;AACvD,MAASE,KAAI,sBAAsBC,KAAKL,KAAIA,GAAE,OAAO,KAAK,CAAC,MAAMI,GAAE,KAAK,EAAE,KAAK,CAAC;AAAA;AAAA,EAEnFA,GAAE,KAAKF,EAAC;AAAA;AACFA,MAAIA,GAAE,SAAS,SAAS;AAG7B,MAAA,EAAE,MAAMI,OAAM;AAAe,CAAC,qBAAqB,aAAa,EAAE,KAAK,CAAC,MAAM,KAAKA,GAAE,KAAK;AAAG,MAAAC,KAAK,CAAC,GAAGC,GAAGC,GAAGC,MAAM;AACnH,QAAMC,IAAID,KAAK;AACf,IAAE,iBAAiBF,GAAGC,GAAGE,CAAC;AAC5B,GAAGC,KAAK,CAAC,GAAGJ,GAAGC,GAAGC,MAAM;AACtB,QAAMC,IAAID,KAAK;AACf,IAAE,oBAAoBF,GAAGC,GAAGE,CAAC;AAC/B,GAAGE,KAAK,CAAC,GAAGL,GAAGC,GAAGC,MAAM;AACtB,QAAMC,IAAI,CAACG,MAAM;AACf,KAACA,EAAE,WAAW,KAAKA,EAAE,kBAAkB,OAAOL,EAAE,MAAM,GAAG,CAACK,CAAC,CAAC,GAAGF,GAAG,GAAGJ,GAAGG,GAAGD,CAAC;AAAA,EAChF;AACE,EAAAH,GAAG,GAAGC,GAAGG,GAAGD,CAAC;AACf,GAAGK,KAAK,MAAM;AACd;AAAA,CAAS,MAAM;AACb,MAAI,IAAI;AACR,MAAI;AACF,UAAMP,IAAI,OAAO,eAAe,CAAA,GAAI,WAAW;AAAA,MAC7C,KAAK,OAAO,IAAI,IAAI;AAAA,IAC1B,CAAK;AACD,IAAAK,GAAG,UAAUzC,IAAG2C,IAAIP,CAAC;AAAA,EACzB,QAAU;AAAA,EACP;AACD,SAAO;AACT,GAAI;AAAO,CAAC,mBAAmB,WAAW,EAAE,KAAK,CAAC,MAAM,KAAKF,GAAE,KAAK;AAC9B,CAAC,mBAAmB,WAAW,EAAE,KAAK,CAAC,MAAM,KAAKA,GAAE,KAAK;AAAQ,CAAC,oBAAoB,YAAY,EAAE,KAAK,CAAC,MAAM,KAAKA,GAAE,KAAK;AAAE,MAACU,KAAK,CAAC,GAAGR,MAAM,EAAE,aAAaA,CAAC,GAA6CS,KAAK,CAAC,GAAGT,MAAM,EAAE,aAAaA,CAAC,GAA6CU,IAAK,CAAC,GAAGV,GAAGC,MAAM,EAAE,aAAaD,GAAGC,CAAC,GAAmDU,KAAK,CAAC,GAAGX,MAAM,EAAE,gBAAgBA,CAAC,GAAgDY,IAAK,CAAC,MAAMZ,MAAM;AACvf,IAAE,UAAU,IAAI,GAAGA,CAAC;AACtB,GAAGa,IAAK,CAAC,MAAMb,MAAM;AACnB,IAAE,UAAU,OAAO,GAAGA,CAAC;AACzB,GAAGc,IAAK,CAAC,GAAGd,MAAM,EAAE,UAAU,SAASA,CAAC,GAA2Fe,KAAI,CAAC,MAAM,KAAK,QAAQ,OAAO,KAAK,YAAY,IAAIC,IAAI,CAAC,MAAMD,GAAE,CAAC,KAAK,OAAO,EAAE,YAAY,YAAY,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,KAAK,CAACf,MAAM,EAAE,aAAaA,CAAC,KAAK,IAAIiB,IAAI,CAAC,MAAMD,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAIE,KAAoB,oBAAI,IAAK,GAAEC,KAAI;AAAA,EAChY,MAAMD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAQN,KAAK,CAAC,GAAGlB,GAAGC,MAAM;AAChB,IAAKgB,EAAE,CAAC,MAERC,GAAE,IAAIlB,CAAC,KAAKkB,GAAE,IAAIlB,GAAmB,oBAAI,IAAK,CAAA,GAAGkB,GAAE,IAAIlB,CAAC,EAAE,IAAI,GAAGC,CAAC;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,WAAW,CAAC,MAAMiB,GAAE,IAAI,CAAC,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ9B,KAAK,CAAC,GAAGlB,MAAM;AACb,QAAI,CAACiB,EAAE,CAAC,KAAK,CAACjB;AACZ,aAAO;AACT,UAAMC,IAAIkB,GAAE,UAAUnB,CAAC;AACvB,WAAO,KAAKC,KAAKA,EAAE,IAAI,CAAC,KAAK;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,QAAQ,CAAC,GAAGD,MAAM;AAChB,UAAMC,IAAIkB,GAAE,UAAUnB,CAAC;AACvB,KAACC,KAAK,CAACgB,EAAE,CAAC,MAAMhB,EAAE,OAAO,CAAC,GAAGA,EAAE,SAAS,KAAKiB,GAAE,OAAOlB,CAAC;AAAA,EACxD;AACH,GAAGoB,IAAK,CAAC,GAAGpB,MAAMmB,GAAE,IAAI,GAAGnB,CAAC,GAAGqB,KAAI,CAAC,MAAM,OAAO,KAAK,YAAY,IAAIC,KAAI,CAAC,MAAMP,GAAE,CAAC,KAAK,EAAE,YAAY,SAAS,YAAY,IAAIQ,KAAI,CAAC,MAAMP,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAIQ,IAAI,CAAC,MAAMF,GAAE,CAAC,IAAI,EAAE,WAAWC,GAAE,CAAC,IAAI,IAAIP,EAAE,CAAC,IAAI,EAAE,gBAAgB,OAAO,UAAUS,KAAI,CAAC,MAAMzB,MAAM,OAAO,OAAO,GAAG,GAAGA,CAAC,GAAG0B,KAAK,CAAC,MAAM;AAClT,MAAI,CAAC;AACH;AACF,MAAIL,GAAE,CAAC;AACL,WAAOG,EAAG,EAAC,cAAc,CAAC;AAC5B,QAAM,EAAE,SAASxB,EAAG,IAAG,GAAGC,IAAIyB,GAAG1B,CAAC;AAClC,MAAI,CAACC;AACH;AACF,QAAMC,IAAI,EAAE,GAAG;AACf,SAAO,OAAOA,EAAE,SAASuB,GAAExB,GAAGC,CAAC;AACjC,GAUGyB,IAAI,CAAC,GAAG3B,MAAM,EAAE,cAAcA,CAAC,GAAyC4B,IAAI,CAAC,GAAG5B,MAAM;AACvF,QAAMC,IAAI,iBAAiB,CAAC,GAAGC,IAAIF,EAAE,QAAQ,UAAU,QAAQ,EAAE,QAAQ,YAAY,KAAK,EAAE,YAAW;AACvG,SAAOC,EAAE,iBAAiBC,CAAC;AAC7B,GA8BG2B,KAAK,CAAC,MAAM;AACb,QAAM7B,IAAI4B,EAAE,GAAGtC,EAAC,GAAGW,IAAI2B,EAAE,GAAGxC,EAAE,GAAGc,IAAID,EAAE,SAAS,IAAI;AAAA;AAAA,IAElD;AAAA,MACE,KAAKE,IAAIH,KAAKA,MAAM,SAAS,WAAWC,CAAC,IAAIC;AAAA;AAAA,IAE/C;AAAA;AAEF,SAAO,OAAO,MAAMC,CAAC;AAAA;AAAA,IAEnB;AAAA,MACEA;AACN,GAAG2B,KAAK,CAAC,MAAM;AACb,QAAM9B,IAAI4B,EAAE,GAAGtC,EAAC,GAAGW,IAAI2B,EAAE,GAAGzC,EAAE,GAAGe,IAAID,EAAE,SAAS,IAAI;AAAA;AAAA,IAElD;AAAA,MACE,KAAKE,IAAIH,KAAKA,MAAM,SAAS,WAAWC,CAAC,IAAIC;AAAA;AAAA,IAE/C;AAAA;AAEF,SAAO,OAAO,MAAMC,CAAC;AAAA;AAAA,IAEnB;AAAA,MACEA;AACN,GAAG4B,IAAK,CAAC,GAAG/B,MAAM;AAChB,MAAIC,IAAI;AACR,QAAMC,IAAI,IAAI,MAAMb,EAAC,GAAGc,IAAI2B,GAAG,CAAC,GAAGxB,IAAIuB,GAAG,CAAC;AAC3C,MAAI1B,GAAG;AACL,UAAM6B,IAAI,CAACC,MAAM;AACf,MAAAA,EAAE,WAAW,MAAMjC,EAAE,MAAM,GAAG,CAACiC,CAAC,CAAC,GAAG,EAAE,oBAAoB5C,IAAG2C,CAAC,GAAG/B,IAAI;AAAA,IAC3E;AACI,MAAE,iBAAiBZ,IAAG2C,CAAC,GAAG,WAAW,MAAM;AACzC,MAAA/B,KAAK0B,EAAE,GAAGzB,CAAC;AAAA,IACjB,GAAOC,IAAIG,IAAI,EAAE;AAAA,EACd;AACC,IAAAN,EAAE,MAAM,GAAG,CAACE,CAAC,CAAC;AAClB,GAA+FgC,KAAK,CAAC,GAAGlC,MAAM,EAAE,MAAMA,CAAC,GAAGmC,KAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,MAAM,MAAM,EAAE,SAAS,CAAC,IAAI,OAAO,MAAM,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,GAAGC,KAAI,CAAC,MAAM,OAAO,QAAQ,CAAC,GAAGC,KAAK,CAAC,MAAM,EAAE,YAAW,GAAIC,KAAK,CAAC,GAAGtC,GAAGC,GAAGC,MAAM;AAC5W,QAAMC,IAAI,EAAE,GAAGF,EAAG,GAAEK,IAAI,EAAE,GAAG,EAAE,QAAS,GAAE0B,IAAI,EAAE,GAAGhC,EAAG,GAAEiC,IAAI,CAAE,GAAEM,IAAI;AACpE,SAAOH,GAAE9B,CAAC,EAAE,QAAQ,CAAC,CAACkC,GAAGC,CAAC,MAAM;AAC9B,UAAMC,IAAIxC,KAAK,OAAOsC,KAAK,YAAYA,EAAE,SAAStC,CAAC,IAAIsC,EAAE,QAAQtC,GAAG,EAAE,EAAE,QAAQ,UAAU,CAACyC,MAAMN,GAAGM,CAAC,CAAC,IAAIH;AAC1G,IAAAP,EAAES,CAAC,IAAIP,GAAEM,CAAC;AAAA,EACd,CAAG,GAAGL,GAAEjC,CAAC,EAAE,QAAQ,CAAC,CAACqC,GAAGC,CAAC,MAAM;AAC3B,IAAAtC,EAAEqC,CAAC,IAAIL,GAAEM,CAAC;AAAA,EACd,CAAG,GAAGL,GAAEpC,CAAC,EAAE,QAAQ,CAAC,CAACwC,GAAGC,CAAC,MAAM;AAC3B,IAAAD,KAAKrC,IAAI6B,EAAEQ,CAAC,IAAIrC,EAAEqC,CAAC,IAAIA,KAAKP,IAAID,EAAEQ,CAAC,IAAIP,EAAEO,CAAC,IAAIR,EAAEQ,CAAC,IAAIA,MAAMD,IAAI/B,GAAG,GAAG+B,CAAC,IAAIE;AAAA,EAC3E,CAAA,GAAGT;AACN,GAA2DY,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,GAAoEC,IAAK,CAAC,GAAG7C,MAAM;AACrK,QAAMC,IAAI,IAAI,YAAY,GAAG;AAAA,IAC3B,YAAY;AAAA,IACZ,SAAS;AAAA,EACb,CAAG;AACD,SAAOc,GAAEf,CAAC,KAAKyB,GAAExB,GAAGD,CAAC,GAAGC;AAC1B,GAAG6C,KAAK,EAAE,SAAS,GAAE,GAAIC,KAAK,CAAC,MAAM,EAAE,cAAcC,IAAK,CAAC,GAAGhD,MAAM;AAClE,EAAAoC,GAAEpC,CAAC,EAAE,QAAQ,CAAC,CAACC,GAAGC,CAAC,MAAM;AACvB,QAAIA,KAAKmB,GAAEpB,CAAC,KAAKA,EAAE,SAAS,IAAI;AAC9B,QAAE,MAAM,YAAYA,GAAGC,CAAC;AAAA,SACrB;AACH,YAAMC,IAAI,CAAA;AACV,MAAAA,EAAEF,CAAC,IAAIC,GAAGuB,GAAE,EAAE,OAAOtB,CAAC;AAAA,IACvB;AAAA,EACL,CAAG;AACH,GAAG8C,KAAI,CAAC,MAAMlC,GAAE,CAAC,KAAK,EAAE,YAAY,SAAS,SAAS,IAAImC,KAAK,CAAC,MAAM,OAAO,KAAK,YAAY,IAAIC,KAAoB,oBAAI,IAAK,GAAEC,IAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASpI,KAAK,CAAC,GAAGpD,GAAGC,GAAGC,MAAM;AACnB,IAAAe,EAAE,CAAC,MAAMf,KAAKA,EAAE,UAAUiD,GAAE,IAAI,CAAC,KAAKA,GAAE,IAAI,GAAmB,oBAAI,IAAK,CAAA,GAAGA,GAAE,IAAI,CAAC,EAAE,IAAIjD,GAAG,WAAWF,GAAGC,CAAC,CAAC,KAAKkD,GAAE,IAAI,GAAG,WAAWnD,GAAGC,CAAC,CAAC;AAAA,EAC1I;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQD,KAAK,CAAC,GAAGD,MAAM;AACb,QAAI,CAACiB,EAAE,CAAC;AACN,aAAO;AACT,UAAMhB,IAAIkD,GAAE,IAAI,CAAC;AACjB,WAAOnD,KAAKC,KAAKgD,GAAEhD,CAAC,IAAIA,EAAE,IAAID,CAAC;AAAA,IAC/B,OAAOkD,GAAGjD,CAAC,IAAIA,IAAI;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,OAAO,CAAC,GAAGD,MAAM;AACf,QAAI,CAACiB,EAAE,CAAC;AACN;AACF,UAAMhB,IAAIkD,GAAE,IAAI,CAAC;AACjB,IAAAnD,KAAKA,EAAE,UAAUiD,GAAEhD,CAAC,KAAK,aAAaA,EAAE,IAAID,CAAC,CAAC,GAAGC,EAAE,OAAOD,CAAC,GAAGC,EAAE,SAAS,KAAKkD,GAAE,OAAO,CAAC,MAAM,aAAalD,CAAC,GAAGkD,GAAE,OAAO,CAAC;AAAA,EAC1H;AACH,GAAgCE,KAAI,CAAC,GAAGrD,MAAM;AAC5C,QAAM,EAAE,OAAOC,GAAG,QAAQC,GAAG,KAAKC,GAAG,OAAOG,GAAG,QAAQ0B,GAAG,MAAMC,EAAC,IAAK,EAAE;AACxE,MAAIM,IAAI,GAAGC,IAAI;AACf,MAAIxC,KAAKiB,EAAE,CAAC,GAAG;AACb,UAAM,EAAE,aAAawB,GAAG,cAAcC,EAAC,IAAK;AAC5C,IAAAH,IAAIE,IAAI,IAAI,KAAK,MAAMxC,CAAC,IAAIwC;AAAA;AAAA,MAE1B;AAAA,OACCD,IAAIE,IAAI,IAAI,KAAK,MAAMxC,CAAC,IAAIwC;AAAA;AAAA,MAE7B;AAAA;AAAA,EAEH;AACD,SAAO;AAAA,IACL,OAAOzC,IAAIsC;AAAA,IACX,QAAQrC,IAAIsC;AAAA,IACZ,KAAKrC,IAAIqC;AAAA,IACT,OAAOlC,IAAIiC;AAAA,IACX,QAAQP,IAAIQ;AAAA,IACZ,MAAMP,IAAIM;AAAA,IACV,GAAGN,IAAIM;AAAA,IACP,GAAGpC,IAAIqC;AAAA,EACX;AACA,GAAGc,KAAK,CAAC,MAAM9B,EAAE,CAAC,EAAE,MAAM+B,KAAI,CAAC,MAAM/B,EAAE,CAAC,EAAE,iBAGvCgC,KAAK,CAAC,MAAMxC,EAAE,CAAC,KAAK,EAAE,YAAY,SAAS,gBAAgB,IAAIyC,KAAK,CAAC,MAAM,EAAE,aAAa,SAAS,IAAIxC,EAAE,CAAC,KAAK,EAAE;AACpHD,EAAE,CAAC,KAAK,EAAE;AACVwC,GAAG,CAAC,KAAK,EAAE;AACXD,GAAE,CAAC;AAkBH,IAAIG,KAAI,GAAGC,KAAI;AACV,MAACC,KAAoB,oBAAI,IAAK,GAAEC,KAAK,CAAC,GAAG7D,MAAM;AAClD,MAAIC,IAAID,IAAI0D,KAAIC;AAChB,MAAI3D,GAAG;AACL,UAAME,IAAI2D,GAAG,CAAC,GAAG1D,IAAIyD,GAAE,IAAI1D,CAAC,KAAqB,oBAAI;AACrD,IAAA0D,GAAE,IAAI1D,CAAC,KAAK0D,GAAE,IAAI1D,GAAGC,CAAC,GAAG8C,GAAE9C,CAAC,KAAK,CAACA,EAAE,IAAIH,CAAC,KAAKG,EAAE,IAAIH,GAAGC,CAAC,GAAGyD,MAAK,KAAKzD,IAAIE,EAAE,IAAIH,CAAC;AAAA,EACpF,OAAS;AACL,UAAME,IAAI,EAAE,MAAM;AAClB,IAAA0D,GAAE,IAAI1D,CAAC,IAAID,IAAI2D,GAAE,IAAI1D,CAAC,KAAK0D,GAAE,IAAI1D,GAAGD,CAAC,GAAG0D,MAAK;AAAA,EAC9C;AACD,SAAO1D;AACT,GAAG6D,KAAK,CAAC,MAAM;AACb,MAAI9D;AACJ,SAAO,IAAIuB,GAAE,CAAC,IAAI,EAAE,cAAcP,EAAE,CAAC,KAAKhB,IAAI,KAAK,OAAO,SAAS,EAAE,kBAAkB,OAAO,SAASA,EAAE,cAAc,IAAI;AAC7H,GAAG+D,KAAK,CAAC,MAAM,MAAM,QAAQ,CAAC,KAAK,IAAmLC,KAAK,CAAC,MAAM;AAChO,MAAI,CAAChD,EAAE,CAAC;AACN,WAAO;AACT,QAAM,EAAE,KAAKhB,GAAG,QAAQC,EAAG,IAAGoD,GAAE,CAAC,GAAG,EAAE,cAAcnD,EAAG,IAAGqD,GAAE,CAAC;AAC7D,SAAOvD,KAAKE,KAAKD,KAAK;AACxB,GAK0CgE,KAAK,CAAC,MAAM,OAAO,KAAK,cAAc,IAS0FC,KAAK,CAAC,MAAMnD,GAAE,CAAC,KAAK,EAAE,YAAY,SAAS,cAAc,IAAIoD,KAAK,CAAC,MAAMZ,GAAE,CAAC,EAAE,QAAQ,OAAqEa,KAAK,CAAC,MAAMpD,EAAE,CAAC,KAAK,CAAC,SAAS,MAAM,IAAI,EAAE,SAAS,EAAE,QAAQ,KAAK,IAAIqD,IAAK,CAAC,GAAGrE,MAAM,IAAI,EAAE,QAAQA,CAAC;AACzaqE,EAAG,EAAE,YAAW,EAAG,MAAMrE,CAAC,IAAI,MAAMsE,IAAK,CAAC,GAAGtE,MAAMiB,EAAE,CAAC,IAAI,KAAKD,EAAEhB,CAAC,IAAIA,IAAIwB,EAAG,GAAE,cAAc,CAAC,GAAG+C,KAAK,CAAC,GAAGvE,OAAOgB,EAAEhB,CAAC,IAAIA,IAAIwB,EAAG,GAAE,qBAAqB,CAAC,GAA0FgD,KAAK,CAAC,GAAGxE,OAAOgB,EAAEhB,CAAC,IAAIA,IAAIwB,KAAK,iBAAiB,CAAC,GAAGiD,KAAK,CAAC,GAAGzE,OAAOA,KAAKgB,EAAEhB,CAAC,IAAIA,IAAIwB,EAAG,GAAE;AAAA,EACzU;AACF,GAAGkD,KAAK,CAAC,GAAG1E,MAAM,EAAE,QAAQA,CAAC,GC5bvBA,KAAI,CAAE,GAAEmD,KAAI,CAAC,MAAM;AACvB,QAAM,EAAE,MAAMX,GAAG,eAAexB,EAAC,IAAK;AACtC,GAAC,GAAGhB,GAAEwC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAGrC,CAAC,MAAM;AAC5B,IAAAa,MAAM,KAAK,CAAC,GAAGb,CAAC,EAAE,QAAQ,CAAC,CAACD,GAAG8B,CAAC,MAAM;AACpC,MAAA9B,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO8B,KAAK,YAAYA,EAAE,QAAQ1B,EAAE,GAAGkC,GAAGtC,GAAG8B,CAAC;AAAA,IACrE,CAAK;AAAA,EACL,CAAG;AACH,GAAGd,IAAI,CAAC,GAAGsB,GAAGxB,GAAG,MAAM;AACrB,EAAAhB,GAAEwC,CAAC,MAAMxC,GAAEwC,CAAC,IAAoB,oBAAI,IAAG;AACvC,QAAMrC,IAAIH,GAAEwC,CAAC;AACb,EAAArC,EAAE,IAAI,CAAC,KAAKA,EAAE,IAAI,GAAmB,oBAAI,IAAG,CAAE;AAC9C,QAAMD,IAAIC,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM6B,EAAG,IAAG9B;AAClC,EAAAA,EAAE,IAAIc,GAAG,CAAC,GAAGgB,KAAK,EAAE,iBAAiBQ,GAAGW,IAAG,CAAC;AAC9C,GAAG7C,IAAI,CAAC,GAAGkC,GAAGxB,GAAG,MAAM;AACrB,QAAMb,IAAIH,GAAEwC,CAAC,GAAGtC,IAAIC,KAAKA,EAAE,IAAI,CAAC,GAAG6B,IAAI9B,KAAKA,EAAE,IAAIc,CAAC,GAAGQ,IAAIQ,MAAM,SAASA,IAAI;AAC7E,EAAA9B,KAAKA,EAAE,IAAIc,CAAC,KAAKd,EAAE,OAAOc,CAAC,GAAGb,MAAM,CAACD,KAAK,CAACA,EAAE,SAASC,EAAE,OAAO,CAAC,IAAI,CAACA,KAAK,CAACA,EAAE,SAAS,OAAOH,GAAEwC,CAAC,IAAI,CAACtC,KAAK,CAACA,EAAE,SAAS,EAAE;AAAA,IACtHsC;AAAA,IACAW;AAAA,IACA3B;AAAA,EACJ;AACA,GCjBMmD,IAAY,QCAZC,IAAY,QCAZC,KAAgB,mBCFhBC,KAAc,SCAdC,KAAiB,wBCCjBC,KAAUC;ACMhB,MAAqBC,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjC,YAAYC,GAA8BC,GAAsB;AA4ChE;AAAA,IAAAC,EAAA,+BAAwB,MAAM;AAAA,IAAA;AA3CtB,UAAAC,IAAUC,EAAcJ,CAAM;AAEpC,QAAI,CAACG;AACC,YAAAE,GAASL,CAAM,IACX,MAAM,GAAG,KAAK,IAAI,YAAYA,CAAM,4BAA4B,IAEhE,MAAM,GAAG,KAAK,IAAI,wDAAwD;AAIpF,UAAMM,IAAeC,GAAK,IAAiBJ,GAAS,KAAK,IAAI;AAE7D,IAAIG,KAGFA,EAAa,sBAAsB,GAGrC,KAAK,UAAUH,GACf,KAAK,UACH,KAAK,YAAYK,GAAW,KAAK,QAAQ,EAAE,SACvCC,GAAiBN,GAAS,KAAK,UAAUF,KAAU,IAAI,IAAI,IAC3D,IAENM,GAAK,IAAIJ,GAAS,KAAK,MAAM,IAAI;AAAA,EACnC;AAAA;AAAA,EAGA,IAAI,UAAU;AACL,WAAAN;AAAA,EACT;AAAA;AAAA,EAGA,IAAI,OAAO;AACF,WAAA;AAAA,EACT;AAAA;AAAA,EAGA,IAAI,WAAW;AACb,WAAO;EACT;AAAA;AAAA,EAQA,UAAU;AACRU,IAAAA,GAAK,OAAoB,KAAK,SAAS,KAAK,IAAI,GACrCC,GAAA,IAAI,EAAE,QAAQ,CAAQE,MAAA;AAC/B,aAAO,KAAKA,CAAI;AAAA,IAAA,CACjB;AAAA,EACH;AACF;AC7CA,MAAMC,KAAgB,IAAIhB,EAAW,IAC/BiB,KAAuB,IAAIlB,EAAa,KAAKC,EAAW,MAOxDkB,KAAmB,CAACV,MAAyBW,EAAmBX,GAASP,EAAc,GAKvFmB,KAAoB,CAAIZ,MAAyB,IAAIa,GAAMb,CAAO,GAIlEc,KAAkBC,EAA8B,YAAYvB,EAAW,EAAE,GACzEwB,KAAmBD,EAA8B,aAAavB,EAAW,EAAE,GAS3EyB,KAAqB,CAACC,MAAgB;AACpC,QAAA,EAAE,SAAAlB,EAAY,IAAAkB;AACpBC,EAAAA,EAAcnB,GAASgB,EAAgB,GAEvCE,EAAK,sBAAsB,GAC3BA,EAAK,QAAQ,GACblB,EAAQ,OAAO;AACjB;AAKA,MAAqBa,WAAcjB,GAAc;AAAA,EAM/C,YAAYC,GAA8B;AACxC,UAAMA,CAAM;AAHd,IAAAE,EAAA;AAwBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,EAAA,eAAQ,MAAM;AACN,YAAA,EAAE,SAAAC,EAAY,IAAA;AAGpB,MAAIA,KAAWoB,EAASpB,GAASV,CAAS,MACxC6B,EAAcnB,GAASc,EAAe,GAEjCA,GAAgB,qBACnBO,EAAYrB,GAASV,CAAS,GAE1B8B,EAASpB,GAASX,CAAS,IAC7BiC,EAAqBtB,GAAS,MAAMiB,GAAmB,IAAI,CAAC,IACvDA,GAAmB,IAAI;AAAA,IAElC;AAOF;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAlB,EAAA,+BAAwB,CAACwB,MAAkB;AACnC,YAAAC,IAASD,IAAME,IAAcC,GAC7B,EAAE,SAAAC,GAAS,OAAAC,EAAU,IAAA;AAEvB,MAAAD,KAAgBH,EAAAG,GAASE,GAAiBD,CAAK;AAAA,IAAA;AA3CnD,SAAK,UAAU3B,EAAcQ,IAAsB,KAAK,OAAO,GAG/D,KAAK,sBAAsB,EAAI;AAAA,EACjC;AAAA;AAAA,EAGA,IAAI,OAAO;AACF,WAAAhB;AAAA,EACT;AAAA;AAAA,EAsCA,UAAU;AACR,SAAK,sBAAsB,GAC3B,MAAM,QAAQ;AAAA,EAChB;AACF;AA5DEM,EADmBc,IACZ,YAAWL,KAClBT,EAFmBc,IAEZ,QAAOD,KACdb,EAHmBc,IAGZ,eAAcH;ACjEvB,MAAMoB,IAAc,UCAdC,KAAe,kBCFfC,KAAe,UCAfC,KAAkB,UCuBlBC,KAAiB,IAAIH,EAAY,KAAKC,EAAY,MAMlDG,KAAoB,CAACnC,MAAyBW,EAAoBX,GAASiC,EAAe,GAG1FG,KAAqB,CAACpC,MAAyB,IAAIqC,GAAOrC,CAAO;AAKvE,MAAqBqC,WAAezC,GAAc;AAAA;AAAA;AAAA;AAAA,EAUhD,YAAYC,GAA8B;AACxC,UAAMA,CAAM;AANd,IAAAE,EAAA,kBAAW;AAiCX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,EAAA,gBAAS,CAAC,MAAa;AACjB,MAAA,KAAG,EAAE,eAAe;AAElB,YAAA,EAAE,SAAAC,GAAS,UAAAsC,EAAa,IAAA;AAC1B,MAAA,CAAClB,EAASpB,GAAS,UAAU,KAAK,CAACuC,GAAavC,GAAS,UAAU,OACtDsC,IAAWjB,IAAcmB,GACjCxC,GAAS8B,CAAW,GAC3BW,EAAazC,GAAS0C,IAAaJ,IAAW,UAAU,MAAM,GACzD,KAAA,WAAWlB,EAASpB,GAAS8B,CAAW;AAAA,IAC/C;AAUF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA/B,EAAA,+BAAwB,CAACwB,MAAkB;AAEzC,OADeA,IAAME,IAAcC,GAC5B,KAAK,SAASG,GAAiB,KAAK,MAAM;AAAA,IAAA;AA7C3C,UAAA,EAAE,SAAA7B,EAAY,IAAA;AAGf,SAAA,WAAWoB,EAASpB,GAAS8B,CAAW,GAC7CW,EAAazC,GAAS0C,IAAa,OAAO,CAAC,CAAC,KAAK,QAAQ,CAAC,GAG1D,KAAK,sBAAsB,EAAI;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,OAAO;AACF,WAAAT;AAAA,EACT;AAAA;AAAA,EAkCA,UAAU;AACR,SAAK,sBAAsB,GAC3B,MAAM,QAAQ;AAAA,EAChB;AACF;AAlEElC,EADmBsC,IACZ,YAAWH,KAClBnC,EAFmBsC,IAEZ,QAAOD,KACdrC,EAHmBsC,IAGZ,eAAcF;ACtCvB,MAAMQ,KAAe,kBCFfC,KAAiB,YCAjBC,KAAoB,YCEpBC,KAAe,kBCAfC,KAAkB,qBCUlBC,IAAmB,CAAChD,MAAyB;AACjD,QAAMiD,IAAa,CAACN,IAAcG,IAAcC,IAAiB,MAAM,GACjEG,IAAMC,EAAYnD,CAAO;AAExB,SAAAiD,EACJ,IAAI,CAAOG,MAAA;AACJ,UAAAC,IAAWd,GAAavC,GAASoD,CAAG;AAC1C,WAAIC,IACKD,MAAQN,KAAeQ,EAAQtD,GAASqD,CAAQ,IAAIpD,EAAcoD,GAAUH,CAAG,IAEjF;AAAA,EAAA,CACR,EACA,OAAO,CAAK5I,MAAAA,CAAC,EAAE,CAAC;AACrB,GCwBMiJ,KAAmB,kBAAkBX,EAAc,MACnDY,IAAe,GAAGZ,EAAc,SAChCa,KAAgB,oBAChBC,KAAc,iBACdC,KAAc,UAEdC,KAAoC;AAAA,EACxC,OAAO;AAAA,EACP,UAAU;AAAA,EACV,OAAO;AAAA,EACP,UAAU;AACZ,GAMMC,KAAsB,CAAC7D,MAAyBW,EAAsBX,GAAS6C,EAAiB,GAKhGiB,KAAuB,CAAC9D,MAAyB,IAAI+D,GAAS/D,CAAO;AAE3E,IAAIgE,KAAS,GACTC,KAAW,GACXC,KAAO;AAIX,MAAMC,KAAqBpD,EAAiC,YAAY6B,EAAc,EAAE,GAClFwB,KAAoBrD,EAAiC,WAAW6B,EAAc,EAAE,GAShFyB,KAA+B,CAACnD,MAAmB;AACvD,QAAM,EAAE,OAAAoD,GAAO,WAAAC,GAAW,SAAAvE,GAAS,QAAAwE,GAAQ,SAAAC,EAAY,IAAAvD;AAGvD,MAAIA,EAAK,aAAa;AACd,UAAAwD,IAAaC,GAAezD,CAAI,GAChC0D,IAAcL,MAAc,SAAS,SAAS,QAC9CM,IAAiBN,MAAc,SAAS,UAAU;AAE/C/B,IAAAA,EAAAgC,EAAOF,CAAK,GAAGxC,CAAW,GACnCT,EAAYmD,EAAOF,CAAK,GAAG,GAAGd,CAAY,IAAIoB,CAAW,EAAE,GAC3DvD,EAAYmD,EAAOF,CAAK,GAAG,GAAGd,CAAY,IAAIqB,CAAc,EAAE,GAElDxD,EAAAmD,EAAOE,CAAU,GAAG5C,CAAW,GAC3CT,EAAYmD,EAAOE,CAAU,GAAG,GAAGlB,CAAY,IAAIqB,CAAc,EAAE,GAEnE1D,EAAcnB,GAASoE,EAAiB,GAClCU,EAAA,MAAM9E,GAAS0D,EAAW,GAG5BxC,EAAK,SAAS,CAACiC,EAAYnD,CAAO,EAAE,UAAUyE,EAAQ,YAAY,CAACvD,EAAK,YAC1EA,EAAK,MAAM;AAAA,EAEf;AACF;AAMA,SAAS6D,KAAwC;AAEzC,QAAA7D,IAAO2C,GAAoB,IAAI;AAEjC,EAAA3C,KAAQ,CAACA,EAAK,YAAY,CAAC4D,EAAM,IAAI,MAAMnB,EAAW,KACxDnB,EAAS,MAAMmB,EAAW;AAE9B;AAOA,SAASqB,KAAyC;AAE1C,QAAA9D,IAAO2C,GAAoB,IAAI;AAEjC,EAAA3C,KAAQA,EAAK,YAAY,CAAC4D,EAAM,IAAI,MAAMnB,EAAW,KACvDzC,EAAK,MAAM;AAEf;AAOA,SAAS+D,GAA4CvK,GAAe;AAClE,EAAAA,EAAE,eAAe;AAEjB,QAAMsF,IAAWsD,EAAQ,MAAMC,EAAgB,KAAKP,EAAiB,IAAI,GACnE9B,IAAO2C,GAAoB7D,CAAO;AAEpC,MAAAkB,KAAQ,CAACA,EAAK,aAAa;AAC7B,UAAMgE,IAAW,EAAE3C,GAAa,MAAMkB,EAAa;AAAA,IAAgC;AAEnF,IACE,QACA,CAACrC,EAAS,MAAMU,CAAW;AAAA,IAC3B,CAAC,OAAO,MAAMoD,CAAQ,KAGtBhE,EAAK,GAAGgE,CAAQ;AAAA,EAEpB;AACF;AAOA,SAASC,GAA2CzK,GAAe;AACjE,EAAAA,EAAE,eAAe;AACjB,QAAMsF,IAAUsD,EAAQ,MAAMC,EAAgB,KAAMP,EAAiB,IAAI,GACnE9B,IAAO2C,GAAoB7D,CAAO;AAEpC,MAAAkB,KAAQ,CAACA,EAAK,aAAa;AACvB,UAAA0D,IAAcrC,GAAa,MAAMmB,EAAW;AAGlD,IAAIkB,MAAgB,SAClB1D,EAAK,KAAK,IACD0D,MAAgB,UACzB1D,EAAK,KAAK;AAAA,EAEd;AACF;AAOA,MAAMkE,KAAqB,CAAC,EAAE,MAAAC,GAAM,QAAAxF,QAA+C;AAC3E,QAAAqD,IAAMC,EAAYtD,CAAM,GACxB,CAACG,CAAO,IAAI,CAAC,GAAGsF,GAAiB/B,IAAkBL,CAAG,CAAC,EAAE,OAAO,CAAK5I,MAAAiL,GAAuBjL,CAAC,CAAC,GAC9F4G,IAAO2C,GAAoB7D,CAAO;AAGpC,MAAAkB,KAAQ,CAACA,EAAK,eAAe,CAAC,kBAAkB,KAAKrB,EAAO,QAAQ,GAAG;AACnE,UAAA2F,IAAMC,GAAMzF,CAAO;AAKzB,IAAIqF,OAHkBG,IAAqBE,KAAfC,MAGDzE,EAAK,KAAK,IAC5BmE,OALaG,IAAsBG,KAAhBD,OAKIxE,EAAK,KAAK;AAAA,EAC5C;AACF;AASA,SAAS0E,GAAuClL,GAA2B;AACnE,QAAA,EAAE,QAAAmF,EAAW,IAAAnF,GACbwG,IAAO2C,GAAoB,IAAI;AAGrC,EACE3C,KACAA,EAAK,YACHA,EAAK,aAAa,CAACA,EAAK,UAAU,SAASrB,CAAc,KAAM,CAACqB,EAAK,SAAS,SAASrB,CAAqB,OAE9GnF,EAAE,yBAAyB,GAC3BA,EAAE,gBAAgB,GAClBA,EAAE,eAAe;AAErB;AASA,SAASmL,GAA8CnL,GAAiB;AAChE,QAAA,EAAE,QAAAmF,EAAW,IAAAnF,GACbwG,IAAO2C,GAAoB,IAAI;AAErC,MAAI3C,KAAQ,CAACA,EAAK,eAAe,CAACA,EAAK,SAAS;AAExC,UAAA,EAAE,UAAA4E,GAAU,YAAAC,EAAe,IAAA7E;AACjC,IAAK,CAAC,GAAG4E,GAAU,GAAGC,CAAU,EAAE,MAAM,CAAAC,MAAMA,MAAOnG,KAAUmG,EAAG,SAASnG,CAAc,CAAC,MACxFmE,KAAStJ,EAAE,OAGP,KAAK,SAASmF,CAAc,MAC9BqB,EAAK,UAAU,IACf+E,GAA4B/E,GAAM,EAAI;AAAA,EAG5C;AACF;AAOA,MAAMgF,KAA6B,CAACxL,MAAoB;AACtD,EAAAuJ,KAAWvJ,EAAE;AACf,GAOMyL,KAA2B,CAACzL,MAAoB;ArBnRjD,MAAA0L;AqBoRG,QAAA,EAAE,QAAAvG,EAAW,IAAAnF,GACbwI,IAAMC,EAAYtD,CAAc,GAChCqB,IAAO,CAAC,GAAGoE,GAAiB/B,IAAkBL,CAAG,CAAC,EACrD,IAAI,CAAAhG,MAAK2G,GAAoB3G,CAAC,CAAa,EAC3C,KAAK,CAAA,MAAK,EAAE,OAAO;AAItB,MAAIgE,GAAM;AACF,UAAA,EAAE,SAAAlB,GAAS,OAAAsE,EAAU,IAAApD,GACrBsE,IAAMC,GAAMzF,CAAO;AACzB,IAAAkE,KAAOxJ,EAAE,OAETwG,EAAK,UAAU,IACf+E,GAA4B/E,CAAI,GAG9B,GAACkF,IAAAlD,EAAI,aAAA,MAAJ,QAAAkD,EAAoB,WAAW,WAChCpG,EAAQ,SAASH,CAAqB,KACtC,KAAK,IAAImE,KAASE,EAAI,IAAI,QAItBD,KAAWD,KACb9C,EAAK,GAAGoD,KAASkB,IAAM,KAAK,EAAE,IACrBvB,KAAWD,MACpB9C,EAAK,GAAGoD,KAASkB,IAAM,IAAI,GAAG,IAKzBxB,KAAA,GACEC,KAAA,GACJC,KAAA;AAAA,EACT;AACF,GAUMmC,KAA4B,CAACnF,GAAgBoD,MAAkB;AAC7D,QAAA,EAAE,YAAAyB,EAAe,IAAA7E;AACtB,GAAA,GAAG6E,CAAU,EAAE,QAAQ,OAAK1E,EAAY/G,GAAGwH,CAAW,CAAC,GAGpDZ,EAAK,WAAWoD,CAAK,KAAY9B,EAAAuD,EAAWzB,CAAK,GAAGxC,CAAW;AACrE,GAQMmE,KAA8B,CAAC/E,GAAgBK,MAAkB;AAC/D,QAAA,EAAE,SAAAvB,EAAY,IAAAkB,GACdM,IAASD,IAAME,IAAcC;AACnC,EAAAF,EAAO2B,EAAYnD,CAAO,GAAGsG,IAAkBJ,IAA4BK,EAAc,GACzF/E,EAAO2B,EAAYnD,CAAO,GAAGwG,IAAgBL,IAA0BI,EAAc;AACvF,GAQM5B,KAAiB,CAACzD,MAAmB;AACnC,QAAA,EAAE,QAAAsD,GAAQ,SAAAxE,EAAY,IAAAkB,GACtBwD,IAAazE,EAAc,IAAIuD,CAAY,IAAI1B,CAAW,IAAI9B,CAAO;AACpE,SAAAyG,EAAc/B,CAAU,IAAI,CAAC,GAAGF,CAAM,EAAE,QAAQE,CAAU,IAAI;AACvE;AAKA,MAAqBX,WAAiBnE,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBlD,YAAYC,GAA8BC,GAAmC;AAC3E,UAAMD,GAAQC,CAAM;AA4PtB;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC,EAAA,+BAAwB,CAACwB,MAAkB;AACzC,YAAM,EAAE,SAAAvB,GAAS,SAAAyE,GAAS,QAAAD,GAAQ,UAAAsB,GAAU,YAAAC,EAAe,IAAA,MACrD,EAAE,OAAAW,GAAO,OAAAC,GAAO,UAAAC,GAAU,UAAAC,MAAapC,GACvCjD,IAASD,IAAME,IAAcC;AAEnC,MAAIiF,KAASC,MACJpF,EAAAxB,GAAS8G,IAAiB/B,EAAoB,GAC9CvD,EAAAxB,GAAS+G,IAAiB/B,EAAqB,IAGpD0B,KAASlC,EAAO,SAAS,MACpBhD,EAAAxB,GAASgH,IAAkBnB,IAA4BU,EAAc,GAC5E/E,EAAOxB,GAASiH,IAAiBrB,IAAqB,EAAE,SAAS,IAAO,GACxEpE,EAAOxB,GAASkH,IAAgBtB,IAAqB,EAAE,SAAS,IAAO,IAIrEE,EAAS,UACXA,EAAS,QAAQ,CAASqB,MAAA;AAEpB,QAAAA,KAAc3F,EAAA2F,GAAOtF,GAAiBsD,EAAuB;AAAA,MAAA,CAClE,GAICY,EAAW,UACbA,EAAW,QAAQ,CAAaqB,MAAA;AACvB,QAAA5F,EAAA4F,GAAWvF,GAAiBoD,EAAwB;AAAA,MAAA,CAC5D,GAGC4B,KAAUrF,EAAO2B,EAAYnD,CAAO,GAAGqH,IAAcjC,EAAkB;AAAA,IAAA;AAxRrE,UAAA,EAAE,SAAApF,EAAY,IAAA;AAGpB,SAAK,YAAYyF,GAAMzF,CAAO,IAAI,UAAU,QAC5C,KAAK,UAAU,IAIV,KAAA,SAASsH,GAAuB9D,GAAcxD,CAAO;AACpD,UAAA,EAAE,QAAAwE,EAAW,IAAA;AAIf,QAAAA,EAAO,UAAU,GAAG;AAChB,YAAA+C,IAAc5C,GAAe,IAAI,GAEjC6C,IAAiB,CAAC,GAAGhD,CAAM,EAAE,KAAK,CAAA3J,MAAK4M,GAAQ5M,GAAG,IAAI2I,CAAY,UAAUA,CAAY,OAAO,CAAC;AACtG,WAAK,QAAQ+D;AAGP,YAAArE,IAAMC,EAAYnD,CAAO;AAE/B,WAAK,WAAW;AAAA,QACd,GAAGsF,GAAiB,IAAI5B,EAAW,KAAK1D,CAAO;AAAA,QAC/C,GAAGsF,GAAiB,IAAI5B,EAAW,KAAKf,EAAY,MAAM3C,EAAQ,EAAE,MAAMkD,CAAG;AAAA,MAAA,EAC7E,OAAO,CAAChG,GAAGxB,GAAGgM,MAAOhM,MAAMgM,EAAG,QAAQxK,CAAC,CAAC,GAE1C,KAAK,YAAY+C,EAAc,IAAI2C,EAAc,eAAe5C,CAAO,GAGvE,KAAK,aAAa;AAAA,QAChB,GAAI,KAAK,YAAYsF,GAAiB,IAAI7B,EAAa,KAAK,KAAK,SAAS,IAAI,CAAC;AAAA,QAC/E,GAAG6B,GAAiB,IAAI7B,EAAa,KAAKd,EAAY,MAAM3C,EAAQ,EAAE,MAAMkD,CAAG;AAAA,MAAA,EAC/E,OAAO,CAAChG,GAAGxB,GAAGgM,MAAOhM,MAAMgM,EAAG,QAAQxK,CAAC,CAAC;AAGpC,YAAA,EAAE,SAAAuH,EAAY,IAAA;AAGpB,WAAK,QAAQ,WAAWA,EAAQ,aAAa,KAAOb,GAAiB,WAAWa,EAAQ,UAIpF+C,IACF,KAAK,QAAQ,CAAC,GAAGhD,CAAM,EAAE,QAAQgD,CAAc,IACtCD,IAAc,MACvB,KAAK,QAAQ,GACJ/E,EAAAgC,EAAO,CAAC,GAAG1C,CAAW,GAC3B,KAAK,WAAW,UAAQuE,GAA0B,MAAM,CAAC,IAI3D,KAAK,WAAW,UAAkCA,GAAA,MAAM,KAAK,KAAK,GAGtE,KAAK,sBAAsB,EAAI,GAG3B5B,EAAQ,YAAU,KAAK,MAAM;AAAA,IACnC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,OAAO;AACF,WAAA5B;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,WAAW;AACN,WAAAe;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,WAAW;AACN,WAAAxC,EAAS,KAAK,SAASuC,EAAW;AAAA,EAC3C;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,cAAc;AACT,WAAA1D,EAAc,IAAIuD,CAAY,UAAUA,CAAY,SAAS,KAAK,OAAO,MAAM;AAAA,EACxF;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ;AACN,UAAM,EAAE,SAAAxD,GAAS,SAAAyE,GAAS,UAAAkD,GAAU,OAAArD,MAAU;AAExCQ,IAAAA,EAAA,MAAM9E,GAAS4C,EAAc,GAC/B+E,MACI7C,EAAA,MAAM9E,GAAS2D,EAAW,GAChCtC,EAAYrB,GAAS2D,EAAW,IAG5BmB,EAAA;AAAA,MACJ9E;AAAA,MACA,MAAM;AAIA,QAAA,KAAK,WAAW,CAAC,KAAK,YAAY,CAAC,KAAK,WAAWuF,GAAuBvF,CAAO,KAC9E,KAAA,GAAGsE,IAAQ,CAAC;AAAA,MAErB;AAAA,MACAG,EAAQ;AAAA,MACR7B;AAAA,IAAA;AAAA,EAEJ;AAAA;AAAA,EAGA,QAAQ;AACA,UAAA,EAAE,SAAA5C,GAAS,SAAAyE,EAAY,IAAA;AAE7B,IAAI,CAAC,KAAK,YAAYA,EAAQ,aAC5BjC,EAASxC,GAAS2D,EAAW,GACvBmB,EAAA;AAAA,MACJ9E;AAAA,MACA,MAAM;AAAA,MAEN;AAAA,MACA;AAAA,MACA2D;AAAA,IAAA;AAAA,EAGN;AAAA;AAAA,EAGA,OAAO;AAED,IAAC,KAAK,eACH,KAAA,GAAG,KAAK,QAAQ,CAAC;AAAA,EAE1B;AAAA;AAAA,EAGA,OAAO;AAED,IAAC,KAAK,eACH,KAAA,GAAG,KAAK,QAAQ,CAAC;AAAA,EAE1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,GAAGiE,GAAa;AACd,UAAM,EAAE,SAAA5H,GAAS,QAAAwE,GAAQ,SAAAC,EAAA,IAAY,MAC/BC,IAAaC,GAAe,IAAI,GAChCa,IAAMC,GAAMzF,CAAO;AACzB,QAAI6H,IAAOD;AAKP,QAAA,CAAC,KAAK,eAAelD,MAAemD,KAAQ,CAAC/C,EAAM,IAAI9E,GAAS0D,EAAW,GAAG;AAGhF,MAAIgB,IAAamD,KAASnD,MAAe,KAAKmD,MAASrD,EAAO,SAAS,IAChE,KAAA,YAAYgB,IAAM,UAAU,UACxBd,IAAamD,KAASnD,MAAeF,EAAO,SAAS,KAAKqD,MAAS,OACvE,KAAA,YAAYrC,IAAM,SAAS;AAE5B,YAAA,EAAE,WAAAjB,EAAc,IAAA;AAGtB,MAAIsD,IAAO,IACTA,IAAOrD,EAAO,SAAS,IACdqD,KAAQrD,EAAO,WACjBqD,IAAA;AAIH,YAAAjD,IAAcL,MAAc,SAAS,SAAS,QAC9CM,IAAiBN,MAAc,SAAS,UAAU,OAElDuD,IAAkB;AAAA,QACtB,eAAetD,EAAOqD,CAAI;AAAA,QAC1B,MAAMnD;AAAA,QACN,IAAImD;AAAA,QACJ,WAAAtD;AAAA,MAAA;AAIFwD,MAAAA,GAAa5D,IAAoB2D,CAAe,GAChDC,GAAa3D,IAAmB0D,CAAe,GAG/C3G,EAAcnB,GAASmE,EAAkB,GACpCA,GAAmB,qBAEtB,KAAK,QAAQ0D,GACbxB,GAA0B,MAAMwB,CAAI,GAEhCG,GAA6BxD,EAAOqD,CAAI,CAAC,KAAKzG,EAASpB,GAAS,OAAO,IACnE8E,EAAA;AAAA,QACJ9E;AAAA,QACA,MAAM;AACJwC,UAAAA,EAASgC,EAAOqD,CAAI,GAAG,GAAGrE,CAAY,IAAIoB,CAAW,EAAE,GAChDqD,GAAAzD,EAAOqD,CAAI,CAAC,GACnBrF,EAASgC,EAAOqD,CAAI,GAAG,GAAGrE,CAAY,IAAIqB,CAAc,EAAE,GAC1DrC,EAASgC,EAAOE,CAAU,GAAG,GAAGlB,CAAY,IAAIqB,CAAc,EAAE,GAGhEvD;AAAAA,YACEkD,EAAOqD,CAAI;AAAA,YACX,MAAM,KAAK,UAAU,KAAK,OAAO,UAAUxD,GAA6B,IAAI;AAAA,UAAA;AAAA,QAEhF;AAAA,QACA;AAAA,QACAX;AAAA,MAAA,KAGOlB,EAAAgC,EAAOqD,CAAI,GAAG/F,CAAW,GACtBT,EAAAmD,EAAOE,CAAU,GAAG5C,CAAW,GAErCgD,EAAA;AAAA,QACJ9E;AAAA,QACA,MAAM;AACE8E,UAAAA,EAAA,MAAM9E,GAAS0D,EAAW,GAG5B1D,KAAWyE,EAAQ,YAAY,CAAC,KAAK,YACvC,KAAK,MAAM,GAGbtD,EAAcnB,GAASoE,EAAiB;AAAA,QAC1C;AAAA,QACA;AAAA,QACAV;AAAA,MAAA;AAAA,IAIR;AAAA,EACF;AAAA;AAAA,EA0CA,UAAU;AACF,UAAA,EAAE,aAAAwE,EAAgB,IAAA,MAElBC,IAAQ;AAAA,MACZ,GAAG;AAAA,MACH,aAAAD;AAAA,IAAA;AAEF,SAAK,sBAAsB,GAC3B,MAAM,QAAQ,GAGVC,EAAM,eACR7G,EAAqB6G,EAAM,OAAOA,EAAM,KAAK,GAAG,MAAM;AACpD,MAAA9D,GAA6B8D,CAAK;AAAA,IAAA,CACnC;AAAA,EAEL;AACF;AAjUEpI,EADmBgE,IACZ,YAAWR,KAClBxD,EAFmBgE,IAEZ,QAAOD,KACd/D,EAHmBgE,IAGZ,eAAcF;ACpWvB,MAAMuE,KAAkB,cCHlBC,IAAiB,YCAjBC,KAAoB,YCsCpBC,KAAmB,IAAIF,CAAc,IACrCG,KAAyB,IAAIzG,EAAY,KAAKsG,CAAc,MAC5DI,KAAmB,EAAE,QAAQ,QAM7BC,KAAsB,CAAC1I,MAAyBW,EAAsBX,GAASsI,EAAiB,GAKhGK,KAAuB,CAAC3I,MAAyB,IAAI4I,GAAS5I,CAAO,GAIrE6I,KAAoB9H,EAAiC,WAAWsH,CAAc,EAAE,GAChFS,KAAqB/H,EAAiC,YAAYsH,CAAc,EAAE,GAClFU,KAAoBhI,EAAiC,WAAWsH,CAAc,EAAE,GAChFW,KAAsBjI,EAAiC,aAAasH,CAAc,EAAE,GASpFY,KAAiB,CAAC/H,MAAmB;AACzC,QAAM,EAAE,SAAAlB,GAAS,QAAAkJ,GAAQ,UAAAC,EAAA,IAAajI;AAEtCC,EAAAA,EAAcnB,GAAS6I,EAAiB,GACnCA,GAAkB,qBACf/D,EAAA,IAAI9E,GAASoJ,IAAM,EAAE,GACvBF,KAAcpE,EAAA,IAAIoE,GAAQE,IAAM,EAAE,GAEtC5G,EAASxC,GAASoI,EAAe,GACjC/G,EAAYrB,GAASqI,CAAc,GAEnCgB,EAAgBrJ,GAAS,EAAE,QAAQ,GAAGA,EAAQ,YAAY,MAAM,GAEhEsB,EAAqBtB,GAAS,MAAM;AAClC8E,IAAAA,EAAM,MAAM9E,CAAO,GACfkJ,KAAQpE,EAAM,MAAMoE,CAAM,GAE9BC,EAAS,QAAQ,CAAOG,MAAA7G,EAAa6G,GAAKC,IAAc,MAAM,CAAC,GAE/DlI,EAAYrB,GAASoI,EAAe,GACpC5F,EAASxC,GAASqI,CAAc,GAChC7F,EAASxC,GAASV,CAAS,GAE3B+J,EAAgBrJ,GAAS,EAAE,QAAQ,GAAI,CAAA,GAEvCmB,EAAcnB,GAAS8I,EAAkB;AAAA,EAAA,CAC1C;AAEL,GAOMU,KAAkB,CAACtI,MAAmB;AAC1C,QAAM,EAAE,SAAAlB,GAAS,QAAAkJ,GAAQ,UAAAC,EAAA,IAAajI;AAEtCC,EAAAA,EAAcnB,GAAS+I,EAAiB,GAEnCA,GAAkB,qBACfjE,EAAA,IAAI9E,GAASoJ,IAAM,EAAE,GACvBF,KAAcpE,EAAA,IAAIoE,GAAQE,IAAM,EAAE,GAEtCC,EAAgBrJ,GAAS,EAAE,QAAQ,GAAGA,EAAQ,YAAY,MAAM,GAEhEqB,EAAYrB,GAASqI,CAAc,GACnChH,EAAYrB,GAASV,CAAS,GAC9BkD,EAASxC,GAASoI,EAAe,GAEjCH,GAAOjI,CAAO,GACdqJ,EAAgBrJ,GAAS,EAAE,QAAQ,MAAO,CAAA,GAE1CsB,EAAqBtB,GAAS,MAAM;AAClC8E,IAAAA,EAAM,MAAM9E,CAAO,GAEfkJ,KAAQpE,EAAM,MAAMoE,CAAM,GAE9BC,EAAS,QAAQ,CAAOG,MAAA7G,EAAa6G,GAAKC,IAAc,OAAO,CAAC,GAEhElI,EAAYrB,GAASoI,EAAe,GACpC5F,EAASxC,GAASqI,CAAc,GAEhCgB,EAAgBrJ,GAAS,EAAE,QAAQ,GAAI,CAAA,GAEvCmB,EAAcnB,GAASgJ,EAAmB;AAAA,EAAA,CAC3C;AAEL,GASMS,KAAuB,CAAC/O,MAAkB;AACxC,QAAA,EAAE,QAAAmF,EAAW,IAAAnF,GACbgP,IAAU7J,KAAUyD,EAAQzD,GAAuB2I,EAAsB,GACzExI,IAAU0J,KAAW1G,EAAiB0G,CAAO,GAC7CxI,IAAOlB,KAAW0I,GAAoB1I,CAAO;AAE/C,EAAAkB,KAAMA,EAAK,OAAO,GAGlBwI,KAAWA,EAAQ,YAAY,OAAKhP,EAAE,eAAe;AAC3D;AAMA,MAAqBkO,WAAiBhJ,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAYlD,YAAYC,GAA8BC,GAAmC;AAC3E,UAAMD,GAAQC,CAAM;AAuFtB;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC,EAAA,+BAAwB,CAACwB,MAAkB;AACnC,YAAAC,IAASD,IAAME,IAAcC,GAC7B,EAAE,UAAAyH,EAAa,IAAA;AAGrB,MAAIA,EAAS,UACXA,EAAS,QAAQ,CAAOG,MAAA9H,EAAO8H,GAAKzH,GAAiB4H,EAAoB,CAAC;AAAA,IAC5E;AA3FM,UAAA,EAAE,SAAAzJ,GAAS,SAAAyE,EAAY,IAAA,MACvBvB,IAAMC,EAAYnD,CAAO;AAG/B,SAAK,WAAW,CAAC,GAAGsF,GAAiBkD,IAAwBtF,CAAG,CAAC,EAAE,OAAO,CAAAoG,MAAOtG,EAAiBsG,CAAG,MAAMtJ,CAAO,GAGlH,KAAK,SAASyG,EAAchC,EAAQ,MAAM,IACtCA,EAAQ,SACRvE,GAASuE,EAAQ,MAAM,IACvBzB,EAAiBhD,CAAO,KAAKC,EAAcwE,EAAQ,QAAkBvB,CAAG,IACxE,MAGJ,KAAK,sBAAsB,EAAI;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,OAAO;AACF,WAAAoF;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,WAAW;AACN,WAAAG;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO;AACC,UAAA,EAAE,UAAAU,GAAU,SAAAnJ,EAAY,IAAA;AAC9B,IAAK8E,EAAM,IAAI9E,CAAO,MACpBwJ,GAAgB,IAAI,GAEhBL,EAAS,UACXA,EAAS,QAAQ,CAAOG,MAAA9G,EAAS8G,GAAK,GAAGjB,CAAc,GAAG,CAAC;AAAA,EAGjE;AAAA;AAAA,EAGA,OAAO;AACL,UAAM,EAAE,SAAArI,GAAS,QAAAkJ,GAAQ,UAAAC,EAAA,IAAa;AAClC,QAAAQ,GACAC;AAEJ,IAAIV,MACeS,IAAA,CAAC,GAAGrE,GAAiB,IAAI+C,CAAc,IAAI/I,CAAS,IAAI4J,CAAM,CAAC,EAAE;AAAA,MAAK,CAAAxN,MACrFgN,GAAoBhN,CAAC;AAAA,IAAA,GAEEkO,IAAAD,KAAkBjB,GAAoBiB,CAAc,KAG1E,CAACT,KAAU,CAACpE,EAAM,IAAIoE,CAAM,MAAM,CAACpE,EAAM,IAAI9E,CAAO,MACnD4J,KAA0BD,MAAmB3J,MAC/CwJ,GAAgBI,CAAsB,GACfA,EAAA,SAAS,QAAQ,CAAON,MAAA;AACpC9G,MAAAA,EAAA8G,GAAK,GAAGjB,CAAc,GAAG;AAAA,IAAA,CACnC,IAGHY,GAAe,IAAI,GAEfE,EAAS,UACXA,EAAS,QAAQ,CAAOG,MAAAjI,EAAYiI,GAAK,GAAGjB,CAAc,GAAG,CAAC;AAAA,EAGpE;AAAA;AAAA,EAGA,SAAS;AACP,IAAKjH,EAAS,KAAK,SAAS9B,CAAS,IAChC,KAAK,KAAK,IADyB,KAAK,KAAK;AAAA,EAEpD;AAAA;AAAA,EAkBA,UAAU;AACR,SAAK,sBAAsB,GAE3B,MAAM,QAAQ;AAAA,EAChB;AACF;AAnHES,EADmB6I,IACZ,YAAWL,KAClBxI,EAFmB6I,IAEZ,QAAOD,KACd5I,EAHmB6I,IAGZ,eAAcF;ACjKvB,MAAMmB,KAAsB,CAAC,YAAY,UAAU,aAAa,SAAS,GCFnEC,KAAoB,YCEpBC,KAAoB,iBCMpBC,KAAgB,CAAChK,MAAyB;AAExC,QAAAiK,IAAe3G,EAAQtD,GAAS,GAAG;AACzC,SACGA,EAAQ,YAAY;AAAA,EAEnBkK,GAAalK,GAAS,MAAM,KAC3BuC,GAAavC,GAAS,MAAM,EAAa,MAAM,EAAE,MAAM;AAAA,EAEzDiK,KACCC,GAAaD,GAAc,MAAM,KAChC1H,GAAa0H,GAAc,MAAM,EAAa,MAAM,EAAE,MAAM;AAEnE,GC8BM,CAACE,IAAgBC,IAAcC,IAAiBC,EAAa,IAAIC,IACjEC,KAAmB,IAAIzI,EAAY,KAAKoI,EAAc,MAMtDM,KAAsB,CAACzK,MAAyBW,EAAsBX,GAAS8J,EAAiB,GAKhGY,KAAuB,CAAC1K,MAAyB,IAAI2K,GAAS3K,CAAO,GAKrE4K,KAAuB,GAAGb,EAAiB,QAC3Cc,KAAgB,CAACV,IAAgBC,EAAY,GAC7CU,KAAkB,CAACT,IAAiBC,EAAa,GACjDS,KAAgB,CAAC,KAAK,QAAQ,GAE9BC,KAAmB;AAAA,EACvB,QAAQ;AAAA;AAAA,EACR,SAAS;AAAA;AACX,GAIMC,KAAoBlK,EAAiC,WAAWoJ,EAAc,EAAE,GAChFe,KAAqBnK,EAAiC,YAAYoJ,EAAc,EAAE,GAClFgB,KAAoBpK,EAAiC,WAAWoJ,EAAc,EAAE,GAChFiB,KAAsBrK,EAAiC,aAAaoJ,EAAc,EAAE,GACpFkB,KAAuBtK,EAAiC,cAAcoJ,EAAc,EAAE,GAUtFmB,KAAgB,CAACpK,MAAmB;AACxC,QAAM,EAAE,SAAAlB,GAAS,MAAAuL,GAAM,eAAAC,GAAe,SAAA/G,MAAYvD,GAC5C,EAAE,QAAAuK,EAAW,IAAAhH;AAInB,MAAIiH,EAAgBH,GAAM,UAAU,MAAM,UAAU;AAC5C,UAAA/F,IAAMC,GAAMzF,CAAO,GAEnB2L,IAAUvK,EAASmK,GAAMX,EAAoB;AAInD,IADmB,CAAC,UAAU,OAAO,UAAU,QAAQ,OAAO,EACnD,QAAQ,CAAK3N,MAAA;AAEtB,YAAM2O,KAAmC,CAAA;AACzC,MAAAA,GAAM3O,CAAC,IAAI,IACXoM,EAAgBkC,GAAMK,EAAK;AAAA,IAAA,CAC5B;AAKD,QAAIC,IACFtB,GAAgB,KAAK,OAAKnJ,EAASoK,GAAetO,CAAC,CAAC;AAAA,IACNiN;AAEhD,UAAM2B,IAA8C;AAAA,MAClD,UAAU,CAACL,GAAQ,GAAG,CAAC;AAAA,MACvB,QAAQ,CAAC,GAAG,GAAGA,CAAM;AAAA,MACrB,WAAWjG,IAAM,CAAC,IAAI,GAAG,GAAGiG,CAAM,IAAI,CAAC,IAAIA,GAAQ,CAAC;AAAA,MACpD,SAASjG,IAAM,CAAC,IAAIiG,GAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,GAAGA,CAAM;AAAA,IAAA,GAG9CM,IAAgE;AAAA,MACpE,UAAU,EAAE,KAAK,OAAO;AAAA,MACxB,QAAQ,EAAE,KAAK,QAAQ,QAAQ,OAAO;AAAA,MACtC,WAAWvG,IAAM,EAAE,MAAM,QAAQ,OAAO,OAAO,IAAI,EAAE,MAAM,QAAQ,OAAO,OAAO;AAAA,MACjF,SAASA,IAAM,EAAE,MAAM,QAAQ,OAAO,OAAO,IAAI,EAAE,MAAM,QAAQ,OAAO,OAAO;AAAA,MAC/E,WAAWA,IAAM,EAAE,OAAO,KAAK,MAAM,OAAO,IAAI,EAAE,OAAO,QAAQ,MAAM,IAAI;AAAA,MAC3E,SAASA,IAAM,EAAE,OAAO,QAAQ,MAAM,IAAI,IAAI,EAAE,OAAO,KAAK,MAAM,OAAO;AAAA,IAAA,GAGrE,EAAE,aAAawG,GAAW,cAAcC,MAAeV,GAEvD,EAAE,aAAAW,GAAa,cAAAC,EAAa,IAAIC,GAAmBpM,CAAO,GAC1D;AAAA,MACJ,MAAMqM;AAAA,MACN,KAAKC;AAAA,MACL,OAAOC;AAAA,MACP,QAAQC;AAAA,IAAA,IACNC,GAAsBzM,CAAO,GAG3B0M,IAAiBL,IAAaL,IAAYP,IAAS,GAEnDkB,IAAkBN,IAAaL,IAAYO,KAAcd,KAAUS,GAEnEU,KAAeN,IAAYL,IAAaR,KAAUU,GAElDU,IAAmBP,IAAYL,IAAaO,KAAef,KAAUU,GAErEW,IAAYR,IAAYL,IAAaR,IAAS,GAE9CsB,KAAe,CAACvH,KAAOmG,KAAanG,KAAO,CAACmG,MAAaU,IAAaE,KAAcP,IAAY,GAChGgB,MAAgBxH,KAAOmG,KAAa,CAACnG,KAAO,CAACmG,MAAaU,IAAaL,KAAaE;AA6B1F,QAzBIpB,GAAgB,SAASe,CAAa,KAAKa,KAAkBC,MAC/Cd,IAAA1B,KAEd0B,MAAkBxB,OAAqB7E,IAAuBmH,IAAjBD,OAC/Bb,IAAAvB,KAEduB,MAAkBvB,OAAkB9E,IAAMkH,IAAiBC,OAC7Cd,IAAAxB,KAEdwB,MAAkBzB,MAAgB0C,KAAa,CAACD,MAClChB,IAAA1B,KAEd0B,MAAkB1B,MAAkB0C,KAAoB,CAACC,MAC3CjB,IAAAzB,KAIdU,GAAgB,SAASe,CAAa,KAAKe,MAChC7E,GAAAgE,EAAiBF,CAAa,GAAG;AAAA,MAC5C,KAAK;AAAA,MACL,QAAQ;AAAA,IAAA,CACT,GAIChB,GAAc,SAASgB,CAAa,MAAMkB,KAAcC,KAAc;AAGxE,UAAIC,IAA0E,EAAE,MAAM,QAAQ,OAAO,OAAO;AACxG,MAAA,CAACF,KAAcC,MAAe,CAACxH,MAAKyH,IAAW,EAAE,MAAM,QAAQ,OAAO,EAAE,IACxEF,KAAc,CAACC,MAAexH,MAAKyH,IAAW,EAAE,MAAM,GAAG,OAAO,OAAO,IACvEA,KAAuBlF,GAAAgE,EAAiBF,CAAa,GAAGoB,CAAQ;AAAA,IACtE;AAEM,UAAAC,KAAoBpB,EAAeD,CAAa;AACtDxC,IAAAA,EAAgBkC,GAAM;AAAA,MACpB,GAAGQ,EAAiBF,CAAa;AAAA,MACjC,QAAQ,GAAGqB,GAAQ,IAAI,CAAM5S,MAAAA,KAAI,GAAGA,CAAC,IAAS,EAAE,KAAK,GAAG,CAAC;AAAA,IAAA,CAC1D,GAGGuQ,GAAc,SAASgB,CAAa,KAAKF,KAEvCA,KAGctC,EAAAkC,GAAMQ,EADnB,CAACvG,KAAOuH,KAAgBvH,KAAOwH,KAAe;AAAA;AAAA,MAAyC;AAAA,KAC1C,CAAC,GAIrD7L,EAAcqK,GAAeH,EAAoB;AAAA,EACnD;AACF,GAQM8B,KAAe,CAAC5B,MACb,CAAC,GAAGA,EAAK,QAAQ,EACrB,IAAI,CAAKrO,MAAA;AACR,MAAIA,KAAK6N,GAAc,SAAS7N,EAAE,OAAO;AAAU,WAAAA;AAC7C,QAAA,EAAE,mBAAAkQ,EAAsB,IAAAlQ;AAC9B,SAAIkQ,KAAqBrC,GAAc,SAASqC,EAAkB,OAAO,IAChEA,IAEF;AACR,CAAA,EACA,OAAO,CAAAlQ,MAAKA,CAAC,GASZmQ,KAAwB,CAACnM,MAAmB;AAC1C,QAAA,EAAE,SAAAlB,GAAS,SAAAyE,EAAY,IAAAvD,GACvBM,IAASN,EAAK,OAAOO,IAAcC,GACnCwB,IAAMC,EAAYnD,CAAO;AAExB,EAAAwB,EAAA0B,GAAKrB,GAAiByL,EAAsB,GAC5C9L,EAAA0B,GAAKqK,IAAYD,EAAsB,GACvC9L,EAAA0B,GAAKmE,IAAcmG,EAAqB,GACxChM,EAAA0B,GAAKuK,IAAYC,EAAkB,GAGtCjJ,EAAQ,YAAY,aACtB,CAACkJ,IAAaC,EAAW,EAAE,QAAQ,CAAMC,MAAA;AACvC,IAAArM,EAAOsM,GAAU9N,CAAO,GAAG6N,GAAIE,IAAuBxH,EAAc;AAAA,EAAA,CACrE;AAEL,GAQMyH,KAAyB,CAAChO,MAAkD;AAC1E,QAAAiO,IAAgB,CAAC,GAAG1D,IAAiB,aAAa,aAAa,EAClE,IAAI,CAAArN,MAAKoK,GAAuB,GAAGpK,CAAC,IAAIoC,CAAS,IAAI6D,EAAYnD,CAAO,CAAC,CAAC,EAC1E,KAAK,CAAK1F,MAAAA,EAAE,MAAM;AAEjB,MAAA2T,KAAiBA,EAAc;AACjC,WAAO,CAAC,GAAIA,EAAc,CAAC,EAAE,QAA0C,EAAE;AAAA,MAAK,CAAA3T,MAC5EiQ,GAAgB,KAAK,CAAArN,MAAKA,MAAMqF,GAAajI,GAAGyH,EAAY,CAAC;AAAA,IAAA;AAInE,GASMuL,KAAyB,CAAC5S,MAAkB;AAC1C,QAAA,EAAE,QAAAmF,GAAQ,MAAAqO,EAAS,IAAAxT;AAGrB,MAAAmF,KAAU4G,EAAc5G,CAAM,GAAG;AAE7B,UAAAG,IAAUgO,GAAuBnO,CAAM,GACvCqB,IAAOlB,KAAWyK,GAAoBzK,CAAO;AAGnD,QAAIkB,GAAM;AACF,YAAA,EAAE,eAAAsK,GAAe,MAAAD,EAAS,IAAArK,GAE1BiN,IACJ3C,KACAA,EAAc,SAAS3L,CAAM,MAC5BA,EAAO,YAAY,UAAUyD,EAAQzD,GAAQ,MAAM,MAAM;AAExD,MAAA,CAACgC,GAAiBuM,EAAc,EAAE,SAASF,CAAI,KAAKlE,GAAcnK,CAAM,KAC1EnF,EAAE,eAAe,GAIf,CAACyT,KAAUD,MAASX,MAAc1N,MAAWG,KAAWH,MAAW0L,KACrErK,EAAK,KAAK;AAAA,IAEd;AAAA,EACF;AACF,GAOMmN,KAAuB,CAAC3T,MAAkB;AACxC,QAAA,EAAE,QAAAmF,EAAW,IAAAnF,GACbsF,IAAUH,KAAUyD,EAAQzD,GAAuB2K,EAAgB,GACnEtJ,IAAOlB,KAAWyK,GAAoBzK,CAAO;AAGnD,EAAIkB,MACFxG,EAAE,gBAAgB,GAClBwG,EAAK,OAAO,GAERlB,KAAWgK,GAAchK,CAAO,KAAGtF,EAAE,eAAe;AAE5D,GAOM8S,KAAwB,CAAC9S,MAAqB;AAElD,EAAI,CAAC4T,IAAcC,EAAU,EAAE,SAAS7T,EAAE,IAAI,KAAGA,EAAE,eAAe;AACpE;AAOA,SAASgT,GAAsChT,GAAkB;AACzD,QAAA,EAAE,MAAA2K,EAAS,IAAA3K,GACXsF,IAAUgO,GAAuB,IAAI,GACrC9M,IAAOlB,KAAWyK,GAAoBzK,CAAO,GAC7C,EAAE,eAAAwO,EAAmB,IAAAxO,KAAWmD,EAAYnD,CAAO;AAGzD,MAAIkB,KAAQsN,GAAe;AACnB,UAAA,EAAE,MAAAjD,GAAM,MAAAkD,EAAS,IAAAvN,GACjBwN,IAAYvB,GAAa5B,CAAI;AAG/B,QAAAmD,KAAaA,EAAU,UAAU,CAACJ,IAAcC,EAAU,EAAE,SAASlJ,CAAI,GAAG;AAC1E,UAAAuC,IAAM8G,EAAU,QAAQF,CAAa;AAEzC,MAAIA,MAAkBxO,IACd4H,IAAA,IACGvC,MAASkJ,KACZ3G,IAAAA,IAAM,IAAIA,IAAM,IAAI,IACjBvC,MAASiJ,OAClB1G,IAAMA,IAAM8G,EAAU,SAAS,IAAI9G,IAAM,IAAIA,IAG3C8G,EAAU9G,CAAG,KAAS+G,GAAAD,EAAU9G,CAAG,CAAgB;AAAA,IACzD;AAEI,IAAAgH,OAAcvJ,KAAQoJ,MACxBvN,EAAK,OAAO,GACZyN,GAAM3O,CAAO;AAAA,EAEjB;AACF;AAGA,SAAS+N,KAAyC;AAC1C,QAAA/N,IAAUgO,GAAuB,IAAI,GACrC9M,IAAOlB,KAAWyK,GAAoBzK,CAAO;AAGnD,EAAIkB,KAAQA,EAAK,QAAMoK,GAAcpK,CAAI;AAC3C;AAKA,MAAqByJ,WAAiB/K,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAalD,YAAYC,GAA8BC,GAAmC;AAC3E,UAAMD,GAAQC,CAAM;AAoGtB;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC,EAAA,+BAAwB,CAACwB,MAAkB;AAElC,OADQA,IAAME,IAAcC,GAC5B,KAAK,SAASG,GAAiBwM,EAAoB;AAAA,IAAA;AAnGpD,UAAA,EAAE,eAAA7C,EAAc,IAAI,KAAK,SACzB,CAACD,CAAI,IAAIjE,GAAuByC,IAAmByB,CAA2B;AAGpF,IAAID,MAEF,KAAK,gBAAgBC,GACrB,KAAK,OAAOD,GAGZ,KAAK,sBAAsB,EAAI;AAAA,EAEnC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,OAAO;AACF,WAAAzB;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,WAAW;AACN,WAAAkB;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS;AACP,IAAI,KAAK,OAAM,KAAK,KAAK,IACpB,KAAK,KAAK;AAAA,EACjB;AAAA;AAAA,EAGA,OAAO;AACL,UAAM,EAAE,SAAAhL,GAAS,MAAAyO,GAAM,MAAAlD,GAAM,eAAAC,MAAkB;AAG/C,QAAI,CAACiD,GAAM;AACH,YAAAI,IAAiBb,GAAuBhO,CAAO,GAC/C8O,IAAkBD,KAAkBpE,GAAoBoE,CAAc;AACxE,MAAAC,KAAiBA,EAAgB,KAAK,GAG1C,CAAC7D,IAAmBC,IAAoBG,EAAoB,EAAE,QAAQ,CAAK3Q,MAAA;AACzE,QAAAA,EAAE,gBAAgBsF;AAAA,MAAA,CACnB,GAEDmB,EAAcqK,GAAeP,EAAiB,GACzCA,GAAkB,qBACrBzI,EAAS+I,GAAMjM,CAAS,GACxBkD,EAASgJ,GAAelM,CAAS,GACpBmD,EAAAzC,GAASuJ,IAAc,MAAM,GAG1C+B,GAAc,IAAI,GAElB,KAAK,OAAO,CAACmD,GAEbE,GAAM3O,CAAO,GACbqN,GAAsB,IAAI,GAC1BlM,EAAcqK,GAAeN,EAAkB;AAAA,IAEnD;AAAA,EACF;AAAA;AAAA,EAGA,OAAO;AACL,UAAM,EAAE,SAAAlL,GAAS,MAAAyO,GAAM,MAAAlD,GAAM,eAAAC,MAAkB;AAG/C,IAAIiD,MACF,CAACtD,IAAmBC,EAAmB,EAAE,QAAQ,CAAK1Q,MAAA;AACpD,MAAAA,EAAE,gBAAgBsF;AAAA,IAAA,CACnB,GAEDmB,EAAcqK,GAAeL,EAAiB,GACzCA,GAAkB,qBACrB9J,EAAYkK,GAAMjM,CAAS,GAC3B+B,EAAYmK,GAAelM,CAAS,GACvBmD,EAAAzC,GAASuJ,IAAc,OAAO,GAE3C,KAAK,OAAO,CAACkF,GAEbpB,GAAsB,IAAI,GAC1BlM,EAAcqK,GAAeJ,EAAmB;AAAA,EAGtD;AAAA;AAAA,EAaA,UAAU;AACR,IAAI,KAAK,QAAM,KAAK,KAAK,GAEzB,KAAK,sBAAsB,GAC3B,MAAM,QAAQ;AAAA,EAChB;AACF;AA7HErL,EADmB4K,IACZ,YAAWH,KAClBzK,EAFmB4K,IAEZ,QAAOD,KACd3K,EAHmB4K,IAGZ,eAAcF;AC9YvB,MAAMsE,IAAc,SCAdC,KAAiB,SCAjBC,KAAqB,aCErBC,KAAgB,aCAhBC,KAAmB,gBCAnBC,KAAiB,cCAjBC,KAAsB,mBCYtBC,KAAgB,CAACpG,MAAwB;AAAA,EAC7C,GAAG5B,GAAuB4H,IAAehG,CAAM;AAAA,EAC/C,GAAG5B,GAAuB6H,IAAkBjG,CAAM;AAAA,EAClD,GAAG5B,GAAuB8H,IAAgBlG,CAAM;AAAA,EAChD,GAAG5B,GAAuB+H,IAAqBnG,CAAM;AAAA,EACrD,GAAG5B,GAAuB,YAAY4B,CAAM;AAC9C,GAQaqG,KAAiB,CAACvP,MAA0B;AACjD,QAAAwP,IAAKC,GAAgBzP,CAAO;AAClCqJ,EAAAA,EAAgBmG,GAAI;AAAA,IAClB,cAAc;AAAA,IACd,UAAU;AAAA,EAAA,CACX;AAEK,QAAAE,IAAaJ,GAAcE,CAAE;AAEnC,EAAIE,EAAW,UACbA,EAAW,QAAQ,CAASC,MAAA;AAC1BtG,IAAAA,EAAgBsG,GAAO;AAAA,MACrB,cAAc;AAAA,MACd,aAAa;AAAA,IAAA,CACd;AAAA,EAAA,CACF;AAEL,GASaC,KAAmB,CAAC5P,MAAyB;AACxD,QAAM,EAAE,aAAAkM,EAAA,IAAgBE,GAAmBpM,CAAO,GAC5C,EAAE,YAAA6P,EAAA,IAAe/B,GAAU9N,CAAO;AACjC,SAAA,KAAK,IAAI6P,IAAa3D,CAAW;AAC1C,GASa4D,KAAe,CAAC9P,GAAsB+P,MAAuB;AAClE,QAAAP,IAAKC,GAAgBzP,CAAO,GAC5BgQ,IAAU,SAAStE,EAAgB8D,GAAI,cAAc,GAAG,EAAE,GAE1DS,IADSvE,EAAgB8D,GAAI,UAAU,MAAM,YACzBQ,IAAU,IAAIJ,GAAiB5P,CAAO,GAC1D0P,IAAaJ,GAAcE,CAAE;AAGnC,EAAIO,MACF1G,EAAgBmG,GAAI;AAAA,IAClB,UAAU;AAAA,IACV,cAAc,GAAGQ,IAAUC,CAAO;AAAA,EAAA,CACnC,GAGGP,EAAW,UACbA,EAAW,QAAQ,CAASC,MAAA;AACpB,UAAAO,IAAexE,EAAgBiE,GAAO,cAAc;AAGtD,QAFJA,EAAM,MAAM,eAAe,GAAG,SAASO,GAAc,EAAE,IAAID,CAAO,MAE9D,CAACb,IAAgBC,EAAmB,EAAE,KAAK,OAAKjO,EAASuO,GAAOzS,CAAC,CAAC,GAAG;AACjE,YAAAiT,IAAazE,EAAgBiE,GAAO,aAAa;AACvD,MAAAA,EAAM,MAAM,cAAc,GAAG,SAASQ,GAAY,EAAE,IAAIF,CAAO;AAAA,IACjE;AAAA,EAAA,CACD;AAGP,GC9FMG,IAAkB,aCElBC,KAAiBC,GAAc,EAAE,SAAS,OAAO,WAAW,mBAAmB,GAE/EC,KAAc,CAAC1Q,GAAqB2Q,MAAiC;AACzE,QAAMC,IAAkBC,EAAOF,CAAe,KAAKA,EAAgB,aAAa,QAC1EG,IAASD,EAAOF,CAAe,KAAK,CAACC,IAAkBD,IAAkBH,IACzEO,IAAOH,IAAkBD,IAAkBf,GAAgB5P,CAAM;AAEnE,EAAA6Q,EAAO7Q,CAAM,MACX8Q,MAAWN,MACbO,EAAK,OAAOP,EAAc,GAE5BM,EAAO,OAAO9Q,CAAM;AAExB,GAEMgR,KAAc,CAAChR,GAAqB2Q,MAAiC;AACzE,QAAMC,IAAkBC,EAAOF,CAAe,KAAKA,EAAgB,aAAa,QAC1EG,IAASD,EAAOF,CAAe,KAAK,CAACC,IAAkBD,IAAkBH;AAE3E,EAAAK,EAAO7Q,CAAM,MACfA,EAAO,OAAO,GAEV8Q,MAAWN,MAAkB,CAACA,GAAe,SAAS,UACxDA,GAAe,OAAO;AAG5B,GAEMS,KAAW,CAACjR,GAAqB2Q,MAAiC;AACtE,QAAMG,IAASD,EAAOF,CAAe,KAAKA,EAAgB,aAAa,SAASA,IAAkBH;AAClG,SAAOK,EAAO7Q,CAAM,KAAK8Q,EAAO,SAAS9Q,CAAM;AACjD,GChBMkR,KAAiB,YACjBC,KAAqB,GAAGjC,CAAW,IAAIgC,EAAc,IACrDE,KAAyB,GAAGb,CAAe,IAAIW,EAAc,IAC7DG,KAAsB,IAAInC,CAAW,IAAIzP,CAAS,IAClD6R,KAA0B,IAAIf,CAAe,IAAI9Q,CAAS,IAG1D8R,IAAUd,GAAc,KAAK,GAQ7Be,KAAiB,CAACrR,MACfC,EAAc,GAAGiR,EAAmB,IAAIC,EAAuB,IAAIhO,EAAYnD,CAAO,CAAC,GAQ1FsR,KAAoB,CAACC,MAAsB;AACzC,QAAAC,IAAcD,IAAUP,KAAqBC;AACnD,GAACD,IAAoBC,EAAsB,EAAE,QAAQ,CAAK/T,MAAA;AACxDmE,IAAAA,EAAY+P,GAASlU,CAAC;AAAA,EAAA,CACvB,GACDsF,EAAS4O,GAASI,CAAW;AAC/B,GASMC,KAAgB,CAACzR,GAAsB0R,GAAkBH,MAAsB;AACnF,EAAAD,GAAkBC,CAAO,GACbhB,GAAAa,GAAS3B,GAAgBzP,CAAO,CAAC,GACzC0R,KAASlP,EAAS4O,GAAS/R,CAAS;AAC1C,GAKMsS,KAAc,MAAM;AACxB,EAAKvQ,EAASgQ,GAAS9R,CAAS,MAC9BkD,EAAS4O,GAAS9R,CAAS,GAC3B2I,GAAOmJ,CAAO;AAElB,GAKMQ,KAAc,MAAM;AACxBvQ,EAAAA,EAAY+P,GAAS9R,CAAS;AAChC,GAOMuS,KAAgB,CAAC7R,MAAgC;AACjD,EAACqR,GAAerR,CAAO,MACzBqB,EAAY+P,GAAS/R,CAAS,GAClBwR,GAAAO,GAAS3B,GAAgBzP,CAAO,CAAC,GAC7CuP,GAAevP,CAAO;AAE1B,GCrFM8R,KAAY,CAAC9R,MACVyG,EAAczG,CAAO,KAAK0L,EAAgB1L,GAAS,YAAY,MAAM,YAAYA,EAAQ,iBAAiB,MC0D7G+R,KAAgB,IAAIhD,CAAW,IAC/BiD,KAAsB,IAAIjQ,EAAY,KAAKgN,CAAW,MACtDkD,KAAuB,IAAI1S,EAAa,KAAKwP,CAAW,MACxDmD,KAAmB,GAAGnD,CAAW,WAEjCoD,KAAgB;AAAA,EACpB,UAAU;AAAA,EACV,UAAU;AACZ,GAMMC,KAAmB,CAACpS,MAAyBW,EAAmBX,GAASgP,EAAc,GAKvFqD,KAAoB,CAACrS,MAAyB,IAAIsS,GAAMtS,CAAO,GAI/DuS,KAAiBxR,EAA8B,WAAWgO,CAAW,EAAE,GACvEyD,KAAkBzR,EAA8B,YAAYgO,CAAW,EAAE,GACzE0D,KAAiB1R,EAA8B,WAAWgO,CAAW,EAAE,GACvE2D,KAAmB3R,EAA8B,aAAagO,CAAW,EAAE,GAU3E4D,KAAoB,CAACzR,MAAgB;AACnC,QAAA,EAAE,SAAAlB,EAAY,IAAAkB,GACd0R,IAAiBhD,GAAiB5P,CAAO,GACzC,EAAE,cAAAmM,GAAc,cAAA0G,EAAa,IAAIzG,GAAmBpM,CAAO,GAC3D,EAAE,cAAc8S,GAAa,cAAcC,MAAsB/S,GACjEgT,IAAgBF,MAAgBC;AAGlC,MAAA,CAACC,KAAiBJ,GAAgB;AACpC,UAAMK,IAAOxN,GAAMzF,CAAO;AAAA;AAAA,MAAgD;AAAA,QAA5C,gBACxBkT,IAAW,CAAA;AACR,IAAAA,EAAAD,CAAG,IAAI,GAAGL,CAAc,MACjCvJ,EAAgBrJ,GAASkT,CAAQ;AAAA,EACnC;AACa,EAAApD,GAAA9P,GAASgT,KAAiB7G,MAAiB0G,CAAY;AACtE,GAQMM,KAAqB,CAACjS,GAAaK,MAAkB;AACnD,QAAAC,IAASD,IAAME,IAAcC,GAC7B,EAAE,SAAA1B,GAAS,QAAAoT,EAAW,IAAAlS;AACrB,EAAAM,EAAAxB,GAAS6B,GAAiBwR,EAAmB,GACpD7R,EAAOsM,GAAU9N,CAAO,GAAG4N,IAAawF,GAAQ7M,EAAc,GAC9D/E,EAAO2B,EAAYnD,CAAO,GAAGqH,IAAciM,EAAe;AAC5D,GAOMC,KAAiB,CAACrS,MAAgB;AACtC,QAAM,EAAE,UAAAiI,GAAU,SAAAnJ,GAAS,eAAAwT,EAAA,IAAkBtS;AAC7C,EAAA2Q,GAAc7R,CAAO,GACrBqJ,EAAgBrJ,GAAS,EAAE,cAAc,IAAI,SAAS,IAAI,GAC1DmT,GAAmBjS,CAAI;AAEvB,QAAMuS,IAAelB,GAAe,iBAAiBpJ,EAAS,KAAK2I,EAAS;AAExE,EAAA2B,KAAc9E,GAAM8E,CAA2B,GAEnDf,GAAiB,gBAAgBc,GACjCrS,EAAcnB,GAAS0S,EAAgB;AACzC,GAOMgB,KAAiB,CAACxS,MAAgB;AAChC,QAAA,EAAE,SAAAlB,GAAS,eAAAwT,EAAkB,IAAAtS;AACnCyN,EAAAA,GAAM3O,CAAO,GACbmT,GAAmBjS,GAAM,EAAI,GAE7BsR,GAAgB,gBAAgBgB,GAChCrS,EAAcnB,GAASwS,EAAe;AACxC,GAOMmB,KAAkB,CAACzS,MAAgB;AACjC,QAAA,EAAE,SAAAlB,GAAS,SAAA0R,EAAY,IAAAxQ;AAC7BmI,EAAAA,EAAgBrJ,GAAS,EAAE,SAAS,QAAS,CAAA,GAC7C2S,GAAkBzR,CAAI,GAEjBmQ,GAAerR,CAAO,KACzBqJ,EAAgBoG,GAAgBzP,CAAO,GAAG,EAAE,UAAU,UAAU,GAGlEwC,EAASxC,GAASV,CAAS,GAC3BsU,GAAgB5T,GAAS6T,EAAU,GACtBpR,EAAAzC,GAAS8T,IAAW,MAAM,GAEnCpC,IAASpQ,EAAqBtB,GAAS,MAAM0T,GAAexS,CAAI,CAAC,IAChEwS,GAAexS,CAAI;AAC1B,GAOM6S,KAAkB,CAAC7S,MAAgB;AACvC,QAAM,EAAE,SAAAlB,GAAS,SAAAyE,GAAS,SAAAiN,EAAA,IAAYxQ;AAIlC,EAAAuD,EAAQ,YAAYiN,KAAWtQ,EAASgQ,GAAS9R,CAAS,KAAK,CAAC+R,GAAerR,CAAO,KAE5E4R,MACZtQ,EAAqB8P,GAAS,MAAMmC,GAAerS,CAAI,CAAC,KAExDqS,GAAerS,CAAI;AAEvB,GASM8S,KAAoB,CAACtZ,MAA+B;AAClD,QAAA,EAAE,QAAAmF,EAAW,IAAAnF,GAEbgP,IAAU7J,KAAUyD,EAAQzD,GAAQmS,EAAmB,GACvDhS,IAAU0J,KAAW1G,EAAiB0G,CAAO,GAC7CxI,IAAOlB,KAAWoS,GAAiBpS,CAAO;AAGhD,EAAIkB,MAEEwI,KAAWA,EAAQ,YAAY,OAAKhP,EAAE,eAAe,GACzDwG,EAAK,gBAAgBwI,GACrBxI,EAAK,OAAO;AAEhB,GAQMoS,KAAkB,CAAC,EAAE,MAAAjO,GAAM,QAAAxF,QAAyC;AACxE,QAAMG,IAAUC,EAAciR,IAAqB/N,EAAYtD,CAAM,CAAC,GAChEqB,IAAOlB,KAAWoS,GAAiBpS,CAAO;AAGhD,MAAIkB,GAAM;AACF,UAAA,EAAE,SAAAuD,EAAY,IAAAvD;AAGlB,IAAAuD,EAAQ,YACRY,MAASuJ;AAAAA,IACTxN,EAASpB,GAASV,CAAS,MAG3B4B,EAAK,gBAAgB,MACrBA,EAAK,KAAK;AAAA,EAEd;AACF,GAOMmS,KAAsB,CAAC3Y,MAA+B;A3CpQvD,MAAA0L,GAAA6N;A2CqQG,QAAA,EAAE,eAAAC,EAAkB,IAAAxZ,GACpBwG,IAAOgT,IAAgB9B,GAAiB8B,CAAa,IAAI;AAI/D,MAAIhT,KAAQgT,KAAiB,CAACpP,EAAM,IAAIoP,CAAa,GAAG;AACtD,UAAM,EAAE,SAAAzP,GAAS,UAAA0P,GAAU,aAAAC,EAAA,IAAgBlT,GACrC,EAAE,UAAAmT,EAAa,IAAA5P,GACf,EAAE,QAAA5E,EAAW,IAAAnF,GAEb4Z,KAAenR,KAAAA,IAAAA,EAAY+Q,CAAa,MAAzB/Q,gBAAAA,EAA4B,mBAA5BA,gBAAAA,EAA4C,WAAW,QACtEoR,IAAqBH,EAAY,SAASvU,CAAM,GAChD8B,IAAU9B,KAAUyD,EAAQzD,GAAQoS,EAAoB;AAG1D,IAAAkC,KAAY,CAACI,IACTzP,EAAA;AAAA,MACJoP;AAAA,MACA,MAAM;AACJ1R,QAAAA,EAAS0R,GAAehC,EAAgB,GACxC5Q,EAAqB8S,GAAa,MAAMI,GAAoBtT,CAAI,CAAC;AAAA,MACnE;AAAA,MACA;AAAA,IAAA,KAEOS,KAAY,CAAC2S,KAAgB,CAACH,KAAY,CAACI,KAAsBF,OAC1EnT,EAAK,gBAAgBS,KAAW,MAChCT,EAAK,KAAK,GACVxG,EAAE,eAAe;AAAA,EAErB;AACF,GAOM8Z,KAAsB,CAACtT,MAAgB;AACrC,QAAA,EAAE,SAAAlB,GAAS,aAAAoU,EAAgB,IAAAlT,GAC3BuT,KAAYzM,GAA6BoM,CAAW,KAAK,KAAK;AACpE/S,EAAAA,EAAYrB,GAASkS,EAAgB,GAErCpN,EAAM,IAAI9E,GAAS,MAAM8E,EAAM,MAAM9E,CAAO,GAAGyU,CAAQ;AACzD;AAKA,MAAqBnC,WAAc1S,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAe/C,YAAYC,GAA8BC,GAAgC;AACxE,UAAMD,GAAQC,CAAM;AAmHtB;AAAA;AAAA;AAAA,IAAAC,EAAA,gBAAS,MAAM;AAET,MAAAqB,EAAS,KAAK,SAAS9B,CAAS,KAAGqT,GAAkB,IAAI;AAAA,IAAA;AAQ/D;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA5S,EAAA,+BAAwB,CAACwB,MAAkB;AACnC,YAAAC,IAASD,IAAME,IAAcC,GAC7B,EAAE,UAAAyH,EAAa,IAAA;AAGrB,MAAIA,EAAS,UACXA,EAAS,QAAQ,CAAOG,MAAA9H,EAAO8H,GAAKzH,GAAiBmS,EAAiB,CAAC;AAAA,IACzE;AAjIM,UAAA,EAAE,SAAAhU,EAAY,IAAA,MAGdoU,IAAcnU,EAAc,IAAI8O,CAAW,WAAW/O,CAAO;AAGnE,IAAIoU,MACF,KAAK,cAAcA,GAEd,KAAA,WAAW,CAAC,GAAG9O,GAAiB0M,IAAqB7O,EAAYnD,CAAO,CAAC,CAAC,EAAE;AAAA,MAC/E,CAAAsJ,MAAOtG,EAAiBsG,CAAG,MAAMtJ;AAAA,IAAA,GAI9B,KAAA,WAAW,KAAK,QAAQ,aAAa,UACrC,KAAA,UAAUoB,EAASpB,GAASX,CAAS,GAC1C,KAAK,gBAAgB,MAGrB,KAAK,sBAAsB,EAAI;AAAA,EAEnC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,OAAO;AACF,WAAA2P;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,WAAW;AACN,WAAAmD;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS;AACH,IAAA/Q,EAAS,KAAK,SAAS9B,CAAS,IAAG,KAAK,KAAK,IAC5C,KAAK,KAAK;AAAA,EACjB;AAAA;AAAA,EAGA,OAAO;AACL,UAAM,EAAE,SAAAU,GAAS,SAAAyE,GAAS,SAAAiN,GAAS,eAAA8B,MAAkB,MAC/C,EAAE,UAAAa,EAAa,IAAA5P;AACrB,QAAIiQ,IAAe;AAEnB,QAAI,CAACtT,EAASpB,GAASV,CAAS,MAC9BiT,GAAe,gBAAgBiB,KAAiB,QAChDrS,EAAcnB,GAASuS,EAAc,GACjC,CAACA,GAAe,mBAAkB;AAE9B,YAAAoC,IAActD,GAAerR,CAAO;AAEtC,UAAA2U,KAAeA,MAAgB3U,GAAS;AACpC,cAAA4U,IACJxC,GAAiBuC,CAAW;AAAA,QAE5BhU,EAAyDgU,GAAa1F,EAAkB;AACtF,QAAA2F,KAAMA,EAAK,KAAK;AAAA,MACtB;AACA,MAAIP,KACGvD,GAASM,CAAO,IAGnBE,GAAkB,EAAI,IAFRG,GAAAzR,GAAS0R,GAAS,EAAI,GAKtCgD,IAAe1M,GAA6BoJ,CAAO,GACvCO,MAEZ,WAAW,MAAMgC,GAAgB,IAAI,GAAGe,CAAY,MAEpDf,GAAgB,IAAI,GAEhBgB,KAAevT,EAASgQ,GAAS9R,CAAS,KAChCsS;IAGlB;AAAA,EAEJ;AAAA;AAAA,EAGA,OAAO;AACL,UAAM,EAAE,SAAA5R,GAAS,SAAA0R,GAAS,eAAA8B,EAAA,IAAkB;AAExC,IAAApS,EAASpB,GAASV,CAAS,MAC7BmT,GAAe,gBAAgBe,KAAiB,QAChDrS,EAAcnB,GAASyS,EAAc,GAEhCA,GAAe,qBAClBpR,EAAYrB,GAASV,CAAS,GACjBmD,EAAAzC,GAAS6T,IAAY,MAAM,GACxCD,GAAgB5T,GAAS8T,EAAS,GAG9BpC,IACFpQ,EAAqBtB,GAAS,MAAM+T,GAAgB,IAAI,CAAC,IAEzDA,GAAgB,IAAI;AAAA,EAI5B;AAAA;AAAA,EA0BA,UAAU;AACF,UAAA5L,IAAQ,EAAE,GAAG,QACb,EAAE,SAAAnI,GAAS,aAAAoU,EAAgB,IAAAjM,GAE3B0M,IAAW,MAAM,MAAM;AAC7B,SAAK,sBAAsB,GAE3B,KAAK,KAAK,GAGNzT,EAASpB,GAAS,MAAM,IAE1BsB,EAAqB8S,GAAaS,CAAQ,IAEjCA;EAEb;AACF;AAxKE9U,EADmBuS,IACZ,YAAWP,KAClBhS,EAFmBuS,IAEZ,QAAOD,KACdtS,EAHmBuS,IAGZ,eAAcF;AChQvB,MAAM0C,KAAoB,IAAI1E,CAAe,IACvC2E,KAA0B,IAAIhT,EAAY,KAAKqO,CAAe,MAC9D4E,KAA2B,IAAIzV,EAAa,KAAK6Q,CAAe,MAChE6E,KAAyB,GAAG7E,CAAe,aAE3C8E,KAAoB;AAAA,EACxB,UAAU;AAAA;AAAA,EACV,UAAU;AAAA;AAAA,EACV,QAAQ;AAAA;AACV,GAMMC,KAAuB,CAACnV,MAAyBW,EAAuBX,GAASiP,EAAkB,GAKnGmG,KAAwB,CAACpV,MAAyB,IAAIqV,GAAUrV,CAAO,GAIvEsV,KAAqBvU,EAAkC,WAAWqP,CAAe,EAAE,GACnFmF,KAAsBxU,EAAkC,YAAYqP,CAAe,EAAE,GACrFoF,KAAqBzU,EAAkC,WAAWqP,CAAe,EAAE,GACnFqF,KAAuB1U,EAAkC,aAAaqP,CAAe,EAAE,GAUvFsF,KAAwB,CAACxU,MAAoB;AAC3C,QAAA,EAAE,SAAAlB,EAAY,IAAAkB,GACd,EAAE,cAAAiL,GAAc,cAAA0G,EAAa,IAAIzG,GAAmBpM,CAAO;AACpD,EAAA8P,GAAA9P,GAASmM,MAAiB0G,CAAY;AACrD,GAQM8C,KAAyB,CAACzU,GAAiBK,MAAkB;AAC3D,QAAAC,IAASD,IAAME,IAAcC,GAC7BwB,IAAMC,EAAYjC,EAAK,OAAO;AAC7B,EAAAM,EAAA0B,GAAKmE,IAAcuO,EAA0B,GAC7CpU,EAAA0B,GAAKrB,GAAiBgU,EAAuB;AACtD,GAOMC,KAAsB,CAAC5U,MAAoB;AACzC,QAAA,EAAE,SAAAlB,GAAS,SAAAyE,EAAY,IAAAvD;AAGzB,EAACuD,EAAQ,WACXiR,GAAsBxU,CAAI,GAC1BmI,EAAgBoG,GAAgBzP,CAAO,GAAG,EAAE,UAAU,UAAU,IAGlEwC,EAASxC,GAASiV,EAAsB,GACxCzS,EAASxC,GAASV,CAAS,GAC3B+J,EAAgBrJ,GAAS,EAAE,YAAY,UAAW,CAAA,GAElDsB,EAAqBtB,GAAS,MAAM+V,GAAsB7U,CAAI,CAAC;AACjE,GAOM8U,KAAsB,CAAC9U,MAAoB;AACzC,QAAA,EAAE,SAAAlB,GAAS,SAAAyE,EAAY,IAAAvD,GACvByT,IAActD,GAAerR,CAAO;AAE1C,EAAAA,EAAQ,KAAK,GAET,CAAC2U,KAAelQ,EAAQ,YAAYrD,EAASgQ,GAAS9R,CAAS,KACrDsS,MAEdtQ,EAAqBtB,GAAS,MAAMiW,GAAsB/U,CAAI,CAAC;AACjE,GASMgV,KAA0B,CAACxb,MAAkB;AACjD,QAAMgP,IAAUpG,EAAQ5I,EAAE,QAAuBqa,EAAuB,GAClE/U,IAAU0J,KAAW1G,EAAiB0G,CAAO,GAC7CxI,IAAOlB,KAAWmV,GAAqBnV,CAAO;AAGpD,EAAIkB,MACFA,EAAK,gBAAgBwI,GACrBxI,EAAK,OAAO,GAERwI,KAAWA,EAAQ,YAAY,OACjChP,EAAE,eAAe;AAGvB,GAOMmb,KAA0B,CAACnb,MAAkB;AAC3C,QAAA,EAAE,QAAAmF,EAAW,IAAAnF,GACbsF,IAAUC,EAAckR,IAAyBhO,EAAYtD,CAAc,CAAC,GAC5EsW,IAAmBlW,EAAc+U,IAA0BhV,CAAkC,GAC7FkB,IAAOlB,KAAWmV,GAAqBnV,CAAO;AAGpD,MAAIkB,GAAM;AACF,UAAA,EAAE,SAAAuD,GAAS,UAAA0E,EAAa,IAAAjI,GACxB,EAAE,UAAAmT,EAAa,IAAA5P,GACfiF,IAAUpG,EAAQzD,GAAuBkV,EAAuB,GAChEqB,IAAYjT,EAAYnD,CAAO,EAAE,aAAa;AAGpD,KAAI,CAACoR,EAAQ,SAASvR,CAAqB,KAAKwU,MAAa,cAGzD,EAAE+B,KAAaA,EAAU,WAAW,YAClC,CAACpW,EAAQ,SAASH,CAAqB,KACvCwU;AAAA,KAC4B,CAAC3K,KAAWP,EAAS,SAAStJ,CAAqB,MAC9EsW,KAAoBA,EAAiB,SAAStW,CAAqB,OAEtEqB,EAAK,gBACHiV,KAAoBA,EAAiB,SAAStW,CAAqB,IAAIsW,IAAmB,MAC5FjV,EAAK,KAAK,IAIRwI,KAAWA,EAAQ,YAAY,OAAKhP,EAAE,eAAe;AAAA,EAE7D;AACF,GAQMkb,KAA6B,CAAC,EAAE,MAAAvQ,GAAM,QAAAxF,QAA4B;AACtE,QAAMG,IAAUC,EAAckR,IAAyBhO,EAAYtD,CAAc,CAAC,GAC5EqB,IAAOlB,KAAWmV,GAAqBnV,CAAO;AAGpD,EAAIkB,KAEEA,EAAK,QAAQ,YAAYmE,MAASuJ,OACpC1N,EAAK,gBAAgB,MACrBA,EAAK,KAAK;AAGhB,GAOM6U,KAAwB,CAAC7U,MAAoB;AAC3C,QAAA,EAAE,SAAAlB,EAAY,IAAAkB;AACpBG,EAAAA,EAAYrB,GAASiV,EAAsB,GAE3CrB,GAAgB5T,GAAS6T,EAAU,GACtBpR,EAAAzC,GAAS8T,IAAW,MAAM,GAC1BrR,EAAAzC,GAAS,QAAQ,QAAQ,GAEtCmB,EAAcnB,GAASuV,EAAmB,GAE1CI,GAAuBzU,GAAM,EAAI,GACjCyN,GAAM3O,CAAO;AACf,GAOMiW,KAAwB,CAAC/U,MAAoB;AAC3C,QAAA,EAAE,SAAAlB,GAAS,UAAAmJ,EAAa,IAAAjI;AAEjBuB,EAAAA,EAAAzC,GAAS6T,IAAY,MAAM,GACxCD,GAAgB5T,GAAS8T,EAAS,GAClCF,GAAgB5T,GAAS,MAAM,GAC/BqJ,EAAgBrJ,GAAS,EAAE,YAAY,GAAI,CAAA;AAE3C,QAAMqW,IAAiBf,GAAmB,iBAAiBnM,EAAS,KAAK2I,EAAS;AAE9E,EAAAuE,KAAgB1H,GAAM0H,CAA6B,GAEvDxE,GAAc7R,CAAO,GAErBmB,EAAcnB,GAASyV,EAAoB,GAC3CpU,EAAYrB,GAASiV,EAAsB,GAGtC5D,GAAerR,CAAO,KACzB2V,GAAuBzU,CAAI;AAE/B;AAKA,MAAqBmU,WAAkBzV,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAYnD,YAAYC,GAA8BC,GAAoC;AAC5E,UAAMD,GAAQC,CAAM;AAwGtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC,EAAA,+BAAwB,CAACwB,MAAkB;AACnC,YAAAC,IAASD,IAAME,IAAcC;AACnC,WAAK,SAAS,QAAQ,CAAA4H,MAAO9H,EAAO8H,GAAKzH,GAAiBqU,EAAuB,CAAC;AAAA,IAAA;AAvG5E,UAAA,EAAE,SAAAlW,EAAY,IAAA;AAGf,SAAA,WAAW,CAAC,GAAGsF,GAAiByP,IAAyB5R,EAAYnD,CAAO,CAAC,CAAC,EAAE;AAAA,MACnF,CAAAsJ,MAAOtG,EAAiBsG,CAAG,MAAMtJ;AAAA,IAAA,GAInC,KAAK,gBAAgB,MAGrB,KAAK,sBAAsB,EAAI;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,OAAO;AACF,WAAAiP;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,WAAW;AACN,WAAAiG;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS;AACH,IAAA9T,EAAS,KAAK,SAAS9B,CAAS,IAAG,KAAK,KAAK,IAC5C,KAAK,KAAK;AAAA,EACjB;AAAA;AAAA,EAGA,OAAO;AACL,UAAM,EAAE,SAAAU,GAAS,SAAAyE,GAAS,eAAA+O,EAAA,IAAkB;AAC5C,QAAIkB,IAAe;AAEnB,QAAI,CAACtT,EAASpB,GAASV,CAAS,MAC9BgW,GAAmB,gBAAgB9B,KAAiB,QACpD+B,GAAoB,gBAAgB/B,KAAiB,QACrDrS,EAAcnB,GAASsV,EAAkB,GAErC,CAACA,GAAmB,mBAAkB;AAElC,YAAAX,IAActD,GAAerR,CAAO;AACtC,UAAA2U,KAAeA,MAAgB3U,GAAS;AACpC,cAAA4U,IACJO,GAAqBR,CAAW;AAAA,QAEhChU,EAAyDgU,GAAa3F,EAAc;AAClF,QAAA4F,KAAMA,EAAK,KAAK;AAAA,MACtB;AAEA,MAAInQ,EAAQ,YACLqM,GAASM,CAAO,IAGDE,OAFlBG,GAAczR,GAAS,EAAI,GAK7B0U,IAAe1M,GAA6BoJ,CAAO,GACvCO,MAEZ,WAAW,MAAMmE,GAAoB,IAAI,GAAGpB,CAAY,MAExDoB,GAAoB,IAAI,GAEpBnB,KAAevT,EAASgQ,GAAS9R,CAAS,KAChCsS;IAGlB;AAAA,EAEJ;AAAA;AAAA,EAGA,OAAO;AACC,UAAA,EAAE,SAAA5R,GAAS,eAAAwT,EAAkB,IAAA;AAG/B,IAAApS,EAASpB,GAASV,CAAS,MAC7BkW,GAAmB,gBAAgBhC,KAAiB,QACpDiC,GAAqB,gBAAgBjC,KAAiB,QACtDrS,EAAcnB,GAASwV,EAAkB,GACpCA,GAAmB,qBACtBhT,EAASxC,GAASiV,EAAsB,GACxC5T,EAAYrB,GAASV,CAAS,GAC9B0W,GAAoB,IAAI;AAAA,EAG9B;AAAA;AAAA,EAcA,UAAU;AACF,UAAA7N,IAAQ,EAAE,GAAG,QACb,EAAE,SAAAnI,GAAS,SAAAyE,EAAY,IAAA0D,GACvBmO,IAAQ7R,EAAQ,WAAWuD,GAA6BoJ,CAAO;AAAA;AAAA,MAA+B;AAAA,OAC9FyD,IAAW,MAAM,WAAW,MAAM,MAAM,WAAWyB,IAAQ,EAAE;AACnE,SAAK,sBAAsB,GAE3B,KAAK,KAAK,GACNlV,EAASpB,GAASV,CAAS,IAC7BgC,EAAqBtB,GAAS6U,CAAQ,IAG7BA;EAEb;AACF;AAzIE9U,EADmBsV,IACZ,YAAWP,KAClB/U,EAFmBsV,IAEZ,QAAOD,KACdrV,EAHmBsV,IAGZ,eAAcF;AC5RvB,MAAMoB,KAAgB,WCAhBC,KAAmB,WCAnBC,KAAgB,WCOhBC,KAAiB,CAACC,MAAoB;AAC1C,QAAMC,IAAYD,MAAYF,IACxBI,IAAYD,IAAY,GAAGD,CAAO,WAAW,GAAGA,CAAO,SACvDG,IAAUF,IAAoD,KAAxC,cAAcD,CAAO,kBAC3CxP,IAAQ,eAAewP,CAAO,kBAC9BI,IAAO,eAAeF,CAAS;AACrC,SAAO,eAAeF,CAAO,WAAWF,EAAa,KAAKK,IAAS3P,IAAQ4P,CAAI;AACjF,GCfMC,KAAoB;AAAA,EACxB,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AACT,GCkBMC,KAAW,CAAoB/V,MAAY;AAC/C,QAAMgW,IAAa,6BACb,EAAE,SAAAlX,GAAS,SAAAmX,GAAS,WAAAC,GAAW,SAAA3S,GAAS,OAAA0C,EAAU,IAAAjG;AAGxD,MAAIiW,GAAS;AACL,UAAAE,IAAe,EAAE,GAAGL,MACpBxR,IAAMC,GAAMzF,CAAO;AAGzBqJ,IAAAA,EAAgB8N,GAAS;AAAA;AAAA,MAEvB,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,IAAA,CACT;AACK,UAAAG,IAAYpW,EAAK,SAASsV,IAC1B,EAAE,aAAae,GAAU,cAAcC,MAAcL,GACrD,EAAE,aAAaM,GAAQ,cAAcC,GAAQ,aAAaC,EAAW,IAAAvL,GAAmBpM,CAAO;AACjG,QAAA,EAAE,WAAA4X,EAAc,IAAAnT;AACpB,UAAM,EAAE,aAAaoT,GAAc,aAAaC,MAAiBV,GAE3DW,KADiBrM,EAAgB0L,GAA0B,UAAU,MACpC,SACjCxE,IAA+B,KAAK,IAAnBmF,KAAuBF,IAAeC,IAAyBL,IAASE,CAAtB,GACnEK,IAAcxS,KAAOuS;AAAA;AAAA,MAAyCnF;AAAA,QAAiB,GAC/EqF,KAAeR,KAAWjS,IAAuB,IAAjBoN,KAAsB,GACtD;AAAA,MACJ,OAAOsF;AAAA,MACP,QAAQC;AAAA,MACR,MAAMC;AAAA,MACN,OAAOC;AAAA,MACP,KAAKC;AAAA,IAAA,IACH7L,GAAsBzM,GAAS,EAAI,GACjC,EAAE,GAAA1F,GAAG,GAAA8C,OAAM;AAAA,MACf,GAAGgb;AAAA,MACH,GAAGE;AAAA,IAAA;AAGLjP,IAAAA,EAAgBlC,GAAsB;AAAA,MACpC,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,IAAA,CACT;AACD,QAAIoR,KAA+B,GAC/BC,KAAkC,IAClCC,KAAgC,GAChCC,KAAiC,IACjCC,KAA4B,IAC5BC,KAA6B,IAC7BC,KAA8B;AAE5B,UAAAC,KAAc3R,EAAsB,eAAe,GACnD4R,KAAe5R,EAAsB,gBAAgB,GACrD6R,KAAcF,KAAa;AAG7B,QAAAhM,KAAYwL,KAAcd,IAAYuB,KAAc,GACpDnM,KAAe0L,KAAcd,IAAYW,IAAaY,MAAerB,GACrE3K,KAAaqL,IAAeb,IAAWuB,KAAad,GACpDhL,KAAcoL,IAAeb,IAAWW,IAAYY,MAAcb;AAEhE,UAAAgB,KAAc,CAAC,QAAQ,OAAO,GAC9BC,KAAY,CAAC,OAAO,QAAQ;AAEtB,IAAApM,KAAAmM,GAAY,SAASrB,CAAS,IACtCU,KAAcH,IAAa,IAAIX,IAAY,IAAIuB,KAAc,IAC7DjM,IACWF,KAAAqM,GAAY,SAASrB,CAAS,IACzCU,KAAcd,IAAY,IAAIW,IAAa,IAAIY,MAAerB,IAC9D9K,IACSG,KAAAmM,GAAU,SAAStB,CAAS,IAAIQ,IAAeF,IAAY,IAAIX,IAAW,IAAIS,IAAcjL,IAC3FC,KAAAkM,GAAU,SAAStB,CAAS,IACtCQ,IAAeb,IAAW,IAAIW,IAAY,KAAKD,KAC/CjL,IAIJ4K,IAAYqB,GAAY,SAASrB,CAAS,KAAK7K,MAAcC,KAAc,QAAQ4K,GAEvEA,IAAAA,MAAc,SAAS9K,KAAY,WAAW8K,GAC9CA,IAAAA,MAAc,YAAYhL,KAAe,QAAQgL,GACjDA,IAAAA,MAAc,UAAU7K,KAAa,UAAU6K,GAC3DA,IAAYA,MAAc,WAAW5K;AAAA;AAAA,MAAyC;AAAA,QAAS4K,GAGlFT,EAAQ,UAAU,SAASS,CAAS,MACvCT,EAAQ,YAAYA,EAAQ,UAAU,QAAQD,GAAYG,EAAaO,CAAS,CAAC,IAK/EqB,GAAY,SAASrB,CAAS,KAE5BA,MAAc,SAEDa,KAAAne,IAAIid,KAAYD,IAAYwB,KAAa,KAGzCL,KAAAne,IAAI4d,KAAaZ,IAAYwB,KAAa,IAIvDhM,MAAaF,MACD2L,KAAA,GACGC,KAAA,GACNG,KAAAL,KAAcH,IAAa,IAAIY,KAAc,KAC/CjM,MACKyL,KAAAnb,IACGob,KAAA,IACjBG,KAAWR,IAAa,IAAIW,MACnBlM,MACT2L,KAAcnb,KAAIoa,IAAYW,GACbK,KAAA,IACNG,KAAAnB,IAAYW,IAAa,IAAIW,OAE1BP,KAAAnb,KAAIoa,IAAY,IAAIW,IAAa,GACpCQ,KAAAnB,IAAY,IAAIuB,KAAc,MAElCG,GAAU,SAAStB,CAAS,MACjCA,MAAc,QACFW,KAAAnb,KAAIoa,KAAaF,IAAYyB,KAAc,KAG3CR,KAAAnb,KAAI+a,KAAcb,IAAYyB,KAAc,IAIxDhM,MACa0L,KAAA,GACHG,KAAAte,IAAI4d,IAAY,IAAIc,MACvBhM,MACMyL,KAAA,QACCC,KAAA,GACHG,KAAAX,IAAY,IAAID,KAAeI,KAAgBW,OAE7CP,KAAAne,IAAIid,IAAW,IAAIW,IAAY,GAC9CU,KAAYrB,IAAW,IAAIyB,MAK/B3P,EAAgB8N,GAAS;AAAA,MACvB,KAAK,GAAGoB,EAAW;AAAA,MACnB,QAAQC,OAAmB,KAAK,KAAK,GAAGA,EAAc;AAAA,MACtD,MAAMC,OAAiB,SAASA,KAAe,GAAGA,EAAY;AAAA,MAC9D,OAAOC,OAAkB,KAAK,GAAGA,EAAa,OAAO;AAAA,IAAA,CACtD,GAIGjS,EAAcU,CAAK,MACjBwR,OAAa,OACTxR,EAAA,MAAM,MAAM,GAAGwR,EAAQ,OAE3BC,OAAc,KACVzR,EAAA,MAAM,OAAO,GAAGyR,EAAS,OACtBC,OAAe,OAClB1R,EAAA,MAAM,QAAQ,GAAG0R,EAAU;AAGrC,UAAMM,KAAsBpY,EAA+C,cAAcqY,GAAYlY,EAAK,IAAI,CAAC,EAAE;AACjHC,IAAAA,EAAcnB,GAASmZ,EAAmB;AAAA,EAC5C;AACF,GCxLME,KAAkC;AAAA,EACtC,UAAU3C,GAAeD,EAAa;AAAA,EACtC,OAAO;AAAA,EACP,aAAa;AAAA,EACb,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,OAAO;AAAA,EACP,WAAW,SAAS;AAAA,EACpB,SAAS;AAAA,EACT,aAAa;AAAA,EACb,UAAU;AACZ,GCdM6C,KAAoB,uBCFpBC,KAAmB,WCSnBC,KAAU,CAACxZ,GAAsByZ,GAAiCC,MAAuC;AAE7G,MAAIxZ,GAASuZ,CAAO,KAAKA,EAAQ,QAAQ;AACnC,QAAAE,IAAQF,EAAQ;AACpB,IAAIG,GAAWF,CAAU,MAAGC,IAAQD,EAAWC,CAAK;AAGpD,UAAME,IADY,IAAI,YACS,gBAAgBF,GAAO,WAAW;AACjE,IAAA3Z,EAAQ,OAAW,GAAG6Z,EAAa,KAAK,UAAW;AAAA,EAAA;AACrD,IAAWpT,EAAcgT,CAAO,IAC9BzZ,EAAQ,OAAOyZ,CAAO,KACbK,GAAWL,CAAO,KAAMM,GAAQN,CAAO,KAAKA,EAAQ,MAAM/I,CAAM,MACzE1Q,EAAQ,OAAW,GAAGyZ,CAAQ;AAElC,GCRMO,KAAY,CAAC9Y,MAA4B;AACvC,QAAA0V,IAAY1V,EAAK,SAASqY,IAE1B,EAAE,IAAAU,GAAI,SAAAja,GAAS,SAAAyE,EAAA,IAAYvD,GAC3B,EAAE,OAAAgZ,GAAO,WAAAtC,GAAW,UAAAuC,GAAU,WAAAC,GAAW,aAAAC,GAAa,YAAAX,GAAY,aAAAY,GAAa,SAAAb,GAAS,UAAAc,EAAA,IAAa9V,GACrG+V,IAAY5D,IAAYH,KAAgBF,IACxCc,IAAe,EAAE,GAAGL;AAC1B,MAAIyD,IAAqB,CAAA,GACrBC,IAAuB,CAAA;AAEvB,EAAAjV,GAAMzF,CAAO,MACfqX,EAAa,OAAO,OACpBA,EAAa,QAAQ;AAIvB,QAAMsD,KAAiB,MAAMH,CAAS,IAAInD,EAAaO,CAAS,CAAC;AAG7D,MAAAgD;AACA,MAAAnU,EAAc0T,CAAQ;AACN,IAAAS,KAAAT;AAAA,OACb;AACC,UAAAU,IAAavK,GAAc,KAAK;AAC9B,IAAAkJ,GAAAqB,GAAYV,GAAUT,CAAU,GACxCkB,KAAkBC,EAAW;AAAA,EAC/B;AAGA,EAAA3Z,EAAK,UAAUuF,EAAcmU,EAAe,IACvCA,GAAgB,UAAU,EAAI;AAAA;AAAA,IACJ;AAAA;AAEzB,QAAA,EAAE,SAAAzD,EAAY,IAAAjW;AAEpB,MAAIiW,GAAS;AAEE1U,IAAAA,EAAA0U,GAAS,MAAM8C,CAAE,GACjBxX,EAAA0U,GAAS,QAAQV,EAAa;AAE3C,UAAMI,IAAYD,IAAY,GAAGH,EAAa,WAAW,GAAGF,EAAa,SACnEuE,KAAgBlE,IAAY,OAAO3W,EAAc,IAAIsW,EAAa,WAAWY,CAAO,GACpF4D,IAAc9a,EAAc,IAAI4W,CAAS,IAAIM,CAAO;AAG1D,IAAAjW,EAAK,QAAQjB,EAAc,IAAIua,CAAS,UAAUrD,CAAO;AACnD,UAAA,EAAE,OAAAhQ,EAAU,IAAAjG;AAElB,QAAIuF,EAAcyT,CAAK;AAAG,MAAAO,IAAa,CAACP,EAAM,UAAU,EAAI,CAAC;AAAA,SACxD;AACG,YAAAc,IAAY1K,GAAc,KAAK;AAC7B,MAAAkJ,GAAAwB,GAAWd,GAAOR,CAAU,GACpCe,IAAa,CAAK,GAAGO,EAAU,UAAW;AAAA,IAC5C;AAEA,QAAIvU,EAAcgT,CAAO;AAAG,MAAAiB,IAAe,CAACjB,EAAQ,UAAU,EAAI,CAAC;AAAA,SAC9D;AACG,YAAAwB,IAAc3K,GAAc,KAAK;AAC/B,MAAAkJ,GAAAyB,GAAaxB,GAASC,CAAU,GACxCgB,IAAe,CAAK,GAAGO,EAAY,UAAW;AAAA,IAChD;AAGA,QAAIX;AACF,UAAIJ;AACF,YAAIzT,EAAc8T,CAAQ;AAAG,UAAAE,IAAa,CAAC,GAAGA,GAAYF,EAAS,UAAU,EAAI,CAAC;AAAA,aAC7E;AACG,gBAAAW,IAAU5K,GAAc,KAAK;AAC3B,UAAAkJ,GAAA0B,GAASX,GAAUb,CAAU,GACrCe,IAAa,CAAC,GAAGA,GAAYS,EAAQ,UAAkB;AAAA,QACzD;AAAA,eAGIJ,MAAeA,GAAc,OAAO,GACpCrU,EAAc8T,CAAQ;AAAG,QAAAG,IAAe,CAAC,GAAGA,GAAcH,EAAS,UAAU,EAAI,CAAC;AAAA,WACjF;AACG,cAAAW,IAAU5K,GAAc,KAAK;AAC3B,QAAAkJ,GAAA0B,GAASX,GAAUb,CAAU,GACrCgB,IAAe,CAAC,GAAGA,GAAcQ,EAAQ,UAAkB;AAAA,MAC7D;AAOJ,IAAKtE,IAOMsD,KAASa,KAAqBvB,GAAAuB,GAAab,GAAOR,CAAU,KALjEQ,KAASY,MAAuBtB,GAAAsB,IAAeL,GAAYf,CAAU,GAErED,KAAWsB,KAAqBvB,GAAAuB,GAAaL,GAAchB,CAAU,GAEzExY,EAAK,MAAMjB,EAAc,cAAckX,CAAO,KAAK,SAKrD3U,EAAS2U,GAAS,gBAAgB,GAClC3U,EAAS2E,GAAO,mBAAmB,GAI9B/F,EAAS+V,GAASqD,CAAS,KAAGhY,EAAS2U,GAASqD,CAAS,GAE1DJ,KAAa,CAAChZ,EAAS+V,GAAS9X,CAAS,KAAGmD,EAAS2U,GAAS9X,CAAS,GAEvEgb,KAAe,CAACjZ,EAAS+V,GAASkD,CAAW,KAC/C7X,EAAS2U,GAASkD,CAAW,GAG1BjZ,EAAS+V,GAASwD,EAAc,KAAGnY,EAAS2U,GAASwD,EAAc;AAAA,EAC1E;AACF,GCrHMQ,KAAsB,CAACnb,MAAqC;AAC1D,QAAAob,IAAiB,CAAC,QAAQ,MAAM,GAChCC,IAA2B,CAAA;AAC7B,MAAA,EAAE,YAAAC,EAAe,IAAAtb;AAErB,SAAOsb,KAAc,CAACF,EAAe,SAASE,EAAW,QAAQ;AAC/D,IAAAA,IAAaC,GAAcD,CAAU,GAE/BE,GAAaF,CAAU,KAAKG,GAAeH,CAAU,KACzDD,EAAW,KAAKC,CAAU;AAI9B,SACED,EAAW,KAAK,CAACne,GAAG,MAEhBwO,EAAgBxO,GAAkB,UAAU,MAAM,cAClDme,EAAW,MAAM,IAAI,CAAC,EAAE,MAAM,CAAKrgB,MAAA0Q,EAAgB1Q,GAAkB,UAAU,MAAM,QAAQ,IAEtFkC,IAEF,IACR;AAAA,EAAgDiG,EAAYnD,CAAO,EAAE;AAE1E,GC2BM0b,KAAkB,IAAI3Z,EAAY,KAAK0U,EAAa,iBAAiBA,EAAa,MAClFkF,KAAY;AAOlB,IAAIC,KAAqB,CAAC5b,MAAyBW,EAAqBX,GAASuZ,EAAgB;AAKjG,MAAMsC,KAAsB,CAAC7b,MAAyB,IAAI8b,GAAQ9b,CAAO,GASnE+b,KAAgB,CAAC7a,MAAkB;AACvC,QAAM,EAAE,SAAAlB,GAAS,SAAAmX,GAAS,WAAAC,GAAW,cAAA4E,MAAiB9a;AACtD0S,EAAAA,GAAgB5T,GAASic,EAAe,GACxCpL,GAAYsG,GAAwBC,MAAc4E,IAAe5E,IAAY4E,CAAY;AAC3F,GAOME,KAAS,CAAChb,MAAuC;AACrD,QAAM,EAAE,SAAAiW,GAAS,WAAAC,GAAW,cAAA4E,EAAA,IAAiB9a;AAE7C,SAAOiW,KAAWrG,GAASqG,GAASC,MAAc4E,IAAe5E,IAAY4E,CAAY;AAC3F,GAQMG,KAAyB,CAACjb,GAAe2T,MAA0B;AACjE,QAAA,EAAE,SAAA7U,EAAY,IAAAkB;AACpB,EAAAA,EAAK,sBAAsB,GAGvBgJ,GAAalK,GAASsZ,EAAiB,KAAKpY,EAAK,SAASqY,MAC5D6C,GAAmBlb,CAAI,GAGrB2T,KAAmBA;AACzB,GAQMwH,KAAsB,CAACnb,GAAeK,MAAkB;AACtD,QAAAC,IAASD,IAAME,IAAcC,GAC7B,EAAE,SAAA1B,EAAY,IAAAkB;AAEpB,EAAAM,EAAO2B,EAAYnD,CAAO,GAAGiH,IAAiB/F,EAAK,aAAaqF,EAAc,GAE9E,CAACoH,IAAaC,EAAW,EAAE,QAAQ,CAAMC,MAAA;AACvC,IAAArM,EAAOsM,GAAU9N,CAAO,GAAG6N,GAAI3M,EAAK,QAAQqF,EAAc;AAAA,EAAA,CAC3D;AACH,GAOM+V,KAAqB,CAACpb,MAAkB;AACtC,QAAA,EAAE,SAAAlB,EAAY,IAAAkB,GACdqb,IAAoBxb,EAA+C,YAAYqY,GAAYlY,EAAK,IAAI,CAAC,EAAE;AAE7G,EAAAmb,GAAoBnb,GAAM,EAAI,GAC9BC,EAAcnB,GAASuc,CAAiB,GAClCzX,EAAA,MAAM9E,GAAS,IAAI;AAC3B,GAOMwc,KAAsB,CAACtb,MAAkB;AACvC,QAAA,EAAE,SAAAlB,EAAY,IAAAkB,GACdub,IAAqB1b,EAA+C,aAAaqY,GAAYlY,EAAK,IAAI,CAAC,EAAE;AAE/G,EAAAmb,GAAoBnb,CAAI,GACxB6a,GAAc7a,CAAI,GAClBC,EAAcnB,GAASyc,CAAkB,GAEnC3X,EAAA,MAAM9E,GAAS,KAAK;AAC5B,GAQM0c,KAA4B,CAACxb,GAAeK,MAAkB;AAC5D,QAAAC,IAASD,IAAME,IAAcC,GAC7B,EAAE,SAAA1B,GAAS,WAAAoX,GAAW,cAAA4E,EAAA,IAAiB9a,GACvC,EAAE,cAAAyb,GAAc,cAAA9J,EAAiB,IAAAuE,GACjCwF,IAActZ,EAAQtD,GAAS,IAAI+O,CAAW,EAAE,GAChD8N,IAAkBvZ,EAAQtD,GAAS,IAAIoQ,CAAe,EAAE,GAGxD0M,IAAMhP,GAAU9N,CAAO,GAEvB+c,IAAe3F,MAAc4E,KADlBW,MAAiB9J,IAC4BuE,IAAY0F;AAC1E,EAAAtb,EAAOub,GAAcnP,IAAa1M,EAAK,QAAQqF,EAAc,GAC7D/E,EAAOub,GAAcpP,IAAazM,EAAK,QAAQqF,EAAc,GAGzDqW,KAAapb,EAAOob,GAAa,WAAW7N,CAAW,IAAI7N,EAAK,UAAU,GAC1E2b,KAAiBrb,EAAOqb,GAAiB,WAAWzM,CAAe,IAAIlP,EAAK,UAAU;AAC5F,GAQMkb,KAAqB,CAAClb,GAAeuY,MAAqB;AAExD,QAAAuD,IAAW,CAAC1D,IAAmBqC,EAAS,GACxC,EAAE,SAAA3b,EAAY,IAAAkB;AAEpBuB,EAAAA;AAAAA,IACEzC;AAAA,IACAgd,EAASvD,IAAU,IAAI,CAAC;AAAA,IACxBA,KAAWlX,GAAavC,GAASgd,EAAS,CAAC,CAAC;AAAA,IAAgC;AAAA,EAAA,GAE9EpJ,GAAgB5T,GAASgd,EAASvD,IAAU,IAAI,CAAC,CAAC;AACpD;AAKA,MAAqBqC,WAAgBlc,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBjD,YAAYC,GAA8BC,GAAkC;AAC1E,UAAMD,GAAQC,CAAM;AA6DtB;AAAA;AAAA;AAAA,IAAAC,EAAA,qBAAc,MAAM4O,GAAM,KAAK,OAAO;AAEtC;AAAA,IAAA5O,EAAA,oBAAa,MAAM,KAAK;AAsCxB;AAAA,IAAAA,EAAA,oBAAa,MAAM,KAAK;AAgCxB;AAAA,IAAAA,EAAA,gBAAS,MAAM;AACb,MAAAkX,GAAkB,IAAI;AAAA,IAAA;AAIxB;AAAA,IAAAlX,EAAA,gBAAS,MAAM;AACP,YAAA,EAAE,SAAAoX,EAAY,IAAA;AAEhB,MAAAA,KAAW,CAAC+E,GAAO,IAAI,IAAG,KAAK,KAAK,IACnC,KAAK,KAAK;AAAA,IAAA;AAyCjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAnc,EAAA,qBAAc,CAAC,EAAE,QAAAF,QAAyB;AAClC,YAAA,EAAE,SAAAsX,GAAS,SAAAnX,EAAY,IAAA;AAI1B,MAAAmX,KAAWA,EAAQ,SAAStX,CAAqB,KAClDA,MAAWG,KACVH,KAAUG,EAAQ,SAASH,CAAqB,KAIjD,KAAK,KAAK;AAAA,IACZ;AAQF;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAE,EAAA,+BAAwB,CAACwB,MAAkB;AACnC,YAAAC,IAASD,IAAME,IAAcC,GAE7B,EAAE,SAAA1B,GAAS,SAAAyE,GAAS,KAAA6E,EAAA,IAAQ,MAC5B,EAAE,SAAAI,EAAY,IAAAjF,GAEd6V,IAAc,GADF,KAAK,SAASf,MACE9U,EAA2B;AAG7D,MAAKiF,EAAQ,SAAS,QAAQ,MACvB,KAAA,UAAU,CAAC,CAACnI,GAEMmI,EAAQ,MAAM,GAAG,EAEzB,QAAQ,CAAMuT,MAAA;AAE3B,QAAIA,MAAOC,MACF1b,EAAAxB,GAASoO,IAAgB,KAAK,UAAU,GACxC5M,EAAAxB,GAAS8G,IAAiB,KAAK,UAAU,GAG3CwT,MACI9Y,EAAAxB,GAAS+G,IAAiB,KAAK,UAAU,GAChDvF,EAAO2B,EAAYnD,CAAO,GAAGiH,IAAiB,KAAK,aAAaV,EAAc,MAEvE0W,MAAOpb,IAChBL,EAAOxB,GAASid,GAAK3C,IAA4B,KAAK,aAAnB,KAAK,MAAwB,IACvD2C,MAAO1P,OACT/L,EAAAxB,GAASmd,IAAc,KAAK,UAAU,GAExC7C,KAAoB9Y,EAAAxB,GAASod,IAAe,KAAK,UAAU,GAE5DC,MACK7b,EAAAxB,GAAS6B,GAAiB,KAAK,WAAW,IAIjDyY,KAAehR,KACV9H,EAAA8H,GAAKzH,GAAiB,KAAK,UAAU;AAAA,MAC9C,CACD;AAAA,IACH;AAlPM,UAAA,EAAE,SAAA7B,EAAY,IAAA,MACd4W,IAAY,KAAK,SAAS2C,IAC1BiB,IAAY5D,IAAYH,KAAgBF,IACxC+G,IAAe1G,IAAY2C,KAAmB/C;AAGpD,IAAAoF,KAAqB,CAAoB2B,MAAsB5c,EAAe4c,GAAMD,CAAY,GAGhG,KAAK,UAAU,IAEf,KAAK,KAAK,GAAG9C,CAAS,IAAIgD,GAAOxd,GAASwa,CAAS,CAAC;AAG9C,UAAA,EAAE,SAAA/V,EAAY,IAAA;AAGhB,IAAG,CAACA,EAAQ,SAASmS,KAAe,CAACA,KAAa,CAACnS,EAAQ,YAE7DsD,GAAasR,IAAiB,EAAE,WAAW,GAAI,CAAA,GAI3CnP,GAAalK,GAAS2b,EAAS,KAAK/E,KAAa,OAAOnS,EAAQ,SAAU,YACzD2X,GAAA,MAAM3X,EAAQ,KAAK,GAInC,KAAA,YAAY0W,GAAoBnb,CAAO,GAC5C,KAAK,eAAe,CAAC,UAAU,OAAO,EAAE;AAAA,MACtC,CAAYyd,MAAA/R,EAAgB,KAAK,WAA0B,UAAU,MAAM+R;AAAA,IAAA,IAExE,KAAK,YACNta,EAAY,KAAK,OAAO,EAAE,MAG9B6W,GAAU,IAAI,GAGd,KAAK,sBAAsB,EAAI;AAAA,EAEnC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,OAAO;AACF,WAAAT;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,WAAW;AACN,WAAAF;AAAA,EACT;AAAA,EAQA,OAAO;AACL,UAAM,EAAE,SAAA5U,GAAS,SAAA0S,GAAS,SAAAnX,GAAS,WAAAoX,GAAW,cAAA4E,GAAc,IAAA/B,EAAO,IAAA,MAC7D,EAAE,WAAAG,EAAc,IAAA3V,GAChBiZ,IAAW5Y,EAAM,IAAI9E,GAAS,KAAK,GACnC2d,IAAevG,MAAc4E,IAAe5E,IAAY4E;AAExDlX,IAAAA,EAAA,MAAM9E,GAAS,KAAK,GAEtBmX,KAAW,CAACuG,KAAY,CAACxB,GAAO,IAAI,KAChCpX,EAAA;AAAA,MACJ9E;AAAA,MACA,MAAM;AACJ,cAAM4d,IAAmB7c,EAA+C,WAAWqY,GAAY,KAAK,IAAI,CAAC,EAAE;AAC3GjY,QAAAA,EAAcnB,GAAS4d,CAAgB,GAClCA,EAAiB,qBAEpBrN,GAAY4G,GAASwG,CAAY,GAEjClb,EAAazC,GAASic,IAAiB,IAAIhC,CAAE,EAAE,GAE/C,KAAK,OAAO,GACZyC,GAA0B,MAAM,EAAI,GAG/Btb,EAAS+V,GAAS7X,CAAS,KAAGkD,EAAS2U,GAAS7X,CAAS,GAE1D8a,IAAW9Y,EAAqB6V,GAAS,MAAMmF,GAAmB,IAAI,CAAC,IACtEA,GAAmB,IAAI;AAAA,MAEhC;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAGN;AAAA,EAIA,OAAO;AACL,UAAM,EAAE,SAAA7X,GAAS,SAAA0S,GAAS,SAAAnX,EAAA,IAAY,MAChC,EAAE,WAAAoa,GAAW,OAAA9D,EAAU,IAAA7R;AAEvBK,IAAAA,EAAA,MAAM9E,GAAS,IAAI,GAGrBmX,KAAW+E,GAAO,IAAI,KAClBpX,EAAA;AAAA,MACJ9E;AAAA,MACA,MAAM;AACJ,cAAM6d,IAAmB9c,EAA+C,WAAWqY,GAAY,KAAK,IAAI,CAAC,EAAE;AAC3GjY,QAAAA,EAAcnB,GAAS6d,CAAgB,GAElCA,EAAiB,qBACpB,KAAK,OAAO,GACZxc,EAAY8V,GAAS7X,CAAS,GAC9Bod,GAA0B,IAAI,GAG1BtC,IAAW9Y,EAAqB6V,GAAS,MAAMqF,GAAoB,IAAI,CAAC,IACvEA,GAAoB,IAAI;AAAA,MAEjC;AAAA,MACAlG,IAAQ;AAAA,MACR;AAAA,IAAA;AAAA,EAGN;AAAA;AAAA,EAgBA,SAAS;AACD,UAAA,EAAE,SAAAwH,EAAY,IAAA;AAEpB,IAAKA,MACH,KAAK,sBAAsB,EAAI,GAC/B,KAAK,UAAU,CAACA;AAAA,EAEpB;AAAA;AAAA,EAGA,UAAU;AACR,UAAM,EAAE,SAAA3G,GAAS,SAAA1S,GAAS,SAAAqZ,EAAA,IAAY,MAChC,EAAE,WAAA1D,EAAc,IAAA3V;AAEtB,IAAIqZ,MACE3G,KAAW+E,GAAO,IAAI,KAAK9B,KAC7B,KAAK,KAAK,GACV9Y,EAAqB6V,GAAS,MAAM,KAAK,sBAAuB,CAAA,KAEhE,KAAK,sBAAsB,GAE7B,KAAK,UAAU,CAAC2G;AAAA,EAEpB;AAAA;AAAA,EAGA,gBAAgB;AACd,IAAK,KAAK,UACL,KAAK,QAAQ,IADC,KAAK,OAAO;AAAA,EAEjC;AAAA;AAAA,EAyEA,UAAU;AACF,UAAA,EAAE,SAAA3G,GAAS,SAAA1S,EAAY,IAAA,MACvB0D,IAAQ,EAAE,GAAG,MAAM,MAAM,KAAK,QAC9B0M,IAAW,MAAM,WAAW,MAAMsH,GAAuBhU,GAAO,MAAM,MAAM,QAAA,CAAS,GAAG,EAAE;AAEhG,IAAI1D,EAAQ,aAAayX,GAAO/T,CAAK,KACnC,KAAK,QAAQ,QAAQ,GACrB,KAAK,KAAK,GACV7G,EAAqB6V,GAAwBtC,CAAQ,KAE5CA;EAEb;AACF;AAvRE9U,EADmB+b,IACZ,YAAWJ,KAClB3b,EAFmB+b,IAEZ,QAAOD,KACd9b,EAHmB+b,IAGZ,eAAcF,KACrB7b,EAJmB+b,IAIZ,YAAW7E;ACxMpB,MAAM8G,KAAkB,IAAIhc,EAAY,KAAKwU,EAAa,iBAAiBA,EAAa,MAElFyH,KAAkCjW,GAAa,CAAC,GAAGsR,IAAiB;AAAA,EACxE,UAAU3C,GAAeH,EAAa;AAAA,EACtC,SAAS;AAAA,EACT,aAAa;AAAA,EACb,UAAU;AACZ,CAAC,GAOK0H,KAAqB,CAACje,MAAyBW,EAAqBX,GAASwW,EAAgB,GAK7F0H,KAAsB,CAACle,MAAyB,IAAIme,GAAQne,CAAO;AAKzE,MAAqBme,WAAgBrC,GAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,EAW3C,YAAYjc,GAA8BC,GAAkC;AAC1E,UAAMD,GAAQC,CAAM;AAgBtB;AAAA,IAAAC,EAAA,cAAO,MAAM;AACX,YAAM,KAAK;AAEL,YAAA,EAAE,SAAA0E,GAAS,KAAA6E,EAAQ,IAAA;AAEzB,MAAI7E,EAAQ,eAAe6E,KAAK,WAAW,MAAMqF,GAAMrF,CAAG,GAAG,EAAE;AAAA,IAAA;AAAA,EApBjE;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,OAAO;AACF,WAAAkN;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,WAAW;AACN,WAAAwH;AAAA,EACT;AAUF;AAlCEje,EADmBoe,IACZ,YAAWJ,KAClBhe,EAFmBoe,IAEZ,QAAOD,KACdne,EAHmBoe,IAGZ,eAAcF,KACrBle,EAJmBoe,IAIZ,YAAWlH;AC5CpB,MAAMmH,KAAkB,aCAlBC,KAAqB,aCiCrBC,KAAoB,0BAEpBC,KAAsC;AAAA,EAC1C,QAAQ;AAAA,EACR,QAAQ;AACV,GAMMC,KAAuB,CAACxe,MAAyBW,EAAuBX,GAASqe,EAAkB,GAKnGI,KAAwB,CAACze,MAAyB,IAAI0e,GAAU1e,CAAO,GAIvE2e,KAAoB5d,EAAkC,eAAeqd,EAAe,EAAE,GAStFQ,KAAmB,CAAC1d,MAAoB;AAC5C,QAAM,EAAE,QAAArB,GAAQ,cAAAkd,GAAc,SAAAtY,GAAS,aAAAoa,GAAa,cAAAhM,GAAc,SAAA7S,EAAY,IAAAkB,GACxE,EAAE,QAAAuK,EAAW,IAAAhH,GACbqa,IAAQC,GAAShC,CAA6B,GAE9CiC,IAAQnf,KAAUof,GAAqB,KAAKpf,CAAM,GAClDqf,IAAenC,IAAeoC,GAAgBpC,CAAY;AAAA;AAAA,IAA+BlK;AAAA;AAM/F,MAJA3R,EAAK,YAAY4d,IAAS/B,EAAwB,UAAWA,EAA6B,WAItFiC,MAAUE,MAAiBrM,KAAgBgM,MAAgBG,EAAM,SAAS;AACxE,QAAAI,GACAC,GACAC;AAGJ,IAAApe,EAAK,QAAQ,IACbA,EAAK,UAAU,IACfA,EAAK,eAAege,GACpBhe,EAAK,YAAYA,EAAK,eAAeqe,GAAgBre,CAAI,GAEzD,CAAC,GAAG8d,CAAK,EAAE,QAAQ,CAAQQ,MAAA;AAClB,MAAAJ,IAAA7c,GAAaid,GAAM,MAAM,GAChCH,IACED,KAAQA,EAAK,OAAO,CAAC,MAAM,OAAOA,EAAK,MAAM,EAAE,MAAM,OAAOnf,EAAcmf,GAAMjc,EAAYnD,CAAO,CAAC,GAElGqf,MACGne,EAAA,MAAM,KAAKse,CAAI,GACpBF,IAAO7S,GAAsB4S,CAAU,GAClCne,EAAA,QAAQ,MAAM4d,IAAQQ,EAAK,MAAMpe,EAAK,YAAYme,EAAW,aAAa5T,CAAM;AAAA,IACvF,CACD,GACIvK,EAAA,cAAcA,EAAK,MAAM;AAAA,EAChC;AACF,GAQMie,KAAkB,CAACpC,MAChBtW,EAAcsW,CAAoB,IACpCA,EAA6B,eAC9B3Q,GAAmB2Q,CAAoB,EAAE,cAQzCwC,KAAkB,CAAC,EAAE,SAAAvf,GAAS,cAAA+c,QAC3BgC,GAAShC,CAAoB,IAAKA,EAAwB,cAActQ,GAAsBzM,CAAO,EAAE,QAQ1Gyf,KAAQ,CAAC5f,MAAwB;AACrC,GAAC,GAAGof,GAAqB,KAAKpf,CAAM,CAAC,EAAE,QAAQ,CAAQ6f,MAAA;AACjD,IAAAte,EAASse,GAAM5d,CAAW,KAAGT,EAAYqe,GAAM5d,CAAW;AAAA,EAAA,CAC/D;AACH,GAQM6d,KAAW,CAACze,GAAiBwe,MAAsB;AACjD,QAAA,EAAE,QAAA7f,GAAQ,SAAAG,EAAY,IAAAkB;AAC5B,EAAIuF,EAAc5G,CAAM,KAAG4f,GAAM5f,CAAM,GACvCqB,EAAK,aAAawe,GAClBld,EAASkd,GAAM5d,CAAW;AAG1B,QAAM8d,IAAyB,CAAA;AAC/B,MAAIC,IAAaH;AACV,SAAAG,MAAepQ,GAAgBzP,CAAO;AAC3C,IAAA6f,IAAaA,EAAW,gBACpBze,EAASye,GAAY,KAAK,KAAKze,EAASye,GAAY,eAAe,MAAGD,EAAQ,KAAKC,CAAU;AAGnG,EAAAD,EAAQ,QAAQ,CAAYE,MAAA;AAC1B,UAAMC,IAAaD,EAAS;AAG5B,IAAIC,KAAc,CAAC3e,EAAS2e,GAAYje,CAAW,KACjDU,EAASud,GAAYje,CAAW;AAAA,EAClC,CACD,GAGD6c,GAAkB,gBAAgBe,GAClCve,EAAcnB,GAAS2e,EAAiB;AAC1C;AAKA,MAAqBD,WAAkB9e,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBnD,YAAYC,GAA8BC,GAAoC;AAC5E,UAAMD,GAAQC,CAAM;AAuCtB;AAAA;AAAA;AAAA;AAAA,IAAAC,EAAA,iBAAU,MAAM;AACR,YAAA,EAAE,QAAAF,EAAW,IAAA;AAInB,UAAI4G,EAAc5G,CAAM,KAAKA,EAAO,eAAe,GAAG;AACpD,QAAA+e,GAAiB,IAAI;AAErB,cAAM,EAAE,WAAAoB,GAAW,WAAAC,GAAW,aAAApB,GAAa,OAAAqB,GAAO,YAAAxb,EAAe,IAAA;AAEjE,YAAIsb,KAAaC,GAAW;AACpB,gBAAAE,IAAgBD,EAAMrB,IAAc,CAAC;AAG3C,UAAIna,MAAeyb,KACjBR,GAAS,MAAMQ,CAAa;AAE9B;AAAA,QACF;AAEM,cAAA,EAAE,SAAAC,EAAY,IAAA;AAEhB,YAAA1b,KAAcsb,IAAYI,EAAQ,CAAC,KAAKA,EAAQ,CAAC,IAAI,GAAG;AAC1D,eAAK,aAAa,MACdvgB,KAAQ4f,GAAM5f,CAAM;AACxB;AAAA,QACF;AAEM,QAAAqgB,EAAA,QAAQ,CAACR,GAAMhkB,MAAM;AACzB,UACEgJ,MAAegb,KACfM,KAAaI,EAAQ1kB,CAAC,MACrB,OAAO0kB,EAAQ1kB,IAAI,CAAC,IAAM,OAAeskB,IAAYI,EAAQ1kB,IAAI,CAAC,MAEnEikB,GAAS,MAAMD,CAAI;AAAA,QACrB,CACD;AAAA,MACH;AAAA,IAAA;AAQF;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA3f,EAAA,+BAAwB,CAACwB,MAAkB;AAEzC,OADeA,IAAME,IAAcC,GAC5B,KAAK,cAA6BiM,IAAa,KAAK,SAASpH,EAAc;AAAA,IAAA;AAnF5E,UAAA,EAAE,SAAAvG,GAAS,SAAAyE,EAAY,IAAA;AAG7B,SAAK,SAASxE,EAAcwE,EAAQ,QAAgCtB,EAAYnD,CAAO,CAAC,GAGpF,KAAK,WAEP,KAAK,eAAeA,EAAQ,eAAeA,EAAQ,eAAeA,IAAU8N,GAAU9N,CAAO,GACxF,KAAA,eAAemf,GAAgB,KAAK,YAAY,GAGrD,KAAK,sBAAsB,EAAI,GAE/B,KAAK,QAAQ;AAAA,EAEjB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,OAAO;AACF,WAAAd;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,WAAW;AACN,WAAAE;AAAA,EACT;AAAA;AAAA,EAyDA,UAAU;AACR,SAAK,sBAAsB,GAC3B,MAAM,QAAQ;AAAA,EAChB;AACF;AAjHExe,EADmB2e,IACZ,YAAWJ,KAClBve,EAFmB2e,IAEZ,QAAOD,KACd1e,EAHmB2e,IAGZ,eAAcF;AC5KvB,MAAM6B,KAAY,OCAZC,KAAe,OCqCfC,KAAc,IAAIxe,EAAY,KAAKse,EAAS,MAM5CG,KAAiB,CAACxgB,MAAyBW,EAAiBX,GAASsgB,EAAY,GAGjFG,KAAkB,CAACzgB,MAAyB,IAAI0gB,GAAI1gB,CAAO,GAI3D2gB,KAAe5f,EAA4B,WAAWsf,EAAS,EAAE,GACjEO,KAAgB7f,EAA4B,YAAYsf,EAAS,EAAE,GACnEQ,KAAe9f,EAA4B,WAAWsf,EAAS,EAAE,GACjES,KAAiB/f,EAA4B,aAAasf,EAAS,EAAE,GAarEU,yBAA+C,OAS/CC,KAAgB,CAAC9f,MAAc;AAC7B,QAAA,EAAE,YAAA+f,GAAY,KAAAC,EAAQ,IAAAhgB;AAG5B,EAAI+f,KAAc7f,EAAS6f,GAAY7Y,EAAe,MACpD6Y,EAAW,MAAM,SAAS,IAC1B5f,EAAY4f,GAAY7Y,EAAe,IAIrC8Y,KAAKpc,EAAM,MAAMoc,CAAG;AAC1B,GAOMC,KAAiB,CAACjgB,MAAc;AACpC,QAAM,EAAE,SAAAlB,GAAS,YAAAihB,GAAY,SAASG,GAAa,KAAAF,EAAQ,IAAAhgB,GACrD,EAAE,KAAAmgB,MAAS5a,EAAcya,CAAG,KAAKH,GAAW,IAAIG,CAAG;AAAA,EAAiC,EAAE,KAAK;AAGjG,MAAID,KAAcG,KAAehgB,EAASggB,GAAa/hB,CAAS,GAAG;AACjE,UAAM,EAAE,eAAAiiB,GAAe,YAAAC,EAAA,IAAeR,GAAW,IAAI/gB,CAAO;AAAA,IAAgC;AAAA,MAC1F,eAAe;AAAA,MACf,YAAY;AAAA,IAAA;AAEd,IAAIshB,MAAkBC,IACpBP,GAAc9f,CAAI,IAGlB,WAAW,MAAM;AACJ,MAAA+f,EAAA,MAAM,SAAS,GAAGM,CAAU,MACvCtZ,GAAOgZ,CAAU,GACjB3f,EAAqB2f,GAAY,MAAMD,GAAc9f,CAAI,CAAC;AAAA,OACzD,EAAE;AAAA,EAEE;AAAA,IAAAggB,KAAKpc,EAAM,MAAMoc,CAAG;AAE/B,EAAAN,GAAc,gBAAgBS,GAE9BlgB,EAAcnB,GAAS4gB,EAAa;AACtC,GAOMY,KAAiB,CAACtgB,MAAc;AACpC,QAAM,EAAE,SAAAlB,GAAS,SAASohB,GAAa,YAAAH,GAAY,KAAAC,EAAQ,IAAAhgB,GACrD,EAAE,KAAAmgB,GAAK,SAAA5H,MAAayH,KAAOH,GAAW,IAAIG,CAAG;AAAA,EAAiC,EAAE,KAAK,MAAM,SAAS,KAAK;AAC/G,MAAII,IAAgB;AAehB,MAZAL,KAAcG,KAAehgB,EAASggB,GAAa/hB,CAAS,MAC9D,CAACoa,GAAS2H,CAAW,EAAE,QAAQ,CAAKlkB,MAAA;AAClC,IAAIuJ,EAAcvJ,CAAC,KAAGsF,EAAStF,GAAG,iBAAiB;AAAA,EAAA,CACpD,GACeokB,IAAA7a,EAAcgT,CAAO,IAAIA,EAAQ;AAAA;AAAA,IAA0C;AAAA,MAI7FkH,GAAa,gBAAgBU,GAC7BP,GAAe,gBAAgB9gB,GAC/BmB,EAAcnB,GAAS2gB,EAAY,GAE/B,CAACA,GAAa,kBAAkB;AAKlC,QAJIS,KAAa5e,EAAS4e,GAAatf,CAAW,GAC9C2X,KAASpY,EAAYoY,GAAS3X,CAAW,GAGzCmf,KAAcG,KAAehgB,EAASggB,GAAa/hB,CAAS,GAAG;AACjE,YAAMkiB,IAAaH,EAAY;AACpB,MAAAL,GAAA,IAAI/gB,GAAS,EAAE,eAAAshB,GAAe,YAAAC,GAAY,KAAK,MAAM,SAAS,KAAA,CAAM,GAE/E/e,EAASye,GAAY7Y,EAAe,GACzB6Y,EAAA,MAAM,SAAS,GAAGK,CAAa,MAC1CrZ,GAAOgZ,CAAU,GACjB,CAACxH,GAAS2H,CAAW,EAAE,QAAQ,CAAKlkB,MAAA;AAC9B,QAAAA,KAAGmE,EAAYnE,GAAG,iBAAiB;AAAA,MAAA,CACxC;AAAA,IACH;AAEA,IAAIkkB,KAAeA,KAAehgB,EAASggB,GAAa/hB,CAAS,IAC/D,WAAW,MAAM;AACfmD,MAAAA,EAAS4e,GAAa9hB,CAAS,GAC/BgC,EAAqB8f,GAAa,MAAM;AACtC,QAAAD,GAAejgB,CAAI;AAAA,MAAA,CACpB;AAAA,OACA,CAAC,KAEAkgB,KAAa5e,EAAS4e,GAAa9hB,CAAS,GAChD6hB,GAAejgB,CAAI,IAGjBmgB,KAAKlgB,EAAckgB,GAAKP,EAAc;AAAA,EAC5C;AACF,GAQMW,KAAe,CAACvgB,MAAwE;AACtF,QAAA,EAAE,KAAAggB,EAAQ,IAAAhgB;AAEZ,MAAA,CAACuF,EAAcya,CAA8B;AAAG,WAAO,EAAE,KAAK,MAAM,SAAS,KAAK;AAEhF,QAAAQ,IAAapa,GAAuBxF,GAAaof,CAAkB;AACzE,MAAIG,IAA0B;AAE9B,EAAIK,EAAW,WAAW,KAAK,CAACnX,GAAgB,KAAK,CAAArN,MAAKkE,EAASsgB,EAAW,CAAC,EAAE,eAA8BxkB,CAAC,CAAC,IAC/G,CAACmkB,CAAG,IAAIK,IACCA,EAAW,SAAS,MACvBL,IAAAK,EAAWA,EAAW,SAAS,CAAC;AAExC,QAAMjI,IAAUhT,EAAc4a,CAAkB,IAAIre,EAAiBqe,CAAkB,IAAI;AACpF,SAAA,EAAE,KAAAA,GAAK,SAAA5H;AAChB,GAQMkI,KAAoB,CAAC3hB,MAA8C;AAEnE,MAAA,CAACyG,EAAczG,CAAO;AAAU,WAAA;AAC9B,QAAA4hB,IAAWte,EAAQtD,GAAS,IAAIuK,GAAgB,KAAK,IAAI,CAAC,EAAE;AAC3D,SAAAqX,IAAW3hB,EAAc,IAAIsK,GAAgB,CAAC,CAAC,WAAWqX,CAAQ,IAAI;AAC/E,GASMC,KAAkB,CAACnnB,MAAa;AAC9B,QAAAwG,IAAOsf,GAAe9lB,EAAE,MAAqB;AAGnD,EAAIwG,MACFxG,EAAE,eAAe,GACjBwG,EAAK,KAAK;AAEd;AAKA,MAAqBwf,WAAY9gB,GAAc;AAAA;AAAA,EAW7C,YAAYC,GAA8B;AACxC,UAAMA,CAAM;AA6Gd;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAE,EAAA,+BAAwB,CAACwB,MAAkB;AAElC,OADQA,IAAME,IAAcC,GAC5B,KAAK,SAASG,GAAiBggB,EAAe;AAAA,IAAA;AA5G/C,UAAA,EAAE,SAAA7hB,EAAY,IAAA,MACdyZ,IAAUzW,EAAiBhD,CAAO;AAIxC,QAAIyZ,GAAS;AACL,YAAAyH,IAAM5d,EAAQtD,GAAS,MAAM,GAC7BoX,IAAY9T,EAAQmW,GAAS,cAAc;AAEjD,WAAK,MAAMyH,GACX,KAAK,UAAUzH,GACf,KAAK,aAAarC,GAGb,KAAA,WAAWuK,GAAkB3hB,CAAO;AAIzC,YAAM,EAAE,KAAAqhB,EAAA,IAAQI,GAAa,IAAI;AAC7B,UAAAP,KAAO,CAACG,GAAK;AACT,cAAAS,IAAW7hB,EAAcsgB,IAAaW,CAAG,GACzCa,IAAkBD,KAAY9e,EAAiB8e,CAAQ;AAG7D,QAAIC,MACFvf,EAASsf,GAAUhgB,CAAW,GAC9BU,EAASuf,GAAiBziB,CAAS,GACnCkD,EAASuf,GAAiBjgB,CAAW,GACxBW,EAAAzC,GAASgiB,IAAc,MAAM;AAAA,MAE9C;AAGA,WAAK,sBAAsB,EAAI;AAAA,IACjC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,OAAO;AACF,WAAA1B;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO;AACL,UAAM,EAAE,SAAAtgB,GAAS,SAASohB,GAAa,KAAAF,GAAK,UAAAU,EAAa,IAAA;AAGrD,QAAA,EAAEV,KAAOpc,EAAM,IAAIoc,CAAG,MAAM,CAAC9f,EAASpB,GAAS8B,CAAW,GAAG;AAC/D,YAAM,EAAE,KAAAuf,GAAK,SAAA5H,EAAQ,IAAIgI,GAAa,IAAI;AAStC,UANAP,KAAgBH,GAAA,IAAIG,GAAK,EAAE,KAAAG,GAAK,SAAA5H,GAAS,eAAe,GAAG,YAAY,EAAA,CAAG,GAG9EoH,GAAa,gBAAgB7gB,GAGzByG,EAAc4a,CAAG,MACnBlgB,EAAckgB,GAAoBR,EAAY,GAE1C,CAACA,GAAa,mBAAkB;AAClCre,QAAAA,EAASxC,GAAS8B,CAAW,GAChBW,EAAAzC,GAASgiB,IAAc,MAAM;AAE1C,cAAMC,IAAiBxb,EAAc4a,CAAG,KAAKM,GAAkBN,CAAG;AAMlE,YALIY,KAAkB7gB,EAAS6gB,GAAgBngB,CAAW,KACxDT,EAAY4gB,GAAgBngB,CAAW,GAIrCof,GAAK;AACP,gBAAMgB,IAAY,MAAM;AACtB,YAAIb,MACFhgB,EAAYggB,GAAKvf,CAAW,GACfW,EAAA4e,GAAKW,IAAc,OAAO,IAErCJ,KAAY,CAACxgB,EAASwgB,GAAU9f,CAAW,KAAGU,EAASof,GAAU9f,CAAW;AAAA,UAAA;AAG9E,UAAA2X,MAAYrY,EAASqY,GAASpa,CAAS,KAAM+hB,KAAehgB,EAASggB,GAAa/hB,CAAS,KACvFyF,EAAA,IAAIoc,GAAKgB,GAAW,CAAC,IACZA;QACnB;AAEA,QAAIzI,MACFpY,EAAYoY,GAASna,CAAS,GAC1B8B,EAASqY,GAASpa,CAAS,IAC7BiC,EAAqBmY,GAAS,MAAM+H,GAAe,IAAI,CAAC,IAExDA,GAAe,IAAI;AAAA,MAGzB;AAAA,IAEJ;AAAA,EACF;AAAA;AAAA,EAaA,UAAU;AACR,SAAK,sBAAsB,GAC3B,MAAM,QAAQ;AAAA,EAChB;AACF;AAlIEzhB,EADmB2gB,IACZ,YAAWH,KAClBxgB,EAFmB2gB,IAEZ,QAAOD,KACd1gB,EAHmB2gB,IAGZ,eAAcF;AC3OvB,MAAM2B,IAAc,SCAdC,KAAiB,SCoCjBC,KAAgB,IAAIF,CAAW,IAC/BG,KAAuB,IAAI/iB,EAAa,KAAK4iB,CAAW,MACxDI,KAAsB,IAAIxgB,EAAY,KAAKogB,CAAW,MACtDK,KAAe,WAEfC,KAAY,QAEZC,KAAgB;AAAA,EACpB,WAAW;AAAA,EACX,UAAU;AAAA,EACV,OAAO;AACT,GAMMC,KAAmB,CAAC3iB,MAAyBW,EAAmBX,GAASoiB,EAAc,GAKvFQ,KAAoB,CAAC5iB,MAAyB,IAAI6iB,GAAM7iB,CAAO,GAI/D8iB,KAAiB/hB,EAA8B,WAAWohB,CAAW,EAAE,GACvEY,KAAkBhiB,EAA8B,YAAYohB,CAAW,EAAE,GACzEa,KAAiBjiB,EAA8B,WAAWohB,CAAW,EAAE,GACvEc,KAAmBliB,EAA8B,aAAaohB,CAAW,EAAE,GAS3Ee,KAAoB,CAAChiB,MAAgB;AACnC,QAAA,EAAE,SAAAlB,GAAS,SAAAyE,EAAY,IAAAvD;AAC7BG,EAAAA,EAAYrB,GAASwiB,EAAY,GAC3B1d,EAAA,MAAM9E,GAASwiB,EAAY,GAEjCrhB,EAAcnB,GAAS+iB,EAAe,GAElCte,EAAQ,YACJK,EAAA,IAAI9E,GAAS,MAAMkB,EAAK,QAAQuD,EAAQ,OAAO0d,CAAW;AAEpE,GAOMgB,KAAoB,CAACjiB,MAAgB;AACnC,QAAA,EAAE,SAAAlB,EAAY,IAAAkB;AACpBG,EAAAA,EAAYrB,GAASwiB,EAAY,GACjCnhB,EAAYrB,GAASV,CAAS,GAC9BkD,EAASxC,GAASyiB,EAAS,GACrB3d,EAAA,MAAM9E,GAASmiB,CAAW,GAChChhB,EAAcnB,GAASijB,EAAgB;AACzC,GAOMG,KAAY,CAACliB,MAAgB;AAC3B,QAAA,EAAE,SAAAlB,GAAS,SAAAyE,EAAY,IAAAvD;AAC7BsB,EAAAA,EAASxC,GAASwiB,EAAY,GAE1B/d,EAAQ,aACVwD,GAAOjI,CAAO,GACdsB,EAAqBtB,GAAS,MAAMmjB,GAAkBjiB,CAAI,CAAC,KAE3DiiB,GAAkBjiB,CAAI;AAE1B,GAOMmiB,KAAY,CAACniB,MAAgB;AAC3B,QAAA,EAAE,SAAAlB,GAAS,SAAAyE,EAAY,IAAAvD;AACvB4D,EAAAA,EAAA;AAAA,IACJ9E;AAAA,IACA,MAAM;AACJqB,MAAAA,EAAYrB,GAASyiB,EAAS,GAC9Bxa,GAAOjI,CAAO,GACdwC,EAASxC,GAASV,CAAS,GAC3BkD,EAASxC,GAASwiB,EAAY,GAE1B/d,EAAQ,YACVnD,EAAqBtB,GAAS,MAAMkjB,GAAkBhiB,CAAI,CAAC,IAE3DgiB,GAAkBhiB,CAAI;AAAA,IAE1B;AAAA,IACA;AAAA,IACAshB;AAAA,EAAA;AAEJ,GASMc,KAAuB,CAACpiB,MAAgB;AACtC4D,EAAAA,EAAA,MAAM5D,EAAK,SAASihB,CAAW,GACrCjhB,EAAK,sBAAsB;AAC7B,GAOMqiB,KAAoB,CAAC7oB,MAAa;AAChC,QAAA,EAAE,QAAAmF,EAAW,IAAAnF,GAEbgP,IAAU7J,KAAUyD,EAAQzD,GAAuB0iB,EAAmB,GACtEviB,IAAU0J,KAAW1G,EAAiB0G,CAAO,GAC7CxI,IAAOlB,KAAW2iB,GAAiB3iB,CAAO;AAGhD,EAAIkB,MAEEwI,KAAWA,EAAQ,YAAY,OAAKhP,EAAE,eAAe,GACzDwG,EAAK,gBAAgBwI,GACrBxI,EAAK,KAAK;AAEd,GAQMsiB,KAA0B,CAAC9oB,MAAkB;AACjD,QAAMsF,IAAUtF,EAAE,QACZwG,IAAOyhB,GAAiB3iB,CAAO,GAC/B,EAAE,MAAAkO,GAAM,eAAAsF,EAAkB,IAAA9Y;AAGhC,EAAIwG,KAAQlB,MAAYwT,KAAiB,CAACxT,EAAQ,SAASwT,CAAqB,MAC1E,CAAC1M,IAAiBqW,EAAY,EAAE,SAASjP,CAAI,IACzCpJ,EAAA,MAAM9E,GAASmiB,CAAW,IAE1Brd,EAAA,IAAI9E,GAAS,MAAMkB,EAAK,QAAQA,EAAK,QAAQ,OAAOihB,CAAW;AAG3E;AAKA,MAAqBU,WAAcjjB,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAa/C,YAAYC,GAA8BC,GAAgC;AACxE,UAAMD,GAAQC,CAAM;AAwCtB;AAAA;AAAA;AAAA,IAAAC,EAAA,cAAO,MAAM;AACL,YAAA,EAAE,SAAAC,GAAS,SAAAyjB,EAAY,IAAA;AAGzB,MAAAzjB,KAAW,CAACyjB,MACdtiB,EAAcnB,GAAS8iB,EAAc,GAChCA,GAAe,oBAClBO,GAAU,IAAI;AAAA,IAElB;AAIF;AAAA,IAAAtjB,EAAA,cAAO,MAAM;AACL,YAAA,EAAE,SAAAC,GAAS,SAAAyjB,EAAY,IAAA;AAG7B,MAAIzjB,KAAWyjB,MACbtiB,EAAcnB,GAASgjB,EAAc,GAChCA,GAAe,oBAClBI,GAAU,IAAI;AAAA,IAElB;AAQF;AAAA;AAAA;AAAA;AAAA;AAAA,IAAArjB,EAAA,+BAAwB,CAACwB,MAAkB;AACnC,YAAAC,IAASD,IAAME,IAAcC,GAC7B,EAAE,SAAA1B,GAAS,UAAAmJ,GAAU,SAAAxH,GAAS,SAAA8C,GAAS,MAAAif,EAAS,IAAA;AAGtD,MAAI/hB,KACKH,EAAAG,GAASE,GAAiB6hB,CAAI,GAInCjf,EAAQ,YACV,CAAC0Y,IAAcC,IAAetW,IAAiBC,EAAe,EAAE;AAAA,QAAQ,CACtErM,MAAA8G,EAAOxB,GAAStF,GAAG8oB,EAAuB;AAAA,MAAA,GAI1Cra,EAAS,UACXA,EAAS,QAAQ,CAAOG,MAAA9H,EAAO8H,GAAKzH,GAAiB0hB,EAAiB,CAAC;AAAA,IACzE;AAvFM,UAAA,EAAE,SAAAvjB,GAAS,SAAAyE,EAAY,IAAA;AAG7B,IAAIA,EAAQ,aAAa,CAACrD,EAASpB,GAASX,CAAS,IAAGmD,EAASxC,GAASX,CAAS,IAC1E,CAACoF,EAAQ,aAAarD,EAASpB,GAASX,CAAS,KAAGgC,EAAYrB,GAASX,CAAS,GAGtF,KAAA,UAAUY,EAAcqiB,IAAsBtiB,CAAO,GAGrD,KAAA,WAAW,CAAC,GAAGsF,GAAiBid,IAAqBpf,EAAYnD,CAAO,CAAC,CAAC,EAAE;AAAA,MAC/E,CAAAsJ,MAAOtG,EAAiBsG,CAAG,MAAMtJ;AAAA,IAAA,GAInC,KAAK,sBAAsB,EAAI;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,OAAO;AACF,WAAAoiB;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,WAAW;AACN,WAAAM;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,UAAU;AACL,WAAAthB,EAAS,KAAK,SAAS9B,CAAS;AAAA,EACzC;AAAA;AAAA,EAyDA,UAAU;AACF,UAAA,EAAE,SAAAU,GAAS,SAAAyjB,EAAY,IAAA;AAG7B,IAAIA,KACFpiB,EAAYrB,GAASV,CAAS,GAGhCgkB,GAAqB,IAAI,GAEzB,MAAM,QAAQ;AAAA,EAChB;AACF;AArHEvjB,EADmB8iB,IACZ,YAAWR,KAClBtiB,EAFmB8iB,IAEZ,QAAOD,KACd7iB,EAHmB8iB,IAGZ,eAAcF;AC3LvB,MAAMgB,yBAAqB;AAgB3B,CAAC9iB,IAAOwB,IAAQ0B,IAAU6E,IAAU+B,IAAU2H,IAAO+C,IAAW8I,IAASO,IAAWgC,IAAKmC,IAAO/G,EAAO,EAAE;AAAA,EAAQ,OAC/G6H,GAAe,IAAIzmB,EAAE,UAAU,MAAMA,CAAC;AACxC;AAQA,MAAM0mB,KAAuB,CAC3B/O,GACAgP,MACG;AACH,GAAC,GAAGA,CAAU,EAAE,QAAQ,CAAKvpB,MAAAua,EAASva,CAAC,CAAC;AAC1C,GAQMwpB,KAAyB,CAAIC,GAAmBC,MAAwB;AACtE,QAAAC,IAAW7jB,GAAK,UAAU2jB,CAAS;AAEzC,EAAIE,KACD,CAAA,GAAGA,CAAQ,EAAE,QAAQ,CAAC,CAACjkB,GAASkkB,CAAQ,MAAM;AACzC,IAAAF,EAAQ,SAAShkB,CAAO,KAAIkkB,EAAyC,QAAQ;AAAA,EAAA,CAClF;AAEL,GAOaC,KAAe,CAACH,MAAyB;AACpD,QAAMI,IAASJ,KAAWA,EAAQ,WAAWA,IAAU,UACjDK,IAAiB,CAAC,GAAGpF,GAAqB,KAAKmF,CAAM,CAAC;AAE5D,EAAAT,GAAe,QAAQ,CAAMW,MAAA;AACrB,UAAA,EAAE,MAAAC,GAAM,UAAAC,EAAa,IAAAF;AAC3B,IAAAV;AAAA,MACEW;AAAA,MACAF,EAAe,OAAO,CAAA3E,MAAQjY,GAAQiY,GAAM8E,CAAQ,CAAC;AAAA,IAAA;AAAA,EACvD,CACD;AACH,GAOaC,KAAgB,CAACT,MAAyB;AACrD,QAAMI,IAASJ,KAAWA,EAAQ,WAAWA,IAAU;AAEvD,EAAAL,GAAe,QAAQ,CAAQe,MAAA;AACN,IAAAZ,GAAAY,EAAK,UAAU,MAAMN,CAAM;AAAA,EAAA,CACnD;AACH;AAGI,SAAS,OAAmBD,OAElB1iB,EAAA,UAAU,oBAAoB,MAAM0iB,MAAgB,EAAE,MAAM,IAAM;","x_google_ignoreList":[0,1]} \ No newline at end of file +{"version":3,"file":"bootstrap-native.mjs","sources":["../node_modules/.pnpm/@thednp+shorty@2.0.3/node_modules/@thednp/shorty/dist/shorty.mjs","../node_modules/.pnpm/@thednp+event-listener@2.0.5/node_modules/@thednp/event-listener/dist/event-listener.mjs","../src/strings/fadeClass.ts","../src/strings/showClass.ts","../src/strings/dataBsDismiss.ts","../src/strings/alertString.ts","../src/strings/alertComponent.ts","../src/version.ts","../src/components/base-component.ts","../src/components/alert.ts","../src/strings/activeClass.ts","../src/strings/dataBsToggle.ts","../src/strings/buttonString.ts","../src/strings/buttonComponent.ts","../src/components/button.ts","../src/strings/dataBsTarget.ts","../src/strings/carouselString.ts","../src/strings/carouselComponent.ts","../src/strings/dataBsParent.ts","../src/strings/dataBsContainer.ts","../src/util/getTargetElement.ts","../src/components/carousel.ts","../src/strings/collapsingClass.ts","../src/strings/collapseString.ts","../src/strings/collapseComponent.ts","../src/components/collapse.ts","../src/strings/dropdownClasses.ts","../src/strings/dropdownComponent.ts","../src/strings/dropdownMenuClass.ts","../src/util/isEmptyAnchor.ts","../src/components/dropdown.ts","../src/strings/modalString.ts","../src/strings/modalComponent.ts","../src/strings/offcanvasComponent.ts","../src/strings/fixedTopClass.ts","../src/strings/fixedBottomClass.ts","../src/strings/stickyTopClass.ts","../src/strings/positionStickyClass.ts","../src/util/scrollbar.ts","../src/strings/offcanvasString.ts","../src/util/popupContainer.ts","../src/util/backdrop.ts","../src/util/isVisible.ts","../src/components/modal.ts","../src/components/offcanvas.ts","../src/strings/popoverString.ts","../src/strings/popoverComponent.ts","../src/strings/tooltipString.ts","../src/util/getTipTemplate.ts","../src/util/tipClassPositions.ts","../src/util/styleTip.ts","../src/util/tooltipDefaults.ts","../src/strings/dataOriginalTitle.ts","../src/strings/tooltipComponent.ts","../src/util/setHtml.ts","../src/util/createTip.ts","../src/util/getElementContainer.ts","../src/components/tooltip.ts","../src/components/popover.ts","../src/strings/scrollspyString.ts","../src/strings/scrollspyComponent.ts","../src/components/scrollspy.ts","../src/strings/tabString.ts","../src/strings/tabComponent.ts","../src/components/tab.ts","../src/strings/toastString.ts","../src/strings/toastComponent.ts","../src/components/toast.ts","../src/util/init.ts"],"sourcesContent":["const pe = \"aria-checked\", me = \"aria-description\", fe = \"aria-describedby\", ge = \"aria-expanded\", ve = \"aria-haspopup\", Ee = \"aria-hidden\", be = \"aria-label\", he = \"aria-labelledby\", ye = \"aria-modal\", we = \"aria-pressed\", Ae = \"aria-selected\", Se = \"aria-valuemin\", Ne = \"aria-valuemax\", ke = \"aria-valuenow\", Me = \"aria-valuetext\", q = \"abort\", G = \"beforeunload\", J = \"blur\", K = \"change\", X = \"contextmenu\", P = \"DOMContentLoaded\", Y = \"DOMMouseScroll\", Z = \"error\", $ = \"focus\", _ = \"focusin\", tt = \"focusout\", et = \"gesturechange\", nt = \"gestureend\", ot = \"gesturestart\", st = \"keydown\", ct = \"keypress\", rt = \"keyup\", at = \"load\", it = \"click\", ut = \"dblclick\", lt = \"mousedown\", dt = \"mouseup\", pt = \"hover\", mt = \"mouseenter\", ft = \"mouseleave\", gt = \"mousein\", vt = \"mouseout\", Et = \"mouseover\", bt = \"mousemove\", ht = \"mousewheel\", yt = \"move\", wt = \"orientationchange\", At = \"pointercancel\", St = \"pointerdown\", Nt = \"pointerleave\", kt = \"pointermove\", Mt = \"pointerup\", Tt = \"readystatechange\", Dt = \"reset\", Ct = \"resize\", Ot = \"select\", Lt = \"selectend\", It = \"selectstart\", zt = \"scroll\", xt = \"submit\", Vt = \"touchstart\", Bt = \"touchmove\", Ht = \"touchcancel\", Pt = \"touchend\", Ft = \"unload\", Te = {\n DOMContentLoaded: P,\n DOMMouseScroll: Y,\n abort: q,\n beforeunload: G,\n blur: J,\n change: K,\n click: it,\n contextmenu: X,\n dblclick: ut,\n error: Z,\n focus: $,\n focusin: _,\n focusout: tt,\n gesturechange: et,\n gestureend: nt,\n gesturestart: ot,\n hover: pt,\n keydown: st,\n keypress: ct,\n keyup: rt,\n load: at,\n mousedown: lt,\n mousemove: bt,\n mousein: gt,\n mouseout: vt,\n mouseenter: mt,\n mouseleave: ft,\n mouseover: Et,\n mouseup: dt,\n mousewheel: ht,\n move: yt,\n orientationchange: wt,\n pointercancel: At,\n pointerdown: St,\n pointerleave: Nt,\n pointermove: kt,\n pointerup: Mt,\n readystatechange: Tt,\n reset: Dt,\n resize: Ct,\n scroll: zt,\n select: Ot,\n selectend: Lt,\n selectstart: It,\n submit: xt,\n touchcancel: Ht,\n touchend: Pt,\n touchmove: Bt,\n touchstart: Vt,\n unload: Ft\n}, De = \"drag\", Ce = \"dragstart\", Oe = \"dragenter\", Le = \"dragleave\", Ie = \"dragover\", ze = \"dragend\", xe = \"loadstart\", Ve = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, Be = { down: \"mousedown\", up: \"mouseup\" }, He = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : (\n /* istanbul ignore next */\n [\"mouseover\", \"mouseout\"]\n), Pe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, Fe = { in: \"focusin\", out: \"focusout\" }, Ue = {\n Backspace: \"Backspace\",\n // 8\n Tab: \"Tab\",\n // 9\n Enter: \"Enter\",\n // 13\n Shift: \"Shift\",\n // 16\n Control: \"Control\",\n // 17\n Alt: \"Alt\",\n // 18\n Pause: \"Pause\",\n // 19\n CapsLock: \"CapsLock\",\n // 20\n Escape: \"Escape\",\n // 27\n Scape: \"Space\",\n // 32\n ArrowLeft: \"ArrowLeft\",\n // 37\n ArrowUp: \"ArrowUp\",\n // 38\n ArrowRight: \"ArrowRight\",\n // 39\n ArrowDown: \"ArrowDown\",\n // 40\n Insert: \"Insert\",\n // 45\n Delete: \"Delete\",\n // 46\n Meta: \"Meta\",\n // 91 windows key\n ContextMenu: \"ContextMenu\",\n // 93\n ScrollLock: \"ScrollLock\"\n // 145\n}, We = \"Alt\", Re = \"ArrowDown\", Qe = \"ArrowUp\", je = \"ArrowLeft\", qe = \"ArrowRight\", Ge = \"Backspace\", Je = \"CapsLock\", Ke = \"Control\", Xe = \"Delete\", Ye = \"Enter\", Ze = \"NumpadEnter\", $e = \"Escape\", _e = \"Insert\", tn = \"Meta\", en = \"Pause\", nn = \"ScrollLock\", on = \"Shift\", sn = \"Space\", cn = \"Tab\", Ut = \"animationDuration\", Wt = \"animationDelay\", F = \"animationName\", D = \"animationend\", Rt = \"transitionDuration\", Qt = \"transitionDelay\", C = \"transitionend\", U = \"transitionProperty\", rn = \"addEventListener\", an = \"removeEventListener\", un = {\n linear: \"linear\",\n easingSinusoidalIn: \"cubic-bezier(0.47,0,0.745,0.715)\",\n easingSinusoidalOut: \"cubic-bezier(0.39,0.575,0.565,1)\",\n easingSinusoidalInOut: \"cubic-bezier(0.445,0.05,0.55,0.95)\",\n easingQuadraticIn: \"cubic-bezier(0.550,0.085,0.680,0.530)\",\n easingQuadraticOut: \"cubic-bezier(0.250,0.460,0.450,0.940)\",\n easingQuadraticInOut: \"cubic-bezier(0.455,0.030,0.515,0.955)\",\n easingCubicIn: \"cubic-bezier(0.55,0.055,0.675,0.19)\",\n easingCubicOut: \"cubic-bezier(0.215,0.61,0.355,1)\",\n easingCubicInOut: \"cubic-bezier(0.645,0.045,0.355,1)\",\n easingQuarticIn: \"cubic-bezier(0.895,0.03,0.685,0.22)\",\n easingQuarticOut: \"cubic-bezier(0.165,0.84,0.44,1)\",\n easingQuarticInOut: \"cubic-bezier(0.77,0,0.175,1)\",\n easingQuinticIn: \"cubic-bezier(0.755,0.05,0.855,0.06)\",\n easingQuinticOut: \"cubic-bezier(0.23,1,0.32,1)\",\n easingQuinticInOut: \"cubic-bezier(0.86,0,0.07,1)\",\n easingExponentialIn: \"cubic-bezier(0.95,0.05,0.795,0.035)\",\n easingExponentialOut: \"cubic-bezier(0.19,1,0.22,1)\",\n easingExponentialInOut: \"cubic-bezier(1,0,0,1)\",\n easingCircularIn: \"cubic-bezier(0.6,0.04,0.98,0.335)\",\n easingCircularOut: \"cubic-bezier(0.075,0.82,0.165,1)\",\n easingCircularInOut: \"cubic-bezier(0.785,0.135,0.15,0.86)\",\n easingBackIn: \"cubic-bezier(0.6,-0.28,0.735,0.045)\",\n easingBackOut: \"cubic-bezier(0.175,0.885,0.32,1.275)\",\n easingBackInOut: \"cubic-bezier(0.68,-0.55,0.265,1.55)\"\n}, ln = \"offsetHeight\", dn = \"offsetWidth\", pn = \"scrollHeight\", mn = \"scrollWidth\", fn = \"tabindex\", jt = navigator.userAgentData, A = jt, { userAgent: qt } = navigator, S = qt, z = /iPhone|iPad|iPod|Android/i;\nlet O = !1;\nA ? O = A.brands.some((t) => z.test(t.brand)) : O = z.test(S);\nconst gn = O, x = /(iPhone|iPod|iPad)/, vn = A ? A.brands.some((t) => x.test(t.brand)) : (\n /* istanbul ignore next */\n x.test(S)\n), En = S ? S.includes(\"Firefox\") : (\n /* istanbul ignore next */\n !1\n), { head: N } = document, bn = [\"webkitPerspective\", \"perspective\"].some((t) => t in N.style), Gt = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(e, n, s);\n}, Jt = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(e, n, s);\n}, Kt = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Jt(t, e, s, o));\n };\n Gt(t, e, s, o);\n}, Xt = () => {\n}, hn = (() => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n Kt(document, P, Xt, e);\n } catch {\n }\n return t;\n})(), yn = [\"webkitTransform\", \"transform\"].some((t) => t in N.style), wn = \"ontouchstart\" in window || /* istanbul ignore next */\n\"msMaxTouchPoints\" in navigator, An = [\"webkitAnimation\", \"animation\"].some((t) => t in N.style), Sn = [\"webkitTransition\", \"transition\"].some((t) => t in N.style), Yt = (t, e) => t.getAttribute(e), Nn = (t, e, n) => e.getAttributeNS(t, n), kn = (t, e) => t.hasAttribute(e), Mn = (t, e, n) => e.hasAttributeNS(t, n), Tn = (t, e, n) => t.setAttribute(e, n), Dn = (t, e, n, o) => e.setAttributeNS(t, n, o), Cn = (t, e) => t.removeAttribute(e), On = (t, e, n) => e.removeAttributeNS(t, n), Ln = (t, ...e) => {\n t.classList.add(...e);\n}, In = (t, ...e) => {\n t.classList.remove(...e);\n}, zn = (t, e) => t.classList.contains(e), { body: xn } = document, { documentElement: Vn } = document, Bn = (t) => Array.from(t), v = (t) => t != null && typeof t == \"object\" || !1, i = (t) => v(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some((e) => t.nodeType === e) || !1, u = (t) => i(t) && t.nodeType === 1 || !1, E = /* @__PURE__ */ new Map(), L = {\n data: E,\n /**\n * Sets web components data.\n *\n * @param element target element\n * @param component the component's name or a unique key\n * @param instance the component instance\n */\n set: (t, e, n) => {\n if (!u(t)) return;\n E.has(e) || E.set(e, /* @__PURE__ */ new Map()), E.get(e).set(t, n);\n },\n /**\n * Returns all instances for specified component.\n *\n * @param component the component's name or a unique key\n * @returns all the component instances\n */\n getAllFor: (t) => E.get(t) || null,\n /**\n * Returns the instance associated with the target.\n *\n * @param element target element\n * @param component the component's name or a unique key\n * @returns the instance\n */\n get: (t, e) => {\n if (!u(t) || !e) return null;\n const n = L.getAllFor(e);\n return t && n && n.get(t) || null;\n },\n /**\n * Removes web components data.\n *\n * @param element target element\n * @param component the component's name or a unique key\n */\n remove: (t, e) => {\n const n = L.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && E.delete(e));\n }\n}, Hn = (t, e) => L.get(t, e), k = (t) => typeof t == \"string\" || !1, W = (t) => v(t) && t.constructor.name === \"Window\" || !1, R = (t) => i(t) && t.nodeType === 9 || !1, d = (t) => W(t) ? t.document : R(t) ? t : i(t) ? t.ownerDocument : window.document, M = (t, ...e) => Object.assign(t, ...e), Zt = (t) => {\n if (!t) return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = Zt(e);\n if (!n) return;\n const o = { ...t };\n return delete o.tagName, M(n, o);\n}, $t = (t, e) => {\n if (!t || !e) return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = $t(t, n);\n if (!o) return;\n const s = { ...e };\n return delete s.tagName, M(o, s);\n}, Q = (t, e) => t.dispatchEvent(e), Pn = (t, e, n) => n.indexOf(t) === e, g = (t, e) => {\n const n = getComputedStyle(t), o = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return n.getPropertyValue(o);\n}, _t = (t) => {\n const e = g(t, F), n = g(t, Wt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, te = (t) => {\n const e = g(t, F), n = g(t, Ut), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, Fn = (t, e) => {\n let n = 0;\n const o = new Event(D), s = te(t), r = _t(t);\n if (s) {\n const a = (l) => {\n l.target === t && (e.apply(t, [l]), t.removeEventListener(D, a), n = 1);\n };\n t.addEventListener(D, a), setTimeout(() => {\n n || Q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ee = (t) => {\n const e = g(t, U), n = g(t, Qt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : (\n /* istanbul ignore next */\n 0\n );\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, ne = (t) => {\n const e = g(t, U), n = g(t, Rt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : (\n /* istanbul ignore next */\n 0\n );\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, Un = (t, e) => {\n let n = 0;\n const o = new Event(C), s = ne(t), r = ee(t);\n if (s) {\n const a = (l) => {\n l.target === t && (e.apply(t, [l]), t.removeEventListener(C, a), n = 1);\n };\n t.addEventListener(C, a), setTimeout(() => {\n n || Q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, Wn = (t) => Float32Array.from(Array.from(t)), Rn = (t) => Float64Array.from(Array.from(t)), Qn = (t, e) => t.focus(e), V = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, w = (t) => Object.entries(t), oe = (t) => t.toLowerCase(), jn = (t, e, n, o) => {\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, l = {}, p = \"title\";\n return w(r).forEach(([c, m]) => {\n const y = o && typeof c == \"string\" && c.includes(o) ? c.replace(o, \"\").replace(/[A-Z]/g, (j) => oe(j)) : c;\n l[y] = V(m);\n }), w(s).forEach(([c, m]) => {\n s[c] = V(m);\n }), w(e).forEach(([c, m]) => {\n c in s ? a[c] = s[c] : c in l ? a[c] = l[c] : a[c] = c === p ? Yt(t, p) : m;\n }), a;\n}, qn = (t, e) => v(t) && (Object.hasOwn(t, e) || e in t), Gn = (t) => Object.keys(t), Jn = (t) => Object.values(t), Kn = (t) => Object.fromEntries(t), Xn = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return v(e) && M(n, e), n;\n}, Yn = { passive: !0 }, Zn = (t) => t.offsetHeight, $n = (t, e) => {\n w(e).forEach(([n, o]) => {\n if (o && k(n) && n.includes(\"--\"))\n t.style.setProperty(n, o);\n else {\n const s = {};\n s[n] = o, M(t.style, s);\n }\n });\n}, I = (t) => v(t) && t.constructor.name === \"Map\" || !1, se = (t) => typeof t == \"number\" || !1, f = /* @__PURE__ */ new Map(), _n = {\n /**\n * Sets a new timeout timer for an element, or element -> key association.\n *\n * @param element target element\n * @param callback the callback\n * @param delay the execution delay\n * @param key a unique key\n */\n set: (t, e, n, o) => {\n u(t) && (o && o.length ? (f.has(t) || f.set(t, /* @__PURE__ */ new Map()), f.get(t).set(o, setTimeout(e, n))) : f.set(t, setTimeout(e, n)));\n },\n /**\n * Returns the timer associated with the target.\n *\n * @param element target element\n * @param key a unique\n * @returns the timer\n */\n get: (t, e) => {\n if (!u(t)) return null;\n const n = f.get(t);\n return e && n && I(n) ? n.get(e) || /* istanbul ignore next */\n null : se(n) ? n : null;\n },\n /**\n * Clears the element's timer.\n *\n * @param element target element\n * @param key a unique key\n */\n clear: (t, e) => {\n if (!u(t)) return;\n const n = f.get(t);\n e && e.length && I(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && f.delete(t)) : (clearTimeout(n), f.delete(t));\n }\n}, to = (t) => t.toUpperCase(), h = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: l } = t.getBoundingClientRect();\n let p = 1, c = 1;\n if (e && u(t)) {\n const { offsetWidth: m, offsetHeight: y } = t;\n p = m > 0 ? Math.round(n) / m : (\n /* istanbul ignore next */\n 1\n ), c = y > 0 ? Math.round(o) / y : (\n /* istanbul ignore next */\n 1\n );\n }\n return {\n width: n / p,\n height: o / c,\n top: s / c,\n right: r / p,\n bottom: a / c,\n left: l / p,\n x: l / p,\n y: s / c\n };\n}, eo = (t) => d(t).body, T = (t) => d(t).documentElement, no = (t) => d(t).head, oo = (t) => {\n const e = W(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, ce = (t) => i(t) && t.constructor.name === \"ShadowRoot\" || !1, so = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || // step into the shadow DOM of the parent of a slotted node\ni(t) && t.parentNode || // DOM Element detected\nce(t) && t.host || // ShadowRoot detected\nT(t), re = (t) => {\n if (!u(t)) return !1;\n const { width: e, height: n } = h(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, co = (t, e, n) => {\n const o = u(e), s = h(t, o && re(e)), r = { x: 0, y: 0 };\n if (o) {\n const a = h(e, !0);\n r.x = a.x + e.clientLeft, r.y = a.y + e.clientTop;\n }\n return {\n x: s.left + n.x - r.x,\n y: s.top + n.y - r.y,\n width: s.width,\n height: s.height\n };\n};\nlet B = 0, H = 0;\nconst b = /* @__PURE__ */ new Map(), ae = (t, e) => {\n let n = e ? B : H;\n if (e) {\n const o = ae(t), s = b.get(o) || /* @__PURE__ */ new Map();\n b.has(o) || b.set(o, s), I(s) && !s.has(e) ? (s.set(e, n), B += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n b.has(o) ? n = b.get(o) : (b.set(o, n), H += 1);\n }\n return n;\n}, ro = (t) => {\n var e;\n return t ? R(t) ? t.defaultView : i(t) ? (e = t == null ? void 0 : t.ownerDocument) == null ? void 0 : e.defaultView : t : window;\n}, ie = (t) => Array.isArray(t) || !1, ao = (t) => i(t) && t.nodeName === \"CANVAS\" || !1, ue = (t) => u(t) && !!t.shadowRoot || !1, io = (t) => i(t) && [1, 2, 3, 4, 5, 6, 7, 8].some((e) => t.nodeType === e) || !1, uo = (t) => {\n if (!i(t)) return !1;\n const { top: e, bottom: n } = h(t), { clientHeight: o } = T(t);\n return e <= o && n >= 0;\n}, lo = (t) => {\n if (!i(t)) return !1;\n const { clientWidth: e, clientHeight: n } = T(t), { top: o, left: s, bottom: r, right: a } = h(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, po = (t) => ie(t) && t.every(u) || !1, mo = (t) => typeof t == \"function\" || !1, fo = (t) => v(t) && t.constructor.name === \"HTMLCollection\" || !1, go = (t) => u(t) && t.tagName === \"IMG\" || !1, vo = (t) => {\n if (!k(t)) return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Eo = (t) => v(t) && t.constructor.name === \"WeakMap\" || !1, bo = (t) => i(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some((e) => t.constructor.name.includes(e)) || !1, ho = (t) => v(t) && t.constructor.name === \"NodeList\" || !1, yo = (t) => T(t).dir === \"rtl\", wo = (t) => i(t) && t.constructor.name.includes(\"SVG\") || !1, Ao = (t) => i(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, le = (t, e) => t ? t.closest(e) || // break out of `ShadowRoot`\nle(t.getRootNode().host, e) : null, So = (t, e) => u(t) ? t : (i(e) ? e : d()).querySelector(t), de = (t, e) => (i(e) ? e : d()).getElementsByTagName(t), No = (t) => [...de(\"*\", t)].filter(ue), ko = (t, e) => d(e).getElementById(t) || null, Mo = (t, e) => (i(e) ? e : d()).querySelectorAll(t), To = (t, e) => (e && i(e) ? e : d()).getElementsByClassName(\n t\n), Do = (t, e) => t.matches(e), Co = \"2.0.3\";\nexport {\n Bn as ArrayFrom,\n P as DOMContentLoadedEvent,\n Y as DOMMouseScrollEvent,\n L as Data,\n Wn as Float32ArrayFrom,\n Rn as Float64ArrayFrom,\n M as ObjectAssign,\n w as ObjectEntries,\n Kn as ObjectFromEntries,\n qn as ObjectHasOwn,\n Gn as ObjectKeys,\n Jn as ObjectValues,\n _n as Timer,\n q as abortEvent,\n Ln as addClass,\n rn as addEventListener,\n Wt as animationDelay,\n Ut as animationDuration,\n D as animationEndEvent,\n F as animationName,\n pe as ariaChecked,\n fe as ariaDescribedBy,\n me as ariaDescription,\n ge as ariaExpanded,\n ve as ariaHasPopup,\n Ee as ariaHidden,\n be as ariaLabel,\n he as ariaLabelledBy,\n ye as ariaModal,\n we as ariaPressed,\n Ae as ariaSelected,\n Ne as ariaValueMax,\n Se as ariaValueMin,\n ke as ariaValueNow,\n Me as ariaValueText,\n G as beforeunloadEvent,\n un as bezierEasings,\n J as blurEvent,\n K as changeEvent,\n le as closest,\n X as contextmenuEvent,\n Xn as createCustomEvent,\n Zt as createElement,\n $t as createElementNS,\n Q as dispatchEvent,\n Pn as distinct,\n xn as documentBody,\n Vn as documentElement,\n N as documentHead,\n De as dragEvent,\n ze as dragendEvent,\n Oe as dragenterEvent,\n Le as dragleaveEvent,\n Ie as dragoverEvent,\n Ce as dragstartEvent,\n Fn as emulateAnimationEnd,\n Un as emulateTransitionEnd,\n Z as errorEvent,\n Qn as focus,\n $ as focusEvent,\n Fe as focusEvents,\n _ as focusinEvent,\n tt as focusoutEvent,\n et as gesturechangeEvent,\n nt as gestureendEvent,\n ot as gesturestartEvent,\n Yt as getAttribute,\n Nn as getAttributeNS,\n h as getBoundingClientRect,\n No as getCustomElements,\n d as getDocument,\n eo as getDocumentBody,\n T as getDocumentElement,\n no as getDocumentHead,\n _t as getElementAnimationDelay,\n te as getElementAnimationDuration,\n ko as getElementById,\n g as getElementStyle,\n ee as getElementTransitionDelay,\n ne as getElementTransitionDuration,\n To as getElementsByClassName,\n de as getElementsByTagName,\n Hn as getInstance,\n oo as getNodeScroll,\n so as getParentNode,\n co as getRectRelativeToOffsetParent,\n ae as getUID,\n ro as getWindow,\n kn as hasAttribute,\n Mn as hasAttributeNS,\n zn as hasClass,\n vn as isApple,\n ie as isArray,\n ao as isCanvas,\n ue as isCustomElement,\n R as isDocument,\n io as isElement,\n uo as isElementInScrollRange,\n lo as isElementInViewport,\n po as isElementsArray,\n En as isFirefox,\n mo as isFunction,\n fo as isHTMLCollection,\n u as isHTMLElement,\n go as isHTMLImageElement,\n vo as isJSON,\n I as isMap,\n bo as isMedia,\n gn as isMobile,\n i as isNode,\n ho as isNodeList,\n se as isNumber,\n v as isObject,\n yo as isRTL,\n wo as isSVGElement,\n re as isScaledElement,\n ce as isShadowRoot,\n k as isString,\n Ao as isTableElement,\n Eo as isWeakMap,\n W as isWindow,\n We as keyAlt,\n Re as keyArrowDown,\n je as keyArrowLeft,\n qe as keyArrowRight,\n Qe as keyArrowUp,\n Ge as keyBackspace,\n Je as keyCapsLock,\n Ke as keyControl,\n Xe as keyDelete,\n Ye as keyEnter,\n $e as keyEscape,\n _e as keyInsert,\n tn as keyMeta,\n Ze as keyNumpadEnter,\n en as keyPause,\n nn as keyScrollLock,\n on as keyShift,\n sn as keySpace,\n cn as keyTab,\n Ue as keyboardEventKeys,\n st as keydownEvent,\n ct as keypressEvent,\n rt as keyupEvent,\n at as loadEvent,\n xe as loadstartEvent,\n Do as matches,\n Be as mouseClickEvents,\n He as mouseHoverEvents,\n Ve as mouseSwipeEvents,\n it as mouseclickEvent,\n ut as mousedblclickEvent,\n lt as mousedownEvent,\n mt as mouseenterEvent,\n pt as mousehoverEvent,\n gt as mouseinEvent,\n ft as mouseleaveEvent,\n bt as mousemoveEvent,\n vt as mouseoutEvent,\n Et as mouseoverEvent,\n dt as mouseupEvent,\n ht as mousewheelEvent,\n yt as moveEvent,\n Te as nativeEvents,\n Xt as noop,\n jn as normalizeOptions,\n V as normalizeValue,\n Jt as off,\n ln as offsetHeight,\n dn as offsetWidth,\n Gt as on,\n Kt as one,\n wt as orientationchangeEvent,\n Yn as passiveHandler,\n At as pointercancelEvent,\n St as pointerdownEvent,\n Nt as pointerleaveEvent,\n kt as pointermoveEvent,\n Mt as pointerupEvent,\n So as querySelector,\n Mo as querySelectorAll,\n Tt as readystatechangeEvent,\n Zn as reflow,\n Cn as removeAttribute,\n On as removeAttributeNS,\n In as removeClass,\n an as removeEventListener,\n Dt as resetEvent,\n Ct as resizeEvent,\n zt as scrollEvent,\n pn as scrollHeight,\n mn as scrollWidth,\n Ot as selectEvent,\n Lt as selectendEvent,\n It as selectstartEvent,\n Tn as setAttribute,\n Dn as setAttributeNS,\n $n as setElementStyle,\n xt as submitEvent,\n bn as support3DTransform,\n An as supportAnimation,\n hn as supportPassive,\n wn as supportTouch,\n yn as supportTransform,\n Sn as supportTransition,\n fn as tabindex,\n oe as toLowerCase,\n to as toUpperCase,\n Pe as touchEvents,\n Ht as touchcancelEvent,\n Pt as touchendEvent,\n Bt as touchmoveEvent,\n Vt as touchstartEvent,\n Qt as transitionDelay,\n Rt as transitionDuration,\n C as transitionEndEvent,\n U as transitionProperty,\n Ft as unloadEvent,\n S as userAgent,\n A as userAgentData,\n Co as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const e = {}, f = (t) => {\n const { type: c, currentTarget: i } = t;\n [...e[c]].forEach(([n, s]) => {\n i === n && [...s].forEach(([o, a]) => {\n o.apply(n, [t]), typeof a == \"object\" && a.once && r(n, c, o, a);\n });\n });\n}, E = (t, c, i, n) => {\n e[c] || (e[c] = /* @__PURE__ */ new Map());\n const s = e[c];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(t), { size: a } = o;\n o.set(i, n), a || t.addEventListener(c, f, n);\n}, r = (t, c, i, n) => {\n const s = e[c], o = s && s.get(t), a = o && o.get(i), d = a !== void 0 ? a : n;\n o && o.has(i) && o.delete(i), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[c], (!o || !o.size) && t.removeEventListener(\n c,\n f,\n d\n );\n}, g = E, M = r;\nexport {\n E as addListener,\n f as globalListener,\n M as off,\n g as on,\n e as registry,\n r as removeListener\n};\n//# sourceMappingURL=event-listener.mjs.map\n","/**\n * Global namespace for most components `fade` class.\n */\nconst fadeClass = 'fade';\nexport default fadeClass;\n","/**\n * Global namespace for most components `show` class.\n */\nconst showClass = 'show';\nexport default showClass;\n","/**\n * Global namespace for most components `dismiss` option.\n */\nconst dataBsDismiss = 'data-bs-dismiss';\nexport default dataBsDismiss;\n","/** @type {string} */\nconst alertString = 'alert';\nexport default alertString;\n","/** @type {string} */\nconst alertComponent = 'Alert';\nexport default alertComponent;\n","import { version } from '../package.json';\n\nconst Version = version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport { querySelector, normalizeOptions, Data, ObjectKeys, isString } from '@thednp/shorty';\n\nimport type { BaseOptions } from '../interface/baseComponent';\nimport Version from '../version';\n\n/** Returns a new `BaseComponent` instance. */\nexport default class BaseComponent {\n declare element: HTMLElement;\n declare options?: BaseOptions;\n\n /**\n * @param target `HTMLElement` or selector string\n * @param config component instance options\n */\n constructor(target: HTMLElement | string, config?: BaseOptions) {\n const element = querySelector(target);\n\n if (!element) {\n if (isString(target)) {\n throw Error(`${this.name} Error: \"${target}\" is not a valid selector.`);\n } else {\n throw Error(`${this.name} Error: your target is not an instance of HTMLElement.`);\n }\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else */\n if (prevInstance) {\n // remove previously attached event listeners\n // to avoid memory leaks\n prevInstance._toggleEventListeners();\n }\n\n this.element = element;\n this.options =\n this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, 'bs')\n : {};\n\n Data.set(element, this.name, this);\n }\n\n /* istanbul ignore next */\n get version() {\n return Version;\n }\n\n /* istanbul ignore next */\n get name() {\n return 'BaseComponent';\n }\n\n /* istanbul ignore next */\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n _toggleEventListeners = () => {\n // do something to please linters\n };\n\n /** Removes component from target element. */\n dispose() {\n Data.remove(this.element, this.name);\n ObjectKeys(this).forEach(prop => {\n delete this[prop];\n });\n }\n}\n","/* Native JavaScript for Bootstrap 5 | Alert\n-------------------------------------------- */\nimport {\n emulateTransitionEnd,\n mouseclickEvent,\n getInstance,\n querySelector,\n hasClass,\n removeClass,\n dispatchEvent,\n createCustomEvent,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport alertString from '../strings/alertString';\nimport alertComponent from '../strings/alertComponent';\nimport type { AlertEvent } from '../interface/alert';\n\nimport BaseComponent from './base-component';\n\n// ALERT PRIVATE GC\n// ================\nconst alertSelector = `.${alertString}`;\nconst alertDismissSelector = `[${dataBsDismiss}=\"${alertString}\"]`;\n\n/**\n * Static method which returns an existing `Alert` instance associated\n * to a target `Element`.\n *\n */\nconst getAlertInstance = (element: HTMLElement) => getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: HTMLElement) => new Alert(element) as T;\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent(`close.bs.${alertString}`);\nconst closedAlertEvent = createCustomEvent(`closed.bs.${alertString}`);\n\n// ALERT EVENT HANDLER\n// ===================\n/**\n * Alert `transitionend` callback.\n *\n * @param that target Alert instance\n */\nconst alertTransitionEnd = (self: Alert) => {\n const { element } = self;\n dispatchEvent(element, closedAlertEvent);\n\n self._toggleEventListeners();\n self.dispose();\n element.remove();\n};\n\n// ALERT DEFINITION\n// ================\n/** Creates a new Alert instance. */\nexport default class Alert extends BaseComponent {\n static selector = alertSelector;\n static init = alertInitCallback;\n static getInstance = getAlertInstance;\n dismiss: HTMLElement | null;\n\n constructor(target: HTMLElement | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(alertDismissSelector, this.element);\n\n // add event listener\n this._toggleEventListeners(true);\n }\n\n /** Returns component name string. */\n get name() {\n return alertComponent;\n }\n\n // ALERT PUBLIC METHODS\n // ====================\n /**\n * Public method that hides the `.alert` element from the user,\n * disposes the instance once animation is complete, then\n * removes the element from the DOM.\n */\n close = () => {\n const { element } = this;\n\n /* istanbul ignore else */\n if (element && hasClass(element, showClass)) {\n dispatchEvent(element, closeAlertEvent);\n\n if (!closeAlertEvent.defaultPrevented) {\n removeClass(element, showClass);\n\n if (hasClass(element, fadeClass)) {\n emulateTransitionEnd(element, () => alertTransitionEnd(this));\n } else alertTransitionEnd(this);\n }\n }\n };\n /**\n * Toggle on / off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { dismiss, close } = this;\n /* istanbul ignore else */\n if (dismiss) action(dismiss, mouseclickEvent, close);\n };\n\n /** Remove the component from target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/**\n * Global namespace for most components active class.\n */\nconst activeClass = 'active';\nexport default activeClass;\n","/**\n * Global namespace for most components `toggle` option.\n */\nconst dataBsToggle = 'data-bs-toggle';\nexport default dataBsToggle;\n","/** @type {string} */\nconst buttonString = 'button';\nexport default buttonString;\n","/** @type {string} */\nconst buttonComponent = 'Button';\nexport default buttonComponent;\n","/* Native JavaScript for Bootstrap 5 | Button\n---------------------------------------------*/\nimport {\n getInstance,\n removeClass,\n hasClass,\n addClass,\n setAttribute,\n mouseclickEvent,\n ariaPressed,\n getAttribute,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport buttonString from '../strings/buttonString';\nimport buttonComponent from '../strings/buttonComponent';\n\nimport BaseComponent from './base-component';\n\n// BUTTON PRIVATE GC\n// =================\nconst buttonSelector = `[${dataBsToggle}=\"${buttonString}\"]`;\n\n/**\n * Static method which returns an existing `Button` instance associated\n * to a target `Element`.\n */\nconst getButtonInstance = (element: HTMLElement) => getInstance',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n *\n */\nconst getPopoverInstance = (element: HTMLElement) => getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: HTMLElement) => new Popover(element);\n\n// POPOVER DEFINITION\n// ==================\n/** Returns a new `Popover` instance. */\nexport default class Popover extends Tooltip {\n static selector = popoverSelector;\n static init = popoverInitCallback;\n static getInstance = getPopoverInstance;\n static styleTip = styleTip;\n declare options: PopoverOptions;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return popoverComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return popoverDefaults;\n }\n\n /* extend original `show()` */\n show = () => {\n super.show();\n // btn only exists within dismissible popover\n const { options, btn } = this;\n /* istanbul ignore else */\n if (options.dismissible && btn) setTimeout(() => focus(btn), 17);\n };\n}\n","/** @type {string} */\nconst scrollspyString = 'scrollspy';\nexport default scrollspyString;\n","/** @type {string} */\nconst scrollspyComponent = 'ScrollSpy';\nexport default scrollspyComponent;\n","/* Native JavaScript for Bootstrap 5 | ScrollSpy\n------------------------------------------------ */\nimport {\n getDocumentBody,\n getDocumentElement,\n getDocument,\n getWindow,\n removeClass,\n hasClass,\n addClass,\n getElementsByTagName,\n getAttribute,\n querySelector,\n isHTMLElement,\n isWindow,\n createCustomEvent,\n getInstance,\n scrollEvent,\n passiveHandler,\n dispatchEvent,\n getBoundingClientRect,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport scrollspyString from '../strings/scrollspyString';\nimport scrollspyComponent from '../strings/scrollspyComponent';\n\nimport BaseComponent from './base-component';\nimport { ScrollSpyOptions, ScrollSpyEvent } from '../interface/scrollspy';\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: ScrollSpyOptions = {\n offset: 10,\n target: null,\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: HTMLElement) => getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: HTMLElement) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent(`activate.bs.${scrollspyString}`);\n\n// SCROLLSPY PRIVATE METHODS\n// =========================\n/**\n * Update the state of all items.\n *\n * @param self the `ScrollSpy` instance\n */\nconst updateSpyTargets = (self: ScrollSpy) => {\n const { target, scrollTarget, options, itemsLength, scrollHeight, element } = self;\n const { offset } = options;\n const isWin = isWindow(scrollTarget as Node | Window);\n\n const links = target && getElementsByTagName('A', target);\n const scrollHEIGHT = scrollTarget ? getScrollHeight(scrollTarget) : /* istanbul ignore next */ scrollHeight;\n\n self.scrollTop = isWin ? (scrollTarget as Window).scrollY : (scrollTarget as HTMLElement).scrollTop;\n\n // only update items/offsets once or with each mutation\n /* istanbul ignore else */\n if (links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)) {\n let href;\n let targetItem;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n [...links].forEach(link => {\n href = getAttribute(link, 'href');\n targetItem =\n href && href.charAt(0) === '#' && href.slice(-1) !== '#' && querySelector(href, getDocument(element));\n\n if (targetItem) {\n self.items.push(link);\n rect = getBoundingClientRect(targetItem);\n self.offsets.push((isWin ? rect.top + self.scrollTop : targetItem.offsetTop) - offset);\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Returns the `scrollHeight` property of the scrolling element.\n *\n * @param scrollTarget the `ScrollSpy` instance\n * @return `scrollTarget` height\n */\nconst getScrollHeight = (scrollTarget: Node | Window) => {\n return isHTMLElement(scrollTarget as Node)\n ? (scrollTarget as HTMLElement).scrollHeight\n : getDocumentElement(scrollTarget as Node).scrollHeight;\n};\n\n/**\n * Returns the height property of the scrolling element.\n *\n * @param params the `ScrollSpy` instance\n */\nconst getOffsetHeight = ({ element, scrollTarget }: ScrollSpy) => {\n return isWindow(scrollTarget as Node) ? (scrollTarget as Window).innerHeight : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: HTMLElement) => {\n [...getElementsByTagName('A', target)].forEach(item => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n });\n};\n\n/**\n * Activates a new item.\n *\n * @param self the `ScrollSpy` instance\n * @param item a single item\n */\nconst activate = (self: ScrollSpy, item: HTMLElement) => {\n const { target, element } = self;\n if (isHTMLElement(target)) clear(target);\n self.activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n const parents: HTMLElement[] = [];\n let parentItem = item;\n while (parentItem !== getDocumentBody(element)) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (hasClass(parentItem, 'nav') || hasClass(parentItem, 'dropdown-menu')) parents.push(parentItem);\n }\n\n parents.forEach(menuItem => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n /* istanbul ignore else */\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n });\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\n// SCROLLSPY DEFINITION\n// ====================\n/** Returns a new `ScrollSpy` instance. */\nexport default class ScrollSpy extends BaseComponent {\n static selector = scrollspySelector;\n static init = scrollspyInitCallback;\n static getInstance = getScrollSpyInstance;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement | Window;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // additional properties\n this.target = querySelector(options.target as HTMLElement | string, getDocument(element));\n\n // invalidate\n if (this.target) {\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight ? element : getWindow(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // add event handlers\n this._toggleEventListeners(true);\n\n this.refresh();\n }\n }\n\n /* eslint-disable */\n /**\n * Returns component name string.\n */\n get name() {\n return scrollspyComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return scrollspyDefaults;\n }\n /* eslint-enable */\n\n // SCROLLSPY PUBLIC METHODS\n // ========================\n /** Updates all items. */\n refresh = () => {\n const { target } = this;\n\n // check if target is visible and invalidate\n /* istanbul ignore else */\n if (isHTMLElement(target) && target.offsetHeight > 0) {\n updateSpyTargets(this);\n\n const { scrollTop, maxScroll, itemsLength, items, activeItem } = this;\n\n if (scrollTop >= maxScroll) {\n const newActiveItem = items[itemsLength - 1];\n\n /* istanbul ignore else */\n if (activeItem !== newActiveItem) {\n activate(this, newActiveItem);\n }\n return;\n }\n\n const { offsets } = this;\n\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n if (target) clear(target);\n return;\n }\n\n items.forEach((item, i) => {\n if (\n activeItem !== item &&\n scrollTop >= offsets[i] &&\n (typeof offsets[i + 1] === 'undefined' || scrollTop < offsets[i + 1])\n ) {\n activate(this, item);\n }\n });\n }\n };\n\n /**\n * Toggles on/off the component event listener.\n *\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.scrollTarget as EventTarget, scrollEvent, this.refresh, passiveHandler);\n };\n\n /** Removes `ScrollSpy` from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/** @type {string} */\nconst tabString = 'tab';\nexport default tabString;\n","/** @type {string} */\nconst tabComponent = 'Tab';\nexport default tabComponent;\n","/* Native JavaScript for Bootstrap 5 | Tab\n------------------------------------------ */\nimport {\n emulateTransitionEnd,\n dispatchEvent,\n removeClass,\n hasClass,\n addClass,\n querySelector,\n getElementsByClassName,\n closest,\n setAttribute,\n mouseclickEvent,\n createCustomEvent,\n Timer,\n getInstance,\n ariaSelected,\n reflow,\n isHTMLElement,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport collapsingClass from '../strings/collapsingClass';\nimport activeClass from '../strings/activeClass';\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dropdownClasses from '../strings/dropdownClasses';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport tabString from '../strings/tabString';\nimport tabComponent from '../strings/tabComponent';\n\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport type { /* TabOptions, */ TabEvent } from '../interface/tab';\n\n// TAB PRIVATE GC\n// ================\nconst tabSelector = `[${dataBsToggle}=\"${tabString}\"]`;\n\n/**\n * Static method which returns an existing `Tab` instance associated\n * to a target `Element`.\n */\nconst getTabInstance = (element: HTMLElement) => getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: HTMLElement) => new Tab(element);\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(`show.bs.${tabString}`);\nconst shownTabEvent = createCustomEvent(`shown.bs.${tabString}`);\nconst hideTabEvent = createCustomEvent(`hide.bs.${tabString}`);\nconst hiddenTabEvent = createCustomEvent(`hidden.bs.${tabString}`);\n\ninterface TabPrivate {\n tab: HTMLElement | null;\n content: HTMLElement | null;\n currentHeight: number;\n nextHeight: number;\n}\n\n/**\n * Stores the current active tab and its content\n * for a given `.nav` element.\n */\nconst tabPrivate: Map = new Map();\n\n// TAB PRIVATE METHODS\n// ===================\n/**\n * Executes after tab transition has finished.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabEnd = (self: Tab) => {\n const { tabContent, nav } = self;\n\n /* istanbul ignore else */\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = '';\n removeClass(tabContent, collapsingClass);\n }\n\n /* istanbul ignore else */\n if (nav) Timer.clear(nav);\n};\n\n/**\n * Executes before showing the tab content.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabShow = (self: Tab) => {\n const { element, tabContent, content: nextContent, nav } = self;\n const { tab } = (isHTMLElement(nav) && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null };\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) || /* istanbul ignore next */ {\n currentHeight: 0,\n nextHeight: 0,\n };\n if (currentHeight === nextHeight) {\n triggerTabEnd(self);\n } else {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n }\n } else if (nav) Timer.clear(nav);\n\n shownTabEvent.relatedTarget = tab as HTMLElement | undefined;\n\n dispatchEvent(element, shownTabEvent);\n};\n\n/**\n * Executes before hiding the tab.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabHide = (self: Tab) => {\n const { element, content: nextContent, tabContent, nav } = self;\n const { tab, content } = (nav && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null, content: null };\n let currentHeight = 0;\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach(c => {\n if (isHTMLElement(c)) addClass(c, 'overflow-hidden');\n });\n currentHeight = isHTMLElement(content) ? content.scrollHeight : /* istanbul ignore next */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element;\n dispatchEvent(element, showTabEvent);\n\n if (!showTabEvent.defaultPrevented) {\n if (nextContent) addClass(nextContent, activeClass);\n if (content) removeClass(content, activeClass);\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, { currentHeight, nextHeight, tab: null, content: null });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach(c => {\n if (c) removeClass(c, 'overflow-hidden');\n });\n }\n\n if (nextContent && nextContent && hasClass(nextContent, fadeClass)) {\n setTimeout(() => {\n addClass(nextContent, showClass);\n emulateTransitionEnd(nextContent, () => {\n triggerTabShow(self);\n });\n }, 1);\n } else {\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n if (tab) dispatchEvent(tab, hiddenTabEvent);\n }\n};\n\n/**\n * Returns the current active tab and its target content.\n *\n * @param self the `Tab` instance\n * @returns the query result\n */\nconst getActiveTab = (self: Tab): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n /* istanbul ignore next */\n if (!isHTMLElement(nav as HTMLElement | undefined)) return { tab: null, content: null };\n\n const activeTabs = getElementsByClassName(activeClass, nav as HTMLElement);\n let tab: HTMLElement | null = null;\n /* istanbul ignore else */\n if (activeTabs.length === 1 && !dropdownClasses.some(c => hasClass(activeTabs[0].parentElement as HTMLElement, c))) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab as HTMLElement) ? getTargetElement(tab as HTMLElement) : null;\n return { tab, content };\n};\n\n/**\n * Returns a parent dropdown.\n *\n * @param element the `Tab` element\n * @returns the parent dropdown\n */\nconst getParentDropdown = (element?: HTMLElement): HTMLElement | null => {\n /* istanbul ignore next */\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(',.')}`);\n return dropdown ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown) : null;\n};\n\n// TAB EVENT HANDLER\n// =================\n/**\n * Handles the `click` event listener.\n *\n * @param e the `Event` object\n */\nconst tabClickHandler = (e: Event) => {\n const self = getTabInstance(e.target as HTMLElement);\n\n /* istanbul ignore else */\n if (self) {\n e.preventDefault();\n self.show();\n }\n};\n\n// TAB DEFINITION\n// ==============\n/** Creates a new `Tab` instance. */\nexport default class Tab extends BaseComponent {\n static selector = tabSelector;\n static init = tabInitCallback;\n static getInstance = getTabInstance;\n declare nav: HTMLElement | null;\n declare content: HTMLElement | null;\n declare tabContent: HTMLElement | null;\n declare nextContent: HTMLElement | null;\n declare dropdown: HTMLElement | null;\n\n /** @param target the target element */\n constructor(target: HTMLElement | string) {\n super(target);\n\n // initialization element\n const { element } = this;\n const content = getTargetElement(element);\n\n // no point initializing a tab without a corresponding content\n /* istanbul ignore else */\n if (content) {\n const nav = closest(element, '.nav');\n const container = closest(content, '.tab-content');\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element);\n\n // show first Tab instance of none is shown\n // suggested on #432\n const { tab } = getActiveTab(this);\n if (nav && !tab) {\n const firstTab = querySelector(tabSelector, nav);\n const firstTabContent = firstTab && getTargetElement(firstTab);\n\n /* istanbul ignore else */\n if (firstTabContent) {\n addClass(firstTab, activeClass);\n addClass(firstTabContent, showClass);\n addClass(firstTabContent, activeClass);\n setAttribute(element, ariaSelected, 'true');\n }\n }\n\n // add event listener\n this._toggleEventListeners(true);\n }\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return tabComponent;\n }\n\n // TAB PUBLIC METHODS\n // ==================\n /** Shows the tab to the user. */\n show() {\n const { element, content: nextContent, nav, dropdown } = this;\n\n /* istanbul ignore else */\n if (!(nav && Timer.get(nav)) && !hasClass(element, activeClass)) {\n const { tab, content } = getActiveTab(this);\n\n /* istanbul ignore else */\n if (nav) tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element;\n\n /* istanbul ignore else */\n if (isHTMLElement(tab)) {\n dispatchEvent(tab as EventTarget, hideTabEvent);\n /* istanbul ignore else */\n if (!hideTabEvent.defaultPrevented) {\n addClass(element, activeClass);\n setAttribute(element, ariaSelected, 'true');\n\n const activeDropdown = isHTMLElement(tab) && getParentDropdown(tab);\n if (activeDropdown && hasClass(activeDropdown, activeClass)) {\n removeClass(activeDropdown, activeClass);\n }\n\n /* istanbul ignore else */\n if (nav) {\n const toggleTab = () => {\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, 'false');\n }\n if (dropdown && !hasClass(dropdown, activeClass)) addClass(dropdown, activeClass);\n };\n\n if (content && (hasClass(content, fadeClass) || (nextContent && hasClass(nextContent, fadeClass)))) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n if (content) {\n removeClass(content, showClass);\n if (hasClass(content, fadeClass)) {\n emulateTransitionEnd(content, () => triggerTabHide(this));\n } else {\n triggerTabHide(this);\n }\n }\n }\n }\n }\n }\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.element, mouseclickEvent, tabClickHandler);\n };\n\n /** Removes the `Tab` component from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/** @type {string} */\nconst toastString = 'toast';\nexport default toastString;\n","/** @type {string} */\nconst toastComponent = 'Toast';\nexport default toastComponent;\n","/* Native JavaScript for Bootstrap 5 | Toast\n-------------------------------------------- */\nimport {\n mouseclickEvent,\n closest,\n removeClass,\n hasClass,\n addClass,\n focusoutEvent,\n focusinEvent,\n mouseleaveEvent,\n mouseenterEvent,\n createCustomEvent,\n getDocument,\n Timer,\n getInstance,\n reflow,\n emulateTransitionEnd,\n dispatchEvent,\n querySelectorAll,\n querySelector,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport toastString from '../strings/toastString';\nimport toastComponent from '../strings/toastComponent';\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport { ToastOptions, ToastEvent } from '../interface/toast';\n\n// TOAST PRIVATE GC\n// ================\nconst toastSelector = `.${toastString}`;\nconst toastDismissSelector = `[${dataBsDismiss}=\"${toastString}\"]`;\nconst toastToggleSelector = `[${dataBsToggle}=\"${toastString}\"]`;\nconst showingClass = 'showing';\n/** @deprecated */\nconst hideClass = 'hide';\n\nconst toastDefaults = {\n animation: true,\n autohide: true,\n delay: 5000,\n};\n\n/**\n * Static method which returns an existing `Toast` instance associated\n * to a target `Element`.\n */\nconst getToastInstance = (element: HTMLElement) => getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: HTMLElement) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent(`show.bs.${toastString}`);\nconst shownToastEvent = createCustomEvent(`shown.bs.${toastString}`);\nconst hideToastEvent = createCustomEvent(`hide.bs.${toastString}`);\nconst hiddenToastEvent = createCustomEvent(`hidden.bs.${toastString}`);\n\n// TOAST PRIVATE METHODS\n// =====================\n/**\n * Executes after the toast is shown to the user.\n *\n * @param self the `Toast` instance\n */\nconst showToastComplete = (self: Toast) => {\n const { element, options } = self;\n removeClass(element, showingClass);\n Timer.clear(element, showingClass);\n\n dispatchEvent(element, shownToastEvent);\n /* istanbul ignore else */\n if (options.autohide) {\n Timer.set(element, () => self.hide(), options.delay, toastString);\n }\n};\n\n/**\n * Executes after the toast is hidden to the user.\n *\n * @param self the `Toast` instance\n */\nconst hideToastComplete = (self: Toast) => {\n const { element } = self;\n removeClass(element, showingClass);\n removeClass(element, showClass);\n addClass(element, hideClass); // B/C\n Timer.clear(element, toastString);\n dispatchEvent(element, hiddenToastEvent);\n};\n\n/**\n * Executes before hiding the toast.\n *\n * @param self the `Toast` instance\n */\nconst hideToast = (self: Toast) => {\n const { element, options } = self;\n addClass(element, showingClass);\n\n if (options.animation) {\n reflow(element);\n emulateTransitionEnd(element, () => hideToastComplete(self));\n } else {\n hideToastComplete(self);\n }\n};\n\n/**\n * Executes before showing the toast.\n *\n * @param self the `Toast` instance\n */\nconst showToast = (self: Toast) => {\n const { element, options } = self;\n Timer.set(\n element,\n () => {\n removeClass(element, hideClass); // B/C\n reflow(element);\n addClass(element, showClass);\n addClass(element, showingClass);\n\n if (options.animation) {\n emulateTransitionEnd(element, () => showToastComplete(self));\n } else {\n showToastComplete(self);\n }\n },\n 17,\n showingClass,\n );\n};\n\n// TOAST EVENT HANDLERS\n// ====================\n/**\n * Executes after the instance has been disposed.\n *\n * @param {Toast} self the `Toast` instance\n */\nconst completeDisposeToast = (self: Toast) => {\n Timer.clear(self.element, toastString);\n self._toggleEventListeners();\n};\n\n/**\n * Handles the `click` event listener for toast.\n *\n * @param e the `Event` object\n */\nconst toastClickHandler = (e: Event) => {\n const { target } = e;\n\n const trigger = target && closest(target as HTMLElement, toastToggleSelector);\n const element = trigger && getTargetElement(trigger);\n const self = element && getToastInstance(element);\n\n /* istanbul ignore else */\n if (self) {\n /* istanbul ignore else */\n if (trigger && trigger.tagName === 'A') e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\n }\n};\n\n/**\n * Executes when user interacts with the toast without closing it,\n * usually by hovering or focusing it.\n *\n * @param e the `Toast` instance\n */\nconst interactiveToastHandler = (e: MouseEvent) => {\n const element = e.target as HTMLElement;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n /* istanbul ignore else: a solid filter is required */\n if (self && element !== relatedTarget && !element.contains(relatedTarget as Node)) {\n if ([mouseenterEvent, focusinEvent].includes(type)) {\n Timer.clear(element, toastString);\n } else {\n Timer.set(element, () => self.hide(), self.options.delay, toastString);\n }\n }\n};\n\n// TOAST DEFINITION\n// ================\n/** Creates a new `Toast` instance. */\nexport default class Toast extends BaseComponent {\n static selector = toastSelector;\n static init = toastInitCallback;\n static getInstance = getToastInstance;\n declare options: ToastOptions;\n declare dismiss: HTMLElement | null;\n declare triggers: HTMLElement[];\n declare relatedTarget: HTMLElement | null;\n\n /**\n * @param target the target `.toast` element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n const { element, options } = this;\n\n // set fadeClass, the options.animation will override the markup\n if (options.animation && !hasClass(element, fadeClass)) addClass(element, fadeClass);\n else if (!options.animation && hasClass(element, fadeClass)) removeClass(element, fadeClass);\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [...querySelectorAll(toastToggleSelector, getDocument(element))].filter(\n btn => getTargetElement(btn) === element,\n );\n\n // add event listener\n this._toggleEventListeners(true);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return toastComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return toastDefaults;\n }\n /**\n * Returns *true* when toast is visible.\n */\n get isShown() {\n return hasClass(this.element, showClass);\n }\n\n // TOAST PUBLIC METHODS\n // ====================\n /** Shows the toast. */\n show = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && !isShown) {\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) {\n showToast(this);\n }\n }\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && isShown) {\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) {\n hideToast(this);\n }\n }\n };\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, it will add the listener\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element, triggers, dismiss, options, hide } = this;\n\n /* istanbul ignore else */\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n /* istanbul ignore else */\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(e =>\n action(element, e, interactiveToastHandler),\n );\n }\n /* istanbul ignore else */\n if (triggers.length) {\n triggers.forEach(btn => action(btn, mouseclickEvent, toastClickHandler));\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (isShown) {\n removeClass(element, showClass);\n }\n\n completeDisposeToast(this);\n\n super.dispose();\n }\n}\n","import { Data, getElementsByTagName, matches } from '@thednp/shorty';\n\nimport { addListener } from '@thednp/event-listener';\n\nimport Alert from '../components/alert';\nimport Button from '../components/button';\nimport Carousel from '../components/carousel';\nimport Collapse from '../components/collapse';\nimport Dropdown from '../components/dropdown';\nimport Modal from '../components/modal';\nimport Offcanvas from '../components/offcanvas';\nimport Popover from '../components/popover';\nimport ScrollSpy from '../components/scrollspy';\nimport Tab from '../components/tab';\nimport Toast from '../components/toast';\nimport Tooltip from '../components/tooltip';\n\nconst componentsList = new Map<\n string,\n | typeof Alert\n | typeof Button\n | typeof Carousel\n | typeof Collapse\n | typeof Dropdown\n | typeof Modal\n | typeof Offcanvas\n | typeof Popover\n | typeof ScrollSpy\n | typeof Tab\n | typeof Toast\n | typeof Tooltip\n>();\n\n[Alert, Button, Carousel, Collapse, Dropdown, Modal, Offcanvas, Popover, ScrollSpy, Tab, Toast, Tooltip].forEach(c =>\n componentsList.set(c.prototype.name, c),\n);\n\n/**\n * Initialize all matched `Element`s for one component.\n *\n * @param callback\n * @param collection\n */\nconst initComponentDataAPI = (\n callback: (el: HTMLElement, ops?: Record) => T,\n collection: HTMLCollectionOf | HTMLElement[],\n) => {\n [...collection].forEach(x => callback(x));\n};\n\n/**\n * Remove one component from a target container element or all in the page.\n *\n * @param component the component name\n * @param context parent `Node`\n */\nconst removeComponentDataAPI = (component: string, context: ParentNode) => {\n const compData = Data.getAllFor(component) as Map;\n\n if (compData) {\n [...compData].forEach(([element, instance]) => {\n if (context.contains(element)) (instance as T & { dispose: () => void }).dispose();\n });\n }\n};\n\n/**\n * Initialize all BSN components for a target container.\n *\n * @param context parent `Node`\n */\nexport const initCallback = (context?: ParentNode) => {\n const lookUp = context && context.nodeName ? context : document;\n const elemCollection = [...getElementsByTagName('*', lookUp)];\n\n componentsList.forEach(cs => {\n const { init, selector } = cs;\n initComponentDataAPI(\n init,\n elemCollection.filter(item => matches(item, selector)),\n );\n });\n};\n\n/**\n * Remove all BSN components for a target container.\n *\n * @param context parent `Node`\n */\nexport const removeDataAPI = (context?: ParentNode) => {\n const lookUp = context && context.nodeName ? context : document;\n\n componentsList.forEach(comp => {\n removeComponentDataAPI(comp.prototype.name, lookUp);\n });\n};\n\n// Bulk initialize all components\nif (document.body) initCallback();\nelse {\n addListener(document, 'DOMContentLoaded', () => initCallback(), { once: true });\n}\n"],"names":["fe","ge","Ee","ye","we","Ae","P","$","_","tt","st","rt","it","lt","pt","mt","ft","St","kt","Mt","Ct","zt","Vt","Ce","Re","Qe","je","qe","$e","Rt","Qt","C","U","jt","A","qt","S","z","x","vn","N","Gt","e","n","o","s","Jt","Kt","r","Xt","Yt","kn","Tn","Cn","Ln","In","zn","v","i","u","E","L","Hn","k","W","R","d","M","Zt","Q","g","ee","ne","Un","a","l","Qn","V","w","oe","jn","p","c","m","y","j","Gn","Xn","Yn","Zn","$n","I","se","f","_n","h","eo","T","ce","so","B","H","b","ae","ro","ie","uo","mo","ho","yo","Ao","le","So","de","Mo","To","Do","fadeClass","showClass","dataBsDismiss","alertString","alertComponent","Version","version","BaseComponent","target","config","__publicField","element","querySelector","isString","prevInstance","Data","ObjectKeys","normalizeOptions","prop","alertSelector","alertDismissSelector","getAlertInstance","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","hasClass","removeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent","activeClass","dataBsToggle","buttonString","buttonComponent","buttonSelector","getButtonInstance","buttonInitCallback","Button","isActive","getAttribute","addClass","setAttribute","ariaPressed","dataBsTarget","carouselString","carouselComponent","dataBsParent","dataBsContainer","getTargetElement","targetAttr","doc","getDocument","att","attValue","closest","carouselSelector","carouselItem","dataBsSlideTo","dataBsSlide","pausedClass","carouselDefaults","getCarouselInstance","carouselInitCallback","Carousel","startX","currentX","endX","carouselSlideEvent","carouselSlidEvent","carouselTransitionEndHandler","index","direction","slides","options","activeItem","getActiveIndex","orientation","directionClass","Timer","carouselPauseHandler","carouselResumeHandler","carouselIndicatorHandler","newIndex","carouselControlsHandler","carouselKeyHandler","code","querySelectorAll","isElementInScrollRange","RTL","isRTL","keyArrowRight","keyArrowLeft","carouselDragHandler","carouselPointerDownHandler","controls","indicators","el","toggleCarouselTouchHandlers","carouselPointerMoveHandler","carouselPointerUpHandler","_a","activateCarouselIndicator","pointermoveEvent","passiveHandler","pointerupEvent","isHTMLElement","touch","pause","interval","keyboard","mouseenterEvent","mouseleaveEvent","pointerdownEvent","touchstartEvent","dragstartEvent","arrow","indicator","keydownEvent","getElementsByClassName","activeIndex","transitionItem","matches","ar","isPaused","idx","next","eventProperties","ObjectAssign","getElementTransitionDuration","reflow","isAnimating","clone","collapsingClass","collapseString","collapseComponent","collapseSelector","collapseToggleSelector","collapseDefaults","getCollapseInstance","collapseInitCallback","Collapse","showCollapseEvent","shownCollapseEvent","hideCollapseEvent","hiddenCollapseEvent","expandCollapse","parent","triggers","noop","setElementStyle","btn","ariaExpanded","collapseContent","collapseClickHandler","trigger","activeCollapse","activeCollapseInstance","dropdownMenuClasses","dropdownComponent","dropdownMenuClass","isEmptyAnchor","parentAnchor","hasAttribute","dropdownString","dropupString","dropstartString","dropendString","dropdownClasses","dropdownSelector","getDropdownInstance","dropdownInitCallback","Dropdown","dropdownMenuEndClass","verticalClass","horizontalClass","menuFocusTags","dropdownDefaults","showDropdownEvent","shownDropdownEvent","hideDropdownEvent","hiddenDropdownEvent","updatedDropdownEvent","styleDropdown","menu","parentElement","offset","getElementStyle","menuEnd","style","positionClass","dropdownMargin","dropdownPosition","menuWidth","menuHeight","clientWidth","clientHeight","getDocumentElement","targetLeft","targetTop","targetWidth","targetHeight","getBoundingClientRect","leftFullExceed","rightFullExceed","bottomExceed","bottomFullExceed","topExceed","leftExceed","rightExceed","posAjust","margins","getMenuItems","firstElementChild","toggleDropdownDismiss","dropdownDismissHandler","focusEvent","dropdownPreventScroll","keyupEvent","dropdownKeyHandler","scrollEvent","resizeEvent","ev","getWindow","dropdownLayoutHandler","getCurrentOpenDropdown","currentParent","type","isForm","mousedownEvent","dropdownClickHandler","keyArrowDown","keyArrowUp","activeElement","open","menuItems","focus","keyEscape","currentElement","currentInstance","modalString","modalComponent","offcanvasComponent","fixedTopClass","fixedBottomClass","stickyTopClass","positionStickyClass","getFixedItems","resetScrollbar","bd","getDocumentBody","fixedItems","fixed","measureScrollbar","innerWidth","setScrollbar","overflow","bodyPad","sbWidth","itemPadValue","itemMValue","offcanvasString","popupContainer","createElement","appendPopup","customContainer","containerIsBody","isNode","lookup","BODY","removePopup","hasPopup","backdropString","modalBackdropClass","offcanvasBackdropClass","modalActiveSelector","offcanvasActiveSelector","overlay","getCurrentOpen","toggleOverlayType","isModal","targetClass","appendOverlay","hasFade","showOverlay","hideOverlay","removeOverlay","isVisible","modalSelector","modalToggleSelector","modalDismissSelector","modalStaticClass","modalDefaults","getModalInstance","modalInitCallback","Modal","showModalEvent","shownModalEvent","hideModalEvent","hiddenModalEvent","setModalScrollbar","scrollbarWidth","scrollHeight","modalHeight","modalScrollHeight","modalOverflow","pad","padStyle","toggleModalDismiss","update","modalDismissHandler","modalKeyHandler","afterModalHide","relatedTarget","focusElement","afterModalShow","beforeModalShow","removeAttribute","ariaHidden","ariaModal","beforeModalHide","modalClickHandler","_b","currentTarget","isStatic","modalDialog","backdrop","selectedText","targetInsideDialog","staticTransitionEnd","duration","overlayDelay","currentOpen","that","callback","offcanvasSelector","offcanvasToggleSelector","offcanvasDismissSelector","offcanvasTogglingClass","offcanvasDefaults","getOffcanvasInstance","offcanvasInitCallback","Offcanvas","showOffcanvasEvent","shownOffcanvasEvent","hideOffcanvasEvent","hiddenOffcanvasEvent","setOffCanvasScrollbar","toggleOffCanvasDismiss","offcanvasKeyDismissHandler","offcanvasDismissHandler","beforeOffcanvasShow","showOffcanvasComplete","beforeOffcanvasHide","hideOffcanvasComplete","offcanvasTriggerHandler","offCanvasDismiss","selection","visibleTrigger","delay","popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","body","tipClassPositions","styleTip","tipClasses","tooltip","container","tipPositions","isPopover","tipWidth","tipHeight","htmlcw","htmlch","htmlow","placement","parentCWidth","parentOWidth","fixedParent","leftBoundry","rightBoundry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","topPosition","bottomPosition","leftPosition","rightPosition","arrowTop","arrowLeft","arrowRight","arrowWidth","arrowHeight","arrowAdjust","horizontals","verticals","updatedTooltipEvent","toLowerCase","tooltipDefaults","dataOriginalTitle","tooltipComponent","setHtml","content","sanitizeFn","dirty","isFunction","tempDocument","isNodeList","isArray","createTip","id","title","template","animation","customClass","dismissible","btnClose","tipString","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","tooltipHeader","tooltipBody","tempTitle","tempContent","tempBtn","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","tooltipSelector","titleAttr","getTooltipInstance","tooltipInitCallback","Tooltip","removeTooltip","offsetParent","ariaDescribedBy","hasTip","disposeTooltipComplete","toggleTooltipTitle","toggleTooltipAction","tooltipShownAction","shownTooltipEvent","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","offsetHeight","parentModal","parentOffcanvas","win","scrollTarget","titleAtt","tr","mousehoverEvent","focusinEvent","focusoutEvent","isApple","tipComponent","elem","getUID","position","outTimer","tipContainer","showTooltipEvent","hideTooltipEvent","enabled","popoverSelector","popoverDefaults","getPopoverInstance","popoverInitCallback","Popover","scrollspyString","scrollspyComponent","scrollspySelector","scrollspyDefaults","getScrollSpyInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","updateSpyTargets","itemsLength","isWin","isWindow","links","getElementsByTagName","scrollHEIGHT","getScrollHeight","href","targetItem","rect","getOffsetHeight","link","clear","item","activate","parents","parentItem","menuItem","parentLink","scrollTop","maxScroll","items","newActiveItem","offsets","tabString","tabComponent","tabSelector","getTabInstance","tabInitCallback","Tab","showTabEvent","shownTabEvent","hideTabEvent","hiddenTabEvent","tabPrivate","triggerTabEnd","tabContent","nav","triggerTabShow","nextContent","tab","currentHeight","nextHeight","triggerTabHide","getActiveTab","activeTabs","getParentDropdown","dropdown","tabClickHandler","firstTab","firstTabContent","ariaSelected","activeDropdown","toggleTab","toastString","toastComponent","toastSelector","toastDismissSelector","toastToggleSelector","showingClass","hideClass","toastDefaults","getToastInstance","toastInitCallback","Toast","showToastEvent","shownToastEvent","hideToastEvent","hiddenToastEvent","showToastComplete","hideToastComplete","hideToast","showToast","completeDisposeToast","toastClickHandler","interactiveToastHandler","isShown","hide","componentsList","initComponentDataAPI","collection","removeComponentDataAPI","component","context","compData","instance","initCallback","lookUp","elemCollection","cs","init","selector","removeDataAPI","comp"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/dist/components/activeClass-a1284579.js b/dist/components/activeClass-CxJYQAGN.js similarity index 51% rename from dist/components/activeClass-a1284579.js rename to dist/components/activeClass-CxJYQAGN.js index af87c7fa..69bb8883 100644 --- a/dist/components/activeClass-a1284579.js +++ b/dist/components/activeClass-CxJYQAGN.js @@ -1,2 +1,2 @@ "use strict";const s="active";exports.activeClass=s; -//# sourceMappingURL=activeClass-a1284579.js.map +//# sourceMappingURL=activeClass-CxJYQAGN.js.map diff --git a/dist/components/activeClass-a1284579.js.map b/dist/components/activeClass-CxJYQAGN.js.map similarity index 78% rename from dist/components/activeClass-a1284579.js.map rename to dist/components/activeClass-CxJYQAGN.js.map index 73012a78..7c40c835 100644 --- a/dist/components/activeClass-a1284579.js.map +++ b/dist/components/activeClass-CxJYQAGN.js.map @@ -1 +1 @@ -{"version":3,"file":"activeClass-a1284579.js","sources":["../../src/strings/activeClass.ts"],"sourcesContent":["/**\n * Global namespace for most components active class.\n */\nconst activeClass = 'active';\nexport default activeClass;\n"],"names":["activeClass"],"mappings":"aAGA,MAAMA,EAAc"} \ No newline at end of file +{"version":3,"file":"activeClass-CxJYQAGN.js","sources":["../../src/strings/activeClass.ts"],"sourcesContent":["/**\n * Global namespace for most components active class.\n */\nconst activeClass = 'active';\nexport default activeClass;\n"],"names":["activeClass"],"mappings":"aAGA,MAAMA,EAAc"} \ No newline at end of file diff --git a/dist/components/activeClass-b231b21b.mjs b/dist/components/activeClass-b231b21b.mjs deleted file mode 100644 index fd27806a..00000000 --- a/dist/components/activeClass-b231b21b.mjs +++ /dev/null @@ -1,5 +0,0 @@ -const a = "active"; -export { - a -}; -//# sourceMappingURL=activeClass-b231b21b.mjs.map diff --git a/dist/components/activeClass-iqaD75Su.mjs b/dist/components/activeClass-iqaD75Su.mjs new file mode 100644 index 00000000..b84b4fa0 --- /dev/null +++ b/dist/components/activeClass-iqaD75Su.mjs @@ -0,0 +1,5 @@ +const a = "active"; +export { + a +}; +//# sourceMappingURL=activeClass-iqaD75Su.mjs.map diff --git a/dist/components/activeClass-b231b21b.mjs.map b/dist/components/activeClass-iqaD75Su.mjs.map similarity index 78% rename from dist/components/activeClass-b231b21b.mjs.map rename to dist/components/activeClass-iqaD75Su.mjs.map index 6aec54e4..751e8a9b 100644 --- a/dist/components/activeClass-b231b21b.mjs.map +++ b/dist/components/activeClass-iqaD75Su.mjs.map @@ -1 +1 @@ -{"version":3,"file":"activeClass-b231b21b.mjs","sources":["../../src/strings/activeClass.ts"],"sourcesContent":["/**\n * Global namespace for most components active class.\n */\nconst activeClass = 'active';\nexport default activeClass;\n"],"names":["activeClass"],"mappings":"AAGA,MAAMA,IAAc;"} \ No newline at end of file +{"version":3,"file":"activeClass-iqaD75Su.mjs","sources":["../../src/strings/activeClass.ts"],"sourcesContent":["/**\n * Global namespace for most components active class.\n */\nconst activeClass = 'active';\nexport default activeClass;\n"],"names":["activeClass"],"mappings":"AAGA,MAAMA,IAAc;"} \ No newline at end of file diff --git a/dist/components/alert.cjs b/dist/components/alert.cjs index c9487041..897e03a9 100644 --- a/dist/components/alert.cjs +++ b/dist/components/alert.cjs @@ -1,2 +1,2 @@ -"use strict";var C=Object.defineProperty;var g=(s,t,e)=>t in s?C(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var o=(s,t,e)=>(g(s,typeof t!="symbol"?t+"":t,e),e);const n=require("@thednp/shorty"),a=require("@thednp/event-listener"),E=require("./fadeClass-a4944cf1.js"),l=require("./showClass-2174a6d6.js"),p=require("./dataBsDismiss-4ee313a7.js"),q=require("./base-component-f3cef043.js"),r="alert",u="Alert",L=`.${r}`,f=`[${p.dataBsDismiss}="${r}"]`,$=s=>n.getInstance(s,u),b=s=>new i(s),d=n.createCustomEvent(`close.bs.${r}`),w=n.createCustomEvent(`closed.bs.${r}`),m=s=>{const{element:t}=s;n.dispatchEvent(t,w),s._toggleEventListeners(),s.dispose(),t.remove()};class i extends q.BaseComponent{constructor(e){super(e);o(this,"dismiss");o(this,"close",()=>{const{element:e}=this;e&&n.hasClass(e,l.showClass)&&(n.dispatchEvent(e,d),d.defaultPrevented||(n.removeClass(e,l.showClass),n.hasClass(e,E.fadeClass)?n.emulateTransitionEnd(e,()=>m(this)):m(this)))});o(this,"_toggleEventListeners",e=>{const h=e?a.addListener:a.removeListener,{dismiss:c,close:v}=this;c&&h(c,n.mouseclickEvent,v)});this.dismiss=n.querySelector(f,this.element),this._toggleEventListeners(!0)}get name(){return u}dispose(){this._toggleEventListeners(),super.dispose()}}o(i,"selector",L),o(i,"init",b),o(i,"getInstance",$);module.exports=i; +"use strict";var C=Object.defineProperty;var g=(s,t,e)=>t in s?C(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var o=(s,t,e)=>g(s,typeof t!="symbol"?t+"":t,e);const n=require("@thednp/shorty"),a=require("@thednp/event-listener"),E=require("./fadeClass-Co6nOzNJ.js"),l=require("./showClass-D_Ms1FgG.js"),p=require("./dataBsDismiss-CMHF7If_.js"),q=require("./base-component-j_bwTL_x.js"),r="alert",u="Alert",L=`.${r}`,f=`[${p.dataBsDismiss}="${r}"]`,$=s=>n.getInstance(s,u),b=s=>new i(s),d=n.createCustomEvent(`close.bs.${r}`),w=n.createCustomEvent(`closed.bs.${r}`),m=s=>{const{element:t}=s;n.dispatchEvent(t,w),s._toggleEventListeners(),s.dispose(),t.remove()};class i extends q.BaseComponent{constructor(e){super(e);o(this,"dismiss");o(this,"close",()=>{const{element:e}=this;e&&n.hasClass(e,l.showClass)&&(n.dispatchEvent(e,d),d.defaultPrevented||(n.removeClass(e,l.showClass),n.hasClass(e,E.fadeClass)?n.emulateTransitionEnd(e,()=>m(this)):m(this)))});o(this,"_toggleEventListeners",e=>{const h=e?a.addListener:a.removeListener,{dismiss:c,close:v}=this;c&&h(c,n.mouseclickEvent,v)});this.dismiss=n.querySelector(f,this.element),this._toggleEventListeners(!0)}get name(){return u}dispose(){this._toggleEventListeners(),super.dispose()}}o(i,"selector",L),o(i,"init",b),o(i,"getInstance",$);module.exports=i; //# sourceMappingURL=alert.cjs.map diff --git a/dist/components/alert.cjs.map b/dist/components/alert.cjs.map index b25e2444..274bb62c 100644 --- a/dist/components/alert.cjs.map +++ b/dist/components/alert.cjs.map @@ -1 +1 @@ -{"version":3,"file":"alert.cjs","sources":["../../src/strings/alertString.ts","../../src/strings/alertComponent.ts","../../src/components/alert.ts"],"sourcesContent":["/** @type {string} */\nconst alertString = 'alert';\nexport default alertString;\n","/** @type {string} */\nconst alertComponent = 'Alert';\nexport default alertComponent;\n","/* Native JavaScript for Bootstrap 5 | Alert\n-------------------------------------------- */\nimport {\n emulateTransitionEnd,\n mouseclickEvent,\n getInstance,\n querySelector,\n hasClass,\n removeClass,\n dispatchEvent,\n createCustomEvent,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport alertString from '../strings/alertString';\nimport alertComponent from '../strings/alertComponent';\nimport type { AlertEvent } from '../interface/alert';\n\nimport BaseComponent from './base-component';\n\n// ALERT PRIVATE GC\n// ================\nconst alertSelector = `.${alertString}`;\nconst alertDismissSelector = `[${dataBsDismiss}=\"${alertString}\"]`;\n\n/**\n * Static method which returns an existing `Alert` instance associated\n * to a target `Element`.\n *\n */\nconst getAlertInstance = (element: HTMLElement) => getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: HTMLElement) => new Alert(element) as T;\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent(`close.bs.${alertString}`);\nconst closedAlertEvent = createCustomEvent(`closed.bs.${alertString}`);\n\n// ALERT EVENT HANDLER\n// ===================\n/**\n * Alert `transitionend` callback.\n *\n * @param that target Alert instance\n */\nconst alertTransitionEnd = (self: Alert) => {\n const { element } = self;\n dispatchEvent(element, closedAlertEvent);\n\n self._toggleEventListeners();\n self.dispose();\n element.remove();\n};\n\n// ALERT DEFINITION\n// ================\n/** Creates a new Alert instance. */\nexport default class Alert extends BaseComponent {\n static selector = alertSelector;\n static init = alertInitCallback;\n static getInstance = getAlertInstance;\n dismiss: HTMLElement | null;\n\n constructor(target: HTMLElement | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(alertDismissSelector, this.element);\n\n // add event listener\n this._toggleEventListeners(true);\n }\n\n /** Returns component name string. */\n get name() {\n return alertComponent;\n }\n\n // ALERT PUBLIC METHODS\n // ====================\n /**\n * Public method that hides the `.alert` element from the user,\n * disposes the instance once animation is complete, then\n * removes the element from the DOM.\n */\n close = () => {\n const { element } = this;\n\n /* istanbul ignore else */\n if (element && hasClass(element, showClass)) {\n dispatchEvent(element, closeAlertEvent);\n\n if (!closeAlertEvent.defaultPrevented) {\n removeClass(element, showClass);\n\n if (hasClass(element, fadeClass)) {\n emulateTransitionEnd(element, () => alertTransitionEnd(this));\n } else alertTransitionEnd(this);\n }\n }\n };\n /**\n * Toggle on / off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { dismiss, close } = this;\n /* istanbul ignore else */\n if (dismiss) action(dismiss, mouseclickEvent, close);\n };\n\n /** Remove the component from target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n"],"names":["alertString","alertComponent","alertSelector","alertDismissSelector","dataBsDismiss","getAlertInstance","element","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","BaseComponent","target","__publicField","hasClass","showClass","removeClass","fadeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent","querySelector"],"mappings":"wZACMA,EAAc,QCAdC,EAAiB,QCyBjBC,EAAgB,IAAIF,CAAW,GAC/BG,EAAuB,IAAIC,EAAAA,aAAa,KAAKJ,CAAW,KAOxDK,EAAoBC,GAAyBC,EAAA,YAAmBD,EAASL,CAAc,EAKvFO,EAAwBF,GAAyB,IAAIG,EAAMH,CAAO,EAIlEI,EAAkBC,EAAAA,kBAA8B,YAAYX,CAAW,EAAE,EACzEY,EAAmBD,EAAAA,kBAA8B,aAAaX,CAAW,EAAE,EAS3Ea,EAAsBC,GAAgB,CACpC,KAAA,CAAE,QAAAR,CAAY,EAAAQ,EACpBC,gBAAcT,EAASM,CAAgB,EAEvCE,EAAK,sBAAsB,EAC3BA,EAAK,QAAQ,EACbR,EAAQ,OAAO,CACjB,EAKA,MAAqBG,UAAcO,EAAAA,aAAc,CAM/C,YAAYC,EAA8B,CACxC,MAAMA,CAAM,EAHdC,EAAA,gBAwBAA,EAAA,aAAQ,IAAM,CACN,KAAA,CAAE,QAAAZ,CAAY,EAAA,KAGhBA,GAAWa,EAAAA,SAASb,EAASc,EAAS,SAAA,IACxCL,gBAAcT,EAASI,CAAe,EAEjCA,EAAgB,mBACnBW,cAAYf,EAASc,EAAAA,SAAS,EAE1BD,EAAA,SAASb,EAASgB,EAAAA,SAAS,EAC7BC,EAAAA,qBAAqBjB,EAAS,IAAMO,EAAmB,IAAI,CAAC,EACvDA,EAAmB,IAAI,GAElC,GAOFK,EAAA,6BAAyBM,GAAkB,CACnC,MAAAC,EAASD,EAAME,EAAc,YAAAC,iBAC7B,CAAE,QAAAC,EAAS,MAAAC,CAAU,EAAA,KAEvBD,GAAgBH,EAAAG,EAASE,kBAAiBD,CAAK,CAAA,GA3CnD,KAAK,QAAUE,EAAA,cAAc5B,EAAsB,KAAK,OAAO,EAG/D,KAAK,sBAAsB,EAAI,CACjC,CAGA,IAAI,MAAO,CACF,OAAAF,CACT,CAsCA,SAAU,CACR,KAAK,sBAAsB,EAC3B,MAAM,QAAQ,CAChB,CACF,CA5DEiB,EADmBT,EACZ,WAAWP,GAClBgB,EAFmBT,EAEZ,OAAOD,GACdU,EAHmBT,EAGZ,cAAcJ"} \ No newline at end of file +{"version":3,"file":"alert.cjs","sources":["../../src/strings/alertString.ts","../../src/strings/alertComponent.ts","../../src/components/alert.ts"],"sourcesContent":["/** @type {string} */\nconst alertString = 'alert';\nexport default alertString;\n","/** @type {string} */\nconst alertComponent = 'Alert';\nexport default alertComponent;\n","/* Native JavaScript for Bootstrap 5 | Alert\n-------------------------------------------- */\nimport {\n emulateTransitionEnd,\n mouseclickEvent,\n getInstance,\n querySelector,\n hasClass,\n removeClass,\n dispatchEvent,\n createCustomEvent,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport alertString from '../strings/alertString';\nimport alertComponent from '../strings/alertComponent';\nimport type { AlertEvent } from '../interface/alert';\n\nimport BaseComponent from './base-component';\n\n// ALERT PRIVATE GC\n// ================\nconst alertSelector = `.${alertString}`;\nconst alertDismissSelector = `[${dataBsDismiss}=\"${alertString}\"]`;\n\n/**\n * Static method which returns an existing `Alert` instance associated\n * to a target `Element`.\n *\n */\nconst getAlertInstance = (element: HTMLElement) => getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: HTMLElement) => new Alert(element) as T;\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent(`close.bs.${alertString}`);\nconst closedAlertEvent = createCustomEvent(`closed.bs.${alertString}`);\n\n// ALERT EVENT HANDLER\n// ===================\n/**\n * Alert `transitionend` callback.\n *\n * @param that target Alert instance\n */\nconst alertTransitionEnd = (self: Alert) => {\n const { element } = self;\n dispatchEvent(element, closedAlertEvent);\n\n self._toggleEventListeners();\n self.dispose();\n element.remove();\n};\n\n// ALERT DEFINITION\n// ================\n/** Creates a new Alert instance. */\nexport default class Alert extends BaseComponent {\n static selector = alertSelector;\n static init = alertInitCallback;\n static getInstance = getAlertInstance;\n dismiss: HTMLElement | null;\n\n constructor(target: HTMLElement | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(alertDismissSelector, this.element);\n\n // add event listener\n this._toggleEventListeners(true);\n }\n\n /** Returns component name string. */\n get name() {\n return alertComponent;\n }\n\n // ALERT PUBLIC METHODS\n // ====================\n /**\n * Public method that hides the `.alert` element from the user,\n * disposes the instance once animation is complete, then\n * removes the element from the DOM.\n */\n close = () => {\n const { element } = this;\n\n /* istanbul ignore else */\n if (element && hasClass(element, showClass)) {\n dispatchEvent(element, closeAlertEvent);\n\n if (!closeAlertEvent.defaultPrevented) {\n removeClass(element, showClass);\n\n if (hasClass(element, fadeClass)) {\n emulateTransitionEnd(element, () => alertTransitionEnd(this));\n } else alertTransitionEnd(this);\n }\n }\n };\n /**\n * Toggle on / off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { dismiss, close } = this;\n /* istanbul ignore else */\n if (dismiss) action(dismiss, mouseclickEvent, close);\n };\n\n /** Remove the component from target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n"],"names":["alertString","alertComponent","alertSelector","alertDismissSelector","dataBsDismiss","getAlertInstance","element","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","BaseComponent","target","__publicField","hasClass","showClass","removeClass","fadeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent","querySelector"],"mappings":"oZACMA,EAAc,QCAdC,EAAiB,QCyBjBC,EAAgB,IAAIF,CAAW,GAC/BG,EAAuB,IAAIC,EAAAA,aAAa,KAAKJ,CAAW,KAOxDK,EAAoBC,GAAyBC,EAAA,YAAmBD,EAASL,CAAc,EAKvFO,EAAwBF,GAAyB,IAAIG,EAAMH,CAAO,EAIlEI,EAAkBC,EAAAA,kBAA8B,YAAYX,CAAW,EAAE,EACzEY,EAAmBD,EAAAA,kBAA8B,aAAaX,CAAW,EAAE,EAS3Ea,EAAsBC,GAAgB,CACpC,KAAA,CAAE,QAAAR,CAAY,EAAAQ,EACpBC,gBAAcT,EAASM,CAAgB,EAEvCE,EAAK,sBAAsB,EAC3BA,EAAK,QAAQ,EACbR,EAAQ,OAAO,CACjB,EAKA,MAAqBG,UAAcO,EAAAA,aAAc,CAM/C,YAAYC,EAA8B,CACxC,MAAMA,CAAM,EAHdC,EAAA,gBAwBAA,EAAA,aAAQ,IAAM,CACN,KAAA,CAAE,QAAAZ,CAAY,EAAA,KAGhBA,GAAWa,EAAAA,SAASb,EAASc,EAAS,SAAA,IACxCL,gBAAcT,EAASI,CAAe,EAEjCA,EAAgB,mBACnBW,cAAYf,EAASc,EAAAA,SAAS,EAE1BD,EAAA,SAASb,EAASgB,EAAAA,SAAS,EAC7BC,EAAAA,qBAAqBjB,EAAS,IAAMO,EAAmB,IAAI,CAAC,IACpC,IAAI,GAElC,GAOFK,EAAA,6BAAyBM,GAAkB,CACnC,MAAAC,EAASD,EAAME,EAAc,YAAAC,iBAC7B,CAAE,QAAAC,EAAS,MAAAC,CAAU,EAAA,KAEvBD,GAASH,EAAOG,EAASE,EAAA,gBAAiBD,CAAK,CAAA,GA3CnD,KAAK,QAAUE,EAAA,cAAc5B,EAAsB,KAAK,OAAO,EAG/D,KAAK,sBAAsB,EAAI,CACjC,CAGA,IAAI,MAAO,CACF,OAAAF,CACT,CAsCA,SAAU,CACR,KAAK,sBAAsB,EAC3B,MAAM,QAAQ,CAChB,CACF,CA5DEiB,EADmBT,EACZ,WAAWP,GAClBgB,EAFmBT,EAEZ,OAAOD,GACdU,EAHmBT,EAGZ,cAAcJ"} \ No newline at end of file diff --git a/dist/components/alert.d.ts b/dist/components/alert.d.ts index 64c7ed17..cffe5847 100644 --- a/dist/components/alert.d.ts +++ b/dist/components/alert.d.ts @@ -18,7 +18,7 @@ declare class BaseComponent { dispose(): void; } /** Creates a new Alert instance. */ -export default class Alert extends BaseComponent { +declare class Alert extends BaseComponent { static selector: string; static init: (element: HTMLElement) => T; static getInstance: (element: HTMLElement) => Alert | null; @@ -42,6 +42,10 @@ export default class Alert extends BaseComponent { dispose(): void; } +export { + Alert as default, +}; + export as namespace Alert; export {}; diff --git a/dist/components/alert.mjs b/dist/components/alert.mjs index 9141887c..86c28a65 100644 --- a/dist/components/alert.mjs +++ b/dist/components/alert.mjs @@ -1,12 +1,12 @@ var h = Object.defineProperty; var u = (t, s, e) => s in t ? h(t, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[s] = e; -var o = (t, s, e) => (u(t, typeof s != "symbol" ? s + "" : s, e), e); +var o = (t, s, e) => u(t, typeof s != "symbol" ? s + "" : s, e); import { createCustomEvent as d, querySelector as E, hasClass as a, dispatchEvent as p, removeClass as C, emulateTransitionEnd as L, mouseclickEvent as $, getInstance as I } from "@thednp/shorty"; import { addListener as S, removeListener as _ } from "@thednp/event-listener"; -import { f as b } from "./fadeClass-0d50d035.mjs"; -import { s as c } from "./showClass-f6a4d601.mjs"; -import { d as B } from "./dataBsDismiss-afbfbc79.mjs"; -import { B as k } from "./base-component-a56d44ba.mjs"; +import { f as b } from "./fadeClass-CLIYI_zn.mjs"; +import { s as c } from "./showClass-C8hdJfjQ.mjs"; +import { d as B } from "./dataBsDismiss-DdNPQYa-.mjs"; +import { B as k } from "./base-component-DvIOojVW.mjs"; const i = "alert", g = "Alert", w = `.${i}`, x = `[${B}="${i}"]`, A = (t) => I(t, g), D = (t) => new n(t), l = d(`close.bs.${i}`), T = d(`closed.bs.${i}`), m = (t) => { const { element: s } = t; p(s, T), t._toggleEventListeners(), t.dispose(), s.remove(); diff --git a/dist/components/alert.mjs.map b/dist/components/alert.mjs.map index 2c117f00..cb0384fb 100644 --- a/dist/components/alert.mjs.map +++ b/dist/components/alert.mjs.map @@ -1 +1 @@ -{"version":3,"file":"alert.mjs","sources":["../../src/strings/alertString.ts","../../src/strings/alertComponent.ts","../../src/components/alert.ts"],"sourcesContent":["/** @type {string} */\nconst alertString = 'alert';\nexport default alertString;\n","/** @type {string} */\nconst alertComponent = 'Alert';\nexport default alertComponent;\n","/* Native JavaScript for Bootstrap 5 | Alert\n-------------------------------------------- */\nimport {\n emulateTransitionEnd,\n mouseclickEvent,\n getInstance,\n querySelector,\n hasClass,\n removeClass,\n dispatchEvent,\n createCustomEvent,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport alertString from '../strings/alertString';\nimport alertComponent from '../strings/alertComponent';\nimport type { AlertEvent } from '../interface/alert';\n\nimport BaseComponent from './base-component';\n\n// ALERT PRIVATE GC\n// ================\nconst alertSelector = `.${alertString}`;\nconst alertDismissSelector = `[${dataBsDismiss}=\"${alertString}\"]`;\n\n/**\n * Static method which returns an existing `Alert` instance associated\n * to a target `Element`.\n *\n */\nconst getAlertInstance = (element: HTMLElement) => getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: HTMLElement) => new Alert(element) as T;\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent(`close.bs.${alertString}`);\nconst closedAlertEvent = createCustomEvent(`closed.bs.${alertString}`);\n\n// ALERT EVENT HANDLER\n// ===================\n/**\n * Alert `transitionend` callback.\n *\n * @param that target Alert instance\n */\nconst alertTransitionEnd = (self: Alert) => {\n const { element } = self;\n dispatchEvent(element, closedAlertEvent);\n\n self._toggleEventListeners();\n self.dispose();\n element.remove();\n};\n\n// ALERT DEFINITION\n// ================\n/** Creates a new Alert instance. */\nexport default class Alert extends BaseComponent {\n static selector = alertSelector;\n static init = alertInitCallback;\n static getInstance = getAlertInstance;\n dismiss: HTMLElement | null;\n\n constructor(target: HTMLElement | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(alertDismissSelector, this.element);\n\n // add event listener\n this._toggleEventListeners(true);\n }\n\n /** Returns component name string. */\n get name() {\n return alertComponent;\n }\n\n // ALERT PUBLIC METHODS\n // ====================\n /**\n * Public method that hides the `.alert` element from the user,\n * disposes the instance once animation is complete, then\n * removes the element from the DOM.\n */\n close = () => {\n const { element } = this;\n\n /* istanbul ignore else */\n if (element && hasClass(element, showClass)) {\n dispatchEvent(element, closeAlertEvent);\n\n if (!closeAlertEvent.defaultPrevented) {\n removeClass(element, showClass);\n\n if (hasClass(element, fadeClass)) {\n emulateTransitionEnd(element, () => alertTransitionEnd(this));\n } else alertTransitionEnd(this);\n }\n }\n };\n /**\n * Toggle on / off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { dismiss, close } = this;\n /* istanbul ignore else */\n if (dismiss) action(dismiss, mouseclickEvent, close);\n };\n\n /** Remove the component from target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n"],"names":["alertString","alertComponent","alertSelector","alertDismissSelector","dataBsDismiss","getAlertInstance","element","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","BaseComponent","target","__publicField","hasClass","showClass","removeClass","fadeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent","querySelector"],"mappings":";;;;;;;;;AACA,MAAMA,IAAc,SCAdC,IAAiB,SCyBjBC,IAAgB,IAAIF,CAAW,IAC/BG,IAAuB,IAAIC,CAAa,KAAKJ,CAAW,MAOxDK,IAAmB,CAACC,MAAyBC,EAAmBD,GAASL,CAAc,GAKvFO,IAAoB,CAAIF,MAAyB,IAAIG,EAAMH,CAAO,GAIlEI,IAAkBC,EAA8B,YAAYX,CAAW,EAAE,GACzEY,IAAmBD,EAA8B,aAAaX,CAAW,EAAE,GAS3Ea,IAAqB,CAACC,MAAgB;AACpC,QAAA,EAAE,SAAAR,EAAY,IAAAQ;AACpB,EAAAC,EAAcT,GAASM,CAAgB,GAEvCE,EAAK,sBAAsB,GAC3BA,EAAK,QAAQ,GACbR,EAAQ,OAAO;AACjB;AAKA,MAAqBG,UAAcO,EAAc;AAAA,EAM/C,YAAYC,GAA8B;AACxC,UAAMA,CAAM;AAHd,IAAAC,EAAA;AAwBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,EAAA,eAAQ,MAAM;AACN,YAAA,EAAE,SAAAZ,EAAY,IAAA;AAGpB,MAAIA,KAAWa,EAASb,GAASc,CAAS,MACxCL,EAAcT,GAASI,CAAe,GAEjCA,EAAgB,qBACnBW,EAAYf,GAASc,CAAS,GAE1BD,EAASb,GAASgB,CAAS,IAC7BC,EAAqBjB,GAAS,MAAMO,EAAmB,IAAI,CAAC,IACvDA,EAAmB,IAAI;AAAA,IAElC;AAOF;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAK,EAAA,+BAAwB,CAACM,MAAkB;AACnC,YAAAC,IAASD,IAAME,IAAcC,GAC7B,EAAE,SAAAC,GAAS,OAAAC,EAAU,IAAA;AAEvB,MAAAD,KAAgBH,EAAAG,GAASE,GAAiBD,CAAK;AAAA,IAAA;AA3CnD,SAAK,UAAUE,EAAc5B,GAAsB,KAAK,OAAO,GAG/D,KAAK,sBAAsB,EAAI;AAAA,EACjC;AAAA;AAAA,EAGA,IAAI,OAAO;AACF,WAAAF;AAAA,EACT;AAAA;AAAA,EAsCA,UAAU;AACR,SAAK,sBAAsB,GAC3B,MAAM,QAAQ;AAAA,EAChB;AACF;AA5DEiB,EADmBT,GACZ,YAAWP,IAClBgB,EAFmBT,GAEZ,QAAOD,IACdU,EAHmBT,GAGZ,eAAcJ;"} \ No newline at end of file +{"version":3,"file":"alert.mjs","sources":["../../src/strings/alertString.ts","../../src/strings/alertComponent.ts","../../src/components/alert.ts"],"sourcesContent":["/** @type {string} */\nconst alertString = 'alert';\nexport default alertString;\n","/** @type {string} */\nconst alertComponent = 'Alert';\nexport default alertComponent;\n","/* Native JavaScript for Bootstrap 5 | Alert\n-------------------------------------------- */\nimport {\n emulateTransitionEnd,\n mouseclickEvent,\n getInstance,\n querySelector,\n hasClass,\n removeClass,\n dispatchEvent,\n createCustomEvent,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport alertString from '../strings/alertString';\nimport alertComponent from '../strings/alertComponent';\nimport type { AlertEvent } from '../interface/alert';\n\nimport BaseComponent from './base-component';\n\n// ALERT PRIVATE GC\n// ================\nconst alertSelector = `.${alertString}`;\nconst alertDismissSelector = `[${dataBsDismiss}=\"${alertString}\"]`;\n\n/**\n * Static method which returns an existing `Alert` instance associated\n * to a target `Element`.\n *\n */\nconst getAlertInstance = (element: HTMLElement) => getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: HTMLElement) => new Alert(element) as T;\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent(`close.bs.${alertString}`);\nconst closedAlertEvent = createCustomEvent(`closed.bs.${alertString}`);\n\n// ALERT EVENT HANDLER\n// ===================\n/**\n * Alert `transitionend` callback.\n *\n * @param that target Alert instance\n */\nconst alertTransitionEnd = (self: Alert) => {\n const { element } = self;\n dispatchEvent(element, closedAlertEvent);\n\n self._toggleEventListeners();\n self.dispose();\n element.remove();\n};\n\n// ALERT DEFINITION\n// ================\n/** Creates a new Alert instance. */\nexport default class Alert extends BaseComponent {\n static selector = alertSelector;\n static init = alertInitCallback;\n static getInstance = getAlertInstance;\n dismiss: HTMLElement | null;\n\n constructor(target: HTMLElement | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(alertDismissSelector, this.element);\n\n // add event listener\n this._toggleEventListeners(true);\n }\n\n /** Returns component name string. */\n get name() {\n return alertComponent;\n }\n\n // ALERT PUBLIC METHODS\n // ====================\n /**\n * Public method that hides the `.alert` element from the user,\n * disposes the instance once animation is complete, then\n * removes the element from the DOM.\n */\n close = () => {\n const { element } = this;\n\n /* istanbul ignore else */\n if (element && hasClass(element, showClass)) {\n dispatchEvent(element, closeAlertEvent);\n\n if (!closeAlertEvent.defaultPrevented) {\n removeClass(element, showClass);\n\n if (hasClass(element, fadeClass)) {\n emulateTransitionEnd(element, () => alertTransitionEnd(this));\n } else alertTransitionEnd(this);\n }\n }\n };\n /**\n * Toggle on / off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { dismiss, close } = this;\n /* istanbul ignore else */\n if (dismiss) action(dismiss, mouseclickEvent, close);\n };\n\n /** Remove the component from target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n"],"names":["alertString","alertComponent","alertSelector","alertDismissSelector","dataBsDismiss","getAlertInstance","element","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","BaseComponent","target","__publicField","hasClass","showClass","removeClass","fadeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent","querySelector"],"mappings":";;;;;;;;;AACA,MAAMA,IAAc,SCAdC,IAAiB,SCyBjBC,IAAgB,IAAIF,CAAW,IAC/BG,IAAuB,IAAIC,CAAa,KAAKJ,CAAW,MAOxDK,IAAmB,CAACC,MAAyBC,EAAmBD,GAASL,CAAc,GAKvFO,IAAoB,CAAIF,MAAyB,IAAIG,EAAMH,CAAO,GAIlEI,IAAkBC,EAA8B,YAAYX,CAAW,EAAE,GACzEY,IAAmBD,EAA8B,aAAaX,CAAW,EAAE,GAS3Ea,IAAqB,CAACC,MAAgB;AACpC,QAAA,EAAE,SAAAR,EAAY,IAAAQ;AACpB,EAAAC,EAAcT,GAASM,CAAgB,GAEvCE,EAAK,sBAAsB,GAC3BA,EAAK,QAAQ,GACbR,EAAQ,OAAO;AACjB;AAKA,MAAqBG,UAAcO,EAAc;AAAA,EAM/C,YAAYC,GAA8B;AACxC,UAAMA,CAAM;AAHd,IAAAC,EAAA;AAwBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,EAAA,eAAQ,MAAM;AACN,YAAA,EAAE,SAAAZ,EAAY,IAAA;AAGpB,MAAIA,KAAWa,EAASb,GAASc,CAAS,MACxCL,EAAcT,GAASI,CAAe,GAEjCA,EAAgB,qBACnBW,EAAYf,GAASc,CAAS,GAE1BD,EAASb,GAASgB,CAAS,IAC7BC,EAAqBjB,GAAS,MAAMO,EAAmB,IAAI,CAAC,MACpC,IAAI;AAAA,IAElC;AAOF;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAK,EAAA,+BAAwB,CAACM,MAAkB;AACnC,YAAAC,IAASD,IAAME,IAAcC,GAC7B,EAAE,SAAAC,GAAS,OAAAC,EAAU,IAAA;AAE3B,MAAID,KAASH,EAAOG,GAASE,GAAiBD,CAAK;AAAA,IAAA;AA3CnD,SAAK,UAAUE,EAAc5B,GAAsB,KAAK,OAAO,GAG/D,KAAK,sBAAsB,EAAI;AAAA,EACjC;AAAA;AAAA,EAGA,IAAI,OAAO;AACF,WAAAF;AAAA,EACT;AAAA;AAAA,EAsCA,UAAU;AACR,SAAK,sBAAsB,GAC3B,MAAM,QAAQ;AAAA,EAChB;AACF;AA5DEiB,EADmBT,GACZ,YAAWP,IAClBgB,EAFmBT,GAEZ,QAAOD,IACdU,EAHmBT,GAGZ,eAAcJ;"} \ No newline at end of file diff --git a/dist/components/base-component-a56d44ba.mjs b/dist/components/base-component-DvIOojVW.mjs similarity index 76% rename from dist/components/base-component-a56d44ba.mjs rename to dist/components/base-component-DvIOojVW.mjs index 166fd54c..166395d3 100644 --- a/dist/components/base-component-a56d44ba.mjs +++ b/dist/components/base-component-DvIOojVW.mjs @@ -1,14 +1,14 @@ var h = Object.defineProperty; -var l = (s, e, t) => e in s ? h(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t; -var i = (s, e, t) => (l(s, typeof e != "symbol" ? e + "" : e, t), t); +var l = (t, e, s) => e in t ? h(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s; +var i = (t, e, s) => l(t, typeof e != "symbol" ? e + "" : e, s); import { querySelector as m, isString as c, Data as r, ObjectKeys as a, normalizeOptions as f } from "@thednp/shorty"; -const u = "5.0.13", g = u; +const u = "5.0.14", g = u; class d { /** * @param target `HTMLElement` or selector string * @param config component instance options */ - constructor(e, t) { + constructor(e, s) { /** just to have something to extend from */ i(this, "_toggleEventListeners", () => { }); @@ -16,7 +16,7 @@ class d { if (!n) throw c(e) ? Error(`${this.name} Error: "${e}" is not a valid selector.`) : Error(`${this.name} Error: your target is not an instance of HTMLElement.`); const o = r.get(n, this.name); - o && o._toggleEventListeners(), this.element = n, this.options = this.defaults && a(this.defaults).length ? f(n, this.defaults, t || {}, "bs") : {}, r.set(n, this.name, this); + o && o._toggleEventListeners(), this.element = n, this.options = this.defaults && a(this.defaults).length ? f(n, this.defaults, s || {}, "bs") : {}, r.set(n, this.name, this); } /* istanbul ignore next */ get version() { @@ -40,4 +40,4 @@ class d { export { d as B }; -//# sourceMappingURL=base-component-a56d44ba.mjs.map +//# sourceMappingURL=base-component-DvIOojVW.mjs.map diff --git a/dist/components/base-component-a56d44ba.mjs.map b/dist/components/base-component-DvIOojVW.mjs.map similarity index 98% rename from dist/components/base-component-a56d44ba.mjs.map rename to dist/components/base-component-DvIOojVW.mjs.map index 6ba26915..d1af5193 100644 --- a/dist/components/base-component-a56d44ba.mjs.map +++ b/dist/components/base-component-DvIOojVW.mjs.map @@ -1 +1 @@ -{"version":3,"file":"base-component-a56d44ba.mjs","sources":["../../src/version.ts","../../src/components/base-component.ts"],"sourcesContent":["import { version } from '../package.json';\n\nconst Version = version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport { querySelector, normalizeOptions, Data, ObjectKeys, isString } from '@thednp/shorty';\n\nimport type { BaseOptions } from '../interface/baseComponent';\nimport Version from '../version';\n\n/** Returns a new `BaseComponent` instance. */\nexport default class BaseComponent {\n declare element: HTMLElement;\n declare options?: BaseOptions;\n\n /**\n * @param target `HTMLElement` or selector string\n * @param config component instance options\n */\n constructor(target: HTMLElement | string, config?: BaseOptions) {\n const element = querySelector(target);\n\n if (!element) {\n if (isString(target)) {\n throw Error(`${this.name} Error: \"${target}\" is not a valid selector.`);\n } else {\n throw Error(`${this.name} Error: your target is not an instance of HTMLElement.`);\n }\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else */\n if (prevInstance) {\n // remove previously attached event listeners\n // to avoid memory leaks\n prevInstance._toggleEventListeners();\n }\n\n this.element = element;\n this.options =\n this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, 'bs')\n : {};\n\n Data.set(element, this.name, this);\n }\n\n /* istanbul ignore next */\n get version() {\n return Version;\n }\n\n /* istanbul ignore next */\n get name() {\n return 'BaseComponent';\n }\n\n /* istanbul ignore next */\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n _toggleEventListeners = () => {\n // do something to please linters\n };\n\n /** Removes component from target element. */\n dispose() {\n Data.remove(this.element, this.name);\n ObjectKeys(this).forEach(prop => {\n delete this[prop];\n });\n }\n}\n"],"names":["Version","version","BaseComponent","target","config","__publicField","element","querySelector","isString","prevInstance","Data","ObjectKeys","normalizeOptions","prop"],"mappings":";;;;oBAEMA,IAAUC;ACMhB,MAAqBC,EAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjC,YAAYC,GAA8BC,GAAsB;AA4ChE;AAAA,IAAAC,EAAA,+BAAwB,MAAM;AAAA,IAAA;AA3CtB,UAAAC,IAAUC,EAAcJ,CAAM;AAEpC,QAAI,CAACG;AACC,YAAAE,EAASL,CAAM,IACX,MAAM,GAAG,KAAK,IAAI,YAAYA,CAAM,4BAA4B,IAEhE,MAAM,GAAG,KAAK,IAAI,wDAAwD;AAIpF,UAAMM,IAAeC,EAAK,IAAiBJ,GAAS,KAAK,IAAI;AAE7D,IAAIG,KAGFA,EAAa,sBAAsB,GAGrC,KAAK,UAAUH,GACf,KAAK,UACH,KAAK,YAAYK,EAAW,KAAK,QAAQ,EAAE,SACvCC,EAAiBN,GAAS,KAAK,UAAUF,KAAU,IAAI,IAAI,IAC3D,IAENM,EAAK,IAAIJ,GAAS,KAAK,MAAM,IAAI;AAAA,EACnC;AAAA;AAAA,EAGA,IAAI,UAAU;AACL,WAAAN;AAAA,EACT;AAAA;AAAA,EAGA,IAAI,OAAO;AACF,WAAA;AAAA,EACT;AAAA;AAAA,EAGA,IAAI,WAAW;AACb,WAAO;EACT;AAAA;AAAA,EAQA,UAAU;AACR,IAAAU,EAAK,OAAoB,KAAK,SAAS,KAAK,IAAI,GACrCC,EAAA,IAAI,EAAE,QAAQ,CAAQE,MAAA;AAC/B,aAAO,KAAKA,CAAI;AAAA,IAAA,CACjB;AAAA,EACH;AACF;"} \ No newline at end of file +{"version":3,"file":"base-component-DvIOojVW.mjs","sources":["../../src/version.ts","../../src/components/base-component.ts"],"sourcesContent":["import { version } from '../package.json';\n\nconst Version = version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport { querySelector, normalizeOptions, Data, ObjectKeys, isString } from '@thednp/shorty';\n\nimport type { BaseOptions } from '../interface/baseComponent';\nimport Version from '../version';\n\n/** Returns a new `BaseComponent` instance. */\nexport default class BaseComponent {\n declare element: HTMLElement;\n declare options?: BaseOptions;\n\n /**\n * @param target `HTMLElement` or selector string\n * @param config component instance options\n */\n constructor(target: HTMLElement | string, config?: BaseOptions) {\n const element = querySelector(target);\n\n if (!element) {\n if (isString(target)) {\n throw Error(`${this.name} Error: \"${target}\" is not a valid selector.`);\n } else {\n throw Error(`${this.name} Error: your target is not an instance of HTMLElement.`);\n }\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else */\n if (prevInstance) {\n // remove previously attached event listeners\n // to avoid memory leaks\n prevInstance._toggleEventListeners();\n }\n\n this.element = element;\n this.options =\n this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, 'bs')\n : {};\n\n Data.set(element, this.name, this);\n }\n\n /* istanbul ignore next */\n get version() {\n return Version;\n }\n\n /* istanbul ignore next */\n get name() {\n return 'BaseComponent';\n }\n\n /* istanbul ignore next */\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n _toggleEventListeners = () => {\n // do something to please linters\n };\n\n /** Removes component from target element. */\n dispose() {\n Data.remove(this.element, this.name);\n ObjectKeys(this).forEach(prop => {\n delete this[prop];\n });\n }\n}\n"],"names":["Version","version","BaseComponent","target","config","__publicField","element","querySelector","isString","prevInstance","Data","ObjectKeys","normalizeOptions","prop"],"mappings":";;;;oBAEMA,IAAUC;ACMhB,MAAqBC,EAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjC,YAAYC,GAA8BC,GAAsB;AA4ChE;AAAA,IAAAC,EAAA,+BAAwB,MAAM;AAAA,IAAA;AA3CtB,UAAAC,IAAUC,EAAcJ,CAAM;AAEpC,QAAI,CAACG;AACC,YAAAE,EAASL,CAAM,IACX,MAAM,GAAG,KAAK,IAAI,YAAYA,CAAM,4BAA4B,IAEhE,MAAM,GAAG,KAAK,IAAI,wDAAwD;AAIpF,UAAMM,IAAeC,EAAK,IAAiBJ,GAAS,KAAK,IAAI;AAE7D,IAAIG,KAGFA,EAAa,sBAAsB,GAGrC,KAAK,UAAUH,GACf,KAAK,UACH,KAAK,YAAYK,EAAW,KAAK,QAAQ,EAAE,SACvCC,EAAiBN,GAAS,KAAK,UAAUF,KAAU,IAAI,IAAI,IAC3D,IAENM,EAAK,IAAIJ,GAAS,KAAK,MAAM,IAAI;AAAA,EACnC;AAAA;AAAA,EAGA,IAAI,UAAU;AACL,WAAAN;AAAA,EACT;AAAA;AAAA,EAGA,IAAI,OAAO;AACF,WAAA;AAAA,EACT;AAAA;AAAA,EAGA,IAAI,WAAW;AACb,WAAO;EACT;AAAA;AAAA,EAQA,UAAU;AACR,IAAAU,EAAK,OAAoB,KAAK,SAAS,KAAK,IAAI,GACrCC,EAAA,IAAI,EAAE,QAAQ,CAAQE,MAAA;AAC/B,aAAO,KAAKA,CAAI;AAAA,IAAA,CACjB;AAAA,EACH;AACF;"} \ No newline at end of file diff --git a/dist/components/base-component-f3cef043.js b/dist/components/base-component-f3cef043.js deleted file mode 100644 index b1497eae..00000000 --- a/dist/components/base-component-f3cef043.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";var a=Object.defineProperty;var h=(n,e,s)=>e in n?a(n,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[e]=s;var i=(n,e,s)=>(h(n,typeof e!="symbol"?e+"":e,s),s);const t=require("@thednp/shorty"),l="5.0.13",c=l;class m{constructor(e,s){i(this,"_toggleEventListeners",()=>{});const r=t.querySelector(e);if(!r)throw t.isString(e)?Error(`${this.name} Error: "${e}" is not a valid selector.`):Error(`${this.name} Error: your target is not an instance of HTMLElement.`);const o=t.Data.get(r,this.name);o&&o._toggleEventListeners(),this.element=r,this.options=this.defaults&&t.ObjectKeys(this.defaults).length?t.normalizeOptions(r,this.defaults,s||{},"bs"):{},t.Data.set(r,this.name,this)}get version(){return c}get name(){return"BaseComponent"}get defaults(){return{}}dispose(){t.Data.remove(this.element,this.name),t.ObjectKeys(this).forEach(e=>{delete this[e]})}}exports.BaseComponent=m; -//# sourceMappingURL=base-component-f3cef043.js.map diff --git a/dist/components/base-component-j_bwTL_x.js b/dist/components/base-component-j_bwTL_x.js new file mode 100644 index 00000000..de34d156 --- /dev/null +++ b/dist/components/base-component-j_bwTL_x.js @@ -0,0 +1,2 @@ +"use strict";var a=Object.defineProperty;var h=(s,e,n)=>e in s?a(s,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[e]=n;var i=(s,e,n)=>h(s,typeof e!="symbol"?e+"":e,n);const t=require("@thednp/shorty"),l="5.0.14",c=l;class m{constructor(e,n){i(this,"_toggleEventListeners",()=>{});const r=t.querySelector(e);if(!r)throw t.isString(e)?Error(`${this.name} Error: "${e}" is not a valid selector.`):Error(`${this.name} Error: your target is not an instance of HTMLElement.`);const o=t.Data.get(r,this.name);o&&o._toggleEventListeners(),this.element=r,this.options=this.defaults&&t.ObjectKeys(this.defaults).length?t.normalizeOptions(r,this.defaults,n||{},"bs"):{},t.Data.set(r,this.name,this)}get version(){return c}get name(){return"BaseComponent"}get defaults(){return{}}dispose(){t.Data.remove(this.element,this.name),t.ObjectKeys(this).forEach(e=>{delete this[e]})}}exports.BaseComponent=m; +//# sourceMappingURL=base-component-j_bwTL_x.js.map diff --git a/dist/components/base-component-f3cef043.js.map b/dist/components/base-component-j_bwTL_x.js.map similarity index 95% rename from dist/components/base-component-f3cef043.js.map rename to dist/components/base-component-j_bwTL_x.js.map index 0b8f6d60..8b49aa79 100644 --- a/dist/components/base-component-f3cef043.js.map +++ b/dist/components/base-component-j_bwTL_x.js.map @@ -1 +1 @@ -{"version":3,"file":"base-component-f3cef043.js","sources":["../../src/version.ts","../../src/components/base-component.ts"],"sourcesContent":["import { version } from '../package.json';\n\nconst Version = version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport { querySelector, normalizeOptions, Data, ObjectKeys, isString } from '@thednp/shorty';\n\nimport type { BaseOptions } from '../interface/baseComponent';\nimport Version from '../version';\n\n/** Returns a new `BaseComponent` instance. */\nexport default class BaseComponent {\n declare element: HTMLElement;\n declare options?: BaseOptions;\n\n /**\n * @param target `HTMLElement` or selector string\n * @param config component instance options\n */\n constructor(target: HTMLElement | string, config?: BaseOptions) {\n const element = querySelector(target);\n\n if (!element) {\n if (isString(target)) {\n throw Error(`${this.name} Error: \"${target}\" is not a valid selector.`);\n } else {\n throw Error(`${this.name} Error: your target is not an instance of HTMLElement.`);\n }\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else */\n if (prevInstance) {\n // remove previously attached event listeners\n // to avoid memory leaks\n prevInstance._toggleEventListeners();\n }\n\n this.element = element;\n this.options =\n this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, 'bs')\n : {};\n\n Data.set(element, this.name, this);\n }\n\n /* istanbul ignore next */\n get version() {\n return Version;\n }\n\n /* istanbul ignore next */\n get name() {\n return 'BaseComponent';\n }\n\n /* istanbul ignore next */\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n _toggleEventListeners = () => {\n // do something to please linters\n };\n\n /** Removes component from target element. */\n dispose() {\n Data.remove(this.element, this.name);\n ObjectKeys(this).forEach(prop => {\n delete this[prop];\n });\n }\n}\n"],"names":["Version","version","BaseComponent","target","config","__publicField","element","querySelector","isString","prevInstance","Data","ObjectKeys","normalizeOptions","prop"],"mappings":"kOAEMA,EAAUC,ECMhB,MAAqBC,CAAc,CAQjC,YAAYC,EAA8BC,EAAsB,CA4ChEC,EAAA,6BAAwB,IAAM,CAAA,GA3CtB,MAAAC,EAAUC,gBAAcJ,CAAM,EAEpC,GAAI,CAACG,EACC,MAAAE,EAAAA,SAASL,CAAM,EACX,MAAM,GAAG,KAAK,IAAI,YAAYA,CAAM,4BAA4B,EAEhE,MAAM,GAAG,KAAK,IAAI,wDAAwD,EAIpF,MAAMM,EAAeC,EAAAA,KAAK,IAAiBJ,EAAS,KAAK,IAAI,EAEzDG,GAGFA,EAAa,sBAAsB,EAGrC,KAAK,QAAUH,EACf,KAAK,QACH,KAAK,UAAYK,EAAAA,WAAW,KAAK,QAAQ,EAAE,OACvCC,EAAAA,iBAAiBN,EAAS,KAAK,SAAUF,GAAU,GAAI,IAAI,EAC3D,GAENM,EAAA,KAAK,IAAIJ,EAAS,KAAK,KAAM,IAAI,CACnC,CAGA,IAAI,SAAU,CACL,OAAAN,CACT,CAGA,IAAI,MAAO,CACF,MAAA,eACT,CAGA,IAAI,UAAW,CACb,MAAO,EACT,CAQA,SAAU,CACRU,EAAA,KAAK,OAAoB,KAAK,QAAS,KAAK,IAAI,EACrCC,EAAAA,WAAA,IAAI,EAAE,QAAgBE,GAAA,CAC/B,OAAO,KAAKA,CAAI,CAAA,CACjB,CACH,CACF"} \ No newline at end of file +{"version":3,"file":"base-component-j_bwTL_x.js","sources":["../../src/version.ts","../../src/components/base-component.ts"],"sourcesContent":["import { version } from '../package.json';\n\nconst Version = version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport { querySelector, normalizeOptions, Data, ObjectKeys, isString } from '@thednp/shorty';\n\nimport type { BaseOptions } from '../interface/baseComponent';\nimport Version from '../version';\n\n/** Returns a new `BaseComponent` instance. */\nexport default class BaseComponent {\n declare element: HTMLElement;\n declare options?: BaseOptions;\n\n /**\n * @param target `HTMLElement` or selector string\n * @param config component instance options\n */\n constructor(target: HTMLElement | string, config?: BaseOptions) {\n const element = querySelector(target);\n\n if (!element) {\n if (isString(target)) {\n throw Error(`${this.name} Error: \"${target}\" is not a valid selector.`);\n } else {\n throw Error(`${this.name} Error: your target is not an instance of HTMLElement.`);\n }\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else */\n if (prevInstance) {\n // remove previously attached event listeners\n // to avoid memory leaks\n prevInstance._toggleEventListeners();\n }\n\n this.element = element;\n this.options =\n this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, 'bs')\n : {};\n\n Data.set(element, this.name, this);\n }\n\n /* istanbul ignore next */\n get version() {\n return Version;\n }\n\n /* istanbul ignore next */\n get name() {\n return 'BaseComponent';\n }\n\n /* istanbul ignore next */\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n _toggleEventListeners = () => {\n // do something to please linters\n };\n\n /** Removes component from target element. */\n dispose() {\n Data.remove(this.element, this.name);\n ObjectKeys(this).forEach(prop => {\n delete this[prop];\n });\n }\n}\n"],"names":["Version","version","BaseComponent","target","config","__publicField","element","querySelector","isString","prevInstance","Data","ObjectKeys","normalizeOptions","prop"],"mappings":"8NAEMA,EAAUC,ECMhB,MAAqBC,CAAc,CAQjC,YAAYC,EAA8BC,EAAsB,CA4ChEC,EAAA,6BAAwB,IAAM,CAAA,GA3CtB,MAAAC,EAAUC,gBAAcJ,CAAM,EAEpC,GAAI,CAACG,EACC,MAAAE,EAAAA,SAASL,CAAM,EACX,MAAM,GAAG,KAAK,IAAI,YAAYA,CAAM,4BAA4B,EAEhE,MAAM,GAAG,KAAK,IAAI,wDAAwD,EAIpF,MAAMM,EAAeC,EAAAA,KAAK,IAAiBJ,EAAS,KAAK,IAAI,EAEzDG,GAGFA,EAAa,sBAAsB,EAGrC,KAAK,QAAUH,EACf,KAAK,QACH,KAAK,UAAYK,EAAAA,WAAW,KAAK,QAAQ,EAAE,OACvCC,EAAAA,iBAAiBN,EAAS,KAAK,SAAUF,GAAU,GAAI,IAAI,EAC3D,GAENM,EAAA,KAAK,IAAIJ,EAAS,KAAK,KAAM,IAAI,CACnC,CAGA,IAAI,SAAU,CACL,OAAAN,CACT,CAGA,IAAI,MAAO,CACF,MAAA,eACT,CAGA,IAAI,UAAW,CACb,MAAO,EACT,CAQA,SAAU,CACRU,EAAA,KAAK,OAAoB,KAAK,QAAS,KAAK,IAAI,EACrCC,EAAAA,WAAA,IAAI,EAAE,QAAgBE,GAAA,CAC/B,OAAO,KAAKA,CAAI,CAAA,CACjB,CACH,CACF"} \ No newline at end of file diff --git a/dist/components/button.cjs b/dist/components/button.cjs index 27e22a04..bbca6948 100644 --- a/dist/components/button.cjs +++ b/dist/components/button.cjs @@ -1,2 +1,2 @@ -"use strict";var g=Object.defineProperty;var v=(s,n,t)=>n in s?g(s,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[n]=t;var a=(s,n,t)=>(v(s,typeof n!="symbol"?n+"":n,t),t);const e=require("@thednp/shorty"),l=require("@thednp/event-listener"),c=require("./activeClass-a1284579.js"),d=require("./dataBsToggle-c8bc9e7f.js"),h=require("./base-component-f3cef043.js"),C="button",u="Button",b=`[${d.dataBsToggle}="${C}"]`,m=s=>e.getInstance(s,u),p=s=>new o(s);class o extends h.BaseComponent{constructor(t){super(t);a(this,"isActive",!1);a(this,"toggle",t=>{t&&t.preventDefault();const{element:i,isActive:r}=this;!e.hasClass(i,"disabled")&&!e.getAttribute(i,"disabled")&&((r?e.removeClass:e.addClass)(i,c.activeClass),e.setAttribute(i,e.ariaPressed,r?"false":"true"),this.isActive=e.hasClass(i,c.activeClass))});a(this,"_toggleEventListeners",t=>{(t?l.addListener:l.removeListener)(this.element,e.mouseclickEvent,this.toggle)});const{element:i}=this;this.isActive=e.hasClass(i,c.activeClass),e.setAttribute(i,e.ariaPressed,String(!!this.isActive)),this._toggleEventListeners(!0)}get name(){return u}dispose(){this._toggleEventListeners(),super.dispose()}}a(o,"selector",b),a(o,"init",p),a(o,"getInstance",m);module.exports=o; +"use strict";var g=Object.defineProperty;var v=(s,n,e)=>n in s?g(s,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[n]=e;var a=(s,n,e)=>v(s,typeof n!="symbol"?n+"":n,e);const t=require("@thednp/shorty"),l=require("@thednp/event-listener"),c=require("./activeClass-CxJYQAGN.js"),d=require("./dataBsToggle-Dj-Ng54N.js"),h=require("./base-component-j_bwTL_x.js"),C="button",u="Button",b=`[${d.dataBsToggle}="${C}"]`,m=s=>t.getInstance(s,u),p=s=>new o(s);class o extends h.BaseComponent{constructor(e){super(e);a(this,"isActive",!1);a(this,"toggle",e=>{e&&e.preventDefault();const{element:i,isActive:r}=this;!t.hasClass(i,"disabled")&&!t.getAttribute(i,"disabled")&&((r?t.removeClass:t.addClass)(i,c.activeClass),t.setAttribute(i,t.ariaPressed,r?"false":"true"),this.isActive=t.hasClass(i,c.activeClass))});a(this,"_toggleEventListeners",e=>{(e?l.addListener:l.removeListener)(this.element,t.mouseclickEvent,this.toggle)});const{element:i}=this;this.isActive=t.hasClass(i,c.activeClass),t.setAttribute(i,t.ariaPressed,String(!!this.isActive)),this._toggleEventListeners(!0)}get name(){return u}dispose(){this._toggleEventListeners(),super.dispose()}}a(o,"selector",b),a(o,"init",p),a(o,"getInstance",m);module.exports=o; //# sourceMappingURL=button.cjs.map diff --git a/dist/components/button.cjs.map b/dist/components/button.cjs.map index 38fcc011..40f9e579 100644 --- a/dist/components/button.cjs.map +++ b/dist/components/button.cjs.map @@ -1 +1 @@ -{"version":3,"file":"button.cjs","sources":["../../src/strings/buttonString.ts","../../src/strings/buttonComponent.ts","../../src/components/button.ts"],"sourcesContent":["/** @type {string} */\nconst buttonString = 'button';\nexport default buttonString;\n","/** @type {string} */\nconst buttonComponent = 'Button';\nexport default buttonComponent;\n","/* Native JavaScript for Bootstrap 5 | Button\n---------------------------------------------*/\nimport {\n getInstance,\n removeClass,\n hasClass,\n addClass,\n setAttribute,\n mouseclickEvent,\n ariaPressed,\n getAttribute,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport buttonString from '../strings/buttonString';\nimport buttonComponent from '../strings/buttonComponent';\n\nimport BaseComponent from './base-component';\n\n// BUTTON PRIVATE GC\n// =================\nconst buttonSelector = `[${dataBsToggle}=\"${buttonString}\"]`;\n\n/**\n * Static method which returns an existing `Button` instance associated\n * to a target `Element`.\n */\nconst getButtonInstance = (element: HTMLElement) => getInstance'}),b=t=>p.getInstance(t,s.popoverComponent),m=t=>new i(t);class i extends s.Tooltip{constructor(e,n){super(e,n);r(this,"show",()=>{super.show();const{options:e,btn:n}=this;e.dismissible&&n&&setTimeout(()=>p.focus(n),17)})}get name(){return s.popoverComponent}get defaults(){return g}}r(i,"selector",u),r(i,"init",m),r(i,"getInstance",b),r(i,"styleTip",s.styleTip);module.exports=i; +"use strict";var a=Object.defineProperty;var c=(t,s,o)=>s in t?a(t,s,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[s]=o;var n=(t,s,o)=>c(t,typeof s!="symbol"?s+"":s,o);const r=require("@thednp/shorty"),l=require("./dataBsToggle-Dj-Ng54N.js"),e=require("./tooltip-CHqbXeRf.js"),u=`[${l.dataBsToggle}="${e.popoverString}"],[data-tip="${e.popoverString}"]`,g=r.ObjectAssign({},e.tooltipDefaults,{template:e.getTipTemplate(e.popoverString),content:"",dismissible:!1,btnClose:''}),b=t=>r.getInstance(t,e.popoverComponent),m=t=>new i(t);class i extends e.Tooltip{constructor(o,p){super(o,p);n(this,"show",()=>{super.show();const{options:o,btn:p}=this;o.dismissible&&p&&setTimeout(()=>r.focus(p),17)})}get name(){return e.popoverComponent}get defaults(){return g}}n(i,"selector",u),n(i,"init",m),n(i,"getInstance",b),n(i,"styleTip",e.styleTip);module.exports=i; //# sourceMappingURL=popover.cjs.map diff --git a/dist/components/popover.cjs.map b/dist/components/popover.cjs.map index ceac89cb..a1c3a0f2 100644 --- a/dist/components/popover.cjs.map +++ b/dist/components/popover.cjs.map @@ -1 +1 @@ -{"version":3,"file":"popover.cjs","sources":["../../src/components/popover.ts"],"sourcesContent":["/* Native JavaScript for Bootstrap 5 | Popover\n---------------------------------------------- */\nimport { getInstance, ObjectAssign, focus } from '@thednp/shorty';\n\nimport dataBsToggle from '../strings/dataBsToggle';\nimport popoverString from '../strings/popoverString';\nimport popoverComponent from '../strings/popoverComponent';\n\nimport getTipTemplate from '../util/getTipTemplate';\nimport styleTip from '../util/styleTip';\nimport tooltipDefaults from '../util/tooltipDefaults';\nimport Tooltip from './tooltip';\n\nimport type { PopoverOptions /* , PopoverEvent */ } from '../interface/popover';\n\n// POPOVER PRIVATE GC\n// ==================\nconst popoverSelector = `[${dataBsToggle}=\"${popoverString}\"],[data-tip=\"${popoverString}\"]`;\n\nconst popoverDefaults: PopoverOptions = ObjectAssign({}, tooltipDefaults, {\n template: getTipTemplate(popoverString),\n content: '',\n dismissible: false,\n btnClose: '',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n *\n */\nconst getPopoverInstance = (element: HTMLElement) => getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: HTMLElement) => new Popover(element);\n\n// POPOVER DEFINITION\n// ==================\n/** Returns a new `Popover` instance. */\nexport default class Popover extends Tooltip {\n static selector = popoverSelector;\n static init = popoverInitCallback;\n static getInstance = getPopoverInstance;\n static styleTip = styleTip;\n declare options: PopoverOptions;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return popoverComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return popoverDefaults;\n }\n\n /* extend original `show()` */\n show = () => {\n super.show();\n // btn only exists within dismissible popover\n const { options, btn } = this;\n /* istanbul ignore else */\n if (options.dismissible && btn) setTimeout(() => focus(btn), 17);\n };\n}\n"],"names":["popoverSelector","dataBsToggle","popoverString","popoverDefaults","ObjectAssign","tooltipDefaults","getTipTemplate","getPopoverInstance","element","getInstance","popoverComponent","popoverInitCallback","Popover","Tooltip","target","config","__publicField","options","btn","focus","styleTip"],"mappings":"0dAiBA,MAAMA,EAAkB,IAAIC,cAAY,KAAKC,EAAAA,aAAa,iBAAiBA,eAAa,KAElFC,EAAkCC,EAAAA,aAAa,CAAC,EAAGC,kBAAiB,CACxE,SAAUC,iBAAeJ,eAAa,EACtC,QAAS,GACT,YAAa,GACb,SAAU,wDACZ,CAAC,EAOKK,EAAsBC,GAAyBC,EAAA,YAAqBD,EAASE,EAAgB,gBAAA,EAK7FC,EAAuBH,GAAyB,IAAII,EAAQJ,CAAO,EAKzE,MAAqBI,UAAgBC,EAAAA,OAAQ,CAW3C,YAAYC,EAA8BC,EAAkC,CAC1E,MAAMD,EAAQC,CAAM,EAgBtBC,EAAA,YAAO,IAAM,CACX,MAAM,KAAK,EAEL,KAAA,CAAE,QAAAC,EAAS,IAAAC,CAAQ,EAAA,KAErBD,EAAQ,aAAeC,GAAK,WAAW,IAAMC,EAAA,MAAMD,CAAG,EAAG,EAAE,CAAA,EApBjE,CAIA,IAAI,MAAO,CACF,OAAAR,kBACT,CAIA,IAAI,UAAW,CACN,OAAAP,CACT,CAUF,CAlCEa,EADmBJ,EACZ,WAAWZ,GAClBgB,EAFmBJ,EAEZ,OAAOD,GACdK,EAHmBJ,EAGZ,cAAcL,GACrBS,EAJmBJ,EAIZ,WAAWQ,EAAAA"} \ No newline at end of file +{"version":3,"file":"popover.cjs","sources":["../../src/components/popover.ts"],"sourcesContent":["/* Native JavaScript for Bootstrap 5 | Popover\n---------------------------------------------- */\nimport { getInstance, ObjectAssign, focus } from '@thednp/shorty';\n\nimport dataBsToggle from '../strings/dataBsToggle';\nimport popoverString from '../strings/popoverString';\nimport popoverComponent from '../strings/popoverComponent';\n\nimport getTipTemplate from '../util/getTipTemplate';\nimport styleTip from '../util/styleTip';\nimport tooltipDefaults from '../util/tooltipDefaults';\nimport Tooltip from './tooltip';\n\nimport type { PopoverOptions /* , PopoverEvent */ } from '../interface/popover';\n\n// POPOVER PRIVATE GC\n// ==================\nconst popoverSelector = `[${dataBsToggle}=\"${popoverString}\"],[data-tip=\"${popoverString}\"]`;\n\nconst popoverDefaults: PopoverOptions = ObjectAssign({}, tooltipDefaults, {\n template: getTipTemplate(popoverString),\n content: '',\n dismissible: false,\n btnClose: '',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n *\n */\nconst getPopoverInstance = (element: HTMLElement) => getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: HTMLElement) => new Popover(element);\n\n// POPOVER DEFINITION\n// ==================\n/** Returns a new `Popover` instance. */\nexport default class Popover extends Tooltip {\n static selector = popoverSelector;\n static init = popoverInitCallback;\n static getInstance = getPopoverInstance;\n static styleTip = styleTip;\n declare options: PopoverOptions;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return popoverComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return popoverDefaults;\n }\n\n /* extend original `show()` */\n show = () => {\n super.show();\n // btn only exists within dismissible popover\n const { options, btn } = this;\n /* istanbul ignore else */\n if (options.dismissible && btn) setTimeout(() => focus(btn), 17);\n };\n}\n"],"names":["popoverSelector","dataBsToggle","popoverString","popoverDefaults","ObjectAssign","tooltipDefaults","getTipTemplate","getPopoverInstance","element","getInstance","popoverComponent","popoverInitCallback","Popover","Tooltip","target","config","__publicField","options","btn","focus","styleTip"],"mappings":"8RAiBMA,EAAkB,IAAIC,cAAY,KAAKC,EAAAA,aAAa,iBAAiBA,eAAa,KAElFC,EAAkCC,EAAAA,aAAa,CAAC,EAAGC,kBAAiB,CACxE,SAAUC,iBAAeJ,eAAa,EACtC,QAAS,GACT,YAAa,GACb,SAAU,wDACZ,CAAC,EAOKK,EAAsBC,GAAyBC,EAAA,YAAqBD,EAASE,EAAgB,gBAAA,EAK7FC,EAAuBH,GAAyB,IAAII,EAAQJ,CAAO,EAKzE,MAAqBI,UAAgBC,EAAAA,OAAQ,CAW3C,YAAYC,EAA8BC,EAAkC,CAC1E,MAAMD,EAAQC,CAAM,EAgBtBC,EAAA,YAAO,IAAM,CACX,MAAM,KAAK,EAEL,KAAA,CAAE,QAAAC,EAAS,IAAAC,CAAQ,EAAA,KAErBD,EAAQ,aAAeC,GAAK,WAAW,IAAMC,QAAMD,CAAG,EAAG,EAAE,CAAA,EApBjE,CAIA,IAAI,MAAO,CACF,OAAAR,kBACT,CAIA,IAAI,UAAW,CACN,OAAAP,CACT,CAUF,CAlCEa,EADmBJ,EACZ,WAAWZ,GAClBgB,EAFmBJ,EAEZ,OAAOD,GACdK,EAHmBJ,EAGZ,cAAcL,GACrBS,EAJmBJ,EAIZ,WAAWQ,EAAAA"} \ No newline at end of file diff --git a/dist/components/popover.d.ts b/dist/components/popover.d.ts index c6ef11cf..4e1e1ac6 100644 --- a/dist/components/popover.d.ts +++ b/dist/components/popover.d.ts @@ -97,7 +97,7 @@ export interface PopoverOptions extends TooltipOptions { dismissible: boolean; } /** Returns a new `Popover` instance. */ -export default class Popover extends Tooltip { +declare class Popover extends Tooltip { static selector: string; static init: (element: HTMLElement) => Popover; static getInstance: (element: HTMLElement) => Popover | null; @@ -119,6 +119,10 @@ export default class Popover extends Tooltip { show: () => void; } +export { + Popover as default, +}; + export as namespace Popover; export {}; diff --git a/dist/components/popover.mjs b/dist/components/popover.mjs index 0a30e7da..33acf543 100644 --- a/dist/components/popover.mjs +++ b/dist/components/popover.mjs @@ -1,39 +1,34 @@ -var r = Object.defineProperty; -var l = (t, e, s) => e in t ? r(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s; -var o = (t, e, s) => (l(t, typeof e != "symbol" ? e + "" : e, s), s); -import { ObjectAssign as c, focus as m, getInstance as u } from "@thednp/shorty"; -import { d as g } from "./dataBsToggle-330f300b.mjs"; -import { t as b, g as f, T as d, s as T, p, a as n } from "./tooltip-4ba42f84.mjs"; -import "@thednp/event-listener"; -import "./showClass-f6a4d601.mjs"; -import "./popupContainer-82392867.mjs"; -import "./fadeClass-0d50d035.mjs"; -import "./base-component-a56d44ba.mjs"; -const C = `[${g}="${n}"],[data-tip="${n}"]`, I = c({}, b, { - template: f(n), +var p = Object.defineProperty; +var c = (t, s, e) => s in t ? p(t, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[s] = e; +var o = (t, s, e) => c(t, typeof s != "symbol" ? s + "" : s, e); +import { ObjectAssign as r, focus as m, getInstance as u } from "@thednp/shorty"; +import { d as g } from "./dataBsToggle-B84TS15h.mjs"; +import { t as b, g as f, T as d, s as T, p as l, a as i } from "./tooltip-BuF2bDNc.mjs"; +const C = `[${g}="${i}"],[data-tip="${i}"]`, I = r({}, b, { + template: f(i), content: "", dismissible: !1, btnClose: '' -}), h = (t) => u(t, p), v = (t) => new a(t); +}), h = (t) => u(t, l), v = (t) => new a(t); class a extends d { /** * @param target the target element * @param config the instance options */ - constructor(s, i) { - super(s, i); + constructor(e, n) { + super(e, n); /* extend original `show()` */ o(this, "show", () => { super.show(); - const { options: s, btn: i } = this; - s.dismissible && i && setTimeout(() => m(i), 17); + const { options: e, btn: n } = this; + e.dismissible && n && setTimeout(() => m(n), 17); }); } /** * Returns component name string. */ get name() { - return p; + return l; } /** * Returns component default options. diff --git a/dist/components/popover.mjs.map b/dist/components/popover.mjs.map index a2042a02..014c6e39 100644 --- a/dist/components/popover.mjs.map +++ b/dist/components/popover.mjs.map @@ -1 +1 @@ -{"version":3,"file":"popover.mjs","sources":["../../src/components/popover.ts"],"sourcesContent":["/* Native JavaScript for Bootstrap 5 | Popover\n---------------------------------------------- */\nimport { getInstance, ObjectAssign, focus } from '@thednp/shorty';\n\nimport dataBsToggle from '../strings/dataBsToggle';\nimport popoverString from '../strings/popoverString';\nimport popoverComponent from '../strings/popoverComponent';\n\nimport getTipTemplate from '../util/getTipTemplate';\nimport styleTip from '../util/styleTip';\nimport tooltipDefaults from '../util/tooltipDefaults';\nimport Tooltip from './tooltip';\n\nimport type { PopoverOptions /* , PopoverEvent */ } from '../interface/popover';\n\n// POPOVER PRIVATE GC\n// ==================\nconst popoverSelector = `[${dataBsToggle}=\"${popoverString}\"],[data-tip=\"${popoverString}\"]`;\n\nconst popoverDefaults: PopoverOptions = ObjectAssign({}, tooltipDefaults, {\n template: getTipTemplate(popoverString),\n content: '',\n dismissible: false,\n btnClose: '',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n *\n */\nconst getPopoverInstance = (element: HTMLElement) => getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: HTMLElement) => new Popover(element);\n\n// POPOVER DEFINITION\n// ==================\n/** Returns a new `Popover` instance. */\nexport default class Popover extends Tooltip {\n static selector = popoverSelector;\n static init = popoverInitCallback;\n static getInstance = getPopoverInstance;\n static styleTip = styleTip;\n declare options: PopoverOptions;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return popoverComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return popoverDefaults;\n }\n\n /* extend original `show()` */\n show = () => {\n super.show();\n // btn only exists within dismissible popover\n const { options, btn } = this;\n /* istanbul ignore else */\n if (options.dismissible && btn) setTimeout(() => focus(btn), 17);\n };\n}\n"],"names":["popoverSelector","dataBsToggle","popoverString","popoverDefaults","ObjectAssign","tooltipDefaults","getTipTemplate","getPopoverInstance","element","getInstance","popoverComponent","popoverInitCallback","Popover","Tooltip","target","config","__publicField","options","btn","focus","styleTip"],"mappings":";;;;;;;;;;;AAiBA,MAAMA,IAAkB,IAAIC,CAAY,KAAKC,CAAa,iBAAiBA,CAAa,MAElFC,IAAkCC,EAAa,CAAC,GAAGC,GAAiB;AAAA,EACxE,UAAUC,EAAeJ,CAAa;AAAA,EACtC,SAAS;AAAA,EACT,aAAa;AAAA,EACb,UAAU;AACZ,CAAC,GAOKK,IAAqB,CAACC,MAAyBC,EAAqBD,GAASE,CAAgB,GAK7FC,IAAsB,CAACH,MAAyB,IAAII,EAAQJ,CAAO;AAKzE,MAAqBI,UAAgBC,EAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,EAW3C,YAAYC,GAA8BC,GAAkC;AAC1E,UAAMD,GAAQC,CAAM;AAgBtB;AAAA,IAAAC,EAAA,cAAO,MAAM;AACX,YAAM,KAAK;AAEL,YAAA,EAAE,SAAAC,GAAS,KAAAC,EAAQ,IAAA;AAEzB,MAAID,EAAQ,eAAeC,KAAK,WAAW,MAAMC,EAAMD,CAAG,GAAG,EAAE;AAAA,IAAA;AAAA,EApBjE;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,OAAO;AACF,WAAAR;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,WAAW;AACN,WAAAP;AAAA,EACT;AAUF;AAlCEa,EADmBJ,GACZ,YAAWZ,IAClBgB,EAFmBJ,GAEZ,QAAOD,IACdK,EAHmBJ,GAGZ,eAAcL,IACrBS,EAJmBJ,GAIZ,YAAWQ;"} \ No newline at end of file +{"version":3,"file":"popover.mjs","sources":["../../src/components/popover.ts"],"sourcesContent":["/* Native JavaScript for Bootstrap 5 | Popover\n---------------------------------------------- */\nimport { getInstance, ObjectAssign, focus } from '@thednp/shorty';\n\nimport dataBsToggle from '../strings/dataBsToggle';\nimport popoverString from '../strings/popoverString';\nimport popoverComponent from '../strings/popoverComponent';\n\nimport getTipTemplate from '../util/getTipTemplate';\nimport styleTip from '../util/styleTip';\nimport tooltipDefaults from '../util/tooltipDefaults';\nimport Tooltip from './tooltip';\n\nimport type { PopoverOptions /* , PopoverEvent */ } from '../interface/popover';\n\n// POPOVER PRIVATE GC\n// ==================\nconst popoverSelector = `[${dataBsToggle}=\"${popoverString}\"],[data-tip=\"${popoverString}\"]`;\n\nconst popoverDefaults: PopoverOptions = ObjectAssign({}, tooltipDefaults, {\n template: getTipTemplate(popoverString),\n content: '',\n dismissible: false,\n btnClose: '',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n *\n */\nconst getPopoverInstance = (element: HTMLElement) => getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: HTMLElement) => new Popover(element);\n\n// POPOVER DEFINITION\n// ==================\n/** Returns a new `Popover` instance. */\nexport default class Popover extends Tooltip {\n static selector = popoverSelector;\n static init = popoverInitCallback;\n static getInstance = getPopoverInstance;\n static styleTip = styleTip;\n declare options: PopoverOptions;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return popoverComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return popoverDefaults;\n }\n\n /* extend original `show()` */\n show = () => {\n super.show();\n // btn only exists within dismissible popover\n const { options, btn } = this;\n /* istanbul ignore else */\n if (options.dismissible && btn) setTimeout(() => focus(btn), 17);\n };\n}\n"],"names":["popoverSelector","dataBsToggle","popoverString","popoverDefaults","ObjectAssign","tooltipDefaults","getTipTemplate","getPopoverInstance","element","getInstance","popoverComponent","popoverInitCallback","Popover","Tooltip","target","config","__publicField","options","btn","focus","styleTip"],"mappings":";;;;;;AAiBA,MAAMA,IAAkB,IAAIC,CAAY,KAAKC,CAAa,iBAAiBA,CAAa,MAElFC,IAAkCC,EAAa,CAAC,GAAGC,GAAiB;AAAA,EACxE,UAAUC,EAAeJ,CAAa;AAAA,EACtC,SAAS;AAAA,EACT,aAAa;AAAA,EACb,UAAU;AACZ,CAAC,GAOKK,IAAqB,CAACC,MAAyBC,EAAqBD,GAASE,CAAgB,GAK7FC,IAAsB,CAACH,MAAyB,IAAII,EAAQJ,CAAO;AAKzE,MAAqBI,UAAgBC,EAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,EAW3C,YAAYC,GAA8BC,GAAkC;AAC1E,UAAMD,GAAQC,CAAM;AAgBtB;AAAA,IAAAC,EAAA,cAAO,MAAM;AACX,YAAM,KAAK;AAEL,YAAA,EAAE,SAAAC,GAAS,KAAAC,EAAQ,IAAA;AAErB,MAAAD,EAAQ,eAAeC,KAAK,WAAW,MAAMC,EAAMD,CAAG,GAAG,EAAE;AAAA,IAAA;AAAA,EApBjE;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,OAAO;AACF,WAAAR;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,WAAW;AACN,WAAAP;AAAA,EACT;AAUF;AAlCEa,EADmBJ,GACZ,YAAWZ,IAClBgB,EAFmBJ,GAEZ,QAAOD,IACdK,EAHmBJ,GAGZ,eAAcL,IACrBS,EAJmBJ,GAIZ,YAAWQ;"} \ No newline at end of file diff --git a/dist/components/popupContainer-82392867.mjs b/dist/components/popupContainer-C6AuDE5e.mjs similarity index 92% rename from dist/components/popupContainer-82392867.mjs rename to dist/components/popupContainer-C6AuDE5e.mjs index 3c4be9cc..0a7ccf36 100644 --- a/dist/components/popupContainer-82392867.mjs +++ b/dist/components/popupContainer-C6AuDE5e.mjs @@ -16,4 +16,4 @@ export { i as o, v as r }; -//# sourceMappingURL=popupContainer-82392867.mjs.map +//# sourceMappingURL=popupContainer-C6AuDE5e.mjs.map diff --git a/dist/components/popupContainer-82392867.mjs.map b/dist/components/popupContainer-C6AuDE5e.mjs.map similarity index 97% rename from dist/components/popupContainer-82392867.mjs.map rename to dist/components/popupContainer-C6AuDE5e.mjs.map index 04a3e189..8bde89de 100644 --- a/dist/components/popupContainer-82392867.mjs.map +++ b/dist/components/popupContainer-C6AuDE5e.mjs.map @@ -1 +1 @@ -{"version":3,"file":"popupContainer-82392867.mjs","sources":["../../src/strings/modalString.ts","../../src/strings/offcanvasString.ts","../../src/util/popupContainer.ts"],"sourcesContent":["/** @type {string} */\nconst modalString = 'modal';\nexport default modalString;\n","/** @type {string} */\nconst offcanvasString = 'offcanvas';\nexport default offcanvasString;\n","import { getDocumentBody, isNode, createElement } from '@thednp/shorty';\n\n// the default container for Modal, Offcanvas, Popover and Tooltip\nconst popupContainer = createElement({ tagName: 'div', className: 'popup-container' }) as HTMLElement;\n\nconst appendPopup = (target: HTMLElement, customContainer?: ParentNode) => {\n const containerIsBody = isNode(customContainer) && customContainer.nodeName === 'BODY';\n const lookup = isNode(customContainer) && !containerIsBody ? customContainer : popupContainer;\n const BODY = containerIsBody ? customContainer : getDocumentBody(target);\n\n if (isNode(target)) {\n if (lookup === popupContainer) {\n BODY.append(popupContainer);\n }\n lookup.append(target);\n }\n};\n\nconst removePopup = (target: HTMLElement, customContainer?: ParentNode) => {\n const containerIsBody = isNode(customContainer) && customContainer.nodeName === 'BODY';\n const lookup = isNode(customContainer) && !containerIsBody ? customContainer : popupContainer;\n\n if (isNode(target)) {\n target.remove();\n\n if (lookup === popupContainer && !popupContainer.children.length) {\n popupContainer.remove();\n }\n }\n};\n\nconst hasPopup = (target: HTMLElement, customContainer?: ParentNode) => {\n const lookup = isNode(customContainer) && customContainer.nodeName !== 'BODY' ? customContainer : popupContainer;\n return isNode(target) && lookup.contains(target);\n};\n\nexport { popupContainer, appendPopup, removePopup, hasPopup };\n"],"names":["modalString","offcanvasString","popupContainer","createElement","appendPopup","target","customContainer","containerIsBody","isNode","lookup","BODY","getDocumentBody","removePopup","hasPopup"],"mappings":";AACA,MAAMA,IAAc,SCAdC,IAAkB,aCElBC,IAAiBC,EAAc,EAAE,SAAS,OAAO,WAAW,mBAAmB,GAE/EC,IAAc,CAACC,GAAqBC,MAAiC;AACzE,QAAMC,IAAkBC,EAAOF,CAAe,KAAKA,EAAgB,aAAa,QAC1EG,IAASD,EAAOF,CAAe,KAAK,CAACC,IAAkBD,IAAkBJ,GACzEQ,IAAOH,IAAkBD,IAAkBK,EAAgBN,CAAM;AAEnE,EAAAG,EAAOH,CAAM,MACXI,MAAWP,KACbQ,EAAK,OAAOR,CAAc,GAE5BO,EAAO,OAAOJ,CAAM;AAExB,GAEMO,IAAc,CAACP,GAAqBC,MAAiC;AACzE,QAAMC,IAAkBC,EAAOF,CAAe,KAAKA,EAAgB,aAAa,QAC1EG,IAASD,EAAOF,CAAe,KAAK,CAACC,IAAkBD,IAAkBJ;AAE3E,EAAAM,EAAOH,CAAM,MACfA,EAAO,OAAO,GAEVI,MAAWP,KAAkB,CAACA,EAAe,SAAS,UACxDA,EAAe,OAAO;AAG5B,GAEMW,IAAW,CAACR,GAAqBC,MAAiC;AACtE,QAAMG,IAASD,EAAOF,CAAe,KAAKA,EAAgB,aAAa,SAASA,IAAkBJ;AAClG,SAAOM,EAAOH,CAAM,KAAKI,EAAO,SAASJ,CAAM;AACjD;"} \ No newline at end of file +{"version":3,"file":"popupContainer-C6AuDE5e.mjs","sources":["../../src/strings/modalString.ts","../../src/strings/offcanvasString.ts","../../src/util/popupContainer.ts"],"sourcesContent":["/** @type {string} */\nconst modalString = 'modal';\nexport default modalString;\n","/** @type {string} */\nconst offcanvasString = 'offcanvas';\nexport default offcanvasString;\n","import { getDocumentBody, isNode, createElement } from '@thednp/shorty';\n\n// the default container for Modal, Offcanvas, Popover and Tooltip\nconst popupContainer = createElement({ tagName: 'div', className: 'popup-container' }) as HTMLElement;\n\nconst appendPopup = (target: HTMLElement, customContainer?: ParentNode) => {\n const containerIsBody = isNode(customContainer) && customContainer.nodeName === 'BODY';\n const lookup = isNode(customContainer) && !containerIsBody ? customContainer : popupContainer;\n const BODY = containerIsBody ? customContainer : getDocumentBody(target);\n\n if (isNode(target)) {\n if (lookup === popupContainer) {\n BODY.append(popupContainer);\n }\n lookup.append(target);\n }\n};\n\nconst removePopup = (target: HTMLElement, customContainer?: ParentNode) => {\n const containerIsBody = isNode(customContainer) && customContainer.nodeName === 'BODY';\n const lookup = isNode(customContainer) && !containerIsBody ? customContainer : popupContainer;\n\n if (isNode(target)) {\n target.remove();\n\n if (lookup === popupContainer && !popupContainer.children.length) {\n popupContainer.remove();\n }\n }\n};\n\nconst hasPopup = (target: HTMLElement, customContainer?: ParentNode) => {\n const lookup = isNode(customContainer) && customContainer.nodeName !== 'BODY' ? customContainer : popupContainer;\n return isNode(target) && lookup.contains(target);\n};\n\nexport { popupContainer, appendPopup, removePopup, hasPopup };\n"],"names":["modalString","offcanvasString","popupContainer","createElement","appendPopup","target","customContainer","containerIsBody","isNode","lookup","BODY","getDocumentBody","removePopup","hasPopup"],"mappings":";AACA,MAAMA,IAAc,SCAdC,IAAkB,aCElBC,IAAiBC,EAAc,EAAE,SAAS,OAAO,WAAW,mBAAmB,GAE/EC,IAAc,CAACC,GAAqBC,MAAiC;AACzE,QAAMC,IAAkBC,EAAOF,CAAe,KAAKA,EAAgB,aAAa,QAC1EG,IAASD,EAAOF,CAAe,KAAK,CAACC,IAAkBD,IAAkBJ,GACzEQ,IAAOH,IAAkBD,IAAkBK,EAAgBN,CAAM;AAEnE,EAAAG,EAAOH,CAAM,MACXI,MAAWP,KACbQ,EAAK,OAAOR,CAAc,GAE5BO,EAAO,OAAOJ,CAAM;AAExB,GAEMO,IAAc,CAACP,GAAqBC,MAAiC;AACzE,QAAMC,IAAkBC,EAAOF,CAAe,KAAKA,EAAgB,aAAa,QAC1EG,IAASD,EAAOF,CAAe,KAAK,CAACC,IAAkBD,IAAkBJ;AAE3E,EAAAM,EAAOH,CAAM,MACfA,EAAO,OAAO,GAEVI,MAAWP,KAAkB,CAACA,EAAe,SAAS,UACxDA,EAAe,OAAO;AAG5B,GAEMW,IAAW,CAACR,GAAqBC,MAAiC;AACtE,QAAMG,IAASD,EAAOF,CAAe,KAAKA,EAAgB,aAAa,SAASA,IAAkBJ;AAClG,SAAOM,EAAOH,CAAM,KAAKI,EAAO,SAASJ,CAAM;AACjD;"} \ No newline at end of file diff --git a/dist/components/popupContainer-edee469f.js b/dist/components/popupContainer-RgdJuCa1.js similarity index 92% rename from dist/components/popupContainer-edee469f.js rename to dist/components/popupContainer-RgdJuCa1.js index 9efbebbe..80e007f0 100644 --- a/dist/components/popupContainer-edee469f.js +++ b/dist/components/popupContainer-RgdJuCa1.js @@ -1,2 +1,2 @@ "use strict";const e=require("@thednp/shorty"),i="modal",a="offcanvas",s=e.createElement({tagName:"div",className:"popup-container"}),N=(p,o)=>{const n=e.isNode(o)&&o.nodeName==="BODY",d=e.isNode(o)&&!n?o:s,c=n?o:e.getDocumentBody(p);e.isNode(p)&&(d===s&&c.append(s),d.append(p))},f=(p,o)=>{const n=e.isNode(o)&&o.nodeName==="BODY",d=e.isNode(o)&&!n?o:s;e.isNode(p)&&(p.remove(),d===s&&!s.children.length&&s.remove())},l=(p,o)=>{const n=e.isNode(o)&&o.nodeName!=="BODY"?o:s;return e.isNode(p)&&n.contains(p)};exports.appendPopup=N;exports.hasPopup=l;exports.modalString=i;exports.offcanvasString=a;exports.removePopup=f; -//# sourceMappingURL=popupContainer-edee469f.js.map +//# sourceMappingURL=popupContainer-RgdJuCa1.js.map diff --git a/dist/components/popupContainer-edee469f.js.map b/dist/components/popupContainer-RgdJuCa1.js.map similarity index 97% rename from dist/components/popupContainer-edee469f.js.map rename to dist/components/popupContainer-RgdJuCa1.js.map index 266d5518..1e40461e 100644 --- a/dist/components/popupContainer-edee469f.js.map +++ b/dist/components/popupContainer-RgdJuCa1.js.map @@ -1 +1 @@ -{"version":3,"file":"popupContainer-edee469f.js","sources":["../../src/strings/modalString.ts","../../src/strings/offcanvasString.ts","../../src/util/popupContainer.ts"],"sourcesContent":["/** @type {string} */\nconst modalString = 'modal';\nexport default modalString;\n","/** @type {string} */\nconst offcanvasString = 'offcanvas';\nexport default offcanvasString;\n","import { getDocumentBody, isNode, createElement } from '@thednp/shorty';\n\n// the default container for Modal, Offcanvas, Popover and Tooltip\nconst popupContainer = createElement({ tagName: 'div', className: 'popup-container' }) as HTMLElement;\n\nconst appendPopup = (target: HTMLElement, customContainer?: ParentNode) => {\n const containerIsBody = isNode(customContainer) && customContainer.nodeName === 'BODY';\n const lookup = isNode(customContainer) && !containerIsBody ? customContainer : popupContainer;\n const BODY = containerIsBody ? customContainer : getDocumentBody(target);\n\n if (isNode(target)) {\n if (lookup === popupContainer) {\n BODY.append(popupContainer);\n }\n lookup.append(target);\n }\n};\n\nconst removePopup = (target: HTMLElement, customContainer?: ParentNode) => {\n const containerIsBody = isNode(customContainer) && customContainer.nodeName === 'BODY';\n const lookup = isNode(customContainer) && !containerIsBody ? customContainer : popupContainer;\n\n if (isNode(target)) {\n target.remove();\n\n if (lookup === popupContainer && !popupContainer.children.length) {\n popupContainer.remove();\n }\n }\n};\n\nconst hasPopup = (target: HTMLElement, customContainer?: ParentNode) => {\n const lookup = isNode(customContainer) && customContainer.nodeName !== 'BODY' ? customContainer : popupContainer;\n return isNode(target) && lookup.contains(target);\n};\n\nexport { popupContainer, appendPopup, removePopup, hasPopup };\n"],"names":["modalString","offcanvasString","popupContainer","createElement","appendPopup","target","customContainer","containerIsBody","isNode","lookup","BODY","getDocumentBody","removePopup","hasPopup"],"mappings":"+CACMA,EAAc,QCAdC,EAAkB,YCElBC,EAAiBC,EAAc,cAAA,CAAE,QAAS,MAAO,UAAW,kBAAmB,EAE/EC,EAAc,CAACC,EAAqBC,IAAiC,CACzE,MAAMC,EAAkBC,EAAAA,OAAOF,CAAe,GAAKA,EAAgB,WAAa,OAC1EG,EAASD,EAAAA,OAAOF,CAAe,GAAK,CAACC,EAAkBD,EAAkBJ,EACzEQ,EAAOH,EAAkBD,EAAkBK,EAAA,gBAAgBN,CAAM,EAEnEG,EAAAA,OAAOH,CAAM,IACXI,IAAWP,GACbQ,EAAK,OAAOR,CAAc,EAE5BO,EAAO,OAAOJ,CAAM,EAExB,EAEMO,EAAc,CAACP,EAAqBC,IAAiC,CACzE,MAAMC,EAAkBC,EAAAA,OAAOF,CAAe,GAAKA,EAAgB,WAAa,OAC1EG,EAASD,EAAAA,OAAOF,CAAe,GAAK,CAACC,EAAkBD,EAAkBJ,EAE3EM,EAAAA,OAAOH,CAAM,IACfA,EAAO,OAAO,EAEVI,IAAWP,GAAkB,CAACA,EAAe,SAAS,QACxDA,EAAe,OAAO,EAG5B,EAEMW,EAAW,CAACR,EAAqBC,IAAiC,CACtE,MAAMG,EAASD,EAAO,OAAAF,CAAe,GAAKA,EAAgB,WAAa,OAASA,EAAkBJ,EAClG,OAAOM,EAAAA,OAAOH,CAAM,GAAKI,EAAO,SAASJ,CAAM,CACjD"} \ No newline at end of file +{"version":3,"file":"popupContainer-RgdJuCa1.js","sources":["../../src/strings/modalString.ts","../../src/strings/offcanvasString.ts","../../src/util/popupContainer.ts"],"sourcesContent":["/** @type {string} */\nconst modalString = 'modal';\nexport default modalString;\n","/** @type {string} */\nconst offcanvasString = 'offcanvas';\nexport default offcanvasString;\n","import { getDocumentBody, isNode, createElement } from '@thednp/shorty';\n\n// the default container for Modal, Offcanvas, Popover and Tooltip\nconst popupContainer = createElement({ tagName: 'div', className: 'popup-container' }) as HTMLElement;\n\nconst appendPopup = (target: HTMLElement, customContainer?: ParentNode) => {\n const containerIsBody = isNode(customContainer) && customContainer.nodeName === 'BODY';\n const lookup = isNode(customContainer) && !containerIsBody ? customContainer : popupContainer;\n const BODY = containerIsBody ? customContainer : getDocumentBody(target);\n\n if (isNode(target)) {\n if (lookup === popupContainer) {\n BODY.append(popupContainer);\n }\n lookup.append(target);\n }\n};\n\nconst removePopup = (target: HTMLElement, customContainer?: ParentNode) => {\n const containerIsBody = isNode(customContainer) && customContainer.nodeName === 'BODY';\n const lookup = isNode(customContainer) && !containerIsBody ? customContainer : popupContainer;\n\n if (isNode(target)) {\n target.remove();\n\n if (lookup === popupContainer && !popupContainer.children.length) {\n popupContainer.remove();\n }\n }\n};\n\nconst hasPopup = (target: HTMLElement, customContainer?: ParentNode) => {\n const lookup = isNode(customContainer) && customContainer.nodeName !== 'BODY' ? customContainer : popupContainer;\n return isNode(target) && lookup.contains(target);\n};\n\nexport { popupContainer, appendPopup, removePopup, hasPopup };\n"],"names":["modalString","offcanvasString","popupContainer","createElement","appendPopup","target","customContainer","containerIsBody","isNode","lookup","BODY","getDocumentBody","removePopup","hasPopup"],"mappings":"+CACMA,EAAc,QCAdC,EAAkB,YCElBC,EAAiBC,EAAc,cAAA,CAAE,QAAS,MAAO,UAAW,kBAAmB,EAE/EC,EAAc,CAACC,EAAqBC,IAAiC,CACzE,MAAMC,EAAkBC,EAAAA,OAAOF,CAAe,GAAKA,EAAgB,WAAa,OAC1EG,EAASD,EAAAA,OAAOF,CAAe,GAAK,CAACC,EAAkBD,EAAkBJ,EACzEQ,EAAOH,EAAkBD,EAAkBK,EAAA,gBAAgBN,CAAM,EAEnEG,EAAAA,OAAOH,CAAM,IACXI,IAAWP,GACbQ,EAAK,OAAOR,CAAc,EAE5BO,EAAO,OAAOJ,CAAM,EAExB,EAEMO,EAAc,CAACP,EAAqBC,IAAiC,CACzE,MAAMC,EAAkBC,EAAAA,OAAOF,CAAe,GAAKA,EAAgB,WAAa,OAC1EG,EAASD,EAAAA,OAAOF,CAAe,GAAK,CAACC,EAAkBD,EAAkBJ,EAE3EM,EAAAA,OAAOH,CAAM,IACfA,EAAO,OAAO,EAEVI,IAAWP,GAAkB,CAACA,EAAe,SAAS,QACxDA,EAAe,OAAO,EAG5B,EAEMW,EAAW,CAACR,EAAqBC,IAAiC,CACtE,MAAMG,EAASD,EAAO,OAAAF,CAAe,GAAKA,EAAgB,WAAa,OAASA,EAAkBJ,EAClG,OAAOM,EAAAA,OAAOH,CAAM,GAAKI,EAAO,SAASJ,CAAM,CACjD"} \ No newline at end of file diff --git a/dist/components/scrollspy.cjs b/dist/components/scrollspy.cjs index ff1a0d11..0af5ea25 100644 --- a/dist/components/scrollspy.cjs +++ b/dist/components/scrollspy.cjs @@ -1,2 +1,2 @@ -"use strict";var S=Object.defineProperty;var w=(t,n,s)=>n in t?S(t,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[n]=s;var p=(t,n,s)=>(w(t,typeof n!="symbol"?n+"":n,s),s);const e=require("@thednp/shorty"),E=require("@thednp/event-listener"),m=require("./activeClass-a1284579.js"),b=require("./base-component-f3cef043.js"),q="scrollspy",T="ScrollSpy",B='[data-bs-spy="scroll"]',A={offset:10,target:null},D=t=>e.getInstance(t,T),x=t=>new f(t),H=e.createCustomEvent(`activate.bs.${q}`),W=t=>{const{target:n,scrollTarget:s,options:i,itemsLength:r,scrollHeight:o,element:g}=t,{offset:c}=i,a=e.isWindow(s),l=n&&e.getElementsByTagName("A",n),h=s?L(s):o;if(t.scrollTop=a?s.scrollY:s.scrollTop,l&&(h!==o||r!==l.length)){let u,d,v;t.items=[],t.offsets=[],t.scrollHeight=h,t.maxScroll=t.scrollHeight-M(t),[...l].forEach(C=>{u=e.getAttribute(C,"href"),d=u&&u.charAt(0)==="#"&&u.slice(-1)!=="#"&&e.querySelector(u,e.getDocument(g)),d&&(t.items.push(C),v=e.getBoundingClientRect(d),t.offsets.push((a?v.top+t.scrollTop:d.offsetTop)-c))}),t.itemsLength=t.items.length}},L=t=>e.isHTMLElement(t)?t.scrollHeight:e.getDocumentElement(t).scrollHeight,M=({element:t,scrollTarget:n})=>e.isWindow(n)?n.innerHeight:e.getBoundingClientRect(t).height,I=t=>{[...e.getElementsByTagName("A",t)].forEach(n=>{e.hasClass(n,m.activeClass)&&e.removeClass(n,m.activeClass)})},y=(t,n)=>{const{target:s,element:i}=t;e.isHTMLElement(s)&&I(s),t.activeItem=n,e.addClass(n,m.activeClass);const r=[];let o=n;for(;o!==e.getDocumentBody(i);)o=o.parentElement,(e.hasClass(o,"nav")||e.hasClass(o,"dropdown-menu"))&&r.push(o);r.forEach(g=>{const c=g.previousElementSibling;c&&!e.hasClass(c,m.activeClass)&&e.addClass(c,m.activeClass)}),H.relatedTarget=n,e.dispatchEvent(i,H)};class f extends b.BaseComponent{constructor(s,i){super(s,i);p(this,"refresh",()=>{const{target:s}=this;if(e.isHTMLElement(s)&&s.offsetHeight>0){W(this);const{scrollTop:i,maxScroll:r,itemsLength:o,items:g,activeItem:c}=this;if(i>=r){const l=g[o-1];c!==l&&y(this,l);return}const{offsets:a}=this;if(c&&i0){this.activeItem=null,s&&I(s);return}g.forEach((l,h)=>{c!==l&&i>=a[h]&&(typeof a[h+1]>"u"||i{(s?E.addListener:E.removeListener)(this.scrollTarget,e.scrollEvent,this.refresh,e.passiveHandler)});const{element:r,options:o}=this;this.target=e.querySelector(o.target,e.getDocument(r)),this.target&&(this.scrollTarget=r.clientHeights in t?S(t,s,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[s]=n;var p=(t,s,n)=>w(t,typeof s!="symbol"?s+"":s,n);const e=require("@thednp/shorty"),E=require("@thednp/event-listener"),m=require("./activeClass-CxJYQAGN.js"),b=require("./base-component-j_bwTL_x.js"),q="scrollspy",T="ScrollSpy",B='[data-bs-spy="scroll"]',A={offset:10,target:null},D=t=>e.getInstance(t,T),x=t=>new f(t),H=e.createCustomEvent(`activate.bs.${q}`),W=t=>{const{target:s,scrollTarget:n,options:i,itemsLength:r,scrollHeight:o,element:g}=t,{offset:c}=i,a=e.isWindow(n),l=s&&e.getElementsByTagName("A",s),h=n?L(n):o;if(t.scrollTop=a?n.scrollY:n.scrollTop,l&&(h!==o||r!==l.length)){let u,d,v;t.items=[],t.offsets=[],t.scrollHeight=h,t.maxScroll=t.scrollHeight-M(t),[...l].forEach(C=>{u=e.getAttribute(C,"href"),d=u&&u.charAt(0)==="#"&&u.slice(-1)!=="#"&&e.querySelector(u,e.getDocument(g)),d&&(t.items.push(C),v=e.getBoundingClientRect(d),t.offsets.push((a?v.top+t.scrollTop:d.offsetTop)-c))}),t.itemsLength=t.items.length}},L=t=>e.isHTMLElement(t)?t.scrollHeight:e.getDocumentElement(t).scrollHeight,M=({element:t,scrollTarget:s})=>e.isWindow(s)?s.innerHeight:e.getBoundingClientRect(t).height,I=t=>{[...e.getElementsByTagName("A",t)].forEach(s=>{e.hasClass(s,m.activeClass)&&e.removeClass(s,m.activeClass)})},y=(t,s)=>{const{target:n,element:i}=t;e.isHTMLElement(n)&&I(n),t.activeItem=s,e.addClass(s,m.activeClass);const r=[];let o=s;for(;o!==e.getDocumentBody(i);)o=o.parentElement,(e.hasClass(o,"nav")||e.hasClass(o,"dropdown-menu"))&&r.push(o);r.forEach(g=>{const c=g.previousElementSibling;c&&!e.hasClass(c,m.activeClass)&&e.addClass(c,m.activeClass)}),H.relatedTarget=s,e.dispatchEvent(i,H)};class f extends b.BaseComponent{constructor(n,i){super(n,i);p(this,"refresh",()=>{const{target:n}=this;if(e.isHTMLElement(n)&&n.offsetHeight>0){W(this);const{scrollTop:i,maxScroll:r,itemsLength:o,items:g,activeItem:c}=this;if(i>=r){const l=g[o-1];c!==l&&y(this,l);return}const{offsets:a}=this;if(c&&i0){this.activeItem=null,n&&I(n);return}g.forEach((l,h)=>{c!==l&&i>=a[h]&&(typeof a[h+1]>"u"||i{(n?E.addListener:E.removeListener)(this.scrollTarget,e.scrollEvent,this.refresh,e.passiveHandler)});const{element:r,options:o}=this;this.target=e.querySelector(o.target,e.getDocument(r)),this.target&&(this.scrollTarget=r.clientHeight getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: HTMLElement) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent(`activate.bs.${scrollspyString}`);\n\n// SCROLLSPY PRIVATE METHODS\n// =========================\n/**\n * Update the state of all items.\n *\n * @param self the `ScrollSpy` instance\n */\nconst updateSpyTargets = (self: ScrollSpy) => {\n const { target, scrollTarget, options, itemsLength, scrollHeight, element } = self;\n const { offset } = options;\n const isWin = isWindow(scrollTarget as Node | Window);\n\n const links = target && getElementsByTagName('A', target);\n const scrollHEIGHT = scrollTarget ? getScrollHeight(scrollTarget) : /* istanbul ignore next */ scrollHeight;\n\n self.scrollTop = isWin ? (scrollTarget as Window).scrollY : (scrollTarget as HTMLElement).scrollTop;\n\n // only update items/offsets once or with each mutation\n /* istanbul ignore else */\n if (links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)) {\n let href;\n let targetItem;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n [...links].forEach(link => {\n href = getAttribute(link, 'href');\n targetItem =\n href && href.charAt(0) === '#' && href.slice(-1) !== '#' && querySelector(href, getDocument(element));\n\n if (targetItem) {\n self.items.push(link);\n rect = getBoundingClientRect(targetItem);\n self.offsets.push((isWin ? rect.top + self.scrollTop : targetItem.offsetTop) - offset);\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Returns the `scrollHeight` property of the scrolling element.\n *\n * @param scrollTarget the `ScrollSpy` instance\n * @return `scrollTarget` height\n */\nconst getScrollHeight = (scrollTarget: Node | Window) => {\n return isHTMLElement(scrollTarget as Node)\n ? (scrollTarget as HTMLElement).scrollHeight\n : getDocumentElement(scrollTarget as Node).scrollHeight;\n};\n\n/**\n * Returns the height property of the scrolling element.\n *\n * @param params the `ScrollSpy` instance\n */\nconst getOffsetHeight = ({ element, scrollTarget }: ScrollSpy) => {\n return isWindow(scrollTarget as Node) ? (scrollTarget as Window).innerHeight : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: HTMLElement) => {\n [...getElementsByTagName('A', target)].forEach(item => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n });\n};\n\n/**\n * Activates a new item.\n *\n * @param self the `ScrollSpy` instance\n * @param item a single item\n */\nconst activate = (self: ScrollSpy, item: HTMLElement) => {\n const { target, element } = self;\n if (isHTMLElement(target)) clear(target);\n self.activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n const parents: HTMLElement[] = [];\n let parentItem = item;\n while (parentItem !== getDocumentBody(element)) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (hasClass(parentItem, 'nav') || hasClass(parentItem, 'dropdown-menu')) parents.push(parentItem);\n }\n\n parents.forEach(menuItem => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n /* istanbul ignore else */\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n });\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\n// SCROLLSPY DEFINITION\n// ====================\n/** Returns a new `ScrollSpy` instance. */\nexport default class ScrollSpy extends BaseComponent {\n static selector = scrollspySelector;\n static init = scrollspyInitCallback;\n static getInstance = getScrollSpyInstance;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement | Window;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // additional properties\n this.target = querySelector(options.target as HTMLElement | string, getDocument(element));\n\n // invalidate\n if (this.target) {\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight ? element : getWindow(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // add event handlers\n this._toggleEventListeners(true);\n\n this.refresh();\n }\n }\n\n /* eslint-disable */\n /**\n * Returns component name string.\n */\n get name() {\n return scrollspyComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return scrollspyDefaults;\n }\n /* eslint-enable */\n\n // SCROLLSPY PUBLIC METHODS\n // ========================\n /** Updates all items. */\n refresh = () => {\n const { target } = this;\n\n // check if target is visible and invalidate\n /* istanbul ignore else */\n if (isHTMLElement(target) && target.offsetHeight > 0) {\n updateSpyTargets(this);\n\n const { scrollTop, maxScroll, itemsLength, items, activeItem } = this;\n\n if (scrollTop >= maxScroll) {\n const newActiveItem = items[itemsLength - 1];\n\n /* istanbul ignore else */\n if (activeItem !== newActiveItem) {\n activate(this, newActiveItem);\n }\n return;\n }\n\n const { offsets } = this;\n\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n if (target) clear(target);\n return;\n }\n\n items.forEach((item, i) => {\n if (\n activeItem !== item &&\n scrollTop >= offsets[i] &&\n (typeof offsets[i + 1] === 'undefined' || scrollTop < offsets[i + 1])\n ) {\n activate(this, item);\n }\n });\n }\n };\n\n /**\n * Toggles on/off the component event listener.\n *\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.scrollTarget as EventTarget, scrollEvent, this.refresh, passiveHandler);\n };\n\n /** Removes `ScrollSpy` from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n"],"names":["scrollspyString","scrollspyComponent","scrollspySelector","scrollspyDefaults","getScrollSpyInstance","element","getInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","createCustomEvent","updateSpyTargets","self","target","scrollTarget","options","itemsLength","scrollHeight","offset","isWin","isWindow","links","getElementsByTagName","scrollHEIGHT","getScrollHeight","href","targetItem","rect","getOffsetHeight","link","getAttribute","querySelector","getDocument","getBoundingClientRect","isHTMLElement","getDocumentElement","clear","item","hasClass","activeClass","removeClass","activate","addClass","parents","parentItem","getDocumentBody","menuItem","parentLink","dispatchEvent","BaseComponent","config","__publicField","scrollTop","maxScroll","items","activeItem","newActiveItem","offsets","i","add","addListener","removeListener","scrollEvent","passiveHandler","getWindow"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"scrollspy.cjs","sources":["../../src/strings/scrollspyString.ts","../../src/strings/scrollspyComponent.ts","../../src/components/scrollspy.ts"],"sourcesContent":["/** @type {string} */\nconst scrollspyString = 'scrollspy';\nexport default scrollspyString;\n","/** @type {string} */\nconst scrollspyComponent = 'ScrollSpy';\nexport default scrollspyComponent;\n","/* Native JavaScript for Bootstrap 5 | ScrollSpy\n------------------------------------------------ */\nimport {\n getDocumentBody,\n getDocumentElement,\n getDocument,\n getWindow,\n removeClass,\n hasClass,\n addClass,\n getElementsByTagName,\n getAttribute,\n querySelector,\n isHTMLElement,\n isWindow,\n createCustomEvent,\n getInstance,\n scrollEvent,\n passiveHandler,\n dispatchEvent,\n getBoundingClientRect,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport scrollspyString from '../strings/scrollspyString';\nimport scrollspyComponent from '../strings/scrollspyComponent';\n\nimport BaseComponent from './base-component';\nimport { ScrollSpyOptions, ScrollSpyEvent } from '../interface/scrollspy';\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: ScrollSpyOptions = {\n offset: 10,\n target: null,\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: HTMLElement) => getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: HTMLElement) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent(`activate.bs.${scrollspyString}`);\n\n// SCROLLSPY PRIVATE METHODS\n// =========================\n/**\n * Update the state of all items.\n *\n * @param self the `ScrollSpy` instance\n */\nconst updateSpyTargets = (self: ScrollSpy) => {\n const { target, scrollTarget, options, itemsLength, scrollHeight, element } = self;\n const { offset } = options;\n const isWin = isWindow(scrollTarget as Node | Window);\n\n const links = target && getElementsByTagName('A', target);\n const scrollHEIGHT = scrollTarget ? getScrollHeight(scrollTarget) : /* istanbul ignore next */ scrollHeight;\n\n self.scrollTop = isWin ? (scrollTarget as Window).scrollY : (scrollTarget as HTMLElement).scrollTop;\n\n // only update items/offsets once or with each mutation\n /* istanbul ignore else */\n if (links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)) {\n let href;\n let targetItem;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n [...links].forEach(link => {\n href = getAttribute(link, 'href');\n targetItem =\n href && href.charAt(0) === '#' && href.slice(-1) !== '#' && querySelector(href, getDocument(element));\n\n if (targetItem) {\n self.items.push(link);\n rect = getBoundingClientRect(targetItem);\n self.offsets.push((isWin ? rect.top + self.scrollTop : targetItem.offsetTop) - offset);\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Returns the `scrollHeight` property of the scrolling element.\n *\n * @param scrollTarget the `ScrollSpy` instance\n * @return `scrollTarget` height\n */\nconst getScrollHeight = (scrollTarget: Node | Window) => {\n return isHTMLElement(scrollTarget as Node)\n ? (scrollTarget as HTMLElement).scrollHeight\n : getDocumentElement(scrollTarget as Node).scrollHeight;\n};\n\n/**\n * Returns the height property of the scrolling element.\n *\n * @param params the `ScrollSpy` instance\n */\nconst getOffsetHeight = ({ element, scrollTarget }: ScrollSpy) => {\n return isWindow(scrollTarget as Node) ? (scrollTarget as Window).innerHeight : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: HTMLElement) => {\n [...getElementsByTagName('A', target)].forEach(item => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n });\n};\n\n/**\n * Activates a new item.\n *\n * @param self the `ScrollSpy` instance\n * @param item a single item\n */\nconst activate = (self: ScrollSpy, item: HTMLElement) => {\n const { target, element } = self;\n if (isHTMLElement(target)) clear(target);\n self.activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n const parents: HTMLElement[] = [];\n let parentItem = item;\n while (parentItem !== getDocumentBody(element)) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (hasClass(parentItem, 'nav') || hasClass(parentItem, 'dropdown-menu')) parents.push(parentItem);\n }\n\n parents.forEach(menuItem => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n /* istanbul ignore else */\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n });\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\n// SCROLLSPY DEFINITION\n// ====================\n/** Returns a new `ScrollSpy` instance. */\nexport default class ScrollSpy extends BaseComponent {\n static selector = scrollspySelector;\n static init = scrollspyInitCallback;\n static getInstance = getScrollSpyInstance;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement | Window;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // additional properties\n this.target = querySelector(options.target as HTMLElement | string, getDocument(element));\n\n // invalidate\n if (this.target) {\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight ? element : getWindow(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // add event handlers\n this._toggleEventListeners(true);\n\n this.refresh();\n }\n }\n\n /* eslint-disable */\n /**\n * Returns component name string.\n */\n get name() {\n return scrollspyComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return scrollspyDefaults;\n }\n /* eslint-enable */\n\n // SCROLLSPY PUBLIC METHODS\n // ========================\n /** Updates all items. */\n refresh = () => {\n const { target } = this;\n\n // check if target is visible and invalidate\n /* istanbul ignore else */\n if (isHTMLElement(target) && target.offsetHeight > 0) {\n updateSpyTargets(this);\n\n const { scrollTop, maxScroll, itemsLength, items, activeItem } = this;\n\n if (scrollTop >= maxScroll) {\n const newActiveItem = items[itemsLength - 1];\n\n /* istanbul ignore else */\n if (activeItem !== newActiveItem) {\n activate(this, newActiveItem);\n }\n return;\n }\n\n const { offsets } = this;\n\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n if (target) clear(target);\n return;\n }\n\n items.forEach((item, i) => {\n if (\n activeItem !== item &&\n scrollTop >= offsets[i] &&\n (typeof offsets[i + 1] === 'undefined' || scrollTop < offsets[i + 1])\n ) {\n activate(this, item);\n }\n });\n }\n };\n\n /**\n * Toggles on/off the component event listener.\n *\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.scrollTarget as EventTarget, scrollEvent, this.refresh, passiveHandler);\n };\n\n /** Removes `ScrollSpy` from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n"],"names":["scrollspyString","scrollspyComponent","scrollspySelector","scrollspyDefaults","getScrollSpyInstance","element","getInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","createCustomEvent","updateSpyTargets","self","target","scrollTarget","options","itemsLength","scrollHeight","offset","isWin","isWindow","links","getElementsByTagName","scrollHEIGHT","getScrollHeight","href","targetItem","rect","getOffsetHeight","link","getAttribute","querySelector","getDocument","getBoundingClientRect","isHTMLElement","getDocumentElement","clear","item","hasClass","activeClass","removeClass","activate","addClass","parents","parentItem","getDocumentBody","menuItem","parentLink","dispatchEvent","BaseComponent","config","__publicField","scrollTop","maxScroll","items","activeItem","newActiveItem","offsets","i","add","addListener","removeListener","scrollEvent","passiveHandler","getWindow"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/scrollspy.d.ts b/dist/components/scrollspy.d.ts index 68e23953..9b33d399 100644 --- a/dist/components/scrollspy.d.ts +++ b/dist/components/scrollspy.d.ts @@ -22,7 +22,7 @@ export interface ScrollSpyOptions extends BaseOptions { target: HTMLElement | string | null; } /** Returns a new `ScrollSpy` instance. */ -export default class ScrollSpy extends BaseComponent { +declare class ScrollSpy extends BaseComponent { static selector: string; static init: (element: HTMLElement) => ScrollSpy; static getInstance: (element: HTMLElement) => ScrollSpy | null; @@ -61,6 +61,10 @@ export default class ScrollSpy extends BaseComponent { dispose(): void; } +export { + ScrollSpy as default, +}; + export as namespace ScrollSpy; export {}; diff --git a/dist/components/scrollspy.mjs b/dist/components/scrollspy.mjs index 664c6126..d278a181 100644 --- a/dist/components/scrollspy.mjs +++ b/dist/components/scrollspy.mjs @@ -1,54 +1,54 @@ var D = Object.defineProperty; -var W = (t, s, e) => s in t ? D(t, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[s] = e; -var h = (t, s, e) => (W(t, typeof s != "symbol" ? s + "" : s, e), e); +var W = (t, e, s) => e in t ? D(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s; +var h = (t, e, s) => W(t, typeof e != "symbol" ? e + "" : e, s); import { createCustomEvent as _, querySelector as L, getDocument as S, getWindow as k, isHTMLElement as v, scrollEvent as q, passiveHandler as G, getInstance as M, isWindow as C, getElementsByTagName as w, getAttribute as N, getBoundingClientRect as b, getDocumentElement as O, hasClass as u, removeClass as R, addClass as y, getDocumentBody as Y, dispatchEvent as $ } from "@thednp/shorty"; import { addListener as j, removeListener as z } from "@thednp/event-listener"; -import { a as m } from "./activeClass-b231b21b.mjs"; -import { B as F } from "./base-component-a56d44ba.mjs"; +import { a as m } from "./activeClass-iqaD75Su.mjs"; +import { B as F } from "./base-component-DvIOojVW.mjs"; const J = "scrollspy", A = "ScrollSpy", K = '[data-bs-spy="scroll"]', P = { offset: 10, target: null }, Q = (t) => M(t, A), U = (t) => new d(t), I = _(`activate.bs.${J}`), V = (t) => { - const { target: s, scrollTarget: e, options: n, itemsLength: r, scrollHeight: o, element: a } = t, { offset: i } = n, l = C(e), c = s && w("A", s), g = e ? B(e) : ( + const { target: e, scrollTarget: s, options: n, itemsLength: r, scrollHeight: o, element: a } = t, { offset: i } = n, l = C(s), c = e && w("A", e), g = s ? B(s) : ( /* istanbul ignore next */ o ); - if (t.scrollTop = l ? e.scrollY : e.scrollTop, c && (g !== o || r !== c.length)) { + if (t.scrollTop = l ? s.scrollY : s.scrollTop, c && (g !== o || r !== c.length)) { let p, f, E; t.items = [], t.offsets = [], t.scrollHeight = g, t.maxScroll = t.scrollHeight - X(t), [...c].forEach((H) => { p = N(H, "href"), f = p && p.charAt(0) === "#" && p.slice(-1) !== "#" && L(p, S(a)), f && (t.items.push(H), E = b(f), t.offsets.push((l ? E.top + t.scrollTop : f.offsetTop) - i)); }), t.itemsLength = t.items.length; } -}, B = (t) => v(t) ? t.scrollHeight : O(t).scrollHeight, X = ({ element: t, scrollTarget: s }) => C(s) ? s.innerHeight : b(t).height, x = (t) => { - [...w("A", t)].forEach((s) => { - u(s, m) && R(s, m); +}, B = (t) => v(t) ? t.scrollHeight : O(t).scrollHeight, X = ({ element: t, scrollTarget: e }) => C(e) ? e.innerHeight : b(t).height, x = (t) => { + [...w("A", t)].forEach((e) => { + u(e, m) && R(e, m); }); -}, T = (t, s) => { - const { target: e, element: n } = t; - v(e) && x(e), t.activeItem = s, y(s, m); +}, T = (t, e) => { + const { target: s, element: n } = t; + v(s) && x(s), t.activeItem = e, y(e, m); const r = []; - let o = s; + let o = e; for (; o !== Y(n); ) o = o.parentElement, (u(o, "nav") || u(o, "dropdown-menu")) && r.push(o); r.forEach((a) => { const i = a.previousElementSibling; i && !u(i, m) && y(i, m); - }), I.relatedTarget = s, $(n, I); + }), I.relatedTarget = e, $(n, I); }; class d extends F { /** * @param target the target element * @param config the instance options */ - constructor(e, n) { - super(e, n); + constructor(s, n) { + super(s, n); /* eslint-enable */ // SCROLLSPY PUBLIC METHODS // ======================== /** Updates all items. */ h(this, "refresh", () => { - const { target: e } = this; - if (v(e) && e.offsetHeight > 0) { + const { target: s } = this; + if (v(s) && s.offsetHeight > 0) { V(this); const { scrollTop: n, maxScroll: r, itemsLength: o, items: a, activeItem: i } = this; if (n >= r) { @@ -58,7 +58,7 @@ class d extends F { } const { offsets: l } = this; if (i && n < l[0] && l[0] > 0) { - this.activeItem = null, e && x(e); + this.activeItem = null, s && x(s); return; } a.forEach((c, g) => { @@ -71,8 +71,8 @@ class d extends F { * * @param add when `true`, listener is added */ - h(this, "_toggleEventListeners", (e) => { - (e ? j : z)(this.scrollTarget, q, this.refresh, G); + h(this, "_toggleEventListeners", (s) => { + (s ? j : z)(this.scrollTarget, q, this.refresh, G); }); const { element: r, options: o } = this; this.target = L(o.target, S(r)), this.target && (this.scrollTarget = r.clientHeight < r.scrollHeight ? r : k(r), this.scrollHeight = B(this.scrollTarget), this._toggleEventListeners(!0), this.refresh()); diff --git a/dist/components/scrollspy.mjs.map b/dist/components/scrollspy.mjs.map index c4c9f9de..317f4ab7 100644 --- a/dist/components/scrollspy.mjs.map +++ b/dist/components/scrollspy.mjs.map @@ -1 +1 @@ -{"version":3,"file":"scrollspy.mjs","sources":["../../src/strings/scrollspyString.ts","../../src/strings/scrollspyComponent.ts","../../src/components/scrollspy.ts"],"sourcesContent":["/** @type {string} */\nconst scrollspyString = 'scrollspy';\nexport default scrollspyString;\n","/** @type {string} */\nconst scrollspyComponent = 'ScrollSpy';\nexport default scrollspyComponent;\n","/* Native JavaScript for Bootstrap 5 | ScrollSpy\n------------------------------------------------ */\nimport {\n getDocumentBody,\n getDocumentElement,\n getDocument,\n getWindow,\n removeClass,\n hasClass,\n addClass,\n getElementsByTagName,\n getAttribute,\n querySelector,\n isHTMLElement,\n isWindow,\n createCustomEvent,\n getInstance,\n scrollEvent,\n passiveHandler,\n dispatchEvent,\n getBoundingClientRect,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport scrollspyString from '../strings/scrollspyString';\nimport scrollspyComponent from '../strings/scrollspyComponent';\n\nimport BaseComponent from './base-component';\nimport { ScrollSpyOptions, ScrollSpyEvent } from '../interface/scrollspy';\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: ScrollSpyOptions = {\n offset: 10,\n target: null,\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: HTMLElement) => getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: HTMLElement) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent(`activate.bs.${scrollspyString}`);\n\n// SCROLLSPY PRIVATE METHODS\n// =========================\n/**\n * Update the state of all items.\n *\n * @param self the `ScrollSpy` instance\n */\nconst updateSpyTargets = (self: ScrollSpy) => {\n const { target, scrollTarget, options, itemsLength, scrollHeight, element } = self;\n const { offset } = options;\n const isWin = isWindow(scrollTarget as Node | Window);\n\n const links = target && getElementsByTagName('A', target);\n const scrollHEIGHT = scrollTarget ? getScrollHeight(scrollTarget) : /* istanbul ignore next */ scrollHeight;\n\n self.scrollTop = isWin ? (scrollTarget as Window).scrollY : (scrollTarget as HTMLElement).scrollTop;\n\n // only update items/offsets once or with each mutation\n /* istanbul ignore else */\n if (links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)) {\n let href;\n let targetItem;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n [...links].forEach(link => {\n href = getAttribute(link, 'href');\n targetItem =\n href && href.charAt(0) === '#' && href.slice(-1) !== '#' && querySelector(href, getDocument(element));\n\n if (targetItem) {\n self.items.push(link);\n rect = getBoundingClientRect(targetItem);\n self.offsets.push((isWin ? rect.top + self.scrollTop : targetItem.offsetTop) - offset);\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Returns the `scrollHeight` property of the scrolling element.\n *\n * @param scrollTarget the `ScrollSpy` instance\n * @return `scrollTarget` height\n */\nconst getScrollHeight = (scrollTarget: Node | Window) => {\n return isHTMLElement(scrollTarget as Node)\n ? (scrollTarget as HTMLElement).scrollHeight\n : getDocumentElement(scrollTarget as Node).scrollHeight;\n};\n\n/**\n * Returns the height property of the scrolling element.\n *\n * @param params the `ScrollSpy` instance\n */\nconst getOffsetHeight = ({ element, scrollTarget }: ScrollSpy) => {\n return isWindow(scrollTarget as Node) ? (scrollTarget as Window).innerHeight : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: HTMLElement) => {\n [...getElementsByTagName('A', target)].forEach(item => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n });\n};\n\n/**\n * Activates a new item.\n *\n * @param self the `ScrollSpy` instance\n * @param item a single item\n */\nconst activate = (self: ScrollSpy, item: HTMLElement) => {\n const { target, element } = self;\n if (isHTMLElement(target)) clear(target);\n self.activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n const parents: HTMLElement[] = [];\n let parentItem = item;\n while (parentItem !== getDocumentBody(element)) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (hasClass(parentItem, 'nav') || hasClass(parentItem, 'dropdown-menu')) parents.push(parentItem);\n }\n\n parents.forEach(menuItem => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n /* istanbul ignore else */\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n });\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\n// SCROLLSPY DEFINITION\n// ====================\n/** Returns a new `ScrollSpy` instance. */\nexport default class ScrollSpy extends BaseComponent {\n static selector = scrollspySelector;\n static init = scrollspyInitCallback;\n static getInstance = getScrollSpyInstance;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement | Window;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // additional properties\n this.target = querySelector(options.target as HTMLElement | string, getDocument(element));\n\n // invalidate\n if (this.target) {\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight ? element : getWindow(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // add event handlers\n this._toggleEventListeners(true);\n\n this.refresh();\n }\n }\n\n /* eslint-disable */\n /**\n * Returns component name string.\n */\n get name() {\n return scrollspyComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return scrollspyDefaults;\n }\n /* eslint-enable */\n\n // SCROLLSPY PUBLIC METHODS\n // ========================\n /** Updates all items. */\n refresh = () => {\n const { target } = this;\n\n // check if target is visible and invalidate\n /* istanbul ignore else */\n if (isHTMLElement(target) && target.offsetHeight > 0) {\n updateSpyTargets(this);\n\n const { scrollTop, maxScroll, itemsLength, items, activeItem } = this;\n\n if (scrollTop >= maxScroll) {\n const newActiveItem = items[itemsLength - 1];\n\n /* istanbul ignore else */\n if (activeItem !== newActiveItem) {\n activate(this, newActiveItem);\n }\n return;\n }\n\n const { offsets } = this;\n\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n if (target) clear(target);\n return;\n }\n\n items.forEach((item, i) => {\n if (\n activeItem !== item &&\n scrollTop >= offsets[i] &&\n (typeof offsets[i + 1] === 'undefined' || scrollTop < offsets[i + 1])\n ) {\n activate(this, item);\n }\n });\n }\n };\n\n /**\n * Toggles on/off the component event listener.\n *\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.scrollTarget as EventTarget, scrollEvent, this.refresh, passiveHandler);\n };\n\n /** Removes `ScrollSpy` from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n"],"names":["scrollspyString","scrollspyComponent","scrollspySelector","scrollspyDefaults","getScrollSpyInstance","element","getInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","createCustomEvent","updateSpyTargets","self","target","scrollTarget","options","itemsLength","scrollHeight","offset","isWin","isWindow","links","getElementsByTagName","scrollHEIGHT","getScrollHeight","href","targetItem","rect","getOffsetHeight","link","getAttribute","querySelector","getDocument","getBoundingClientRect","isHTMLElement","getDocumentElement","clear","item","hasClass","activeClass","removeClass","activate","addClass","parents","parentItem","getDocumentBody","menuItem","parentLink","dispatchEvent","BaseComponent","config","__publicField","scrollTop","maxScroll","items","activeItem","newActiveItem","offsets","i","add","addListener","removeListener","scrollEvent","passiveHandler","getWindow"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"scrollspy.mjs","sources":["../../src/strings/scrollspyString.ts","../../src/strings/scrollspyComponent.ts","../../src/components/scrollspy.ts"],"sourcesContent":["/** @type {string} */\nconst scrollspyString = 'scrollspy';\nexport default scrollspyString;\n","/** @type {string} */\nconst scrollspyComponent = 'ScrollSpy';\nexport default scrollspyComponent;\n","/* Native JavaScript for Bootstrap 5 | ScrollSpy\n------------------------------------------------ */\nimport {\n getDocumentBody,\n getDocumentElement,\n getDocument,\n getWindow,\n removeClass,\n hasClass,\n addClass,\n getElementsByTagName,\n getAttribute,\n querySelector,\n isHTMLElement,\n isWindow,\n createCustomEvent,\n getInstance,\n scrollEvent,\n passiveHandler,\n dispatchEvent,\n getBoundingClientRect,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport scrollspyString from '../strings/scrollspyString';\nimport scrollspyComponent from '../strings/scrollspyComponent';\n\nimport BaseComponent from './base-component';\nimport { ScrollSpyOptions, ScrollSpyEvent } from '../interface/scrollspy';\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: ScrollSpyOptions = {\n offset: 10,\n target: null,\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: HTMLElement) => getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: HTMLElement) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent(`activate.bs.${scrollspyString}`);\n\n// SCROLLSPY PRIVATE METHODS\n// =========================\n/**\n * Update the state of all items.\n *\n * @param self the `ScrollSpy` instance\n */\nconst updateSpyTargets = (self: ScrollSpy) => {\n const { target, scrollTarget, options, itemsLength, scrollHeight, element } = self;\n const { offset } = options;\n const isWin = isWindow(scrollTarget as Node | Window);\n\n const links = target && getElementsByTagName('A', target);\n const scrollHEIGHT = scrollTarget ? getScrollHeight(scrollTarget) : /* istanbul ignore next */ scrollHeight;\n\n self.scrollTop = isWin ? (scrollTarget as Window).scrollY : (scrollTarget as HTMLElement).scrollTop;\n\n // only update items/offsets once or with each mutation\n /* istanbul ignore else */\n if (links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)) {\n let href;\n let targetItem;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n [...links].forEach(link => {\n href = getAttribute(link, 'href');\n targetItem =\n href && href.charAt(0) === '#' && href.slice(-1) !== '#' && querySelector(href, getDocument(element));\n\n if (targetItem) {\n self.items.push(link);\n rect = getBoundingClientRect(targetItem);\n self.offsets.push((isWin ? rect.top + self.scrollTop : targetItem.offsetTop) - offset);\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Returns the `scrollHeight` property of the scrolling element.\n *\n * @param scrollTarget the `ScrollSpy` instance\n * @return `scrollTarget` height\n */\nconst getScrollHeight = (scrollTarget: Node | Window) => {\n return isHTMLElement(scrollTarget as Node)\n ? (scrollTarget as HTMLElement).scrollHeight\n : getDocumentElement(scrollTarget as Node).scrollHeight;\n};\n\n/**\n * Returns the height property of the scrolling element.\n *\n * @param params the `ScrollSpy` instance\n */\nconst getOffsetHeight = ({ element, scrollTarget }: ScrollSpy) => {\n return isWindow(scrollTarget as Node) ? (scrollTarget as Window).innerHeight : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: HTMLElement) => {\n [...getElementsByTagName('A', target)].forEach(item => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n });\n};\n\n/**\n * Activates a new item.\n *\n * @param self the `ScrollSpy` instance\n * @param item a single item\n */\nconst activate = (self: ScrollSpy, item: HTMLElement) => {\n const { target, element } = self;\n if (isHTMLElement(target)) clear(target);\n self.activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n const parents: HTMLElement[] = [];\n let parentItem = item;\n while (parentItem !== getDocumentBody(element)) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (hasClass(parentItem, 'nav') || hasClass(parentItem, 'dropdown-menu')) parents.push(parentItem);\n }\n\n parents.forEach(menuItem => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n /* istanbul ignore else */\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n });\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\n// SCROLLSPY DEFINITION\n// ====================\n/** Returns a new `ScrollSpy` instance. */\nexport default class ScrollSpy extends BaseComponent {\n static selector = scrollspySelector;\n static init = scrollspyInitCallback;\n static getInstance = getScrollSpyInstance;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement | Window;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // additional properties\n this.target = querySelector(options.target as HTMLElement | string, getDocument(element));\n\n // invalidate\n if (this.target) {\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight ? element : getWindow(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // add event handlers\n this._toggleEventListeners(true);\n\n this.refresh();\n }\n }\n\n /* eslint-disable */\n /**\n * Returns component name string.\n */\n get name() {\n return scrollspyComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return scrollspyDefaults;\n }\n /* eslint-enable */\n\n // SCROLLSPY PUBLIC METHODS\n // ========================\n /** Updates all items. */\n refresh = () => {\n const { target } = this;\n\n // check if target is visible and invalidate\n /* istanbul ignore else */\n if (isHTMLElement(target) && target.offsetHeight > 0) {\n updateSpyTargets(this);\n\n const { scrollTop, maxScroll, itemsLength, items, activeItem } = this;\n\n if (scrollTop >= maxScroll) {\n const newActiveItem = items[itemsLength - 1];\n\n /* istanbul ignore else */\n if (activeItem !== newActiveItem) {\n activate(this, newActiveItem);\n }\n return;\n }\n\n const { offsets } = this;\n\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n if (target) clear(target);\n return;\n }\n\n items.forEach((item, i) => {\n if (\n activeItem !== item &&\n scrollTop >= offsets[i] &&\n (typeof offsets[i + 1] === 'undefined' || scrollTop < offsets[i + 1])\n ) {\n activate(this, item);\n }\n });\n }\n };\n\n /**\n * Toggles on/off the component event listener.\n *\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.scrollTarget as EventTarget, scrollEvent, this.refresh, passiveHandler);\n };\n\n /** Removes `ScrollSpy` from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n"],"names":["scrollspyString","scrollspyComponent","scrollspySelector","scrollspyDefaults","getScrollSpyInstance","element","getInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","createCustomEvent","updateSpyTargets","self","target","scrollTarget","options","itemsLength","scrollHeight","offset","isWin","isWindow","links","getElementsByTagName","scrollHEIGHT","getScrollHeight","href","targetItem","rect","getOffsetHeight","link","getAttribute","querySelector","getDocument","getBoundingClientRect","isHTMLElement","getDocumentElement","clear","item","hasClass","activeClass","removeClass","activate","addClass","parents","parentItem","getDocumentBody","menuItem","parentLink","dispatchEvent","BaseComponent","config","__publicField","scrollTop","maxScroll","items","activeItem","newActiveItem","offsets","i","add","addListener","removeListener","scrollEvent","passiveHandler","getWindow"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/showClass-C8hdJfjQ.mjs b/dist/components/showClass-C8hdJfjQ.mjs new file mode 100644 index 00000000..f81fdd6f --- /dev/null +++ b/dist/components/showClass-C8hdJfjQ.mjs @@ -0,0 +1,5 @@ +const s = "show"; +export { + s +}; +//# sourceMappingURL=showClass-C8hdJfjQ.mjs.map diff --git a/dist/components/showClass-f6a4d601.mjs.map b/dist/components/showClass-C8hdJfjQ.mjs.map similarity index 77% rename from dist/components/showClass-f6a4d601.mjs.map rename to dist/components/showClass-C8hdJfjQ.mjs.map index 911c4354..953ced34 100644 --- a/dist/components/showClass-f6a4d601.mjs.map +++ b/dist/components/showClass-C8hdJfjQ.mjs.map @@ -1 +1 @@ -{"version":3,"file":"showClass-f6a4d601.mjs","sources":["../../src/strings/showClass.ts"],"sourcesContent":["/**\n * Global namespace for most components `show` class.\n */\nconst showClass = 'show';\nexport default showClass;\n"],"names":["showClass"],"mappings":"AAGA,MAAMA,IAAY;"} \ No newline at end of file +{"version":3,"file":"showClass-C8hdJfjQ.mjs","sources":["../../src/strings/showClass.ts"],"sourcesContent":["/**\n * Global namespace for most components `show` class.\n */\nconst showClass = 'show';\nexport default showClass;\n"],"names":["showClass"],"mappings":"AAGA,MAAMA,IAAY;"} \ No newline at end of file diff --git a/dist/components/showClass-2174a6d6.js b/dist/components/showClass-D_Ms1FgG.js similarity index 51% rename from dist/components/showClass-2174a6d6.js rename to dist/components/showClass-D_Ms1FgG.js index 2f77813e..f9b9ef86 100644 --- a/dist/components/showClass-2174a6d6.js +++ b/dist/components/showClass-D_Ms1FgG.js @@ -1,2 +1,2 @@ "use strict";const s="show";exports.showClass=s; -//# sourceMappingURL=showClass-2174a6d6.js.map +//# sourceMappingURL=showClass-D_Ms1FgG.js.map diff --git a/dist/components/showClass-2174a6d6.js.map b/dist/components/showClass-D_Ms1FgG.js.map similarity index 77% rename from dist/components/showClass-2174a6d6.js.map rename to dist/components/showClass-D_Ms1FgG.js.map index 0ec2d56b..0ee2ccd7 100644 --- a/dist/components/showClass-2174a6d6.js.map +++ b/dist/components/showClass-D_Ms1FgG.js.map @@ -1 +1 @@ -{"version":3,"file":"showClass-2174a6d6.js","sources":["../../src/strings/showClass.ts"],"sourcesContent":["/**\n * Global namespace for most components `show` class.\n */\nconst showClass = 'show';\nexport default showClass;\n"],"names":["showClass"],"mappings":"aAGA,MAAMA,EAAY"} \ No newline at end of file +{"version":3,"file":"showClass-D_Ms1FgG.js","sources":["../../src/strings/showClass.ts"],"sourcesContent":["/**\n * Global namespace for most components `show` class.\n */\nconst showClass = 'show';\nexport default showClass;\n"],"names":["showClass"],"mappings":"aAGA,MAAMA,EAAY"} \ No newline at end of file diff --git a/dist/components/showClass-f6a4d601.mjs b/dist/components/showClass-f6a4d601.mjs deleted file mode 100644 index 1868bc90..00000000 --- a/dist/components/showClass-f6a4d601.mjs +++ /dev/null @@ -1,5 +0,0 @@ -const s = "show"; -export { - s -}; -//# sourceMappingURL=showClass-f6a4d601.mjs.map diff --git a/dist/components/tab.cjs b/dist/components/tab.cjs index 905489fa..5927deff 100644 --- a/dist/components/tab.cjs +++ b/dist/components/tab.cjs @@ -1,2 +1,2 @@ -"use strict";var P=Object.defineProperty;var k=(n,s,t)=>s in n?P(n,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[s]=t;var g=(n,s,t)=>(k(n,typeof s!="symbol"?s+"":s,t),t);const e=require("@thednp/shorty"),H=require("@thednp/event-listener"),E=require("./collapsingClass-889bd3db.js"),d=require("./activeClass-a1284579.js"),h=require("./fadeClass-a4944cf1.js"),m=require("./showClass-2174a6d6.js"),p=require("./dropdownClasses-c131c53f.js"),D=require("./dataBsToggle-c8bc9e7f.js"),w=require("./getTargetElement-93cf2bb8.js"),_=require("./base-component-f3cef043.js"),f="tab",B="Tab",L=`[${D.dataBsToggle}="${f}"]`,I=n=>e.getInstance(n,B),j=n=>new u(n),b=e.createCustomEvent(`show.bs.${f}`),q=e.createCustomEvent(`shown.bs.${f}`),T=e.createCustomEvent(`hide.bs.${f}`),M=e.createCustomEvent(`hidden.bs.${f}`),v=new Map,x=n=>{const{tabContent:s,nav:t}=n;s&&e.hasClass(s,E.collapsingClass)&&(s.style.height="",e.removeClass(s,E.collapsingClass)),t&&e.Timer.clear(t)},$=n=>{const{element:s,tabContent:t,content:a,nav:l}=n,{tab:r}=e.isHTMLElement(l)&&v.get(l)||{tab:null};if(t&&a&&e.hasClass(a,h.fadeClass)){const{currentHeight:o,nextHeight:i}=v.get(s)||{currentHeight:0,nextHeight:0};o===i?x(n):setTimeout(()=>{t.style.height=`${i}px`,e.reflow(t),e.emulateTransitionEnd(t,()=>x(n))},50)}else l&&e.Timer.clear(l);q.relatedTarget=r,e.dispatchEvent(s,q)},S=n=>{const{element:s,content:t,tabContent:a,nav:l}=n,{tab:r,content:o}=l&&v.get(l)||{tab:null,content:null};let i=0;if(a&&t&&e.hasClass(t,h.fadeClass)&&([o,t].forEach(c=>{e.isHTMLElement(c)&&e.addClass(c,"overflow-hidden")}),i=e.isHTMLElement(o)?o.scrollHeight:0),b.relatedTarget=r,M.relatedTarget=s,e.dispatchEvent(s,b),!b.defaultPrevented){if(t&&e.addClass(t,d.activeClass),o&&e.removeClass(o,d.activeClass),a&&t&&e.hasClass(t,h.fadeClass)){const c=t.scrollHeight;v.set(s,{currentHeight:i,nextHeight:c,tab:null,content:null}),e.addClass(a,E.collapsingClass),a.style.height=`${i}px`,e.reflow(a),[o,t].forEach(C=>{C&&e.removeClass(C,"overflow-hidden")})}t&&t&&e.hasClass(t,h.fadeClass)?setTimeout(()=>{e.addClass(t,m.showClass),e.emulateTransitionEnd(t,()=>{$(n)})},1):(t&&e.addClass(t,m.showClass),$(n)),r&&e.dispatchEvent(r,M)}},y=n=>{const{nav:s}=n;if(!e.isHTMLElement(s))return{tab:null,content:null};const t=e.getElementsByClassName(d.activeClass,s);let a=null;t.length===1&&!p.dropdownMenuClasses.some(r=>e.hasClass(t[0].parentElement,r))?[a]=t:t.length>1&&(a=t[t.length-1]);const l=e.isHTMLElement(a)?w.getTargetElement(a):null;return{tab:a,content:l}},A=n=>{if(!e.isHTMLElement(n))return null;const s=e.closest(n,`.${p.dropdownMenuClasses.join(",.")}`);return s?e.querySelector(`.${p.dropdownMenuClasses[0]}-toggle`,s):null},N=n=>{const s=I(n.target);s&&(n.preventDefault(),s.show())};class u extends _.BaseComponent{constructor(t){super(t);g(this,"_toggleEventListeners",t=>{(t?H.addListener:H.removeListener)(this.element,e.mouseclickEvent,N)});const{element:a}=this,l=w.getTargetElement(a);if(l){const r=e.closest(a,".nav"),o=e.closest(l,".tab-content");this.nav=r,this.content=l,this.tabContent=o,this.dropdown=A(a);const{tab:i}=y(this);if(r&&!i){const c=e.querySelector(L,r),C=c&&w.getTargetElement(c);C&&(e.addClass(c,d.activeClass),e.addClass(C,m.showClass),e.addClass(C,d.activeClass),e.setAttribute(a,e.ariaSelected,"true"))}this._toggleEventListeners(!0)}}get name(){return B}show(){const{element:t,content:a,nav:l,dropdown:r}=this;if(!(l&&e.Timer.get(l))&&!e.hasClass(t,d.activeClass)){const{tab:o,content:i}=y(this);if(l&&v.set(l,{tab:o,content:i,currentHeight:0,nextHeight:0}),T.relatedTarget=t,e.isHTMLElement(o)&&(e.dispatchEvent(o,T),!T.defaultPrevented)){e.addClass(t,d.activeClass),e.setAttribute(t,e.ariaSelected,"true");const c=e.isHTMLElement(o)&&A(o);if(c&&e.hasClass(c,d.activeClass)&&e.removeClass(c,d.activeClass),l){const C=()=>{o&&(e.removeClass(o,d.activeClass),e.setAttribute(o,e.ariaSelected,"false")),r&&!e.hasClass(r,d.activeClass)&&e.addClass(r,d.activeClass)};i&&(e.hasClass(i,h.fadeClass)||a&&e.hasClass(a,h.fadeClass))?e.Timer.set(l,C,1):C()}i&&(e.removeClass(i,m.showClass),e.hasClass(i,h.fadeClass)?e.emulateTransitionEnd(i,()=>S(this)):S(this))}}}dispose(){this._toggleEventListeners(),super.dispose()}}g(u,"selector",L),g(u,"init",j),g(u,"getInstance",I);module.exports=u; +"use strict";var P=Object.defineProperty;var k=(n,s,t)=>s in n?P(n,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[s]=t;var g=(n,s,t)=>k(n,typeof s!="symbol"?s+"":s,t);const e=require("@thednp/shorty"),H=require("@thednp/event-listener"),E=require("./collapsingClass-CLblascz.js"),d=require("./activeClass-CxJYQAGN.js"),h=require("./fadeClass-Co6nOzNJ.js"),m=require("./showClass-D_Ms1FgG.js"),p=require("./dropdownClasses-CnEyz_iw.js"),D=require("./dataBsToggle-Dj-Ng54N.js"),w=require("./getTargetElement-Cl-PhUJH.js"),_=require("./base-component-j_bwTL_x.js"),f="tab",B="Tab",L=`[${D.dataBsToggle}="${f}"]`,I=n=>e.getInstance(n,B),j=n=>new u(n),b=e.createCustomEvent(`show.bs.${f}`),q=e.createCustomEvent(`shown.bs.${f}`),T=e.createCustomEvent(`hide.bs.${f}`),M=e.createCustomEvent(`hidden.bs.${f}`),v=new Map,x=n=>{const{tabContent:s,nav:t}=n;s&&e.hasClass(s,E.collapsingClass)&&(s.style.height="",e.removeClass(s,E.collapsingClass)),t&&e.Timer.clear(t)},$=n=>{const{element:s,tabContent:t,content:a,nav:l}=n,{tab:r}=e.isHTMLElement(l)&&v.get(l)||{tab:null};if(t&&a&&e.hasClass(a,h.fadeClass)){const{currentHeight:o,nextHeight:i}=v.get(s)||{currentHeight:0,nextHeight:0};o===i?x(n):setTimeout(()=>{t.style.height=`${i}px`,e.reflow(t),e.emulateTransitionEnd(t,()=>x(n))},50)}else l&&e.Timer.clear(l);q.relatedTarget=r,e.dispatchEvent(s,q)},S=n=>{const{element:s,content:t,tabContent:a,nav:l}=n,{tab:r,content:o}=l&&v.get(l)||{tab:null,content:null};let i=0;if(a&&t&&e.hasClass(t,h.fadeClass)&&([o,t].forEach(c=>{e.isHTMLElement(c)&&e.addClass(c,"overflow-hidden")}),i=e.isHTMLElement(o)?o.scrollHeight:0),b.relatedTarget=r,M.relatedTarget=s,e.dispatchEvent(s,b),!b.defaultPrevented){if(t&&e.addClass(t,d.activeClass),o&&e.removeClass(o,d.activeClass),a&&t&&e.hasClass(t,h.fadeClass)){const c=t.scrollHeight;v.set(s,{currentHeight:i,nextHeight:c,tab:null,content:null}),e.addClass(a,E.collapsingClass),a.style.height=`${i}px`,e.reflow(a),[o,t].forEach(C=>{C&&e.removeClass(C,"overflow-hidden")})}t&&t&&e.hasClass(t,h.fadeClass)?setTimeout(()=>{e.addClass(t,m.showClass),e.emulateTransitionEnd(t,()=>{$(n)})},1):(t&&e.addClass(t,m.showClass),$(n)),r&&e.dispatchEvent(r,M)}},y=n=>{const{nav:s}=n;if(!e.isHTMLElement(s))return{tab:null,content:null};const t=e.getElementsByClassName(d.activeClass,s);let a=null;t.length===1&&!p.dropdownMenuClasses.some(r=>e.hasClass(t[0].parentElement,r))?[a]=t:t.length>1&&(a=t[t.length-1]);const l=e.isHTMLElement(a)?w.getTargetElement(a):null;return{tab:a,content:l}},A=n=>{if(!e.isHTMLElement(n))return null;const s=e.closest(n,`.${p.dropdownMenuClasses.join(",.")}`);return s?e.querySelector(`.${p.dropdownMenuClasses[0]}-toggle`,s):null},N=n=>{const s=I(n.target);s&&(n.preventDefault(),s.show())};class u extends _.BaseComponent{constructor(t){super(t);g(this,"_toggleEventListeners",t=>{(t?H.addListener:H.removeListener)(this.element,e.mouseclickEvent,N)});const{element:a}=this,l=w.getTargetElement(a);if(l){const r=e.closest(a,".nav"),o=e.closest(l,".tab-content");this.nav=r,this.content=l,this.tabContent=o,this.dropdown=A(a);const{tab:i}=y(this);if(r&&!i){const c=e.querySelector(L,r),C=c&&w.getTargetElement(c);C&&(e.addClass(c,d.activeClass),e.addClass(C,m.showClass),e.addClass(C,d.activeClass),e.setAttribute(a,e.ariaSelected,"true"))}this._toggleEventListeners(!0)}}get name(){return B}show(){const{element:t,content:a,nav:l,dropdown:r}=this;if(!(l&&e.Timer.get(l))&&!e.hasClass(t,d.activeClass)){const{tab:o,content:i}=y(this);if(l&&v.set(l,{tab:o,content:i,currentHeight:0,nextHeight:0}),T.relatedTarget=t,e.isHTMLElement(o)&&(e.dispatchEvent(o,T),!T.defaultPrevented)){e.addClass(t,d.activeClass),e.setAttribute(t,e.ariaSelected,"true");const c=e.isHTMLElement(o)&&A(o);if(c&&e.hasClass(c,d.activeClass)&&e.removeClass(c,d.activeClass),l){const C=()=>{o&&(e.removeClass(o,d.activeClass),e.setAttribute(o,e.ariaSelected,"false")),r&&!e.hasClass(r,d.activeClass)&&e.addClass(r,d.activeClass)};i&&(e.hasClass(i,h.fadeClass)||a&&e.hasClass(a,h.fadeClass))?e.Timer.set(l,C,1):C()}i&&(e.removeClass(i,m.showClass),e.hasClass(i,h.fadeClass)?e.emulateTransitionEnd(i,()=>S(this)):S(this))}}}dispose(){this._toggleEventListeners(),super.dispose()}}g(u,"selector",L),g(u,"init",j),g(u,"getInstance",I);module.exports=u; //# sourceMappingURL=tab.cjs.map diff --git a/dist/components/tab.cjs.map b/dist/components/tab.cjs.map index 6d4d728b..0c6ee27a 100644 --- a/dist/components/tab.cjs.map +++ b/dist/components/tab.cjs.map @@ -1 +1 @@ -{"version":3,"file":"tab.cjs","sources":["../../src/strings/tabString.ts","../../src/strings/tabComponent.ts","../../src/components/tab.ts"],"sourcesContent":["/** @type {string} */\nconst tabString = 'tab';\nexport default tabString;\n","/** @type {string} */\nconst tabComponent = 'Tab';\nexport default tabComponent;\n","/* Native JavaScript for Bootstrap 5 | Tab\n------------------------------------------ */\nimport {\n emulateTransitionEnd,\n dispatchEvent,\n removeClass,\n hasClass,\n addClass,\n querySelector,\n getElementsByClassName,\n closest,\n setAttribute,\n mouseclickEvent,\n createCustomEvent,\n Timer,\n getInstance,\n ariaSelected,\n reflow,\n isHTMLElement,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport collapsingClass from '../strings/collapsingClass';\nimport activeClass from '../strings/activeClass';\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dropdownClasses from '../strings/dropdownClasses';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport tabString from '../strings/tabString';\nimport tabComponent from '../strings/tabComponent';\n\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport type { /* TabOptions, */ TabEvent } from '../interface/tab';\n\n// TAB PRIVATE GC\n// ================\nconst tabSelector = `[${dataBsToggle}=\"${tabString}\"]`;\n\n/**\n * Static method which returns an existing `Tab` instance associated\n * to a target `Element`.\n */\nconst getTabInstance = (element: HTMLElement) => getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: HTMLElement) => new Tab(element);\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(`show.bs.${tabString}`);\nconst shownTabEvent = createCustomEvent(`shown.bs.${tabString}`);\nconst hideTabEvent = createCustomEvent(`hide.bs.${tabString}`);\nconst hiddenTabEvent = createCustomEvent(`hidden.bs.${tabString}`);\n\ninterface TabPrivate {\n tab: HTMLElement | null;\n content: HTMLElement | null;\n currentHeight: number;\n nextHeight: number;\n}\n\n/**\n * Stores the current active tab and its content\n * for a given `.nav` element.\n */\nconst tabPrivate: Map = new Map();\n\n// TAB PRIVATE METHODS\n// ===================\n/**\n * Executes after tab transition has finished.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabEnd = (self: Tab) => {\n const { tabContent, nav } = self;\n\n /* istanbul ignore else */\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = '';\n removeClass(tabContent, collapsingClass);\n }\n\n /* istanbul ignore else */\n if (nav) Timer.clear(nav);\n};\n\n/**\n * Executes before showing the tab content.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabShow = (self: Tab) => {\n const { element, tabContent, content: nextContent, nav } = self;\n const { tab } = (isHTMLElement(nav) && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null };\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) || /* istanbul ignore next */ {\n currentHeight: 0,\n nextHeight: 0,\n };\n if (currentHeight === nextHeight) {\n triggerTabEnd(self);\n } else {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n }\n } else if (nav) Timer.clear(nav);\n\n shownTabEvent.relatedTarget = tab as HTMLElement | undefined;\n\n dispatchEvent(element, shownTabEvent);\n};\n\n/**\n * Executes before hiding the tab.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabHide = (self: Tab) => {\n const { element, content: nextContent, tabContent, nav } = self;\n const { tab, content } = (nav && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null, content: null };\n let currentHeight = 0;\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach(c => {\n if (isHTMLElement(c)) addClass(c, 'overflow-hidden');\n });\n currentHeight = isHTMLElement(content) ? content.scrollHeight : /* istanbul ignore next */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element;\n dispatchEvent(element, showTabEvent);\n\n if (!showTabEvent.defaultPrevented) {\n if (nextContent) addClass(nextContent, activeClass);\n if (content) removeClass(content, activeClass);\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, { currentHeight, nextHeight, tab: null, content: null });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach(c => {\n if (c) removeClass(c, 'overflow-hidden');\n });\n }\n\n if (nextContent && nextContent && hasClass(nextContent, fadeClass)) {\n setTimeout(() => {\n addClass(nextContent, showClass);\n emulateTransitionEnd(nextContent, () => {\n triggerTabShow(self);\n });\n }, 1);\n } else {\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n if (tab) dispatchEvent(tab, hiddenTabEvent);\n }\n};\n\n/**\n * Returns the current active tab and its target content.\n *\n * @param self the `Tab` instance\n * @returns the query result\n */\nconst getActiveTab = (self: Tab): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n /* istanbul ignore next */\n if (!isHTMLElement(nav as HTMLElement | undefined)) return { tab: null, content: null };\n\n const activeTabs = getElementsByClassName(activeClass, nav as HTMLElement);\n let tab: HTMLElement | null = null;\n /* istanbul ignore else */\n if (activeTabs.length === 1 && !dropdownClasses.some(c => hasClass(activeTabs[0].parentElement as HTMLElement, c))) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab as HTMLElement) ? getTargetElement(tab as HTMLElement) : null;\n return { tab, content };\n};\n\n/**\n * Returns a parent dropdown.\n *\n * @param element the `Tab` element\n * @returns the parent dropdown\n */\nconst getParentDropdown = (element?: HTMLElement): HTMLElement | null => {\n /* istanbul ignore next */\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(',.')}`);\n return dropdown ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown) : null;\n};\n\n// TAB EVENT HANDLER\n// =================\n/**\n * Handles the `click` event listener.\n *\n * @param e the `Event` object\n */\nconst tabClickHandler = (e: Event) => {\n const self = getTabInstance(e.target as HTMLElement);\n\n /* istanbul ignore else */\n if (self) {\n e.preventDefault();\n self.show();\n }\n};\n\n// TAB DEFINITION\n// ==============\n/** Creates a new `Tab` instance. */\nexport default class Tab extends BaseComponent {\n static selector = tabSelector;\n static init = tabInitCallback;\n static getInstance = getTabInstance;\n declare nav: HTMLElement | null;\n declare content: HTMLElement | null;\n declare tabContent: HTMLElement | null;\n declare nextContent: HTMLElement | null;\n declare dropdown: HTMLElement | null;\n\n /** @param target the target element */\n constructor(target: HTMLElement | string) {\n super(target);\n\n // initialization element\n const { element } = this;\n const content = getTargetElement(element);\n\n // no point initializing a tab without a corresponding content\n /* istanbul ignore else */\n if (content) {\n const nav = closest(element, '.nav');\n const container = closest(content, '.tab-content');\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element);\n\n // show first Tab instance of none is shown\n // suggested on #432\n const { tab } = getActiveTab(this);\n if (nav && !tab) {\n const firstTab = querySelector(tabSelector, nav);\n const firstTabContent = firstTab && getTargetElement(firstTab);\n\n /* istanbul ignore else */\n if (firstTabContent) {\n addClass(firstTab, activeClass);\n addClass(firstTabContent, showClass);\n addClass(firstTabContent, activeClass);\n setAttribute(element, ariaSelected, 'true');\n }\n }\n\n // add event listener\n this._toggleEventListeners(true);\n }\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return tabComponent;\n }\n\n // TAB PUBLIC METHODS\n // ==================\n /** Shows the tab to the user. */\n show() {\n const { element, content: nextContent, nav, dropdown } = this;\n\n /* istanbul ignore else */\n if (!(nav && Timer.get(nav)) && !hasClass(element, activeClass)) {\n const { tab, content } = getActiveTab(this);\n\n /* istanbul ignore else */\n if (nav) tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element;\n\n /* istanbul ignore else */\n if (isHTMLElement(tab)) {\n dispatchEvent(tab as EventTarget, hideTabEvent);\n /* istanbul ignore else */\n if (!hideTabEvent.defaultPrevented) {\n addClass(element, activeClass);\n setAttribute(element, ariaSelected, 'true');\n\n const activeDropdown = isHTMLElement(tab) && getParentDropdown(tab);\n if (activeDropdown && hasClass(activeDropdown, activeClass)) {\n removeClass(activeDropdown, activeClass);\n }\n\n /* istanbul ignore else */\n if (nav) {\n const toggleTab = () => {\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, 'false');\n }\n if (dropdown && !hasClass(dropdown, activeClass)) addClass(dropdown, activeClass);\n };\n\n if (content && (hasClass(content, fadeClass) || (nextContent && hasClass(nextContent, fadeClass)))) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n if (content) {\n removeClass(content, showClass);\n if (hasClass(content, fadeClass)) {\n emulateTransitionEnd(content, () => triggerTabHide(this));\n } else {\n triggerTabHide(this);\n }\n }\n }\n }\n }\n }\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.element, mouseclickEvent, tabClickHandler);\n };\n\n /** Removes the `Tab` component from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n"],"names":["tabString","tabComponent","tabSelector","dataBsToggle","getTabInstance","element","getInstance","tabInitCallback","Tab","showTabEvent","createCustomEvent","shownTabEvent","hideTabEvent","hiddenTabEvent","tabPrivate","triggerTabEnd","self","tabContent","nav","hasClass","collapsingClass","removeClass","Timer","triggerTabShow","nextContent","tab","isHTMLElement","fadeClass","currentHeight","nextHeight","reflow","emulateTransitionEnd","dispatchEvent","triggerTabHide","content","addClass","activeClass","c","showClass","getActiveTab","activeTabs","getElementsByClassName","dropdownClasses","getTargetElement","getParentDropdown","dropdown","closest","querySelector","tabClickHandler","e","BaseComponent","target","__publicField","add","addListener","removeListener","mouseclickEvent","container","firstTab","firstTabContent","setAttribute","ariaSelected","activeDropdown","toggleTab"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tab.cjs","sources":["../../src/strings/tabString.ts","../../src/strings/tabComponent.ts","../../src/components/tab.ts"],"sourcesContent":["/** @type {string} */\nconst tabString = 'tab';\nexport default tabString;\n","/** @type {string} */\nconst tabComponent = 'Tab';\nexport default tabComponent;\n","/* Native JavaScript for Bootstrap 5 | Tab\n------------------------------------------ */\nimport {\n emulateTransitionEnd,\n dispatchEvent,\n removeClass,\n hasClass,\n addClass,\n querySelector,\n getElementsByClassName,\n closest,\n setAttribute,\n mouseclickEvent,\n createCustomEvent,\n Timer,\n getInstance,\n ariaSelected,\n reflow,\n isHTMLElement,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport collapsingClass from '../strings/collapsingClass';\nimport activeClass from '../strings/activeClass';\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dropdownClasses from '../strings/dropdownClasses';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport tabString from '../strings/tabString';\nimport tabComponent from '../strings/tabComponent';\n\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport type { /* TabOptions, */ TabEvent } from '../interface/tab';\n\n// TAB PRIVATE GC\n// ================\nconst tabSelector = `[${dataBsToggle}=\"${tabString}\"]`;\n\n/**\n * Static method which returns an existing `Tab` instance associated\n * to a target `Element`.\n */\nconst getTabInstance = (element: HTMLElement) => getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: HTMLElement) => new Tab(element);\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(`show.bs.${tabString}`);\nconst shownTabEvent = createCustomEvent(`shown.bs.${tabString}`);\nconst hideTabEvent = createCustomEvent(`hide.bs.${tabString}`);\nconst hiddenTabEvent = createCustomEvent(`hidden.bs.${tabString}`);\n\ninterface TabPrivate {\n tab: HTMLElement | null;\n content: HTMLElement | null;\n currentHeight: number;\n nextHeight: number;\n}\n\n/**\n * Stores the current active tab and its content\n * for a given `.nav` element.\n */\nconst tabPrivate: Map = new Map();\n\n// TAB PRIVATE METHODS\n// ===================\n/**\n * Executes after tab transition has finished.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabEnd = (self: Tab) => {\n const { tabContent, nav } = self;\n\n /* istanbul ignore else */\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = '';\n removeClass(tabContent, collapsingClass);\n }\n\n /* istanbul ignore else */\n if (nav) Timer.clear(nav);\n};\n\n/**\n * Executes before showing the tab content.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabShow = (self: Tab) => {\n const { element, tabContent, content: nextContent, nav } = self;\n const { tab } = (isHTMLElement(nav) && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null };\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) || /* istanbul ignore next */ {\n currentHeight: 0,\n nextHeight: 0,\n };\n if (currentHeight === nextHeight) {\n triggerTabEnd(self);\n } else {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n }\n } else if (nav) Timer.clear(nav);\n\n shownTabEvent.relatedTarget = tab as HTMLElement | undefined;\n\n dispatchEvent(element, shownTabEvent);\n};\n\n/**\n * Executes before hiding the tab.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabHide = (self: Tab) => {\n const { element, content: nextContent, tabContent, nav } = self;\n const { tab, content } = (nav && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null, content: null };\n let currentHeight = 0;\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach(c => {\n if (isHTMLElement(c)) addClass(c, 'overflow-hidden');\n });\n currentHeight = isHTMLElement(content) ? content.scrollHeight : /* istanbul ignore next */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element;\n dispatchEvent(element, showTabEvent);\n\n if (!showTabEvent.defaultPrevented) {\n if (nextContent) addClass(nextContent, activeClass);\n if (content) removeClass(content, activeClass);\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, { currentHeight, nextHeight, tab: null, content: null });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach(c => {\n if (c) removeClass(c, 'overflow-hidden');\n });\n }\n\n if (nextContent && nextContent && hasClass(nextContent, fadeClass)) {\n setTimeout(() => {\n addClass(nextContent, showClass);\n emulateTransitionEnd(nextContent, () => {\n triggerTabShow(self);\n });\n }, 1);\n } else {\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n if (tab) dispatchEvent(tab, hiddenTabEvent);\n }\n};\n\n/**\n * Returns the current active tab and its target content.\n *\n * @param self the `Tab` instance\n * @returns the query result\n */\nconst getActiveTab = (self: Tab): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n /* istanbul ignore next */\n if (!isHTMLElement(nav as HTMLElement | undefined)) return { tab: null, content: null };\n\n const activeTabs = getElementsByClassName(activeClass, nav as HTMLElement);\n let tab: HTMLElement | null = null;\n /* istanbul ignore else */\n if (activeTabs.length === 1 && !dropdownClasses.some(c => hasClass(activeTabs[0].parentElement as HTMLElement, c))) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab as HTMLElement) ? getTargetElement(tab as HTMLElement) : null;\n return { tab, content };\n};\n\n/**\n * Returns a parent dropdown.\n *\n * @param element the `Tab` element\n * @returns the parent dropdown\n */\nconst getParentDropdown = (element?: HTMLElement): HTMLElement | null => {\n /* istanbul ignore next */\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(',.')}`);\n return dropdown ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown) : null;\n};\n\n// TAB EVENT HANDLER\n// =================\n/**\n * Handles the `click` event listener.\n *\n * @param e the `Event` object\n */\nconst tabClickHandler = (e: Event) => {\n const self = getTabInstance(e.target as HTMLElement);\n\n /* istanbul ignore else */\n if (self) {\n e.preventDefault();\n self.show();\n }\n};\n\n// TAB DEFINITION\n// ==============\n/** Creates a new `Tab` instance. */\nexport default class Tab extends BaseComponent {\n static selector = tabSelector;\n static init = tabInitCallback;\n static getInstance = getTabInstance;\n declare nav: HTMLElement | null;\n declare content: HTMLElement | null;\n declare tabContent: HTMLElement | null;\n declare nextContent: HTMLElement | null;\n declare dropdown: HTMLElement | null;\n\n /** @param target the target element */\n constructor(target: HTMLElement | string) {\n super(target);\n\n // initialization element\n const { element } = this;\n const content = getTargetElement(element);\n\n // no point initializing a tab without a corresponding content\n /* istanbul ignore else */\n if (content) {\n const nav = closest(element, '.nav');\n const container = closest(content, '.tab-content');\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element);\n\n // show first Tab instance of none is shown\n // suggested on #432\n const { tab } = getActiveTab(this);\n if (nav && !tab) {\n const firstTab = querySelector(tabSelector, nav);\n const firstTabContent = firstTab && getTargetElement(firstTab);\n\n /* istanbul ignore else */\n if (firstTabContent) {\n addClass(firstTab, activeClass);\n addClass(firstTabContent, showClass);\n addClass(firstTabContent, activeClass);\n setAttribute(element, ariaSelected, 'true');\n }\n }\n\n // add event listener\n this._toggleEventListeners(true);\n }\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return tabComponent;\n }\n\n // TAB PUBLIC METHODS\n // ==================\n /** Shows the tab to the user. */\n show() {\n const { element, content: nextContent, nav, dropdown } = this;\n\n /* istanbul ignore else */\n if (!(nav && Timer.get(nav)) && !hasClass(element, activeClass)) {\n const { tab, content } = getActiveTab(this);\n\n /* istanbul ignore else */\n if (nav) tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element;\n\n /* istanbul ignore else */\n if (isHTMLElement(tab)) {\n dispatchEvent(tab as EventTarget, hideTabEvent);\n /* istanbul ignore else */\n if (!hideTabEvent.defaultPrevented) {\n addClass(element, activeClass);\n setAttribute(element, ariaSelected, 'true');\n\n const activeDropdown = isHTMLElement(tab) && getParentDropdown(tab);\n if (activeDropdown && hasClass(activeDropdown, activeClass)) {\n removeClass(activeDropdown, activeClass);\n }\n\n /* istanbul ignore else */\n if (nav) {\n const toggleTab = () => {\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, 'false');\n }\n if (dropdown && !hasClass(dropdown, activeClass)) addClass(dropdown, activeClass);\n };\n\n if (content && (hasClass(content, fadeClass) || (nextContent && hasClass(nextContent, fadeClass)))) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n if (content) {\n removeClass(content, showClass);\n if (hasClass(content, fadeClass)) {\n emulateTransitionEnd(content, () => triggerTabHide(this));\n } else {\n triggerTabHide(this);\n }\n }\n }\n }\n }\n }\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.element, mouseclickEvent, tabClickHandler);\n };\n\n /** Removes the `Tab` component from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n"],"names":["tabString","tabComponent","tabSelector","dataBsToggle","getTabInstance","element","getInstance","tabInitCallback","Tab","showTabEvent","createCustomEvent","shownTabEvent","hideTabEvent","hiddenTabEvent","tabPrivate","triggerTabEnd","self","tabContent","nav","hasClass","collapsingClass","removeClass","Timer","triggerTabShow","nextContent","tab","isHTMLElement","fadeClass","currentHeight","nextHeight","reflow","emulateTransitionEnd","dispatchEvent","triggerTabHide","content","addClass","activeClass","c","showClass","getActiveTab","activeTabs","getElementsByClassName","dropdownClasses","getTargetElement","getParentDropdown","dropdown","closest","querySelector","tabClickHandler","e","BaseComponent","target","__publicField","add","addListener","removeListener","mouseclickEvent","container","firstTab","firstTabContent","setAttribute","ariaSelected","activeDropdown","toggleTab"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/tab.d.ts b/dist/components/tab.d.ts index 051f2a2f..5fabe115 100644 --- a/dist/components/tab.d.ts +++ b/dist/components/tab.d.ts @@ -18,7 +18,7 @@ declare class BaseComponent { dispose(): void; } /** Creates a new `Tab` instance. */ -export default class Tab extends BaseComponent { +declare class Tab extends BaseComponent { static selector: string; static init: (element: HTMLElement) => Tab; static getInstance: (element: HTMLElement) => Tab | null; @@ -45,6 +45,10 @@ export default class Tab extends BaseComponent { dispose(): void; } +export { + Tab as default, +}; + export as namespace Tab; export {}; diff --git a/dist/components/tab.mjs b/dist/components/tab.mjs index fb3558a6..644a4ddb 100644 --- a/dist/components/tab.mjs +++ b/dist/components/tab.mjs @@ -1,16 +1,16 @@ var O = Object.defineProperty; var Q = (n, e, t) => e in n ? O(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t; -var u = (n, e, t) => (Q(n, typeof e != "symbol" ? e + "" : e, t), t); +var u = (n, e, t) => Q(n, typeof e != "symbol" ? e + "" : e, t); import { createCustomEvent as H, closest as S, querySelector as F, addClass as g, setAttribute as x, ariaSelected as $, Timer as C, hasClass as f, isHTMLElement as d, dispatchEvent as w, removeClass as b, emulateTransitionEnd as k, mouseclickEvent as R, getInstance as U, reflow as G, getElementsByClassName as V } from "@thednp/shorty"; import { addListener as W, removeListener as X } from "@thednp/event-listener"; -import { c as B } from "./collapsingClass-dc1ed922.mjs"; -import { a as l } from "./activeClass-b231b21b.mjs"; -import { f as m } from "./fadeClass-0d50d035.mjs"; -import { s as E } from "./showClass-f6a4d601.mjs"; -import { d as I } from "./dropdownClasses-66be00d3.mjs"; -import { d as Y } from "./dataBsToggle-330f300b.mjs"; -import { g as P } from "./getTargetElement-17dc71b9.mjs"; -import { B as Z } from "./base-component-a56d44ba.mjs"; +import { c as B } from "./collapsingClass-BxKtDBMH.mjs"; +import { a as l } from "./activeClass-iqaD75Su.mjs"; +import { f as m } from "./fadeClass-CLIYI_zn.mjs"; +import { s as E } from "./showClass-C8hdJfjQ.mjs"; +import { d as I } from "./dropdownClasses-CdCdZ-PX.mjs"; +import { d as Y } from "./dataBsToggle-B84TS15h.mjs"; +import { g as P } from "./getTargetElement-DbfK8LsG.mjs"; +import { B as Z } from "./base-component-DvIOojVW.mjs"; const v = "tab", J = "Tab", D = `[${Y}="${v}"]`, K = (n) => U(n, J), tt = (n) => new T(n), L = H(`show.bs.${v}`), M = H(`shown.bs.${v}`), y = H(`hide.bs.${v}`), _ = H(`hidden.bs.${v}`), p = /* @__PURE__ */ new Map(), A = (n) => { const { tabContent: e, nav: t } = n; e && f(e, B) && (e.style.height = "", b(e, B)), t && C.clear(t); @@ -26,8 +26,7 @@ const v = "tab", J = "Tab", D = `[${Y}="${v}"]`, K = (n) => U(n, J), tt = (n) => i === a ? A(n) : setTimeout(() => { t.style.height = `${a}px`, G(t), k(t, () => A(n)); }, 50); - } else - o && C.clear(o); + } else o && C.clear(o); M.relatedTarget = r, w(e, M); }, q = (n) => { const { element: e, content: t, tabContent: s, nav: o } = n, { tab: r, content: i } = o && p.get(o) || /* istanbul ignore next */ @@ -53,16 +52,14 @@ const v = "tab", J = "Tab", D = `[${Y}="${v}"]`, K = (n) => U(n, J), tt = (n) => } }, N = (n) => { const { nav: e } = n; - if (!d(e)) - return { tab: null, content: null }; + if (!d(e)) return { tab: null, content: null }; const t = V(l, e); let s = null; t.length === 1 && !I.some((r) => f(t[0].parentElement, r)) ? [s] = t : t.length > 1 && (s = t[t.length - 1]); const o = d(s) ? P(s) : null; return { tab: s, content: o }; }, z = (n) => { - if (!d(n)) - return null; + if (!d(n)) return null; const e = S(n, `.${I.join(",.")}`); return e ? F(`.${I[0]}-toggle`, e) : null; }, et = (n) => { diff --git a/dist/components/tab.mjs.map b/dist/components/tab.mjs.map index 94f2aff2..1e2cdffa 100644 --- a/dist/components/tab.mjs.map +++ b/dist/components/tab.mjs.map @@ -1 +1 @@ -{"version":3,"file":"tab.mjs","sources":["../../src/strings/tabString.ts","../../src/strings/tabComponent.ts","../../src/components/tab.ts"],"sourcesContent":["/** @type {string} */\nconst tabString = 'tab';\nexport default tabString;\n","/** @type {string} */\nconst tabComponent = 'Tab';\nexport default tabComponent;\n","/* Native JavaScript for Bootstrap 5 | Tab\n------------------------------------------ */\nimport {\n emulateTransitionEnd,\n dispatchEvent,\n removeClass,\n hasClass,\n addClass,\n querySelector,\n getElementsByClassName,\n closest,\n setAttribute,\n mouseclickEvent,\n createCustomEvent,\n Timer,\n getInstance,\n ariaSelected,\n reflow,\n isHTMLElement,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport collapsingClass from '../strings/collapsingClass';\nimport activeClass from '../strings/activeClass';\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dropdownClasses from '../strings/dropdownClasses';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport tabString from '../strings/tabString';\nimport tabComponent from '../strings/tabComponent';\n\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport type { /* TabOptions, */ TabEvent } from '../interface/tab';\n\n// TAB PRIVATE GC\n// ================\nconst tabSelector = `[${dataBsToggle}=\"${tabString}\"]`;\n\n/**\n * Static method which returns an existing `Tab` instance associated\n * to a target `Element`.\n */\nconst getTabInstance = (element: HTMLElement) => getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: HTMLElement) => new Tab(element);\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(`show.bs.${tabString}`);\nconst shownTabEvent = createCustomEvent(`shown.bs.${tabString}`);\nconst hideTabEvent = createCustomEvent(`hide.bs.${tabString}`);\nconst hiddenTabEvent = createCustomEvent(`hidden.bs.${tabString}`);\n\ninterface TabPrivate {\n tab: HTMLElement | null;\n content: HTMLElement | null;\n currentHeight: number;\n nextHeight: number;\n}\n\n/**\n * Stores the current active tab and its content\n * for a given `.nav` element.\n */\nconst tabPrivate: Map = new Map();\n\n// TAB PRIVATE METHODS\n// ===================\n/**\n * Executes after tab transition has finished.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabEnd = (self: Tab) => {\n const { tabContent, nav } = self;\n\n /* istanbul ignore else */\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = '';\n removeClass(tabContent, collapsingClass);\n }\n\n /* istanbul ignore else */\n if (nav) Timer.clear(nav);\n};\n\n/**\n * Executes before showing the tab content.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabShow = (self: Tab) => {\n const { element, tabContent, content: nextContent, nav } = self;\n const { tab } = (isHTMLElement(nav) && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null };\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) || /* istanbul ignore next */ {\n currentHeight: 0,\n nextHeight: 0,\n };\n if (currentHeight === nextHeight) {\n triggerTabEnd(self);\n } else {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n }\n } else if (nav) Timer.clear(nav);\n\n shownTabEvent.relatedTarget = tab as HTMLElement | undefined;\n\n dispatchEvent(element, shownTabEvent);\n};\n\n/**\n * Executes before hiding the tab.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabHide = (self: Tab) => {\n const { element, content: nextContent, tabContent, nav } = self;\n const { tab, content } = (nav && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null, content: null };\n let currentHeight = 0;\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach(c => {\n if (isHTMLElement(c)) addClass(c, 'overflow-hidden');\n });\n currentHeight = isHTMLElement(content) ? content.scrollHeight : /* istanbul ignore next */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element;\n dispatchEvent(element, showTabEvent);\n\n if (!showTabEvent.defaultPrevented) {\n if (nextContent) addClass(nextContent, activeClass);\n if (content) removeClass(content, activeClass);\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, { currentHeight, nextHeight, tab: null, content: null });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach(c => {\n if (c) removeClass(c, 'overflow-hidden');\n });\n }\n\n if (nextContent && nextContent && hasClass(nextContent, fadeClass)) {\n setTimeout(() => {\n addClass(nextContent, showClass);\n emulateTransitionEnd(nextContent, () => {\n triggerTabShow(self);\n });\n }, 1);\n } else {\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n if (tab) dispatchEvent(tab, hiddenTabEvent);\n }\n};\n\n/**\n * Returns the current active tab and its target content.\n *\n * @param self the `Tab` instance\n * @returns the query result\n */\nconst getActiveTab = (self: Tab): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n /* istanbul ignore next */\n if (!isHTMLElement(nav as HTMLElement | undefined)) return { tab: null, content: null };\n\n const activeTabs = getElementsByClassName(activeClass, nav as HTMLElement);\n let tab: HTMLElement | null = null;\n /* istanbul ignore else */\n if (activeTabs.length === 1 && !dropdownClasses.some(c => hasClass(activeTabs[0].parentElement as HTMLElement, c))) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab as HTMLElement) ? getTargetElement(tab as HTMLElement) : null;\n return { tab, content };\n};\n\n/**\n * Returns a parent dropdown.\n *\n * @param element the `Tab` element\n * @returns the parent dropdown\n */\nconst getParentDropdown = (element?: HTMLElement): HTMLElement | null => {\n /* istanbul ignore next */\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(',.')}`);\n return dropdown ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown) : null;\n};\n\n// TAB EVENT HANDLER\n// =================\n/**\n * Handles the `click` event listener.\n *\n * @param e the `Event` object\n */\nconst tabClickHandler = (e: Event) => {\n const self = getTabInstance(e.target as HTMLElement);\n\n /* istanbul ignore else */\n if (self) {\n e.preventDefault();\n self.show();\n }\n};\n\n// TAB DEFINITION\n// ==============\n/** Creates a new `Tab` instance. */\nexport default class Tab extends BaseComponent {\n static selector = tabSelector;\n static init = tabInitCallback;\n static getInstance = getTabInstance;\n declare nav: HTMLElement | null;\n declare content: HTMLElement | null;\n declare tabContent: HTMLElement | null;\n declare nextContent: HTMLElement | null;\n declare dropdown: HTMLElement | null;\n\n /** @param target the target element */\n constructor(target: HTMLElement | string) {\n super(target);\n\n // initialization element\n const { element } = this;\n const content = getTargetElement(element);\n\n // no point initializing a tab without a corresponding content\n /* istanbul ignore else */\n if (content) {\n const nav = closest(element, '.nav');\n const container = closest(content, '.tab-content');\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element);\n\n // show first Tab instance of none is shown\n // suggested on #432\n const { tab } = getActiveTab(this);\n if (nav && !tab) {\n const firstTab = querySelector(tabSelector, nav);\n const firstTabContent = firstTab && getTargetElement(firstTab);\n\n /* istanbul ignore else */\n if (firstTabContent) {\n addClass(firstTab, activeClass);\n addClass(firstTabContent, showClass);\n addClass(firstTabContent, activeClass);\n setAttribute(element, ariaSelected, 'true');\n }\n }\n\n // add event listener\n this._toggleEventListeners(true);\n }\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return tabComponent;\n }\n\n // TAB PUBLIC METHODS\n // ==================\n /** Shows the tab to the user. */\n show() {\n const { element, content: nextContent, nav, dropdown } = this;\n\n /* istanbul ignore else */\n if (!(nav && Timer.get(nav)) && !hasClass(element, activeClass)) {\n const { tab, content } = getActiveTab(this);\n\n /* istanbul ignore else */\n if (nav) tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element;\n\n /* istanbul ignore else */\n if (isHTMLElement(tab)) {\n dispatchEvent(tab as EventTarget, hideTabEvent);\n /* istanbul ignore else */\n if (!hideTabEvent.defaultPrevented) {\n addClass(element, activeClass);\n setAttribute(element, ariaSelected, 'true');\n\n const activeDropdown = isHTMLElement(tab) && getParentDropdown(tab);\n if (activeDropdown && hasClass(activeDropdown, activeClass)) {\n removeClass(activeDropdown, activeClass);\n }\n\n /* istanbul ignore else */\n if (nav) {\n const toggleTab = () => {\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, 'false');\n }\n if (dropdown && !hasClass(dropdown, activeClass)) addClass(dropdown, activeClass);\n };\n\n if (content && (hasClass(content, fadeClass) || (nextContent && hasClass(nextContent, fadeClass)))) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n if (content) {\n removeClass(content, showClass);\n if (hasClass(content, fadeClass)) {\n emulateTransitionEnd(content, () => triggerTabHide(this));\n } else {\n triggerTabHide(this);\n }\n }\n }\n }\n }\n }\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.element, mouseclickEvent, tabClickHandler);\n };\n\n /** Removes the `Tab` component from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n"],"names":["tabString","tabComponent","tabSelector","dataBsToggle","getTabInstance","element","getInstance","tabInitCallback","Tab","showTabEvent","createCustomEvent","shownTabEvent","hideTabEvent","hiddenTabEvent","tabPrivate","triggerTabEnd","self","tabContent","nav","hasClass","collapsingClass","removeClass","Timer","triggerTabShow","nextContent","tab","isHTMLElement","fadeClass","currentHeight","nextHeight","reflow","emulateTransitionEnd","dispatchEvent","triggerTabHide","content","addClass","activeClass","c","showClass","getActiveTab","activeTabs","getElementsByClassName","dropdownClasses","getTargetElement","getParentDropdown","dropdown","closest","querySelector","tabClickHandler","e","BaseComponent","target","__publicField","add","addListener","removeListener","mouseclickEvent","container","firstTab","firstTabContent","setAttribute","ariaSelected","activeDropdown","toggleTab"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tab.mjs","sources":["../../src/strings/tabString.ts","../../src/strings/tabComponent.ts","../../src/components/tab.ts"],"sourcesContent":["/** @type {string} */\nconst tabString = 'tab';\nexport default tabString;\n","/** @type {string} */\nconst tabComponent = 'Tab';\nexport default tabComponent;\n","/* Native JavaScript for Bootstrap 5 | Tab\n------------------------------------------ */\nimport {\n emulateTransitionEnd,\n dispatchEvent,\n removeClass,\n hasClass,\n addClass,\n querySelector,\n getElementsByClassName,\n closest,\n setAttribute,\n mouseclickEvent,\n createCustomEvent,\n Timer,\n getInstance,\n ariaSelected,\n reflow,\n isHTMLElement,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport collapsingClass from '../strings/collapsingClass';\nimport activeClass from '../strings/activeClass';\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dropdownClasses from '../strings/dropdownClasses';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport tabString from '../strings/tabString';\nimport tabComponent from '../strings/tabComponent';\n\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport type { /* TabOptions, */ TabEvent } from '../interface/tab';\n\n// TAB PRIVATE GC\n// ================\nconst tabSelector = `[${dataBsToggle}=\"${tabString}\"]`;\n\n/**\n * Static method which returns an existing `Tab` instance associated\n * to a target `Element`.\n */\nconst getTabInstance = (element: HTMLElement) => getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: HTMLElement) => new Tab(element);\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(`show.bs.${tabString}`);\nconst shownTabEvent = createCustomEvent(`shown.bs.${tabString}`);\nconst hideTabEvent = createCustomEvent(`hide.bs.${tabString}`);\nconst hiddenTabEvent = createCustomEvent(`hidden.bs.${tabString}`);\n\ninterface TabPrivate {\n tab: HTMLElement | null;\n content: HTMLElement | null;\n currentHeight: number;\n nextHeight: number;\n}\n\n/**\n * Stores the current active tab and its content\n * for a given `.nav` element.\n */\nconst tabPrivate: Map = new Map();\n\n// TAB PRIVATE METHODS\n// ===================\n/**\n * Executes after tab transition has finished.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabEnd = (self: Tab) => {\n const { tabContent, nav } = self;\n\n /* istanbul ignore else */\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = '';\n removeClass(tabContent, collapsingClass);\n }\n\n /* istanbul ignore else */\n if (nav) Timer.clear(nav);\n};\n\n/**\n * Executes before showing the tab content.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabShow = (self: Tab) => {\n const { element, tabContent, content: nextContent, nav } = self;\n const { tab } = (isHTMLElement(nav) && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null };\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) || /* istanbul ignore next */ {\n currentHeight: 0,\n nextHeight: 0,\n };\n if (currentHeight === nextHeight) {\n triggerTabEnd(self);\n } else {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n }\n } else if (nav) Timer.clear(nav);\n\n shownTabEvent.relatedTarget = tab as HTMLElement | undefined;\n\n dispatchEvent(element, shownTabEvent);\n};\n\n/**\n * Executes before hiding the tab.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabHide = (self: Tab) => {\n const { element, content: nextContent, tabContent, nav } = self;\n const { tab, content } = (nav && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null, content: null };\n let currentHeight = 0;\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach(c => {\n if (isHTMLElement(c)) addClass(c, 'overflow-hidden');\n });\n currentHeight = isHTMLElement(content) ? content.scrollHeight : /* istanbul ignore next */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element;\n dispatchEvent(element, showTabEvent);\n\n if (!showTabEvent.defaultPrevented) {\n if (nextContent) addClass(nextContent, activeClass);\n if (content) removeClass(content, activeClass);\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, { currentHeight, nextHeight, tab: null, content: null });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach(c => {\n if (c) removeClass(c, 'overflow-hidden');\n });\n }\n\n if (nextContent && nextContent && hasClass(nextContent, fadeClass)) {\n setTimeout(() => {\n addClass(nextContent, showClass);\n emulateTransitionEnd(nextContent, () => {\n triggerTabShow(self);\n });\n }, 1);\n } else {\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n if (tab) dispatchEvent(tab, hiddenTabEvent);\n }\n};\n\n/**\n * Returns the current active tab and its target content.\n *\n * @param self the `Tab` instance\n * @returns the query result\n */\nconst getActiveTab = (self: Tab): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n /* istanbul ignore next */\n if (!isHTMLElement(nav as HTMLElement | undefined)) return { tab: null, content: null };\n\n const activeTabs = getElementsByClassName(activeClass, nav as HTMLElement);\n let tab: HTMLElement | null = null;\n /* istanbul ignore else */\n if (activeTabs.length === 1 && !dropdownClasses.some(c => hasClass(activeTabs[0].parentElement as HTMLElement, c))) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab as HTMLElement) ? getTargetElement(tab as HTMLElement) : null;\n return { tab, content };\n};\n\n/**\n * Returns a parent dropdown.\n *\n * @param element the `Tab` element\n * @returns the parent dropdown\n */\nconst getParentDropdown = (element?: HTMLElement): HTMLElement | null => {\n /* istanbul ignore next */\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(',.')}`);\n return dropdown ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown) : null;\n};\n\n// TAB EVENT HANDLER\n// =================\n/**\n * Handles the `click` event listener.\n *\n * @param e the `Event` object\n */\nconst tabClickHandler = (e: Event) => {\n const self = getTabInstance(e.target as HTMLElement);\n\n /* istanbul ignore else */\n if (self) {\n e.preventDefault();\n self.show();\n }\n};\n\n// TAB DEFINITION\n// ==============\n/** Creates a new `Tab` instance. */\nexport default class Tab extends BaseComponent {\n static selector = tabSelector;\n static init = tabInitCallback;\n static getInstance = getTabInstance;\n declare nav: HTMLElement | null;\n declare content: HTMLElement | null;\n declare tabContent: HTMLElement | null;\n declare nextContent: HTMLElement | null;\n declare dropdown: HTMLElement | null;\n\n /** @param target the target element */\n constructor(target: HTMLElement | string) {\n super(target);\n\n // initialization element\n const { element } = this;\n const content = getTargetElement(element);\n\n // no point initializing a tab without a corresponding content\n /* istanbul ignore else */\n if (content) {\n const nav = closest(element, '.nav');\n const container = closest(content, '.tab-content');\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element);\n\n // show first Tab instance of none is shown\n // suggested on #432\n const { tab } = getActiveTab(this);\n if (nav && !tab) {\n const firstTab = querySelector(tabSelector, nav);\n const firstTabContent = firstTab && getTargetElement(firstTab);\n\n /* istanbul ignore else */\n if (firstTabContent) {\n addClass(firstTab, activeClass);\n addClass(firstTabContent, showClass);\n addClass(firstTabContent, activeClass);\n setAttribute(element, ariaSelected, 'true');\n }\n }\n\n // add event listener\n this._toggleEventListeners(true);\n }\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return tabComponent;\n }\n\n // TAB PUBLIC METHODS\n // ==================\n /** Shows the tab to the user. */\n show() {\n const { element, content: nextContent, nav, dropdown } = this;\n\n /* istanbul ignore else */\n if (!(nav && Timer.get(nav)) && !hasClass(element, activeClass)) {\n const { tab, content } = getActiveTab(this);\n\n /* istanbul ignore else */\n if (nav) tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element;\n\n /* istanbul ignore else */\n if (isHTMLElement(tab)) {\n dispatchEvent(tab as EventTarget, hideTabEvent);\n /* istanbul ignore else */\n if (!hideTabEvent.defaultPrevented) {\n addClass(element, activeClass);\n setAttribute(element, ariaSelected, 'true');\n\n const activeDropdown = isHTMLElement(tab) && getParentDropdown(tab);\n if (activeDropdown && hasClass(activeDropdown, activeClass)) {\n removeClass(activeDropdown, activeClass);\n }\n\n /* istanbul ignore else */\n if (nav) {\n const toggleTab = () => {\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, 'false');\n }\n if (dropdown && !hasClass(dropdown, activeClass)) addClass(dropdown, activeClass);\n };\n\n if (content && (hasClass(content, fadeClass) || (nextContent && hasClass(nextContent, fadeClass)))) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n if (content) {\n removeClass(content, showClass);\n if (hasClass(content, fadeClass)) {\n emulateTransitionEnd(content, () => triggerTabHide(this));\n } else {\n triggerTabHide(this);\n }\n }\n }\n }\n }\n }\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.element, mouseclickEvent, tabClickHandler);\n };\n\n /** Removes the `Tab` component from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n"],"names":["tabString","tabComponent","tabSelector","dataBsToggle","getTabInstance","element","getInstance","tabInitCallback","Tab","showTabEvent","createCustomEvent","shownTabEvent","hideTabEvent","hiddenTabEvent","tabPrivate","triggerTabEnd","self","tabContent","nav","hasClass","collapsingClass","removeClass","Timer","triggerTabShow","nextContent","tab","isHTMLElement","fadeClass","currentHeight","nextHeight","reflow","emulateTransitionEnd","dispatchEvent","triggerTabHide","content","addClass","activeClass","c","showClass","getActiveTab","activeTabs","getElementsByClassName","dropdownClasses","getTargetElement","getParentDropdown","dropdown","closest","querySelector","tabClickHandler","e","BaseComponent","target","__publicField","add","addListener","removeListener","mouseclickEvent","container","firstTab","firstTabContent","setAttribute","ariaSelected","activeDropdown","toggleTab"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/toast.cjs b/dist/components/toast.cjs index 14321444..94a0c43e 100644 --- a/dist/components/toast.cjs +++ b/dist/components/toast.cjs @@ -1,2 +1,2 @@ -"use strict";var b=Object.defineProperty;var L=(n,t,s)=>t in n?b(n,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[t]=s;var r=(n,t,s)=>(L(n,typeof t!="symbol"?t+"":t,s),s);const e=require("@thednp/shorty"),v=require("@thednp/event-listener"),h=require("./fadeClass-a4944cf1.js"),u=require("./showClass-2174a6d6.js"),B=require("./dataBsDismiss-4ee313a7.js"),k=require("./dataBsToggle-c8bc9e7f.js"),w=require("./getTargetElement-93cf2bb8.js"),I=require("./base-component-f3cef043.js"),i="toast",q="Toast",_=`.${i}`,x=`[${B.dataBsDismiss}="${i}"]`,S=`[${k.dataBsToggle}="${i}"]`,c="showing",$="hide",A={animation:!0,autohide:!0,delay:5e3},C=n=>e.getInstance(n,q),H=n=>new d(n),f=e.createCustomEvent(`show.bs.${i}`),P=e.createCustomEvent(`shown.bs.${i}`),E=e.createCustomEvent(`hide.bs.${i}`),N=e.createCustomEvent(`hidden.bs.${i}`),T=n=>{const{element:t,options:s}=n;e.removeClass(t,c),e.Timer.clear(t,c),e.dispatchEvent(t,P),s.autohide&&e.Timer.set(t,()=>n.hide(),s.delay,i)},p=n=>{const{element:t}=n;e.removeClass(t,c),e.removeClass(t,u.showClass),e.addClass(t,$),e.Timer.clear(t,i),e.dispatchEvent(t,N)},j=n=>{const{element:t,options:s}=n;e.addClass(t,c),s.animation?(e.reflow(t),e.emulateTransitionEnd(t,()=>p(n))):p(n)},z=n=>{const{element:t,options:s}=n;e.Timer.set(t,()=>{e.removeClass(t,$),e.reflow(t),e.addClass(t,u.showClass),e.addClass(t,c),s.animation?e.emulateTransitionEnd(t,()=>T(n)):T(n)},17,c)},F=n=>{e.Timer.clear(n.element,i),n._toggleEventListeners()},G=n=>{const{target:t}=n,s=t&&e.closest(t,S),o=s&&w.getTargetElement(s),a=o&&C(o);a&&(s&&s.tagName==="A"&&n.preventDefault(),a.relatedTarget=s,a.show())},J=n=>{const t=n.target,s=C(t),{type:o,relatedTarget:a}=n;s&&t!==a&&!t.contains(a)&&([e.mouseenterEvent,e.focusinEvent].includes(o)?e.Timer.clear(t,i):e.Timer.set(t,()=>s.hide(),s.options.delay,i))};class d extends I.BaseComponent{constructor(s,o){super(s,o);r(this,"show",()=>{const{element:s,isShown:o}=this;s&&!o&&(e.dispatchEvent(s,f),f.defaultPrevented||z(this))});r(this,"hide",()=>{const{element:s,isShown:o}=this;s&&o&&(e.dispatchEvent(s,E),E.defaultPrevented||j(this))});r(this,"_toggleEventListeners",s=>{const o=s?v.addListener:v.removeListener,{element:a,triggers:l,dismiss:m,options:y,hide:D}=this;m&&o(m,e.mouseclickEvent,D),y.autohide&&[e.focusinEvent,e.focusoutEvent,e.mouseenterEvent,e.mouseleaveEvent].forEach(g=>o(a,g,J)),l.length&&l.forEach(g=>o(g,e.mouseclickEvent,G))});const{element:a,options:l}=this;l.animation&&!e.hasClass(a,h.fadeClass)?e.addClass(a,h.fadeClass):!l.animation&&e.hasClass(a,h.fadeClass)&&e.removeClass(a,h.fadeClass),this.dismiss=e.querySelector(x,a),this.triggers=[...e.querySelectorAll(S,e.getDocument(a))].filter(m=>w.getTargetElement(m)===a),this._toggleEventListeners(!0)}get name(){return q}get defaults(){return A}get isShown(){return e.hasClass(this.element,u.showClass)}dispose(){const{element:s,isShown:o}=this;o&&e.removeClass(s,u.showClass),F(this),super.dispose()}}r(d,"selector",_),r(d,"init",H),r(d,"getInstance",C);module.exports=d; +"use strict";var b=Object.defineProperty;var L=(n,t,s)=>t in n?b(n,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[t]=s;var r=(n,t,s)=>L(n,typeof t!="symbol"?t+"":t,s);const e=require("@thednp/shorty"),v=require("@thednp/event-listener"),h=require("./fadeClass-Co6nOzNJ.js"),u=require("./showClass-D_Ms1FgG.js"),B=require("./dataBsDismiss-CMHF7If_.js"),k=require("./dataBsToggle-Dj-Ng54N.js"),w=require("./getTargetElement-Cl-PhUJH.js"),I=require("./base-component-j_bwTL_x.js"),i="toast",q="Toast",_=`.${i}`,x=`[${B.dataBsDismiss}="${i}"]`,S=`[${k.dataBsToggle}="${i}"]`,c="showing",$="hide",A={animation:!0,autohide:!0,delay:5e3},C=n=>e.getInstance(n,q),H=n=>new d(n),f=e.createCustomEvent(`show.bs.${i}`),P=e.createCustomEvent(`shown.bs.${i}`),E=e.createCustomEvent(`hide.bs.${i}`),N=e.createCustomEvent(`hidden.bs.${i}`),T=n=>{const{element:t,options:s}=n;e.removeClass(t,c),e.Timer.clear(t,c),e.dispatchEvent(t,P),s.autohide&&e.Timer.set(t,()=>n.hide(),s.delay,i)},p=n=>{const{element:t}=n;e.removeClass(t,c),e.removeClass(t,u.showClass),e.addClass(t,$),e.Timer.clear(t,i),e.dispatchEvent(t,N)},j=n=>{const{element:t,options:s}=n;e.addClass(t,c),s.animation?(e.reflow(t),e.emulateTransitionEnd(t,()=>p(n))):p(n)},z=n=>{const{element:t,options:s}=n;e.Timer.set(t,()=>{e.removeClass(t,$),e.reflow(t),e.addClass(t,u.showClass),e.addClass(t,c),s.animation?e.emulateTransitionEnd(t,()=>T(n)):T(n)},17,c)},F=n=>{e.Timer.clear(n.element,i),n._toggleEventListeners()},G=n=>{const{target:t}=n,s=t&&e.closest(t,S),o=s&&w.getTargetElement(s),a=o&&C(o);a&&(s&&s.tagName==="A"&&n.preventDefault(),a.relatedTarget=s,a.show())},J=n=>{const t=n.target,s=C(t),{type:o,relatedTarget:a}=n;s&&t!==a&&!t.contains(a)&&([e.mouseenterEvent,e.focusinEvent].includes(o)?e.Timer.clear(t,i):e.Timer.set(t,()=>s.hide(),s.options.delay,i))};class d extends I.BaseComponent{constructor(s,o){super(s,o);r(this,"show",()=>{const{element:s,isShown:o}=this;s&&!o&&(e.dispatchEvent(s,f),f.defaultPrevented||z(this))});r(this,"hide",()=>{const{element:s,isShown:o}=this;s&&o&&(e.dispatchEvent(s,E),E.defaultPrevented||j(this))});r(this,"_toggleEventListeners",s=>{const o=s?v.addListener:v.removeListener,{element:a,triggers:l,dismiss:m,options:y,hide:D}=this;m&&o(m,e.mouseclickEvent,D),y.autohide&&[e.focusinEvent,e.focusoutEvent,e.mouseenterEvent,e.mouseleaveEvent].forEach(g=>o(a,g,J)),l.length&&l.forEach(g=>o(g,e.mouseclickEvent,G))});const{element:a,options:l}=this;l.animation&&!e.hasClass(a,h.fadeClass)?e.addClass(a,h.fadeClass):!l.animation&&e.hasClass(a,h.fadeClass)&&e.removeClass(a,h.fadeClass),this.dismiss=e.querySelector(x,a),this.triggers=[...e.querySelectorAll(S,e.getDocument(a))].filter(m=>w.getTargetElement(m)===a),this._toggleEventListeners(!0)}get name(){return q}get defaults(){return A}get isShown(){return e.hasClass(this.element,u.showClass)}dispose(){const{element:s,isShown:o}=this;o&&e.removeClass(s,u.showClass),F(this),super.dispose()}}r(d,"selector",_),r(d,"init",H),r(d,"getInstance",C);module.exports=d; //# sourceMappingURL=toast.cjs.map diff --git a/dist/components/toast.cjs.map b/dist/components/toast.cjs.map index 1c2b6145..f751b5ce 100644 --- a/dist/components/toast.cjs.map +++ b/dist/components/toast.cjs.map @@ -1 +1 @@ -{"version":3,"file":"toast.cjs","sources":["../../src/strings/toastString.ts","../../src/strings/toastComponent.ts","../../src/components/toast.ts"],"sourcesContent":["/** @type {string} */\nconst toastString = 'toast';\nexport default toastString;\n","/** @type {string} */\nconst toastComponent = 'Toast';\nexport default toastComponent;\n","/* Native JavaScript for Bootstrap 5 | Toast\n-------------------------------------------- */\nimport {\n mouseclickEvent,\n closest,\n removeClass,\n hasClass,\n addClass,\n focusoutEvent,\n focusinEvent,\n mouseleaveEvent,\n mouseenterEvent,\n createCustomEvent,\n getDocument,\n Timer,\n getInstance,\n reflow,\n emulateTransitionEnd,\n dispatchEvent,\n querySelectorAll,\n querySelector,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport toastString from '../strings/toastString';\nimport toastComponent from '../strings/toastComponent';\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport { ToastOptions, ToastEvent } from '../interface/toast';\n\n// TOAST PRIVATE GC\n// ================\nconst toastSelector = `.${toastString}`;\nconst toastDismissSelector = `[${dataBsDismiss}=\"${toastString}\"]`;\nconst toastToggleSelector = `[${dataBsToggle}=\"${toastString}\"]`;\nconst showingClass = 'showing';\n/** @deprecated */\nconst hideClass = 'hide';\n\nconst toastDefaults = {\n animation: true,\n autohide: true,\n delay: 5000,\n};\n\n/**\n * Static method which returns an existing `Toast` instance associated\n * to a target `Element`.\n */\nconst getToastInstance = (element: HTMLElement) => getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: HTMLElement) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent(`show.bs.${toastString}`);\nconst shownToastEvent = createCustomEvent(`shown.bs.${toastString}`);\nconst hideToastEvent = createCustomEvent(`hide.bs.${toastString}`);\nconst hiddenToastEvent = createCustomEvent(`hidden.bs.${toastString}`);\n\n// TOAST PRIVATE METHODS\n// =====================\n/**\n * Executes after the toast is shown to the user.\n *\n * @param self the `Toast` instance\n */\nconst showToastComplete = (self: Toast) => {\n const { element, options } = self;\n removeClass(element, showingClass);\n Timer.clear(element, showingClass);\n\n dispatchEvent(element, shownToastEvent);\n /* istanbul ignore else */\n if (options.autohide) {\n Timer.set(element, () => self.hide(), options.delay, toastString);\n }\n};\n\n/**\n * Executes after the toast is hidden to the user.\n *\n * @param self the `Toast` instance\n */\nconst hideToastComplete = (self: Toast) => {\n const { element } = self;\n removeClass(element, showingClass);\n removeClass(element, showClass);\n addClass(element, hideClass); // B/C\n Timer.clear(element, toastString);\n dispatchEvent(element, hiddenToastEvent);\n};\n\n/**\n * Executes before hiding the toast.\n *\n * @param self the `Toast` instance\n */\nconst hideToast = (self: Toast) => {\n const { element, options } = self;\n addClass(element, showingClass);\n\n if (options.animation) {\n reflow(element);\n emulateTransitionEnd(element, () => hideToastComplete(self));\n } else {\n hideToastComplete(self);\n }\n};\n\n/**\n * Executes before showing the toast.\n *\n * @param self the `Toast` instance\n */\nconst showToast = (self: Toast) => {\n const { element, options } = self;\n Timer.set(\n element,\n () => {\n removeClass(element, hideClass); // B/C\n reflow(element);\n addClass(element, showClass);\n addClass(element, showingClass);\n\n if (options.animation) {\n emulateTransitionEnd(element, () => showToastComplete(self));\n } else {\n showToastComplete(self);\n }\n },\n 17,\n showingClass,\n );\n};\n\n// TOAST EVENT HANDLERS\n// ====================\n/**\n * Executes after the instance has been disposed.\n *\n * @param {Toast} self the `Toast` instance\n */\nconst completeDisposeToast = (self: Toast) => {\n Timer.clear(self.element, toastString);\n self._toggleEventListeners();\n};\n\n/**\n * Handles the `click` event listener for toast.\n *\n * @param e the `Event` object\n */\nconst toastClickHandler = (e: Event) => {\n const { target } = e;\n\n const trigger = target && closest(target as HTMLElement, toastToggleSelector);\n const element = trigger && getTargetElement(trigger);\n const self = element && getToastInstance(element);\n\n /* istanbul ignore else */\n if (self) {\n /* istanbul ignore else */\n if (trigger && trigger.tagName === 'A') e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\n }\n};\n\n/**\n * Executes when user interacts with the toast without closing it,\n * usually by hovering or focusing it.\n *\n * @param e the `Toast` instance\n */\nconst interactiveToastHandler = (e: MouseEvent) => {\n const element = e.target as HTMLElement;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n /* istanbul ignore else: a solid filter is required */\n if (self && element !== relatedTarget && !element.contains(relatedTarget as Node)) {\n if ([mouseenterEvent, focusinEvent].includes(type)) {\n Timer.clear(element, toastString);\n } else {\n Timer.set(element, () => self.hide(), self.options.delay, toastString);\n }\n }\n};\n\n// TOAST DEFINITION\n// ================\n/** Creates a new `Toast` instance. */\nexport default class Toast extends BaseComponent {\n static selector = toastSelector;\n static init = toastInitCallback;\n static getInstance = getToastInstance;\n declare options: ToastOptions;\n declare dismiss: HTMLElement | null;\n declare triggers: HTMLElement[];\n declare relatedTarget: HTMLElement | null;\n\n /**\n * @param target the target `.toast` element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n const { element, options } = this;\n\n // set fadeClass, the options.animation will override the markup\n if (options.animation && !hasClass(element, fadeClass)) addClass(element, fadeClass);\n else if (!options.animation && hasClass(element, fadeClass)) removeClass(element, fadeClass);\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [...querySelectorAll(toastToggleSelector, getDocument(element))].filter(\n btn => getTargetElement(btn) === element,\n );\n\n // add event listener\n this._toggleEventListeners(true);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return toastComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return toastDefaults;\n }\n /**\n * Returns *true* when toast is visible.\n */\n get isShown() {\n return hasClass(this.element, showClass);\n }\n\n // TOAST PUBLIC METHODS\n // ====================\n /** Shows the toast. */\n show = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && !isShown) {\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) {\n showToast(this);\n }\n }\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && isShown) {\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) {\n hideToast(this);\n }\n }\n };\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, it will add the listener\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element, triggers, dismiss, options, hide } = this;\n\n /* istanbul ignore else */\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n /* istanbul ignore else */\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(e =>\n action(element, e, interactiveToastHandler),\n );\n }\n /* istanbul ignore else */\n if (triggers.length) {\n triggers.forEach(btn => action(btn, mouseclickEvent, toastClickHandler));\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (isShown) {\n removeClass(element, showClass);\n }\n\n completeDisposeToast(this);\n\n super.dispose();\n }\n}\n"],"names":["toastString","toastComponent","toastSelector","toastDismissSelector","dataBsDismiss","toastToggleSelector","dataBsToggle","showingClass","hideClass","toastDefaults","getToastInstance","element","getInstance","toastInitCallback","Toast","showToastEvent","createCustomEvent","shownToastEvent","hideToastEvent","hiddenToastEvent","showToastComplete","self","options","removeClass","Timer","dispatchEvent","hideToastComplete","showClass","addClass","hideToast","reflow","emulateTransitionEnd","showToast","completeDisposeToast","toastClickHandler","e","target","trigger","closest","getTargetElement","interactiveToastHandler","type","relatedTarget","mouseenterEvent","focusinEvent","BaseComponent","config","__publicField","isShown","add","action","addListener","removeListener","triggers","dismiss","hide","mouseclickEvent","focusoutEvent","mouseleaveEvent","btn","hasClass","fadeClass","querySelector","querySelectorAll","getDocument"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"toast.cjs","sources":["../../src/strings/toastString.ts","../../src/strings/toastComponent.ts","../../src/components/toast.ts"],"sourcesContent":["/** @type {string} */\nconst toastString = 'toast';\nexport default toastString;\n","/** @type {string} */\nconst toastComponent = 'Toast';\nexport default toastComponent;\n","/* Native JavaScript for Bootstrap 5 | Toast\n-------------------------------------------- */\nimport {\n mouseclickEvent,\n closest,\n removeClass,\n hasClass,\n addClass,\n focusoutEvent,\n focusinEvent,\n mouseleaveEvent,\n mouseenterEvent,\n createCustomEvent,\n getDocument,\n Timer,\n getInstance,\n reflow,\n emulateTransitionEnd,\n dispatchEvent,\n querySelectorAll,\n querySelector,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport toastString from '../strings/toastString';\nimport toastComponent from '../strings/toastComponent';\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport { ToastOptions, ToastEvent } from '../interface/toast';\n\n// TOAST PRIVATE GC\n// ================\nconst toastSelector = `.${toastString}`;\nconst toastDismissSelector = `[${dataBsDismiss}=\"${toastString}\"]`;\nconst toastToggleSelector = `[${dataBsToggle}=\"${toastString}\"]`;\nconst showingClass = 'showing';\n/** @deprecated */\nconst hideClass = 'hide';\n\nconst toastDefaults = {\n animation: true,\n autohide: true,\n delay: 5000,\n};\n\n/**\n * Static method which returns an existing `Toast` instance associated\n * to a target `Element`.\n */\nconst getToastInstance = (element: HTMLElement) => getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: HTMLElement) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent(`show.bs.${toastString}`);\nconst shownToastEvent = createCustomEvent(`shown.bs.${toastString}`);\nconst hideToastEvent = createCustomEvent(`hide.bs.${toastString}`);\nconst hiddenToastEvent = createCustomEvent(`hidden.bs.${toastString}`);\n\n// TOAST PRIVATE METHODS\n// =====================\n/**\n * Executes after the toast is shown to the user.\n *\n * @param self the `Toast` instance\n */\nconst showToastComplete = (self: Toast) => {\n const { element, options } = self;\n removeClass(element, showingClass);\n Timer.clear(element, showingClass);\n\n dispatchEvent(element, shownToastEvent);\n /* istanbul ignore else */\n if (options.autohide) {\n Timer.set(element, () => self.hide(), options.delay, toastString);\n }\n};\n\n/**\n * Executes after the toast is hidden to the user.\n *\n * @param self the `Toast` instance\n */\nconst hideToastComplete = (self: Toast) => {\n const { element } = self;\n removeClass(element, showingClass);\n removeClass(element, showClass);\n addClass(element, hideClass); // B/C\n Timer.clear(element, toastString);\n dispatchEvent(element, hiddenToastEvent);\n};\n\n/**\n * Executes before hiding the toast.\n *\n * @param self the `Toast` instance\n */\nconst hideToast = (self: Toast) => {\n const { element, options } = self;\n addClass(element, showingClass);\n\n if (options.animation) {\n reflow(element);\n emulateTransitionEnd(element, () => hideToastComplete(self));\n } else {\n hideToastComplete(self);\n }\n};\n\n/**\n * Executes before showing the toast.\n *\n * @param self the `Toast` instance\n */\nconst showToast = (self: Toast) => {\n const { element, options } = self;\n Timer.set(\n element,\n () => {\n removeClass(element, hideClass); // B/C\n reflow(element);\n addClass(element, showClass);\n addClass(element, showingClass);\n\n if (options.animation) {\n emulateTransitionEnd(element, () => showToastComplete(self));\n } else {\n showToastComplete(self);\n }\n },\n 17,\n showingClass,\n );\n};\n\n// TOAST EVENT HANDLERS\n// ====================\n/**\n * Executes after the instance has been disposed.\n *\n * @param {Toast} self the `Toast` instance\n */\nconst completeDisposeToast = (self: Toast) => {\n Timer.clear(self.element, toastString);\n self._toggleEventListeners();\n};\n\n/**\n * Handles the `click` event listener for toast.\n *\n * @param e the `Event` object\n */\nconst toastClickHandler = (e: Event) => {\n const { target } = e;\n\n const trigger = target && closest(target as HTMLElement, toastToggleSelector);\n const element = trigger && getTargetElement(trigger);\n const self = element && getToastInstance(element);\n\n /* istanbul ignore else */\n if (self) {\n /* istanbul ignore else */\n if (trigger && trigger.tagName === 'A') e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\n }\n};\n\n/**\n * Executes when user interacts with the toast without closing it,\n * usually by hovering or focusing it.\n *\n * @param e the `Toast` instance\n */\nconst interactiveToastHandler = (e: MouseEvent) => {\n const element = e.target as HTMLElement;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n /* istanbul ignore else: a solid filter is required */\n if (self && element !== relatedTarget && !element.contains(relatedTarget as Node)) {\n if ([mouseenterEvent, focusinEvent].includes(type)) {\n Timer.clear(element, toastString);\n } else {\n Timer.set(element, () => self.hide(), self.options.delay, toastString);\n }\n }\n};\n\n// TOAST DEFINITION\n// ================\n/** Creates a new `Toast` instance. */\nexport default class Toast extends BaseComponent {\n static selector = toastSelector;\n static init = toastInitCallback;\n static getInstance = getToastInstance;\n declare options: ToastOptions;\n declare dismiss: HTMLElement | null;\n declare triggers: HTMLElement[];\n declare relatedTarget: HTMLElement | null;\n\n /**\n * @param target the target `.toast` element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n const { element, options } = this;\n\n // set fadeClass, the options.animation will override the markup\n if (options.animation && !hasClass(element, fadeClass)) addClass(element, fadeClass);\n else if (!options.animation && hasClass(element, fadeClass)) removeClass(element, fadeClass);\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [...querySelectorAll(toastToggleSelector, getDocument(element))].filter(\n btn => getTargetElement(btn) === element,\n );\n\n // add event listener\n this._toggleEventListeners(true);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return toastComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return toastDefaults;\n }\n /**\n * Returns *true* when toast is visible.\n */\n get isShown() {\n return hasClass(this.element, showClass);\n }\n\n // TOAST PUBLIC METHODS\n // ====================\n /** Shows the toast. */\n show = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && !isShown) {\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) {\n showToast(this);\n }\n }\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && isShown) {\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) {\n hideToast(this);\n }\n }\n };\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, it will add the listener\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element, triggers, dismiss, options, hide } = this;\n\n /* istanbul ignore else */\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n /* istanbul ignore else */\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(e =>\n action(element, e, interactiveToastHandler),\n );\n }\n /* istanbul ignore else */\n if (triggers.length) {\n triggers.forEach(btn => action(btn, mouseclickEvent, toastClickHandler));\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (isShown) {\n removeClass(element, showClass);\n }\n\n completeDisposeToast(this);\n\n super.dispose();\n }\n}\n"],"names":["toastString","toastComponent","toastSelector","toastDismissSelector","dataBsDismiss","toastToggleSelector","dataBsToggle","showingClass","hideClass","toastDefaults","getToastInstance","element","getInstance","toastInitCallback","Toast","showToastEvent","createCustomEvent","shownToastEvent","hideToastEvent","hiddenToastEvent","showToastComplete","self","options","removeClass","Timer","dispatchEvent","hideToastComplete","showClass","addClass","hideToast","reflow","emulateTransitionEnd","showToast","completeDisposeToast","toastClickHandler","e","target","trigger","closest","getTargetElement","interactiveToastHandler","type","relatedTarget","mouseenterEvent","focusinEvent","BaseComponent","config","__publicField","isShown","add","action","addListener","removeListener","triggers","dismiss","hide","mouseclickEvent","focusoutEvent","mouseleaveEvent","btn","hasClass","fadeClass","querySelector","querySelectorAll","getDocument"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/toast.d.ts b/dist/components/toast.d.ts index 2a6aff54..d3ba396e 100644 --- a/dist/components/toast.d.ts +++ b/dist/components/toast.d.ts @@ -23,7 +23,7 @@ export interface ToastOptions extends BaseOptions { delay: number; } /** Creates a new `Toast` instance. */ -export default class Toast extends BaseComponent { +declare class Toast extends BaseComponent { static selector: string; static init: (element: HTMLElement) => Toast; static getInstance: (element: HTMLElement) => Toast | null; @@ -66,6 +66,10 @@ export default class Toast extends BaseComponent { dispose(): void; } +export { + Toast as default, +}; + export as namespace Toast; export {}; diff --git a/dist/components/toast.mjs b/dist/components/toast.mjs index 14b9b581..79a3a409 100644 --- a/dist/components/toast.mjs +++ b/dist/components/toast.mjs @@ -1,14 +1,14 @@ var P = Object.defineProperty; var N = (s, t, e) => t in s ? P(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e; -var a = (s, t, e) => (N(s, typeof t != "symbol" ? t + "" : t, e), e); +var a = (s, t, e) => N(s, typeof t != "symbol" ? t + "" : t, e); import { createCustomEvent as v, hasClass as w, addClass as d, removeClass as c, querySelector as j, querySelectorAll as z, getDocument as F, dispatchEvent as u, mouseclickEvent as C, focusinEvent as b, focusoutEvent as G, mouseenterEvent as L, mouseleaveEvent as J, getInstance as K, reflow as B, emulateTransitionEnd as I, Timer as r, closest as M } from "@thednp/shorty"; import { addListener as O, removeListener as Q } from "@thednp/event-listener"; -import { f } from "./fadeClass-0d50d035.mjs"; -import { s as p } from "./showClass-f6a4d601.mjs"; -import { d as R } from "./dataBsDismiss-afbfbc79.mjs"; -import { d as U } from "./dataBsToggle-330f300b.mjs"; -import { g as k } from "./getTargetElement-17dc71b9.mjs"; -import { B as V } from "./base-component-a56d44ba.mjs"; +import { f } from "./fadeClass-CLIYI_zn.mjs"; +import { s as p } from "./showClass-C8hdJfjQ.mjs"; +import { d as R } from "./dataBsDismiss-DdNPQYa-.mjs"; +import { d as U } from "./dataBsToggle-B84TS15h.mjs"; +import { g as k } from "./getTargetElement-DbfK8LsG.mjs"; +import { B as V } from "./base-component-DvIOojVW.mjs"; const i = "toast", _ = "Toast", W = `.${i}`, X = `[${R}="${i}"]`, q = `[${U}="${i}"]`, l = "showing", x = "hide", Y = { animation: !0, autohide: !0, diff --git a/dist/components/toast.mjs.map b/dist/components/toast.mjs.map index 7164a0cb..f8e6b1db 100644 --- a/dist/components/toast.mjs.map +++ b/dist/components/toast.mjs.map @@ -1 +1 @@ -{"version":3,"file":"toast.mjs","sources":["../../src/strings/toastString.ts","../../src/strings/toastComponent.ts","../../src/components/toast.ts"],"sourcesContent":["/** @type {string} */\nconst toastString = 'toast';\nexport default toastString;\n","/** @type {string} */\nconst toastComponent = 'Toast';\nexport default toastComponent;\n","/* Native JavaScript for Bootstrap 5 | Toast\n-------------------------------------------- */\nimport {\n mouseclickEvent,\n closest,\n removeClass,\n hasClass,\n addClass,\n focusoutEvent,\n focusinEvent,\n mouseleaveEvent,\n mouseenterEvent,\n createCustomEvent,\n getDocument,\n Timer,\n getInstance,\n reflow,\n emulateTransitionEnd,\n dispatchEvent,\n querySelectorAll,\n querySelector,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport toastString from '../strings/toastString';\nimport toastComponent from '../strings/toastComponent';\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport { ToastOptions, ToastEvent } from '../interface/toast';\n\n// TOAST PRIVATE GC\n// ================\nconst toastSelector = `.${toastString}`;\nconst toastDismissSelector = `[${dataBsDismiss}=\"${toastString}\"]`;\nconst toastToggleSelector = `[${dataBsToggle}=\"${toastString}\"]`;\nconst showingClass = 'showing';\n/** @deprecated */\nconst hideClass = 'hide';\n\nconst toastDefaults = {\n animation: true,\n autohide: true,\n delay: 5000,\n};\n\n/**\n * Static method which returns an existing `Toast` instance associated\n * to a target `Element`.\n */\nconst getToastInstance = (element: HTMLElement) => getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: HTMLElement) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent(`show.bs.${toastString}`);\nconst shownToastEvent = createCustomEvent(`shown.bs.${toastString}`);\nconst hideToastEvent = createCustomEvent(`hide.bs.${toastString}`);\nconst hiddenToastEvent = createCustomEvent(`hidden.bs.${toastString}`);\n\n// TOAST PRIVATE METHODS\n// =====================\n/**\n * Executes after the toast is shown to the user.\n *\n * @param self the `Toast` instance\n */\nconst showToastComplete = (self: Toast) => {\n const { element, options } = self;\n removeClass(element, showingClass);\n Timer.clear(element, showingClass);\n\n dispatchEvent(element, shownToastEvent);\n /* istanbul ignore else */\n if (options.autohide) {\n Timer.set(element, () => self.hide(), options.delay, toastString);\n }\n};\n\n/**\n * Executes after the toast is hidden to the user.\n *\n * @param self the `Toast` instance\n */\nconst hideToastComplete = (self: Toast) => {\n const { element } = self;\n removeClass(element, showingClass);\n removeClass(element, showClass);\n addClass(element, hideClass); // B/C\n Timer.clear(element, toastString);\n dispatchEvent(element, hiddenToastEvent);\n};\n\n/**\n * Executes before hiding the toast.\n *\n * @param self the `Toast` instance\n */\nconst hideToast = (self: Toast) => {\n const { element, options } = self;\n addClass(element, showingClass);\n\n if (options.animation) {\n reflow(element);\n emulateTransitionEnd(element, () => hideToastComplete(self));\n } else {\n hideToastComplete(self);\n }\n};\n\n/**\n * Executes before showing the toast.\n *\n * @param self the `Toast` instance\n */\nconst showToast = (self: Toast) => {\n const { element, options } = self;\n Timer.set(\n element,\n () => {\n removeClass(element, hideClass); // B/C\n reflow(element);\n addClass(element, showClass);\n addClass(element, showingClass);\n\n if (options.animation) {\n emulateTransitionEnd(element, () => showToastComplete(self));\n } else {\n showToastComplete(self);\n }\n },\n 17,\n showingClass,\n );\n};\n\n// TOAST EVENT HANDLERS\n// ====================\n/**\n * Executes after the instance has been disposed.\n *\n * @param {Toast} self the `Toast` instance\n */\nconst completeDisposeToast = (self: Toast) => {\n Timer.clear(self.element, toastString);\n self._toggleEventListeners();\n};\n\n/**\n * Handles the `click` event listener for toast.\n *\n * @param e the `Event` object\n */\nconst toastClickHandler = (e: Event) => {\n const { target } = e;\n\n const trigger = target && closest(target as HTMLElement, toastToggleSelector);\n const element = trigger && getTargetElement(trigger);\n const self = element && getToastInstance(element);\n\n /* istanbul ignore else */\n if (self) {\n /* istanbul ignore else */\n if (trigger && trigger.tagName === 'A') e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\n }\n};\n\n/**\n * Executes when user interacts with the toast without closing it,\n * usually by hovering or focusing it.\n *\n * @param e the `Toast` instance\n */\nconst interactiveToastHandler = (e: MouseEvent) => {\n const element = e.target as HTMLElement;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n /* istanbul ignore else: a solid filter is required */\n if (self && element !== relatedTarget && !element.contains(relatedTarget as Node)) {\n if ([mouseenterEvent, focusinEvent].includes(type)) {\n Timer.clear(element, toastString);\n } else {\n Timer.set(element, () => self.hide(), self.options.delay, toastString);\n }\n }\n};\n\n// TOAST DEFINITION\n// ================\n/** Creates a new `Toast` instance. */\nexport default class Toast extends BaseComponent {\n static selector = toastSelector;\n static init = toastInitCallback;\n static getInstance = getToastInstance;\n declare options: ToastOptions;\n declare dismiss: HTMLElement | null;\n declare triggers: HTMLElement[];\n declare relatedTarget: HTMLElement | null;\n\n /**\n * @param target the target `.toast` element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n const { element, options } = this;\n\n // set fadeClass, the options.animation will override the markup\n if (options.animation && !hasClass(element, fadeClass)) addClass(element, fadeClass);\n else if (!options.animation && hasClass(element, fadeClass)) removeClass(element, fadeClass);\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [...querySelectorAll(toastToggleSelector, getDocument(element))].filter(\n btn => getTargetElement(btn) === element,\n );\n\n // add event listener\n this._toggleEventListeners(true);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return toastComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return toastDefaults;\n }\n /**\n * Returns *true* when toast is visible.\n */\n get isShown() {\n return hasClass(this.element, showClass);\n }\n\n // TOAST PUBLIC METHODS\n // ====================\n /** Shows the toast. */\n show = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && !isShown) {\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) {\n showToast(this);\n }\n }\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && isShown) {\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) {\n hideToast(this);\n }\n }\n };\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, it will add the listener\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element, triggers, dismiss, options, hide } = this;\n\n /* istanbul ignore else */\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n /* istanbul ignore else */\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(e =>\n action(element, e, interactiveToastHandler),\n );\n }\n /* istanbul ignore else */\n if (triggers.length) {\n triggers.forEach(btn => action(btn, mouseclickEvent, toastClickHandler));\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (isShown) {\n removeClass(element, showClass);\n }\n\n completeDisposeToast(this);\n\n super.dispose();\n }\n}\n"],"names":["toastString","toastComponent","toastSelector","toastDismissSelector","dataBsDismiss","toastToggleSelector","dataBsToggle","showingClass","hideClass","toastDefaults","getToastInstance","element","getInstance","toastInitCallback","Toast","showToastEvent","createCustomEvent","shownToastEvent","hideToastEvent","hiddenToastEvent","showToastComplete","self","options","removeClass","Timer","dispatchEvent","hideToastComplete","showClass","addClass","hideToast","reflow","emulateTransitionEnd","showToast","completeDisposeToast","toastClickHandler","e","target","trigger","closest","getTargetElement","interactiveToastHandler","type","relatedTarget","mouseenterEvent","focusinEvent","BaseComponent","config","__publicField","isShown","add","action","addListener","removeListener","triggers","dismiss","hide","mouseclickEvent","focusoutEvent","mouseleaveEvent","btn","hasClass","fadeClass","querySelector","querySelectorAll","getDocument"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"toast.mjs","sources":["../../src/strings/toastString.ts","../../src/strings/toastComponent.ts","../../src/components/toast.ts"],"sourcesContent":["/** @type {string} */\nconst toastString = 'toast';\nexport default toastString;\n","/** @type {string} */\nconst toastComponent = 'Toast';\nexport default toastComponent;\n","/* Native JavaScript for Bootstrap 5 | Toast\n-------------------------------------------- */\nimport {\n mouseclickEvent,\n closest,\n removeClass,\n hasClass,\n addClass,\n focusoutEvent,\n focusinEvent,\n mouseleaveEvent,\n mouseenterEvent,\n createCustomEvent,\n getDocument,\n Timer,\n getInstance,\n reflow,\n emulateTransitionEnd,\n dispatchEvent,\n querySelectorAll,\n querySelector,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport toastString from '../strings/toastString';\nimport toastComponent from '../strings/toastComponent';\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport { ToastOptions, ToastEvent } from '../interface/toast';\n\n// TOAST PRIVATE GC\n// ================\nconst toastSelector = `.${toastString}`;\nconst toastDismissSelector = `[${dataBsDismiss}=\"${toastString}\"]`;\nconst toastToggleSelector = `[${dataBsToggle}=\"${toastString}\"]`;\nconst showingClass = 'showing';\n/** @deprecated */\nconst hideClass = 'hide';\n\nconst toastDefaults = {\n animation: true,\n autohide: true,\n delay: 5000,\n};\n\n/**\n * Static method which returns an existing `Toast` instance associated\n * to a target `Element`.\n */\nconst getToastInstance = (element: HTMLElement) => getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: HTMLElement) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent(`show.bs.${toastString}`);\nconst shownToastEvent = createCustomEvent(`shown.bs.${toastString}`);\nconst hideToastEvent = createCustomEvent(`hide.bs.${toastString}`);\nconst hiddenToastEvent = createCustomEvent(`hidden.bs.${toastString}`);\n\n// TOAST PRIVATE METHODS\n// =====================\n/**\n * Executes after the toast is shown to the user.\n *\n * @param self the `Toast` instance\n */\nconst showToastComplete = (self: Toast) => {\n const { element, options } = self;\n removeClass(element, showingClass);\n Timer.clear(element, showingClass);\n\n dispatchEvent(element, shownToastEvent);\n /* istanbul ignore else */\n if (options.autohide) {\n Timer.set(element, () => self.hide(), options.delay, toastString);\n }\n};\n\n/**\n * Executes after the toast is hidden to the user.\n *\n * @param self the `Toast` instance\n */\nconst hideToastComplete = (self: Toast) => {\n const { element } = self;\n removeClass(element, showingClass);\n removeClass(element, showClass);\n addClass(element, hideClass); // B/C\n Timer.clear(element, toastString);\n dispatchEvent(element, hiddenToastEvent);\n};\n\n/**\n * Executes before hiding the toast.\n *\n * @param self the `Toast` instance\n */\nconst hideToast = (self: Toast) => {\n const { element, options } = self;\n addClass(element, showingClass);\n\n if (options.animation) {\n reflow(element);\n emulateTransitionEnd(element, () => hideToastComplete(self));\n } else {\n hideToastComplete(self);\n }\n};\n\n/**\n * Executes before showing the toast.\n *\n * @param self the `Toast` instance\n */\nconst showToast = (self: Toast) => {\n const { element, options } = self;\n Timer.set(\n element,\n () => {\n removeClass(element, hideClass); // B/C\n reflow(element);\n addClass(element, showClass);\n addClass(element, showingClass);\n\n if (options.animation) {\n emulateTransitionEnd(element, () => showToastComplete(self));\n } else {\n showToastComplete(self);\n }\n },\n 17,\n showingClass,\n );\n};\n\n// TOAST EVENT HANDLERS\n// ====================\n/**\n * Executes after the instance has been disposed.\n *\n * @param {Toast} self the `Toast` instance\n */\nconst completeDisposeToast = (self: Toast) => {\n Timer.clear(self.element, toastString);\n self._toggleEventListeners();\n};\n\n/**\n * Handles the `click` event listener for toast.\n *\n * @param e the `Event` object\n */\nconst toastClickHandler = (e: Event) => {\n const { target } = e;\n\n const trigger = target && closest(target as HTMLElement, toastToggleSelector);\n const element = trigger && getTargetElement(trigger);\n const self = element && getToastInstance(element);\n\n /* istanbul ignore else */\n if (self) {\n /* istanbul ignore else */\n if (trigger && trigger.tagName === 'A') e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\n }\n};\n\n/**\n * Executes when user interacts with the toast without closing it,\n * usually by hovering or focusing it.\n *\n * @param e the `Toast` instance\n */\nconst interactiveToastHandler = (e: MouseEvent) => {\n const element = e.target as HTMLElement;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n /* istanbul ignore else: a solid filter is required */\n if (self && element !== relatedTarget && !element.contains(relatedTarget as Node)) {\n if ([mouseenterEvent, focusinEvent].includes(type)) {\n Timer.clear(element, toastString);\n } else {\n Timer.set(element, () => self.hide(), self.options.delay, toastString);\n }\n }\n};\n\n// TOAST DEFINITION\n// ================\n/** Creates a new `Toast` instance. */\nexport default class Toast extends BaseComponent {\n static selector = toastSelector;\n static init = toastInitCallback;\n static getInstance = getToastInstance;\n declare options: ToastOptions;\n declare dismiss: HTMLElement | null;\n declare triggers: HTMLElement[];\n declare relatedTarget: HTMLElement | null;\n\n /**\n * @param target the target `.toast` element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n const { element, options } = this;\n\n // set fadeClass, the options.animation will override the markup\n if (options.animation && !hasClass(element, fadeClass)) addClass(element, fadeClass);\n else if (!options.animation && hasClass(element, fadeClass)) removeClass(element, fadeClass);\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [...querySelectorAll(toastToggleSelector, getDocument(element))].filter(\n btn => getTargetElement(btn) === element,\n );\n\n // add event listener\n this._toggleEventListeners(true);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return toastComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return toastDefaults;\n }\n /**\n * Returns *true* when toast is visible.\n */\n get isShown() {\n return hasClass(this.element, showClass);\n }\n\n // TOAST PUBLIC METHODS\n // ====================\n /** Shows the toast. */\n show = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && !isShown) {\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) {\n showToast(this);\n }\n }\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && isShown) {\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) {\n hideToast(this);\n }\n }\n };\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, it will add the listener\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element, triggers, dismiss, options, hide } = this;\n\n /* istanbul ignore else */\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n /* istanbul ignore else */\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(e =>\n action(element, e, interactiveToastHandler),\n );\n }\n /* istanbul ignore else */\n if (triggers.length) {\n triggers.forEach(btn => action(btn, mouseclickEvent, toastClickHandler));\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (isShown) {\n removeClass(element, showClass);\n }\n\n completeDisposeToast(this);\n\n super.dispose();\n }\n}\n"],"names":["toastString","toastComponent","toastSelector","toastDismissSelector","dataBsDismiss","toastToggleSelector","dataBsToggle","showingClass","hideClass","toastDefaults","getToastInstance","element","getInstance","toastInitCallback","Toast","showToastEvent","createCustomEvent","shownToastEvent","hideToastEvent","hiddenToastEvent","showToastComplete","self","options","removeClass","Timer","dispatchEvent","hideToastComplete","showClass","addClass","hideToast","reflow","emulateTransitionEnd","showToast","completeDisposeToast","toastClickHandler","e","target","trigger","closest","getTargetElement","interactiveToastHandler","type","relatedTarget","mouseenterEvent","focusinEvent","BaseComponent","config","__publicField","isShown","add","action","addListener","removeListener","triggers","dismiss","hide","mouseclickEvent","focusoutEvent","mouseleaveEvent","btn","hasClass","fadeClass","querySelector","querySelectorAll","getDocument"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/tooltip-4ba42f84.mjs b/dist/components/tooltip-BuF2bDNc.mjs similarity index 94% rename from dist/components/tooltip-4ba42f84.mjs rename to dist/components/tooltip-BuF2bDNc.mjs index 3603da87..14cc5f11 100644 --- a/dist/components/tooltip-4ba42f84.mjs +++ b/dist/components/tooltip-BuF2bDNc.mjs @@ -1,13 +1,13 @@ var qt = Object.defineProperty; var Ut = (o, i, e) => i in o ? qt(o, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[i] = e; -var g = (o, i, e) => (Ut(o, typeof i != "symbol" ? i + "" : i, e), e); +var g = (o, i, e) => Ut(o, typeof i != "symbol" ? i + "" : i, e); import { isRTL as xt, setElementStyle as pt, getDocumentElement as Yt, getElementStyle as st, getBoundingClientRect as Gt, isHTMLElement as x, createCustomEvent as J, toLowerCase as K, dispatchEvent as Q, isString as Jt, isFunction as Kt, isNodeList as Qt, isArray as Vt, isNode as Xt, createElement as q, setAttribute as nt, querySelector as et, addClass as W, hasClass as Y, getParentNode as Zt, isShadowRoot as te, isTableElement as ee, getDocument as lt, getInstance as St, getUID as oe, ObjectAssign as ie, hasAttribute as Lt, focus as se, Timer as B, ariaDescribedBy as Nt, emulateTransitionEnd as ot, removeClass as ne, mousehoverEvent as le, mousedownEvent as ae, mouseenterEvent as ce, mouseleaveEvent as re, touchstartEvent as At, passiveHandler as V, mouseclickEvent as mt, focusEvent as de, focusinEvent as he, focusoutEvent as pe, isApple as me, closest as vt, getWindow as Wt, resizeEvent as Bt, scrollEvent as Ot, getAttribute as fe, removeAttribute as Rt } from "@thednp/shorty"; import { addListener as ut, removeListener as gt } from "@thednp/event-listener"; -import { d as ue } from "./dataBsToggle-330f300b.mjs"; -import { s as ft } from "./showClass-f6a4d601.mjs"; -import { a as ge, h as ve, m as bt, o as wt, r as be } from "./popupContainer-82392867.mjs"; -import { f as Et } from "./fadeClass-0d50d035.mjs"; -import { B as we } from "./base-component-a56d44ba.mjs"; +import { d as ue } from "./dataBsToggle-B84TS15h.mjs"; +import { s as ft } from "./showClass-C8hdJfjQ.mjs"; +import { a as ge, h as ve, m as bt, o as wt, r as be } from "./popupContainer-C6AuDE5e.mjs"; +import { f as Et } from "./fadeClass-CLIYI_zn.mjs"; +import { B as we } from "./base-component-DvIOojVW.mjs"; const it = "popover", Dt = "Popover", T = "tooltip", Ee = (o) => { const i = o === T, e = i ? `${o}-inner` : `${o}-body`, t = i ? "" : `

`, s = `
`, n = `
`; return `
${t + s + n}
`; @@ -83,8 +83,7 @@ const it = "popover", Dt = "Popover", T = "tooltip", Ee = (o) => { Kt(e) && (t = e(t)); const n = new DOMParser().parseFromString(t, "text/html"); o.append(...n.body.childNodes); - } else - x(i) ? o.append(i) : (Qt(i) || Vt(i) && i.every(Xt)) && o.append(...i); + } else x(i) ? o.append(i) : (Qt(i) || Vt(i) && i.every(Xt)) && o.append(...i); }, $e = (o) => { const i = o.name === O, { id: e, element: t, options: s } = o, { title: n, placement: a, template: p, animation: f, customClass: c, sanitizeFn: r, dismissible: d, content: b, btnClose: w } = s, R = i ? T : it, l = { ...Mt }; let E = [], $ = []; @@ -107,28 +106,24 @@ const it = "popover", Dt = "Popover", T = "tooltip", Ee = (o) => { const L = i ? `${T}-inner` : `${it}-body`, C = i ? null : et(`.${it}-header`, h), u = et(`.${L}`, h); o.arrow = et(`.${R}-arrow`, h); const { arrow: v } = o; - if (x(n)) - E = [n.cloneNode(!0)]; + if (x(n)) E = [n.cloneNode(!0)]; else { const m = q("div"); H(m, n, r), E = [...m.childNodes]; } - if (x(b)) - $ = [b.cloneNode(!0)]; + if (x(b)) $ = [b.cloneNode(!0)]; else { const m = q("div"); H(m, b, r), $ = [...m.childNodes]; } if (d) if (n) - if (x(w)) - E = [...E, w.cloneNode(!0)]; + if (x(w)) E = [...E, w.cloneNode(!0)]; else { const m = q("div"); H(m, w, r), E = [...E, m.firstChild]; } - else if (C && C.remove(), x(w)) - $ = [...$, w.cloneNode(!0)]; + else if (C && C.remove(), x(w)) $ = [...$, w.cloneNode(!0)]; else { const m = q("div"); H(m, w, r), $ = [...$, m.firstChild]; @@ -293,4 +288,4 @@ export { $t as s, Tt as t }; -//# sourceMappingURL=tooltip-4ba42f84.mjs.map +//# sourceMappingURL=tooltip-BuF2bDNc.mjs.map diff --git a/dist/components/tooltip-4ba42f84.mjs.map b/dist/components/tooltip-BuF2bDNc.mjs.map similarity index 82% rename from dist/components/tooltip-4ba42f84.mjs.map rename to dist/components/tooltip-BuF2bDNc.mjs.map index e5ca3c29..1e4f3041 100644 --- a/dist/components/tooltip-4ba42f84.mjs.map +++ b/dist/components/tooltip-BuF2bDNc.mjs.map @@ -1 +1 @@ -{"version":3,"file":"tooltip-4ba42f84.mjs","sources":["../../src/strings/popoverString.ts","../../src/strings/popoverComponent.ts","../../src/strings/tooltipString.ts","../../src/util/getTipTemplate.ts","../../src/util/tipClassPositions.ts","../../src/util/styleTip.ts","../../src/util/tooltipDefaults.ts","../../src/strings/dataOriginalTitle.ts","../../src/strings/tooltipComponent.ts","../../src/util/setHtml.ts","../../src/util/createTip.ts","../../src/util/getElementContainer.ts","../../src/components/tooltip.ts"],"sourcesContent":["/** @type {string} */\nconst popoverString = 'popover';\nexport default popoverString;\n","/** @type {string} */\nconst popoverComponent = 'Popover';\nexport default popoverComponent;\n","/** @type {string} */\nconst tooltipString = 'tooltip';\nexport default tooltipString;\n","import tooltipString from '../strings/tooltipString';\n\n/**\n * Returns a template for Popover / Tooltip.\n *\n * @param tipType the expected markup type\n * @returns the template markup\n */\nconst getTipTemplate = (tipType: string) => {\n const isTooltip = tipType === tooltipString;\n const bodyClass = isTooltip ? `${tipType}-inner` : `${tipType}-body`;\n const header = !isTooltip ? `

` : '';\n const arrow = `
`;\n const body = `
`;\n return `
${header + arrow + body}
`;\n};\n\nexport default getTipTemplate;\n","const tipClassPositions = {\n top: 'top',\n bottom: 'bottom',\n left: 'start',\n right: 'end',\n};\n\nexport default tipClassPositions;\n","import {\n isHTMLElement,\n setElementStyle,\n getDocumentElement,\n getBoundingClientRect,\n getElementStyle,\n isRTL,\n toLowerCase,\n createCustomEvent,\n dispatchEvent,\n} from '@thednp/shorty';\n\nimport popoverComponent from '../strings/popoverComponent';\nimport tipClassPositions from './tipClassPositions';\nimport Tooltip from '../components/tooltip';\nimport type { TooltipEvent } from '../interface/tooltip';\nimport type { PopoverEvent } from '../interface/popover';\n\n/**\n * Style popovers and tooltips.\n *\n * @param self the `Popover` / `Tooltip` instance\n */\nconst styleTip = (self: T) => {\n const tipClasses = /\\b(top|bottom|start|end)+/;\n const { element, tooltip, container, options, arrow } = self;\n\n /* istanbul ignore else */\n if (tooltip) {\n const tipPositions = { ...tipClassPositions };\n const RTL = isRTL(element);\n\n // reset tooltip style (top: 0, left: 0 works best)\n setElementStyle(tooltip, {\n // top: '0px', left: '0px', right: '', bottom: '',\n top: '',\n left: '',\n right: '',\n bottom: '',\n });\n const isPopover = self.name === popoverComponent;\n const { offsetWidth: tipWidth, offsetHeight: tipHeight } = tooltip;\n const { clientWidth: htmlcw, clientHeight: htmlch, offsetWidth: htmlow } = getDocumentElement(element);\n let { placement } = options;\n const { clientWidth: parentCWidth, offsetWidth: parentOWidth } = container as HTMLElement;\n const parentPosition = getElementStyle(container as HTMLElement, 'position');\n const fixedParent = parentPosition === 'fixed';\n const scrollbarWidth = fixedParent ? Math.abs(parentCWidth - parentOWidth) : Math.abs(htmlcw - htmlow);\n const leftBoundry = RTL && fixedParent ? /* istanbul ignore next */ scrollbarWidth : 0;\n const rightBoundry = htmlcw - (!RTL ? scrollbarWidth : 0) - 1;\n const {\n width: elemWidth,\n height: elemHeight,\n left: elemRectLeft,\n right: elemRectRight,\n top: elemRectTop,\n } = getBoundingClientRect(element, true);\n const { x, y } = {\n x: elemRectLeft,\n y: elemRectTop,\n };\n // reset arrow style\n setElementStyle(arrow as HTMLElement, {\n top: '',\n left: '',\n right: '',\n bottom: '',\n });\n let topPosition: number | string = 0;\n let bottomPosition: number | string = '';\n let leftPosition: number | string = 0;\n let rightPosition: number | string = '';\n let arrowTop: number | string = '';\n let arrowLeft: number | string = '';\n let arrowRight: number | string = '';\n\n const arrowWidth = (arrow as HTMLElement).offsetWidth || 0;\n const arrowHeight = (arrow as HTMLElement).offsetHeight || 0;\n const arrowAdjust = arrowWidth / 2;\n\n // check placement\n let topExceed = elemRectTop - tipHeight - arrowHeight < 0;\n let bottomExceed = elemRectTop + tipHeight + elemHeight + arrowHeight >= htmlch;\n let leftExceed = elemRectLeft - tipWidth - arrowWidth < leftBoundry;\n let rightExceed = elemRectLeft + tipWidth + elemWidth + arrowWidth >= rightBoundry;\n\n const horizontals = ['left', 'right'];\n const verticals = ['top', 'bottom'];\n\n topExceed = horizontals.includes(placement)\n ? elemRectTop + elemHeight / 2 - tipHeight / 2 - arrowHeight < 0\n : topExceed;\n bottomExceed = horizontals.includes(placement)\n ? elemRectTop + tipHeight / 2 + elemHeight / 2 + arrowHeight >= htmlch\n : bottomExceed;\n leftExceed = verticals.includes(placement) ? elemRectLeft + elemWidth / 2 - tipWidth / 2 < leftBoundry : leftExceed;\n rightExceed = verticals.includes(placement)\n ? elemRectLeft + tipWidth / 2 + elemWidth / 2 >= rightBoundry\n : rightExceed;\n\n // first remove side positions if both left and right limits are exceeded\n // we usually fall back to top|bottom\n placement = horizontals.includes(placement) && leftExceed && rightExceed ? 'top' : placement;\n // recompute placement\n placement = placement === 'top' && topExceed ? 'bottom' : placement;\n placement = placement === 'bottom' && bottomExceed ? 'top' : placement;\n placement = placement === 'left' && leftExceed ? 'right' : placement;\n placement = placement === 'right' && rightExceed ? /* istanbul ignore next */ 'left' : placement;\n\n // update tooltip/popover class\n if (!tooltip.className.includes(placement)) {\n tooltip.className = tooltip.className.replace(tipClasses, tipPositions[placement]);\n }\n\n // compute tooltip / popover coordinates\n /* istanbul ignore else */\n if (horizontals.includes(placement)) {\n // secondary|side positions\n if (placement === 'left') {\n // LEFT\n leftPosition = x - tipWidth - (isPopover ? arrowWidth : 0);\n } else {\n // RIGHT\n leftPosition = x + elemWidth + (isPopover ? arrowWidth : 0);\n }\n\n // adjust top and arrow\n if (topExceed && bottomExceed) {\n topPosition = 0;\n bottomPosition = 0;\n arrowTop = elemRectTop + elemHeight / 2 - arrowHeight / 2;\n } else if (topExceed) {\n topPosition = y;\n bottomPosition = '';\n arrowTop = elemHeight / 2 - arrowWidth;\n } else if (bottomExceed) {\n topPosition = y - tipHeight + elemHeight;\n bottomPosition = '';\n arrowTop = tipHeight - elemHeight / 2 - arrowWidth;\n } else {\n topPosition = y - tipHeight / 2 + elemHeight / 2;\n arrowTop = tipHeight / 2 - arrowHeight / 2;\n }\n } else if (verticals.includes(placement)) {\n if (placement === 'top') {\n topPosition = y - tipHeight - (isPopover ? arrowHeight : 0);\n } else {\n // BOTTOM\n topPosition = y + elemHeight + (isPopover ? arrowHeight : 0);\n }\n\n // adjust left | right and also the arrow\n if (leftExceed) {\n leftPosition = 0;\n arrowLeft = x + elemWidth / 2 - arrowAdjust;\n } else if (rightExceed) {\n leftPosition = 'auto';\n rightPosition = 0;\n arrowRight = elemWidth / 2 + rightBoundry - elemRectRight - arrowAdjust;\n } else {\n leftPosition = x - tipWidth / 2 + elemWidth / 2;\n arrowLeft = tipWidth / 2 - arrowAdjust;\n }\n }\n\n // apply style to tooltip/popover\n setElementStyle(tooltip, {\n top: `${topPosition}px`,\n bottom: bottomPosition === '' ? '' : `${bottomPosition}px`,\n left: leftPosition === 'auto' ? leftPosition : `${leftPosition}px`,\n right: rightPosition !== '' ? `${rightPosition}px` : '',\n });\n\n // update arrow placement\n /* istanbul ignore else */\n if (isHTMLElement(arrow)) {\n if (arrowTop !== '') {\n arrow.style.top = `${arrowTop}px`;\n }\n if (arrowLeft !== '') {\n arrow.style.left = `${arrowLeft}px`;\n } else if (arrowRight !== '') {\n arrow.style.right = `${arrowRight}px`;\n }\n }\n const updatedTooltipEvent = createCustomEvent(`updated.bs.${toLowerCase(self.name)}`);\n dispatchEvent(element, updatedTooltipEvent);\n }\n};\n\nexport default styleTip;\n","import getTipTemplate from './getTipTemplate';\nimport tooltipString from '../strings/tooltipString';\nimport { TooltipOptions } from '../interface/tooltip';\n\nconst tooltipDefaults: TooltipOptions = {\n template: getTipTemplate(tooltipString),\n title: '',\n customClass: '',\n trigger: 'hover focus',\n placement: 'top',\n sanitizeFn: undefined,\n animation: true,\n delay: 200,\n container: document.body,\n content: '',\n dismissible: false,\n btnClose: '',\n};\nexport default tooltipDefaults;\n","/**\n * Global namespace for `data-bs-title` attribute.\n */\nconst dataOriginalTitle = 'data-original-title';\nexport default dataOriginalTitle;\n","/** @type {string} */\nconst tooltipComponent = 'Tooltip';\nexport default tooltipComponent;\n","import { isNode, isArray, isFunction, isString, isNodeList, isHTMLElement } from '@thednp/shorty';\n\n/**\n * Append an existing `Element` to Popover / Tooltip component or HTML\n * markup string to be parsed & sanitized to be used as popover / tooltip content.\n *\n * @param element target\n * @param content the `Element` to append / string\n * @param sanitizeFn a function to sanitize string content\n */\nconst setHtml = (element: HTMLElement, content: Node[] | Node | string, sanitizeFn?: (s: string) => string) => {\n /* istanbul ignore else */\n if (isString(content) && content.length) {\n let dirty = content.trim(); // fixing #233\n if (isFunction(sanitizeFn)) dirty = sanitizeFn(dirty);\n\n const domParser = new DOMParser();\n const tempDocument = domParser.parseFromString(dirty, 'text/html');\n element.append(...[...tempDocument.body.childNodes]);\n } else if (isHTMLElement(content)) {\n element.append(content);\n } else if (isNodeList(content) || (isArray(content) && content.every(isNode))) {\n element.append(...[...content]);\n }\n};\nexport default setHtml;\n","import { createElement, addClass, hasClass, setAttribute, querySelector, isRTL, isHTMLElement } from '@thednp/shorty';\n\nimport tooltipComponent from '../strings/tooltipComponent';\nimport tooltipString from '../strings/tooltipString';\nimport popoverString from '../strings/popoverString';\nimport fadeClass from '../strings/fadeClass';\nimport tipClassPositions from './tipClassPositions';\nimport setHtml from './setHtml';\nimport Tooltip from '../components/tooltip';\nimport Popover from '../components/popover';\n\n/**\n * Creates a new tooltip / popover.\n *\n * @param self the `Tooltip` / `Popover` instance\n */\nconst createTip = (self: Tooltip | Popover) => {\n const isTooltip = self.name === tooltipComponent;\n\n const { id, element, options } = self;\n const { title, placement, template, animation, customClass, sanitizeFn, dismissible, content, btnClose } = options;\n const tipString = isTooltip ? tooltipString : popoverString;\n const tipPositions = { ...tipClassPositions };\n let titleParts: Node[] = [];\n let contentParts: Node[] = [];\n\n if (isRTL(element)) {\n tipPositions.left = 'end';\n tipPositions.right = 'start';\n }\n\n // set initial popover class\n const placementClass = `bs-${tipString}-${tipPositions[placement]}`;\n\n // load template\n let tooltipTemplate: Node | string;\n if (isHTMLElement(template)) {\n tooltipTemplate = template;\n } else {\n const htmlMarkup = createElement('div') as HTMLElement;\n setHtml(htmlMarkup, template, sanitizeFn);\n tooltipTemplate = htmlMarkup.firstChild as HTMLElement;\n }\n\n // set popover markup\n self.tooltip = isHTMLElement(tooltipTemplate)\n ? (tooltipTemplate.cloneNode(true) as HTMLElement)\n : /* istanbul ignore next */ undefined;\n\n const { tooltip } = self;\n /* istanbul ignore else */\n if (tooltip) {\n // set id and role attributes\n setAttribute(tooltip, 'id', id);\n setAttribute(tooltip, 'role', tooltipString);\n\n const bodyClass = isTooltip ? `${tooltipString}-inner` : `${popoverString}-body`;\n const tooltipHeader = isTooltip ? null : querySelector(`.${popoverString}-header`, tooltip);\n const tooltipBody = querySelector(`.${bodyClass}`, tooltip);\n\n // set arrow and enable access for styleTip\n self.arrow = querySelector(`.${tipString}-arrow`, tooltip) as HTMLElement;\n const { arrow } = self;\n\n if (isHTMLElement(title)) titleParts = [title.cloneNode(true)];\n else {\n const tempTitle = createElement('div') as HTMLElement;\n setHtml(tempTitle, title, sanitizeFn);\n titleParts = [...[...tempTitle.childNodes]];\n }\n\n if (isHTMLElement(content)) contentParts = [content.cloneNode(true)];\n else {\n const tempContent = createElement('div') as HTMLElement;\n setHtml(tempContent, content, sanitizeFn);\n contentParts = [...[...tempContent.childNodes]];\n }\n\n // set dismissible button\n if (dismissible) {\n if (title) {\n if (isHTMLElement(btnClose)) titleParts = [...titleParts, btnClose.cloneNode(true)];\n else {\n const tempBtn = createElement('div') as HTMLElement;\n setHtml(tempBtn, btnClose, sanitizeFn);\n titleParts = [...titleParts, tempBtn.firstChild as Node];\n }\n } else {\n /* istanbul ignore else */\n if (tooltipHeader) tooltipHeader.remove();\n if (isHTMLElement(btnClose)) contentParts = [...contentParts, btnClose.cloneNode(true)];\n else {\n const tempBtn = createElement('div') as HTMLElement;\n setHtml(tempBtn, btnClose, sanitizeFn);\n contentParts = [...contentParts, tempBtn.firstChild as Node];\n }\n }\n }\n\n // fill the template with content from options / data attributes\n // also sanitize title && content\n /* istanbul ignore else */\n if (!isTooltip) {\n /* istanbul ignore else */\n if (title && tooltipHeader) setHtml(tooltipHeader, titleParts, sanitizeFn);\n /* istanbul ignore else */\n if (content && tooltipBody) setHtml(tooltipBody, contentParts, sanitizeFn);\n // set btn\n self.btn = querySelector('.btn-close', tooltip) || undefined;\n } else if (title && tooltipBody) setHtml(tooltipBody, title, sanitizeFn);\n\n // Bootstrap 5.2.x\n // addClass(tooltip, 'position-absolute');\n addClass(tooltip, 'position-fixed');\n addClass(arrow, 'position-absolute');\n\n // set popover animation and placement\n /* istanbul ignore else */\n if (!hasClass(tooltip, tipString)) addClass(tooltip, tipString);\n /* istanbul ignore else */\n if (animation && !hasClass(tooltip, fadeClass)) addClass(tooltip, fadeClass);\n /* istanbul ignore else */\n if (customClass && !hasClass(tooltip, customClass)) {\n addClass(tooltip, customClass);\n }\n /* istanbul ignore else */\n if (!hasClass(tooltip, placementClass)) addClass(tooltip, placementClass);\n }\n};\n\nexport default createTip;\n","import { getDocument, isShadowRoot, isTableElement, getParentNode, getElementStyle } from '@thednp/shorty';\n\n/**\n * Returns an `HTMLElement` to be used as default value for *options.container*\n * for `Tooltip` / `Popover` components.\n *\n * @see https://github.com/floating-ui/floating-ui\n *\n * @param element the target\n * @returns the query result\n */\nconst getElementContainer = (element: HTMLElement): ParentNode => {\n const majorBlockTags = ['HTML', 'BODY'];\n const containers: ParentNode[] = [];\n let { parentNode } = element as Node;\n\n while (parentNode && !majorBlockTags.includes(parentNode.nodeName)) {\n parentNode = getParentNode(parentNode) as ParentNode;\n /* istanbul ignore else */\n if (!(isShadowRoot(parentNode) || isTableElement(parentNode))) {\n containers.push(parentNode);\n }\n }\n\n return (\n containers.find((c, i) => {\n if (\n getElementStyle(c as HTMLElement, 'position') !== 'relative' &&\n containers.slice(i + 1).every(r => getElementStyle(r as HTMLElement, 'position') === 'static')\n ) {\n return c;\n }\n return null;\n }) || /* istanbul ignore next: optional guard */ getDocument(element).body\n );\n};\n\nexport default getElementContainer;\n","/* Native JavaScript for Bootstrap 5 | Tooltip\n---------------------------------------------- */\nimport {\n ariaDescribedBy,\n focusoutEvent,\n focusinEvent,\n focusEvent,\n mouseleaveEvent,\n mouseenterEvent,\n mousedownEvent,\n mouseclickEvent,\n closest,\n getUID,\n getDocument,\n getWindow,\n removeAttribute,\n getAttribute,\n setAttribute,\n hasAttribute,\n touchstartEvent,\n resizeEvent,\n scrollEvent,\n mousehoverEvent,\n toLowerCase,\n focus,\n Timer,\n emulateTransitionEnd,\n passiveHandler,\n dispatchEvent,\n isApple,\n getInstance,\n ObjectAssign,\n createCustomEvent,\n removeClass,\n hasClass,\n addClass,\n getElementStyle,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport dataBsToggle from '../strings/dataBsToggle';\nimport dataOriginalTitle from '../strings/dataOriginalTitle';\nimport showClass from '../strings/showClass';\nimport tooltipString from '../strings/tooltipString';\nimport tooltipComponent from '../strings/tooltipComponent';\nimport popoverString from '../strings/popoverString';\nimport popoverComponent from '../strings/popoverComponent';\nimport modalString from '../strings/modalString';\nimport offcanvasString from '../strings/offcanvasString';\n\nimport styleTip from '../util/styleTip';\nimport createTip from '../util/createTip';\nimport { appendPopup, removePopup, hasPopup } from '../util/popupContainer';\nimport getElementContainer from '../util/getElementContainer';\nimport tooltipDefaults from '../util/tooltipDefaults';\nimport BaseComponent from './base-component';\nimport { TooltipOptions, TooltipEvent } from '../interface/tooltip';\nimport { PopoverOptions, PopoverEvent } from '../interface/popover';\n\n// TOOLTIP PRIVATE GC\n// ==================\nconst tooltipSelector = `[${dataBsToggle}=\"${tooltipString}\"],[data-tip=\"${tooltipString}\"]`;\nconst titleAttr = 'title';\n\n/**\n * Static method which returns an existing `Tooltip` instance associated\n * to a target `Element`.\n *\n */\nlet getTooltipInstance = (element: HTMLElement) => getInstance(element, tooltipComponent);\n\n/**\n * A `Tooltip` initialization callback.\n */\nconst tooltipInitCallback = (element: HTMLElement) => new Tooltip(element);\n\n// TOOLTIP PRIVATE METHODS\n// =======================\n/**\n * Removes the tooltip from the DOM.\n *\n * @param self the `Tooltip` instance\n */\nconst removeTooltip = (self: Tooltip) => {\n const { element, tooltip, container, offsetParent } = self;\n removeAttribute(element, ariaDescribedBy);\n removePopup(tooltip as HTMLElement, container === offsetParent ? container : offsetParent);\n};\n\n/**\n * Check if container contains the tooltip.\n *\n * @param self Tooltip\n */\nconst hasTip = (self: Tooltip): boolean | undefined => {\n const { tooltip, container, offsetParent } = self;\n\n return tooltip && hasPopup(tooltip, container === offsetParent ? container : offsetParent);\n};\n\n/**\n * Executes after the instance has been disposed.\n *\n * @param self the `Tooltip` instance\n * @param callback the parent dispose callback\n */\nconst disposeTooltipComplete = (self: Tooltip, callback?: () => void) => {\n const { element } = self;\n self._toggleEventListeners();\n\n /* istanbul ignore else */\n if (hasAttribute(element, dataOriginalTitle) && self.name === tooltipComponent) {\n toggleTooltipTitle(self);\n }\n /* istanbul ignore else */\n if (callback) callback();\n};\n\n/**\n * Toggles on/off the special `Tooltip` event listeners.\n *\n * @param self the `Tooltip` instance\n * @param add when `true`, event listeners are added\n */\nconst toggleTooltipAction = (self: Tooltip, add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element } = self;\n\n action(getDocument(element), touchstartEvent, self.handleTouch, passiveHandler);\n\n [scrollEvent, resizeEvent].forEach(ev => {\n action(getWindow(element), ev, self.update, passiveHandler);\n });\n};\n\n/**\n * Executes after the tooltip was shown to the user.\n *\n * @param self the `Tooltip` instance\n */\nconst tooltipShownAction = (self: Tooltip) => {\n const { element } = self;\n const shownTooltipEvent = createCustomEvent(`shown.bs.${toLowerCase(self.name)}`);\n\n toggleTooltipAction(self, true);\n dispatchEvent(element, shownTooltipEvent);\n Timer.clear(element, 'in');\n};\n\n/**\n * Executes after the tooltip was hidden to the user.\n *\n * @param self the `Tooltip` instance\n */\nconst tooltipHiddenAction = (self: Tooltip) => {\n const { element } = self;\n const hiddenTooltipEvent = createCustomEvent(`hidden.bs.${toLowerCase(self.name)}`);\n\n toggleTooltipAction(self);\n removeTooltip(self);\n dispatchEvent(element, hiddenTooltipEvent);\n\n Timer.clear(element, 'out');\n};\n\n/**\n * Toggles on/off the `Tooltip` event listeners that hide/update the tooltip.\n *\n * @param self the `Tooltip` instance\n * @param add when `true`, event listeners are added\n */\nconst toggleTooltipOpenHandlers = (self: Tooltip, add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element, container, offsetParent } = self;\n const { offsetHeight, scrollHeight } = container as HTMLElement;\n const parentModal = closest(element, `.${modalString}`);\n const parentOffcanvas = closest(element, `.${offcanvasString}`);\n\n /* istanbul ignore else */\n const win = getWindow(element);\n const overflow = offsetHeight !== scrollHeight;\n const scrollTarget = container === offsetParent && overflow ? container : win;\n action(scrollTarget, resizeEvent, self.update, passiveHandler);\n action(scrollTarget, scrollEvent, self.update, passiveHandler);\n\n // dismiss tooltips inside modal / offcanvas\n if (parentModal) action(parentModal, `hide.bs.${modalString}`, self.handleHide);\n if (parentOffcanvas) action(parentOffcanvas, `hide.bs.${offcanvasString}`, self.handleHide);\n};\n\n/**\n * Toggles the `title` and `data-original-title` attributes.\n *\n * @param self the `Tooltip` instance\n * @param content when `true`, event listeners are added\n */\nconst toggleTooltipTitle = (self: Tooltip, content?: string) => {\n // [0 - add, 1 - remove] | [0 - remove, 1 - add]\n const titleAtt = [dataOriginalTitle, titleAttr];\n const { element } = self;\n\n setAttribute(\n element,\n titleAtt[content ? 0 : 1],\n content || getAttribute(element, titleAtt[0]) || /* istanbul ignore next */ '',\n );\n removeAttribute(element, titleAtt[content ? 1 : 0]);\n};\n\n// TOOLTIP DEFINITION\n// ==================\n/** Creates a new `Tooltip` instance. */\nexport default class Tooltip extends BaseComponent {\n static selector = tooltipSelector;\n static init = tooltipInitCallback;\n static getInstance = getTooltipInstance;\n static styleTip = styleTip;\n declare options: TooltipOptions;\n declare btn?: HTMLElement;\n declare tooltip?: HTMLElement;\n declare container: ParentNode;\n declare arrow?: HTMLElement;\n declare offsetParent?: HTMLElement;\n declare enabled: boolean;\n declare id: string;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n\n const { element } = this;\n const isTooltip = this.name === tooltipComponent;\n const tipString = isTooltip ? tooltipString : popoverString;\n const tipComponent = isTooltip ? tooltipComponent : popoverComponent;\n\n /* istanbul ignore next: this is to set Popover too */\n getTooltipInstance = (elem: HTMLElement) => getInstance(elem, tipComponent);\n\n // additional properties\n this.enabled = true;\n /** Set unique ID for `aria-describedby`. */\n this.id = `${tipString}-${getUID(element, tipString)}`;\n\n // instance options\n const { options } = this;\n\n // invalidate\n if (!((!options.title && isTooltip) || (!isTooltip && !options.content))) {\n // reset default options\n ObjectAssign(tooltipDefaults, { titleAttr: '' });\n\n // set title attributes and add event listeners\n /* istanbul ignore else */\n if (hasAttribute(element, titleAttr) && isTooltip && typeof options.title === 'string') {\n toggleTooltipTitle(this, options.title);\n }\n\n // set containers\n this.container = getElementContainer(element);\n this.offsetParent = ['sticky', 'fixed'].some(\n position => getElementStyle(this.container as HTMLElement, 'position') === position,\n )\n ? (this.container as HTMLElement)\n : getDocument(this.element).body;\n\n // create tooltip here\n createTip(this);\n\n // attach events\n this._toggleEventListeners(true);\n }\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return tooltipComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return tooltipDefaults;\n }\n\n // TOOLTIP PUBLIC METHODS\n // ======================\n /** Handles the focus event on iOS. */\n handleFocus = () => focus(this.element);\n /** Shows the tooltip. */\n handleShow = () => this.show();\n show() {\n const { options, tooltip, element, container, offsetParent, id } = this;\n const { animation } = options;\n const outTimer = Timer.get(element, 'out');\n const tipContainer = container === offsetParent ? container : offsetParent;\n\n Timer.clear(element, 'out');\n\n if (tooltip && !outTimer && !hasTip(this)) {\n Timer.set(\n element,\n () => {\n const showTooltipEvent = createCustomEvent(`show.bs.${toLowerCase(this.name)}`);\n dispatchEvent(element, showTooltipEvent);\n if (!showTooltipEvent.defaultPrevented) {\n // append to container\n appendPopup(tooltip, tipContainer);\n\n setAttribute(element, ariaDescribedBy, `#${id}`);\n\n this.update();\n toggleTooltipOpenHandlers(this, true);\n\n /* istanbul ignore else */\n if (!hasClass(tooltip, showClass)) addClass(tooltip, showClass);\n /* istanbul ignore else */\n if (animation) emulateTransitionEnd(tooltip, () => tooltipShownAction(this));\n else tooltipShownAction(this);\n }\n },\n 17,\n 'in',\n );\n }\n }\n\n /** Hides the tooltip. */\n handleHide = () => this.hide();\n hide() {\n const { options, tooltip, element } = this;\n const { animation, delay } = options;\n\n Timer.clear(element, 'in');\n\n /* istanbul ignore else */\n if (tooltip && hasTip(this)) {\n Timer.set(\n element,\n () => {\n const hideTooltipEvent = createCustomEvent(`hide.bs.${toLowerCase(this.name)}`);\n dispatchEvent(element, hideTooltipEvent);\n\n if (!hideTooltipEvent.defaultPrevented) {\n this.update();\n removeClass(tooltip, showClass);\n toggleTooltipOpenHandlers(this);\n\n /* istanbul ignore else */\n if (animation) emulateTransitionEnd(tooltip, () => tooltipHiddenAction(this));\n else tooltipHiddenAction(this);\n }\n },\n delay + 17,\n 'out',\n );\n }\n }\n\n /** Updates the tooltip position. */\n update = () => {\n styleTip(this);\n };\n\n /** Toggles the tooltip visibility. */\n toggle = () => {\n const { tooltip } = this;\n\n if (tooltip && !hasTip(this)) this.show();\n else this.hide();\n };\n\n /** Enables the tooltip. */\n enable() {\n const { enabled } = this;\n /* istanbul ignore else */\n if (!enabled) {\n this._toggleEventListeners(true);\n this.enabled = !enabled;\n }\n }\n\n /** Disables the tooltip. */\n disable() {\n const { tooltip, options, enabled } = this;\n const { animation } = options;\n /* istanbul ignore else */\n if (enabled) {\n if (tooltip && hasTip(this) && animation) {\n this.hide();\n emulateTransitionEnd(tooltip, () => this._toggleEventListeners());\n } else {\n this._toggleEventListeners();\n }\n this.enabled = !enabled;\n }\n }\n\n /** Toggles the `disabled` property. */\n toggleEnabled() {\n if (!this.enabled) this.enable();\n else this.disable();\n }\n\n /**\n * Handles the `touchstart` event listener for `Tooltip`\n *\n * @this {Tooltip}\n * @param {TouchEvent} e the `Event` object\n */\n handleTouch = ({ target }: TouchEvent) => {\n const { tooltip, element } = this;\n\n /* istanbul ignore else */\n if (\n (tooltip && tooltip.contains(target as HTMLElement)) ||\n target === element ||\n (target && element.contains(target as HTMLElement))\n ) {\n // smile for ESLint\n } else {\n this.hide();\n }\n };\n\n /**\n * Toggles on/off the `Tooltip` event listeners.\n *\n * @param add when `true`, event listeners are added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n // btn is only for dismissible popover\n const { element, options, btn } = this;\n const { trigger } = options;\n const isPopover = this.name !== tooltipComponent;\n const dismissible = isPopover && (options as PopoverOptions).dismissible ? true : false;\n\n /* istanbul ignore else */\n if (!trigger.includes('manual')) {\n this.enabled = !!add;\n\n const triggerOptions = trigger.split(' ');\n\n triggerOptions.forEach(tr => {\n /* istanbul ignore else */\n if (tr === mousehoverEvent) {\n action(element, mousedownEvent, this.handleShow);\n action(element, mouseenterEvent, this.handleShow);\n\n /* istanbul ignore else */\n if (!dismissible) {\n action(element, mouseleaveEvent, this.handleHide);\n action(getDocument(element), touchstartEvent, this.handleTouch, passiveHandler);\n }\n } else if (tr === mouseclickEvent) {\n action(element, tr, !dismissible ? this.toggle : this.handleShow);\n } else if (tr === focusEvent) {\n action(element, focusinEvent, this.handleShow);\n /* istanbul ignore else */\n if (!dismissible) action(element, focusoutEvent, this.handleHide);\n /* istanbul ignore else */\n if (isApple) {\n action(element, mouseclickEvent, this.handleFocus);\n }\n }\n /* istanbul ignore else */\n if (dismissible && btn) {\n action(btn, mouseclickEvent, this.handleHide);\n }\n });\n }\n };\n\n /** Removes the `Tooltip` from the target element. */\n dispose() {\n const { tooltip, options } = this;\n const clone = { ...this, name: this.name };\n const callback = () => setTimeout(() => disposeTooltipComplete(clone, () => super.dispose()), 17);\n\n if (options.animation && hasTip(clone)) {\n this.options.delay = 0; // reset delay\n this.hide();\n emulateTransitionEnd(tooltip as HTMLElement, callback);\n } else {\n callback();\n }\n }\n}\n"],"names":["popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","arrow","body","tipClassPositions","styleTip","self","tipClasses","element","tooltip","container","options","tipPositions","RTL","isRTL","setElementStyle","isPopover","tipWidth","tipHeight","htmlcw","htmlch","htmlow","getDocumentElement","placement","parentCWidth","parentOWidth","fixedParent","getElementStyle","scrollbarWidth","leftBoundry","rightBoundry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","getBoundingClientRect","x","y","topPosition","bottomPosition","leftPosition","rightPosition","arrowTop","arrowLeft","arrowRight","arrowWidth","arrowHeight","arrowAdjust","topExceed","bottomExceed","leftExceed","rightExceed","horizontals","verticals","isHTMLElement","updatedTooltipEvent","createCustomEvent","toLowerCase","dispatchEvent","tooltipDefaults","dataOriginalTitle","tooltipComponent","setHtml","content","sanitizeFn","isString","dirty","isFunction","tempDocument","isNodeList","isArray","isNode","createTip","id","title","template","animation","customClass","dismissible","btnClose","tipString","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","createElement","setAttribute","tooltipHeader","querySelector","tooltipBody","tempTitle","tempContent","tempBtn","addClass","hasClass","fadeClass","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","c","i","r","getDocument","tooltipSelector","dataBsToggle","titleAttr","getTooltipInstance","getInstance","tooltipInitCallback","Tooltip","removeTooltip","offsetParent","removeAttribute","ariaDescribedBy","removePopup","hasTip","hasPopup","disposeTooltipComplete","callback","hasAttribute","toggleTooltipTitle","toggleTooltipAction","add","action","addListener","removeListener","touchstartEvent","passiveHandler","scrollEvent","resizeEvent","ev","getWindow","tooltipShownAction","shownTooltipEvent","Timer","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","offsetHeight","scrollHeight","parentModal","closest","modalString","parentOffcanvas","offcanvasString","win","scrollTarget","titleAtt","getAttribute","BaseComponent","target","config","__publicField","focus","btn","trigger","tr","mousehoverEvent","mousedownEvent","mouseenterEvent","mouseleaveEvent","mouseclickEvent","focusEvent","focusinEvent","focusoutEvent","isApple","tipComponent","elem","getUID","ObjectAssign","position","outTimer","tipContainer","showTooltipEvent","appendPopup","showClass","emulateTransitionEnd","delay","hideTooltipEvent","removeClass","enabled","clone"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tooltip-BuF2bDNc.mjs","sources":["../../src/strings/popoverString.ts","../../src/strings/popoverComponent.ts","../../src/strings/tooltipString.ts","../../src/util/getTipTemplate.ts","../../src/util/tipClassPositions.ts","../../src/util/styleTip.ts","../../src/util/tooltipDefaults.ts","../../src/strings/dataOriginalTitle.ts","../../src/strings/tooltipComponent.ts","../../src/util/setHtml.ts","../../src/util/createTip.ts","../../src/util/getElementContainer.ts","../../src/components/tooltip.ts"],"sourcesContent":["/** @type {string} */\nconst popoverString = 'popover';\nexport default popoverString;\n","/** @type {string} */\nconst popoverComponent = 'Popover';\nexport default popoverComponent;\n","/** @type {string} */\nconst tooltipString = 'tooltip';\nexport default tooltipString;\n","import tooltipString from '../strings/tooltipString';\n\n/**\n * Returns a template for Popover / Tooltip.\n *\n * @param tipType the expected markup type\n * @returns the template markup\n */\nconst getTipTemplate = (tipType: string) => {\n const isTooltip = tipType === tooltipString;\n const bodyClass = isTooltip ? `${tipType}-inner` : `${tipType}-body`;\n const header = !isTooltip ? `

` : '';\n const arrow = `
`;\n const body = `
`;\n return `
${header + arrow + body}
`;\n};\n\nexport default getTipTemplate;\n","const tipClassPositions = {\n top: 'top',\n bottom: 'bottom',\n left: 'start',\n right: 'end',\n};\n\nexport default tipClassPositions;\n","import {\n isHTMLElement,\n setElementStyle,\n getDocumentElement,\n getBoundingClientRect,\n getElementStyle,\n isRTL,\n toLowerCase,\n createCustomEvent,\n dispatchEvent,\n} from '@thednp/shorty';\n\nimport popoverComponent from '../strings/popoverComponent';\nimport tipClassPositions from './tipClassPositions';\nimport Tooltip from '../components/tooltip';\nimport type { TooltipEvent } from '../interface/tooltip';\nimport type { PopoverEvent } from '../interface/popover';\n\n/**\n * Style popovers and tooltips.\n *\n * @param self the `Popover` / `Tooltip` instance\n */\nconst styleTip = (self: T) => {\n const tipClasses = /\\b(top|bottom|start|end)+/;\n const { element, tooltip, container, options, arrow } = self;\n\n /* istanbul ignore else */\n if (tooltip) {\n const tipPositions = { ...tipClassPositions };\n const RTL = isRTL(element);\n\n // reset tooltip style (top: 0, left: 0 works best)\n setElementStyle(tooltip, {\n // top: '0px', left: '0px', right: '', bottom: '',\n top: '',\n left: '',\n right: '',\n bottom: '',\n });\n const isPopover = self.name === popoverComponent;\n const { offsetWidth: tipWidth, offsetHeight: tipHeight } = tooltip;\n const { clientWidth: htmlcw, clientHeight: htmlch, offsetWidth: htmlow } = getDocumentElement(element);\n let { placement } = options;\n const { clientWidth: parentCWidth, offsetWidth: parentOWidth } = container as HTMLElement;\n const parentPosition = getElementStyle(container as HTMLElement, 'position');\n const fixedParent = parentPosition === 'fixed';\n const scrollbarWidth = fixedParent ? Math.abs(parentCWidth - parentOWidth) : Math.abs(htmlcw - htmlow);\n const leftBoundry = RTL && fixedParent ? /* istanbul ignore next */ scrollbarWidth : 0;\n const rightBoundry = htmlcw - (!RTL ? scrollbarWidth : 0) - 1;\n const {\n width: elemWidth,\n height: elemHeight,\n left: elemRectLeft,\n right: elemRectRight,\n top: elemRectTop,\n } = getBoundingClientRect(element, true);\n const { x, y } = {\n x: elemRectLeft,\n y: elemRectTop,\n };\n // reset arrow style\n setElementStyle(arrow as HTMLElement, {\n top: '',\n left: '',\n right: '',\n bottom: '',\n });\n let topPosition: number | string = 0;\n let bottomPosition: number | string = '';\n let leftPosition: number | string = 0;\n let rightPosition: number | string = '';\n let arrowTop: number | string = '';\n let arrowLeft: number | string = '';\n let arrowRight: number | string = '';\n\n const arrowWidth = (arrow as HTMLElement).offsetWidth || 0;\n const arrowHeight = (arrow as HTMLElement).offsetHeight || 0;\n const arrowAdjust = arrowWidth / 2;\n\n // check placement\n let topExceed = elemRectTop - tipHeight - arrowHeight < 0;\n let bottomExceed = elemRectTop + tipHeight + elemHeight + arrowHeight >= htmlch;\n let leftExceed = elemRectLeft - tipWidth - arrowWidth < leftBoundry;\n let rightExceed = elemRectLeft + tipWidth + elemWidth + arrowWidth >= rightBoundry;\n\n const horizontals = ['left', 'right'];\n const verticals = ['top', 'bottom'];\n\n topExceed = horizontals.includes(placement)\n ? elemRectTop + elemHeight / 2 - tipHeight / 2 - arrowHeight < 0\n : topExceed;\n bottomExceed = horizontals.includes(placement)\n ? elemRectTop + tipHeight / 2 + elemHeight / 2 + arrowHeight >= htmlch\n : bottomExceed;\n leftExceed = verticals.includes(placement) ? elemRectLeft + elemWidth / 2 - tipWidth / 2 < leftBoundry : leftExceed;\n rightExceed = verticals.includes(placement)\n ? elemRectLeft + tipWidth / 2 + elemWidth / 2 >= rightBoundry\n : rightExceed;\n\n // first remove side positions if both left and right limits are exceeded\n // we usually fall back to top|bottom\n placement = horizontals.includes(placement) && leftExceed && rightExceed ? 'top' : placement;\n // recompute placement\n placement = placement === 'top' && topExceed ? 'bottom' : placement;\n placement = placement === 'bottom' && bottomExceed ? 'top' : placement;\n placement = placement === 'left' && leftExceed ? 'right' : placement;\n placement = placement === 'right' && rightExceed ? /* istanbul ignore next */ 'left' : placement;\n\n // update tooltip/popover class\n if (!tooltip.className.includes(placement)) {\n tooltip.className = tooltip.className.replace(tipClasses, tipPositions[placement]);\n }\n\n // compute tooltip / popover coordinates\n /* istanbul ignore else */\n if (horizontals.includes(placement)) {\n // secondary|side positions\n if (placement === 'left') {\n // LEFT\n leftPosition = x - tipWidth - (isPopover ? arrowWidth : 0);\n } else {\n // RIGHT\n leftPosition = x + elemWidth + (isPopover ? arrowWidth : 0);\n }\n\n // adjust top and arrow\n if (topExceed && bottomExceed) {\n topPosition = 0;\n bottomPosition = 0;\n arrowTop = elemRectTop + elemHeight / 2 - arrowHeight / 2;\n } else if (topExceed) {\n topPosition = y;\n bottomPosition = '';\n arrowTop = elemHeight / 2 - arrowWidth;\n } else if (bottomExceed) {\n topPosition = y - tipHeight + elemHeight;\n bottomPosition = '';\n arrowTop = tipHeight - elemHeight / 2 - arrowWidth;\n } else {\n topPosition = y - tipHeight / 2 + elemHeight / 2;\n arrowTop = tipHeight / 2 - arrowHeight / 2;\n }\n } else if (verticals.includes(placement)) {\n if (placement === 'top') {\n topPosition = y - tipHeight - (isPopover ? arrowHeight : 0);\n } else {\n // BOTTOM\n topPosition = y + elemHeight + (isPopover ? arrowHeight : 0);\n }\n\n // adjust left | right and also the arrow\n if (leftExceed) {\n leftPosition = 0;\n arrowLeft = x + elemWidth / 2 - arrowAdjust;\n } else if (rightExceed) {\n leftPosition = 'auto';\n rightPosition = 0;\n arrowRight = elemWidth / 2 + rightBoundry - elemRectRight - arrowAdjust;\n } else {\n leftPosition = x - tipWidth / 2 + elemWidth / 2;\n arrowLeft = tipWidth / 2 - arrowAdjust;\n }\n }\n\n // apply style to tooltip/popover\n setElementStyle(tooltip, {\n top: `${topPosition}px`,\n bottom: bottomPosition === '' ? '' : `${bottomPosition}px`,\n left: leftPosition === 'auto' ? leftPosition : `${leftPosition}px`,\n right: rightPosition !== '' ? `${rightPosition}px` : '',\n });\n\n // update arrow placement\n /* istanbul ignore else */\n if (isHTMLElement(arrow)) {\n if (arrowTop !== '') {\n arrow.style.top = `${arrowTop}px`;\n }\n if (arrowLeft !== '') {\n arrow.style.left = `${arrowLeft}px`;\n } else if (arrowRight !== '') {\n arrow.style.right = `${arrowRight}px`;\n }\n }\n const updatedTooltipEvent = createCustomEvent(`updated.bs.${toLowerCase(self.name)}`);\n dispatchEvent(element, updatedTooltipEvent);\n }\n};\n\nexport default styleTip;\n","import getTipTemplate from './getTipTemplate';\nimport tooltipString from '../strings/tooltipString';\nimport { TooltipOptions } from '../interface/tooltip';\n\nconst tooltipDefaults: TooltipOptions = {\n template: getTipTemplate(tooltipString),\n title: '',\n customClass: '',\n trigger: 'hover focus',\n placement: 'top',\n sanitizeFn: undefined,\n animation: true,\n delay: 200,\n container: document.body,\n content: '',\n dismissible: false,\n btnClose: '',\n};\nexport default tooltipDefaults;\n","/**\n * Global namespace for `data-bs-title` attribute.\n */\nconst dataOriginalTitle = 'data-original-title';\nexport default dataOriginalTitle;\n","/** @type {string} */\nconst tooltipComponent = 'Tooltip';\nexport default tooltipComponent;\n","import { isNode, isArray, isFunction, isString, isNodeList, isHTMLElement } from '@thednp/shorty';\n\n/**\n * Append an existing `Element` to Popover / Tooltip component or HTML\n * markup string to be parsed & sanitized to be used as popover / tooltip content.\n *\n * @param element target\n * @param content the `Element` to append / string\n * @param sanitizeFn a function to sanitize string content\n */\nconst setHtml = (element: HTMLElement, content: Node[] | Node | string, sanitizeFn?: (s: string) => string) => {\n /* istanbul ignore else */\n if (isString(content) && content.length) {\n let dirty = content.trim(); // fixing #233\n if (isFunction(sanitizeFn)) dirty = sanitizeFn(dirty);\n\n const domParser = new DOMParser();\n const tempDocument = domParser.parseFromString(dirty, 'text/html');\n element.append(...[...tempDocument.body.childNodes]);\n } else if (isHTMLElement(content)) {\n element.append(content);\n } else if (isNodeList(content) || (isArray(content) && content.every(isNode))) {\n element.append(...[...content]);\n }\n};\nexport default setHtml;\n","import { createElement, addClass, hasClass, setAttribute, querySelector, isRTL, isHTMLElement } from '@thednp/shorty';\n\nimport tooltipComponent from '../strings/tooltipComponent';\nimport tooltipString from '../strings/tooltipString';\nimport popoverString from '../strings/popoverString';\nimport fadeClass from '../strings/fadeClass';\nimport tipClassPositions from './tipClassPositions';\nimport setHtml from './setHtml';\nimport Tooltip from '../components/tooltip';\nimport Popover from '../components/popover';\n\n/**\n * Creates a new tooltip / popover.\n *\n * @param self the `Tooltip` / `Popover` instance\n */\nconst createTip = (self: Tooltip | Popover) => {\n const isTooltip = self.name === tooltipComponent;\n\n const { id, element, options } = self;\n const { title, placement, template, animation, customClass, sanitizeFn, dismissible, content, btnClose } = options;\n const tipString = isTooltip ? tooltipString : popoverString;\n const tipPositions = { ...tipClassPositions };\n let titleParts: Node[] = [];\n let contentParts: Node[] = [];\n\n if (isRTL(element)) {\n tipPositions.left = 'end';\n tipPositions.right = 'start';\n }\n\n // set initial popover class\n const placementClass = `bs-${tipString}-${tipPositions[placement]}`;\n\n // load template\n let tooltipTemplate: Node | string;\n if (isHTMLElement(template)) {\n tooltipTemplate = template;\n } else {\n const htmlMarkup = createElement('div') as HTMLElement;\n setHtml(htmlMarkup, template, sanitizeFn);\n tooltipTemplate = htmlMarkup.firstChild as HTMLElement;\n }\n\n // set popover markup\n self.tooltip = isHTMLElement(tooltipTemplate)\n ? (tooltipTemplate.cloneNode(true) as HTMLElement)\n : /* istanbul ignore next */ undefined;\n\n const { tooltip } = self;\n /* istanbul ignore else */\n if (tooltip) {\n // set id and role attributes\n setAttribute(tooltip, 'id', id);\n setAttribute(tooltip, 'role', tooltipString);\n\n const bodyClass = isTooltip ? `${tooltipString}-inner` : `${popoverString}-body`;\n const tooltipHeader = isTooltip ? null : querySelector(`.${popoverString}-header`, tooltip);\n const tooltipBody = querySelector(`.${bodyClass}`, tooltip);\n\n // set arrow and enable access for styleTip\n self.arrow = querySelector(`.${tipString}-arrow`, tooltip) as HTMLElement;\n const { arrow } = self;\n\n if (isHTMLElement(title)) titleParts = [title.cloneNode(true)];\n else {\n const tempTitle = createElement('div') as HTMLElement;\n setHtml(tempTitle, title, sanitizeFn);\n titleParts = [...[...tempTitle.childNodes]];\n }\n\n if (isHTMLElement(content)) contentParts = [content.cloneNode(true)];\n else {\n const tempContent = createElement('div') as HTMLElement;\n setHtml(tempContent, content, sanitizeFn);\n contentParts = [...[...tempContent.childNodes]];\n }\n\n // set dismissible button\n if (dismissible) {\n if (title) {\n if (isHTMLElement(btnClose)) titleParts = [...titleParts, btnClose.cloneNode(true)];\n else {\n const tempBtn = createElement('div') as HTMLElement;\n setHtml(tempBtn, btnClose, sanitizeFn);\n titleParts = [...titleParts, tempBtn.firstChild as Node];\n }\n } else {\n /* istanbul ignore else */\n if (tooltipHeader) tooltipHeader.remove();\n if (isHTMLElement(btnClose)) contentParts = [...contentParts, btnClose.cloneNode(true)];\n else {\n const tempBtn = createElement('div') as HTMLElement;\n setHtml(tempBtn, btnClose, sanitizeFn);\n contentParts = [...contentParts, tempBtn.firstChild as Node];\n }\n }\n }\n\n // fill the template with content from options / data attributes\n // also sanitize title && content\n /* istanbul ignore else */\n if (!isTooltip) {\n /* istanbul ignore else */\n if (title && tooltipHeader) setHtml(tooltipHeader, titleParts, sanitizeFn);\n /* istanbul ignore else */\n if (content && tooltipBody) setHtml(tooltipBody, contentParts, sanitizeFn);\n // set btn\n self.btn = querySelector('.btn-close', tooltip) || undefined;\n } else if (title && tooltipBody) setHtml(tooltipBody, title, sanitizeFn);\n\n // Bootstrap 5.2.x\n // addClass(tooltip, 'position-absolute');\n addClass(tooltip, 'position-fixed');\n addClass(arrow, 'position-absolute');\n\n // set popover animation and placement\n /* istanbul ignore else */\n if (!hasClass(tooltip, tipString)) addClass(tooltip, tipString);\n /* istanbul ignore else */\n if (animation && !hasClass(tooltip, fadeClass)) addClass(tooltip, fadeClass);\n /* istanbul ignore else */\n if (customClass && !hasClass(tooltip, customClass)) {\n addClass(tooltip, customClass);\n }\n /* istanbul ignore else */\n if (!hasClass(tooltip, placementClass)) addClass(tooltip, placementClass);\n }\n};\n\nexport default createTip;\n","import { getDocument, isShadowRoot, isTableElement, getParentNode, getElementStyle } from '@thednp/shorty';\n\n/**\n * Returns an `HTMLElement` to be used as default value for *options.container*\n * for `Tooltip` / `Popover` components.\n *\n * @see https://github.com/floating-ui/floating-ui\n *\n * @param element the target\n * @returns the query result\n */\nconst getElementContainer = (element: HTMLElement): ParentNode => {\n const majorBlockTags = ['HTML', 'BODY'];\n const containers: ParentNode[] = [];\n let { parentNode } = element as Node;\n\n while (parentNode && !majorBlockTags.includes(parentNode.nodeName)) {\n parentNode = getParentNode(parentNode) as ParentNode;\n /* istanbul ignore else */\n if (!(isShadowRoot(parentNode) || isTableElement(parentNode))) {\n containers.push(parentNode);\n }\n }\n\n return (\n containers.find((c, i) => {\n if (\n getElementStyle(c as HTMLElement, 'position') !== 'relative' &&\n containers.slice(i + 1).every(r => getElementStyle(r as HTMLElement, 'position') === 'static')\n ) {\n return c;\n }\n return null;\n }) || /* istanbul ignore next: optional guard */ getDocument(element).body\n );\n};\n\nexport default getElementContainer;\n","/* Native JavaScript for Bootstrap 5 | Tooltip\n---------------------------------------------- */\nimport {\n ariaDescribedBy,\n focusoutEvent,\n focusinEvent,\n focusEvent,\n mouseleaveEvent,\n mouseenterEvent,\n mousedownEvent,\n mouseclickEvent,\n closest,\n getUID,\n getDocument,\n getWindow,\n removeAttribute,\n getAttribute,\n setAttribute,\n hasAttribute,\n touchstartEvent,\n resizeEvent,\n scrollEvent,\n mousehoverEvent,\n toLowerCase,\n focus,\n Timer,\n emulateTransitionEnd,\n passiveHandler,\n dispatchEvent,\n isApple,\n getInstance,\n ObjectAssign,\n createCustomEvent,\n removeClass,\n hasClass,\n addClass,\n getElementStyle,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport dataBsToggle from '../strings/dataBsToggle';\nimport dataOriginalTitle from '../strings/dataOriginalTitle';\nimport showClass from '../strings/showClass';\nimport tooltipString from '../strings/tooltipString';\nimport tooltipComponent from '../strings/tooltipComponent';\nimport popoverString from '../strings/popoverString';\nimport popoverComponent from '../strings/popoverComponent';\nimport modalString from '../strings/modalString';\nimport offcanvasString from '../strings/offcanvasString';\n\nimport styleTip from '../util/styleTip';\nimport createTip from '../util/createTip';\nimport { appendPopup, removePopup, hasPopup } from '../util/popupContainer';\nimport getElementContainer from '../util/getElementContainer';\nimport tooltipDefaults from '../util/tooltipDefaults';\nimport BaseComponent from './base-component';\nimport { TooltipOptions, TooltipEvent } from '../interface/tooltip';\nimport { PopoverOptions, PopoverEvent } from '../interface/popover';\n\n// TOOLTIP PRIVATE GC\n// ==================\nconst tooltipSelector = `[${dataBsToggle}=\"${tooltipString}\"],[data-tip=\"${tooltipString}\"]`;\nconst titleAttr = 'title';\n\n/**\n * Static method which returns an existing `Tooltip` instance associated\n * to a target `Element`.\n *\n */\nlet getTooltipInstance = (element: HTMLElement) => getInstance(element, tooltipComponent);\n\n/**\n * A `Tooltip` initialization callback.\n */\nconst tooltipInitCallback = (element: HTMLElement) => new Tooltip(element);\n\n// TOOLTIP PRIVATE METHODS\n// =======================\n/**\n * Removes the tooltip from the DOM.\n *\n * @param self the `Tooltip` instance\n */\nconst removeTooltip = (self: Tooltip) => {\n const { element, tooltip, container, offsetParent } = self;\n removeAttribute(element, ariaDescribedBy);\n removePopup(tooltip as HTMLElement, container === offsetParent ? container : offsetParent);\n};\n\n/**\n * Check if container contains the tooltip.\n *\n * @param self Tooltip\n */\nconst hasTip = (self: Tooltip): boolean | undefined => {\n const { tooltip, container, offsetParent } = self;\n\n return tooltip && hasPopup(tooltip, container === offsetParent ? container : offsetParent);\n};\n\n/**\n * Executes after the instance has been disposed.\n *\n * @param self the `Tooltip` instance\n * @param callback the parent dispose callback\n */\nconst disposeTooltipComplete = (self: Tooltip, callback?: () => void) => {\n const { element } = self;\n self._toggleEventListeners();\n\n /* istanbul ignore else */\n if (hasAttribute(element, dataOriginalTitle) && self.name === tooltipComponent) {\n toggleTooltipTitle(self);\n }\n /* istanbul ignore else */\n if (callback) callback();\n};\n\n/**\n * Toggles on/off the special `Tooltip` event listeners.\n *\n * @param self the `Tooltip` instance\n * @param add when `true`, event listeners are added\n */\nconst toggleTooltipAction = (self: Tooltip, add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element } = self;\n\n action(getDocument(element), touchstartEvent, self.handleTouch, passiveHandler);\n\n [scrollEvent, resizeEvent].forEach(ev => {\n action(getWindow(element), ev, self.update, passiveHandler);\n });\n};\n\n/**\n * Executes after the tooltip was shown to the user.\n *\n * @param self the `Tooltip` instance\n */\nconst tooltipShownAction = (self: Tooltip) => {\n const { element } = self;\n const shownTooltipEvent = createCustomEvent(`shown.bs.${toLowerCase(self.name)}`);\n\n toggleTooltipAction(self, true);\n dispatchEvent(element, shownTooltipEvent);\n Timer.clear(element, 'in');\n};\n\n/**\n * Executes after the tooltip was hidden to the user.\n *\n * @param self the `Tooltip` instance\n */\nconst tooltipHiddenAction = (self: Tooltip) => {\n const { element } = self;\n const hiddenTooltipEvent = createCustomEvent(`hidden.bs.${toLowerCase(self.name)}`);\n\n toggleTooltipAction(self);\n removeTooltip(self);\n dispatchEvent(element, hiddenTooltipEvent);\n\n Timer.clear(element, 'out');\n};\n\n/**\n * Toggles on/off the `Tooltip` event listeners that hide/update the tooltip.\n *\n * @param self the `Tooltip` instance\n * @param add when `true`, event listeners are added\n */\nconst toggleTooltipOpenHandlers = (self: Tooltip, add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element, container, offsetParent } = self;\n const { offsetHeight, scrollHeight } = container as HTMLElement;\n const parentModal = closest(element, `.${modalString}`);\n const parentOffcanvas = closest(element, `.${offcanvasString}`);\n\n /* istanbul ignore else */\n const win = getWindow(element);\n const overflow = offsetHeight !== scrollHeight;\n const scrollTarget = container === offsetParent && overflow ? container : win;\n action(scrollTarget, resizeEvent, self.update, passiveHandler);\n action(scrollTarget, scrollEvent, self.update, passiveHandler);\n\n // dismiss tooltips inside modal / offcanvas\n if (parentModal) action(parentModal, `hide.bs.${modalString}`, self.handleHide);\n if (parentOffcanvas) action(parentOffcanvas, `hide.bs.${offcanvasString}`, self.handleHide);\n};\n\n/**\n * Toggles the `title` and `data-original-title` attributes.\n *\n * @param self the `Tooltip` instance\n * @param content when `true`, event listeners are added\n */\nconst toggleTooltipTitle = (self: Tooltip, content?: string) => {\n // [0 - add, 1 - remove] | [0 - remove, 1 - add]\n const titleAtt = [dataOriginalTitle, titleAttr];\n const { element } = self;\n\n setAttribute(\n element,\n titleAtt[content ? 0 : 1],\n content || getAttribute(element, titleAtt[0]) || /* istanbul ignore next */ '',\n );\n removeAttribute(element, titleAtt[content ? 1 : 0]);\n};\n\n// TOOLTIP DEFINITION\n// ==================\n/** Creates a new `Tooltip` instance. */\nexport default class Tooltip extends BaseComponent {\n static selector = tooltipSelector;\n static init = tooltipInitCallback;\n static getInstance = getTooltipInstance;\n static styleTip = styleTip;\n declare options: TooltipOptions;\n declare btn?: HTMLElement;\n declare tooltip?: HTMLElement;\n declare container: ParentNode;\n declare arrow?: HTMLElement;\n declare offsetParent?: HTMLElement;\n declare enabled: boolean;\n declare id: string;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n\n const { element } = this;\n const isTooltip = this.name === tooltipComponent;\n const tipString = isTooltip ? tooltipString : popoverString;\n const tipComponent = isTooltip ? tooltipComponent : popoverComponent;\n\n /* istanbul ignore next: this is to set Popover too */\n getTooltipInstance = (elem: HTMLElement) => getInstance(elem, tipComponent);\n\n // additional properties\n this.enabled = true;\n /** Set unique ID for `aria-describedby`. */\n this.id = `${tipString}-${getUID(element, tipString)}`;\n\n // instance options\n const { options } = this;\n\n // invalidate\n if (!((!options.title && isTooltip) || (!isTooltip && !options.content))) {\n // reset default options\n ObjectAssign(tooltipDefaults, { titleAttr: '' });\n\n // set title attributes and add event listeners\n /* istanbul ignore else */\n if (hasAttribute(element, titleAttr) && isTooltip && typeof options.title === 'string') {\n toggleTooltipTitle(this, options.title);\n }\n\n // set containers\n this.container = getElementContainer(element);\n this.offsetParent = ['sticky', 'fixed'].some(\n position => getElementStyle(this.container as HTMLElement, 'position') === position,\n )\n ? (this.container as HTMLElement)\n : getDocument(this.element).body;\n\n // create tooltip here\n createTip(this);\n\n // attach events\n this._toggleEventListeners(true);\n }\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return tooltipComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return tooltipDefaults;\n }\n\n // TOOLTIP PUBLIC METHODS\n // ======================\n /** Handles the focus event on iOS. */\n handleFocus = () => focus(this.element);\n /** Shows the tooltip. */\n handleShow = () => this.show();\n show() {\n const { options, tooltip, element, container, offsetParent, id } = this;\n const { animation } = options;\n const outTimer = Timer.get(element, 'out');\n const tipContainer = container === offsetParent ? container : offsetParent;\n\n Timer.clear(element, 'out');\n\n if (tooltip && !outTimer && !hasTip(this)) {\n Timer.set(\n element,\n () => {\n const showTooltipEvent = createCustomEvent(`show.bs.${toLowerCase(this.name)}`);\n dispatchEvent(element, showTooltipEvent);\n if (!showTooltipEvent.defaultPrevented) {\n // append to container\n appendPopup(tooltip, tipContainer);\n\n setAttribute(element, ariaDescribedBy, `#${id}`);\n\n this.update();\n toggleTooltipOpenHandlers(this, true);\n\n /* istanbul ignore else */\n if (!hasClass(tooltip, showClass)) addClass(tooltip, showClass);\n /* istanbul ignore else */\n if (animation) emulateTransitionEnd(tooltip, () => tooltipShownAction(this));\n else tooltipShownAction(this);\n }\n },\n 17,\n 'in',\n );\n }\n }\n\n /** Hides the tooltip. */\n handleHide = () => this.hide();\n hide() {\n const { options, tooltip, element } = this;\n const { animation, delay } = options;\n\n Timer.clear(element, 'in');\n\n /* istanbul ignore else */\n if (tooltip && hasTip(this)) {\n Timer.set(\n element,\n () => {\n const hideTooltipEvent = createCustomEvent(`hide.bs.${toLowerCase(this.name)}`);\n dispatchEvent(element, hideTooltipEvent);\n\n if (!hideTooltipEvent.defaultPrevented) {\n this.update();\n removeClass(tooltip, showClass);\n toggleTooltipOpenHandlers(this);\n\n /* istanbul ignore else */\n if (animation) emulateTransitionEnd(tooltip, () => tooltipHiddenAction(this));\n else tooltipHiddenAction(this);\n }\n },\n delay + 17,\n 'out',\n );\n }\n }\n\n /** Updates the tooltip position. */\n update = () => {\n styleTip(this);\n };\n\n /** Toggles the tooltip visibility. */\n toggle = () => {\n const { tooltip } = this;\n\n if (tooltip && !hasTip(this)) this.show();\n else this.hide();\n };\n\n /** Enables the tooltip. */\n enable() {\n const { enabled } = this;\n /* istanbul ignore else */\n if (!enabled) {\n this._toggleEventListeners(true);\n this.enabled = !enabled;\n }\n }\n\n /** Disables the tooltip. */\n disable() {\n const { tooltip, options, enabled } = this;\n const { animation } = options;\n /* istanbul ignore else */\n if (enabled) {\n if (tooltip && hasTip(this) && animation) {\n this.hide();\n emulateTransitionEnd(tooltip, () => this._toggleEventListeners());\n } else {\n this._toggleEventListeners();\n }\n this.enabled = !enabled;\n }\n }\n\n /** Toggles the `disabled` property. */\n toggleEnabled() {\n if (!this.enabled) this.enable();\n else this.disable();\n }\n\n /**\n * Handles the `touchstart` event listener for `Tooltip`\n *\n * @this {Tooltip}\n * @param {TouchEvent} e the `Event` object\n */\n handleTouch = ({ target }: TouchEvent) => {\n const { tooltip, element } = this;\n\n /* istanbul ignore else */\n if (\n (tooltip && tooltip.contains(target as HTMLElement)) ||\n target === element ||\n (target && element.contains(target as HTMLElement))\n ) {\n // smile for ESLint\n } else {\n this.hide();\n }\n };\n\n /**\n * Toggles on/off the `Tooltip` event listeners.\n *\n * @param add when `true`, event listeners are added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n // btn is only for dismissible popover\n const { element, options, btn } = this;\n const { trigger } = options;\n const isPopover = this.name !== tooltipComponent;\n const dismissible = isPopover && (options as PopoverOptions).dismissible ? true : false;\n\n /* istanbul ignore else */\n if (!trigger.includes('manual')) {\n this.enabled = !!add;\n\n const triggerOptions = trigger.split(' ');\n\n triggerOptions.forEach(tr => {\n /* istanbul ignore else */\n if (tr === mousehoverEvent) {\n action(element, mousedownEvent, this.handleShow);\n action(element, mouseenterEvent, this.handleShow);\n\n /* istanbul ignore else */\n if (!dismissible) {\n action(element, mouseleaveEvent, this.handleHide);\n action(getDocument(element), touchstartEvent, this.handleTouch, passiveHandler);\n }\n } else if (tr === mouseclickEvent) {\n action(element, tr, !dismissible ? this.toggle : this.handleShow);\n } else if (tr === focusEvent) {\n action(element, focusinEvent, this.handleShow);\n /* istanbul ignore else */\n if (!dismissible) action(element, focusoutEvent, this.handleHide);\n /* istanbul ignore else */\n if (isApple) {\n action(element, mouseclickEvent, this.handleFocus);\n }\n }\n /* istanbul ignore else */\n if (dismissible && btn) {\n action(btn, mouseclickEvent, this.handleHide);\n }\n });\n }\n };\n\n /** Removes the `Tooltip` from the target element. */\n dispose() {\n const { tooltip, options } = this;\n const clone = { ...this, name: this.name };\n const callback = () => setTimeout(() => disposeTooltipComplete(clone, () => super.dispose()), 17);\n\n if (options.animation && hasTip(clone)) {\n this.options.delay = 0; // reset delay\n this.hide();\n emulateTransitionEnd(tooltip as HTMLElement, callback);\n } else {\n callback();\n }\n }\n}\n"],"names":["popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","arrow","body","tipClassPositions","styleTip","self","tipClasses","element","tooltip","container","options","tipPositions","RTL","isRTL","setElementStyle","isPopover","tipWidth","tipHeight","htmlcw","htmlch","htmlow","getDocumentElement","placement","parentCWidth","parentOWidth","fixedParent","getElementStyle","scrollbarWidth","leftBoundry","rightBoundry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","getBoundingClientRect","x","y","topPosition","bottomPosition","leftPosition","rightPosition","arrowTop","arrowLeft","arrowRight","arrowWidth","arrowHeight","arrowAdjust","topExceed","bottomExceed","leftExceed","rightExceed","horizontals","verticals","isHTMLElement","updatedTooltipEvent","createCustomEvent","toLowerCase","dispatchEvent","tooltipDefaults","dataOriginalTitle","tooltipComponent","setHtml","content","sanitizeFn","isString","dirty","isFunction","tempDocument","isNodeList","isArray","isNode","createTip","id","title","template","animation","customClass","dismissible","btnClose","tipString","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","createElement","setAttribute","tooltipHeader","querySelector","tooltipBody","tempTitle","tempContent","tempBtn","addClass","hasClass","fadeClass","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","c","i","r","getDocument","tooltipSelector","dataBsToggle","titleAttr","getTooltipInstance","getInstance","tooltipInitCallback","Tooltip","removeTooltip","offsetParent","removeAttribute","ariaDescribedBy","removePopup","hasTip","hasPopup","disposeTooltipComplete","callback","hasAttribute","toggleTooltipTitle","toggleTooltipAction","add","action","addListener","removeListener","touchstartEvent","passiveHandler","scrollEvent","resizeEvent","ev","getWindow","tooltipShownAction","shownTooltipEvent","Timer","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","offsetHeight","scrollHeight","parentModal","closest","modalString","parentOffcanvas","offcanvasString","win","scrollTarget","titleAtt","getAttribute","BaseComponent","target","config","__publicField","focus","btn","trigger","tr","mousehoverEvent","mousedownEvent","mouseenterEvent","mouseleaveEvent","mouseclickEvent","focusEvent","focusinEvent","focusoutEvent","isApple","tipComponent","elem","getUID","ObjectAssign","position","outTimer","tipContainer","showTooltipEvent","appendPopup","showClass","emulateTransitionEnd","delay","hideTooltipEvent","removeClass","enabled","clone"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/tooltip-CHqbXeRf.js b/dist/components/tooltip-CHqbXeRf.js new file mode 100644 index 00000000..b5ad99d6 --- /dev/null +++ b/dist/components/tooltip-CHqbXeRf.js @@ -0,0 +1,2 @@ +"use strict";var Et=Object.defineProperty;var bt=(s,i,o)=>i in s?Et(s,i,{enumerable:!0,configurable:!0,writable:!0,value:o}):s[i]=o;var v=(s,i,o)=>bt(s,typeof i!="symbol"?i+"":i,o);const t=require("@thednp/shorty"),O=require("@thednp/event-listener"),Ct=require("./dataBsToggle-Dj-Ng54N.js"),et=require("./showClass-D_Ms1FgG.js"),M=require("./popupContainer-RgdJuCa1.js"),nt=require("./fadeClass-Co6nOzNJ.js"),Tt=require("./base-component-j_bwTL_x.js"),Y="popover",it="Popover",y="tooltip",dt=s=>{const i=s===y,o=i?`${s}-inner`:`${s}-body`,e=i?"":`

`,n=`
`,l=`
`;return`
${e+n+l}
`},ht={top:"top",bottom:"bottom",left:"start",right:"end"},ot=s=>{const i=/\b(top|bottom|start|end)+/,{element:o,tooltip:e,container:n,options:l,arrow:r}=s;if(e){const m={...ht},f=t.isRTL(o);t.setElementStyle(e,{top:"",left:"",right:"",bottom:""});const c=s.name===it,{offsetWidth:d,offsetHeight:h}=e,{clientWidth:b,clientHeight:C,offsetWidth:B}=t.getDocumentElement(o);let{placement:a}=l;const{clientWidth:T,offsetWidth:w}=n,S=t.getElementStyle(n,"position")==="fixed",p=Math.abs(S?T-w:b-B),x=f&&S?p:0,$=b-(f?0:p)-1,{width:g,height:E,left:u,right:gt,top:D}=t.getBoundingClientRect(o,!0),{x:G,y:k}={x:u,y:D};t.setElementStyle(r,{top:"",left:"",right:"",bottom:""});let A=0,I="",L=0,V="",q="",J="",X="";const N=r.offsetWidth||0,H=r.offsetHeight||0,Z=N/2;let _=D-h-H<0,F=D+h+E+H>=C,z=u-d-N=$;const K=["left","right"],tt=["top","bottom"];_=K.includes(a)?D+E/2-h/2-H<0:_,F=K.includes(a)?D+h/2+E/2+H>=C:F,z=tt.includes(a)?u+g/2-d/2=$:j,a=K.includes(a)&&z&&j?"top":a,a=a==="top"&&_?"bottom":a,a=a==="bottom"&&F?"top":a,a=a==="left"&&z?"right":a,a=a==="right"&&j?"left":a,e.className.includes(a)||(e.className=e.className.replace(i,m[a])),K.includes(a)?(a==="left"?L=G-d-(c?N:0):L=G+g+(c?N:0),_&&F?(A=0,I=0,q=D+E/2-H/2):_?(A=k,I="",q=E/2-N):F?(A=k-h+E,I="",q=h-E/2-N):(A=k-h/2+E/2,q=h/2-H/2)):tt.includes(a)&&(a==="top"?A=k-h-(c?H:0):A=k+E+(c?H:0),z?(L=0,J=G+g/2-Z):j?(L="auto",V=0,X=g/2+$-gt-Z):(L=G-d/2+g/2,J=d/2-Z)),t.setElementStyle(e,{top:`${A}px`,bottom:I===""?"":`${I}px`,left:L==="auto"?L:`${L}px`,right:V!==""?`${V}px`:""}),t.isHTMLElement(r)&&(q!==""&&(r.style.top=`${q}px`),J!==""?r.style.left=`${J}px`:X!==""&&(r.style.right=`${X}px`));const vt=t.createCustomEvent(`updated.bs.${t.toLowerCase(s.name)}`);t.dispatchEvent(o,vt)}},st={template:dt(y),title:"",customClass:"",trigger:"hover focus",placement:"top",sanitizeFn:void 0,animation:!0,delay:200,container:document.body,content:"",dismissible:!1,btnClose:""},pt="data-original-title",W="Tooltip",P=(s,i,o)=>{if(t.isString(i)&&i.length){let e=i.trim();t.isFunction(o)&&(e=o(e));const l=new DOMParser().parseFromString(e,"text/html");s.append(...l.body.childNodes)}else t.isHTMLElement(i)?s.append(i):(t.isNodeList(i)||t.isArray(i)&&i.every(t.isNode))&&s.append(...i)},wt=s=>{const i=s.name===W,{id:o,element:e,options:n}=s,{title:l,placement:r,template:m,animation:f,customClass:c,sanitizeFn:d,dismissible:h,content:b,btnClose:C}=n,B=i?y:Y,a={...ht};let T=[],w=[];t.isRTL(e)&&(a.left="end",a.right="start");const Q=`bs-${B}-${a[r]}`;let S;if(t.isHTMLElement(m))S=m;else{const x=t.createElement("div");P(x,m,d),S=x.firstChild}s.tooltip=t.isHTMLElement(S)?S.cloneNode(!0):void 0;const{tooltip:p}=s;if(p){t.setAttribute(p,"id",o),t.setAttribute(p,"role",y);const x=i?`${y}-inner`:`${Y}-body`,$=i?null:t.querySelector(`.${Y}-header`,p),g=t.querySelector(`.${x}`,p);s.arrow=t.querySelector(`.${B}-arrow`,p);const{arrow:E}=s;if(t.isHTMLElement(l))T=[l.cloneNode(!0)];else{const u=t.createElement("div");P(u,l,d),T=[...u.childNodes]}if(t.isHTMLElement(b))w=[b.cloneNode(!0)];else{const u=t.createElement("div");P(u,b,d),w=[...u.childNodes]}if(h)if(l)if(t.isHTMLElement(C))T=[...T,C.cloneNode(!0)];else{const u=t.createElement("div");P(u,C,d),T=[...T,u.firstChild]}else if($&&$.remove(),t.isHTMLElement(C))w=[...w,C.cloneNode(!0)];else{const u=t.createElement("div");P(u,C,d),w=[...w,u.firstChild]}i?l&&g&&P(g,l,d):(l&&$&&P($,T,d),b&&g&&P(g,w,d),s.btn=t.querySelector(".btn-close",p)||void 0),t.addClass(p,"position-fixed"),t.addClass(E,"position-absolute"),t.hasClass(p,B)||t.addClass(p,B),f&&!t.hasClass(p,nt.fadeClass)&&t.addClass(p,nt.fadeClass),c&&!t.hasClass(p,c)&&t.addClass(p,c),t.hasClass(p,Q)||t.addClass(p,Q)}},yt=s=>{const i=["HTML","BODY"],o=[];let{parentNode:e}=s;for(;e&&!i.includes(e.nodeName);)e=t.getParentNode(e),t.isShadowRoot(e)||t.isTableElement(e)||o.push(e);return o.find((n,l)=>t.getElementStyle(n,"position")!=="relative"&&o.slice(l+1).every(r=>t.getElementStyle(r,"position")==="static")?n:null)||t.getDocument(s).body},$t=`[${Ct.dataBsToggle}="${y}"],[data-tip="${y}"]`,mt="title";let lt=s=>t.getInstance(s,W);const Lt=s=>new R(s),Ht=s=>{const{element:i,tooltip:o,container:e,offsetParent:n}=s;t.removeAttribute(i,t.ariaDescribedBy),M.removePopup(o,e===n?e:n)},U=s=>{const{tooltip:i,container:o,offsetParent:e}=s;return i&&M.hasPopup(i,o===e?o:e)},Pt=(s,i)=>{const{element:o}=s;s._toggleEventListeners(),t.hasAttribute(o,pt)&&s.name===W&&ft(s),i&&i()},ut=(s,i)=>{const o=i?O.addListener:O.removeListener,{element:e}=s;o(t.getDocument(e),t.touchstartEvent,s.handleTouch,t.passiveHandler),[t.scrollEvent,t.resizeEvent].forEach(n=>{o(t.getWindow(e),n,s.update,t.passiveHandler)})},at=s=>{const{element:i}=s,o=t.createCustomEvent(`shown.bs.${t.toLowerCase(s.name)}`);ut(s,!0),t.dispatchEvent(i,o),t.Timer.clear(i,"in")},rt=s=>{const{element:i}=s,o=t.createCustomEvent(`hidden.bs.${t.toLowerCase(s.name)}`);ut(s),Ht(s),t.dispatchEvent(i,o),t.Timer.clear(i,"out")},ct=(s,i)=>{const o=i?O.addListener:O.removeListener,{element:e,container:n,offsetParent:l}=s,{offsetHeight:r,scrollHeight:m}=n,f=t.closest(e,`.${M.modalString}`),c=t.closest(e,`.${M.offcanvasString}`),d=t.getWindow(e),b=n===l&&r!==m?n:d;o(b,t.resizeEvent,s.update,t.passiveHandler),o(b,t.scrollEvent,s.update,t.passiveHandler),f&&o(f,`hide.bs.${M.modalString}`,s.handleHide),c&&o(c,`hide.bs.${M.offcanvasString}`,s.handleHide)},ft=(s,i)=>{const o=[pt,mt],{element:e}=s;t.setAttribute(e,o[i?0:1],i||t.getAttribute(e,o[0])||""),t.removeAttribute(e,o[i?1:0])};class R extends Tt.BaseComponent{constructor(o,e){super(o,e);v(this,"handleFocus",()=>t.focus(this.element));v(this,"handleShow",()=>this.show());v(this,"handleHide",()=>this.hide());v(this,"update",()=>{ot(this)});v(this,"toggle",()=>{const{tooltip:o}=this;o&&!U(this)?this.show():this.hide()});v(this,"handleTouch",({target:o})=>{const{tooltip:e,element:n}=this;e&&e.contains(o)||o===n||o&&n.contains(o)||this.hide()});v(this,"_toggleEventListeners",o=>{const e=o?O.addListener:O.removeListener,{element:n,options:l,btn:r}=this,{trigger:m}=l,c=!!(this.name!==W&&l.dismissible);m.includes("manual")||(this.enabled=!!o,m.split(" ").forEach(h=>{h===t.mousehoverEvent?(e(n,t.mousedownEvent,this.handleShow),e(n,t.mouseenterEvent,this.handleShow),c||(e(n,t.mouseleaveEvent,this.handleHide),e(t.getDocument(n),t.touchstartEvent,this.handleTouch,t.passiveHandler))):h===t.mouseclickEvent?e(n,h,c?this.handleShow:this.toggle):h===t.focusEvent&&(e(n,t.focusinEvent,this.handleShow),c||e(n,t.focusoutEvent,this.handleHide),t.isApple&&e(n,t.mouseclickEvent,this.handleFocus)),c&&r&&e(r,t.mouseclickEvent,this.handleHide)}))});const{element:n}=this,l=this.name===W,r=l?y:Y,m=l?W:it;lt=c=>t.getInstance(c,m),this.enabled=!0,this.id=`${r}-${t.getUID(n,r)}`;const{options:f}=this;!f.title&&l||!l&&!f.content||(t.ObjectAssign(st,{titleAttr:""}),t.hasAttribute(n,mt)&&l&&typeof f.title=="string"&&ft(this,f.title),this.container=yt(n),this.offsetParent=["sticky","fixed"].some(c=>t.getElementStyle(this.container,"position")===c)?this.container:t.getDocument(this.element).body,wt(this),this._toggleEventListeners(!0))}get name(){return W}get defaults(){return st}show(){const{options:o,tooltip:e,element:n,container:l,offsetParent:r,id:m}=this,{animation:f}=o,c=t.Timer.get(n,"out"),d=l===r?l:r;t.Timer.clear(n,"out"),e&&!c&&!U(this)&&t.Timer.set(n,()=>{const h=t.createCustomEvent(`show.bs.${t.toLowerCase(this.name)}`);t.dispatchEvent(n,h),h.defaultPrevented||(M.appendPopup(e,d),t.setAttribute(n,t.ariaDescribedBy,`#${m}`),this.update(),ct(this,!0),t.hasClass(e,et.showClass)||t.addClass(e,et.showClass),f?t.emulateTransitionEnd(e,()=>at(this)):at(this))},17,"in")}hide(){const{options:o,tooltip:e,element:n}=this,{animation:l,delay:r}=o;t.Timer.clear(n,"in"),e&&U(this)&&t.Timer.set(n,()=>{const m=t.createCustomEvent(`hide.bs.${t.toLowerCase(this.name)}`);t.dispatchEvent(n,m),m.defaultPrevented||(this.update(),t.removeClass(e,et.showClass),ct(this),l?t.emulateTransitionEnd(e,()=>rt(this)):rt(this))},r+17,"out")}enable(){const{enabled:o}=this;o||(this._toggleEventListeners(!0),this.enabled=!o)}disable(){const{tooltip:o,options:e,enabled:n}=this,{animation:l}=e;n&&(o&&U(this)&&l?(this.hide(),t.emulateTransitionEnd(o,()=>this._toggleEventListeners())):this._toggleEventListeners(),this.enabled=!n)}toggleEnabled(){this.enabled?this.disable():this.enable()}dispose(){const{tooltip:o,options:e}=this,n={...this,name:this.name},l=()=>setTimeout(()=>Pt(n,()=>super.dispose()),17);e.animation&&U(n)?(this.options.delay=0,this.hide(),t.emulateTransitionEnd(o,l)):l()}}v(R,"selector",$t),v(R,"init",Lt),v(R,"getInstance",lt),v(R,"styleTip",ot);exports.Tooltip=R;exports.getTipTemplate=dt;exports.popoverComponent=it;exports.popoverString=Y;exports.styleTip=ot;exports.tooltipDefaults=st; +//# sourceMappingURL=tooltip-CHqbXeRf.js.map diff --git a/dist/components/tooltip-ddfd360d.js.map b/dist/components/tooltip-CHqbXeRf.js.map similarity index 82% rename from dist/components/tooltip-ddfd360d.js.map rename to dist/components/tooltip-CHqbXeRf.js.map index 71fe778f..6a085d7a 100644 --- a/dist/components/tooltip-ddfd360d.js.map +++ b/dist/components/tooltip-CHqbXeRf.js.map @@ -1 +1 @@ -{"version":3,"file":"tooltip-ddfd360d.js","sources":["../../src/strings/popoverString.ts","../../src/strings/popoverComponent.ts","../../src/strings/tooltipString.ts","../../src/util/getTipTemplate.ts","../../src/util/tipClassPositions.ts","../../src/util/styleTip.ts","../../src/util/tooltipDefaults.ts","../../src/strings/dataOriginalTitle.ts","../../src/strings/tooltipComponent.ts","../../src/util/setHtml.ts","../../src/util/createTip.ts","../../src/util/getElementContainer.ts","../../src/components/tooltip.ts"],"sourcesContent":["/** @type {string} */\nconst popoverString = 'popover';\nexport default popoverString;\n","/** @type {string} */\nconst popoverComponent = 'Popover';\nexport default popoverComponent;\n","/** @type {string} */\nconst tooltipString = 'tooltip';\nexport default tooltipString;\n","import tooltipString from '../strings/tooltipString';\n\n/**\n * Returns a template for Popover / Tooltip.\n *\n * @param tipType the expected markup type\n * @returns the template markup\n */\nconst getTipTemplate = (tipType: string) => {\n const isTooltip = tipType === tooltipString;\n const bodyClass = isTooltip ? `${tipType}-inner` : `${tipType}-body`;\n const header = !isTooltip ? `

` : '';\n const arrow = `
`;\n const body = `
`;\n return `
${header + arrow + body}
`;\n};\n\nexport default getTipTemplate;\n","const tipClassPositions = {\n top: 'top',\n bottom: 'bottom',\n left: 'start',\n right: 'end',\n};\n\nexport default tipClassPositions;\n","import {\n isHTMLElement,\n setElementStyle,\n getDocumentElement,\n getBoundingClientRect,\n getElementStyle,\n isRTL,\n toLowerCase,\n createCustomEvent,\n dispatchEvent,\n} from '@thednp/shorty';\n\nimport popoverComponent from '../strings/popoverComponent';\nimport tipClassPositions from './tipClassPositions';\nimport Tooltip from '../components/tooltip';\nimport type { TooltipEvent } from '../interface/tooltip';\nimport type { PopoverEvent } from '../interface/popover';\n\n/**\n * Style popovers and tooltips.\n *\n * @param self the `Popover` / `Tooltip` instance\n */\nconst styleTip = (self: T) => {\n const tipClasses = /\\b(top|bottom|start|end)+/;\n const { element, tooltip, container, options, arrow } = self;\n\n /* istanbul ignore else */\n if (tooltip) {\n const tipPositions = { ...tipClassPositions };\n const RTL = isRTL(element);\n\n // reset tooltip style (top: 0, left: 0 works best)\n setElementStyle(tooltip, {\n // top: '0px', left: '0px', right: '', bottom: '',\n top: '',\n left: '',\n right: '',\n bottom: '',\n });\n const isPopover = self.name === popoverComponent;\n const { offsetWidth: tipWidth, offsetHeight: tipHeight } = tooltip;\n const { clientWidth: htmlcw, clientHeight: htmlch, offsetWidth: htmlow } = getDocumentElement(element);\n let { placement } = options;\n const { clientWidth: parentCWidth, offsetWidth: parentOWidth } = container as HTMLElement;\n const parentPosition = getElementStyle(container as HTMLElement, 'position');\n const fixedParent = parentPosition === 'fixed';\n const scrollbarWidth = fixedParent ? Math.abs(parentCWidth - parentOWidth) : Math.abs(htmlcw - htmlow);\n const leftBoundry = RTL && fixedParent ? /* istanbul ignore next */ scrollbarWidth : 0;\n const rightBoundry = htmlcw - (!RTL ? scrollbarWidth : 0) - 1;\n const {\n width: elemWidth,\n height: elemHeight,\n left: elemRectLeft,\n right: elemRectRight,\n top: elemRectTop,\n } = getBoundingClientRect(element, true);\n const { x, y } = {\n x: elemRectLeft,\n y: elemRectTop,\n };\n // reset arrow style\n setElementStyle(arrow as HTMLElement, {\n top: '',\n left: '',\n right: '',\n bottom: '',\n });\n let topPosition: number | string = 0;\n let bottomPosition: number | string = '';\n let leftPosition: number | string = 0;\n let rightPosition: number | string = '';\n let arrowTop: number | string = '';\n let arrowLeft: number | string = '';\n let arrowRight: number | string = '';\n\n const arrowWidth = (arrow as HTMLElement).offsetWidth || 0;\n const arrowHeight = (arrow as HTMLElement).offsetHeight || 0;\n const arrowAdjust = arrowWidth / 2;\n\n // check placement\n let topExceed = elemRectTop - tipHeight - arrowHeight < 0;\n let bottomExceed = elemRectTop + tipHeight + elemHeight + arrowHeight >= htmlch;\n let leftExceed = elemRectLeft - tipWidth - arrowWidth < leftBoundry;\n let rightExceed = elemRectLeft + tipWidth + elemWidth + arrowWidth >= rightBoundry;\n\n const horizontals = ['left', 'right'];\n const verticals = ['top', 'bottom'];\n\n topExceed = horizontals.includes(placement)\n ? elemRectTop + elemHeight / 2 - tipHeight / 2 - arrowHeight < 0\n : topExceed;\n bottomExceed = horizontals.includes(placement)\n ? elemRectTop + tipHeight / 2 + elemHeight / 2 + arrowHeight >= htmlch\n : bottomExceed;\n leftExceed = verticals.includes(placement) ? elemRectLeft + elemWidth / 2 - tipWidth / 2 < leftBoundry : leftExceed;\n rightExceed = verticals.includes(placement)\n ? elemRectLeft + tipWidth / 2 + elemWidth / 2 >= rightBoundry\n : rightExceed;\n\n // first remove side positions if both left and right limits are exceeded\n // we usually fall back to top|bottom\n placement = horizontals.includes(placement) && leftExceed && rightExceed ? 'top' : placement;\n // recompute placement\n placement = placement === 'top' && topExceed ? 'bottom' : placement;\n placement = placement === 'bottom' && bottomExceed ? 'top' : placement;\n placement = placement === 'left' && leftExceed ? 'right' : placement;\n placement = placement === 'right' && rightExceed ? /* istanbul ignore next */ 'left' : placement;\n\n // update tooltip/popover class\n if (!tooltip.className.includes(placement)) {\n tooltip.className = tooltip.className.replace(tipClasses, tipPositions[placement]);\n }\n\n // compute tooltip / popover coordinates\n /* istanbul ignore else */\n if (horizontals.includes(placement)) {\n // secondary|side positions\n if (placement === 'left') {\n // LEFT\n leftPosition = x - tipWidth - (isPopover ? arrowWidth : 0);\n } else {\n // RIGHT\n leftPosition = x + elemWidth + (isPopover ? arrowWidth : 0);\n }\n\n // adjust top and arrow\n if (topExceed && bottomExceed) {\n topPosition = 0;\n bottomPosition = 0;\n arrowTop = elemRectTop + elemHeight / 2 - arrowHeight / 2;\n } else if (topExceed) {\n topPosition = y;\n bottomPosition = '';\n arrowTop = elemHeight / 2 - arrowWidth;\n } else if (bottomExceed) {\n topPosition = y - tipHeight + elemHeight;\n bottomPosition = '';\n arrowTop = tipHeight - elemHeight / 2 - arrowWidth;\n } else {\n topPosition = y - tipHeight / 2 + elemHeight / 2;\n arrowTop = tipHeight / 2 - arrowHeight / 2;\n }\n } else if (verticals.includes(placement)) {\n if (placement === 'top') {\n topPosition = y - tipHeight - (isPopover ? arrowHeight : 0);\n } else {\n // BOTTOM\n topPosition = y + elemHeight + (isPopover ? arrowHeight : 0);\n }\n\n // adjust left | right and also the arrow\n if (leftExceed) {\n leftPosition = 0;\n arrowLeft = x + elemWidth / 2 - arrowAdjust;\n } else if (rightExceed) {\n leftPosition = 'auto';\n rightPosition = 0;\n arrowRight = elemWidth / 2 + rightBoundry - elemRectRight - arrowAdjust;\n } else {\n leftPosition = x - tipWidth / 2 + elemWidth / 2;\n arrowLeft = tipWidth / 2 - arrowAdjust;\n }\n }\n\n // apply style to tooltip/popover\n setElementStyle(tooltip, {\n top: `${topPosition}px`,\n bottom: bottomPosition === '' ? '' : `${bottomPosition}px`,\n left: leftPosition === 'auto' ? leftPosition : `${leftPosition}px`,\n right: rightPosition !== '' ? `${rightPosition}px` : '',\n });\n\n // update arrow placement\n /* istanbul ignore else */\n if (isHTMLElement(arrow)) {\n if (arrowTop !== '') {\n arrow.style.top = `${arrowTop}px`;\n }\n if (arrowLeft !== '') {\n arrow.style.left = `${arrowLeft}px`;\n } else if (arrowRight !== '') {\n arrow.style.right = `${arrowRight}px`;\n }\n }\n const updatedTooltipEvent = createCustomEvent(`updated.bs.${toLowerCase(self.name)}`);\n dispatchEvent(element, updatedTooltipEvent);\n }\n};\n\nexport default styleTip;\n","import getTipTemplate from './getTipTemplate';\nimport tooltipString from '../strings/tooltipString';\nimport { TooltipOptions } from '../interface/tooltip';\n\nconst tooltipDefaults: TooltipOptions = {\n template: getTipTemplate(tooltipString),\n title: '',\n customClass: '',\n trigger: 'hover focus',\n placement: 'top',\n sanitizeFn: undefined,\n animation: true,\n delay: 200,\n container: document.body,\n content: '',\n dismissible: false,\n btnClose: '',\n};\nexport default tooltipDefaults;\n","/**\n * Global namespace for `data-bs-title` attribute.\n */\nconst dataOriginalTitle = 'data-original-title';\nexport default dataOriginalTitle;\n","/** @type {string} */\nconst tooltipComponent = 'Tooltip';\nexport default tooltipComponent;\n","import { isNode, isArray, isFunction, isString, isNodeList, isHTMLElement } from '@thednp/shorty';\n\n/**\n * Append an existing `Element` to Popover / Tooltip component or HTML\n * markup string to be parsed & sanitized to be used as popover / tooltip content.\n *\n * @param element target\n * @param content the `Element` to append / string\n * @param sanitizeFn a function to sanitize string content\n */\nconst setHtml = (element: HTMLElement, content: Node[] | Node | string, sanitizeFn?: (s: string) => string) => {\n /* istanbul ignore else */\n if (isString(content) && content.length) {\n let dirty = content.trim(); // fixing #233\n if (isFunction(sanitizeFn)) dirty = sanitizeFn(dirty);\n\n const domParser = new DOMParser();\n const tempDocument = domParser.parseFromString(dirty, 'text/html');\n element.append(...[...tempDocument.body.childNodes]);\n } else if (isHTMLElement(content)) {\n element.append(content);\n } else if (isNodeList(content) || (isArray(content) && content.every(isNode))) {\n element.append(...[...content]);\n }\n};\nexport default setHtml;\n","import { createElement, addClass, hasClass, setAttribute, querySelector, isRTL, isHTMLElement } from '@thednp/shorty';\n\nimport tooltipComponent from '../strings/tooltipComponent';\nimport tooltipString from '../strings/tooltipString';\nimport popoverString from '../strings/popoverString';\nimport fadeClass from '../strings/fadeClass';\nimport tipClassPositions from './tipClassPositions';\nimport setHtml from './setHtml';\nimport Tooltip from '../components/tooltip';\nimport Popover from '../components/popover';\n\n/**\n * Creates a new tooltip / popover.\n *\n * @param self the `Tooltip` / `Popover` instance\n */\nconst createTip = (self: Tooltip | Popover) => {\n const isTooltip = self.name === tooltipComponent;\n\n const { id, element, options } = self;\n const { title, placement, template, animation, customClass, sanitizeFn, dismissible, content, btnClose } = options;\n const tipString = isTooltip ? tooltipString : popoverString;\n const tipPositions = { ...tipClassPositions };\n let titleParts: Node[] = [];\n let contentParts: Node[] = [];\n\n if (isRTL(element)) {\n tipPositions.left = 'end';\n tipPositions.right = 'start';\n }\n\n // set initial popover class\n const placementClass = `bs-${tipString}-${tipPositions[placement]}`;\n\n // load template\n let tooltipTemplate: Node | string;\n if (isHTMLElement(template)) {\n tooltipTemplate = template;\n } else {\n const htmlMarkup = createElement('div') as HTMLElement;\n setHtml(htmlMarkup, template, sanitizeFn);\n tooltipTemplate = htmlMarkup.firstChild as HTMLElement;\n }\n\n // set popover markup\n self.tooltip = isHTMLElement(tooltipTemplate)\n ? (tooltipTemplate.cloneNode(true) as HTMLElement)\n : /* istanbul ignore next */ undefined;\n\n const { tooltip } = self;\n /* istanbul ignore else */\n if (tooltip) {\n // set id and role attributes\n setAttribute(tooltip, 'id', id);\n setAttribute(tooltip, 'role', tooltipString);\n\n const bodyClass = isTooltip ? `${tooltipString}-inner` : `${popoverString}-body`;\n const tooltipHeader = isTooltip ? null : querySelector(`.${popoverString}-header`, tooltip);\n const tooltipBody = querySelector(`.${bodyClass}`, tooltip);\n\n // set arrow and enable access for styleTip\n self.arrow = querySelector(`.${tipString}-arrow`, tooltip) as HTMLElement;\n const { arrow } = self;\n\n if (isHTMLElement(title)) titleParts = [title.cloneNode(true)];\n else {\n const tempTitle = createElement('div') as HTMLElement;\n setHtml(tempTitle, title, sanitizeFn);\n titleParts = [...[...tempTitle.childNodes]];\n }\n\n if (isHTMLElement(content)) contentParts = [content.cloneNode(true)];\n else {\n const tempContent = createElement('div') as HTMLElement;\n setHtml(tempContent, content, sanitizeFn);\n contentParts = [...[...tempContent.childNodes]];\n }\n\n // set dismissible button\n if (dismissible) {\n if (title) {\n if (isHTMLElement(btnClose)) titleParts = [...titleParts, btnClose.cloneNode(true)];\n else {\n const tempBtn = createElement('div') as HTMLElement;\n setHtml(tempBtn, btnClose, sanitizeFn);\n titleParts = [...titleParts, tempBtn.firstChild as Node];\n }\n } else {\n /* istanbul ignore else */\n if (tooltipHeader) tooltipHeader.remove();\n if (isHTMLElement(btnClose)) contentParts = [...contentParts, btnClose.cloneNode(true)];\n else {\n const tempBtn = createElement('div') as HTMLElement;\n setHtml(tempBtn, btnClose, sanitizeFn);\n contentParts = [...contentParts, tempBtn.firstChild as Node];\n }\n }\n }\n\n // fill the template with content from options / data attributes\n // also sanitize title && content\n /* istanbul ignore else */\n if (!isTooltip) {\n /* istanbul ignore else */\n if (title && tooltipHeader) setHtml(tooltipHeader, titleParts, sanitizeFn);\n /* istanbul ignore else */\n if (content && tooltipBody) setHtml(tooltipBody, contentParts, sanitizeFn);\n // set btn\n self.btn = querySelector('.btn-close', tooltip) || undefined;\n } else if (title && tooltipBody) setHtml(tooltipBody, title, sanitizeFn);\n\n // Bootstrap 5.2.x\n // addClass(tooltip, 'position-absolute');\n addClass(tooltip, 'position-fixed');\n addClass(arrow, 'position-absolute');\n\n // set popover animation and placement\n /* istanbul ignore else */\n if (!hasClass(tooltip, tipString)) addClass(tooltip, tipString);\n /* istanbul ignore else */\n if (animation && !hasClass(tooltip, fadeClass)) addClass(tooltip, fadeClass);\n /* istanbul ignore else */\n if (customClass && !hasClass(tooltip, customClass)) {\n addClass(tooltip, customClass);\n }\n /* istanbul ignore else */\n if (!hasClass(tooltip, placementClass)) addClass(tooltip, placementClass);\n }\n};\n\nexport default createTip;\n","import { getDocument, isShadowRoot, isTableElement, getParentNode, getElementStyle } from '@thednp/shorty';\n\n/**\n * Returns an `HTMLElement` to be used as default value for *options.container*\n * for `Tooltip` / `Popover` components.\n *\n * @see https://github.com/floating-ui/floating-ui\n *\n * @param element the target\n * @returns the query result\n */\nconst getElementContainer = (element: HTMLElement): ParentNode => {\n const majorBlockTags = ['HTML', 'BODY'];\n const containers: ParentNode[] = [];\n let { parentNode } = element as Node;\n\n while (parentNode && !majorBlockTags.includes(parentNode.nodeName)) {\n parentNode = getParentNode(parentNode) as ParentNode;\n /* istanbul ignore else */\n if (!(isShadowRoot(parentNode) || isTableElement(parentNode))) {\n containers.push(parentNode);\n }\n }\n\n return (\n containers.find((c, i) => {\n if (\n getElementStyle(c as HTMLElement, 'position') !== 'relative' &&\n containers.slice(i + 1).every(r => getElementStyle(r as HTMLElement, 'position') === 'static')\n ) {\n return c;\n }\n return null;\n }) || /* istanbul ignore next: optional guard */ getDocument(element).body\n );\n};\n\nexport default getElementContainer;\n","/* Native JavaScript for Bootstrap 5 | Tooltip\n---------------------------------------------- */\nimport {\n ariaDescribedBy,\n focusoutEvent,\n focusinEvent,\n focusEvent,\n mouseleaveEvent,\n mouseenterEvent,\n mousedownEvent,\n mouseclickEvent,\n closest,\n getUID,\n getDocument,\n getWindow,\n removeAttribute,\n getAttribute,\n setAttribute,\n hasAttribute,\n touchstartEvent,\n resizeEvent,\n scrollEvent,\n mousehoverEvent,\n toLowerCase,\n focus,\n Timer,\n emulateTransitionEnd,\n passiveHandler,\n dispatchEvent,\n isApple,\n getInstance,\n ObjectAssign,\n createCustomEvent,\n removeClass,\n hasClass,\n addClass,\n getElementStyle,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport dataBsToggle from '../strings/dataBsToggle';\nimport dataOriginalTitle from '../strings/dataOriginalTitle';\nimport showClass from '../strings/showClass';\nimport tooltipString from '../strings/tooltipString';\nimport tooltipComponent from '../strings/tooltipComponent';\nimport popoverString from '../strings/popoverString';\nimport popoverComponent from '../strings/popoverComponent';\nimport modalString from '../strings/modalString';\nimport offcanvasString from '../strings/offcanvasString';\n\nimport styleTip from '../util/styleTip';\nimport createTip from '../util/createTip';\nimport { appendPopup, removePopup, hasPopup } from '../util/popupContainer';\nimport getElementContainer from '../util/getElementContainer';\nimport tooltipDefaults from '../util/tooltipDefaults';\nimport BaseComponent from './base-component';\nimport { TooltipOptions, TooltipEvent } from '../interface/tooltip';\nimport { PopoverOptions, PopoverEvent } from '../interface/popover';\n\n// TOOLTIP PRIVATE GC\n// ==================\nconst tooltipSelector = `[${dataBsToggle}=\"${tooltipString}\"],[data-tip=\"${tooltipString}\"]`;\nconst titleAttr = 'title';\n\n/**\n * Static method which returns an existing `Tooltip` instance associated\n * to a target `Element`.\n *\n */\nlet getTooltipInstance = (element: HTMLElement) => getInstance(element, tooltipComponent);\n\n/**\n * A `Tooltip` initialization callback.\n */\nconst tooltipInitCallback = (element: HTMLElement) => new Tooltip(element);\n\n// TOOLTIP PRIVATE METHODS\n// =======================\n/**\n * Removes the tooltip from the DOM.\n *\n * @param self the `Tooltip` instance\n */\nconst removeTooltip = (self: Tooltip) => {\n const { element, tooltip, container, offsetParent } = self;\n removeAttribute(element, ariaDescribedBy);\n removePopup(tooltip as HTMLElement, container === offsetParent ? container : offsetParent);\n};\n\n/**\n * Check if container contains the tooltip.\n *\n * @param self Tooltip\n */\nconst hasTip = (self: Tooltip): boolean | undefined => {\n const { tooltip, container, offsetParent } = self;\n\n return tooltip && hasPopup(tooltip, container === offsetParent ? container : offsetParent);\n};\n\n/**\n * Executes after the instance has been disposed.\n *\n * @param self the `Tooltip` instance\n * @param callback the parent dispose callback\n */\nconst disposeTooltipComplete = (self: Tooltip, callback?: () => void) => {\n const { element } = self;\n self._toggleEventListeners();\n\n /* istanbul ignore else */\n if (hasAttribute(element, dataOriginalTitle) && self.name === tooltipComponent) {\n toggleTooltipTitle(self);\n }\n /* istanbul ignore else */\n if (callback) callback();\n};\n\n/**\n * Toggles on/off the special `Tooltip` event listeners.\n *\n * @param self the `Tooltip` instance\n * @param add when `true`, event listeners are added\n */\nconst toggleTooltipAction = (self: Tooltip, add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element } = self;\n\n action(getDocument(element), touchstartEvent, self.handleTouch, passiveHandler);\n\n [scrollEvent, resizeEvent].forEach(ev => {\n action(getWindow(element), ev, self.update, passiveHandler);\n });\n};\n\n/**\n * Executes after the tooltip was shown to the user.\n *\n * @param self the `Tooltip` instance\n */\nconst tooltipShownAction = (self: Tooltip) => {\n const { element } = self;\n const shownTooltipEvent = createCustomEvent(`shown.bs.${toLowerCase(self.name)}`);\n\n toggleTooltipAction(self, true);\n dispatchEvent(element, shownTooltipEvent);\n Timer.clear(element, 'in');\n};\n\n/**\n * Executes after the tooltip was hidden to the user.\n *\n * @param self the `Tooltip` instance\n */\nconst tooltipHiddenAction = (self: Tooltip) => {\n const { element } = self;\n const hiddenTooltipEvent = createCustomEvent(`hidden.bs.${toLowerCase(self.name)}`);\n\n toggleTooltipAction(self);\n removeTooltip(self);\n dispatchEvent(element, hiddenTooltipEvent);\n\n Timer.clear(element, 'out');\n};\n\n/**\n * Toggles on/off the `Tooltip` event listeners that hide/update the tooltip.\n *\n * @param self the `Tooltip` instance\n * @param add when `true`, event listeners are added\n */\nconst toggleTooltipOpenHandlers = (self: Tooltip, add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element, container, offsetParent } = self;\n const { offsetHeight, scrollHeight } = container as HTMLElement;\n const parentModal = closest(element, `.${modalString}`);\n const parentOffcanvas = closest(element, `.${offcanvasString}`);\n\n /* istanbul ignore else */\n const win = getWindow(element);\n const overflow = offsetHeight !== scrollHeight;\n const scrollTarget = container === offsetParent && overflow ? container : win;\n action(scrollTarget, resizeEvent, self.update, passiveHandler);\n action(scrollTarget, scrollEvent, self.update, passiveHandler);\n\n // dismiss tooltips inside modal / offcanvas\n if (parentModal) action(parentModal, `hide.bs.${modalString}`, self.handleHide);\n if (parentOffcanvas) action(parentOffcanvas, `hide.bs.${offcanvasString}`, self.handleHide);\n};\n\n/**\n * Toggles the `title` and `data-original-title` attributes.\n *\n * @param self the `Tooltip` instance\n * @param content when `true`, event listeners are added\n */\nconst toggleTooltipTitle = (self: Tooltip, content?: string) => {\n // [0 - add, 1 - remove] | [0 - remove, 1 - add]\n const titleAtt = [dataOriginalTitle, titleAttr];\n const { element } = self;\n\n setAttribute(\n element,\n titleAtt[content ? 0 : 1],\n content || getAttribute(element, titleAtt[0]) || /* istanbul ignore next */ '',\n );\n removeAttribute(element, titleAtt[content ? 1 : 0]);\n};\n\n// TOOLTIP DEFINITION\n// ==================\n/** Creates a new `Tooltip` instance. */\nexport default class Tooltip extends BaseComponent {\n static selector = tooltipSelector;\n static init = tooltipInitCallback;\n static getInstance = getTooltipInstance;\n static styleTip = styleTip;\n declare options: TooltipOptions;\n declare btn?: HTMLElement;\n declare tooltip?: HTMLElement;\n declare container: ParentNode;\n declare arrow?: HTMLElement;\n declare offsetParent?: HTMLElement;\n declare enabled: boolean;\n declare id: string;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n\n const { element } = this;\n const isTooltip = this.name === tooltipComponent;\n const tipString = isTooltip ? tooltipString : popoverString;\n const tipComponent = isTooltip ? tooltipComponent : popoverComponent;\n\n /* istanbul ignore next: this is to set Popover too */\n getTooltipInstance = (elem: HTMLElement) => getInstance(elem, tipComponent);\n\n // additional properties\n this.enabled = true;\n /** Set unique ID for `aria-describedby`. */\n this.id = `${tipString}-${getUID(element, tipString)}`;\n\n // instance options\n const { options } = this;\n\n // invalidate\n if (!((!options.title && isTooltip) || (!isTooltip && !options.content))) {\n // reset default options\n ObjectAssign(tooltipDefaults, { titleAttr: '' });\n\n // set title attributes and add event listeners\n /* istanbul ignore else */\n if (hasAttribute(element, titleAttr) && isTooltip && typeof options.title === 'string') {\n toggleTooltipTitle(this, options.title);\n }\n\n // set containers\n this.container = getElementContainer(element);\n this.offsetParent = ['sticky', 'fixed'].some(\n position => getElementStyle(this.container as HTMLElement, 'position') === position,\n )\n ? (this.container as HTMLElement)\n : getDocument(this.element).body;\n\n // create tooltip here\n createTip(this);\n\n // attach events\n this._toggleEventListeners(true);\n }\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return tooltipComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return tooltipDefaults;\n }\n\n // TOOLTIP PUBLIC METHODS\n // ======================\n /** Handles the focus event on iOS. */\n handleFocus = () => focus(this.element);\n /** Shows the tooltip. */\n handleShow = () => this.show();\n show() {\n const { options, tooltip, element, container, offsetParent, id } = this;\n const { animation } = options;\n const outTimer = Timer.get(element, 'out');\n const tipContainer = container === offsetParent ? container : offsetParent;\n\n Timer.clear(element, 'out');\n\n if (tooltip && !outTimer && !hasTip(this)) {\n Timer.set(\n element,\n () => {\n const showTooltipEvent = createCustomEvent(`show.bs.${toLowerCase(this.name)}`);\n dispatchEvent(element, showTooltipEvent);\n if (!showTooltipEvent.defaultPrevented) {\n // append to container\n appendPopup(tooltip, tipContainer);\n\n setAttribute(element, ariaDescribedBy, `#${id}`);\n\n this.update();\n toggleTooltipOpenHandlers(this, true);\n\n /* istanbul ignore else */\n if (!hasClass(tooltip, showClass)) addClass(tooltip, showClass);\n /* istanbul ignore else */\n if (animation) emulateTransitionEnd(tooltip, () => tooltipShownAction(this));\n else tooltipShownAction(this);\n }\n },\n 17,\n 'in',\n );\n }\n }\n\n /** Hides the tooltip. */\n handleHide = () => this.hide();\n hide() {\n const { options, tooltip, element } = this;\n const { animation, delay } = options;\n\n Timer.clear(element, 'in');\n\n /* istanbul ignore else */\n if (tooltip && hasTip(this)) {\n Timer.set(\n element,\n () => {\n const hideTooltipEvent = createCustomEvent(`hide.bs.${toLowerCase(this.name)}`);\n dispatchEvent(element, hideTooltipEvent);\n\n if (!hideTooltipEvent.defaultPrevented) {\n this.update();\n removeClass(tooltip, showClass);\n toggleTooltipOpenHandlers(this);\n\n /* istanbul ignore else */\n if (animation) emulateTransitionEnd(tooltip, () => tooltipHiddenAction(this));\n else tooltipHiddenAction(this);\n }\n },\n delay + 17,\n 'out',\n );\n }\n }\n\n /** Updates the tooltip position. */\n update = () => {\n styleTip(this);\n };\n\n /** Toggles the tooltip visibility. */\n toggle = () => {\n const { tooltip } = this;\n\n if (tooltip && !hasTip(this)) this.show();\n else this.hide();\n };\n\n /** Enables the tooltip. */\n enable() {\n const { enabled } = this;\n /* istanbul ignore else */\n if (!enabled) {\n this._toggleEventListeners(true);\n this.enabled = !enabled;\n }\n }\n\n /** Disables the tooltip. */\n disable() {\n const { tooltip, options, enabled } = this;\n const { animation } = options;\n /* istanbul ignore else */\n if (enabled) {\n if (tooltip && hasTip(this) && animation) {\n this.hide();\n emulateTransitionEnd(tooltip, () => this._toggleEventListeners());\n } else {\n this._toggleEventListeners();\n }\n this.enabled = !enabled;\n }\n }\n\n /** Toggles the `disabled` property. */\n toggleEnabled() {\n if (!this.enabled) this.enable();\n else this.disable();\n }\n\n /**\n * Handles the `touchstart` event listener for `Tooltip`\n *\n * @this {Tooltip}\n * @param {TouchEvent} e the `Event` object\n */\n handleTouch = ({ target }: TouchEvent) => {\n const { tooltip, element } = this;\n\n /* istanbul ignore else */\n if (\n (tooltip && tooltip.contains(target as HTMLElement)) ||\n target === element ||\n (target && element.contains(target as HTMLElement))\n ) {\n // smile for ESLint\n } else {\n this.hide();\n }\n };\n\n /**\n * Toggles on/off the `Tooltip` event listeners.\n *\n * @param add when `true`, event listeners are added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n // btn is only for dismissible popover\n const { element, options, btn } = this;\n const { trigger } = options;\n const isPopover = this.name !== tooltipComponent;\n const dismissible = isPopover && (options as PopoverOptions).dismissible ? true : false;\n\n /* istanbul ignore else */\n if (!trigger.includes('manual')) {\n this.enabled = !!add;\n\n const triggerOptions = trigger.split(' ');\n\n triggerOptions.forEach(tr => {\n /* istanbul ignore else */\n if (tr === mousehoverEvent) {\n action(element, mousedownEvent, this.handleShow);\n action(element, mouseenterEvent, this.handleShow);\n\n /* istanbul ignore else */\n if (!dismissible) {\n action(element, mouseleaveEvent, this.handleHide);\n action(getDocument(element), touchstartEvent, this.handleTouch, passiveHandler);\n }\n } else if (tr === mouseclickEvent) {\n action(element, tr, !dismissible ? this.toggle : this.handleShow);\n } else if (tr === focusEvent) {\n action(element, focusinEvent, this.handleShow);\n /* istanbul ignore else */\n if (!dismissible) action(element, focusoutEvent, this.handleHide);\n /* istanbul ignore else */\n if (isApple) {\n action(element, mouseclickEvent, this.handleFocus);\n }\n }\n /* istanbul ignore else */\n if (dismissible && btn) {\n action(btn, mouseclickEvent, this.handleHide);\n }\n });\n }\n };\n\n /** Removes the `Tooltip` from the target element. */\n dispose() {\n const { tooltip, options } = this;\n const clone = { ...this, name: this.name };\n const callback = () => setTimeout(() => disposeTooltipComplete(clone, () => super.dispose()), 17);\n\n if (options.animation && hasTip(clone)) {\n this.options.delay = 0; // reset delay\n this.hide();\n emulateTransitionEnd(tooltip as HTMLElement, callback);\n } else {\n callback();\n }\n }\n}\n"],"names":["popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","arrow","body","tipClassPositions","styleTip","self","tipClasses","element","tooltip","container","options","tipPositions","RTL","isRTL","setElementStyle","isPopover","tipWidth","tipHeight","htmlcw","htmlch","htmlow","getDocumentElement","placement","parentCWidth","parentOWidth","fixedParent","getElementStyle","scrollbarWidth","leftBoundry","rightBoundry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","getBoundingClientRect","x","y","topPosition","bottomPosition","leftPosition","rightPosition","arrowTop","arrowLeft","arrowRight","arrowWidth","arrowHeight","arrowAdjust","topExceed","bottomExceed","leftExceed","rightExceed","horizontals","verticals","isHTMLElement","updatedTooltipEvent","createCustomEvent","toLowerCase","dispatchEvent","tooltipDefaults","dataOriginalTitle","tooltipComponent","setHtml","content","sanitizeFn","isString","dirty","isFunction","tempDocument","isNodeList","isArray","isNode","createTip","id","title","template","animation","customClass","dismissible","btnClose","tipString","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","createElement","setAttribute","tooltipHeader","querySelector","tooltipBody","tempTitle","tempContent","tempBtn","addClass","hasClass","fadeClass","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","c","i","getDocument","tooltipSelector","dataBsToggle","titleAttr","getTooltipInstance","getInstance","tooltipInitCallback","Tooltip","removeTooltip","offsetParent","removeAttribute","ariaDescribedBy","removePopup","hasTip","hasPopup","disposeTooltipComplete","callback","hasAttribute","toggleTooltipTitle","toggleTooltipAction","add","action","addListener","removeListener","touchstartEvent","passiveHandler","scrollEvent","resizeEvent","ev","getWindow","tooltipShownAction","shownTooltipEvent","Timer","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","offsetHeight","scrollHeight","parentModal","closest","modalString","parentOffcanvas","offcanvasString","win","scrollTarget","titleAtt","getAttribute","BaseComponent","target","config","__publicField","focus","btn","trigger","tr","mousehoverEvent","mousedownEvent","mouseenterEvent","mouseleaveEvent","mouseclickEvent","focusEvent","focusinEvent","focusoutEvent","isApple","tipComponent","elem","getUID","ObjectAssign","position","outTimer","tipContainer","showTooltipEvent","appendPopup","showClass","emulateTransitionEnd","delay","hideTooltipEvent","removeClass","enabled","clone"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tooltip-CHqbXeRf.js","sources":["../../src/strings/popoverString.ts","../../src/strings/popoverComponent.ts","../../src/strings/tooltipString.ts","../../src/util/getTipTemplate.ts","../../src/util/tipClassPositions.ts","../../src/util/styleTip.ts","../../src/util/tooltipDefaults.ts","../../src/strings/dataOriginalTitle.ts","../../src/strings/tooltipComponent.ts","../../src/util/setHtml.ts","../../src/util/createTip.ts","../../src/util/getElementContainer.ts","../../src/components/tooltip.ts"],"sourcesContent":["/** @type {string} */\nconst popoverString = 'popover';\nexport default popoverString;\n","/** @type {string} */\nconst popoverComponent = 'Popover';\nexport default popoverComponent;\n","/** @type {string} */\nconst tooltipString = 'tooltip';\nexport default tooltipString;\n","import tooltipString from '../strings/tooltipString';\n\n/**\n * Returns a template for Popover / Tooltip.\n *\n * @param tipType the expected markup type\n * @returns the template markup\n */\nconst getTipTemplate = (tipType: string) => {\n const isTooltip = tipType === tooltipString;\n const bodyClass = isTooltip ? `${tipType}-inner` : `${tipType}-body`;\n const header = !isTooltip ? `

` : '';\n const arrow = `
`;\n const body = `
`;\n return `
${header + arrow + body}
`;\n};\n\nexport default getTipTemplate;\n","const tipClassPositions = {\n top: 'top',\n bottom: 'bottom',\n left: 'start',\n right: 'end',\n};\n\nexport default tipClassPositions;\n","import {\n isHTMLElement,\n setElementStyle,\n getDocumentElement,\n getBoundingClientRect,\n getElementStyle,\n isRTL,\n toLowerCase,\n createCustomEvent,\n dispatchEvent,\n} from '@thednp/shorty';\n\nimport popoverComponent from '../strings/popoverComponent';\nimport tipClassPositions from './tipClassPositions';\nimport Tooltip from '../components/tooltip';\nimport type { TooltipEvent } from '../interface/tooltip';\nimport type { PopoverEvent } from '../interface/popover';\n\n/**\n * Style popovers and tooltips.\n *\n * @param self the `Popover` / `Tooltip` instance\n */\nconst styleTip = (self: T) => {\n const tipClasses = /\\b(top|bottom|start|end)+/;\n const { element, tooltip, container, options, arrow } = self;\n\n /* istanbul ignore else */\n if (tooltip) {\n const tipPositions = { ...tipClassPositions };\n const RTL = isRTL(element);\n\n // reset tooltip style (top: 0, left: 0 works best)\n setElementStyle(tooltip, {\n // top: '0px', left: '0px', right: '', bottom: '',\n top: '',\n left: '',\n right: '',\n bottom: '',\n });\n const isPopover = self.name === popoverComponent;\n const { offsetWidth: tipWidth, offsetHeight: tipHeight } = tooltip;\n const { clientWidth: htmlcw, clientHeight: htmlch, offsetWidth: htmlow } = getDocumentElement(element);\n let { placement } = options;\n const { clientWidth: parentCWidth, offsetWidth: parentOWidth } = container as HTMLElement;\n const parentPosition = getElementStyle(container as HTMLElement, 'position');\n const fixedParent = parentPosition === 'fixed';\n const scrollbarWidth = fixedParent ? Math.abs(parentCWidth - parentOWidth) : Math.abs(htmlcw - htmlow);\n const leftBoundry = RTL && fixedParent ? /* istanbul ignore next */ scrollbarWidth : 0;\n const rightBoundry = htmlcw - (!RTL ? scrollbarWidth : 0) - 1;\n const {\n width: elemWidth,\n height: elemHeight,\n left: elemRectLeft,\n right: elemRectRight,\n top: elemRectTop,\n } = getBoundingClientRect(element, true);\n const { x, y } = {\n x: elemRectLeft,\n y: elemRectTop,\n };\n // reset arrow style\n setElementStyle(arrow as HTMLElement, {\n top: '',\n left: '',\n right: '',\n bottom: '',\n });\n let topPosition: number | string = 0;\n let bottomPosition: number | string = '';\n let leftPosition: number | string = 0;\n let rightPosition: number | string = '';\n let arrowTop: number | string = '';\n let arrowLeft: number | string = '';\n let arrowRight: number | string = '';\n\n const arrowWidth = (arrow as HTMLElement).offsetWidth || 0;\n const arrowHeight = (arrow as HTMLElement).offsetHeight || 0;\n const arrowAdjust = arrowWidth / 2;\n\n // check placement\n let topExceed = elemRectTop - tipHeight - arrowHeight < 0;\n let bottomExceed = elemRectTop + tipHeight + elemHeight + arrowHeight >= htmlch;\n let leftExceed = elemRectLeft - tipWidth - arrowWidth < leftBoundry;\n let rightExceed = elemRectLeft + tipWidth + elemWidth + arrowWidth >= rightBoundry;\n\n const horizontals = ['left', 'right'];\n const verticals = ['top', 'bottom'];\n\n topExceed = horizontals.includes(placement)\n ? elemRectTop + elemHeight / 2 - tipHeight / 2 - arrowHeight < 0\n : topExceed;\n bottomExceed = horizontals.includes(placement)\n ? elemRectTop + tipHeight / 2 + elemHeight / 2 + arrowHeight >= htmlch\n : bottomExceed;\n leftExceed = verticals.includes(placement) ? elemRectLeft + elemWidth / 2 - tipWidth / 2 < leftBoundry : leftExceed;\n rightExceed = verticals.includes(placement)\n ? elemRectLeft + tipWidth / 2 + elemWidth / 2 >= rightBoundry\n : rightExceed;\n\n // first remove side positions if both left and right limits are exceeded\n // we usually fall back to top|bottom\n placement = horizontals.includes(placement) && leftExceed && rightExceed ? 'top' : placement;\n // recompute placement\n placement = placement === 'top' && topExceed ? 'bottom' : placement;\n placement = placement === 'bottom' && bottomExceed ? 'top' : placement;\n placement = placement === 'left' && leftExceed ? 'right' : placement;\n placement = placement === 'right' && rightExceed ? /* istanbul ignore next */ 'left' : placement;\n\n // update tooltip/popover class\n if (!tooltip.className.includes(placement)) {\n tooltip.className = tooltip.className.replace(tipClasses, tipPositions[placement]);\n }\n\n // compute tooltip / popover coordinates\n /* istanbul ignore else */\n if (horizontals.includes(placement)) {\n // secondary|side positions\n if (placement === 'left') {\n // LEFT\n leftPosition = x - tipWidth - (isPopover ? arrowWidth : 0);\n } else {\n // RIGHT\n leftPosition = x + elemWidth + (isPopover ? arrowWidth : 0);\n }\n\n // adjust top and arrow\n if (topExceed && bottomExceed) {\n topPosition = 0;\n bottomPosition = 0;\n arrowTop = elemRectTop + elemHeight / 2 - arrowHeight / 2;\n } else if (topExceed) {\n topPosition = y;\n bottomPosition = '';\n arrowTop = elemHeight / 2 - arrowWidth;\n } else if (bottomExceed) {\n topPosition = y - tipHeight + elemHeight;\n bottomPosition = '';\n arrowTop = tipHeight - elemHeight / 2 - arrowWidth;\n } else {\n topPosition = y - tipHeight / 2 + elemHeight / 2;\n arrowTop = tipHeight / 2 - arrowHeight / 2;\n }\n } else if (verticals.includes(placement)) {\n if (placement === 'top') {\n topPosition = y - tipHeight - (isPopover ? arrowHeight : 0);\n } else {\n // BOTTOM\n topPosition = y + elemHeight + (isPopover ? arrowHeight : 0);\n }\n\n // adjust left | right and also the arrow\n if (leftExceed) {\n leftPosition = 0;\n arrowLeft = x + elemWidth / 2 - arrowAdjust;\n } else if (rightExceed) {\n leftPosition = 'auto';\n rightPosition = 0;\n arrowRight = elemWidth / 2 + rightBoundry - elemRectRight - arrowAdjust;\n } else {\n leftPosition = x - tipWidth / 2 + elemWidth / 2;\n arrowLeft = tipWidth / 2 - arrowAdjust;\n }\n }\n\n // apply style to tooltip/popover\n setElementStyle(tooltip, {\n top: `${topPosition}px`,\n bottom: bottomPosition === '' ? '' : `${bottomPosition}px`,\n left: leftPosition === 'auto' ? leftPosition : `${leftPosition}px`,\n right: rightPosition !== '' ? `${rightPosition}px` : '',\n });\n\n // update arrow placement\n /* istanbul ignore else */\n if (isHTMLElement(arrow)) {\n if (arrowTop !== '') {\n arrow.style.top = `${arrowTop}px`;\n }\n if (arrowLeft !== '') {\n arrow.style.left = `${arrowLeft}px`;\n } else if (arrowRight !== '') {\n arrow.style.right = `${arrowRight}px`;\n }\n }\n const updatedTooltipEvent = createCustomEvent(`updated.bs.${toLowerCase(self.name)}`);\n dispatchEvent(element, updatedTooltipEvent);\n }\n};\n\nexport default styleTip;\n","import getTipTemplate from './getTipTemplate';\nimport tooltipString from '../strings/tooltipString';\nimport { TooltipOptions } from '../interface/tooltip';\n\nconst tooltipDefaults: TooltipOptions = {\n template: getTipTemplate(tooltipString),\n title: '',\n customClass: '',\n trigger: 'hover focus',\n placement: 'top',\n sanitizeFn: undefined,\n animation: true,\n delay: 200,\n container: document.body,\n content: '',\n dismissible: false,\n btnClose: '',\n};\nexport default tooltipDefaults;\n","/**\n * Global namespace for `data-bs-title` attribute.\n */\nconst dataOriginalTitle = 'data-original-title';\nexport default dataOriginalTitle;\n","/** @type {string} */\nconst tooltipComponent = 'Tooltip';\nexport default tooltipComponent;\n","import { isNode, isArray, isFunction, isString, isNodeList, isHTMLElement } from '@thednp/shorty';\n\n/**\n * Append an existing `Element` to Popover / Tooltip component or HTML\n * markup string to be parsed & sanitized to be used as popover / tooltip content.\n *\n * @param element target\n * @param content the `Element` to append / string\n * @param sanitizeFn a function to sanitize string content\n */\nconst setHtml = (element: HTMLElement, content: Node[] | Node | string, sanitizeFn?: (s: string) => string) => {\n /* istanbul ignore else */\n if (isString(content) && content.length) {\n let dirty = content.trim(); // fixing #233\n if (isFunction(sanitizeFn)) dirty = sanitizeFn(dirty);\n\n const domParser = new DOMParser();\n const tempDocument = domParser.parseFromString(dirty, 'text/html');\n element.append(...[...tempDocument.body.childNodes]);\n } else if (isHTMLElement(content)) {\n element.append(content);\n } else if (isNodeList(content) || (isArray(content) && content.every(isNode))) {\n element.append(...[...content]);\n }\n};\nexport default setHtml;\n","import { createElement, addClass, hasClass, setAttribute, querySelector, isRTL, isHTMLElement } from '@thednp/shorty';\n\nimport tooltipComponent from '../strings/tooltipComponent';\nimport tooltipString from '../strings/tooltipString';\nimport popoverString from '../strings/popoverString';\nimport fadeClass from '../strings/fadeClass';\nimport tipClassPositions from './tipClassPositions';\nimport setHtml from './setHtml';\nimport Tooltip from '../components/tooltip';\nimport Popover from '../components/popover';\n\n/**\n * Creates a new tooltip / popover.\n *\n * @param self the `Tooltip` / `Popover` instance\n */\nconst createTip = (self: Tooltip | Popover) => {\n const isTooltip = self.name === tooltipComponent;\n\n const { id, element, options } = self;\n const { title, placement, template, animation, customClass, sanitizeFn, dismissible, content, btnClose } = options;\n const tipString = isTooltip ? tooltipString : popoverString;\n const tipPositions = { ...tipClassPositions };\n let titleParts: Node[] = [];\n let contentParts: Node[] = [];\n\n if (isRTL(element)) {\n tipPositions.left = 'end';\n tipPositions.right = 'start';\n }\n\n // set initial popover class\n const placementClass = `bs-${tipString}-${tipPositions[placement]}`;\n\n // load template\n let tooltipTemplate: Node | string;\n if (isHTMLElement(template)) {\n tooltipTemplate = template;\n } else {\n const htmlMarkup = createElement('div') as HTMLElement;\n setHtml(htmlMarkup, template, sanitizeFn);\n tooltipTemplate = htmlMarkup.firstChild as HTMLElement;\n }\n\n // set popover markup\n self.tooltip = isHTMLElement(tooltipTemplate)\n ? (tooltipTemplate.cloneNode(true) as HTMLElement)\n : /* istanbul ignore next */ undefined;\n\n const { tooltip } = self;\n /* istanbul ignore else */\n if (tooltip) {\n // set id and role attributes\n setAttribute(tooltip, 'id', id);\n setAttribute(tooltip, 'role', tooltipString);\n\n const bodyClass = isTooltip ? `${tooltipString}-inner` : `${popoverString}-body`;\n const tooltipHeader = isTooltip ? null : querySelector(`.${popoverString}-header`, tooltip);\n const tooltipBody = querySelector(`.${bodyClass}`, tooltip);\n\n // set arrow and enable access for styleTip\n self.arrow = querySelector(`.${tipString}-arrow`, tooltip) as HTMLElement;\n const { arrow } = self;\n\n if (isHTMLElement(title)) titleParts = [title.cloneNode(true)];\n else {\n const tempTitle = createElement('div') as HTMLElement;\n setHtml(tempTitle, title, sanitizeFn);\n titleParts = [...[...tempTitle.childNodes]];\n }\n\n if (isHTMLElement(content)) contentParts = [content.cloneNode(true)];\n else {\n const tempContent = createElement('div') as HTMLElement;\n setHtml(tempContent, content, sanitizeFn);\n contentParts = [...[...tempContent.childNodes]];\n }\n\n // set dismissible button\n if (dismissible) {\n if (title) {\n if (isHTMLElement(btnClose)) titleParts = [...titleParts, btnClose.cloneNode(true)];\n else {\n const tempBtn = createElement('div') as HTMLElement;\n setHtml(tempBtn, btnClose, sanitizeFn);\n titleParts = [...titleParts, tempBtn.firstChild as Node];\n }\n } else {\n /* istanbul ignore else */\n if (tooltipHeader) tooltipHeader.remove();\n if (isHTMLElement(btnClose)) contentParts = [...contentParts, btnClose.cloneNode(true)];\n else {\n const tempBtn = createElement('div') as HTMLElement;\n setHtml(tempBtn, btnClose, sanitizeFn);\n contentParts = [...contentParts, tempBtn.firstChild as Node];\n }\n }\n }\n\n // fill the template with content from options / data attributes\n // also sanitize title && content\n /* istanbul ignore else */\n if (!isTooltip) {\n /* istanbul ignore else */\n if (title && tooltipHeader) setHtml(tooltipHeader, titleParts, sanitizeFn);\n /* istanbul ignore else */\n if (content && tooltipBody) setHtml(tooltipBody, contentParts, sanitizeFn);\n // set btn\n self.btn = querySelector('.btn-close', tooltip) || undefined;\n } else if (title && tooltipBody) setHtml(tooltipBody, title, sanitizeFn);\n\n // Bootstrap 5.2.x\n // addClass(tooltip, 'position-absolute');\n addClass(tooltip, 'position-fixed');\n addClass(arrow, 'position-absolute');\n\n // set popover animation and placement\n /* istanbul ignore else */\n if (!hasClass(tooltip, tipString)) addClass(tooltip, tipString);\n /* istanbul ignore else */\n if (animation && !hasClass(tooltip, fadeClass)) addClass(tooltip, fadeClass);\n /* istanbul ignore else */\n if (customClass && !hasClass(tooltip, customClass)) {\n addClass(tooltip, customClass);\n }\n /* istanbul ignore else */\n if (!hasClass(tooltip, placementClass)) addClass(tooltip, placementClass);\n }\n};\n\nexport default createTip;\n","import { getDocument, isShadowRoot, isTableElement, getParentNode, getElementStyle } from '@thednp/shorty';\n\n/**\n * Returns an `HTMLElement` to be used as default value for *options.container*\n * for `Tooltip` / `Popover` components.\n *\n * @see https://github.com/floating-ui/floating-ui\n *\n * @param element the target\n * @returns the query result\n */\nconst getElementContainer = (element: HTMLElement): ParentNode => {\n const majorBlockTags = ['HTML', 'BODY'];\n const containers: ParentNode[] = [];\n let { parentNode } = element as Node;\n\n while (parentNode && !majorBlockTags.includes(parentNode.nodeName)) {\n parentNode = getParentNode(parentNode) as ParentNode;\n /* istanbul ignore else */\n if (!(isShadowRoot(parentNode) || isTableElement(parentNode))) {\n containers.push(parentNode);\n }\n }\n\n return (\n containers.find((c, i) => {\n if (\n getElementStyle(c as HTMLElement, 'position') !== 'relative' &&\n containers.slice(i + 1).every(r => getElementStyle(r as HTMLElement, 'position') === 'static')\n ) {\n return c;\n }\n return null;\n }) || /* istanbul ignore next: optional guard */ getDocument(element).body\n );\n};\n\nexport default getElementContainer;\n","/* Native JavaScript for Bootstrap 5 | Tooltip\n---------------------------------------------- */\nimport {\n ariaDescribedBy,\n focusoutEvent,\n focusinEvent,\n focusEvent,\n mouseleaveEvent,\n mouseenterEvent,\n mousedownEvent,\n mouseclickEvent,\n closest,\n getUID,\n getDocument,\n getWindow,\n removeAttribute,\n getAttribute,\n setAttribute,\n hasAttribute,\n touchstartEvent,\n resizeEvent,\n scrollEvent,\n mousehoverEvent,\n toLowerCase,\n focus,\n Timer,\n emulateTransitionEnd,\n passiveHandler,\n dispatchEvent,\n isApple,\n getInstance,\n ObjectAssign,\n createCustomEvent,\n removeClass,\n hasClass,\n addClass,\n getElementStyle,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport dataBsToggle from '../strings/dataBsToggle';\nimport dataOriginalTitle from '../strings/dataOriginalTitle';\nimport showClass from '../strings/showClass';\nimport tooltipString from '../strings/tooltipString';\nimport tooltipComponent from '../strings/tooltipComponent';\nimport popoverString from '../strings/popoverString';\nimport popoverComponent from '../strings/popoverComponent';\nimport modalString from '../strings/modalString';\nimport offcanvasString from '../strings/offcanvasString';\n\nimport styleTip from '../util/styleTip';\nimport createTip from '../util/createTip';\nimport { appendPopup, removePopup, hasPopup } from '../util/popupContainer';\nimport getElementContainer from '../util/getElementContainer';\nimport tooltipDefaults from '../util/tooltipDefaults';\nimport BaseComponent from './base-component';\nimport { TooltipOptions, TooltipEvent } from '../interface/tooltip';\nimport { PopoverOptions, PopoverEvent } from '../interface/popover';\n\n// TOOLTIP PRIVATE GC\n// ==================\nconst tooltipSelector = `[${dataBsToggle}=\"${tooltipString}\"],[data-tip=\"${tooltipString}\"]`;\nconst titleAttr = 'title';\n\n/**\n * Static method which returns an existing `Tooltip` instance associated\n * to a target `Element`.\n *\n */\nlet getTooltipInstance = (element: HTMLElement) => getInstance(element, tooltipComponent);\n\n/**\n * A `Tooltip` initialization callback.\n */\nconst tooltipInitCallback = (element: HTMLElement) => new Tooltip(element);\n\n// TOOLTIP PRIVATE METHODS\n// =======================\n/**\n * Removes the tooltip from the DOM.\n *\n * @param self the `Tooltip` instance\n */\nconst removeTooltip = (self: Tooltip) => {\n const { element, tooltip, container, offsetParent } = self;\n removeAttribute(element, ariaDescribedBy);\n removePopup(tooltip as HTMLElement, container === offsetParent ? container : offsetParent);\n};\n\n/**\n * Check if container contains the tooltip.\n *\n * @param self Tooltip\n */\nconst hasTip = (self: Tooltip): boolean | undefined => {\n const { tooltip, container, offsetParent } = self;\n\n return tooltip && hasPopup(tooltip, container === offsetParent ? container : offsetParent);\n};\n\n/**\n * Executes after the instance has been disposed.\n *\n * @param self the `Tooltip` instance\n * @param callback the parent dispose callback\n */\nconst disposeTooltipComplete = (self: Tooltip, callback?: () => void) => {\n const { element } = self;\n self._toggleEventListeners();\n\n /* istanbul ignore else */\n if (hasAttribute(element, dataOriginalTitle) && self.name === tooltipComponent) {\n toggleTooltipTitle(self);\n }\n /* istanbul ignore else */\n if (callback) callback();\n};\n\n/**\n * Toggles on/off the special `Tooltip` event listeners.\n *\n * @param self the `Tooltip` instance\n * @param add when `true`, event listeners are added\n */\nconst toggleTooltipAction = (self: Tooltip, add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element } = self;\n\n action(getDocument(element), touchstartEvent, self.handleTouch, passiveHandler);\n\n [scrollEvent, resizeEvent].forEach(ev => {\n action(getWindow(element), ev, self.update, passiveHandler);\n });\n};\n\n/**\n * Executes after the tooltip was shown to the user.\n *\n * @param self the `Tooltip` instance\n */\nconst tooltipShownAction = (self: Tooltip) => {\n const { element } = self;\n const shownTooltipEvent = createCustomEvent(`shown.bs.${toLowerCase(self.name)}`);\n\n toggleTooltipAction(self, true);\n dispatchEvent(element, shownTooltipEvent);\n Timer.clear(element, 'in');\n};\n\n/**\n * Executes after the tooltip was hidden to the user.\n *\n * @param self the `Tooltip` instance\n */\nconst tooltipHiddenAction = (self: Tooltip) => {\n const { element } = self;\n const hiddenTooltipEvent = createCustomEvent(`hidden.bs.${toLowerCase(self.name)}`);\n\n toggleTooltipAction(self);\n removeTooltip(self);\n dispatchEvent(element, hiddenTooltipEvent);\n\n Timer.clear(element, 'out');\n};\n\n/**\n * Toggles on/off the `Tooltip` event listeners that hide/update the tooltip.\n *\n * @param self the `Tooltip` instance\n * @param add when `true`, event listeners are added\n */\nconst toggleTooltipOpenHandlers = (self: Tooltip, add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element, container, offsetParent } = self;\n const { offsetHeight, scrollHeight } = container as HTMLElement;\n const parentModal = closest(element, `.${modalString}`);\n const parentOffcanvas = closest(element, `.${offcanvasString}`);\n\n /* istanbul ignore else */\n const win = getWindow(element);\n const overflow = offsetHeight !== scrollHeight;\n const scrollTarget = container === offsetParent && overflow ? container : win;\n action(scrollTarget, resizeEvent, self.update, passiveHandler);\n action(scrollTarget, scrollEvent, self.update, passiveHandler);\n\n // dismiss tooltips inside modal / offcanvas\n if (parentModal) action(parentModal, `hide.bs.${modalString}`, self.handleHide);\n if (parentOffcanvas) action(parentOffcanvas, `hide.bs.${offcanvasString}`, self.handleHide);\n};\n\n/**\n * Toggles the `title` and `data-original-title` attributes.\n *\n * @param self the `Tooltip` instance\n * @param content when `true`, event listeners are added\n */\nconst toggleTooltipTitle = (self: Tooltip, content?: string) => {\n // [0 - add, 1 - remove] | [0 - remove, 1 - add]\n const titleAtt = [dataOriginalTitle, titleAttr];\n const { element } = self;\n\n setAttribute(\n element,\n titleAtt[content ? 0 : 1],\n content || getAttribute(element, titleAtt[0]) || /* istanbul ignore next */ '',\n );\n removeAttribute(element, titleAtt[content ? 1 : 0]);\n};\n\n// TOOLTIP DEFINITION\n// ==================\n/** Creates a new `Tooltip` instance. */\nexport default class Tooltip extends BaseComponent {\n static selector = tooltipSelector;\n static init = tooltipInitCallback;\n static getInstance = getTooltipInstance;\n static styleTip = styleTip;\n declare options: TooltipOptions;\n declare btn?: HTMLElement;\n declare tooltip?: HTMLElement;\n declare container: ParentNode;\n declare arrow?: HTMLElement;\n declare offsetParent?: HTMLElement;\n declare enabled: boolean;\n declare id: string;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n\n const { element } = this;\n const isTooltip = this.name === tooltipComponent;\n const tipString = isTooltip ? tooltipString : popoverString;\n const tipComponent = isTooltip ? tooltipComponent : popoverComponent;\n\n /* istanbul ignore next: this is to set Popover too */\n getTooltipInstance = (elem: HTMLElement) => getInstance(elem, tipComponent);\n\n // additional properties\n this.enabled = true;\n /** Set unique ID for `aria-describedby`. */\n this.id = `${tipString}-${getUID(element, tipString)}`;\n\n // instance options\n const { options } = this;\n\n // invalidate\n if (!((!options.title && isTooltip) || (!isTooltip && !options.content))) {\n // reset default options\n ObjectAssign(tooltipDefaults, { titleAttr: '' });\n\n // set title attributes and add event listeners\n /* istanbul ignore else */\n if (hasAttribute(element, titleAttr) && isTooltip && typeof options.title === 'string') {\n toggleTooltipTitle(this, options.title);\n }\n\n // set containers\n this.container = getElementContainer(element);\n this.offsetParent = ['sticky', 'fixed'].some(\n position => getElementStyle(this.container as HTMLElement, 'position') === position,\n )\n ? (this.container as HTMLElement)\n : getDocument(this.element).body;\n\n // create tooltip here\n createTip(this);\n\n // attach events\n this._toggleEventListeners(true);\n }\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return tooltipComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return tooltipDefaults;\n }\n\n // TOOLTIP PUBLIC METHODS\n // ======================\n /** Handles the focus event on iOS. */\n handleFocus = () => focus(this.element);\n /** Shows the tooltip. */\n handleShow = () => this.show();\n show() {\n const { options, tooltip, element, container, offsetParent, id } = this;\n const { animation } = options;\n const outTimer = Timer.get(element, 'out');\n const tipContainer = container === offsetParent ? container : offsetParent;\n\n Timer.clear(element, 'out');\n\n if (tooltip && !outTimer && !hasTip(this)) {\n Timer.set(\n element,\n () => {\n const showTooltipEvent = createCustomEvent(`show.bs.${toLowerCase(this.name)}`);\n dispatchEvent(element, showTooltipEvent);\n if (!showTooltipEvent.defaultPrevented) {\n // append to container\n appendPopup(tooltip, tipContainer);\n\n setAttribute(element, ariaDescribedBy, `#${id}`);\n\n this.update();\n toggleTooltipOpenHandlers(this, true);\n\n /* istanbul ignore else */\n if (!hasClass(tooltip, showClass)) addClass(tooltip, showClass);\n /* istanbul ignore else */\n if (animation) emulateTransitionEnd(tooltip, () => tooltipShownAction(this));\n else tooltipShownAction(this);\n }\n },\n 17,\n 'in',\n );\n }\n }\n\n /** Hides the tooltip. */\n handleHide = () => this.hide();\n hide() {\n const { options, tooltip, element } = this;\n const { animation, delay } = options;\n\n Timer.clear(element, 'in');\n\n /* istanbul ignore else */\n if (tooltip && hasTip(this)) {\n Timer.set(\n element,\n () => {\n const hideTooltipEvent = createCustomEvent(`hide.bs.${toLowerCase(this.name)}`);\n dispatchEvent(element, hideTooltipEvent);\n\n if (!hideTooltipEvent.defaultPrevented) {\n this.update();\n removeClass(tooltip, showClass);\n toggleTooltipOpenHandlers(this);\n\n /* istanbul ignore else */\n if (animation) emulateTransitionEnd(tooltip, () => tooltipHiddenAction(this));\n else tooltipHiddenAction(this);\n }\n },\n delay + 17,\n 'out',\n );\n }\n }\n\n /** Updates the tooltip position. */\n update = () => {\n styleTip(this);\n };\n\n /** Toggles the tooltip visibility. */\n toggle = () => {\n const { tooltip } = this;\n\n if (tooltip && !hasTip(this)) this.show();\n else this.hide();\n };\n\n /** Enables the tooltip. */\n enable() {\n const { enabled } = this;\n /* istanbul ignore else */\n if (!enabled) {\n this._toggleEventListeners(true);\n this.enabled = !enabled;\n }\n }\n\n /** Disables the tooltip. */\n disable() {\n const { tooltip, options, enabled } = this;\n const { animation } = options;\n /* istanbul ignore else */\n if (enabled) {\n if (tooltip && hasTip(this) && animation) {\n this.hide();\n emulateTransitionEnd(tooltip, () => this._toggleEventListeners());\n } else {\n this._toggleEventListeners();\n }\n this.enabled = !enabled;\n }\n }\n\n /** Toggles the `disabled` property. */\n toggleEnabled() {\n if (!this.enabled) this.enable();\n else this.disable();\n }\n\n /**\n * Handles the `touchstart` event listener for `Tooltip`\n *\n * @this {Tooltip}\n * @param {TouchEvent} e the `Event` object\n */\n handleTouch = ({ target }: TouchEvent) => {\n const { tooltip, element } = this;\n\n /* istanbul ignore else */\n if (\n (tooltip && tooltip.contains(target as HTMLElement)) ||\n target === element ||\n (target && element.contains(target as HTMLElement))\n ) {\n // smile for ESLint\n } else {\n this.hide();\n }\n };\n\n /**\n * Toggles on/off the `Tooltip` event listeners.\n *\n * @param add when `true`, event listeners are added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n // btn is only for dismissible popover\n const { element, options, btn } = this;\n const { trigger } = options;\n const isPopover = this.name !== tooltipComponent;\n const dismissible = isPopover && (options as PopoverOptions).dismissible ? true : false;\n\n /* istanbul ignore else */\n if (!trigger.includes('manual')) {\n this.enabled = !!add;\n\n const triggerOptions = trigger.split(' ');\n\n triggerOptions.forEach(tr => {\n /* istanbul ignore else */\n if (tr === mousehoverEvent) {\n action(element, mousedownEvent, this.handleShow);\n action(element, mouseenterEvent, this.handleShow);\n\n /* istanbul ignore else */\n if (!dismissible) {\n action(element, mouseleaveEvent, this.handleHide);\n action(getDocument(element), touchstartEvent, this.handleTouch, passiveHandler);\n }\n } else if (tr === mouseclickEvent) {\n action(element, tr, !dismissible ? this.toggle : this.handleShow);\n } else if (tr === focusEvent) {\n action(element, focusinEvent, this.handleShow);\n /* istanbul ignore else */\n if (!dismissible) action(element, focusoutEvent, this.handleHide);\n /* istanbul ignore else */\n if (isApple) {\n action(element, mouseclickEvent, this.handleFocus);\n }\n }\n /* istanbul ignore else */\n if (dismissible && btn) {\n action(btn, mouseclickEvent, this.handleHide);\n }\n });\n }\n };\n\n /** Removes the `Tooltip` from the target element. */\n dispose() {\n const { tooltip, options } = this;\n const clone = { ...this, name: this.name };\n const callback = () => setTimeout(() => disposeTooltipComplete(clone, () => super.dispose()), 17);\n\n if (options.animation && hasTip(clone)) {\n this.options.delay = 0; // reset delay\n this.hide();\n emulateTransitionEnd(tooltip as HTMLElement, callback);\n } else {\n callback();\n }\n }\n}\n"],"names":["popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","arrow","body","tipClassPositions","styleTip","self","tipClasses","element","tooltip","container","options","tipPositions","RTL","isRTL","setElementStyle","isPopover","tipWidth","tipHeight","htmlcw","htmlch","htmlow","getDocumentElement","placement","parentCWidth","parentOWidth","fixedParent","getElementStyle","scrollbarWidth","leftBoundry","rightBoundry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","getBoundingClientRect","x","y","topPosition","bottomPosition","leftPosition","rightPosition","arrowTop","arrowLeft","arrowRight","arrowWidth","arrowHeight","arrowAdjust","topExceed","bottomExceed","leftExceed","rightExceed","horizontals","verticals","isHTMLElement","updatedTooltipEvent","createCustomEvent","toLowerCase","dispatchEvent","tooltipDefaults","dataOriginalTitle","tooltipComponent","setHtml","content","sanitizeFn","isString","dirty","isFunction","tempDocument","isNodeList","isArray","isNode","createTip","id","title","template","animation","customClass","dismissible","btnClose","tipString","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","createElement","setAttribute","tooltipHeader","querySelector","tooltipBody","tempTitle","tempContent","tempBtn","addClass","hasClass","fadeClass","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","c","i","getDocument","tooltipSelector","dataBsToggle","titleAttr","getTooltipInstance","getInstance","tooltipInitCallback","Tooltip","removeTooltip","offsetParent","removeAttribute","ariaDescribedBy","removePopup","hasTip","hasPopup","disposeTooltipComplete","callback","hasAttribute","toggleTooltipTitle","toggleTooltipAction","add","action","addListener","removeListener","touchstartEvent","passiveHandler","scrollEvent","resizeEvent","ev","getWindow","tooltipShownAction","shownTooltipEvent","Timer","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","offsetHeight","scrollHeight","parentModal","closest","modalString","parentOffcanvas","offcanvasString","win","scrollTarget","titleAtt","getAttribute","BaseComponent","target","config","__publicField","focus","btn","trigger","tr","mousehoverEvent","mousedownEvent","mouseenterEvent","mouseleaveEvent","mouseclickEvent","focusEvent","focusinEvent","focusoutEvent","isApple","tipComponent","elem","getUID","ObjectAssign","position","outTimer","tipContainer","showTooltipEvent","appendPopup","showClass","emulateTransitionEnd","delay","hideTooltipEvent","removeClass","enabled","clone"],"mappings":"qcACMA,EAAgB,UCAhBC,GAAmB,UCAnBC,EAAgB,UCOhBC,GAAkBC,GAAoB,CAC1C,MAAMC,EAAYD,IAAYF,EACxBI,EAAYD,EAAY,GAAGD,CAAO,SAAW,GAAGA,CAAO,QACvDG,EAAUF,EAAoD,GAAxC,cAAcD,CAAO,iBAC3CI,EAAQ,eAAeJ,CAAO,iBAC9BK,EAAO,eAAeH,CAAS,WACrC,MAAO,eAAeF,CAAO,WAAWF,CAAa,KAAKK,EAASC,EAAQC,CAAI,QACjF,ECfMC,GAAoB,CACxB,IAAK,MACL,OAAQ,SACR,KAAM,QACN,MAAO,KACT,ECkBMC,GAA+BC,GAAY,CAC/C,MAAMC,EAAa,4BACb,CAAE,QAAAC,EAAS,QAAAC,EAAS,UAAAC,EAAW,QAAAC,EAAS,MAAAT,CAAU,EAAAI,EAGxD,GAAIG,EAAS,CACL,MAAAG,EAAe,CAAE,GAAGR,IACpBS,EAAMC,QAAMN,CAAO,EAGzBO,EAAAA,gBAAgBN,EAAS,CAEvB,IAAK,GACL,KAAM,GACN,MAAO,GACP,OAAQ,EAAA,CACT,EACK,MAAAO,EAAYV,EAAK,OAASX,GAC1B,CAAE,YAAasB,EAAU,aAAcC,GAAcT,EACrD,CAAE,YAAaU,EAAQ,aAAcC,EAAQ,YAAaC,CAAW,EAAAC,qBAAmBd,CAAO,EACjG,GAAA,CAAE,UAAAe,CAAc,EAAAZ,EACpB,KAAM,CAAE,YAAaa,EAAc,YAAaC,GAAiBf,EAE3DgB,EADiBC,EAAAA,gBAAgBjB,EAA0B,UAAU,IACpC,QACjCkB,EAA+B,KAAK,IAAnBF,EAAuBF,EAAeC,EAAyBN,EAASE,CAAtB,EACnEQ,EAAchB,GAAOa,EAAyCE,EAAiB,EAC/EE,EAAeX,GAAWN,EAAuB,EAAjBe,GAAsB,EACtD,CACJ,MAAOG,EACP,OAAQC,EACR,KAAMC,EACN,MAAOC,GACP,IAAKC,CAAA,EACHC,EAAsB,sBAAA5B,EAAS,EAAI,EACjC,CAAE,EAAA6B,EAAG,EAAAC,GAAM,CACf,EAAGL,EACH,EAAGE,CAAA,EAGLpB,EAAAA,gBAAgBb,EAAsB,CACpC,IAAK,GACL,KAAM,GACN,MAAO,GACP,OAAQ,EAAA,CACT,EACD,IAAIqC,EAA+B,EAC/BC,EAAkC,GAClCC,EAAgC,EAChCC,EAAiC,GACjCC,EAA4B,GAC5BC,EAA6B,GAC7BC,EAA8B,GAE5B,MAAAC,EAAc5C,EAAsB,aAAe,EACnD6C,EAAe7C,EAAsB,cAAgB,EACrD8C,EAAcF,EAAa,EAG7B,IAAAG,EAAYd,EAAcjB,EAAY6B,EAAc,EACpDG,EAAef,EAAcjB,EAAYc,EAAae,GAAe3B,EACrE+B,EAAalB,EAAehB,EAAW6B,EAAajB,EACpDuB,EAAcnB,EAAehB,EAAWc,EAAYe,GAAchB,EAEhE,MAAAuB,EAAc,CAAC,OAAQ,OAAO,EAC9BC,GAAY,CAAC,MAAO,QAAQ,EAEtBL,EAAAI,EAAY,SAAS9B,CAAS,EACtCY,EAAcH,EAAa,EAAId,EAAY,EAAI6B,EAAc,EAC7DE,EACWC,EAAAG,EAAY,SAAS9B,CAAS,EACzCY,EAAcjB,EAAY,EAAIc,EAAa,EAAIe,GAAe3B,EAC9D8B,EACSC,EAAAG,GAAU,SAAS/B,CAAS,EAAIU,EAAeF,EAAY,EAAId,EAAW,EAAIY,EAAcsB,EAC3FC,EAAAE,GAAU,SAAS/B,CAAS,EACtCU,EAAehB,EAAW,EAAIc,EAAY,GAAKD,EAC/CsB,EAIJ7B,EAAY8B,EAAY,SAAS9B,CAAS,GAAK4B,GAAcC,EAAc,MAAQ7B,EAEvEA,EAAAA,IAAc,OAAS0B,EAAY,SAAW1B,EAC9CA,EAAAA,IAAc,UAAY2B,EAAe,MAAQ3B,EACjDA,EAAAA,IAAc,QAAU4B,EAAa,QAAU5B,EAC3DA,EAAYA,IAAc,SAAW6B,EAAyC,OAAS7B,EAGlFd,EAAQ,UAAU,SAASc,CAAS,IACvCd,EAAQ,UAAYA,EAAQ,UAAU,QAAQF,EAAYK,EAAaW,CAAS,CAAC,GAK/E8B,EAAY,SAAS9B,CAAS,GAE5BA,IAAc,OAEDkB,EAAAJ,EAAIpB,GAAYD,EAAY8B,EAAa,GAGzCL,EAAAJ,EAAIN,GAAaf,EAAY8B,EAAa,GAIvDG,GAAaC,GACDX,EAAA,EACGC,EAAA,EACNG,EAAAR,EAAcH,EAAa,EAAIe,EAAc,GAC/CE,GACKV,EAAAD,EACGE,EAAA,GACjBG,EAAWX,EAAa,EAAIc,GACnBI,GACTX,EAAcD,EAAIpB,EAAYc,EACbQ,EAAA,GACNG,EAAAzB,EAAYc,EAAa,EAAIc,IAE1BP,EAAAD,EAAIpB,EAAY,EAAIc,EAAa,EACpCW,EAAAzB,EAAY,EAAI6B,EAAc,IAElCO,GAAU,SAAS/B,CAAS,IACjCA,IAAc,MACFgB,EAAAD,EAAIpB,GAAaF,EAAY+B,EAAc,GAG3CR,EAAAD,EAAIN,GAAchB,EAAY+B,EAAc,GAIxDI,GACaV,EAAA,EACHG,EAAAP,EAAIN,EAAY,EAAIiB,GACvBI,GACMX,EAAA,OACCC,EAAA,EACHG,EAAAd,EAAY,EAAID,EAAeI,GAAgBc,IAE7CP,EAAAJ,EAAIpB,EAAW,EAAIc,EAAY,EAC9Ca,EAAY3B,EAAW,EAAI+B,IAK/BjC,EAAAA,gBAAgBN,EAAS,CACvB,IAAK,GAAG8B,CAAW,KACnB,OAAQC,IAAmB,GAAK,GAAK,GAAGA,CAAc,KACtD,KAAMC,IAAiB,OAASA,EAAe,GAAGA,CAAY,KAC9D,MAAOC,IAAkB,GAAK,GAAGA,CAAa,KAAO,EAAA,CACtD,EAIGa,EAAAA,cAAcrD,CAAK,IACjByC,IAAa,KACTzC,EAAA,MAAM,IAAM,GAAGyC,CAAQ,MAE3BC,IAAc,GACV1C,EAAA,MAAM,KAAO,GAAG0C,CAAS,KACtBC,IAAe,KAClB3C,EAAA,MAAM,MAAQ,GAAG2C,CAAU,OAGrC,MAAMW,GAAsBC,EAA+C,kBAAA,cAAcC,cAAYpD,EAAK,IAAI,CAAC,EAAE,EACjHqD,gBAAcnD,EAASgD,EAAmB,CAC5C,CACF,ECxLMI,GAAkC,CACtC,SAAU/D,GAAeD,CAAa,EACtC,MAAO,GACP,YAAa,GACb,QAAS,cACT,UAAW,MACX,WAAY,OACZ,UAAW,GACX,MAAO,IACP,UAAW,SAAS,KACpB,QAAS,GACT,YAAa,GACb,SAAU,EACZ,ECdMiE,GAAoB,sBCFpBC,EAAmB,UCSnBC,EAAU,CAACvD,EAAsBwD,EAAiCC,IAAuC,CAE7G,GAAIC,WAASF,CAAO,GAAKA,EAAQ,OAAQ,CACnC,IAAAG,EAAQH,EAAQ,OAChBI,EAAAA,WAAWH,CAAU,IAAGE,EAAQF,EAAWE,CAAK,GAGpD,MAAME,EADY,IAAI,YACS,gBAAgBF,EAAO,WAAW,EACjE3D,EAAQ,OAAW,GAAG6D,EAAa,KAAK,UAAW,CAAA,MAC1Cd,EAAAA,cAAcS,CAAO,EAC9BxD,EAAQ,OAAOwD,CAAO,GACbM,EAAAA,WAAWN,CAAO,GAAMO,EAAA,QAAQP,CAAO,GAAKA,EAAQ,MAAMQ,EAAAA,MAAM,IACzEhE,EAAQ,OAAW,GAAGwD,CAAQ,CAElC,ECRMS,GAAanE,GAA4B,CACvC,MAAAP,EAAYO,EAAK,OAASwD,EAE1B,CAAE,GAAAY,EAAI,QAAAlE,EAAS,QAAAG,CAAA,EAAYL,EAC3B,CAAE,MAAAqE,EAAO,UAAApD,EAAW,SAAAqD,EAAU,UAAAC,EAAW,YAAAC,EAAa,WAAAb,EAAY,YAAAc,EAAa,QAAAf,EAAS,SAAAgB,CAAA,EAAarE,EACrGsE,EAAYlF,EAAYH,EAAgBF,EACxCkB,EAAe,CAAE,GAAGR,IAC1B,IAAI8E,EAAqB,CAAA,EACrBC,EAAuB,CAAA,EAEvBrE,EAAAA,MAAMN,CAAO,IACfI,EAAa,KAAO,MACpBA,EAAa,MAAQ,SAIvB,MAAMwE,EAAiB,MAAMH,CAAS,IAAIrE,EAAaW,CAAS,CAAC,GAG7D,IAAA8D,EACA,GAAA9B,EAAAA,cAAcqB,CAAQ,EACNS,EAAAT,MACb,CACC,MAAAU,EAAaC,gBAAc,KAAK,EAC9BxB,EAAAuB,EAAYV,EAAUX,CAAU,EACxCoB,EAAkBC,EAAW,UAC/B,CAGAhF,EAAK,QAAUiD,gBAAc8B,CAAe,EACvCA,EAAgB,UAAU,EAAI,EACJ,OAEzB,KAAA,CAAE,QAAA5E,CAAY,EAAAH,EAEpB,GAAIG,EAAS,CAEE+E,EAAAA,aAAA/E,EAAS,KAAMiE,CAAE,EACjBc,EAAAA,aAAA/E,EAAS,OAAQb,CAAa,EAE3C,MAAMI,EAAYD,EAAY,GAAGH,CAAa,SAAW,GAAGF,CAAa,QACnE+F,EAAgB1F,EAAY,KAAO2F,gBAAc,IAAIhG,CAAa,UAAWe,CAAO,EACpFkF,EAAcD,EAAAA,cAAc,IAAI1F,CAAS,GAAIS,CAAO,EAG1DH,EAAK,MAAQoF,EAAAA,cAAc,IAAIT,CAAS,SAAUxE,CAAO,EACnD,KAAA,CAAE,MAAAP,CAAU,EAAAI,EAEd,GAAAiD,EAAA,cAAcoB,CAAK,EAAGO,EAAa,CAACP,EAAM,UAAU,EAAI,CAAC,MACxD,CACG,MAAAiB,EAAYL,gBAAc,KAAK,EAC7BxB,EAAA6B,EAAWjB,EAAOV,CAAU,EACpCiB,EAAa,CAAK,GAAGU,EAAU,UAAW,CAC5C,CAEI,GAAArC,EAAA,cAAcS,CAAO,EAAGmB,EAAe,CAACnB,EAAQ,UAAU,EAAI,CAAC,MAC9D,CACG,MAAA6B,EAAcN,gBAAc,KAAK,EAC/BxB,EAAA8B,EAAa7B,EAASC,CAAU,EACxCkB,EAAe,CAAK,GAAGU,EAAY,UAAW,CAChD,CAGA,GAAId,EACF,GAAIJ,EACE,GAAApB,EAAA,cAAcyB,CAAQ,EAAgBE,EAAA,CAAC,GAAGA,EAAYF,EAAS,UAAU,EAAI,CAAC,MAC7E,CACG,MAAAc,EAAUP,gBAAc,KAAK,EAC3BxB,EAAA+B,EAASd,EAAUf,CAAU,EACrCiB,EAAa,CAAC,GAAGA,EAAYY,EAAQ,UAAkB,CACzD,SAGIL,KAA6B,SAC7BlC,EAAA,cAAcyB,CAAQ,EAAkBG,EAAA,CAAC,GAAGA,EAAcH,EAAS,UAAU,EAAI,CAAC,MACjF,CACG,MAAAc,EAAUP,gBAAc,KAAK,EAC3BxB,EAAA+B,EAASd,EAAUf,CAAU,EACrCkB,EAAe,CAAC,GAAGA,EAAcW,EAAQ,UAAkB,CAC7D,CAOC/F,EAOM4E,GAASgB,GAAqB5B,EAAA4B,EAAahB,EAAOV,CAAU,GALjEU,GAASc,GAAuB1B,EAAA0B,EAAeP,EAAYjB,CAAU,EAErED,GAAW2B,GAAqB5B,EAAA4B,EAAaR,EAAclB,CAAU,EAEzE3D,EAAK,IAAMoF,EAAA,cAAc,aAAcjF,CAAO,GAAK,QAKrDsF,WAAStF,EAAS,gBAAgB,EAClCsF,WAAS7F,EAAO,mBAAmB,EAI9B8F,EAAS,SAAAvF,EAASwE,CAAS,GAAGc,WAAStF,EAASwE,CAAS,EAE1DJ,GAAa,CAACmB,EAAAA,SAASvF,EAASwF,GAAS,SAAA,GAAGF,EAAA,SAAStF,EAASwF,GAAAA,SAAS,EAEvEnB,GAAe,CAACkB,EAAAA,SAASvF,EAASqE,CAAW,GAC/CiB,WAAStF,EAASqE,CAAW,EAG1BkB,EAAS,SAAAvF,EAAS2E,CAAc,GAAGW,WAAStF,EAAS2E,CAAc,CAC1E,CACF,ECrHMc,GAAuB1F,GAAqC,CAC1D,MAAA2F,EAAiB,CAAC,OAAQ,MAAM,EAChCC,EAA2B,CAAA,EAC7B,GAAA,CAAE,WAAAC,CAAe,EAAA7F,EAErB,KAAO6F,GAAc,CAACF,EAAe,SAASE,EAAW,QAAQ,GAC/DA,EAAaC,EAAAA,cAAcD,CAAU,EAE/BE,EAAa,aAAAF,CAAU,GAAKG,EAAAA,eAAeH,CAAU,GACzDD,EAAW,KAAKC,CAAU,EAI9B,OACED,EAAW,KAAK,CAACK,EAAGC,IAEhB/E,EAAAA,gBAAgB8E,EAAkB,UAAU,IAAM,YAClDL,EAAW,MAAMM,EAAI,CAAC,EAAE,MAAW,GAAA/E,EAAAA,gBAAgB,EAAkB,UAAU,IAAM,QAAQ,EAEtF8E,EAEF,IACR,GAAgDE,cAAYnG,CAAO,EAAE,IAE1E,EC2BMoG,GAAkB,IAAIC,eAAY,KAAKjH,CAAa,iBAAiBA,CAAa,KAClFkH,GAAY,QAOlB,IAAIC,GAAsBvG,GAAyBwG,EAAA,YAAqBxG,EAASsD,CAAgB,EAKjG,MAAMmD,GAAuBzG,GAAyB,IAAI0G,EAAQ1G,CAAO,EASnE2G,GAAiB7G,GAAkB,CACvC,KAAM,CAAE,QAAAE,EAAS,QAAAC,EAAS,UAAAC,EAAW,aAAA0G,GAAiB9G,EACtD+G,kBAAgB7G,EAAS8G,EAAAA,eAAe,EACxCC,EAAA,YAAY9G,EAAwBC,IAAc0G,EAAe1G,EAAY0G,CAAY,CAC3F,EAOMI,EAAUlH,GAAuC,CACrD,KAAM,CAAE,QAAAG,EAAS,UAAAC,EAAW,aAAA0G,CAAA,EAAiB9G,EAE7C,OAAOG,GAAWgH,EAAAA,SAAShH,EAASC,IAAc0G,EAAe1G,EAAY0G,CAAY,CAC3F,EAQMM,GAAyB,CAACpH,EAAeqH,IAA0B,CACjE,KAAA,CAAE,QAAAnH,CAAY,EAAAF,EACpBA,EAAK,sBAAsB,EAGvBsH,EAAAA,aAAapH,EAASqD,EAAiB,GAAKvD,EAAK,OAASwD,GAC5D+D,GAAmBvH,CAAI,EAGrBqH,GAAmBA,GACzB,EAQMG,GAAsB,CAACxH,EAAeyH,IAAkB,CACtD,MAAAC,EAASD,EAAME,EAAc,YAAAC,iBAC7B,CAAE,QAAA1H,CAAY,EAAAF,EAEpB0H,EAAOrB,cAAYnG,CAAO,EAAG2H,EAAiB,gBAAA7H,EAAK,YAAa8H,EAAAA,cAAc,EAE9E,CAACC,EAAa,YAAAC,EAAW,WAAA,EAAE,QAAcC,GAAA,CACvCP,EAAOQ,YAAUhI,CAAO,EAAG+H,EAAIjI,EAAK,OAAQ8H,EAAAA,cAAc,CAAA,CAC3D,CACH,EAOMK,GAAsBnI,GAAkB,CACtC,KAAA,CAAE,QAAAE,CAAY,EAAAF,EACdoI,EAAoBjF,EAA+C,kBAAA,YAAYC,cAAYpD,EAAK,IAAI,CAAC,EAAE,EAE7GwH,GAAoBxH,EAAM,EAAI,EAC9BqD,gBAAcnD,EAASkI,CAAiB,EAClCC,EAAAA,MAAA,MAAMnI,EAAS,IAAI,CAC3B,EAOMoI,GAAuBtI,GAAkB,CACvC,KAAA,CAAE,QAAAE,CAAY,EAAAF,EACduI,EAAqBpF,EAA+C,kBAAA,aAAaC,cAAYpD,EAAK,IAAI,CAAC,EAAE,EAE/GwH,GAAoBxH,CAAI,EACxB6G,GAAc7G,CAAI,EAClBqD,gBAAcnD,EAASqI,CAAkB,EAEnCF,EAAAA,MAAA,MAAMnI,EAAS,KAAK,CAC5B,EAQMsI,GAA4B,CAACxI,EAAeyH,IAAkB,CAC5D,MAAAC,EAASD,EAAME,EAAc,YAAAC,iBAC7B,CAAE,QAAA1H,EAAS,UAAAE,EAAW,aAAA0G,CAAA,EAAiB9G,EACvC,CAAE,aAAAyI,EAAc,aAAAC,CAAiB,EAAAtI,EACjCuI,EAAcC,EAAAA,QAAQ1I,EAAS,IAAI2I,EAAAA,WAAW,EAAE,EAChDC,EAAkBF,EAAAA,QAAQ1I,EAAS,IAAI6I,EAAAA,eAAe,EAAE,EAGxDC,EAAMd,YAAUhI,CAAO,EAEvB+I,EAAe7I,IAAc0G,GADlB2B,IAAiBC,EAC4BtI,EAAY4I,EAC1EtB,EAAOuB,EAAcjB,EAAA,YAAahI,EAAK,OAAQ8H,EAAc,cAAA,EAC7DJ,EAAOuB,EAAclB,EAAA,YAAa/H,EAAK,OAAQ8H,EAAc,cAAA,EAGzDa,GAAoBjB,EAAAiB,EAAa,WAAWE,EAAAA,WAAW,GAAI7I,EAAK,UAAU,EAC1E8I,GAAwBpB,EAAAoB,EAAiB,WAAWC,EAAAA,eAAe,GAAI/I,EAAK,UAAU,CAC5F,EAQMuH,GAAqB,CAACvH,EAAe0D,IAAqB,CAExD,MAAAwF,EAAW,CAAC3F,GAAmBiD,EAAS,EACxC,CAAE,QAAAtG,CAAY,EAAAF,EAEpBkF,EAAA,aACEhF,EACAgJ,EAASxF,EAAU,EAAI,CAAC,EACxBA,GAAWyF,EAAAA,aAAajJ,EAASgJ,EAAS,CAAC,CAAC,GAAgC,EAAA,EAE9EnC,EAAA,gBAAgB7G,EAASgJ,EAASxF,EAAU,EAAI,CAAC,CAAC,CACpD,EAKA,MAAqBkD,UAAgBwC,GAAAA,aAAc,CAkBjD,YAAYC,EAA8BC,EAAkC,CAC1E,MAAMD,EAAQC,CAAM,EA6DtBC,EAAA,mBAAc,IAAMC,EAAAA,MAAM,KAAK,OAAO,GAEtCD,EAAA,kBAAa,IAAM,KAAK,QAsCxBA,EAAA,kBAAa,IAAM,KAAK,QAgCxBA,EAAA,cAAS,IAAM,CACbxJ,GAAkB,IAAI,CAAA,GAIxBwJ,EAAA,cAAS,IAAM,CACP,KAAA,CAAE,QAAApJ,CAAY,EAAA,KAEhBA,GAAW,CAAC+G,EAAO,IAAI,OAAQ,YACzB,KAAK,CAAA,GAyCjBqC,EAAA,mBAAc,CAAC,CAAE,OAAAF,KAAyB,CAClC,KAAA,CAAE,QAAAlJ,EAAS,QAAAD,CAAY,EAAA,KAI1BC,GAAWA,EAAQ,SAASkJ,CAAqB,GAClDA,IAAWnJ,GACVmJ,GAAUnJ,EAAQ,SAASmJ,CAAqB,GAIjD,KAAK,KAAK,CACZ,GAQFE,EAAA,6BAAyB9B,GAAkB,CACnC,MAAAC,EAASD,EAAME,EAAc,YAAAC,iBAE7B,CAAE,QAAA1H,EAAS,QAAAG,EAAS,IAAAoJ,CAAA,EAAQ,KAC5B,CAAE,QAAAC,CAAY,EAAArJ,EAEdoE,EAAc,GADF,KAAK,OAASjB,GACEnD,EAA2B,aAGxDqJ,EAAQ,SAAS,QAAQ,IACvB,KAAA,QAAU,CAAC,CAACjC,EAEMiC,EAAQ,MAAM,GAAG,EAEzB,QAAcC,GAAA,CAEvBA,IAAOC,EAAAA,iBACFlC,EAAAxH,EAAS2J,EAAAA,eAAgB,KAAK,UAAU,EACxCnC,EAAAxH,EAAS4J,EAAAA,gBAAiB,KAAK,UAAU,EAG3CrF,IACIiD,EAAAxH,EAAS6J,EAAAA,gBAAiB,KAAK,UAAU,EAChDrC,EAAOrB,cAAYnG,CAAO,EAAG2H,EAAiB,gBAAA,KAAK,YAAaC,EAAAA,cAAc,IAEvE6B,IAAOK,kBAChBtC,EAAOxH,EAASyJ,EAAKlF,EAA4B,KAAK,WAAnB,KAAK,MAAwB,EACvDkF,IAAOM,eACTvC,EAAAxH,EAASgK,EAAAA,aAAc,KAAK,UAAU,EAExCzF,GAAaiD,EAAOxH,EAASiK,EAAAA,cAAe,KAAK,UAAU,EAE5DC,WACK1C,EAAAxH,EAAS8J,EAAAA,gBAAiB,KAAK,WAAW,GAIjDvF,GAAegF,GACV/B,EAAA+B,EAAKO,EAAAA,gBAAiB,KAAK,UAAU,CAC9C,CACD,EACH,GAlPM,KAAA,CAAE,QAAA9J,CAAY,EAAA,KACdT,EAAY,KAAK,OAAS+D,EAC1BmB,EAAYlF,EAAYH,EAAgBF,EACxCiL,EAAe5K,EAAY+D,EAAmBnE,GAGpDoH,GAAyC6D,GAAsB5D,EAAe,YAAA4D,EAAMD,CAAY,EAGhG,KAAK,QAAU,GAEf,KAAK,GAAK,GAAG1F,CAAS,IAAI4F,EAAAA,OAAOrK,EAASyE,CAAS,CAAC,GAG9C,KAAA,CAAE,QAAAtE,CAAY,EAAA,KAGb,CAACA,EAAQ,OAASZ,GAAe,CAACA,GAAa,CAACY,EAAQ,UAE7DmK,EAAAA,aAAalH,GAAiB,CAAE,UAAW,EAAI,CAAA,EAI3CgE,EAAA,aAAapH,EAASsG,EAAS,GAAK/G,GAAa,OAAOY,EAAQ,OAAU,UACzDkH,GAAA,KAAMlH,EAAQ,KAAK,EAInC,KAAA,UAAYuF,GAAoB1F,CAAO,EAC5C,KAAK,aAAe,CAAC,SAAU,OAAO,EAAE,KAC1BuK,GAAApJ,EAAAA,gBAAgB,KAAK,UAA0B,UAAU,IAAMoJ,CAAA,EAExE,KAAK,UACNpE,EAAAA,YAAY,KAAK,OAAO,EAAE,KAG9BlC,GAAU,IAAI,EAGd,KAAK,sBAAsB,EAAI,EAEnC,CAKA,IAAI,MAAO,CACF,OAAAX,CACT,CAIA,IAAI,UAAW,CACN,OAAAF,EACT,CAQA,MAAO,CACL,KAAM,CAAE,QAAAjD,EAAS,QAAAF,EAAS,QAAAD,EAAS,UAAAE,EAAW,aAAA0G,EAAc,GAAA1C,CAAO,EAAA,KAC7D,CAAE,UAAAG,CAAc,EAAAlE,EAChBqK,EAAWrC,EAAA,MAAM,IAAInI,EAAS,KAAK,EACnCyK,EAAevK,IAAc0G,EAAe1G,EAAY0G,EAExDuB,EAAAA,MAAA,MAAMnI,EAAS,KAAK,EAEtBC,GAAW,CAACuK,GAAY,CAACxD,EAAO,IAAI,GAChCmB,EAAAA,MAAA,IACJnI,EACA,IAAM,CACJ,MAAM0K,EAAmBzH,EAA+C,kBAAA,WAAWC,cAAY,KAAK,IAAI,CAAC,EAAE,EAC3GC,gBAAcnD,EAAS0K,CAAgB,EAClCA,EAAiB,mBAEpBC,cAAY1K,EAASwK,CAAY,EAEjCzF,EAAA,aAAahF,EAAS8G,EAAA,gBAAiB,IAAI5C,CAAE,EAAE,EAE/C,KAAK,OAAO,EACZoE,GAA0B,KAAM,EAAI,EAG/B9C,EAAS,SAAAvF,EAAS2K,GAAAA,SAAS,GAAGrF,WAAStF,EAAS2K,GAAAA,SAAS,EAE1DvG,EAAgCwG,EAAAA,qBAAA5K,EAAS,IAAMgI,GAAmB,IAAI,CAAC,KACnD,IAAI,EAEhC,EACA,GACA,IAAA,CAGN,CAIA,MAAO,CACL,KAAM,CAAE,QAAA9H,EAAS,QAAAF,EAAS,QAAAD,CAAA,EAAY,KAChC,CAAE,UAAAqE,EAAW,MAAAyG,CAAU,EAAA3K,EAEvBgI,EAAAA,MAAA,MAAMnI,EAAS,IAAI,EAGrBC,GAAW+G,EAAO,IAAI,GAClBmB,EAAAA,MAAA,IACJnI,EACA,IAAM,CACJ,MAAM+K,EAAmB9H,EAA+C,kBAAA,WAAWC,cAAY,KAAK,IAAI,CAAC,EAAE,EAC3GC,gBAAcnD,EAAS+K,CAAgB,EAElCA,EAAiB,mBACpB,KAAK,OAAO,EACZC,cAAY/K,EAAS2K,GAAAA,SAAS,EAC9BtC,GAA0B,IAAI,EAG1BjE,EAAgCwG,EAAAA,qBAAA5K,EAAS,IAAMmI,GAAoB,IAAI,CAAC,KACnD,IAAI,EAEjC,EACA0C,EAAQ,GACR,KAAA,CAGN,CAgBA,QAAS,CACD,KAAA,CAAE,QAAAG,CAAY,EAAA,KAEfA,IACH,KAAK,sBAAsB,EAAI,EAC/B,KAAK,QAAU,CAACA,EAEpB,CAGA,SAAU,CACR,KAAM,CAAE,QAAAhL,EAAS,QAAAE,EAAS,QAAA8K,CAAA,EAAY,KAChC,CAAE,UAAA5G,CAAc,EAAAlE,EAElB8K,IACEhL,GAAW+G,EAAO,IAAI,GAAK3C,GAC7B,KAAK,KAAK,EACVwG,EAAAA,qBAAqB5K,EAAS,IAAM,KAAK,sBAAuB,CAAA,GAEhE,KAAK,sBAAsB,EAE7B,KAAK,QAAU,CAACgL,EAEpB,CAGA,eAAgB,CACT,KAAK,aACA,QAAQ,EADC,KAAK,OAAO,CAEjC,CAyEA,SAAU,CACF,KAAA,CAAE,QAAAhL,EAAS,QAAAE,CAAY,EAAA,KACvB+K,EAAQ,CAAE,GAAG,KAAM,KAAM,KAAK,MAC9B/D,EAAW,IAAM,WAAW,IAAMD,GAAuBgE,EAAO,IAAM,MAAM,QAAA,CAAS,EAAG,EAAE,EAE5F/K,EAAQ,WAAa6G,EAAOkE,CAAK,GACnC,KAAK,QAAQ,MAAQ,EACrB,KAAK,KAAK,EACVL,uBAAqB5K,EAAwBkH,CAAQ,GAE5CA,GAEb,CACF,CAvREkC,EADmB3C,EACZ,WAAWN,IAClBiD,EAFmB3C,EAEZ,OAAOD,IACd4C,EAHmB3C,EAGZ,cAAcH,IACrB8C,EAJmB3C,EAIZ,WAAW7G"} \ No newline at end of file diff --git a/dist/components/tooltip-ddfd360d.js b/dist/components/tooltip-ddfd360d.js deleted file mode 100644 index 0791fb5d..00000000 --- a/dist/components/tooltip-ddfd360d.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";var Et=Object.defineProperty;var bt=(s,i,o)=>i in s?Et(s,i,{enumerable:!0,configurable:!0,writable:!0,value:o}):s[i]=o;var v=(s,i,o)=>(bt(s,typeof i!="symbol"?i+"":i,o),o);const t=require("@thednp/shorty"),O=require("@thednp/event-listener"),Ct=require("./dataBsToggle-c8bc9e7f.js"),et=require("./showClass-2174a6d6.js"),M=require("./popupContainer-edee469f.js"),nt=require("./fadeClass-a4944cf1.js"),Tt=require("./base-component-f3cef043.js"),Y="popover",it="Popover",y="tooltip",dt=s=>{const i=s===y,o=i?`${s}-inner`:`${s}-body`,e=i?"":`

`,n=`
`,l=`
`;return`
${e+n+l}
`},ht={top:"top",bottom:"bottom",left:"start",right:"end"},ot=s=>{const i=/\b(top|bottom|start|end)+/,{element:o,tooltip:e,container:n,options:l,arrow:r}=s;if(e){const m={...ht},f=t.isRTL(o);t.setElementStyle(e,{top:"",left:"",right:"",bottom:""});const c=s.name===it,{offsetWidth:d,offsetHeight:h}=e,{clientWidth:b,clientHeight:C,offsetWidth:B}=t.getDocumentElement(o);let{placement:a}=l;const{clientWidth:T,offsetWidth:w}=n,S=t.getElementStyle(n,"position")==="fixed",p=Math.abs(S?T-w:b-B),x=f&&S?p:0,$=b-(f?0:p)-1,{width:g,height:E,left:u,right:gt,top:D}=t.getBoundingClientRect(o,!0),{x:G,y:k}={x:u,y:D};t.setElementStyle(r,{top:"",left:"",right:"",bottom:""});let A=0,I="",L=0,V="",q="",J="",X="";const N=r.offsetWidth||0,H=r.offsetHeight||0,Z=N/2;let _=D-h-H<0,F=D+h+E+H>=C,z=u-d-N=$;const K=["left","right"],tt=["top","bottom"];_=K.includes(a)?D+E/2-h/2-H<0:_,F=K.includes(a)?D+h/2+E/2+H>=C:F,z=tt.includes(a)?u+g/2-d/2=$:j,a=K.includes(a)&&z&&j?"top":a,a=a==="top"&&_?"bottom":a,a=a==="bottom"&&F?"top":a,a=a==="left"&&z?"right":a,a=a==="right"&&j?"left":a,e.className.includes(a)||(e.className=e.className.replace(i,m[a])),K.includes(a)?(a==="left"?L=G-d-(c?N:0):L=G+g+(c?N:0),_&&F?(A=0,I=0,q=D+E/2-H/2):_?(A=k,I="",q=E/2-N):F?(A=k-h+E,I="",q=h-E/2-N):(A=k-h/2+E/2,q=h/2-H/2)):tt.includes(a)&&(a==="top"?A=k-h-(c?H:0):A=k+E+(c?H:0),z?(L=0,J=G+g/2-Z):j?(L="auto",V=0,X=g/2+$-gt-Z):(L=G-d/2+g/2,J=d/2-Z)),t.setElementStyle(e,{top:`${A}px`,bottom:I===""?"":`${I}px`,left:L==="auto"?L:`${L}px`,right:V!==""?`${V}px`:""}),t.isHTMLElement(r)&&(q!==""&&(r.style.top=`${q}px`),J!==""?r.style.left=`${J}px`:X!==""&&(r.style.right=`${X}px`));const vt=t.createCustomEvent(`updated.bs.${t.toLowerCase(s.name)}`);t.dispatchEvent(o,vt)}},st={template:dt(y),title:"",customClass:"",trigger:"hover focus",placement:"top",sanitizeFn:void 0,animation:!0,delay:200,container:document.body,content:"",dismissible:!1,btnClose:""},pt="data-original-title",W="Tooltip",P=(s,i,o)=>{if(t.isString(i)&&i.length){let e=i.trim();t.isFunction(o)&&(e=o(e));const l=new DOMParser().parseFromString(e,"text/html");s.append(...l.body.childNodes)}else t.isHTMLElement(i)?s.append(i):(t.isNodeList(i)||t.isArray(i)&&i.every(t.isNode))&&s.append(...i)},wt=s=>{const i=s.name===W,{id:o,element:e,options:n}=s,{title:l,placement:r,template:m,animation:f,customClass:c,sanitizeFn:d,dismissible:h,content:b,btnClose:C}=n,B=i?y:Y,a={...ht};let T=[],w=[];t.isRTL(e)&&(a.left="end",a.right="start");const Q=`bs-${B}-${a[r]}`;let S;if(t.isHTMLElement(m))S=m;else{const x=t.createElement("div");P(x,m,d),S=x.firstChild}s.tooltip=t.isHTMLElement(S)?S.cloneNode(!0):void 0;const{tooltip:p}=s;if(p){t.setAttribute(p,"id",o),t.setAttribute(p,"role",y);const x=i?`${y}-inner`:`${Y}-body`,$=i?null:t.querySelector(`.${Y}-header`,p),g=t.querySelector(`.${x}`,p);s.arrow=t.querySelector(`.${B}-arrow`,p);const{arrow:E}=s;if(t.isHTMLElement(l))T=[l.cloneNode(!0)];else{const u=t.createElement("div");P(u,l,d),T=[...u.childNodes]}if(t.isHTMLElement(b))w=[b.cloneNode(!0)];else{const u=t.createElement("div");P(u,b,d),w=[...u.childNodes]}if(h)if(l)if(t.isHTMLElement(C))T=[...T,C.cloneNode(!0)];else{const u=t.createElement("div");P(u,C,d),T=[...T,u.firstChild]}else if($&&$.remove(),t.isHTMLElement(C))w=[...w,C.cloneNode(!0)];else{const u=t.createElement("div");P(u,C,d),w=[...w,u.firstChild]}i?l&&g&&P(g,l,d):(l&&$&&P($,T,d),b&&g&&P(g,w,d),s.btn=t.querySelector(".btn-close",p)||void 0),t.addClass(p,"position-fixed"),t.addClass(E,"position-absolute"),t.hasClass(p,B)||t.addClass(p,B),f&&!t.hasClass(p,nt.fadeClass)&&t.addClass(p,nt.fadeClass),c&&!t.hasClass(p,c)&&t.addClass(p,c),t.hasClass(p,Q)||t.addClass(p,Q)}},yt=s=>{const i=["HTML","BODY"],o=[];let{parentNode:e}=s;for(;e&&!i.includes(e.nodeName);)e=t.getParentNode(e),t.isShadowRoot(e)||t.isTableElement(e)||o.push(e);return o.find((n,l)=>t.getElementStyle(n,"position")!=="relative"&&o.slice(l+1).every(r=>t.getElementStyle(r,"position")==="static")?n:null)||t.getDocument(s).body},$t=`[${Ct.dataBsToggle}="${y}"],[data-tip="${y}"]`,mt="title";let lt=s=>t.getInstance(s,W);const Lt=s=>new R(s),Ht=s=>{const{element:i,tooltip:o,container:e,offsetParent:n}=s;t.removeAttribute(i,t.ariaDescribedBy),M.removePopup(o,e===n?e:n)},U=s=>{const{tooltip:i,container:o,offsetParent:e}=s;return i&&M.hasPopup(i,o===e?o:e)},Pt=(s,i)=>{const{element:o}=s;s._toggleEventListeners(),t.hasAttribute(o,pt)&&s.name===W&&ft(s),i&&i()},ut=(s,i)=>{const o=i?O.addListener:O.removeListener,{element:e}=s;o(t.getDocument(e),t.touchstartEvent,s.handleTouch,t.passiveHandler),[t.scrollEvent,t.resizeEvent].forEach(n=>{o(t.getWindow(e),n,s.update,t.passiveHandler)})},at=s=>{const{element:i}=s,o=t.createCustomEvent(`shown.bs.${t.toLowerCase(s.name)}`);ut(s,!0),t.dispatchEvent(i,o),t.Timer.clear(i,"in")},rt=s=>{const{element:i}=s,o=t.createCustomEvent(`hidden.bs.${t.toLowerCase(s.name)}`);ut(s),Ht(s),t.dispatchEvent(i,o),t.Timer.clear(i,"out")},ct=(s,i)=>{const o=i?O.addListener:O.removeListener,{element:e,container:n,offsetParent:l}=s,{offsetHeight:r,scrollHeight:m}=n,f=t.closest(e,`.${M.modalString}`),c=t.closest(e,`.${M.offcanvasString}`),d=t.getWindow(e),b=n===l&&r!==m?n:d;o(b,t.resizeEvent,s.update,t.passiveHandler),o(b,t.scrollEvent,s.update,t.passiveHandler),f&&o(f,`hide.bs.${M.modalString}`,s.handleHide),c&&o(c,`hide.bs.${M.offcanvasString}`,s.handleHide)},ft=(s,i)=>{const o=[pt,mt],{element:e}=s;t.setAttribute(e,o[i?0:1],i||t.getAttribute(e,o[0])||""),t.removeAttribute(e,o[i?1:0])};class R extends Tt.BaseComponent{constructor(o,e){super(o,e);v(this,"handleFocus",()=>t.focus(this.element));v(this,"handleShow",()=>this.show());v(this,"handleHide",()=>this.hide());v(this,"update",()=>{ot(this)});v(this,"toggle",()=>{const{tooltip:o}=this;o&&!U(this)?this.show():this.hide()});v(this,"handleTouch",({target:o})=>{const{tooltip:e,element:n}=this;e&&e.contains(o)||o===n||o&&n.contains(o)||this.hide()});v(this,"_toggleEventListeners",o=>{const e=o?O.addListener:O.removeListener,{element:n,options:l,btn:r}=this,{trigger:m}=l,c=!!(this.name!==W&&l.dismissible);m.includes("manual")||(this.enabled=!!o,m.split(" ").forEach(h=>{h===t.mousehoverEvent?(e(n,t.mousedownEvent,this.handleShow),e(n,t.mouseenterEvent,this.handleShow),c||(e(n,t.mouseleaveEvent,this.handleHide),e(t.getDocument(n),t.touchstartEvent,this.handleTouch,t.passiveHandler))):h===t.mouseclickEvent?e(n,h,c?this.handleShow:this.toggle):h===t.focusEvent&&(e(n,t.focusinEvent,this.handleShow),c||e(n,t.focusoutEvent,this.handleHide),t.isApple&&e(n,t.mouseclickEvent,this.handleFocus)),c&&r&&e(r,t.mouseclickEvent,this.handleHide)}))});const{element:n}=this,l=this.name===W,r=l?y:Y,m=l?W:it;lt=c=>t.getInstance(c,m),this.enabled=!0,this.id=`${r}-${t.getUID(n,r)}`;const{options:f}=this;!f.title&&l||!l&&!f.content||(t.ObjectAssign(st,{titleAttr:""}),t.hasAttribute(n,mt)&&l&&typeof f.title=="string"&&ft(this,f.title),this.container=yt(n),this.offsetParent=["sticky","fixed"].some(c=>t.getElementStyle(this.container,"position")===c)?this.container:t.getDocument(this.element).body,wt(this),this._toggleEventListeners(!0))}get name(){return W}get defaults(){return st}show(){const{options:o,tooltip:e,element:n,container:l,offsetParent:r,id:m}=this,{animation:f}=o,c=t.Timer.get(n,"out"),d=l===r?l:r;t.Timer.clear(n,"out"),e&&!c&&!U(this)&&t.Timer.set(n,()=>{const h=t.createCustomEvent(`show.bs.${t.toLowerCase(this.name)}`);t.dispatchEvent(n,h),h.defaultPrevented||(M.appendPopup(e,d),t.setAttribute(n,t.ariaDescribedBy,`#${m}`),this.update(),ct(this,!0),t.hasClass(e,et.showClass)||t.addClass(e,et.showClass),f?t.emulateTransitionEnd(e,()=>at(this)):at(this))},17,"in")}hide(){const{options:o,tooltip:e,element:n}=this,{animation:l,delay:r}=o;t.Timer.clear(n,"in"),e&&U(this)&&t.Timer.set(n,()=>{const m=t.createCustomEvent(`hide.bs.${t.toLowerCase(this.name)}`);t.dispatchEvent(n,m),m.defaultPrevented||(this.update(),t.removeClass(e,et.showClass),ct(this),l?t.emulateTransitionEnd(e,()=>rt(this)):rt(this))},r+17,"out")}enable(){const{enabled:o}=this;o||(this._toggleEventListeners(!0),this.enabled=!o)}disable(){const{tooltip:o,options:e,enabled:n}=this,{animation:l}=e;n&&(o&&U(this)&&l?(this.hide(),t.emulateTransitionEnd(o,()=>this._toggleEventListeners())):this._toggleEventListeners(),this.enabled=!n)}toggleEnabled(){this.enabled?this.disable():this.enable()}dispose(){const{tooltip:o,options:e}=this,n={...this,name:this.name},l=()=>setTimeout(()=>Pt(n,()=>super.dispose()),17);e.animation&&U(n)?(this.options.delay=0,this.hide(),t.emulateTransitionEnd(o,l)):l()}}v(R,"selector",$t),v(R,"init",Lt),v(R,"getInstance",lt),v(R,"styleTip",ot);exports.Tooltip=R;exports.getTipTemplate=dt;exports.popoverComponent=it;exports.popoverString=Y;exports.styleTip=ot;exports.tooltipDefaults=st; -//# sourceMappingURL=tooltip-ddfd360d.js.map diff --git a/dist/components/tooltip.cjs b/dist/components/tooltip.cjs index eb1daa11..5e2d66b7 100644 --- a/dist/components/tooltip.cjs +++ b/dist/components/tooltip.cjs @@ -1,2 +1,2 @@ -"use strict";require("@thednp/shorty");require("@thednp/event-listener");require("./dataBsToggle-c8bc9e7f.js");const e=require("./tooltip-ddfd360d.js");require("./showClass-2174a6d6.js");require("./popupContainer-edee469f.js");require("./base-component-f3cef043.js");require("./fadeClass-a4944cf1.js");module.exports=e.Tooltip; +"use strict";require("@thednp/shorty");require("@thednp/event-listener");require("./dataBsToggle-Dj-Ng54N.js");const e=require("./tooltip-CHqbXeRf.js");require("./showClass-D_Ms1FgG.js");require("./popupContainer-RgdJuCa1.js");require("./base-component-j_bwTL_x.js");module.exports=e.Tooltip; //# sourceMappingURL=tooltip.cjs.map diff --git a/dist/components/tooltip.d.ts b/dist/components/tooltip.d.ts index 437bba5f..a266fc05 100644 --- a/dist/components/tooltip.d.ts +++ b/dist/components/tooltip.d.ts @@ -31,7 +31,7 @@ export interface TooltipOptions extends BaseOptions { btnClose: string | HTMLElement; } /** Creates a new `Tooltip` instance. */ -export default class Tooltip extends BaseComponent { +declare class Tooltip extends BaseComponent { static selector: string; static init: (element: HTMLElement) => Tooltip; static getInstance: (element: HTMLElement) => Tooltip | null; @@ -92,6 +92,10 @@ export default class Tooltip extends BaseComponent { dispose(): void; } +export { + Tooltip as default, +}; + export as namespace Tooltip; export {}; diff --git a/dist/components/tooltip.mjs b/dist/components/tooltip.mjs index 9c2b1b24..7c3717d1 100644 --- a/dist/components/tooltip.mjs +++ b/dist/components/tooltip.mjs @@ -1,12 +1,11 @@ import "@thednp/shorty"; import "@thednp/event-listener"; -import "./dataBsToggle-330f300b.mjs"; -import { T as d } from "./tooltip-4ba42f84.mjs"; -import "./showClass-f6a4d601.mjs"; -import "./popupContainer-82392867.mjs"; -import "./base-component-a56d44ba.mjs"; -import "./fadeClass-0d50d035.mjs"; +import "./dataBsToggle-B84TS15h.mjs"; +import { T as f } from "./tooltip-BuF2bDNc.mjs"; +import "./showClass-C8hdJfjQ.mjs"; +import "./popupContainer-C6AuDE5e.mjs"; +import "./base-component-DvIOojVW.mjs"; export { - d as default + f as default }; //# sourceMappingURL=tooltip.mjs.map diff --git a/dist/components/tooltip.mjs.map b/dist/components/tooltip.mjs.map index 77886058..c606ac44 100644 --- a/dist/components/tooltip.mjs.map +++ b/dist/components/tooltip.mjs.map @@ -1 +1 @@ -{"version":3,"file":"tooltip.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"} \ No newline at end of file +{"version":3,"file":"tooltip.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"} \ No newline at end of file diff --git a/docs/assets/js/bootstrap-native.js b/docs/assets/js/bootstrap-native.js index f6220371..efe8ec72 100644 --- a/docs/assets/js/bootstrap-native.js +++ b/docs/assets/js/bootstrap-native.js @@ -1,2 +1,2 @@ -var BSN=function(H){"use strict";var Vc=Object.defineProperty;var Kc=(H,it,ct)=>it in H?Vc(H,it,{enumerable:!0,configurable:!0,writable:!0,value:ct}):H[it]=ct;var d=(H,it,ct)=>(Kc(H,typeof it!="symbol"?it+"":it,ct),ct);const it="aria-describedby",ct="aria-expanded",Se="aria-hidden",He="aria-modal",_s="aria-pressed",Ue="aria-selected",Bo="DOMContentLoaded",qe="focus",Qe="focusin",Bs="focusout",Pe="keydown",Ro="keyup",N="click",Rs="mousedown",Wo="hover",De="mouseenter",Ze="mouseleave",Fo="pointerdown",jo="pointermove",zo="pointerup",xe="resize",Ae="scroll",Ge="touchstart",Vo="dragstart",Je="ArrowDown",ts="ArrowUp",Ws="ArrowLeft",Fs="ArrowRight",es="Escape",Ko="transitionDuration",Xo="transitionDelay",ss="transitionend",js="transitionProperty",Yo=navigator.userAgentData,Le=Yo,{userAgent:Uo}=navigator,Ie=Uo,zs=/iPhone|iPad|iPod|Android/i;Le?Le.brands.some(t=>zs.test(t.brand)):zs.test(Ie);const Vs=/(iPhone|iPod|iPad)/,qo=Le?Le.brands.some(t=>Vs.test(t.brand)):Vs.test(Ie);Ie&&Ie.includes("Firefox");const{head:ke}=document;["webkitPerspective","perspective"].some(t=>t in ke.style);const Qo=(t,s,e,n)=>{const o=n||!1;t.addEventListener(s,e,o)},Zo=(t,s,e,n)=>{const o=n||!1;t.removeEventListener(s,e,o)},Go=(t,s,e,n)=>{const o=i=>{(i.target===t||i.currentTarget===t)&&(e.apply(t,[i]),Zo(t,s,o,n))};Qo(t,s,o,n)},le=()=>{};(()=>{let t=!1;try{const s=Object.defineProperty({},"passive",{get:()=>(t=!0,t)});Go(document,Bo,le,s)}catch{}return t})(),["webkitTransform","transform"].some(t=>t in ke.style),["webkitAnimation","animation"].some(t=>t in ke.style),["webkitTransition","transition"].some(t=>t in ke.style);const at=(t,s)=>t.getAttribute(s),Ne=(t,s)=>t.hasAttribute(s),O=(t,s,e)=>t.setAttribute(s,e),At=(t,s)=>t.removeAttribute(s),f=(t,...s)=>{t.classList.add(...s)},b=(t,...s)=>{t.classList.remove(...s)},h=(t,s)=>t.classList.contains(s),de=t=>t!=null&&typeof t=="object"||!1,A=t=>de(t)&&typeof t.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(s=>t.nodeType===s)||!1,T=t=>A(t)&&t.nodeType===1||!1,jt=new Map,Lt={data:jt,set:(t,s,e)=>{T(t)&&(jt.has(s)||jt.set(s,new Map),jt.get(s).set(t,e))},getAllFor:t=>jt.get(t)||null,get:(t,s)=>{if(!T(t)||!s)return null;const e=Lt.getAllFor(s);return t&&e&&e.get(t)||null},remove:(t,s)=>{const e=Lt.getAllFor(s);!e||!T(t)||(e.delete(t),e.size===0&&jt.delete(s))}},F=(t,s)=>Lt.get(t,s),he=t=>typeof t=="string"||!1,ns=t=>de(t)&&t.constructor.name==="Window"||!1,Ks=t=>A(t)&&t.nodeType===9||!1,E=t=>ns(t)?t.document:Ks(t)?t:A(t)?t.ownerDocument:window.document,dt=(t,...s)=>Object.assign(t,...s),vt=t=>{if(!t)return;if(he(t))return E().createElement(t);const{tagName:s}=t,e=vt(s);if(!e)return;const n={...t};return delete n.tagName,dt(e,n)},w=(t,s)=>t.dispatchEvent(s),z=(t,s)=>{const e=getComputedStyle(t),n=s.replace("webkit","Webkit").replace(/([A-Z])/g,"-$1").toLowerCase();return e.getPropertyValue(n)},Jo=t=>{const s=z(t,js),e=z(t,Xo),n=e.includes("ms")?1:1e3,o=s&&s!=="none"?parseFloat(e)*n:0;return Number.isNaN(o)?0:o},zt=t=>{const s=z(t,js),e=z(t,Ko),n=e.includes("ms")?1:1e3,o=s&&s!=="none"?parseFloat(e)*n:0;return Number.isNaN(o)?0:o},P=(t,s)=>{let e=0;const n=new Event(ss),o=zt(t),i=Jo(t);if(o){const c=a=>{a.target===t&&(s.apply(t,[a]),t.removeEventListener(ss,c),e=1)};t.addEventListener(ss,c),setTimeout(()=>{e||w(t,n)},o+i+17)}else s.apply(t,[n])},ht=(t,s)=>t.focus(s),Xs=t=>["true",!0].includes(t)?!0:["false",!1].includes(t)?!1:["null","",null,void 0].includes(t)?null:t!==""&&!Number.isNaN(+t)?+t:t,Oe=t=>Object.entries(t),Vt=t=>t.toLowerCase(),ti=(t,s,e,n)=>{const o={...e},i={...t.dataset},c={...s},a={},l="title";return Oe(i).forEach(([r,g])=>{const p=n&&typeof r=="string"&&r.includes(n)?r.replace(n,"").replace(/[A-Z]/g,v=>Vt(v)):r;a[p]=Xs(g)}),Oe(o).forEach(([r,g])=>{o[r]=Xs(g)}),Oe(s).forEach(([r,g])=>{r in o?c[r]=o[r]:r in a?c[r]=a[r]:c[r]=r===l?at(t,l):g}),c},Ys=t=>Object.keys(t),$=(t,s)=>{const e=new CustomEvent(t,{cancelable:!0,bubbles:!0});return de(s)&&dt(e,s),e},tt={passive:!0},It=t=>t.offsetHeight,L=(t,s)=>{Oe(s).forEach(([e,n])=>{if(n&&he(e)&&e.includes("--"))t.style.setProperty(e,n);else{const o={};o[e]=n,dt(t.style,o)}})},os=t=>de(t)&&t.constructor.name==="Map"||!1,ei=t=>typeof t=="number"||!1,bt=new Map,u={set:(t,s,e,n)=>{T(t)&&(n&&n.length?(bt.has(t)||bt.set(t,new Map),bt.get(t).set(n,setTimeout(s,e))):bt.set(t,setTimeout(s,e)))},get:(t,s)=>{if(!T(t))return null;const e=bt.get(t);return s&&e&&os(e)?e.get(s)||null:ei(e)?e:null},clear:(t,s)=>{if(!T(t))return;const e=bt.get(t);s&&s.length&&os(e)?(clearTimeout(e.get(s)),e.delete(s),e.size===0&&bt.delete(t)):(clearTimeout(e),bt.delete(t))}},fe=(t,s)=>{const{width:e,height:n,top:o,right:i,bottom:c,left:a}=t.getBoundingClientRect();let l=1,r=1;if(s&&T(t)){const{offsetWidth:g,offsetHeight:p}=t;l=g>0?Math.round(e)/g:1,r=p>0?Math.round(n)/p:1}return{width:e/l,height:n/r,top:o/r,right:i/l,bottom:c/r,left:a/l,x:a/l,y:o/r}},wt=t=>E(t).body,ft=t=>E(t).documentElement,Us=t=>A(t)&&t.constructor.name==="ShadowRoot"||!1,si=t=>t.nodeName==="HTML"?t:T(t)&&t.assignedSlot||A(t)&&t.parentNode||Us(t)&&t.host||ft(t);let qs=0,Qs=0;const Kt=new Map,Zs=(t,s)=>{let e=s?qs:Qs;if(s){const n=Zs(t),o=Kt.get(n)||new Map;Kt.has(n)||Kt.set(n,o),os(o)&&!o.has(s)?(o.set(s,e),qs+=1):e=o.get(s)}else{const n=t.id||t;Kt.has(n)?e=Kt.get(n):(Kt.set(n,e),Qs+=1)}return e},Xt=t=>{var s;return t?Ks(t)?t.defaultView:A(t)?(s=t==null?void 0:t.ownerDocument)==null?void 0:s.defaultView:t:window},ni=t=>Array.isArray(t)||!1,Gs=t=>{if(!A(t))return!1;const{top:s,bottom:e}=fe(t),{clientHeight:n}=ft(t);return s<=n&&e>=0},oi=t=>typeof t=="function"||!1,ii=t=>de(t)&&t.constructor.name==="NodeList"||!1,Et=t=>ft(t).dir==="rtl",ci=t=>A(t)&&["TABLE","TD","TH"].includes(t.nodeName)||!1,M=(t,s)=>t?t.closest(s)||M(t.getRootNode().host,s):null,D=(t,s)=>T(t)?t:(A(s)?s:E()).querySelector(t),is=(t,s)=>(A(s)?s:E()).getElementsByTagName(t),et=(t,s)=>(A(s)?s:E()).querySelectorAll(t),gt=(t,s)=>(s&&A(s)?s:E()).getElementsByClassName(t),Js=(t,s)=>t.matches(s),Yt={},tn=t=>{const{type:s,currentTarget:e}=t;[...Yt[s]].forEach(([n,o])=>{e===n&&[...o].forEach(([i,c])=>{i.apply(n,[t]),typeof c=="object"&&c.once&&B(n,s,i,c)})})},_=(t,s,e,n)=>{Yt[s]||(Yt[s]=new Map);const o=Yt[s];o.has(t)||o.set(t,new Map);const i=o.get(t),{size:c}=i;i.set(e,n),c||t.addEventListener(s,tn,n)},B=(t,s,e,n)=>{const o=Yt[s],i=o&&o.get(t),c=i&&i.get(e),a=c!==void 0?c:n;i&&i.has(e)&&i.delete(e),o&&(!i||!i.size)&&o.delete(t),(!o||!o.size)&&delete Yt[s],(!i||!i.size)&&t.removeEventListener(s,tn,a)},W="fade",m="show",Me="data-bs-dismiss",_e="alert",en="Alert",ai="5.0.13";class st{constructor(s,e){d(this,"_toggleEventListeners",()=>{});const n=D(s);if(!n)throw he(s)?Error(`${this.name} Error: "${s}" is not a valid selector.`):Error(`${this.name} Error: your target is not an instance of HTMLElement.`);const o=Lt.get(n,this.name);o&&o._toggleEventListeners(),this.element=n,this.options=this.defaults&&Ys(this.defaults).length?ti(n,this.defaults,e||{},"bs"):{},Lt.set(n,this.name,this)}get version(){return ai}get name(){return"BaseComponent"}get defaults(){return{}}dispose(){Lt.remove(this.element,this.name),Ys(this).forEach(s=>{delete this[s]})}}const ri=`.${_e}`,li=`[${Me}="${_e}"]`,di=t=>F(t,en),hi=t=>new Ut(t),sn=$(`close.bs.${_e}`),fi=$(`closed.bs.${_e}`),nn=t=>{const{element:s}=t;w(s,fi),t._toggleEventListeners(),t.dispose(),s.remove()};class Ut extends st{constructor(e){super(e);d(this,"dismiss");d(this,"close",()=>{const{element:e}=this;e&&h(e,m)&&(w(e,sn),sn.defaultPrevented||(b(e,m),h(e,W)?P(e,()=>nn(this)):nn(this)))});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{dismiss:o,close:i}=this;o&&n(o,N,i)});this.dismiss=D(li,this.element),this._toggleEventListeners(!0)}get name(){return en}dispose(){this._toggleEventListeners(),super.dispose()}}d(Ut,"selector",ri),d(Ut,"init",hi),d(Ut,"getInstance",di);const C="active",rt="data-bs-toggle",gi="button",on="Button",pi=`[${rt}="${gi}"]`,ui=t=>F(t,on),mi=t=>new qt(t);class qt extends st{constructor(e){super(e);d(this,"isActive",!1);d(this,"toggle",e=>{e&&e.preventDefault();const{element:n,isActive:o}=this;!h(n,"disabled")&&!at(n,"disabled")&&((o?b:f)(n,C),O(n,_s,o?"false":"true"),this.isActive=h(n,C))});d(this,"_toggleEventListeners",e=>{(e?_:B)(this.element,N,this.toggle)});const{element:n}=this;this.isActive=h(n,C),O(n,_s,String(!!this.isActive)),this._toggleEventListeners(!0)}get name(){return on}dispose(){this._toggleEventListeners(),super.dispose()}}d(qt,"selector",pi),d(qt,"init",mi),d(qt,"getInstance",ui);const cs="data-bs-target",kt="carousel",cn="Carousel",an="data-bs-parent",vi="data-bs-container",V=t=>{const s=[cs,an,vi,"href"],e=E(t);return s.map(n=>{const o=at(t,n);return o?n===an?M(t,o):D(o,e):null}).filter(n=>n)[0]},ge=`[data-bs-ride="${kt}"]`,Q=`${kt}-item`,as="data-bs-slide-to",$t="data-bs-slide",Tt="paused",rn={pause:"hover",keyboard:!1,touch:!0,interval:5e3},pt=t=>F(t,cn),bi=t=>new Qt(t);let pe=0,Be=0,rs=0;const ls=$(`slide.bs.${kt}`),ds=$(`slid.bs.${kt}`),ln=t=>{const{index:s,direction:e,element:n,slides:o,options:i}=t;if(t.isAnimating){const c=fs(t),a=e==="left"?"next":"prev",l=e==="left"?"start":"end";f(o[s],C),b(o[s],`${Q}-${a}`),b(o[s],`${Q}-${l}`),b(o[c],C),b(o[c],`${Q}-${l}`),w(n,ds),u.clear(n,$t),t.cycle&&!E(n).hidden&&i.interval&&!t.isPaused&&t.cycle()}};function wi(){const t=pt(this);t&&!t.isPaused&&!u.get(this,Tt)&&f(this,Tt)}function Ei(){const t=pt(this);t&&t.isPaused&&!u.get(this,Tt)&&t.cycle()}function $i(t){t.preventDefault();const s=M(this,ge)||V(this),e=pt(s);if(e&&!e.isAnimating){const n=+(at(this,as)||0);this&&!h(this,C)&&!Number.isNaN(n)&&e.to(n)}}function Ti(t){t.preventDefault();const s=M(this,ge)||V(this),e=pt(s);if(e&&!e.isAnimating){const n=at(this,$t);n==="next"?e.next():n==="prev"&&e.prev()}}const yi=({code:t,target:s})=>{const e=E(s),[n]=[...et(ge,e)].filter(i=>Gs(i)),o=pt(n);if(o&&!o.isAnimating&&!/textarea|input/i.test(s.nodeName)){const i=Et(n);t===(i?Fs:Ws)?o.prev():t===(i?Ws:Fs)&&o.next()}};function dn(t){const{target:s}=t,e=pt(this);e&&e.isTouch&&(e.indicator&&!e.indicator.contains(s)||!e.controls.includes(s))&&(t.stopImmediatePropagation(),t.stopPropagation(),t.preventDefault())}function Ci(t){const{target:s}=t,e=pt(this);if(e&&!e.isAnimating&&!e.isTouch){const{controls:n,indicators:o}=e;[...n,...o].every(i=>i===s||i.contains(s))||(pe=t.pageX,this.contains(s)&&(e.isTouch=!0,hn(e,!0)))}}const Si=t=>{Be=t.pageX},Hi=t=>{var o;const{target:s}=t,e=E(s),n=[...et(ge,e)].map(i=>pt(i)).find(i=>i.isTouch);if(n){const{element:i,index:c}=n,a=Et(i);rs=t.pageX,n.isTouch=!1,hn(n),!((o=e.getSelection())!=null&&o.toString().length)&&i.contains(s)&&Math.abs(pe-rs)>120&&(Bepe&&n.to(c+(a?1:-1))),pe=0,Be=0,rs=0}},hs=(t,s)=>{const{indicators:e}=t;[...e].forEach(n=>b(n,C)),t.indicators[s]&&f(e[s],C)},hn=(t,s)=>{const{element:e}=t,n=s?_:B;n(E(e),jo,Si,tt),n(E(e),zo,Hi,tt)},fs=t=>{const{slides:s,element:e}=t,n=D(`.${Q}.${C}`,e);return T(n)?[...s].indexOf(n):-1};class Qt extends st{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const{element:n,options:o,slides:i,controls:c,indicators:a}=this,{touch:l,pause:r,interval:g,keyboard:p}=o,v=e?_:B;r&&g&&(v(n,De,wi),v(n,Ze,Ei)),l&&i.length>2&&(v(n,Fo,Ci,tt),v(n,Ge,dn,{passive:!1}),v(n,Vo,dn,{passive:!1})),c.length&&c.forEach(k=>{k&&v(k,N,Ti)}),a.length&&a.forEach(k=>{v(k,N,$i)}),p&&v(E(n),Pe,yi)});const{element:o}=this;this.direction=Et(o)?"right":"left",this.isTouch=!1,this.slides=gt(Q,o);const{slides:i}=this;if(i.length>=2){const c=fs(this),a=[...i].find(g=>Js(g,`.${Q}-next,.${Q}-next`));this.index=c;const l=E(o);this.controls=[...et(`[${$t}]`,o),...et(`[${$t}][${cs}="#${o.id}"]`,l)].filter((g,p,v)=>p===v.indexOf(g)),this.indicator=D(`.${kt}-indicators`,o),this.indicators=[...this.indicator?et(`[${as}]`,this.indicator):[],...et(`[${as}][${cs}="#${o.id}"]`,l)].filter((g,p,v)=>p===v.indexOf(g));const{options:r}=this;this.options.interval=r.interval===!0?rn.interval:r.interval,a?this.index=[...i].indexOf(a):c<0&&(this.index=0,f(i[0],C),this.indicators.length&&hs(this,0)),this.indicators.length&&hs(this,this.index),this._toggleEventListeners(!0),r.interval&&this.cycle()}}get name(){return cn}get defaults(){return rn}get isPaused(){return h(this.element,Tt)}get isAnimating(){return D(`.${Q}-next,.${Q}-prev`,this.element)!==null}cycle(){const{element:e,options:n,isPaused:o,index:i}=this;u.clear(e,kt),o&&(u.clear(e,Tt),b(e,Tt)),u.set(e,()=>{this.element&&!this.isPaused&&!this.isTouch&&Gs(e)&&this.to(i+1)},n.interval,kt)}pause(){const{element:e,options:n}=this;!this.isPaused&&n.interval&&(f(e,Tt),u.set(e,()=>{},1,Tt))}next(){this.isAnimating||this.to(this.index+1)}prev(){this.isAnimating||this.to(this.index-1)}to(e){const{element:n,slides:o,options:i}=this,c=fs(this),a=Et(n);let l=e;if(!this.isAnimating&&c!==l&&!u.get(n,$t)){cl||c===o.length-1&&l===0)&&(this.direction=a?"left":"right");const{direction:r}=this;l<0?l=o.length-1:l>=o.length&&(l=0);const g=r==="left"?"next":"prev",p=r==="left"?"start":"end",v={relatedTarget:o[l],from:c,to:l,direction:r};dt(ls,v),dt(ds,v),w(n,ls),ls.defaultPrevented||(this.index=l,hs(this,l),zt(o[l])&&h(n,"slide")?u.set(n,()=>{f(o[l],`${Q}-${g}`),It(o[l]),f(o[l],`${Q}-${p}`),f(o[c],`${Q}-${p}`),P(o[l],()=>this.slides&&this.slides.length&&ln(this))},0,$t):(f(o[l],C),b(o[c],C),u.set(n,()=>{u.clear(n,$t),n&&i.interval&&!this.isPaused&&this.cycle(),w(n,ds)},0,$t)))}}dispose(){const{isAnimating:e}=this,n={...this,isAnimating:e};this._toggleEventListeners(),super.dispose(),n.isAnimating&&P(n.slides[n.index],()=>{ln(n)})}}d(Qt,"selector",ge),d(Qt,"init",bi),d(Qt,"getInstance",pt);const Nt="collapsing",K="collapse",fn="Collapse",Pi=`.${K}`,gn=`[${rt}="${K}"]`,Di={parent:null},Re=t=>F(t,fn),xi=t=>new Zt(t),pn=$(`show.bs.${K}`),Ai=$(`shown.bs.${K}`),un=$(`hide.bs.${K}`),Li=$(`hidden.bs.${K}`),Ii=t=>{const{element:s,parent:e,triggers:n}=t;w(s,pn),pn.defaultPrevented||(u.set(s,le,17),e&&u.set(e,le,17),f(s,Nt),b(s,K),L(s,{height:`${s.scrollHeight}px`}),P(s,()=>{u.clear(s),e&&u.clear(e),n.forEach(o=>O(o,ct,"true")),b(s,Nt),f(s,K),f(s,m),L(s,{height:""}),w(s,Ai)}))},mn=t=>{const{element:s,parent:e,triggers:n}=t;w(s,un),un.defaultPrevented||(u.set(s,le,17),e&&u.set(e,le,17),L(s,{height:`${s.scrollHeight}px`}),b(s,K),b(s,m),f(s,Nt),It(s),L(s,{height:"0px"}),P(s,()=>{u.clear(s),e&&u.clear(e),n.forEach(o=>O(o,ct,"false")),b(s,Nt),f(s,K),L(s,{height:""}),w(s,Li)}))},ki=t=>{const{target:s}=t,e=s&&M(s,gn),n=e&&V(e),o=n&&Re(n);o&&o.toggle(),e&&e.tagName==="A"&&t.preventDefault()};class Zt extends st{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const n=e?_:B,{triggers:o}=this;o.length&&o.forEach(i=>n(i,N,ki))});const{element:o,options:i}=this,c=E(o);this.triggers=[...et(gn,c)].filter(a=>V(a)===o),this.parent=T(i.parent)?i.parent:he(i.parent)?V(o)||D(i.parent,c):null,this._toggleEventListeners(!0)}get name(){return fn}get defaults(){return Di}hide(){const{triggers:e,element:n}=this;u.get(n)||(mn(this),e.length&&e.forEach(o=>f(o,`${K}d`)))}show(){const{element:e,parent:n,triggers:o}=this;let i,c;n&&(i=[...et(`.${K}.${m}`,n)].find(a=>Re(a)),c=i&&Re(i)),(!n||!u.get(n))&&!u.get(e)&&(c&&i!==e&&(mn(c),c.triggers.forEach(a=>{f(a,`${K}d`)})),Ii(this),o.length&&o.forEach(a=>b(a,`${K}d`)))}toggle(){h(this.element,m)?this.hide():this.show()}dispose(){this._toggleEventListeners(),super.dispose()}}d(Zt,"selector",Pi),d(Zt,"init",xi),d(Zt,"getInstance",Re);const Ot=["dropdown","dropup","dropstart","dropend"],vn="Dropdown",bn="dropdown-menu",wn=t=>{const s=M(t,"A");return t.tagName==="A"&&Ne(t,"href")&&at(t,"href").slice(-1)==="#"||s&&Ne(s,"href")&&at(s,"href").slice(-1)==="#"},[nt,gs,ps,us]=Ot,En=`[${rt}="${nt}"]`,Gt=t=>F(t,vn),Ni=t=>new Jt(t),Oi=`${bn}-end`,$n=[nt,gs],Tn=[ps,us],yn=["A","BUTTON"],Mi={offset:5,display:"dynamic"},ms=$(`show.bs.${nt}`),Cn=$(`shown.bs.${nt}`),vs=$(`hide.bs.${nt}`),Sn=$(`hidden.bs.${nt}`),Hn=$(`updated.bs.${nt}`),Pn=t=>{const{element:s,menu:e,parentElement:n,options:o}=t,{offset:i}=o;if(z(e,"position")!=="static"){const c=Et(s),a=h(e,Oi);["margin","top","bottom","left","right"].forEach(R=>{const Pt={};Pt[R]="",L(e,Pt)});let r=Ot.find(R=>h(n,R))||nt;const g={dropdown:[i,0,0],dropup:[0,0,i],dropstart:c?[-1,0,0,i]:[-1,i,0],dropend:c?[-1,i,0]:[-1,0,0,i]},p={dropdown:{top:"100%"},dropup:{top:"auto",bottom:"100%"},dropstart:c?{left:"100%",right:"auto"}:{left:"auto",right:"100%"},dropend:c?{left:"auto",right:"100%"}:{left:"100%",right:"auto"},menuStart:c?{right:"0",left:"auto"}:{right:"auto",left:"0"},menuEnd:c?{right:"auto",left:"0"}:{right:"0",left:"auto"}},{offsetWidth:v,offsetHeight:k}=e,{clientWidth:J,clientHeight:y}=ft(s),{left:X,top:q,width:ce,height:mt}=fe(s),S=X-v-i<0,ot=X+v+ce+i>=J,lt=q+k+i>=y,j=q+k+mt+i>=y,Y=q-k-i<0,x=(!c&&a||c&&!a)&&X+ce-v<0,ae=(c&&a||!c&&!a)&&X+v>=J;if(Tn.includes(r)&&S&&ot&&(r=nt),r===ps&&(c?ot:S)&&(r=us),r===us&&(c?S:ot)&&(r=ps),r===gs&&Y&&!j&&(r=nt),r===nt&&j&&!Y&&(r=gs),Tn.includes(r)&<&&dt(p[r],{top:"auto",bottom:0}),$n.includes(r)&&(x||ae)){let R={left:"auto",right:"auto"};!x&&ae&&!c&&(R={left:"auto",right:0}),x&&!ae&&c&&(R={left:0,right:"auto"}),R&&dt(p[r],R)}const Ht=g[r];L(e,{...p[r],margin:`${Ht.map(R=>R&&`${R}px`).join(" ")}`}),$n.includes(r)&&a&&a&&L(e,p[!c&&x||c&&ae?"menuStart":"menuEnd"]),w(n,Hn)}},_i=t=>[...t.children].map(s=>{if(s&&yn.includes(s.tagName))return s;const{firstElementChild:e}=s;return e&&yn.includes(e.tagName)?e:null}).filter(s=>s),Dn=t=>{const{element:s,options:e}=t,n=t.open?_:B,o=E(s);n(o,N,xn),n(o,qe,xn),n(o,Pe,Ri),n(o,Ro,Wi),e.display==="dynamic"&&[Ae,xe].forEach(i=>{n(Xt(s),i,Fi,tt)})},We=t=>{const s=[...Ot,"btn-group","input-group"].map(e=>gt(`${e} ${m}`,E(t))).find(e=>e.length);if(s&&s.length)return[...s[0].children].find(e=>Ot.some(n=>n===at(e,rt)))},xn=t=>{const{target:s,type:e}=t;if(s&&T(s)){const n=We(s),o=n&&Gt(n);if(o){const{parentElement:i,menu:c}=o,a=i&&i.contains(s)&&(s.tagName==="form"||M(s,"form")!==null);[N,Rs].includes(e)&&wn(s)&&t.preventDefault(),!a&&e!==qe&&s!==n&&s!==c&&o.hide()}}},Bi=t=>{const{target:s}=t,e=s&&M(s,En),n=e&&Gt(e);n&&(t.stopPropagation(),n.toggle(),e&&wn(e)&&t.preventDefault())},Ri=t=>{[Je,ts].includes(t.code)&&t.preventDefault()};function Wi(t){const{code:s}=t,e=We(this),n=e&&Gt(e),{activeElement:o}=e&&E(e);if(n&&o){const{menu:i,open:c}=n,a=_i(i);if(a&&a.length&&[Je,ts].includes(s)){let l=a.indexOf(o);o===e?l=0:s===ts?l=l>1?l-1:0:s===Je&&(l=l{(e?_:B)(this.element,N,Bi)});const{parentElement:o}=this.element,[i]=gt(bn,o);i&&(this.parentElement=o,this.menu=i,this._toggleEventListeners(!0))}get name(){return vn}get defaults(){return Mi}toggle(){this.open?this.hide():this.show()}show(){const{element:e,open:n,menu:o,parentElement:i}=this;if(!n){const c=We(e),a=c&&Gt(c);a&&a.hide(),[ms,Cn,Hn].forEach(l=>{l.relatedTarget=e}),w(i,ms),ms.defaultPrevented||(f(o,m),f(i,m),O(e,ct,"true"),Pn(this),this.open=!n,ht(e),Dn(this),w(i,Cn))}}hide(){const{element:e,open:n,menu:o,parentElement:i}=this;n&&([vs,Sn].forEach(c=>{c.relatedTarget=e}),w(i,vs),vs.defaultPrevented||(b(o,m),b(i,m),O(e,ct,"false"),this.open=!n,Dn(this),w(i,Sn)))}dispose(){this.open&&this.hide(),this._toggleEventListeners(),super.dispose()}}d(Jt,"selector",En),d(Jt,"init",Ni),d(Jt,"getInstance",Gt);const U="modal",bs="Modal",ws="Offcanvas",ji="fixed-top",zi="fixed-bottom",An="sticky-top",Ln="position-sticky",In=t=>[...gt(ji,t),...gt(zi,t),...gt(An,t),...gt(Ln,t),...gt("is-fixed",t)],Vi=t=>{const s=wt(t);L(s,{paddingRight:"",overflow:""});const e=In(s);e.length&&e.forEach(n=>{L(n,{paddingRight:"",marginRight:""})})},kn=t=>{const{clientWidth:s}=ft(t),{innerWidth:e}=Xt(t);return Math.abs(e-s)},Nn=(t,s)=>{const e=wt(t),n=parseInt(z(e,"paddingRight"),10),i=z(e,"overflow")==="hidden"&&n?0:kn(t),c=In(e);s&&(L(e,{overflow:"hidden",paddingRight:`${n+i}px`}),c.length&&c.forEach(a=>{const l=z(a,"paddingRight");if(a.style.paddingRight=`${parseInt(l,10)+i}px`,[An,Ln].some(r=>h(a,r))){const r=z(a,"marginRight");a.style.marginRight=`${parseInt(r,10)-i}px`}}))},Z="offcanvas",yt=vt({tagName:"div",className:"popup-container"}),On=(t,s)=>{const e=A(s)&&s.nodeName==="BODY",n=A(s)&&!e?s:yt,o=e?s:wt(t);A(t)&&(n===yt&&o.append(yt),n.append(t))},Mn=(t,s)=>{const e=A(s)&&s.nodeName==="BODY",n=A(s)&&!e?s:yt;A(t)&&(t.remove(),n===yt&&!yt.children.length&&yt.remove())},Es=(t,s)=>{const e=A(s)&&s.nodeName!=="BODY"?s:yt;return A(t)&&e.contains(t)},_n="backdrop",Bn=`${U}-${_n}`,Rn=`${Z}-${_n}`,Wn=`.${U}.${m}`,$s=`.${Z}.${m}`,I=vt("div"),Mt=t=>D(`${Wn},${$s}`,E(t)),Ts=t=>{const s=t?Bn:Rn;[Bn,Rn].forEach(e=>{b(I,e)}),f(I,s)},Fn=(t,s,e)=>{Ts(e),On(I,wt(t)),s&&f(I,W)},jn=()=>{h(I,m)||(f(I,m),It(I))},Fe=()=>{b(I,m)},zn=t=>{Mt(t)||(b(I,W),Mn(I,wt(t)),Vi(t))},Vn=t=>T(t)&&z(t,"visibility")!=="hidden"&&t.offsetParent!==null,Ki=`.${U}`,Kn=`[${rt}="${U}"]`,Xi=`[${Me}="${U}"]`,Xn=`${U}-static`,Yi={backdrop:!0,keyboard:!0},ue=t=>F(t,bs),Ui=t=>new te(t),je=$(`show.bs.${U}`),Yn=$(`shown.bs.${U}`),ys=$(`hide.bs.${U}`),Un=$(`hidden.bs.${U}`),qn=t=>{const{element:s}=t,e=kn(s),{clientHeight:n,scrollHeight:o}=ft(s),{clientHeight:i,scrollHeight:c}=s,a=i!==c;if(!a&&e){const l=Et(s)?"paddingLeft":"paddingRight",r={};r[l]=`${e}px`,L(s,r)}Nn(s,a||n!==o)},Qn=(t,s)=>{const e=s?_:B,{element:n,update:o}=t;e(n,N,Zi),e(Xt(n),xe,o,tt),e(E(n),Pe,Qi)},Zn=t=>{const{triggers:s,element:e,relatedTarget:n}=t;zn(e),L(e,{paddingRight:"",display:""}),Qn(t);const o=je.relatedTarget||s.find(Vn);o&&ht(o),Un.relatedTarget=n,w(e,Un)},Gn=t=>{const{element:s,relatedTarget:e}=t;ht(s),Qn(t,!0),Yn.relatedTarget=e,w(s,Yn)},Jn=t=>{const{element:s,hasFade:e}=t;L(s,{display:"block"}),qn(t),Mt(s)||L(wt(s),{overflow:"hidden"}),f(s,m),At(s,Se),O(s,He,"true"),e?P(s,()=>Gn(t)):Gn(t)},to=t=>{const{element:s,options:e,hasFade:n}=t;e.backdrop&&n&&h(I,m)&&!Mt(s)?(Fe(),P(I,()=>Zn(t))):Zn(t)},qi=t=>{const{target:s}=t,e=s&&M(s,Kn),n=e&&V(e),o=n&&ue(n);o&&(e&&e.tagName==="A"&&t.preventDefault(),o.relatedTarget=e,o.toggle())},Qi=({code:t,target:s})=>{const e=D(Wn,E(s)),n=e&&ue(e);if(n){const{options:o}=n;o.keyboard&&t===es&&h(e,m)&&(n.relatedTarget=null,n.hide())}},Zi=t=>{var n,o;const{currentTarget:s}=t,e=s?ue(s):null;if(e&&s&&!u.get(s)){const{options:i,isStatic:c,modalDialog:a}=e,{backdrop:l}=i,{target:r}=t,g=(o=(n=E(s))==null?void 0:n.getSelection())==null?void 0:o.toString().length,p=a.contains(r),v=r&&M(r,Xi);c&&!p?u.set(s,()=>{f(s,Xn),P(a,()=>Gi(e))},17):(v||!g&&!c&&!p&&l)&&(e.relatedTarget=v||null,e.hide(),t.preventDefault())}},Gi=t=>{const{element:s,modalDialog:e}=t,n=(zt(e)||0)+17;b(s,Xn),u.set(s,()=>u.clear(s),n)};class te extends st{constructor(e,n){super(e,n);d(this,"update",()=>{h(this.element,m)&&qn(this)});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{triggers:o}=this;o.length&&o.forEach(i=>n(i,N,qi))});const{element:o}=this,i=D(`.${U}-dialog`,o);i&&(this.modalDialog=i,this.triggers=[...et(Kn,E(o))].filter(c=>V(c)===o),this.isStatic=this.options.backdrop==="static",this.hasFade=h(o,W),this.relatedTarget=null,this._toggleEventListeners(!0))}get name(){return bs}get defaults(){return Yi}toggle(){h(this.element,m)?this.hide():this.show()}show(){const{element:e,options:n,hasFade:o,relatedTarget:i}=this,{backdrop:c}=n;let a=0;if(!h(e,m)&&(je.relatedTarget=i||void 0,w(e,je),!je.defaultPrevented)){const l=Mt(e);if(l&&l!==e){const r=ue(l)||F(l,ws);r&&r.hide()}c?(Es(I)?Ts(!0):Fn(e,o,!0),a=zt(I),jn(),setTimeout(()=>Jn(this),a)):(Jn(this),l&&h(I,m)&&Fe())}}hide(){const{element:e,hasFade:n,relatedTarget:o}=this;h(e,m)&&(ys.relatedTarget=o||void 0,w(e,ys),ys.defaultPrevented||(b(e,m),O(e,Se,"true"),At(e,He),n?P(e,()=>to(this)):to(this)))}dispose(){const e={...this},{element:n,modalDialog:o}=e,i=()=>super.dispose();this._toggleEventListeners(),this.hide(),h(n,"fade")?P(o,i):i()}}d(te,"selector",Ki),d(te,"init",Ui),d(te,"getInstance",ue);const Ji=`.${Z}`,Cs=`[${rt}="${Z}"]`,tc=`[${Me}="${Z}"]`,ze=`${Z}-toggling`,ec={backdrop:!0,keyboard:!0,scroll:!1},me=t=>F(t,ws),sc=t=>new ee(t),Ve=$(`show.bs.${Z}`),eo=$(`shown.bs.${Z}`),Ss=$(`hide.bs.${Z}`),so=$(`hidden.bs.${Z}`),nc=t=>{const{element:s}=t,{clientHeight:e,scrollHeight:n}=ft(s);Nn(s,e!==n)},no=(t,s)=>{const e=s?_:B,n=E(t.element);e(n,Pe,ac),e(n,N,cc)},oo=t=>{const{element:s,options:e}=t;e.scroll||(nc(t),L(wt(s),{overflow:"hidden"})),f(s,ze),f(s,m),L(s,{visibility:"visible"}),P(s,()=>rc(t))},oc=t=>{const{element:s,options:e}=t,n=Mt(s);s.blur(),!n&&e.backdrop&&h(I,m)&&Fe(),P(s,()=>lc(t))},ic=t=>{const s=M(t.target,Cs),e=s&&V(s),n=e&&me(e);n&&(n.relatedTarget=s,n.toggle(),s&&s.tagName==="A"&&t.preventDefault())},cc=t=>{const{target:s}=t,e=D($s,E(s)),n=D(tc,e),o=e&&me(e);if(o){const{options:i,triggers:c}=o,{backdrop:a}=i,l=M(s,Cs),r=E(e).getSelection();(!I.contains(s)||a!=="static")&&(!(r&&r.toString().length)&&(!e.contains(s)&&a&&(!l||c.includes(s))||n&&n.contains(s))&&(o.relatedTarget=n&&n.contains(s)?n:null,o.hide()),l&&l.tagName==="A"&&t.preventDefault())}},ac=({code:t,target:s})=>{const e=D($s,E(s)),n=e&&me(e);n&&n.options.keyboard&&t===es&&(n.relatedTarget=null,n.hide())},rc=t=>{const{element:s}=t;b(s,ze),At(s,Se),O(s,He,"true"),O(s,"role","dialog"),w(s,eo),no(t,!0),ht(s)},lc=t=>{const{element:s,triggers:e}=t;O(s,Se,"true"),At(s,He),At(s,"role"),L(s,{visibility:""});const n=Ve.relatedTarget||e.find(Vn);n&&ht(n),zn(s),w(s,so),b(s,ze),Mt(s)||no(t)};class ee extends st{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const n=e?_:B;this.triggers.forEach(o=>n(o,N,ic))});const{element:o}=this;this.triggers=[...et(Cs,E(o))].filter(i=>V(i)===o),this.relatedTarget=null,this._toggleEventListeners(!0)}get name(){return ws}get defaults(){return ec}toggle(){h(this.element,m)?this.hide():this.show()}show(){const{element:e,options:n,relatedTarget:o}=this;let i=0;if(!h(e,m)&&(Ve.relatedTarget=o||void 0,eo.relatedTarget=o||void 0,w(e,Ve),!Ve.defaultPrevented)){const c=Mt(e);if(c&&c!==e){const a=me(c)||F(c,bs);a&&a.hide()}n.backdrop?(Es(I)?Ts():Fn(e,!0),i=zt(I),jn(),setTimeout(()=>oo(this),i)):(oo(this),c&&h(I,m)&&Fe())}}hide(){const{element:e,relatedTarget:n}=this;h(e,m)&&(Ss.relatedTarget=n||void 0,so.relatedTarget=n||void 0,w(e,Ss),Ss.defaultPrevented||(f(e,ze),b(e,m),oc(this)))}dispose(){const e={...this},{element:n,options:o}=e,i=o.backdrop?zt(I):0,c=()=>setTimeout(()=>super.dispose(),i+17);this._toggleEventListeners(),this.hide(),h(n,m)?P(n,c):c()}}d(ee,"selector",Ji),d(ee,"init",sc),d(ee,"getInstance",me);const _t="popover",Ke="Popover",ut="tooltip",io=t=>{const s=t===ut,e=s?`${t}-inner`:`${t}-body`,n=s?"":`

`,o=`
`,i=`
`;return`
${n+o+i}
`},co={top:"top",bottom:"bottom",left:"start",right:"end"},Hs=t=>{const s=/\b(top|bottom|start|end)+/,{element:e,tooltip:n,container:o,options:i,arrow:c}=t;if(n){const a={...co},l=Et(e);L(n,{top:"",left:"",right:"",bottom:""});const r=t.name===Ke,{offsetWidth:g,offsetHeight:p}=n,{clientWidth:v,clientHeight:k,offsetWidth:J}=ft(e);let{placement:y}=i;const{clientWidth:X,offsetWidth:q}=o,mt=z(o,"position")==="fixed",S=Math.abs(mt?X-q:v-J),ot=l&&mt?S:0,lt=v-(l?0:S)-1,{width:j,height:Y,left:x,right:ae,top:Ht}=fe(e,!0),{x:R,y:Pt}={x,y:Ht};L(c,{top:"",left:"",right:"",bottom:""});let Wt=0,Ee="",Dt=0,ks="",re="",Xe="",Ns="";const Ft=c.offsetWidth||0,xt=c.offsetHeight||0,Os=Ft/2;let $e=Ht-p-xt<0,Te=Ht+p+Y+xt>=k,ye=x-g-Ft=lt;const Ye=["left","right"],Ms=["top","bottom"];$e=Ye.includes(y)?Ht+Y/2-p/2-xt<0:$e,Te=Ye.includes(y)?Ht+p/2+Y/2+xt>=k:Te,ye=Ms.includes(y)?x+j/2-g/2=lt:Ce,y=Ye.includes(y)&&ye&&Ce?"top":y,y=y==="top"&&$e?"bottom":y,y=y==="bottom"&&Te?"top":y,y=y==="left"&&ye?"right":y,y=y==="right"&&Ce?"left":y,n.className.includes(y)||(n.className=n.className.replace(s,a[y])),Ye.includes(y)?(y==="left"?Dt=R-g-(r?Ft:0):Dt=R+j+(r?Ft:0),$e&&Te?(Wt=0,Ee=0,re=Ht+Y/2-xt/2):$e?(Wt=Pt,Ee="",re=Y/2-Ft):Te?(Wt=Pt-p+Y,Ee="",re=p-Y/2-Ft):(Wt=Pt-p/2+Y/2,re=p/2-xt/2)):Ms.includes(y)&&(y==="top"?Wt=Pt-p-(r?xt:0):Wt=Pt+Y+(r?xt:0),ye?(Dt=0,Xe=R+j/2-Os):Ce?(Dt="auto",ks=0,Ns=j/2+lt-ae-Os):(Dt=R-g/2+j/2,Xe=g/2-Os)),L(n,{top:`${Wt}px`,bottom:Ee===""?"":`${Ee}px`,left:Dt==="auto"?Dt:`${Dt}px`,right:ks!==""?`${ks}px`:""}),T(c)&&(re!==""&&(c.style.top=`${re}px`),Xe!==""?c.style.left=`${Xe}px`:Ns!==""&&(c.style.right=`${Ns}px`));const zc=$(`updated.bs.${Vt(t.name)}`);w(e,zc)}},Ps={template:io(ut),title:"",customClass:"",trigger:"hover focus",placement:"top",sanitizeFn:void 0,animation:!0,delay:200,container:document.body,content:"",dismissible:!1,btnClose:""},ao="data-original-title",Bt="Tooltip",Ct=(t,s,e)=>{if(he(s)&&s.length){let n=s.trim();oi(e)&&(n=e(n));const i=new DOMParser().parseFromString(n,"text/html");t.append(...i.body.childNodes)}else T(s)?t.append(s):(ii(s)||ni(s)&&s.every(A))&&t.append(...s)},dc=t=>{const s=t.name===Bt,{id:e,element:n,options:o}=t,{title:i,placement:c,template:a,animation:l,customClass:r,sanitizeFn:g,dismissible:p,content:v,btnClose:k}=o,J=s?ut:_t,y={...co};let X=[],q=[];Et(n)&&(y.left="end",y.right="start");const ce=`bs-${J}-${y[c]}`;let mt;if(T(a))mt=a;else{const ot=vt("div");Ct(ot,a,g),mt=ot.firstChild}t.tooltip=T(mt)?mt.cloneNode(!0):void 0;const{tooltip:S}=t;if(S){O(S,"id",e),O(S,"role",ut);const ot=s?`${ut}-inner`:`${_t}-body`,lt=s?null:D(`.${_t}-header`,S),j=D(`.${ot}`,S);t.arrow=D(`.${J}-arrow`,S);const{arrow:Y}=t;if(T(i))X=[i.cloneNode(!0)];else{const x=vt("div");Ct(x,i,g),X=[...x.childNodes]}if(T(v))q=[v.cloneNode(!0)];else{const x=vt("div");Ct(x,v,g),q=[...x.childNodes]}if(p)if(i)if(T(k))X=[...X,k.cloneNode(!0)];else{const x=vt("div");Ct(x,k,g),X=[...X,x.firstChild]}else if(lt&<.remove(),T(k))q=[...q,k.cloneNode(!0)];else{const x=vt("div");Ct(x,k,g),q=[...q,x.firstChild]}s?i&&j&&Ct(j,i,g):(i&<&&Ct(lt,X,g),v&&j&&Ct(j,q,g),t.btn=D(".btn-close",S)||void 0),f(S,"position-fixed"),f(Y,"position-absolute"),h(S,J)||f(S,J),l&&!h(S,W)&&f(S,W),r&&!h(S,r)&&f(S,r),h(S,ce)||f(S,ce)}},hc=t=>{const s=["HTML","BODY"],e=[];let{parentNode:n}=t;for(;n&&!s.includes(n.nodeName);)n=si(n),Us(n)||ci(n)||e.push(n);return e.find((o,i)=>z(o,"position")!=="relative"&&e.slice(i+1).every(c=>z(c,"position")==="static")?o:null)||E(t).body},fc=`[${rt}="${ut}"],[data-tip="${ut}"]`,ro="title";let lo=t=>F(t,Bt);const gc=t=>new St(t),pc=t=>{const{element:s,tooltip:e,container:n,offsetParent:o}=t;At(s,it),Mn(e,n===o?n:o)},ve=t=>{const{tooltip:s,container:e,offsetParent:n}=t;return s&&Es(s,e===n?e:n)},uc=(t,s)=>{const{element:e}=t;t._toggleEventListeners(),Ne(e,ao)&&t.name===Bt&&uo(t),s&&s()},ho=(t,s)=>{const e=s?_:B,{element:n}=t;e(E(n),Ge,t.handleTouch,tt),[Ae,xe].forEach(o=>{e(Xt(n),o,t.update,tt)})},fo=t=>{const{element:s}=t,e=$(`shown.bs.${Vt(t.name)}`);ho(t,!0),w(s,e),u.clear(s,"in")},go=t=>{const{element:s}=t,e=$(`hidden.bs.${Vt(t.name)}`);ho(t),pc(t),w(s,e),u.clear(s,"out")},po=(t,s)=>{const e=s?_:B,{element:n,container:o,offsetParent:i}=t,{offsetHeight:c,scrollHeight:a}=o,l=M(n,`.${U}`),r=M(n,`.${Z}`),g=Xt(n),v=o===i&&c!==a?o:g;e(v,xe,t.update,tt),e(v,Ae,t.update,tt),l&&e(l,`hide.bs.${U}`,t.handleHide),r&&e(r,`hide.bs.${Z}`,t.handleHide)},uo=(t,s)=>{const e=[ao,ro],{element:n}=t;O(n,e[s?0:1],s||at(n,e[0])||""),At(n,e[s?1:0])};class St extends st{constructor(e,n){super(e,n);d(this,"handleFocus",()=>ht(this.element));d(this,"handleShow",()=>this.show());d(this,"handleHide",()=>this.hide());d(this,"update",()=>{Hs(this)});d(this,"toggle",()=>{const{tooltip:e}=this;e&&!ve(this)?this.show():this.hide()});d(this,"handleTouch",({target:e})=>{const{tooltip:n,element:o}=this;n&&n.contains(e)||e===o||e&&o.contains(e)||this.hide()});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{element:o,options:i,btn:c}=this,{trigger:a}=i,r=!!(this.name!==Bt&&i.dismissible);a.includes("manual")||(this.enabled=!!e,a.split(" ").forEach(p=>{p===Wo?(n(o,Rs,this.handleShow),n(o,De,this.handleShow),r||(n(o,Ze,this.handleHide),n(E(o),Ge,this.handleTouch,tt))):p===N?n(o,p,r?this.handleShow:this.toggle):p===qe&&(n(o,Qe,this.handleShow),r||n(o,Bs,this.handleHide),qo&&n(o,N,this.handleFocus)),r&&c&&n(c,N,this.handleHide)}))});const{element:o}=this,i=this.name===Bt,c=i?ut:_t,a=i?Bt:Ke;lo=r=>F(r,a),this.enabled=!0,this.id=`${c}-${Zs(o,c)}`;const{options:l}=this;!l.title&&i||!i&&!l.content||(dt(Ps,{titleAttr:""}),Ne(o,ro)&&i&&typeof l.title=="string"&&uo(this,l.title),this.container=hc(o),this.offsetParent=["sticky","fixed"].some(r=>z(this.container,"position")===r)?this.container:E(this.element).body,dc(this),this._toggleEventListeners(!0))}get name(){return Bt}get defaults(){return Ps}show(){const{options:e,tooltip:n,element:o,container:i,offsetParent:c,id:a}=this,{animation:l}=e,r=u.get(o,"out"),g=i===c?i:c;u.clear(o,"out"),n&&!r&&!ve(this)&&u.set(o,()=>{const p=$(`show.bs.${Vt(this.name)}`);w(o,p),p.defaultPrevented||(On(n,g),O(o,it,`#${a}`),this.update(),po(this,!0),h(n,m)||f(n,m),l?P(n,()=>fo(this)):fo(this))},17,"in")}hide(){const{options:e,tooltip:n,element:o}=this,{animation:i,delay:c}=e;u.clear(o,"in"),n&&ve(this)&&u.set(o,()=>{const a=$(`hide.bs.${Vt(this.name)}`);w(o,a),a.defaultPrevented||(this.update(),b(n,m),po(this),i?P(n,()=>go(this)):go(this))},c+17,"out")}enable(){const{enabled:e}=this;e||(this._toggleEventListeners(!0),this.enabled=!e)}disable(){const{tooltip:e,options:n,enabled:o}=this,{animation:i}=n;o&&(e&&ve(this)&&i?(this.hide(),P(e,()=>this._toggleEventListeners())):this._toggleEventListeners(),this.enabled=!o)}toggleEnabled(){this.enabled?this.disable():this.enable()}dispose(){const{tooltip:e,options:n}=this,o={...this,name:this.name},i=()=>setTimeout(()=>uc(o,()=>super.dispose()),17);n.animation&&ve(o)?(this.options.delay=0,this.hide(),P(e,i)):i()}}d(St,"selector",fc),d(St,"init",gc),d(St,"getInstance",lo),d(St,"styleTip",Hs);const mc=`[${rt}="${_t}"],[data-tip="${_t}"]`,vc=dt({},Ps,{template:io(_t),content:"",dismissible:!1,btnClose:''}),bc=t=>F(t,Ke),wc=t=>new Rt(t);class Rt extends St{constructor(e,n){super(e,n);d(this,"show",()=>{super.show();const{options:e,btn:n}=this;e.dismissible&&n&&setTimeout(()=>ht(n),17)})}get name(){return Ke}get defaults(){return vc}}d(Rt,"selector",mc),d(Rt,"init",wc),d(Rt,"getInstance",bc),d(Rt,"styleTip",Hs);const Ec="scrollspy",mo="ScrollSpy",$c='[data-bs-spy="scroll"]',Tc={offset:10,target:null},yc=t=>F(t,mo),Cc=t=>new se(t),vo=$(`activate.bs.${Ec}`),Sc=t=>{const{target:s,scrollTarget:e,options:n,itemsLength:o,scrollHeight:i,element:c}=t,{offset:a}=n,l=ns(e),r=s&&is("A",s),g=e?bo(e):i;if(t.scrollTop=l?e.scrollY:e.scrollTop,r&&(g!==i||o!==r.length)){let p,v,k;t.items=[],t.offsets=[],t.scrollHeight=g,t.maxScroll=t.scrollHeight-Hc(t),[...r].forEach(J=>{p=at(J,"href"),v=p&&p.charAt(0)==="#"&&p.slice(-1)!=="#"&&D(p,E(c)),v&&(t.items.push(J),k=fe(v),t.offsets.push((l?k.top+t.scrollTop:v.offsetTop)-a))}),t.itemsLength=t.items.length}},bo=t=>T(t)?t.scrollHeight:ft(t).scrollHeight,Hc=({element:t,scrollTarget:s})=>ns(s)?s.innerHeight:fe(t).height,wo=t=>{[...is("A",t)].forEach(s=>{h(s,C)&&b(s,C)})},Eo=(t,s)=>{const{target:e,element:n}=t;T(e)&&wo(e),t.activeItem=s,f(s,C);const o=[];let i=s;for(;i!==wt(n);)i=i.parentElement,(h(i,"nav")||h(i,"dropdown-menu"))&&o.push(i);o.forEach(c=>{const a=c.previousElementSibling;a&&!h(a,C)&&f(a,C)}),vo.relatedTarget=s,w(n,vo)};class se extends st{constructor(e,n){super(e,n);d(this,"refresh",()=>{const{target:e}=this;if(T(e)&&e.offsetHeight>0){Sc(this);const{scrollTop:n,maxScroll:o,itemsLength:i,items:c,activeItem:a}=this;if(n>=o){const r=c[i-1];a!==r&&Eo(this,r);return}const{offsets:l}=this;if(a&&n0){this.activeItem=null,e&&wo(e);return}c.forEach((r,g)=>{a!==r&&n>=l[g]&&(typeof l[g+1]>"u"||n{(e?_:B)(this.scrollTarget,Ae,this.refresh,tt)});const{element:o,options:i}=this;this.target=D(i.target,E(o)),this.target&&(this.scrollTarget=o.clientHeightF(t,$o),Pc=t=>new ne(t),Ds=$(`show.bs.${be}`),Co=$(`shown.bs.${be}`),xs=$(`hide.bs.${be}`),So=$(`hidden.bs.${be}`),we=new Map,Ho=t=>{const{tabContent:s,nav:e}=t;s&&h(s,Nt)&&(s.style.height="",b(s,Nt)),e&&u.clear(e)},Po=t=>{const{element:s,tabContent:e,content:n,nav:o}=t,{tab:i}=T(o)&&we.get(o)||{tab:null};if(e&&n&&h(n,W)){const{currentHeight:c,nextHeight:a}=we.get(s)||{currentHeight:0,nextHeight:0};c===a?Ho(t):setTimeout(()=>{e.style.height=`${a}px`,It(e),P(e,()=>Ho(t))},50)}else o&&u.clear(o);Co.relatedTarget=i,w(s,Co)},Do=t=>{const{element:s,content:e,tabContent:n,nav:o}=t,{tab:i,content:c}=o&&we.get(o)||{tab:null,content:null};let a=0;if(n&&e&&h(e,W)&&([c,e].forEach(l=>{T(l)&&f(l,"overflow-hidden")}),a=T(c)?c.scrollHeight:0),Ds.relatedTarget=i,So.relatedTarget=s,w(s,Ds),!Ds.defaultPrevented){if(e&&f(e,C),c&&b(c,C),n&&e&&h(e,W)){const l=e.scrollHeight;we.set(s,{currentHeight:a,nextHeight:l,tab:null,content:null}),f(n,Nt),n.style.height=`${a}px`,It(n),[c,e].forEach(r=>{r&&b(r,"overflow-hidden")})}e&&e&&h(e,W)?setTimeout(()=>{f(e,m),P(e,()=>{Po(t)})},1):(e&&f(e,m),Po(t)),i&&w(i,So)}},xo=t=>{const{nav:s}=t;if(!T(s))return{tab:null,content:null};const e=gt(C,s);let n=null;e.length===1&&!Ot.some(i=>h(e[0].parentElement,i))?[n]=e:e.length>1&&(n=e[e.length-1]);const o=T(n)?V(n):null;return{tab:n,content:o}},Ao=t=>{if(!T(t))return null;const s=M(t,`.${Ot.join(",.")}`);return s?D(`.${Ot[0]}-toggle`,s):null},Dc=t=>{const s=yo(t.target);s&&(t.preventDefault(),s.show())};class ne extends st{constructor(e){super(e);d(this,"_toggleEventListeners",e=>{(e?_:B)(this.element,N,Dc)});const{element:n}=this,o=V(n);if(o){const i=M(n,".nav"),c=M(o,".tab-content");this.nav=i,this.content=o,this.tabContent=c,this.dropdown=Ao(n);const{tab:a}=xo(this);if(i&&!a){const l=D(To,i),r=l&&V(l);r&&(f(l,C),f(r,m),f(r,C),O(n,Ue,"true"))}this._toggleEventListeners(!0)}}get name(){return $o}show(){const{element:e,content:n,nav:o,dropdown:i}=this;if(!(o&&u.get(o))&&!h(e,C)){const{tab:c,content:a}=xo(this);if(o&&we.set(o,{tab:c,content:a,currentHeight:0,nextHeight:0}),xs.relatedTarget=e,T(c)&&(w(c,xs),!xs.defaultPrevented)){f(e,C),O(e,Ue,"true");const l=T(c)&&Ao(c);if(l&&h(l,C)&&b(l,C),o){const r=()=>{c&&(b(c,C),O(c,Ue,"false")),i&&!h(i,C)&&f(i,C)};a&&(h(a,W)||n&&h(n,W))?u.set(o,r,1):r()}a&&(b(a,m),h(a,W)?P(a,()=>Do(this)):Do(this))}}}dispose(){this._toggleEventListeners(),super.dispose()}}d(ne,"selector",To),d(ne,"init",Pc),d(ne,"getInstance",yo);const G="toast",Lo="Toast",xc=`.${G}`,Ac=`[${Me}="${G}"]`,Io=`[${rt}="${G}"]`,oe="showing",ko="hide",Lc={animation:!0,autohide:!0,delay:5e3},As=t=>F(t,Lo),Ic=t=>new ie(t),No=$(`show.bs.${G}`),kc=$(`shown.bs.${G}`),Oo=$(`hide.bs.${G}`),Nc=$(`hidden.bs.${G}`),Mo=t=>{const{element:s,options:e}=t;b(s,oe),u.clear(s,oe),w(s,kc),e.autohide&&u.set(s,()=>t.hide(),e.delay,G)},_o=t=>{const{element:s}=t;b(s,oe),b(s,m),f(s,ko),u.clear(s,G),w(s,Nc)},Oc=t=>{const{element:s,options:e}=t;f(s,oe),e.animation?(It(s),P(s,()=>_o(t))):_o(t)},Mc=t=>{const{element:s,options:e}=t;u.set(s,()=>{b(s,ko),It(s),f(s,m),f(s,oe),e.animation?P(s,()=>Mo(t)):Mo(t)},17,oe)},_c=t=>{u.clear(t.element,G),t._toggleEventListeners()},Bc=t=>{const{target:s}=t,e=s&&M(s,Io),n=e&&V(e),o=n&&As(n);o&&(e&&e.tagName==="A"&&t.preventDefault(),o.relatedTarget=e,o.show())},Rc=t=>{const s=t.target,e=As(s),{type:n,relatedTarget:o}=t;e&&s!==o&&!s.contains(o)&&([De,Qe].includes(n)?u.clear(s,G):u.set(s,()=>e.hide(),e.options.delay,G))};class ie extends st{constructor(e,n){super(e,n);d(this,"show",()=>{const{element:e,isShown:n}=this;e&&!n&&(w(e,No),No.defaultPrevented||Mc(this))});d(this,"hide",()=>{const{element:e,isShown:n}=this;e&&n&&(w(e,Oo),Oo.defaultPrevented||Oc(this))});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{element:o,triggers:i,dismiss:c,options:a,hide:l}=this;c&&n(c,N,l),a.autohide&&[Qe,Bs,De,Ze].forEach(r=>n(o,r,Rc)),i.length&&i.forEach(r=>n(r,N,Bc))});const{element:o,options:i}=this;i.animation&&!h(o,W)?f(o,W):!i.animation&&h(o,W)&&b(o,W),this.dismiss=D(Ac,o),this.triggers=[...et(Io,E(o))].filter(c=>V(c)===o),this._toggleEventListeners(!0)}get name(){return Lo}get defaults(){return Lc}get isShown(){return h(this.element,m)}dispose(){const{element:e,isShown:n}=this;n&&b(e,m),_c(this),super.dispose()}}d(ie,"selector",xc),d(ie,"init",Ic),d(ie,"getInstance",As);const Ls=new Map;[Ut,qt,Qt,Zt,Jt,te,ee,Rt,se,ne,ie,St].forEach(t=>Ls.set(t.prototype.name,t));const Wc=(t,s)=>{[...s].forEach(e=>t(e))},Fc=(t,s)=>{const e=Lt.getAllFor(t);e&&[...e].forEach(([n,o])=>{s.contains(n)&&o.dispose()})},Is=t=>{const s=t&&t.nodeName?t:document,e=[...is("*",s)];Ls.forEach(n=>{const{init:o,selector:i}=n;Wc(o,e.filter(c=>Js(c,i)))})},jc=t=>{const s=t&&t.nodeName?t:document;Ls.forEach(e=>{Fc(e.prototype.name,s)})};return document.body?Is():_(document,"DOMContentLoaded",()=>Is(),{once:!0}),H.Alert=Ut,H.Button=qt,H.Carousel=Qt,H.Collapse=Zt,H.Dropdown=Jt,H.Modal=te,H.Offcanvas=ee,H.Popover=Rt,H.ScrollSpy=se,H.Tab=ne,H.Toast=ie,H.Tooltip=St,H.initCallback=Is,H.removeDataAPI=jc,Object.defineProperty(H,Symbol.toStringTag,{value:"Module"}),H}({}); +var BSN=function(H){"use strict";var Vc=Object.defineProperty;var Kc=(H,it,lt)=>it in H?Vc(H,it,{enumerable:!0,configurable:!0,writable:!0,value:lt}):H[it]=lt;var d=(H,it,lt)=>Kc(H,typeof it!="symbol"?it+"":it,lt);const it="aria-describedby",lt="aria-expanded",Se="aria-hidden",He="aria-modal",_s="aria-pressed",Ue="aria-selected",Bo="DOMContentLoaded",qe="focus",Qe="focusin",Bs="focusout",Pe="keydown",Ro="keyup",N="click",Rs="mousedown",Wo="hover",De="mouseenter",Ze="mouseleave",Fo="pointerdown",jo="pointermove",zo="pointerup",xe="resize",Ae="scroll",Ge="touchstart",Vo="dragstart",Je="ArrowDown",ts="ArrowUp",Ws="ArrowLeft",Fs="ArrowRight",es="Escape",Ko="transitionDuration",Xo="transitionDelay",ss="transitionend",js="transitionProperty",Yo=navigator.userAgentData,Le=Yo,{userAgent:Uo}=navigator,Ie=Uo,zs=/iPhone|iPad|iPod|Android/i;Le?Le.brands.some(t=>zs.test(t.brand)):zs.test(Ie);const Vs=/(iPhone|iPod|iPad)/,qo=Le?Le.brands.some(t=>Vs.test(t.brand)):Vs.test(Ie);Ie&&Ie.includes("Firefox");const{head:ke}=document;["webkitPerspective","perspective"].some(t=>t in ke.style);const Qo=(t,s,e,n)=>{const o=n||!1;t.addEventListener(s,e,o)},Zo=(t,s,e,n)=>{const o=n||!1;t.removeEventListener(s,e,o)},Go=(t,s,e,n)=>{const o=i=>{(i.target===t||i.currentTarget===t)&&(e.apply(t,[i]),Zo(t,s,o,n))};Qo(t,s,o,n)},le=()=>{};(()=>{let t=!1;try{const s=Object.defineProperty({},"passive",{get:()=>(t=!0,t)});Go(document,Bo,le,s)}catch{}return t})(),["webkitTransform","transform"].some(t=>t in ke.style),["webkitAnimation","animation"].some(t=>t in ke.style),["webkitTransition","transition"].some(t=>t in ke.style);const ct=(t,s)=>t.getAttribute(s),Ne=(t,s)=>t.hasAttribute(s),O=(t,s,e)=>t.setAttribute(s,e),At=(t,s)=>t.removeAttribute(s),f=(t,...s)=>{t.classList.add(...s)},b=(t,...s)=>{t.classList.remove(...s)},h=(t,s)=>t.classList.contains(s),de=t=>t!=null&&typeof t=="object"||!1,A=t=>de(t)&&typeof t.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(s=>t.nodeType===s)||!1,T=t=>A(t)&&t.nodeType===1||!1,jt=new Map,Lt={data:jt,set:(t,s,e)=>{T(t)&&(jt.has(s)||jt.set(s,new Map),jt.get(s).set(t,e))},getAllFor:t=>jt.get(t)||null,get:(t,s)=>{if(!T(t)||!s)return null;const e=Lt.getAllFor(s);return t&&e&&e.get(t)||null},remove:(t,s)=>{const e=Lt.getAllFor(s);!e||!T(t)||(e.delete(t),e.size===0&&jt.delete(s))}},F=(t,s)=>Lt.get(t,s),he=t=>typeof t=="string"||!1,ns=t=>de(t)&&t.constructor.name==="Window"||!1,Ks=t=>A(t)&&t.nodeType===9||!1,E=t=>ns(t)?t.document:Ks(t)?t:A(t)?t.ownerDocument:window.document,dt=(t,...s)=>Object.assign(t,...s),vt=t=>{if(!t)return;if(he(t))return E().createElement(t);const{tagName:s}=t,e=vt(s);if(!e)return;const n={...t};return delete n.tagName,dt(e,n)},w=(t,s)=>t.dispatchEvent(s),z=(t,s)=>{const e=getComputedStyle(t),n=s.replace("webkit","Webkit").replace(/([A-Z])/g,"-$1").toLowerCase();return e.getPropertyValue(n)},Jo=t=>{const s=z(t,js),e=z(t,Xo),n=e.includes("ms")?1:1e3,o=s&&s!=="none"?parseFloat(e)*n:0;return Number.isNaN(o)?0:o},zt=t=>{const s=z(t,js),e=z(t,Ko),n=e.includes("ms")?1:1e3,o=s&&s!=="none"?parseFloat(e)*n:0;return Number.isNaN(o)?0:o},P=(t,s)=>{let e=0;const n=new Event(ss),o=zt(t),i=Jo(t);if(o){const c=a=>{a.target===t&&(s.apply(t,[a]),t.removeEventListener(ss,c),e=1)};t.addEventListener(ss,c),setTimeout(()=>{e||w(t,n)},o+i+17)}else s.apply(t,[n])},ht=(t,s)=>t.focus(s),Xs=t=>["true",!0].includes(t)?!0:["false",!1].includes(t)?!1:["null","",null,void 0].includes(t)?null:t!==""&&!Number.isNaN(+t)?+t:t,Oe=t=>Object.entries(t),Vt=t=>t.toLowerCase(),ti=(t,s,e,n)=>{const o={...e},i={...t.dataset},c={...s},a={},l="title";return Oe(i).forEach(([r,g])=>{const p=typeof r=="string"&&r.includes(n)?r.replace(n,"").replace(/[A-Z]/g,v=>Vt(v)):r;a[p]=Xs(g)}),Oe(o).forEach(([r,g])=>{o[r]=Xs(g)}),Oe(s).forEach(([r,g])=>{r in o?c[r]=o[r]:r in a?c[r]=a[r]:c[r]=r===l?ct(t,l):g}),c},Ys=t=>Object.keys(t),$=(t,s)=>{const e=new CustomEvent(t,{cancelable:!0,bubbles:!0});return de(s)&&dt(e,s),e},tt={passive:!0},It=t=>t.offsetHeight,L=(t,s)=>{Oe(s).forEach(([e,n])=>{if(n&&he(e)&&e.includes("--"))t.style.setProperty(e,n);else{const o={};o[e]=n,dt(t.style,o)}})},os=t=>de(t)&&t.constructor.name==="Map"||!1,ei=t=>typeof t=="number"||!1,bt=new Map,u={set:(t,s,e,n)=>{T(t)&&(n&&n.length?(bt.has(t)||bt.set(t,new Map),bt.get(t).set(n,setTimeout(s,e))):bt.set(t,setTimeout(s,e)))},get:(t,s)=>{if(!T(t))return null;const e=bt.get(t);return s&&e&&os(e)?e.get(s)||null:ei(e)?e:null},clear:(t,s)=>{if(!T(t))return;const e=bt.get(t);s&&s.length&&os(e)?(clearTimeout(e.get(s)),e.delete(s),e.size===0&&bt.delete(t)):(clearTimeout(e),bt.delete(t))}},fe=(t,s)=>{const{width:e,height:n,top:o,right:i,bottom:c,left:a}=t.getBoundingClientRect();let l=1,r=1;if(s&&T(t)){const{offsetWidth:g,offsetHeight:p}=t;l=g>0?Math.round(e)/g:1,r=p>0?Math.round(n)/p:1}return{width:e/l,height:n/r,top:o/r,right:i/l,bottom:c/r,left:a/l,x:a/l,y:o/r}},wt=t=>E(t).body,ft=t=>E(t).documentElement,Us=t=>A(t)&&t.constructor.name==="ShadowRoot"||!1,si=t=>t.nodeName==="HTML"?t:T(t)&&t.assignedSlot||A(t)&&t.parentNode||Us(t)&&t.host||ft(t);let qs=0,Qs=0;const Kt=new Map,Zs=(t,s)=>{let e=s?qs:Qs;if(s){const n=Zs(t),o=Kt.get(n)||new Map;Kt.has(n)||Kt.set(n,o),os(o)&&!o.has(s)?(o.set(s,e),qs+=1):e=o.get(s)}else{const n=t.id||t;Kt.has(n)?e=Kt.get(n):(Kt.set(n,e),Qs+=1)}return e},Xt=t=>{var s;return t?Ks(t)?t.defaultView:A(t)?(s=t==null?void 0:t.ownerDocument)==null?void 0:s.defaultView:t:window},ni=t=>Array.isArray(t)||!1,Gs=t=>{if(!A(t))return!1;const{top:s,bottom:e}=fe(t),{clientHeight:n}=ft(t);return s<=n&&e>=0},oi=t=>typeof t=="function"||!1,ii=t=>de(t)&&t.constructor.name==="NodeList"||!1,Et=t=>ft(t).dir==="rtl",ci=t=>A(t)&&["TABLE","TD","TH"].includes(t.nodeName)||!1,M=(t,s)=>t?t.closest(s)||M(t.getRootNode().host,s):null,D=(t,s)=>T(t)?t:(A(s)?s:E()).querySelector(t),is=(t,s)=>(A(s)?s:E()).getElementsByTagName(t),et=(t,s)=>(A(s)?s:E()).querySelectorAll(t),gt=(t,s)=>(s&&A(s)?s:E()).getElementsByClassName(t),Js=(t,s)=>t.matches(s),Yt={},tn=t=>{const{type:s,currentTarget:e}=t;[...Yt[s]].forEach(([n,o])=>{e===n&&[...o].forEach(([i,c])=>{i.apply(n,[t]),typeof c=="object"&&c.once&&B(n,s,i,c)})})},_=(t,s,e,n)=>{Yt[s]||(Yt[s]=new Map);const o=Yt[s];o.has(t)||o.set(t,new Map);const i=o.get(t),{size:c}=i;i.set(e,n),c||t.addEventListener(s,tn,n)},B=(t,s,e,n)=>{const o=Yt[s],i=o&&o.get(t),c=i&&i.get(e),a=c!==void 0?c:n;i&&i.has(e)&&i.delete(e),o&&(!i||!i.size)&&o.delete(t),(!o||!o.size)&&delete Yt[s],(!i||!i.size)&&t.removeEventListener(s,tn,a)},W="fade",m="show",Me="data-bs-dismiss",_e="alert",en="Alert",ai="5.0.14";class st{constructor(s,e){d(this,"_toggleEventListeners",()=>{});const n=D(s);if(!n)throw he(s)?Error(`${this.name} Error: "${s}" is not a valid selector.`):Error(`${this.name} Error: your target is not an instance of HTMLElement.`);const o=Lt.get(n,this.name);o&&o._toggleEventListeners(),this.element=n,this.options=this.defaults&&Ys(this.defaults).length?ti(n,this.defaults,e||{},"bs"):{},Lt.set(n,this.name,this)}get version(){return ai}get name(){return"BaseComponent"}get defaults(){return{}}dispose(){Lt.remove(this.element,this.name),Ys(this).forEach(s=>{delete this[s]})}}const ri=`.${_e}`,li=`[${Me}="${_e}"]`,di=t=>F(t,en),hi=t=>new Ut(t),sn=$(`close.bs.${_e}`),fi=$(`closed.bs.${_e}`),nn=t=>{const{element:s}=t;w(s,fi),t._toggleEventListeners(),t.dispose(),s.remove()};class Ut extends st{constructor(e){super(e);d(this,"dismiss");d(this,"close",()=>{const{element:e}=this;e&&h(e,m)&&(w(e,sn),sn.defaultPrevented||(b(e,m),h(e,W)?P(e,()=>nn(this)):nn(this)))});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{dismiss:o,close:i}=this;o&&n(o,N,i)});this.dismiss=D(li,this.element),this._toggleEventListeners(!0)}get name(){return en}dispose(){this._toggleEventListeners(),super.dispose()}}d(Ut,"selector",ri),d(Ut,"init",hi),d(Ut,"getInstance",di);const C="active",at="data-bs-toggle",gi="button",on="Button",pi=`[${at}="${gi}"]`,ui=t=>F(t,on),mi=t=>new qt(t);class qt extends st{constructor(e){super(e);d(this,"isActive",!1);d(this,"toggle",e=>{e&&e.preventDefault();const{element:n,isActive:o}=this;!h(n,"disabled")&&!ct(n,"disabled")&&((o?b:f)(n,C),O(n,_s,o?"false":"true"),this.isActive=h(n,C))});d(this,"_toggleEventListeners",e=>{(e?_:B)(this.element,N,this.toggle)});const{element:n}=this;this.isActive=h(n,C),O(n,_s,String(!!this.isActive)),this._toggleEventListeners(!0)}get name(){return on}dispose(){this._toggleEventListeners(),super.dispose()}}d(qt,"selector",pi),d(qt,"init",mi),d(qt,"getInstance",ui);const cs="data-bs-target",kt="carousel",cn="Carousel",an="data-bs-parent",vi="data-bs-container",V=t=>{const s=[cs,an,vi,"href"],e=E(t);return s.map(n=>{const o=ct(t,n);return o?n===an?M(t,o):D(o,e):null}).filter(n=>n)[0]},ge=`[data-bs-ride="${kt}"]`,Q=`${kt}-item`,as="data-bs-slide-to",$t="data-bs-slide",Tt="paused",rn={pause:"hover",keyboard:!1,touch:!0,interval:5e3},pt=t=>F(t,cn),bi=t=>new Qt(t);let pe=0,Be=0,rs=0;const ls=$(`slide.bs.${kt}`),ds=$(`slid.bs.${kt}`),ln=t=>{const{index:s,direction:e,element:n,slides:o,options:i}=t;if(t.isAnimating){const c=fs(t),a=e==="left"?"next":"prev",l=e==="left"?"start":"end";f(o[s],C),b(o[s],`${Q}-${a}`),b(o[s],`${Q}-${l}`),b(o[c],C),b(o[c],`${Q}-${l}`),w(n,ds),u.clear(n,$t),t.cycle&&!E(n).hidden&&i.interval&&!t.isPaused&&t.cycle()}};function wi(){const t=pt(this);t&&!t.isPaused&&!u.get(this,Tt)&&f(this,Tt)}function Ei(){const t=pt(this);t&&t.isPaused&&!u.get(this,Tt)&&t.cycle()}function $i(t){t.preventDefault();const s=M(this,ge)||V(this),e=pt(s);if(e&&!e.isAnimating){const n=+(ct(this,as)||0);this&&!h(this,C)&&!Number.isNaN(n)&&e.to(n)}}function Ti(t){t.preventDefault();const s=M(this,ge)||V(this),e=pt(s);if(e&&!e.isAnimating){const n=ct(this,$t);n==="next"?e.next():n==="prev"&&e.prev()}}const yi=({code:t,target:s})=>{const e=E(s),[n]=[...et(ge,e)].filter(i=>Gs(i)),o=pt(n);if(o&&!o.isAnimating&&!/textarea|input/i.test(s.nodeName)){const i=Et(n);t===(i?Fs:Ws)?o.prev():t===(i?Ws:Fs)&&o.next()}};function dn(t){const{target:s}=t,e=pt(this);e&&e.isTouch&&(e.indicator&&!e.indicator.contains(s)||!e.controls.includes(s))&&(t.stopImmediatePropagation(),t.stopPropagation(),t.preventDefault())}function Ci(t){const{target:s}=t,e=pt(this);if(e&&!e.isAnimating&&!e.isTouch){const{controls:n,indicators:o}=e;[...n,...o].every(i=>i===s||i.contains(s))||(pe=t.pageX,this.contains(s)&&(e.isTouch=!0,hn(e,!0)))}}const Si=t=>{Be=t.pageX},Hi=t=>{var o;const{target:s}=t,e=E(s),n=[...et(ge,e)].map(i=>pt(i)).find(i=>i.isTouch);if(n){const{element:i,index:c}=n,a=Et(i);rs=t.pageX,n.isTouch=!1,hn(n),!((o=e.getSelection())!=null&&o.toString().length)&&i.contains(s)&&Math.abs(pe-rs)>120&&(Bepe&&n.to(c+(a?1:-1))),pe=0,Be=0,rs=0}},hs=(t,s)=>{const{indicators:e}=t;[...e].forEach(n=>b(n,C)),t.indicators[s]&&f(e[s],C)},hn=(t,s)=>{const{element:e}=t,n=s?_:B;n(E(e),jo,Si,tt),n(E(e),zo,Hi,tt)},fs=t=>{const{slides:s,element:e}=t,n=D(`.${Q}.${C}`,e);return T(n)?[...s].indexOf(n):-1};class Qt extends st{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const{element:n,options:o,slides:i,controls:c,indicators:a}=this,{touch:l,pause:r,interval:g,keyboard:p}=o,v=e?_:B;r&&g&&(v(n,De,wi),v(n,Ze,Ei)),l&&i.length>2&&(v(n,Fo,Ci,tt),v(n,Ge,dn,{passive:!1}),v(n,Vo,dn,{passive:!1})),c.length&&c.forEach(k=>{k&&v(k,N,Ti)}),a.length&&a.forEach(k=>{v(k,N,$i)}),p&&v(E(n),Pe,yi)});const{element:o}=this;this.direction=Et(o)?"right":"left",this.isTouch=!1,this.slides=gt(Q,o);const{slides:i}=this;if(i.length>=2){const c=fs(this),a=[...i].find(g=>Js(g,`.${Q}-next,.${Q}-next`));this.index=c;const l=E(o);this.controls=[...et(`[${$t}]`,o),...et(`[${$t}][${cs}="#${o.id}"]`,l)].filter((g,p,v)=>p===v.indexOf(g)),this.indicator=D(`.${kt}-indicators`,o),this.indicators=[...this.indicator?et(`[${as}]`,this.indicator):[],...et(`[${as}][${cs}="#${o.id}"]`,l)].filter((g,p,v)=>p===v.indexOf(g));const{options:r}=this;this.options.interval=r.interval===!0?rn.interval:r.interval,a?this.index=[...i].indexOf(a):c<0&&(this.index=0,f(i[0],C),this.indicators.length&&hs(this,0)),this.indicators.length&&hs(this,this.index),this._toggleEventListeners(!0),r.interval&&this.cycle()}}get name(){return cn}get defaults(){return rn}get isPaused(){return h(this.element,Tt)}get isAnimating(){return D(`.${Q}-next,.${Q}-prev`,this.element)!==null}cycle(){const{element:e,options:n,isPaused:o,index:i}=this;u.clear(e,kt),o&&(u.clear(e,Tt),b(e,Tt)),u.set(e,()=>{this.element&&!this.isPaused&&!this.isTouch&&Gs(e)&&this.to(i+1)},n.interval,kt)}pause(){const{element:e,options:n}=this;!this.isPaused&&n.interval&&(f(e,Tt),u.set(e,()=>{},1,Tt))}next(){this.isAnimating||this.to(this.index+1)}prev(){this.isAnimating||this.to(this.index-1)}to(e){const{element:n,slides:o,options:i}=this,c=fs(this),a=Et(n);let l=e;if(!this.isAnimating&&c!==l&&!u.get(n,$t)){cl||c===o.length-1&&l===0)&&(this.direction=a?"left":"right");const{direction:r}=this;l<0?l=o.length-1:l>=o.length&&(l=0);const g=r==="left"?"next":"prev",p=r==="left"?"start":"end",v={relatedTarget:o[l],from:c,to:l,direction:r};dt(ls,v),dt(ds,v),w(n,ls),ls.defaultPrevented||(this.index=l,hs(this,l),zt(o[l])&&h(n,"slide")?u.set(n,()=>{f(o[l],`${Q}-${g}`),It(o[l]),f(o[l],`${Q}-${p}`),f(o[c],`${Q}-${p}`),P(o[l],()=>this.slides&&this.slides.length&&ln(this))},0,$t):(f(o[l],C),b(o[c],C),u.set(n,()=>{u.clear(n,$t),n&&i.interval&&!this.isPaused&&this.cycle(),w(n,ds)},0,$t)))}}dispose(){const{isAnimating:e}=this,n={...this,isAnimating:e};this._toggleEventListeners(),super.dispose(),n.isAnimating&&P(n.slides[n.index],()=>{ln(n)})}}d(Qt,"selector",ge),d(Qt,"init",bi),d(Qt,"getInstance",pt);const Nt="collapsing",K="collapse",fn="Collapse",Pi=`.${K}`,gn=`[${at}="${K}"]`,Di={parent:null},Re=t=>F(t,fn),xi=t=>new Zt(t),pn=$(`show.bs.${K}`),Ai=$(`shown.bs.${K}`),un=$(`hide.bs.${K}`),Li=$(`hidden.bs.${K}`),Ii=t=>{const{element:s,parent:e,triggers:n}=t;w(s,pn),pn.defaultPrevented||(u.set(s,le,17),e&&u.set(e,le,17),f(s,Nt),b(s,K),L(s,{height:`${s.scrollHeight}px`}),P(s,()=>{u.clear(s),e&&u.clear(e),n.forEach(o=>O(o,lt,"true")),b(s,Nt),f(s,K),f(s,m),L(s,{height:""}),w(s,Ai)}))},mn=t=>{const{element:s,parent:e,triggers:n}=t;w(s,un),un.defaultPrevented||(u.set(s,le,17),e&&u.set(e,le,17),L(s,{height:`${s.scrollHeight}px`}),b(s,K),b(s,m),f(s,Nt),It(s),L(s,{height:"0px"}),P(s,()=>{u.clear(s),e&&u.clear(e),n.forEach(o=>O(o,lt,"false")),b(s,Nt),f(s,K),L(s,{height:""}),w(s,Li)}))},ki=t=>{const{target:s}=t,e=s&&M(s,gn),n=e&&V(e),o=n&&Re(n);o&&o.toggle(),e&&e.tagName==="A"&&t.preventDefault()};class Zt extends st{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const n=e?_:B,{triggers:o}=this;o.length&&o.forEach(i=>n(i,N,ki))});const{element:o,options:i}=this,c=E(o);this.triggers=[...et(gn,c)].filter(a=>V(a)===o),this.parent=T(i.parent)?i.parent:he(i.parent)?V(o)||D(i.parent,c):null,this._toggleEventListeners(!0)}get name(){return fn}get defaults(){return Di}hide(){const{triggers:e,element:n}=this;u.get(n)||(mn(this),e.length&&e.forEach(o=>f(o,`${K}d`)))}show(){const{element:e,parent:n,triggers:o}=this;let i,c;n&&(i=[...et(`.${K}.${m}`,n)].find(a=>Re(a)),c=i&&Re(i)),(!n||!u.get(n))&&!u.get(e)&&(c&&i!==e&&(mn(c),c.triggers.forEach(a=>{f(a,`${K}d`)})),Ii(this),o.length&&o.forEach(a=>b(a,`${K}d`)))}toggle(){h(this.element,m)?this.hide():this.show()}dispose(){this._toggleEventListeners(),super.dispose()}}d(Zt,"selector",Pi),d(Zt,"init",xi),d(Zt,"getInstance",Re);const Ot=["dropdown","dropup","dropstart","dropend"],vn="Dropdown",bn="dropdown-menu",wn=t=>{const s=M(t,"A");return t.tagName==="A"&&Ne(t,"href")&&ct(t,"href").slice(-1)==="#"||s&&Ne(s,"href")&&ct(s,"href").slice(-1)==="#"},[nt,gs,ps,us]=Ot,En=`[${at}="${nt}"]`,Gt=t=>F(t,vn),Ni=t=>new Jt(t),Oi=`${bn}-end`,$n=[nt,gs],Tn=[ps,us],yn=["A","BUTTON"],Mi={offset:5,display:"dynamic"},ms=$(`show.bs.${nt}`),Cn=$(`shown.bs.${nt}`),vs=$(`hide.bs.${nt}`),Sn=$(`hidden.bs.${nt}`),Hn=$(`updated.bs.${nt}`),Pn=t=>{const{element:s,menu:e,parentElement:n,options:o}=t,{offset:i}=o;if(z(e,"position")!=="static"){const c=Et(s),a=h(e,Oi);["margin","top","bottom","left","right"].forEach(R=>{const Pt={};Pt[R]="",L(e,Pt)});let r=Ot.find(R=>h(n,R))||nt;const g={dropdown:[i,0,0],dropup:[0,0,i],dropstart:c?[-1,0,0,i]:[-1,i,0],dropend:c?[-1,i,0]:[-1,0,0,i]},p={dropdown:{top:"100%"},dropup:{top:"auto",bottom:"100%"},dropstart:c?{left:"100%",right:"auto"}:{left:"auto",right:"100%"},dropend:c?{left:"auto",right:"100%"}:{left:"100%",right:"auto"},menuStart:c?{right:"0",left:"auto"}:{right:"auto",left:"0"},menuEnd:c?{right:"auto",left:"0"}:{right:"0",left:"auto"}},{offsetWidth:v,offsetHeight:k}=e,{clientWidth:J,clientHeight:y}=ft(s),{left:X,top:q,width:ce,height:mt}=fe(s),S=X-v-i<0,ot=X+v+ce+i>=J,rt=q+k+i>=y,j=q+k+mt+i>=y,Y=q-k-i<0,x=(!c&&a||c&&!a)&&X+ce-v<0,ae=(c&&a||!c&&!a)&&X+v>=J;if(Tn.includes(r)&&S&&ot&&(r=nt),r===ps&&(c?ot:S)&&(r=us),r===us&&(c?S:ot)&&(r=ps),r===gs&&Y&&!j&&(r=nt),r===nt&&j&&!Y&&(r=gs),Tn.includes(r)&&rt&&dt(p[r],{top:"auto",bottom:0}),$n.includes(r)&&(x||ae)){let R={left:"auto",right:"auto"};!x&&ae&&!c&&(R={left:"auto",right:0}),x&&!ae&&c&&(R={left:0,right:"auto"}),R&&dt(p[r],R)}const Ht=g[r];L(e,{...p[r],margin:`${Ht.map(R=>R&&`${R}px`).join(" ")}`}),$n.includes(r)&&a&&a&&L(e,p[!c&&x||c&&ae?"menuStart":"menuEnd"]),w(n,Hn)}},_i=t=>[...t.children].map(s=>{if(s&&yn.includes(s.tagName))return s;const{firstElementChild:e}=s;return e&&yn.includes(e.tagName)?e:null}).filter(s=>s),Dn=t=>{const{element:s,options:e}=t,n=t.open?_:B,o=E(s);n(o,N,xn),n(o,qe,xn),n(o,Pe,Ri),n(o,Ro,Wi),e.display==="dynamic"&&[Ae,xe].forEach(i=>{n(Xt(s),i,Fi,tt)})},We=t=>{const s=[...Ot,"btn-group","input-group"].map(e=>gt(`${e} ${m}`,E(t))).find(e=>e.length);if(s&&s.length)return[...s[0].children].find(e=>Ot.some(n=>n===ct(e,at)))},xn=t=>{const{target:s,type:e}=t;if(s&&T(s)){const n=We(s),o=n&&Gt(n);if(o){const{parentElement:i,menu:c}=o,a=i&&i.contains(s)&&(s.tagName==="form"||M(s,"form")!==null);[N,Rs].includes(e)&&wn(s)&&t.preventDefault(),!a&&e!==qe&&s!==n&&s!==c&&o.hide()}}},Bi=t=>{const{target:s}=t,e=s&&M(s,En),n=e&&Gt(e);n&&(t.stopPropagation(),n.toggle(),e&&wn(e)&&t.preventDefault())},Ri=t=>{[Je,ts].includes(t.code)&&t.preventDefault()};function Wi(t){const{code:s}=t,e=We(this),n=e&&Gt(e),{activeElement:o}=e&&E(e);if(n&&o){const{menu:i,open:c}=n,a=_i(i);if(a&&a.length&&[Je,ts].includes(s)){let l=a.indexOf(o);o===e?l=0:s===ts?l=l>1?l-1:0:s===Je&&(l=l{(e?_:B)(this.element,N,Bi)});const{parentElement:o}=this.element,[i]=gt(bn,o);i&&(this.parentElement=o,this.menu=i,this._toggleEventListeners(!0))}get name(){return vn}get defaults(){return Mi}toggle(){this.open?this.hide():this.show()}show(){const{element:e,open:n,menu:o,parentElement:i}=this;if(!n){const c=We(e),a=c&&Gt(c);a&&a.hide(),[ms,Cn,Hn].forEach(l=>{l.relatedTarget=e}),w(i,ms),ms.defaultPrevented||(f(o,m),f(i,m),O(e,lt,"true"),Pn(this),this.open=!n,ht(e),Dn(this),w(i,Cn))}}hide(){const{element:e,open:n,menu:o,parentElement:i}=this;n&&([vs,Sn].forEach(c=>{c.relatedTarget=e}),w(i,vs),vs.defaultPrevented||(b(o,m),b(i,m),O(e,lt,"false"),this.open=!n,Dn(this),w(i,Sn)))}dispose(){this.open&&this.hide(),this._toggleEventListeners(),super.dispose()}}d(Jt,"selector",En),d(Jt,"init",Ni),d(Jt,"getInstance",Gt);const U="modal",bs="Modal",ws="Offcanvas",ji="fixed-top",zi="fixed-bottom",An="sticky-top",Ln="position-sticky",In=t=>[...gt(ji,t),...gt(zi,t),...gt(An,t),...gt(Ln,t),...gt("is-fixed",t)],Vi=t=>{const s=wt(t);L(s,{paddingRight:"",overflow:""});const e=In(s);e.length&&e.forEach(n=>{L(n,{paddingRight:"",marginRight:""})})},kn=t=>{const{clientWidth:s}=ft(t),{innerWidth:e}=Xt(t);return Math.abs(e-s)},Nn=(t,s)=>{const e=wt(t),n=parseInt(z(e,"paddingRight"),10),i=z(e,"overflow")==="hidden"&&n?0:kn(t),c=In(e);s&&(L(e,{overflow:"hidden",paddingRight:`${n+i}px`}),c.length&&c.forEach(a=>{const l=z(a,"paddingRight");if(a.style.paddingRight=`${parseInt(l,10)+i}px`,[An,Ln].some(r=>h(a,r))){const r=z(a,"marginRight");a.style.marginRight=`${parseInt(r,10)-i}px`}}))},Z="offcanvas",yt=vt({tagName:"div",className:"popup-container"}),On=(t,s)=>{const e=A(s)&&s.nodeName==="BODY",n=A(s)&&!e?s:yt,o=e?s:wt(t);A(t)&&(n===yt&&o.append(yt),n.append(t))},Mn=(t,s)=>{const e=A(s)&&s.nodeName==="BODY",n=A(s)&&!e?s:yt;A(t)&&(t.remove(),n===yt&&!yt.children.length&&yt.remove())},Es=(t,s)=>{const e=A(s)&&s.nodeName!=="BODY"?s:yt;return A(t)&&e.contains(t)},_n="backdrop",Bn=`${U}-${_n}`,Rn=`${Z}-${_n}`,Wn=`.${U}.${m}`,$s=`.${Z}.${m}`,I=vt("div"),Mt=t=>D(`${Wn},${$s}`,E(t)),Ts=t=>{const s=t?Bn:Rn;[Bn,Rn].forEach(e=>{b(I,e)}),f(I,s)},Fn=(t,s,e)=>{Ts(e),On(I,wt(t)),s&&f(I,W)},jn=()=>{h(I,m)||(f(I,m),It(I))},Fe=()=>{b(I,m)},zn=t=>{Mt(t)||(b(I,W),Mn(I,wt(t)),Vi(t))},Vn=t=>T(t)&&z(t,"visibility")!=="hidden"&&t.offsetParent!==null,Ki=`.${U}`,Kn=`[${at}="${U}"]`,Xi=`[${Me}="${U}"]`,Xn=`${U}-static`,Yi={backdrop:!0,keyboard:!0},ue=t=>F(t,bs),Ui=t=>new te(t),je=$(`show.bs.${U}`),Yn=$(`shown.bs.${U}`),ys=$(`hide.bs.${U}`),Un=$(`hidden.bs.${U}`),qn=t=>{const{element:s}=t,e=kn(s),{clientHeight:n,scrollHeight:o}=ft(s),{clientHeight:i,scrollHeight:c}=s,a=i!==c;if(!a&&e){const l=Et(s)?"paddingLeft":"paddingRight",r={};r[l]=`${e}px`,L(s,r)}Nn(s,a||n!==o)},Qn=(t,s)=>{const e=s?_:B,{element:n,update:o}=t;e(n,N,Zi),e(Xt(n),xe,o,tt),e(E(n),Pe,Qi)},Zn=t=>{const{triggers:s,element:e,relatedTarget:n}=t;zn(e),L(e,{paddingRight:"",display:""}),Qn(t);const o=je.relatedTarget||s.find(Vn);o&&ht(o),Un.relatedTarget=n,w(e,Un)},Gn=t=>{const{element:s,relatedTarget:e}=t;ht(s),Qn(t,!0),Yn.relatedTarget=e,w(s,Yn)},Jn=t=>{const{element:s,hasFade:e}=t;L(s,{display:"block"}),qn(t),Mt(s)||L(wt(s),{overflow:"hidden"}),f(s,m),At(s,Se),O(s,He,"true"),e?P(s,()=>Gn(t)):Gn(t)},to=t=>{const{element:s,options:e,hasFade:n}=t;e.backdrop&&n&&h(I,m)&&!Mt(s)?(Fe(),P(I,()=>Zn(t))):Zn(t)},qi=t=>{const{target:s}=t,e=s&&M(s,Kn),n=e&&V(e),o=n&&ue(n);o&&(e&&e.tagName==="A"&&t.preventDefault(),o.relatedTarget=e,o.toggle())},Qi=({code:t,target:s})=>{const e=D(Wn,E(s)),n=e&&ue(e);if(n){const{options:o}=n;o.keyboard&&t===es&&h(e,m)&&(n.relatedTarget=null,n.hide())}},Zi=t=>{var n,o;const{currentTarget:s}=t,e=s?ue(s):null;if(e&&s&&!u.get(s)){const{options:i,isStatic:c,modalDialog:a}=e,{backdrop:l}=i,{target:r}=t,g=(o=(n=E(s))==null?void 0:n.getSelection())==null?void 0:o.toString().length,p=a.contains(r),v=r&&M(r,Xi);c&&!p?u.set(s,()=>{f(s,Xn),P(a,()=>Gi(e))},17):(v||!g&&!c&&!p&&l)&&(e.relatedTarget=v||null,e.hide(),t.preventDefault())}},Gi=t=>{const{element:s,modalDialog:e}=t,n=(zt(e)||0)+17;b(s,Xn),u.set(s,()=>u.clear(s),n)};class te extends st{constructor(e,n){super(e,n);d(this,"update",()=>{h(this.element,m)&&qn(this)});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{triggers:o}=this;o.length&&o.forEach(i=>n(i,N,qi))});const{element:o}=this,i=D(`.${U}-dialog`,o);i&&(this.modalDialog=i,this.triggers=[...et(Kn,E(o))].filter(c=>V(c)===o),this.isStatic=this.options.backdrop==="static",this.hasFade=h(o,W),this.relatedTarget=null,this._toggleEventListeners(!0))}get name(){return bs}get defaults(){return Yi}toggle(){h(this.element,m)?this.hide():this.show()}show(){const{element:e,options:n,hasFade:o,relatedTarget:i}=this,{backdrop:c}=n;let a=0;if(!h(e,m)&&(je.relatedTarget=i||void 0,w(e,je),!je.defaultPrevented)){const l=Mt(e);if(l&&l!==e){const r=ue(l)||F(l,ws);r&&r.hide()}c?(Es(I)?Ts(!0):Fn(e,o,!0),a=zt(I),jn(),setTimeout(()=>Jn(this),a)):(Jn(this),l&&h(I,m)&&Fe())}}hide(){const{element:e,hasFade:n,relatedTarget:o}=this;h(e,m)&&(ys.relatedTarget=o||void 0,w(e,ys),ys.defaultPrevented||(b(e,m),O(e,Se,"true"),At(e,He),n?P(e,()=>to(this)):to(this)))}dispose(){const e={...this},{element:n,modalDialog:o}=e,i=()=>super.dispose();this._toggleEventListeners(),this.hide(),h(n,"fade")?P(o,i):i()}}d(te,"selector",Ki),d(te,"init",Ui),d(te,"getInstance",ue);const Ji=`.${Z}`,Cs=`[${at}="${Z}"]`,tc=`[${Me}="${Z}"]`,ze=`${Z}-toggling`,ec={backdrop:!0,keyboard:!0,scroll:!1},me=t=>F(t,ws),sc=t=>new ee(t),Ve=$(`show.bs.${Z}`),eo=$(`shown.bs.${Z}`),Ss=$(`hide.bs.${Z}`),so=$(`hidden.bs.${Z}`),nc=t=>{const{element:s}=t,{clientHeight:e,scrollHeight:n}=ft(s);Nn(s,e!==n)},no=(t,s)=>{const e=s?_:B,n=E(t.element);e(n,Pe,ac),e(n,N,cc)},oo=t=>{const{element:s,options:e}=t;e.scroll||(nc(t),L(wt(s),{overflow:"hidden"})),f(s,ze),f(s,m),L(s,{visibility:"visible"}),P(s,()=>rc(t))},oc=t=>{const{element:s,options:e}=t,n=Mt(s);s.blur(),!n&&e.backdrop&&h(I,m)&&Fe(),P(s,()=>lc(t))},ic=t=>{const s=M(t.target,Cs),e=s&&V(s),n=e&&me(e);n&&(n.relatedTarget=s,n.toggle(),s&&s.tagName==="A"&&t.preventDefault())},cc=t=>{const{target:s}=t,e=D($s,E(s)),n=D(tc,e),o=e&&me(e);if(o){const{options:i,triggers:c}=o,{backdrop:a}=i,l=M(s,Cs),r=E(e).getSelection();(!I.contains(s)||a!=="static")&&(!(r&&r.toString().length)&&(!e.contains(s)&&a&&(!l||c.includes(s))||n&&n.contains(s))&&(o.relatedTarget=n&&n.contains(s)?n:null,o.hide()),l&&l.tagName==="A"&&t.preventDefault())}},ac=({code:t,target:s})=>{const e=D($s,E(s)),n=e&&me(e);n&&n.options.keyboard&&t===es&&(n.relatedTarget=null,n.hide())},rc=t=>{const{element:s}=t;b(s,ze),At(s,Se),O(s,He,"true"),O(s,"role","dialog"),w(s,eo),no(t,!0),ht(s)},lc=t=>{const{element:s,triggers:e}=t;O(s,Se,"true"),At(s,He),At(s,"role"),L(s,{visibility:""});const n=Ve.relatedTarget||e.find(Vn);n&&ht(n),zn(s),w(s,so),b(s,ze),Mt(s)||no(t)};class ee extends st{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const n=e?_:B;this.triggers.forEach(o=>n(o,N,ic))});const{element:o}=this;this.triggers=[...et(Cs,E(o))].filter(i=>V(i)===o),this.relatedTarget=null,this._toggleEventListeners(!0)}get name(){return ws}get defaults(){return ec}toggle(){h(this.element,m)?this.hide():this.show()}show(){const{element:e,options:n,relatedTarget:o}=this;let i=0;if(!h(e,m)&&(Ve.relatedTarget=o||void 0,eo.relatedTarget=o||void 0,w(e,Ve),!Ve.defaultPrevented)){const c=Mt(e);if(c&&c!==e){const a=me(c)||F(c,bs);a&&a.hide()}n.backdrop?(Es(I)?Ts():Fn(e,!0),i=zt(I),jn(),setTimeout(()=>oo(this),i)):(oo(this),c&&h(I,m)&&Fe())}}hide(){const{element:e,relatedTarget:n}=this;h(e,m)&&(Ss.relatedTarget=n||void 0,so.relatedTarget=n||void 0,w(e,Ss),Ss.defaultPrevented||(f(e,ze),b(e,m),oc(this)))}dispose(){const e={...this},{element:n,options:o}=e,i=o.backdrop?zt(I):0,c=()=>setTimeout(()=>super.dispose(),i+17);this._toggleEventListeners(),this.hide(),h(n,m)?P(n,c):c()}}d(ee,"selector",Ji),d(ee,"init",sc),d(ee,"getInstance",me);const _t="popover",Ke="Popover",ut="tooltip",io=t=>{const s=t===ut,e=s?`${t}-inner`:`${t}-body`,n=s?"":`

`,o=`
`,i=`
`;return`
${n+o+i}
`},co={top:"top",bottom:"bottom",left:"start",right:"end"},Hs=t=>{const s=/\b(top|bottom|start|end)+/,{element:e,tooltip:n,container:o,options:i,arrow:c}=t;if(n){const a={...co},l=Et(e);L(n,{top:"",left:"",right:"",bottom:""});const r=t.name===Ke,{offsetWidth:g,offsetHeight:p}=n,{clientWidth:v,clientHeight:k,offsetWidth:J}=ft(e);let{placement:y}=i;const{clientWidth:X,offsetWidth:q}=o,mt=z(o,"position")==="fixed",S=Math.abs(mt?X-q:v-J),ot=l&&mt?S:0,rt=v-(l?0:S)-1,{width:j,height:Y,left:x,right:ae,top:Ht}=fe(e,!0),{x:R,y:Pt}={x,y:Ht};L(c,{top:"",left:"",right:"",bottom:""});let Wt=0,Ee="",Dt=0,ks="",re="",Xe="",Ns="";const Ft=c.offsetWidth||0,xt=c.offsetHeight||0,Os=Ft/2;let $e=Ht-p-xt<0,Te=Ht+p+Y+xt>=k,ye=x-g-Ft=rt;const Ye=["left","right"],Ms=["top","bottom"];$e=Ye.includes(y)?Ht+Y/2-p/2-xt<0:$e,Te=Ye.includes(y)?Ht+p/2+Y/2+xt>=k:Te,ye=Ms.includes(y)?x+j/2-g/2=rt:Ce,y=Ye.includes(y)&&ye&&Ce?"top":y,y=y==="top"&&$e?"bottom":y,y=y==="bottom"&&Te?"top":y,y=y==="left"&&ye?"right":y,y=y==="right"&&Ce?"left":y,n.className.includes(y)||(n.className=n.className.replace(s,a[y])),Ye.includes(y)?(y==="left"?Dt=R-g-(r?Ft:0):Dt=R+j+(r?Ft:0),$e&&Te?(Wt=0,Ee=0,re=Ht+Y/2-xt/2):$e?(Wt=Pt,Ee="",re=Y/2-Ft):Te?(Wt=Pt-p+Y,Ee="",re=p-Y/2-Ft):(Wt=Pt-p/2+Y/2,re=p/2-xt/2)):Ms.includes(y)&&(y==="top"?Wt=Pt-p-(r?xt:0):Wt=Pt+Y+(r?xt:0),ye?(Dt=0,Xe=R+j/2-Os):Ce?(Dt="auto",ks=0,Ns=j/2+rt-ae-Os):(Dt=R-g/2+j/2,Xe=g/2-Os)),L(n,{top:`${Wt}px`,bottom:Ee===""?"":`${Ee}px`,left:Dt==="auto"?Dt:`${Dt}px`,right:ks!==""?`${ks}px`:""}),T(c)&&(re!==""&&(c.style.top=`${re}px`),Xe!==""?c.style.left=`${Xe}px`:Ns!==""&&(c.style.right=`${Ns}px`));const zc=$(`updated.bs.${Vt(t.name)}`);w(e,zc)}},Ps={template:io(ut),title:"",customClass:"",trigger:"hover focus",placement:"top",sanitizeFn:void 0,animation:!0,delay:200,container:document.body,content:"",dismissible:!1,btnClose:""},ao="data-original-title",Bt="Tooltip",Ct=(t,s,e)=>{if(he(s)&&s.length){let n=s.trim();oi(e)&&(n=e(n));const i=new DOMParser().parseFromString(n,"text/html");t.append(...i.body.childNodes)}else T(s)?t.append(s):(ii(s)||ni(s)&&s.every(A))&&t.append(...s)},dc=t=>{const s=t.name===Bt,{id:e,element:n,options:o}=t,{title:i,placement:c,template:a,animation:l,customClass:r,sanitizeFn:g,dismissible:p,content:v,btnClose:k}=o,J=s?ut:_t,y={...co};let X=[],q=[];Et(n)&&(y.left="end",y.right="start");const ce=`bs-${J}-${y[c]}`;let mt;if(T(a))mt=a;else{const ot=vt("div");Ct(ot,a,g),mt=ot.firstChild}t.tooltip=T(mt)?mt.cloneNode(!0):void 0;const{tooltip:S}=t;if(S){O(S,"id",e),O(S,"role",ut);const ot=s?`${ut}-inner`:`${_t}-body`,rt=s?null:D(`.${_t}-header`,S),j=D(`.${ot}`,S);t.arrow=D(`.${J}-arrow`,S);const{arrow:Y}=t;if(T(i))X=[i.cloneNode(!0)];else{const x=vt("div");Ct(x,i,g),X=[...x.childNodes]}if(T(v))q=[v.cloneNode(!0)];else{const x=vt("div");Ct(x,v,g),q=[...x.childNodes]}if(p)if(i)if(T(k))X=[...X,k.cloneNode(!0)];else{const x=vt("div");Ct(x,k,g),X=[...X,x.firstChild]}else if(rt&&rt.remove(),T(k))q=[...q,k.cloneNode(!0)];else{const x=vt("div");Ct(x,k,g),q=[...q,x.firstChild]}s?i&&j&&Ct(j,i,g):(i&&rt&&Ct(rt,X,g),v&&j&&Ct(j,q,g),t.btn=D(".btn-close",S)||void 0),f(S,"position-fixed"),f(Y,"position-absolute"),h(S,J)||f(S,J),l&&!h(S,W)&&f(S,W),r&&!h(S,r)&&f(S,r),h(S,ce)||f(S,ce)}},hc=t=>{const s=["HTML","BODY"],e=[];let{parentNode:n}=t;for(;n&&!s.includes(n.nodeName);)n=si(n),Us(n)||ci(n)||e.push(n);return e.find((o,i)=>z(o,"position")!=="relative"&&e.slice(i+1).every(c=>z(c,"position")==="static")?o:null)||E(t).body},fc=`[${at}="${ut}"],[data-tip="${ut}"]`,ro="title";let lo=t=>F(t,Bt);const gc=t=>new St(t),pc=t=>{const{element:s,tooltip:e,container:n,offsetParent:o}=t;At(s,it),Mn(e,n===o?n:o)},ve=t=>{const{tooltip:s,container:e,offsetParent:n}=t;return s&&Es(s,e===n?e:n)},uc=(t,s)=>{const{element:e}=t;t._toggleEventListeners(),Ne(e,ao)&&t.name===Bt&&uo(t),s&&s()},ho=(t,s)=>{const e=s?_:B,{element:n}=t;e(E(n),Ge,t.handleTouch,tt),[Ae,xe].forEach(o=>{e(Xt(n),o,t.update,tt)})},fo=t=>{const{element:s}=t,e=$(`shown.bs.${Vt(t.name)}`);ho(t,!0),w(s,e),u.clear(s,"in")},go=t=>{const{element:s}=t,e=$(`hidden.bs.${Vt(t.name)}`);ho(t),pc(t),w(s,e),u.clear(s,"out")},po=(t,s)=>{const e=s?_:B,{element:n,container:o,offsetParent:i}=t,{offsetHeight:c,scrollHeight:a}=o,l=M(n,`.${U}`),r=M(n,`.${Z}`),g=Xt(n),v=o===i&&c!==a?o:g;e(v,xe,t.update,tt),e(v,Ae,t.update,tt),l&&e(l,`hide.bs.${U}`,t.handleHide),r&&e(r,`hide.bs.${Z}`,t.handleHide)},uo=(t,s)=>{const e=[ao,ro],{element:n}=t;O(n,e[s?0:1],s||ct(n,e[0])||""),At(n,e[s?1:0])};class St extends st{constructor(e,n){super(e,n);d(this,"handleFocus",()=>ht(this.element));d(this,"handleShow",()=>this.show());d(this,"handleHide",()=>this.hide());d(this,"update",()=>{Hs(this)});d(this,"toggle",()=>{const{tooltip:e}=this;e&&!ve(this)?this.show():this.hide()});d(this,"handleTouch",({target:e})=>{const{tooltip:n,element:o}=this;n&&n.contains(e)||e===o||e&&o.contains(e)||this.hide()});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{element:o,options:i,btn:c}=this,{trigger:a}=i,r=!!(this.name!==Bt&&i.dismissible);a.includes("manual")||(this.enabled=!!e,a.split(" ").forEach(p=>{p===Wo?(n(o,Rs,this.handleShow),n(o,De,this.handleShow),r||(n(o,Ze,this.handleHide),n(E(o),Ge,this.handleTouch,tt))):p===N?n(o,p,r?this.handleShow:this.toggle):p===qe&&(n(o,Qe,this.handleShow),r||n(o,Bs,this.handleHide),qo&&n(o,N,this.handleFocus)),r&&c&&n(c,N,this.handleHide)}))});const{element:o}=this,i=this.name===Bt,c=i?ut:_t,a=i?Bt:Ke;lo=r=>F(r,a),this.enabled=!0,this.id=`${c}-${Zs(o,c)}`;const{options:l}=this;!l.title&&i||!i&&!l.content||(dt(Ps,{titleAttr:""}),Ne(o,ro)&&i&&typeof l.title=="string"&&uo(this,l.title),this.container=hc(o),this.offsetParent=["sticky","fixed"].some(r=>z(this.container,"position")===r)?this.container:E(this.element).body,dc(this),this._toggleEventListeners(!0))}get name(){return Bt}get defaults(){return Ps}show(){const{options:e,tooltip:n,element:o,container:i,offsetParent:c,id:a}=this,{animation:l}=e,r=u.get(o,"out"),g=i===c?i:c;u.clear(o,"out"),n&&!r&&!ve(this)&&u.set(o,()=>{const p=$(`show.bs.${Vt(this.name)}`);w(o,p),p.defaultPrevented||(On(n,g),O(o,it,`#${a}`),this.update(),po(this,!0),h(n,m)||f(n,m),l?P(n,()=>fo(this)):fo(this))},17,"in")}hide(){const{options:e,tooltip:n,element:o}=this,{animation:i,delay:c}=e;u.clear(o,"in"),n&&ve(this)&&u.set(o,()=>{const a=$(`hide.bs.${Vt(this.name)}`);w(o,a),a.defaultPrevented||(this.update(),b(n,m),po(this),i?P(n,()=>go(this)):go(this))},c+17,"out")}enable(){const{enabled:e}=this;e||(this._toggleEventListeners(!0),this.enabled=!e)}disable(){const{tooltip:e,options:n,enabled:o}=this,{animation:i}=n;o&&(e&&ve(this)&&i?(this.hide(),P(e,()=>this._toggleEventListeners())):this._toggleEventListeners(),this.enabled=!o)}toggleEnabled(){this.enabled?this.disable():this.enable()}dispose(){const{tooltip:e,options:n}=this,o={...this,name:this.name},i=()=>setTimeout(()=>uc(o,()=>super.dispose()),17);n.animation&&ve(o)?(this.options.delay=0,this.hide(),P(e,i)):i()}}d(St,"selector",fc),d(St,"init",gc),d(St,"getInstance",lo),d(St,"styleTip",Hs);const mc=`[${at}="${_t}"],[data-tip="${_t}"]`,vc=dt({},Ps,{template:io(_t),content:"",dismissible:!1,btnClose:''}),bc=t=>F(t,Ke),wc=t=>new Rt(t);class Rt extends St{constructor(e,n){super(e,n);d(this,"show",()=>{super.show();const{options:e,btn:n}=this;e.dismissible&&n&&setTimeout(()=>ht(n),17)})}get name(){return Ke}get defaults(){return vc}}d(Rt,"selector",mc),d(Rt,"init",wc),d(Rt,"getInstance",bc),d(Rt,"styleTip",Hs);const Ec="scrollspy",mo="ScrollSpy",$c='[data-bs-spy="scroll"]',Tc={offset:10,target:null},yc=t=>F(t,mo),Cc=t=>new se(t),vo=$(`activate.bs.${Ec}`),Sc=t=>{const{target:s,scrollTarget:e,options:n,itemsLength:o,scrollHeight:i,element:c}=t,{offset:a}=n,l=ns(e),r=s&&is("A",s),g=e?bo(e):i;if(t.scrollTop=l?e.scrollY:e.scrollTop,r&&(g!==i||o!==r.length)){let p,v,k;t.items=[],t.offsets=[],t.scrollHeight=g,t.maxScroll=t.scrollHeight-Hc(t),[...r].forEach(J=>{p=ct(J,"href"),v=p&&p.charAt(0)==="#"&&p.slice(-1)!=="#"&&D(p,E(c)),v&&(t.items.push(J),k=fe(v),t.offsets.push((l?k.top+t.scrollTop:v.offsetTop)-a))}),t.itemsLength=t.items.length}},bo=t=>T(t)?t.scrollHeight:ft(t).scrollHeight,Hc=({element:t,scrollTarget:s})=>ns(s)?s.innerHeight:fe(t).height,wo=t=>{[...is("A",t)].forEach(s=>{h(s,C)&&b(s,C)})},Eo=(t,s)=>{const{target:e,element:n}=t;T(e)&&wo(e),t.activeItem=s,f(s,C);const o=[];let i=s;for(;i!==wt(n);)i=i.parentElement,(h(i,"nav")||h(i,"dropdown-menu"))&&o.push(i);o.forEach(c=>{const a=c.previousElementSibling;a&&!h(a,C)&&f(a,C)}),vo.relatedTarget=s,w(n,vo)};class se extends st{constructor(e,n){super(e,n);d(this,"refresh",()=>{const{target:e}=this;if(T(e)&&e.offsetHeight>0){Sc(this);const{scrollTop:n,maxScroll:o,itemsLength:i,items:c,activeItem:a}=this;if(n>=o){const r=c[i-1];a!==r&&Eo(this,r);return}const{offsets:l}=this;if(a&&n0){this.activeItem=null,e&&wo(e);return}c.forEach((r,g)=>{a!==r&&n>=l[g]&&(typeof l[g+1]>"u"||n{(e?_:B)(this.scrollTarget,Ae,this.refresh,tt)});const{element:o,options:i}=this;this.target=D(i.target,E(o)),this.target&&(this.scrollTarget=o.clientHeightF(t,$o),Pc=t=>new ne(t),Ds=$(`show.bs.${be}`),Co=$(`shown.bs.${be}`),xs=$(`hide.bs.${be}`),So=$(`hidden.bs.${be}`),we=new Map,Ho=t=>{const{tabContent:s,nav:e}=t;s&&h(s,Nt)&&(s.style.height="",b(s,Nt)),e&&u.clear(e)},Po=t=>{const{element:s,tabContent:e,content:n,nav:o}=t,{tab:i}=T(o)&&we.get(o)||{tab:null};if(e&&n&&h(n,W)){const{currentHeight:c,nextHeight:a}=we.get(s)||{currentHeight:0,nextHeight:0};c===a?Ho(t):setTimeout(()=>{e.style.height=`${a}px`,It(e),P(e,()=>Ho(t))},50)}else o&&u.clear(o);Co.relatedTarget=i,w(s,Co)},Do=t=>{const{element:s,content:e,tabContent:n,nav:o}=t,{tab:i,content:c}=o&&we.get(o)||{tab:null,content:null};let a=0;if(n&&e&&h(e,W)&&([c,e].forEach(l=>{T(l)&&f(l,"overflow-hidden")}),a=T(c)?c.scrollHeight:0),Ds.relatedTarget=i,So.relatedTarget=s,w(s,Ds),!Ds.defaultPrevented){if(e&&f(e,C),c&&b(c,C),n&&e&&h(e,W)){const l=e.scrollHeight;we.set(s,{currentHeight:a,nextHeight:l,tab:null,content:null}),f(n,Nt),n.style.height=`${a}px`,It(n),[c,e].forEach(r=>{r&&b(r,"overflow-hidden")})}e&&e&&h(e,W)?setTimeout(()=>{f(e,m),P(e,()=>{Po(t)})},1):(e&&f(e,m),Po(t)),i&&w(i,So)}},xo=t=>{const{nav:s}=t;if(!T(s))return{tab:null,content:null};const e=gt(C,s);let n=null;e.length===1&&!Ot.some(i=>h(e[0].parentElement,i))?[n]=e:e.length>1&&(n=e[e.length-1]);const o=T(n)?V(n):null;return{tab:n,content:o}},Ao=t=>{if(!T(t))return null;const s=M(t,`.${Ot.join(",.")}`);return s?D(`.${Ot[0]}-toggle`,s):null},Dc=t=>{const s=yo(t.target);s&&(t.preventDefault(),s.show())};class ne extends st{constructor(e){super(e);d(this,"_toggleEventListeners",e=>{(e?_:B)(this.element,N,Dc)});const{element:n}=this,o=V(n);if(o){const i=M(n,".nav"),c=M(o,".tab-content");this.nav=i,this.content=o,this.tabContent=c,this.dropdown=Ao(n);const{tab:a}=xo(this);if(i&&!a){const l=D(To,i),r=l&&V(l);r&&(f(l,C),f(r,m),f(r,C),O(n,Ue,"true"))}this._toggleEventListeners(!0)}}get name(){return $o}show(){const{element:e,content:n,nav:o,dropdown:i}=this;if(!(o&&u.get(o))&&!h(e,C)){const{tab:c,content:a}=xo(this);if(o&&we.set(o,{tab:c,content:a,currentHeight:0,nextHeight:0}),xs.relatedTarget=e,T(c)&&(w(c,xs),!xs.defaultPrevented)){f(e,C),O(e,Ue,"true");const l=T(c)&&Ao(c);if(l&&h(l,C)&&b(l,C),o){const r=()=>{c&&(b(c,C),O(c,Ue,"false")),i&&!h(i,C)&&f(i,C)};a&&(h(a,W)||n&&h(n,W))?u.set(o,r,1):r()}a&&(b(a,m),h(a,W)?P(a,()=>Do(this)):Do(this))}}}dispose(){this._toggleEventListeners(),super.dispose()}}d(ne,"selector",To),d(ne,"init",Pc),d(ne,"getInstance",yo);const G="toast",Lo="Toast",xc=`.${G}`,Ac=`[${Me}="${G}"]`,Io=`[${at}="${G}"]`,oe="showing",ko="hide",Lc={animation:!0,autohide:!0,delay:5e3},As=t=>F(t,Lo),Ic=t=>new ie(t),No=$(`show.bs.${G}`),kc=$(`shown.bs.${G}`),Oo=$(`hide.bs.${G}`),Nc=$(`hidden.bs.${G}`),Mo=t=>{const{element:s,options:e}=t;b(s,oe),u.clear(s,oe),w(s,kc),e.autohide&&u.set(s,()=>t.hide(),e.delay,G)},_o=t=>{const{element:s}=t;b(s,oe),b(s,m),f(s,ko),u.clear(s,G),w(s,Nc)},Oc=t=>{const{element:s,options:e}=t;f(s,oe),e.animation?(It(s),P(s,()=>_o(t))):_o(t)},Mc=t=>{const{element:s,options:e}=t;u.set(s,()=>{b(s,ko),It(s),f(s,m),f(s,oe),e.animation?P(s,()=>Mo(t)):Mo(t)},17,oe)},_c=t=>{u.clear(t.element,G),t._toggleEventListeners()},Bc=t=>{const{target:s}=t,e=s&&M(s,Io),n=e&&V(e),o=n&&As(n);o&&(e&&e.tagName==="A"&&t.preventDefault(),o.relatedTarget=e,o.show())},Rc=t=>{const s=t.target,e=As(s),{type:n,relatedTarget:o}=t;e&&s!==o&&!s.contains(o)&&([De,Qe].includes(n)?u.clear(s,G):u.set(s,()=>e.hide(),e.options.delay,G))};class ie extends st{constructor(e,n){super(e,n);d(this,"show",()=>{const{element:e,isShown:n}=this;e&&!n&&(w(e,No),No.defaultPrevented||Mc(this))});d(this,"hide",()=>{const{element:e,isShown:n}=this;e&&n&&(w(e,Oo),Oo.defaultPrevented||Oc(this))});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{element:o,triggers:i,dismiss:c,options:a,hide:l}=this;c&&n(c,N,l),a.autohide&&[Qe,Bs,De,Ze].forEach(r=>n(o,r,Rc)),i.length&&i.forEach(r=>n(r,N,Bc))});const{element:o,options:i}=this;i.animation&&!h(o,W)?f(o,W):!i.animation&&h(o,W)&&b(o,W),this.dismiss=D(Ac,o),this.triggers=[...et(Io,E(o))].filter(c=>V(c)===o),this._toggleEventListeners(!0)}get name(){return Lo}get defaults(){return Lc}get isShown(){return h(this.element,m)}dispose(){const{element:e,isShown:n}=this;n&&b(e,m),_c(this),super.dispose()}}d(ie,"selector",xc),d(ie,"init",Ic),d(ie,"getInstance",As);const Ls=new Map;[Ut,qt,Qt,Zt,Jt,te,ee,Rt,se,ne,ie,St].forEach(t=>Ls.set(t.prototype.name,t));const Wc=(t,s)=>{[...s].forEach(e=>t(e))},Fc=(t,s)=>{const e=Lt.getAllFor(t);e&&[...e].forEach(([n,o])=>{s.contains(n)&&o.dispose()})},Is=t=>{const s=t&&t.nodeName?t:document,e=[...is("*",s)];Ls.forEach(n=>{const{init:o,selector:i}=n;Wc(o,e.filter(c=>Js(c,i)))})},jc=t=>{const s=t&&t.nodeName?t:document;Ls.forEach(e=>{Fc(e.prototype.name,s)})};return document.body?Is():_(document,"DOMContentLoaded",()=>Is(),{once:!0}),H.Alert=Ut,H.Button=qt,H.Carousel=Qt,H.Collapse=Zt,H.Dropdown=Jt,H.Modal=te,H.Offcanvas=ee,H.Popover=Rt,H.ScrollSpy=se,H.Tab=ne,H.Toast=ie,H.Tooltip=St,H.initCallback=Is,H.removeDataAPI=jc,Object.defineProperty(H,Symbol.toStringTag,{value:"Module"}),H}({}); //# sourceMappingURL=bootstrap-native.js.map diff --git a/docs/assets/js/bootstrap-native.js.map b/docs/assets/js/bootstrap-native.js.map index 81390f0f..0e4460d0 100644 --- a/docs/assets/js/bootstrap-native.js.map +++ b/docs/assets/js/bootstrap-native.js.map @@ -1 +1 @@ -{"version":3,"file":"bootstrap-native.js","sources":["../node_modules/.pnpm/@thednp+shorty@2.0.0/node_modules/@thednp/shorty/dist/shorty.mjs","../node_modules/.pnpm/@thednp+event-listener@2.0.4/node_modules/@thednp/event-listener/dist/event-listener.mjs","../src/strings/fadeClass.ts","../src/strings/showClass.ts","../src/strings/dataBsDismiss.ts","../src/strings/alertString.ts","../src/strings/alertComponent.ts","../src/version.ts","../src/components/base-component.ts","../src/components/alert.ts","../src/strings/activeClass.ts","../src/strings/dataBsToggle.ts","../src/strings/buttonString.ts","../src/strings/buttonComponent.ts","../src/components/button.ts","../src/strings/dataBsTarget.ts","../src/strings/carouselString.ts","../src/strings/carouselComponent.ts","../src/strings/dataBsParent.ts","../src/strings/dataBsContainer.ts","../src/util/getTargetElement.ts","../src/components/carousel.ts","../src/strings/collapsingClass.ts","../src/strings/collapseString.ts","../src/strings/collapseComponent.ts","../src/components/collapse.ts","../src/strings/dropdownClasses.ts","../src/strings/dropdownComponent.ts","../src/strings/dropdownMenuClass.ts","../src/util/isEmptyAnchor.ts","../src/components/dropdown.ts","../src/strings/modalString.ts","../src/strings/modalComponent.ts","../src/strings/offcanvasComponent.ts","../src/strings/fixedTopClass.ts","../src/strings/fixedBottomClass.ts","../src/strings/stickyTopClass.ts","../src/strings/positionStickyClass.ts","../src/util/scrollbar.ts","../src/strings/offcanvasString.ts","../src/util/popupContainer.ts","../src/util/backdrop.ts","../src/util/isVisible.ts","../src/components/modal.ts","../src/components/offcanvas.ts","../src/strings/popoverString.ts","../src/strings/popoverComponent.ts","../src/strings/tooltipString.ts","../src/util/getTipTemplate.ts","../src/util/tipClassPositions.ts","../src/util/styleTip.ts","../src/util/tooltipDefaults.ts","../src/strings/dataOriginalTitle.ts","../src/strings/tooltipComponent.ts","../src/util/setHtml.ts","../src/util/createTip.ts","../src/util/getElementContainer.ts","../src/components/tooltip.ts","../src/components/popover.ts","../src/strings/scrollspyString.ts","../src/strings/scrollspyComponent.ts","../src/components/scrollspy.ts","../src/strings/tabString.ts","../src/strings/tabComponent.ts","../src/components/tab.ts","../src/strings/toastString.ts","../src/strings/toastComponent.ts","../src/components/toast.ts","../src/util/init.ts"],"sourcesContent":["const pe = \"aria-checked\", me = \"aria-description\", fe = \"aria-describedby\", ge = \"aria-expanded\", ve = \"aria-haspopup\", Ee = \"aria-hidden\", be = \"aria-label\", he = \"aria-labelledby\", ye = \"aria-modal\", we = \"aria-pressed\", Ae = \"aria-selected\", Se = \"aria-valuemin\", Ne = \"aria-valuemax\", ke = \"aria-valuenow\", Me = \"aria-valuetext\", q = \"abort\", G = \"beforeunload\", J = \"blur\", K = \"change\", X = \"contextmenu\", P = \"DOMContentLoaded\", Y = \"DOMMouseScroll\", Z = \"error\", $ = \"focus\", _ = \"focusin\", tt = \"focusout\", et = \"gesturechange\", nt = \"gestureend\", ot = \"gesturestart\", st = \"keydown\", ct = \"keypress\", rt = \"keyup\", at = \"load\", it = \"click\", ut = \"dblclick\", lt = \"mousedown\", dt = \"mouseup\", pt = \"hover\", mt = \"mouseenter\", ft = \"mouseleave\", gt = \"mousein\", vt = \"mouseout\", Et = \"mouseover\", bt = \"mousemove\", ht = \"mousewheel\", yt = \"move\", wt = \"orientationchange\", At = \"pointercancel\", St = \"pointerdown\", Nt = \"pointerleave\", kt = \"pointermove\", Mt = \"pointerup\", Tt = \"readystatechange\", Dt = \"reset\", Ct = \"resize\", Ot = \"select\", Lt = \"selectend\", It = \"selectstart\", zt = \"scroll\", xt = \"submit\", Vt = \"touchstart\", Bt = \"touchmove\", Ht = \"touchcancel\", Pt = \"touchend\", Ft = \"unload\", Te = {\n DOMContentLoaded: P,\n DOMMouseScroll: Y,\n abort: q,\n beforeunload: G,\n blur: J,\n change: K,\n click: it,\n contextmenu: X,\n dblclick: ut,\n error: Z,\n focus: $,\n focusin: _,\n focusout: tt,\n gesturechange: et,\n gestureend: nt,\n gesturestart: ot,\n hover: pt,\n keydown: st,\n keypress: ct,\n keyup: rt,\n load: at,\n mousedown: lt,\n mousemove: bt,\n mousein: gt,\n mouseout: vt,\n mouseenter: mt,\n mouseleave: ft,\n mouseover: Et,\n mouseup: dt,\n mousewheel: ht,\n move: yt,\n orientationchange: wt,\n pointercancel: At,\n pointerdown: St,\n pointerleave: Nt,\n pointermove: kt,\n pointerup: Mt,\n readystatechange: Tt,\n reset: Dt,\n resize: Ct,\n scroll: zt,\n select: Ot,\n selectend: Lt,\n selectstart: It,\n submit: xt,\n touchcancel: Ht,\n touchend: Pt,\n touchmove: Bt,\n touchstart: Vt,\n unload: Ft\n}, De = \"drag\", Ce = \"dragstart\", Oe = \"dragenter\", Le = \"dragleave\", Ie = \"dragover\", ze = \"dragend\", xe = \"loadstart\", Ve = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, Be = { down: \"mousedown\", up: \"mouseup\" }, He = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : (\n /* istanbul ignore next */\n [\"mouseover\", \"mouseout\"]\n), Pe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, Fe = { in: \"focusin\", out: \"focusout\" }, Ue = {\n Backspace: \"Backspace\",\n // 8\n Tab: \"Tab\",\n // 9\n Enter: \"Enter\",\n // 13\n Shift: \"Shift\",\n // 16\n Control: \"Control\",\n // 17\n Alt: \"Alt\",\n // 18\n Pause: \"Pause\",\n // 19\n CapsLock: \"CapsLock\",\n // 20\n Escape: \"Escape\",\n // 27\n Scape: \"Space\",\n // 32\n ArrowLeft: \"ArrowLeft\",\n // 37\n ArrowUp: \"ArrowUp\",\n // 38\n ArrowRight: \"ArrowRight\",\n // 39\n ArrowDown: \"ArrowDown\",\n // 40\n Insert: \"Insert\",\n // 45\n Delete: \"Delete\",\n // 46\n Meta: \"Meta\",\n // 91 windows key\n ContextMenu: \"ContextMenu\",\n // 93\n ScrollLock: \"ScrollLock\"\n // 145\n}, We = \"Alt\", Re = \"ArrowDown\", Qe = \"ArrowUp\", je = \"ArrowLeft\", qe = \"ArrowRight\", Ge = \"Backspace\", Je = \"CapsLock\", Ke = \"Control\", Xe = \"Delete\", Ye = \"Enter\", Ze = \"NumpadEnter\", $e = \"Escape\", _e = \"Insert\", tn = \"Meta\", en = \"Pause\", nn = \"ScrollLock\", on = \"Shift\", sn = \"Space\", cn = \"Tab\", Ut = \"animationDuration\", Wt = \"animationDelay\", F = \"animationName\", D = \"animationend\", Rt = \"transitionDuration\", Qt = \"transitionDelay\", C = \"transitionend\", U = \"transitionProperty\", rn = \"addEventListener\", an = \"removeEventListener\", un = {\n linear: \"linear\",\n easingSinusoidalIn: \"cubic-bezier(0.47,0,0.745,0.715)\",\n easingSinusoidalOut: \"cubic-bezier(0.39,0.575,0.565,1)\",\n easingSinusoidalInOut: \"cubic-bezier(0.445,0.05,0.55,0.95)\",\n easingQuadraticIn: \"cubic-bezier(0.550,0.085,0.680,0.530)\",\n easingQuadraticOut: \"cubic-bezier(0.250,0.460,0.450,0.940)\",\n easingQuadraticInOut: \"cubic-bezier(0.455,0.030,0.515,0.955)\",\n easingCubicIn: \"cubic-bezier(0.55,0.055,0.675,0.19)\",\n easingCubicOut: \"cubic-bezier(0.215,0.61,0.355,1)\",\n easingCubicInOut: \"cubic-bezier(0.645,0.045,0.355,1)\",\n easingQuarticIn: \"cubic-bezier(0.895,0.03,0.685,0.22)\",\n easingQuarticOut: \"cubic-bezier(0.165,0.84,0.44,1)\",\n easingQuarticInOut: \"cubic-bezier(0.77,0,0.175,1)\",\n easingQuinticIn: \"cubic-bezier(0.755,0.05,0.855,0.06)\",\n easingQuinticOut: \"cubic-bezier(0.23,1,0.32,1)\",\n easingQuinticInOut: \"cubic-bezier(0.86,0,0.07,1)\",\n easingExponentialIn: \"cubic-bezier(0.95,0.05,0.795,0.035)\",\n easingExponentialOut: \"cubic-bezier(0.19,1,0.22,1)\",\n easingExponentialInOut: \"cubic-bezier(1,0,0,1)\",\n easingCircularIn: \"cubic-bezier(0.6,0.04,0.98,0.335)\",\n easingCircularOut: \"cubic-bezier(0.075,0.82,0.165,1)\",\n easingCircularInOut: \"cubic-bezier(0.785,0.135,0.15,0.86)\",\n easingBackIn: \"cubic-bezier(0.6,-0.28,0.735,0.045)\",\n easingBackOut: \"cubic-bezier(0.175,0.885,0.32,1.275)\",\n easingBackInOut: \"cubic-bezier(0.68,-0.55,0.265,1.55)\"\n}, ln = \"offsetHeight\", dn = \"offsetWidth\", pn = \"scrollHeight\", mn = \"scrollWidth\", fn = \"tabindex\", jt = navigator.userAgentData, A = jt, { userAgent: qt } = navigator, S = qt, z = /iPhone|iPad|iPod|Android/i;\nlet O = !1;\nA ? O = A.brands.some((t) => z.test(t.brand)) : O = z.test(S);\nconst gn = O, x = /(iPhone|iPod|iPad)/, vn = A ? A.brands.some((t) => x.test(t.brand)) : (\n /* istanbul ignore next */\n x.test(S)\n), En = S ? S.includes(\"Firefox\") : (\n /* istanbul ignore next */\n !1\n), { head: N } = document, bn = [\"webkitPerspective\", \"perspective\"].some((t) => t in N.style), Gt = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(e, n, s);\n}, Jt = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(e, n, s);\n}, Kt = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Jt(t, e, s, o));\n };\n Gt(t, e, s, o);\n}, Xt = () => {\n}, hn = (() => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n Kt(document, P, Xt, e);\n } catch {\n }\n return t;\n})(), yn = [\"webkitTransform\", \"transform\"].some((t) => t in N.style), wn = \"ontouchstart\" in window || /* istanbul ignore next */\n\"msMaxTouchPoints\" in navigator, An = [\"webkitAnimation\", \"animation\"].some((t) => t in N.style), Sn = [\"webkitTransition\", \"transition\"].some((t) => t in N.style), Yt = (t, e) => t.getAttribute(e), Nn = (t, e, n) => e.getAttributeNS(t, n), kn = (t, e) => t.hasAttribute(e), Mn = (t, e, n) => e.hasAttributeNS(t, n), Tn = (t, e, n) => t.setAttribute(e, n), Dn = (t, e, n, o) => e.setAttributeNS(t, n, o), Cn = (t, e) => t.removeAttribute(e), On = (t, e, n) => e.removeAttributeNS(t, n), Ln = (t, ...e) => {\n t.classList.add(...e);\n}, In = (t, ...e) => {\n t.classList.remove(...e);\n}, zn = (t, e) => t.classList.contains(e), { body: xn } = document, { documentElement: Vn } = document, Bn = (t) => Array.from(t), v = (t) => t != null && typeof t == \"object\" || !1, i = (t) => v(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some((e) => t.nodeType === e) || !1, u = (t) => i(t) && t.nodeType === 1 || !1, E = /* @__PURE__ */ new Map(), L = {\n data: E,\n /**\n * Sets web components data.\n *\n * @param element target element\n * @param component the component's name or a unique key\n * @param instance the component instance\n */\n set: (t, e, n) => {\n if (!u(t))\n return;\n E.has(e) || E.set(e, /* @__PURE__ */ new Map()), E.get(e).set(t, n);\n },\n /**\n * Returns all instances for specified component.\n *\n * @param component the component's name or a unique key\n * @returns all the component instances\n */\n getAllFor: (t) => E.get(t) || null,\n /**\n * Returns the instance associated with the target.\n *\n * @param element target element\n * @param component the component's name or a unique key\n * @returns the instance\n */\n get: (t, e) => {\n if (!u(t) || !e)\n return null;\n const n = L.getAllFor(e);\n return t && n && n.get(t) || null;\n },\n /**\n * Removes web components data.\n *\n * @param element target element\n * @param component the component's name or a unique key\n */\n remove: (t, e) => {\n const n = L.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && E.delete(e));\n }\n}, Hn = (t, e) => L.get(t, e), k = (t) => typeof t == \"string\" || !1, W = (t) => v(t) && t.constructor.name === \"Window\" || !1, R = (t) => i(t) && t.nodeType === 9 || !1, d = (t) => W(t) ? t.document : R(t) ? t : i(t) ? t.ownerDocument : window.document, M = (t, ...e) => Object.assign(t, ...e), Zt = (t) => {\n if (!t)\n return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = Zt(e);\n if (!n)\n return;\n const o = { ...t };\n return delete o.tagName, M(n, o);\n}, $t = (t, e) => {\n if (!t || !e)\n return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = $t(t, n);\n if (!o)\n return;\n const s = { ...e };\n return delete s.tagName, M(o, s);\n}, Q = (t, e) => t.dispatchEvent(e), Pn = (t, e, n) => n.indexOf(t) === e, g = (t, e) => {\n const n = getComputedStyle(t), o = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return n.getPropertyValue(o);\n}, _t = (t) => {\n const e = g(t, F), n = g(t, Wt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, te = (t) => {\n const e = g(t, F), n = g(t, Ut), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, Fn = (t, e) => {\n let n = 0;\n const o = new Event(D), s = te(t), r = _t(t);\n if (s) {\n const a = (l) => {\n l.target === t && (e.apply(t, [l]), t.removeEventListener(D, a), n = 1);\n };\n t.addEventListener(D, a), setTimeout(() => {\n n || Q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ee = (t) => {\n const e = g(t, U), n = g(t, Qt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : (\n /* istanbul ignore next */\n 0\n );\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, ne = (t) => {\n const e = g(t, U), n = g(t, Rt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : (\n /* istanbul ignore next */\n 0\n );\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, Un = (t, e) => {\n let n = 0;\n const o = new Event(C), s = ne(t), r = ee(t);\n if (s) {\n const a = (l) => {\n l.target === t && (e.apply(t, [l]), t.removeEventListener(C, a), n = 1);\n };\n t.addEventListener(C, a), setTimeout(() => {\n n || Q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, Wn = (t) => Float32Array.from(Array.from(t)), Rn = (t) => Float64Array.from(Array.from(t)), Qn = (t, e) => t.focus(e), V = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, w = (t) => Object.entries(t), oe = (t) => t.toLowerCase(), jn = (t, e, n, o) => {\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, l = {}, p = \"title\";\n return w(r).forEach(([c, m]) => {\n const y = o && typeof c == \"string\" && c.includes(o) ? c.replace(o, \"\").replace(/[A-Z]/g, (j) => oe(j)) : c;\n l[y] = V(m);\n }), w(s).forEach(([c, m]) => {\n s[c] = V(m);\n }), w(e).forEach(([c, m]) => {\n c in s ? a[c] = s[c] : c in l ? a[c] = l[c] : a[c] = c === p ? Yt(t, p) : m;\n }), a;\n}, qn = (t, e) => v(t) && (Object.hasOwn(t, e) || e in t), Gn = (t) => Object.keys(t), Jn = (t) => Object.values(t), Kn = (t) => Object.fromEntries(t), Xn = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return v(e) && M(n, e), n;\n}, Yn = { passive: !0 }, Zn = (t) => t.offsetHeight, $n = (t, e) => {\n w(e).forEach(([n, o]) => {\n if (o && k(n) && n.includes(\"--\"))\n t.style.setProperty(n, o);\n else {\n const s = {};\n s[n] = o, M(t.style, s);\n }\n });\n}, I = (t) => v(t) && t.constructor.name === \"Map\" || !1, se = (t) => typeof t == \"number\" || !1, f = /* @__PURE__ */ new Map(), _n = {\n /**\n * Sets a new timeout timer for an element, or element -> key association.\n *\n * @param element target element\n * @param callback the callback\n * @param delay the execution delay\n * @param key a unique key\n */\n set: (t, e, n, o) => {\n u(t) && (o && o.length ? (f.has(t) || f.set(t, /* @__PURE__ */ new Map()), f.get(t).set(o, setTimeout(e, n))) : f.set(t, setTimeout(e, n)));\n },\n /**\n * Returns the timer associated with the target.\n *\n * @param element target element\n * @param key a unique\n * @returns the timer\n */\n get: (t, e) => {\n if (!u(t))\n return null;\n const n = f.get(t);\n return e && n && I(n) ? n.get(e) || /* istanbul ignore next */\n null : se(n) ? n : null;\n },\n /**\n * Clears the element's timer.\n *\n * @param element target element\n * @param key a unique key\n */\n clear: (t, e) => {\n if (!u(t))\n return;\n const n = f.get(t);\n e && e.length && I(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && f.delete(t)) : (clearTimeout(n), f.delete(t));\n }\n}, to = (t) => t.toUpperCase(), h = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: l } = t.getBoundingClientRect();\n let p = 1, c = 1;\n if (e && u(t)) {\n const { offsetWidth: m, offsetHeight: y } = t;\n p = m > 0 ? Math.round(n) / m : (\n /* istanbul ignore next */\n 1\n ), c = y > 0 ? Math.round(o) / y : (\n /* istanbul ignore next */\n 1\n );\n }\n return {\n width: n / p,\n height: o / c,\n top: s / c,\n right: r / p,\n bottom: a / c,\n left: l / p,\n x: l / p,\n y: s / c\n };\n}, eo = (t) => d(t).body, T = (t) => d(t).documentElement, no = (t) => d(t).head, oo = (t) => {\n const e = W(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, ce = (t) => i(t) && t.constructor.name === \"ShadowRoot\" || !1, so = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || // step into the shadow DOM of the parent of a slotted node\ni(t) && t.parentNode || // DOM Element detected\nce(t) && t.host || // ShadowRoot detected\nT(t), re = (t) => {\n if (!u(t))\n return !1;\n const { width: e, height: n } = h(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, co = (t, e, n) => {\n const o = u(e), s = h(t, o && re(e)), r = { x: 0, y: 0 };\n if (o) {\n const a = h(e, !0);\n r.x = a.x + e.clientLeft, r.y = a.y + e.clientTop;\n }\n return {\n x: s.left + n.x - r.x,\n y: s.top + n.y - r.y,\n width: s.width,\n height: s.height\n };\n};\nlet B = 0, H = 0;\nconst b = /* @__PURE__ */ new Map(), ae = (t, e) => {\n let n = e ? B : H;\n if (e) {\n const o = ae(t), s = b.get(o) || /* @__PURE__ */ new Map();\n b.has(o) || b.set(o, s), I(s) && !s.has(e) ? (s.set(e, n), B += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n b.has(o) ? n = b.get(o) : (b.set(o, n), H += 1);\n }\n return n;\n}, ro = (t) => {\n var e;\n return t ? R(t) ? t.defaultView : i(t) ? (e = t == null ? void 0 : t.ownerDocument) == null ? void 0 : e.defaultView : t : window;\n}, ie = (t) => Array.isArray(t) || !1, ao = (t) => i(t) && t.nodeName === \"CANVAS\" || !1, ue = (t) => u(t) && !!t.shadowRoot || !1, io = (t) => i(t) && [1, 2, 3, 4, 5, 6, 7, 8].some((e) => t.nodeType === e) || !1, uo = (t) => {\n if (!i(t))\n return !1;\n const { top: e, bottom: n } = h(t), { clientHeight: o } = T(t);\n return e <= o && n >= 0;\n}, lo = (t) => {\n if (!i(t))\n return !1;\n const { clientWidth: e, clientHeight: n } = T(t), { top: o, left: s, bottom: r, right: a } = h(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, po = (t) => ie(t) && t.every(u) || !1, mo = (t) => typeof t == \"function\" || !1, fo = (t) => v(t) && t.constructor.name === \"HTMLCollection\" || !1, go = (t) => u(t) && t.tagName === \"IMG\" || !1, vo = (t) => {\n if (!k(t))\n return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Eo = (t) => v(t) && t.constructor.name === \"WeakMap\" || !1, bo = (t) => i(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some((e) => t.constructor.name.includes(e)) || !1, ho = (t) => v(t) && t.constructor.name === \"NodeList\" || !1, yo = (t) => T(t).dir === \"rtl\", wo = (t) => i(t) && t.constructor.name.includes(\"SVG\") || !1, Ao = (t) => i(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, le = (t, e) => t ? t.closest(e) || // break out of `ShadowRoot`\nle(t.getRootNode().host, e) : null, So = (t, e) => u(t) ? t : (i(e) ? e : d()).querySelector(t), de = (t, e) => (i(e) ? e : d()).getElementsByTagName(t), No = (t) => [...de(\"*\", t)].filter(ue), ko = (t, e) => d(e).getElementById(t) || null, Mo = (t, e) => (i(e) ? e : d()).querySelectorAll(t), To = (t, e) => (e && i(e) ? e : d()).getElementsByClassName(\n t\n), Do = (t, e) => t.matches(e), Co = \"2.0.0\";\nexport {\n Bn as ArrayFrom,\n P as DOMContentLoadedEvent,\n Y as DOMMouseScrollEvent,\n L as Data,\n Wn as Float32ArrayFrom,\n Rn as Float64ArrayFrom,\n M as ObjectAssign,\n w as ObjectEntries,\n Kn as ObjectFromEntries,\n qn as ObjectHasOwn,\n Gn as ObjectKeys,\n Jn as ObjectValues,\n _n as Timer,\n q as abortEvent,\n Ln as addClass,\n rn as addEventListener,\n Wt as animationDelay,\n Ut as animationDuration,\n D as animationEndEvent,\n F as animationName,\n pe as ariaChecked,\n fe as ariaDescribedBy,\n me as ariaDescription,\n ge as ariaExpanded,\n ve as ariaHasPopup,\n Ee as ariaHidden,\n be as ariaLabel,\n he as ariaLabelledBy,\n ye as ariaModal,\n we as ariaPressed,\n Ae as ariaSelected,\n Ne as ariaValueMax,\n Se as ariaValueMin,\n ke as ariaValueNow,\n Me as ariaValueText,\n G as beforeunloadEvent,\n un as bezierEasings,\n J as blurEvent,\n K as changeEvent,\n le as closest,\n X as contextmenuEvent,\n Xn as createCustomEvent,\n Zt as createElement,\n $t as createElementNS,\n Q as dispatchEvent,\n Pn as distinct,\n xn as documentBody,\n Vn as documentElement,\n N as documentHead,\n De as dragEvent,\n ze as dragendEvent,\n Oe as dragenterEvent,\n Le as dragleaveEvent,\n Ie as dragoverEvent,\n Ce as dragstartEvent,\n Fn as emulateAnimationEnd,\n Un as emulateTransitionEnd,\n Z as errorEvent,\n Qn as focus,\n $ as focusEvent,\n Fe as focusEvents,\n _ as focusinEvent,\n tt as focusoutEvent,\n et as gesturechangeEvent,\n nt as gestureendEvent,\n ot as gesturestartEvent,\n Yt as getAttribute,\n Nn as getAttributeNS,\n h as getBoundingClientRect,\n No as getCustomElements,\n d as getDocument,\n eo as getDocumentBody,\n T as getDocumentElement,\n no as getDocumentHead,\n _t as getElementAnimationDelay,\n te as getElementAnimationDuration,\n ko as getElementById,\n g as getElementStyle,\n ee as getElementTransitionDelay,\n ne as getElementTransitionDuration,\n To as getElementsByClassName,\n de as getElementsByTagName,\n Hn as getInstance,\n oo as getNodeScroll,\n so as getParentNode,\n co as getRectRelativeToOffsetParent,\n ae as getUID,\n ro as getWindow,\n kn as hasAttribute,\n Mn as hasAttributeNS,\n zn as hasClass,\n vn as isApple,\n ie as isArray,\n ao as isCanvas,\n ue as isCustomElement,\n R as isDocument,\n io as isElement,\n uo as isElementInScrollRange,\n lo as isElementInViewport,\n po as isElementsArray,\n En as isFirefox,\n mo as isFunction,\n fo as isHTMLCollection,\n u as isHTMLElement,\n go as isHTMLImageElement,\n vo as isJSON,\n I as isMap,\n bo as isMedia,\n gn as isMobile,\n i as isNode,\n ho as isNodeList,\n se as isNumber,\n v as isObject,\n yo as isRTL,\n wo as isSVGElement,\n re as isScaledElement,\n ce as isShadowRoot,\n k as isString,\n Ao as isTableElement,\n Eo as isWeakMap,\n W as isWindow,\n We as keyAlt,\n Re as keyArrowDown,\n je as keyArrowLeft,\n qe as keyArrowRight,\n Qe as keyArrowUp,\n Ge as keyBackspace,\n Je as keyCapsLock,\n Ke as keyControl,\n Xe as keyDelete,\n Ye as keyEnter,\n $e as keyEscape,\n _e as keyInsert,\n tn as keyMeta,\n Ze as keyNumpadEnter,\n en as keyPause,\n nn as keyScrollLock,\n on as keyShift,\n sn as keySpace,\n cn as keyTab,\n Ue as keyboardEventKeys,\n st as keydownEvent,\n ct as keypressEvent,\n rt as keyupEvent,\n at as loadEvent,\n xe as loadstartEvent,\n Do as matches,\n Be as mouseClickEvents,\n He as mouseHoverEvents,\n Ve as mouseSwipeEvents,\n it as mouseclickEvent,\n ut as mousedblclickEvent,\n lt as mousedownEvent,\n mt as mouseenterEvent,\n pt as mousehoverEvent,\n gt as mouseinEvent,\n ft as mouseleaveEvent,\n bt as mousemoveEvent,\n vt as mouseoutEvent,\n Et as mouseoverEvent,\n dt as mouseupEvent,\n ht as mousewheelEvent,\n yt as moveEvent,\n Te as nativeEvents,\n Xt as noop,\n jn as normalizeOptions,\n V as normalizeValue,\n Jt as off,\n ln as offsetHeight,\n dn as offsetWidth,\n Gt as on,\n Kt as one,\n wt as orientationchangeEvent,\n Yn as passiveHandler,\n At as pointercancelEvent,\n St as pointerdownEvent,\n Nt as pointerleaveEvent,\n kt as pointermoveEvent,\n Mt as pointerupEvent,\n So as querySelector,\n Mo as querySelectorAll,\n Tt as readystatechangeEvent,\n Zn as reflow,\n Cn as removeAttribute,\n On as removeAttributeNS,\n In as removeClass,\n an as removeEventListener,\n Dt as resetEvent,\n Ct as resizeEvent,\n zt as scrollEvent,\n pn as scrollHeight,\n mn as scrollWidth,\n Ot as selectEvent,\n Lt as selectendEvent,\n It as selectstartEvent,\n Tn as setAttribute,\n Dn as setAttributeNS,\n $n as setElementStyle,\n xt as submitEvent,\n bn as support3DTransform,\n An as supportAnimation,\n hn as supportPassive,\n wn as supportTouch,\n yn as supportTransform,\n Sn as supportTransition,\n fn as tabindex,\n oe as toLowerCase,\n to as toUpperCase,\n Pe as touchEvents,\n Ht as touchcancelEvent,\n Pt as touchendEvent,\n Bt as touchmoveEvent,\n Vt as touchstartEvent,\n Qt as transitionDelay,\n Rt as transitionDuration,\n C as transitionEndEvent,\n U as transitionProperty,\n Ft as unloadEvent,\n S as userAgent,\n A as userAgentData,\n Co as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const e = {}, f = (t) => {\n const { type: c, currentTarget: i } = t;\n [...e[c]].forEach(([n, s]) => {\n i === n && [...s].forEach(([o, a]) => {\n o.apply(n, [t]), typeof a == \"object\" && a.once && r(n, c, o, a);\n });\n });\n}, E = (t, c, i, n) => {\n e[c] || (e[c] = /* @__PURE__ */ new Map());\n const s = e[c];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(t), { size: a } = o;\n o.set(i, n), a || t.addEventListener(c, f, n);\n}, r = (t, c, i, n) => {\n const s = e[c], o = s && s.get(t), a = o && o.get(i), d = a !== void 0 ? a : n;\n o && o.has(i) && o.delete(i), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[c], (!o || !o.size) && t.removeEventListener(\n c,\n f,\n d\n );\n}, g = E, M = r;\nexport {\n E as addListener,\n f as globalListener,\n M as off,\n g as on,\n e as registry,\n r as removeListener\n};\n//# sourceMappingURL=event-listener.mjs.map\n","/**\n * Global namespace for most components `fade` class.\n */\nconst fadeClass = 'fade';\nexport default fadeClass;\n","/**\n * Global namespace for most components `show` class.\n */\nconst showClass = 'show';\nexport default showClass;\n","/**\n * Global namespace for most components `dismiss` option.\n */\nconst dataBsDismiss = 'data-bs-dismiss';\nexport default dataBsDismiss;\n","/** @type {string} */\nconst alertString = 'alert';\nexport default alertString;\n","/** @type {string} */\nconst alertComponent = 'Alert';\nexport default alertComponent;\n","import { version } from '../package.json';\n\nconst Version = version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport { querySelector, normalizeOptions, Data, ObjectKeys, isString } from '@thednp/shorty';\n\nimport type { BaseOptions } from '../interface/baseComponent';\nimport Version from '../version';\n\n/** Returns a new `BaseComponent` instance. */\nexport default class BaseComponent {\n declare element: HTMLElement;\n declare options?: BaseOptions;\n\n /**\n * @param target `HTMLElement` or selector string\n * @param config component instance options\n */\n constructor(target: HTMLElement | string, config?: BaseOptions) {\n const element = querySelector(target);\n\n if (!element) {\n if (isString(target)) {\n throw Error(`${this.name} Error: \"${target}\" is not a valid selector.`);\n } else {\n throw Error(`${this.name} Error: your target is not an instance of HTMLElement.`);\n }\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else */\n if (prevInstance) {\n // remove previously attached event listeners\n // to avoid memory leaks\n prevInstance._toggleEventListeners();\n }\n\n this.element = element;\n this.options =\n this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, 'bs')\n : {};\n\n Data.set(element, this.name, this);\n }\n\n /* istanbul ignore next */\n get version() {\n return Version;\n }\n\n /* istanbul ignore next */\n get name() {\n return 'BaseComponent';\n }\n\n /* istanbul ignore next */\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n _toggleEventListeners = () => {\n // do something to please linters\n };\n\n /** Removes component from target element. */\n dispose() {\n Data.remove(this.element, this.name);\n ObjectKeys(this).forEach(prop => {\n delete this[prop];\n });\n }\n}\n","/* Native JavaScript for Bootstrap 5 | Alert\n-------------------------------------------- */\nimport {\n emulateTransitionEnd,\n mouseclickEvent,\n getInstance,\n querySelector,\n hasClass,\n removeClass,\n dispatchEvent,\n createCustomEvent,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport alertString from '../strings/alertString';\nimport alertComponent from '../strings/alertComponent';\nimport type { AlertEvent } from '../interface/alert';\n\nimport BaseComponent from './base-component';\n\n// ALERT PRIVATE GC\n// ================\nconst alertSelector = `.${alertString}`;\nconst alertDismissSelector = `[${dataBsDismiss}=\"${alertString}\"]`;\n\n/**\n * Static method which returns an existing `Alert` instance associated\n * to a target `Element`.\n *\n */\nconst getAlertInstance = (element: HTMLElement) => getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: HTMLElement) => new Alert(element) as T;\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent(`close.bs.${alertString}`);\nconst closedAlertEvent = createCustomEvent(`closed.bs.${alertString}`);\n\n// ALERT EVENT HANDLER\n// ===================\n/**\n * Alert `transitionend` callback.\n *\n * @param that target Alert instance\n */\nconst alertTransitionEnd = (self: Alert) => {\n const { element } = self;\n dispatchEvent(element, closedAlertEvent);\n\n self._toggleEventListeners();\n self.dispose();\n element.remove();\n};\n\n// ALERT DEFINITION\n// ================\n/** Creates a new Alert instance. */\nexport default class Alert extends BaseComponent {\n static selector = alertSelector;\n static init = alertInitCallback;\n static getInstance = getAlertInstance;\n dismiss: HTMLElement | null;\n\n constructor(target: HTMLElement | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(alertDismissSelector, this.element);\n\n // add event listener\n this._toggleEventListeners(true);\n }\n\n /** Returns component name string. */\n get name() {\n return alertComponent;\n }\n\n // ALERT PUBLIC METHODS\n // ====================\n /**\n * Public method that hides the `.alert` element from the user,\n * disposes the instance once animation is complete, then\n * removes the element from the DOM.\n */\n close = () => {\n const { element } = this;\n\n /* istanbul ignore else */\n if (element && hasClass(element, showClass)) {\n dispatchEvent(element, closeAlertEvent);\n\n if (!closeAlertEvent.defaultPrevented) {\n removeClass(element, showClass);\n\n if (hasClass(element, fadeClass)) {\n emulateTransitionEnd(element, () => alertTransitionEnd(this));\n } else alertTransitionEnd(this);\n }\n }\n };\n /**\n * Toggle on / off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { dismiss, close } = this;\n /* istanbul ignore else */\n if (dismiss) action(dismiss, mouseclickEvent, close);\n };\n\n /** Remove the component from target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/**\n * Global namespace for most components active class.\n */\nconst activeClass = 'active';\nexport default activeClass;\n","/**\n * Global namespace for most components `toggle` option.\n */\nconst dataBsToggle = 'data-bs-toggle';\nexport default dataBsToggle;\n","/** @type {string} */\nconst buttonString = 'button';\nexport default buttonString;\n","/** @type {string} */\nconst buttonComponent = 'Button';\nexport default buttonComponent;\n","/* Native JavaScript for Bootstrap 5 | Button\n---------------------------------------------*/\nimport {\n getInstance,\n removeClass,\n hasClass,\n addClass,\n setAttribute,\n mouseclickEvent,\n ariaPressed,\n getAttribute,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport buttonString from '../strings/buttonString';\nimport buttonComponent from '../strings/buttonComponent';\n\nimport BaseComponent from './base-component';\n\n// BUTTON PRIVATE GC\n// =================\nconst buttonSelector = `[${dataBsToggle}=\"${buttonString}\"]`;\n\n/**\n * Static method which returns an existing `Button` instance associated\n * to a target `Element`.\n */\nconst getButtonInstance = (element: HTMLElement) => getInstance',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n *\n */\nconst getPopoverInstance = (element: HTMLElement) => getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: HTMLElement) => new Popover(element);\n\n// POPOVER DEFINITION\n// ==================\n/** Returns a new `Popover` instance. */\nexport default class Popover extends Tooltip {\n static selector = popoverSelector;\n static init = popoverInitCallback;\n static getInstance = getPopoverInstance;\n static styleTip = styleTip;\n declare options: PopoverOptions;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return popoverComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return popoverDefaults;\n }\n\n /* extend original `show()` */\n show = () => {\n super.show();\n // btn only exists within dismissible popover\n const { options, btn } = this;\n /* istanbul ignore else */\n if (options.dismissible && btn) setTimeout(() => focus(btn), 17);\n };\n}\n","/** @type {string} */\nconst scrollspyString = 'scrollspy';\nexport default scrollspyString;\n","/** @type {string} */\nconst scrollspyComponent = 'ScrollSpy';\nexport default scrollspyComponent;\n","/* Native JavaScript for Bootstrap 5 | ScrollSpy\n------------------------------------------------ */\nimport {\n getDocumentBody,\n getDocumentElement,\n getDocument,\n getWindow,\n removeClass,\n hasClass,\n addClass,\n getElementsByTagName,\n getAttribute,\n querySelector,\n isHTMLElement,\n isWindow,\n createCustomEvent,\n getInstance,\n scrollEvent,\n passiveHandler,\n dispatchEvent,\n getBoundingClientRect,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport scrollspyString from '../strings/scrollspyString';\nimport scrollspyComponent from '../strings/scrollspyComponent';\n\nimport BaseComponent from './base-component';\nimport { ScrollSpyOptions, ScrollSpyEvent } from '../interface/scrollspy';\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: ScrollSpyOptions = {\n offset: 10,\n target: null,\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: HTMLElement) => getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: HTMLElement) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent(`activate.bs.${scrollspyString}`);\n\n// SCROLLSPY PRIVATE METHODS\n// =========================\n/**\n * Update the state of all items.\n *\n * @param self the `ScrollSpy` instance\n */\nconst updateSpyTargets = (self: ScrollSpy) => {\n const { target, scrollTarget, options, itemsLength, scrollHeight, element } = self;\n const { offset } = options;\n const isWin = isWindow(scrollTarget as Node | Window);\n\n const links = target && getElementsByTagName('A', target);\n const scrollHEIGHT = scrollTarget ? getScrollHeight(scrollTarget) : /* istanbul ignore next */ scrollHeight;\n\n self.scrollTop = isWin ? (scrollTarget as Window).scrollY : (scrollTarget as HTMLElement).scrollTop;\n\n // only update items/offsets once or with each mutation\n /* istanbul ignore else */\n if (links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)) {\n let href;\n let targetItem;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n [...links].forEach(link => {\n href = getAttribute(link, 'href');\n targetItem =\n href && href.charAt(0) === '#' && href.slice(-1) !== '#' && querySelector(href, getDocument(element));\n\n if (targetItem) {\n self.items.push(link);\n rect = getBoundingClientRect(targetItem);\n self.offsets.push((isWin ? rect.top + self.scrollTop : targetItem.offsetTop) - offset);\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Returns the `scrollHeight` property of the scrolling element.\n *\n * @param scrollTarget the `ScrollSpy` instance\n * @return `scrollTarget` height\n */\nconst getScrollHeight = (scrollTarget: Node | Window) => {\n return isHTMLElement(scrollTarget as Node)\n ? (scrollTarget as HTMLElement).scrollHeight\n : getDocumentElement(scrollTarget as Node).scrollHeight;\n};\n\n/**\n * Returns the height property of the scrolling element.\n *\n * @param params the `ScrollSpy` instance\n */\nconst getOffsetHeight = ({ element, scrollTarget }: ScrollSpy) => {\n return isWindow(scrollTarget as Node) ? (scrollTarget as Window).innerHeight : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: HTMLElement) => {\n [...getElementsByTagName('A', target)].forEach(item => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n });\n};\n\n/**\n * Activates a new item.\n *\n * @param self the `ScrollSpy` instance\n * @param item a single item\n */\nconst activate = (self: ScrollSpy, item: HTMLElement) => {\n const { target, element } = self;\n if (isHTMLElement(target)) clear(target);\n self.activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n const parents: HTMLElement[] = [];\n let parentItem = item;\n while (parentItem !== getDocumentBody(element)) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (hasClass(parentItem, 'nav') || hasClass(parentItem, 'dropdown-menu')) parents.push(parentItem);\n }\n\n parents.forEach(menuItem => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n /* istanbul ignore else */\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n });\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\n// SCROLLSPY DEFINITION\n// ====================\n/** Returns a new `ScrollSpy` instance. */\nexport default class ScrollSpy extends BaseComponent {\n static selector = scrollspySelector;\n static init = scrollspyInitCallback;\n static getInstance = getScrollSpyInstance;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement | Window;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // additional properties\n this.target = querySelector(options.target as HTMLElement | string, getDocument(element));\n\n // invalidate\n if (this.target) {\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight ? element : getWindow(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // add event handlers\n this._toggleEventListeners(true);\n\n this.refresh();\n }\n }\n\n /* eslint-disable */\n /**\n * Returns component name string.\n */\n get name() {\n return scrollspyComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return scrollspyDefaults;\n }\n /* eslint-enable */\n\n // SCROLLSPY PUBLIC METHODS\n // ========================\n /** Updates all items. */\n refresh = () => {\n const { target } = this;\n\n // check if target is visible and invalidate\n /* istanbul ignore else */\n if (isHTMLElement(target) && target.offsetHeight > 0) {\n updateSpyTargets(this);\n\n const { scrollTop, maxScroll, itemsLength, items, activeItem } = this;\n\n if (scrollTop >= maxScroll) {\n const newActiveItem = items[itemsLength - 1];\n\n /* istanbul ignore else */\n if (activeItem !== newActiveItem) {\n activate(this, newActiveItem);\n }\n return;\n }\n\n const { offsets } = this;\n\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n if (target) clear(target);\n return;\n }\n\n items.forEach((item, i) => {\n if (\n activeItem !== item &&\n scrollTop >= offsets[i] &&\n (typeof offsets[i + 1] === 'undefined' || scrollTop < offsets[i + 1])\n ) {\n activate(this, item);\n }\n });\n }\n };\n\n /**\n * Toggles on/off the component event listener.\n *\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.scrollTarget as EventTarget, scrollEvent, this.refresh, passiveHandler);\n };\n\n /** Removes `ScrollSpy` from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/** @type {string} */\nconst tabString = 'tab';\nexport default tabString;\n","/** @type {string} */\nconst tabComponent = 'Tab';\nexport default tabComponent;\n","/* Native JavaScript for Bootstrap 5 | Tab\n------------------------------------------ */\nimport {\n emulateTransitionEnd,\n dispatchEvent,\n removeClass,\n hasClass,\n addClass,\n querySelector,\n getElementsByClassName,\n closest,\n setAttribute,\n mouseclickEvent,\n createCustomEvent,\n Timer,\n getInstance,\n ariaSelected,\n reflow,\n isHTMLElement,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport collapsingClass from '../strings/collapsingClass';\nimport activeClass from '../strings/activeClass';\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dropdownClasses from '../strings/dropdownClasses';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport tabString from '../strings/tabString';\nimport tabComponent from '../strings/tabComponent';\n\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport type { /* TabOptions, */ TabEvent } from '../interface/tab';\n\n// TAB PRIVATE GC\n// ================\nconst tabSelector = `[${dataBsToggle}=\"${tabString}\"]`;\n\n/**\n * Static method which returns an existing `Tab` instance associated\n * to a target `Element`.\n */\nconst getTabInstance = (element: HTMLElement) => getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: HTMLElement) => new Tab(element);\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(`show.bs.${tabString}`);\nconst shownTabEvent = createCustomEvent(`shown.bs.${tabString}`);\nconst hideTabEvent = createCustomEvent(`hide.bs.${tabString}`);\nconst hiddenTabEvent = createCustomEvent(`hidden.bs.${tabString}`);\n\ninterface TabPrivate {\n tab: HTMLElement | null;\n content: HTMLElement | null;\n currentHeight: number;\n nextHeight: number;\n}\n\n/**\n * Stores the current active tab and its content\n * for a given `.nav` element.\n */\nconst tabPrivate: Map = new Map();\n\n// TAB PRIVATE METHODS\n// ===================\n/**\n * Executes after tab transition has finished.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabEnd = (self: Tab) => {\n const { tabContent, nav } = self;\n\n /* istanbul ignore else */\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = '';\n removeClass(tabContent, collapsingClass);\n }\n\n /* istanbul ignore else */\n if (nav) Timer.clear(nav);\n};\n\n/**\n * Executes before showing the tab content.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabShow = (self: Tab) => {\n const { element, tabContent, content: nextContent, nav } = self;\n const { tab } = (isHTMLElement(nav) && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null };\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) || /* istanbul ignore next */ {\n currentHeight: 0,\n nextHeight: 0,\n };\n if (currentHeight === nextHeight) {\n triggerTabEnd(self);\n } else {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n }\n } else if (nav) Timer.clear(nav);\n\n shownTabEvent.relatedTarget = tab as HTMLElement | undefined;\n\n dispatchEvent(element, shownTabEvent);\n};\n\n/**\n * Executes before hiding the tab.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabHide = (self: Tab) => {\n const { element, content: nextContent, tabContent, nav } = self;\n const { tab, content } = (nav && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null, content: null };\n let currentHeight = 0;\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach(c => {\n if (isHTMLElement(c)) addClass(c, 'overflow-hidden');\n });\n currentHeight = isHTMLElement(content) ? content.scrollHeight : /* istanbul ignore next */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element;\n dispatchEvent(element, showTabEvent);\n\n if (!showTabEvent.defaultPrevented) {\n if (nextContent) addClass(nextContent, activeClass);\n if (content) removeClass(content, activeClass);\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, { currentHeight, nextHeight, tab: null, content: null });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach(c => {\n if (c) removeClass(c, 'overflow-hidden');\n });\n }\n\n if (nextContent && nextContent && hasClass(nextContent, fadeClass)) {\n setTimeout(() => {\n addClass(nextContent, showClass);\n emulateTransitionEnd(nextContent, () => {\n triggerTabShow(self);\n });\n }, 1);\n } else {\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n if (tab) dispatchEvent(tab, hiddenTabEvent);\n }\n};\n\n/**\n * Returns the current active tab and its target content.\n *\n * @param self the `Tab` instance\n * @returns the query result\n */\nconst getActiveTab = (self: Tab): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n /* istanbul ignore next */\n if (!isHTMLElement(nav as HTMLElement | undefined)) return { tab: null, content: null };\n\n const activeTabs = getElementsByClassName(activeClass, nav as HTMLElement);\n let tab: HTMLElement | null = null;\n /* istanbul ignore else */\n if (activeTabs.length === 1 && !dropdownClasses.some(c => hasClass(activeTabs[0].parentElement as HTMLElement, c))) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab as HTMLElement) ? getTargetElement(tab as HTMLElement) : null;\n return { tab, content };\n};\n\n/**\n * Returns a parent dropdown.\n *\n * @param element the `Tab` element\n * @returns the parent dropdown\n */\nconst getParentDropdown = (element?: HTMLElement): HTMLElement | null => {\n /* istanbul ignore next */\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(',.')}`);\n return dropdown ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown) : null;\n};\n\n// TAB EVENT HANDLER\n// =================\n/**\n * Handles the `click` event listener.\n *\n * @param e the `Event` object\n */\nconst tabClickHandler = (e: Event) => {\n const self = getTabInstance(e.target as HTMLElement);\n\n /* istanbul ignore else */\n if (self) {\n e.preventDefault();\n self.show();\n }\n};\n\n// TAB DEFINITION\n// ==============\n/** Creates a new `Tab` instance. */\nexport default class Tab extends BaseComponent {\n static selector = tabSelector;\n static init = tabInitCallback;\n static getInstance = getTabInstance;\n declare nav: HTMLElement | null;\n declare content: HTMLElement | null;\n declare tabContent: HTMLElement | null;\n declare nextContent: HTMLElement | null;\n declare dropdown: HTMLElement | null;\n\n /** @param target the target element */\n constructor(target: HTMLElement | string) {\n super(target);\n\n // initialization element\n const { element } = this;\n const content = getTargetElement(element);\n\n // no point initializing a tab without a corresponding content\n /* istanbul ignore else */\n if (content) {\n const nav = closest(element, '.nav');\n const container = closest(content, '.tab-content');\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element);\n\n // show first Tab instance of none is shown\n // suggested on #432\n const { tab } = getActiveTab(this);\n if (nav && !tab) {\n const firstTab = querySelector(tabSelector, nav);\n const firstTabContent = firstTab && getTargetElement(firstTab);\n\n /* istanbul ignore else */\n if (firstTabContent) {\n addClass(firstTab, activeClass);\n addClass(firstTabContent, showClass);\n addClass(firstTabContent, activeClass);\n setAttribute(element, ariaSelected, 'true');\n }\n }\n\n // add event listener\n this._toggleEventListeners(true);\n }\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return tabComponent;\n }\n\n // TAB PUBLIC METHODS\n // ==================\n /** Shows the tab to the user. */\n show() {\n const { element, content: nextContent, nav, dropdown } = this;\n\n /* istanbul ignore else */\n if (!(nav && Timer.get(nav)) && !hasClass(element, activeClass)) {\n const { tab, content } = getActiveTab(this);\n\n /* istanbul ignore else */\n if (nav) tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element;\n\n /* istanbul ignore else */\n if (isHTMLElement(tab)) {\n dispatchEvent(tab as EventTarget, hideTabEvent);\n /* istanbul ignore else */\n if (!hideTabEvent.defaultPrevented) {\n addClass(element, activeClass);\n setAttribute(element, ariaSelected, 'true');\n\n const activeDropdown = isHTMLElement(tab) && getParentDropdown(tab);\n if (activeDropdown && hasClass(activeDropdown, activeClass)) {\n removeClass(activeDropdown, activeClass);\n }\n\n /* istanbul ignore else */\n if (nav) {\n const toggleTab = () => {\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, 'false');\n }\n if (dropdown && !hasClass(dropdown, activeClass)) addClass(dropdown, activeClass);\n };\n\n if (content && (hasClass(content, fadeClass) || (nextContent && hasClass(nextContent, fadeClass)))) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n if (content) {\n removeClass(content, showClass);\n if (hasClass(content, fadeClass)) {\n emulateTransitionEnd(content, () => triggerTabHide(this));\n } else {\n triggerTabHide(this);\n }\n }\n }\n }\n }\n }\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.element, mouseclickEvent, tabClickHandler);\n };\n\n /** Removes the `Tab` component from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/** @type {string} */\nconst toastString = 'toast';\nexport default toastString;\n","/** @type {string} */\nconst toastComponent = 'Toast';\nexport default toastComponent;\n","/* Native JavaScript for Bootstrap 5 | Toast\n-------------------------------------------- */\nimport {\n mouseclickEvent,\n closest,\n removeClass,\n hasClass,\n addClass,\n focusoutEvent,\n focusinEvent,\n mouseleaveEvent,\n mouseenterEvent,\n createCustomEvent,\n getDocument,\n Timer,\n getInstance,\n reflow,\n emulateTransitionEnd,\n dispatchEvent,\n querySelectorAll,\n querySelector,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport toastString from '../strings/toastString';\nimport toastComponent from '../strings/toastComponent';\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport { ToastOptions, ToastEvent } from '../interface/toast';\n\n// TOAST PRIVATE GC\n// ================\nconst toastSelector = `.${toastString}`;\nconst toastDismissSelector = `[${dataBsDismiss}=\"${toastString}\"]`;\nconst toastToggleSelector = `[${dataBsToggle}=\"${toastString}\"]`;\nconst showingClass = 'showing';\n/** @deprecated */\nconst hideClass = 'hide';\n\nconst toastDefaults = {\n animation: true,\n autohide: true,\n delay: 5000,\n};\n\n/**\n * Static method which returns an existing `Toast` instance associated\n * to a target `Element`.\n */\nconst getToastInstance = (element: HTMLElement) => getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: HTMLElement) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent(`show.bs.${toastString}`);\nconst shownToastEvent = createCustomEvent(`shown.bs.${toastString}`);\nconst hideToastEvent = createCustomEvent(`hide.bs.${toastString}`);\nconst hiddenToastEvent = createCustomEvent(`hidden.bs.${toastString}`);\n\n// TOAST PRIVATE METHODS\n// =====================\n/**\n * Executes after the toast is shown to the user.\n *\n * @param self the `Toast` instance\n */\nconst showToastComplete = (self: Toast) => {\n const { element, options } = self;\n removeClass(element, showingClass);\n Timer.clear(element, showingClass);\n\n dispatchEvent(element, shownToastEvent);\n /* istanbul ignore else */\n if (options.autohide) {\n Timer.set(element, () => self.hide(), options.delay, toastString);\n }\n};\n\n/**\n * Executes after the toast is hidden to the user.\n *\n * @param self the `Toast` instance\n */\nconst hideToastComplete = (self: Toast) => {\n const { element } = self;\n removeClass(element, showingClass);\n removeClass(element, showClass);\n addClass(element, hideClass); // B/C\n Timer.clear(element, toastString);\n dispatchEvent(element, hiddenToastEvent);\n};\n\n/**\n * Executes before hiding the toast.\n *\n * @param self the `Toast` instance\n */\nconst hideToast = (self: Toast) => {\n const { element, options } = self;\n addClass(element, showingClass);\n\n if (options.animation) {\n reflow(element);\n emulateTransitionEnd(element, () => hideToastComplete(self));\n } else {\n hideToastComplete(self);\n }\n};\n\n/**\n * Executes before showing the toast.\n *\n * @param self the `Toast` instance\n */\nconst showToast = (self: Toast) => {\n const { element, options } = self;\n Timer.set(\n element,\n () => {\n removeClass(element, hideClass); // B/C\n reflow(element);\n addClass(element, showClass);\n addClass(element, showingClass);\n\n if (options.animation) {\n emulateTransitionEnd(element, () => showToastComplete(self));\n } else {\n showToastComplete(self);\n }\n },\n 17,\n showingClass,\n );\n};\n\n// TOAST EVENT HANDLERS\n// ====================\n/**\n * Executes after the instance has been disposed.\n *\n * @param {Toast} self the `Toast` instance\n */\nconst completeDisposeToast = (self: Toast) => {\n Timer.clear(self.element, toastString);\n self._toggleEventListeners();\n};\n\n/**\n * Handles the `click` event listener for toast.\n *\n * @param e the `Event` object\n */\nconst toastClickHandler = (e: Event) => {\n const { target } = e;\n\n const trigger = target && closest(target as HTMLElement, toastToggleSelector);\n const element = trigger && getTargetElement(trigger);\n const self = element && getToastInstance(element);\n\n /* istanbul ignore else */\n if (self) {\n /* istanbul ignore else */\n if (trigger && trigger.tagName === 'A') e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\n }\n};\n\n/**\n * Executes when user interacts with the toast without closing it,\n * usually by hovering or focusing it.\n *\n * @param e the `Toast` instance\n */\nconst interactiveToastHandler = (e: MouseEvent) => {\n const element = e.target as HTMLElement;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n /* istanbul ignore else: a solid filter is required */\n if (self && element !== relatedTarget && !element.contains(relatedTarget as Node)) {\n if ([mouseenterEvent, focusinEvent].includes(type)) {\n Timer.clear(element, toastString);\n } else {\n Timer.set(element, () => self.hide(), self.options.delay, toastString);\n }\n }\n};\n\n// TOAST DEFINITION\n// ================\n/** Creates a new `Toast` instance. */\nexport default class Toast extends BaseComponent {\n static selector = toastSelector;\n static init = toastInitCallback;\n static getInstance = getToastInstance;\n declare options: ToastOptions;\n declare dismiss: HTMLElement | null;\n declare triggers: HTMLElement[];\n declare relatedTarget: HTMLElement | null;\n\n /**\n * @param target the target `.toast` element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n const { element, options } = this;\n\n // set fadeClass, the options.animation will override the markup\n if (options.animation && !hasClass(element, fadeClass)) addClass(element, fadeClass);\n else if (!options.animation && hasClass(element, fadeClass)) removeClass(element, fadeClass);\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [...querySelectorAll(toastToggleSelector, getDocument(element))].filter(\n btn => getTargetElement(btn) === element,\n );\n\n // add event listener\n this._toggleEventListeners(true);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return toastComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return toastDefaults;\n }\n /**\n * Returns *true* when toast is visible.\n */\n get isShown() {\n return hasClass(this.element, showClass);\n }\n\n // TOAST PUBLIC METHODS\n // ====================\n /** Shows the toast. */\n show = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && !isShown) {\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) {\n showToast(this);\n }\n }\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && isShown) {\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) {\n hideToast(this);\n }\n }\n };\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, it will add the listener\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element, triggers, dismiss, options, hide } = this;\n\n /* istanbul ignore else */\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n /* istanbul ignore else */\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(e =>\n action(element, e, interactiveToastHandler),\n );\n }\n /* istanbul ignore else */\n if (triggers.length) {\n triggers.forEach(btn => action(btn, mouseclickEvent, toastClickHandler));\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (isShown) {\n removeClass(element, showClass);\n }\n\n completeDisposeToast(this);\n\n super.dispose();\n }\n}\n","import { Data, getElementsByTagName, matches } from '@thednp/shorty';\n\nimport { addListener } from '@thednp/event-listener';\n\nimport Alert from '../components/alert';\nimport Button from '../components/button';\nimport Carousel from '../components/carousel';\nimport Collapse from '../components/collapse';\nimport Dropdown from '../components/dropdown';\nimport Modal from '../components/modal';\nimport Offcanvas from '../components/offcanvas';\nimport Popover from '../components/popover';\nimport ScrollSpy from '../components/scrollspy';\nimport Tab from '../components/tab';\nimport Toast from '../components/toast';\nimport Tooltip from '../components/tooltip';\n\nconst componentsList = new Map<\n string,\n | typeof Alert\n | typeof Button\n | typeof Carousel\n | typeof Collapse\n | typeof Dropdown\n | typeof Modal\n | typeof Offcanvas\n | typeof Popover\n | typeof ScrollSpy\n | typeof Tab\n | typeof Toast\n | typeof Tooltip\n>();\n\n[Alert, Button, Carousel, Collapse, Dropdown, Modal, Offcanvas, Popover, ScrollSpy, Tab, Toast, Tooltip].forEach(c =>\n componentsList.set(c.prototype.name, c),\n);\n\n/**\n * Initialize all matched `Element`s for one component.\n *\n * @param callback\n * @param collection\n */\nconst initComponentDataAPI = (\n callback: (el: HTMLElement, ops?: Record) => T,\n collection: HTMLCollectionOf | HTMLElement[],\n) => {\n [...collection].forEach(x => callback(x));\n};\n\n/**\n * Remove one component from a target container element or all in the page.\n *\n * @param component the component name\n * @param context parent `Node`\n */\nconst removeComponentDataAPI = (component: string, context: ParentNode) => {\n const compData = Data.getAllFor(component) as Map;\n\n if (compData) {\n [...compData].forEach(([element, instance]) => {\n if (context.contains(element)) (instance as T & { dispose: () => void }).dispose();\n });\n }\n};\n\n/**\n * Initialize all BSN components for a target container.\n *\n * @param context parent `Node`\n */\nexport const initCallback = (context?: ParentNode) => {\n const lookUp = context && context.nodeName ? context : document;\n const elemCollection = [...getElementsByTagName('*', lookUp)];\n\n componentsList.forEach(cs => {\n const { init, selector } = cs;\n initComponentDataAPI(\n init,\n elemCollection.filter(item => matches(item, selector)),\n );\n });\n};\n\n/**\n * Remove all BSN components for a target container.\n *\n * @param context parent `Node`\n */\nexport const removeDataAPI = (context?: ParentNode) => {\n const lookUp = context && context.nodeName ? context : document;\n\n componentsList.forEach(comp => {\n removeComponentDataAPI(comp.prototype.name, lookUp);\n });\n};\n\n// Bulk initialize all components\nif (document.body) initCallback();\nelse {\n addListener(document, 'DOMContentLoaded', () => initCallback(), { once: true });\n}\n"],"names":["fe","ge","Ee","ye","we","Ae","P","$","_","tt","st","rt","it","lt","pt","mt","ft","St","kt","Mt","Ct","zt","Vt","Ce","Re","Qe","je","qe","$e","Rt","Qt","C","U","jt","A","qt","S","z","x","vn","N","Gt","e","n","o","s","Jt","Kt","r","Xt","Yt","kn","Tn","Cn","Ln","In","zn","v","i","u","E","L","Hn","k","W","R","d","M","Zt","Q","g","ee","ne","Un","a","l","Qn","V","w","oe","jn","p","c","m","y","j","Gn","Xn","Yn","Zn","$n","I","se","f","_n","h","eo","T","ce","so","B","H","b","ae","ro","ie","uo","mo","ho","yo","Ao","le","So","de","Mo","To","Do","fadeClass","showClass","dataBsDismiss","alertString","alertComponent","Version","BaseComponent","target","config","__publicField","element","querySelector","isString","prevInstance","Data","ObjectKeys","normalizeOptions","prop","alertSelector","alertDismissSelector","getAlertInstance","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","hasClass","removeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent","activeClass","dataBsToggle","buttonString","buttonComponent","buttonSelector","getButtonInstance","buttonInitCallback","Button","isActive","getAttribute","addClass","setAttribute","ariaPressed","dataBsTarget","carouselString","carouselComponent","dataBsParent","dataBsContainer","getTargetElement","targetAttr","doc","getDocument","att","attValue","closest","carouselSelector","carouselItem","dataBsSlideTo","dataBsSlide","pausedClass","carouselDefaults","getCarouselInstance","carouselInitCallback","Carousel","startX","currentX","endX","carouselSlideEvent","carouselSlidEvent","carouselTransitionEndHandler","index","direction","slides","options","activeItem","getActiveIndex","orientation","directionClass","Timer","carouselPauseHandler","carouselResumeHandler","carouselIndicatorHandler","newIndex","carouselControlsHandler","carouselKeyHandler","code","querySelectorAll","isElementInScrollRange","RTL","isRTL","keyArrowRight","keyArrowLeft","carouselDragHandler","carouselPointerDownHandler","controls","indicators","el","toggleCarouselTouchHandlers","carouselPointerMoveHandler","carouselPointerUpHandler","_a","activateCarouselIndicator","pointermoveEvent","passiveHandler","pointerupEvent","isHTMLElement","touch","pause","interval","keyboard","mouseenterEvent","mouseleaveEvent","pointerdownEvent","touchstartEvent","dragstartEvent","arrow","indicator","keydownEvent","getElementsByClassName","activeIndex","transitionItem","matches","ar","isPaused","idx","next","eventProperties","ObjectAssign","getElementTransitionDuration","reflow","isAnimating","clone","collapsingClass","collapseString","collapseComponent","collapseSelector","collapseToggleSelector","collapseDefaults","getCollapseInstance","collapseInitCallback","Collapse","showCollapseEvent","shownCollapseEvent","hideCollapseEvent","hiddenCollapseEvent","expandCollapse","parent","triggers","noop","setElementStyle","btn","ariaExpanded","collapseContent","collapseClickHandler","trigger","activeCollapse","activeCollapseInstance","dropdownMenuClasses","dropdownComponent","dropdownMenuClass","isEmptyAnchor","parentAnchor","hasAttribute","dropdownString","dropupString","dropstartString","dropendString","dropdownClasses","dropdownSelector","getDropdownInstance","dropdownInitCallback","Dropdown","dropdownMenuEndClass","verticalClass","horizontalClass","menuFocusTags","dropdownDefaults","showDropdownEvent","shownDropdownEvent","hideDropdownEvent","hiddenDropdownEvent","updatedDropdownEvent","styleDropdown","menu","parentElement","offset","getElementStyle","menuEnd","style","positionClass","dropdownMargin","dropdownPosition","menuWidth","menuHeight","clientWidth","clientHeight","getDocumentElement","targetLeft","targetTop","targetWidth","targetHeight","getBoundingClientRect","leftFullExceed","rightFullExceed","bottomExceed","bottomFullExceed","topExceed","leftExceed","rightExceed","posAjust","margins","getMenuItems","firstElementChild","toggleDropdownDismiss","dropdownDismissHandler","focusEvent","dropdownPreventScroll","keyupEvent","dropdownKeyHandler","scrollEvent","resizeEvent","ev","getWindow","dropdownLayoutHandler","getCurrentOpenDropdown","currentParent","type","isForm","mousedownEvent","dropdownClickHandler","keyArrowDown","keyArrowUp","activeElement","open","menuItems","focus","keyEscape","currentElement","currentInstance","modalString","modalComponent","offcanvasComponent","fixedTopClass","fixedBottomClass","stickyTopClass","positionStickyClass","getFixedItems","resetScrollbar","bd","getDocumentBody","fixedItems","fixed","measureScrollbar","innerWidth","setScrollbar","overflow","bodyPad","sbWidth","itemPadValue","itemMValue","offcanvasString","popupContainer","createElement","appendPopup","customContainer","containerIsBody","isNode","lookup","BODY","removePopup","hasPopup","backdropString","modalBackdropClass","offcanvasBackdropClass","modalActiveSelector","offcanvasActiveSelector","overlay","getCurrentOpen","toggleOverlayType","isModal","targetClass","appendOverlay","hasFade","showOverlay","hideOverlay","removeOverlay","isVisible","modalSelector","modalToggleSelector","modalDismissSelector","modalStaticClass","modalDefaults","getModalInstance","modalInitCallback","Modal","showModalEvent","shownModalEvent","hideModalEvent","hiddenModalEvent","setModalScrollbar","scrollbarWidth","scrollHeight","modalHeight","modalScrollHeight","modalOverflow","pad","padStyle","toggleModalDismiss","update","modalDismissHandler","modalKeyHandler","afterModalHide","relatedTarget","focusElement","afterModalShow","beforeModalShow","removeAttribute","ariaHidden","ariaModal","beforeModalHide","modalClickHandler","currentTarget","isStatic","modalDialog","backdrop","selectedText","targetInsideDialog","staticTransitionEnd","duration","overlayDelay","currentOpen","that","callback","offcanvasSelector","offcanvasToggleSelector","offcanvasDismissSelector","offcanvasTogglingClass","offcanvasDefaults","getOffcanvasInstance","offcanvasInitCallback","Offcanvas","showOffcanvasEvent","shownOffcanvasEvent","hideOffcanvasEvent","hiddenOffcanvasEvent","setOffCanvasScrollbar","toggleOffCanvasDismiss","offcanvasKeyDismissHandler","offcanvasDismissHandler","beforeOffcanvasShow","showOffcanvasComplete","beforeOffcanvasHide","hideOffcanvasComplete","offcanvasTriggerHandler","offCanvasDismiss","selection","visibleTrigger","delay","popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","body","tipClassPositions","styleTip","tipClasses","tooltip","container","tipPositions","isPopover","tipWidth","tipHeight","htmlcw","htmlch","htmlow","placement","parentCWidth","parentOWidth","fixedParent","leftBoundry","rightBoundry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","topPosition","bottomPosition","leftPosition","rightPosition","arrowTop","arrowLeft","arrowRight","arrowWidth","arrowHeight","arrowAdjust","horizontals","verticals","updatedTooltipEvent","toLowerCase","tooltipDefaults","dataOriginalTitle","tooltipComponent","setHtml","content","sanitizeFn","dirty","isFunction","tempDocument","isNodeList","isArray","createTip","id","title","template","animation","customClass","dismissible","btnClose","tipString","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","tooltipHeader","tooltipBody","tempTitle","tempContent","tempBtn","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","tooltipSelector","titleAttr","getTooltipInstance","tooltipInitCallback","Tooltip","removeTooltip","offsetParent","ariaDescribedBy","hasTip","disposeTooltipComplete","toggleTooltipTitle","toggleTooltipAction","tooltipShownAction","shownTooltipEvent","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","offsetHeight","parentModal","parentOffcanvas","win","scrollTarget","titleAtt","tr","mousehoverEvent","focusinEvent","focusoutEvent","isApple","tipComponent","elem","getUID","position","outTimer","tipContainer","showTooltipEvent","hideTooltipEvent","enabled","popoverSelector","popoverDefaults","getPopoverInstance","popoverInitCallback","Popover","scrollspyString","scrollspyComponent","scrollspySelector","scrollspyDefaults","getScrollSpyInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","updateSpyTargets","itemsLength","isWin","isWindow","links","getElementsByTagName","scrollHEIGHT","getScrollHeight","href","targetItem","rect","getOffsetHeight","link","clear","item","activate","parents","parentItem","menuItem","parentLink","scrollTop","maxScroll","items","newActiveItem","offsets","tabString","tabComponent","tabSelector","getTabInstance","tabInitCallback","Tab","showTabEvent","shownTabEvent","hideTabEvent","hiddenTabEvent","tabPrivate","triggerTabEnd","tabContent","nav","triggerTabShow","nextContent","tab","currentHeight","nextHeight","triggerTabHide","getActiveTab","activeTabs","getParentDropdown","dropdown","tabClickHandler","firstTab","firstTabContent","ariaSelected","activeDropdown","toggleTab","toastString","toastComponent","toastSelector","toastDismissSelector","toastToggleSelector","showingClass","hideClass","toastDefaults","getToastInstance","toastInitCallback","Toast","showToastEvent","shownToastEvent","hideToastEvent","hiddenToastEvent","showToastComplete","hideToastComplete","hideToast","showToast","completeDisposeToast","toastClickHandler","interactiveToastHandler","isShown","hide","componentsList","initComponentDataAPI","collection","removeComponentDataAPI","component","context","compData","instance","initCallback","lookUp","elemCollection","cs","init","selector","removeDataAPI","comp"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file +{"version":3,"file":"bootstrap-native.js","sources":["../node_modules/.pnpm/@thednp+shorty@2.0.3/node_modules/@thednp/shorty/dist/shorty.mjs","../node_modules/.pnpm/@thednp+event-listener@2.0.5/node_modules/@thednp/event-listener/dist/event-listener.mjs","../src/strings/fadeClass.ts","../src/strings/showClass.ts","../src/strings/dataBsDismiss.ts","../src/strings/alertString.ts","../src/strings/alertComponent.ts","../src/version.ts","../src/components/base-component.ts","../src/components/alert.ts","../src/strings/activeClass.ts","../src/strings/dataBsToggle.ts","../src/strings/buttonString.ts","../src/strings/buttonComponent.ts","../src/components/button.ts","../src/strings/dataBsTarget.ts","../src/strings/carouselString.ts","../src/strings/carouselComponent.ts","../src/strings/dataBsParent.ts","../src/strings/dataBsContainer.ts","../src/util/getTargetElement.ts","../src/components/carousel.ts","../src/strings/collapsingClass.ts","../src/strings/collapseString.ts","../src/strings/collapseComponent.ts","../src/components/collapse.ts","../src/strings/dropdownClasses.ts","../src/strings/dropdownComponent.ts","../src/strings/dropdownMenuClass.ts","../src/util/isEmptyAnchor.ts","../src/components/dropdown.ts","../src/strings/modalString.ts","../src/strings/modalComponent.ts","../src/strings/offcanvasComponent.ts","../src/strings/fixedTopClass.ts","../src/strings/fixedBottomClass.ts","../src/strings/stickyTopClass.ts","../src/strings/positionStickyClass.ts","../src/util/scrollbar.ts","../src/strings/offcanvasString.ts","../src/util/popupContainer.ts","../src/util/backdrop.ts","../src/util/isVisible.ts","../src/components/modal.ts","../src/components/offcanvas.ts","../src/strings/popoverString.ts","../src/strings/popoverComponent.ts","../src/strings/tooltipString.ts","../src/util/getTipTemplate.ts","../src/util/tipClassPositions.ts","../src/util/styleTip.ts","../src/util/tooltipDefaults.ts","../src/strings/dataOriginalTitle.ts","../src/strings/tooltipComponent.ts","../src/util/setHtml.ts","../src/util/createTip.ts","../src/util/getElementContainer.ts","../src/components/tooltip.ts","../src/components/popover.ts","../src/strings/scrollspyString.ts","../src/strings/scrollspyComponent.ts","../src/components/scrollspy.ts","../src/strings/tabString.ts","../src/strings/tabComponent.ts","../src/components/tab.ts","../src/strings/toastString.ts","../src/strings/toastComponent.ts","../src/components/toast.ts","../src/util/init.ts"],"sourcesContent":["const pe = \"aria-checked\", me = \"aria-description\", fe = \"aria-describedby\", ge = \"aria-expanded\", ve = \"aria-haspopup\", Ee = \"aria-hidden\", be = \"aria-label\", he = \"aria-labelledby\", ye = \"aria-modal\", we = \"aria-pressed\", Ae = \"aria-selected\", Se = \"aria-valuemin\", Ne = \"aria-valuemax\", ke = \"aria-valuenow\", Me = \"aria-valuetext\", q = \"abort\", G = \"beforeunload\", J = \"blur\", K = \"change\", X = \"contextmenu\", P = \"DOMContentLoaded\", Y = \"DOMMouseScroll\", Z = \"error\", $ = \"focus\", _ = \"focusin\", tt = \"focusout\", et = \"gesturechange\", nt = \"gestureend\", ot = \"gesturestart\", st = \"keydown\", ct = \"keypress\", rt = \"keyup\", at = \"load\", it = \"click\", ut = \"dblclick\", lt = \"mousedown\", dt = \"mouseup\", pt = \"hover\", mt = \"mouseenter\", ft = \"mouseleave\", gt = \"mousein\", vt = \"mouseout\", Et = \"mouseover\", bt = \"mousemove\", ht = \"mousewheel\", yt = \"move\", wt = \"orientationchange\", At = \"pointercancel\", St = \"pointerdown\", Nt = \"pointerleave\", kt = \"pointermove\", Mt = \"pointerup\", Tt = \"readystatechange\", Dt = \"reset\", Ct = \"resize\", Ot = \"select\", Lt = \"selectend\", It = \"selectstart\", zt = \"scroll\", xt = \"submit\", Vt = \"touchstart\", Bt = \"touchmove\", Ht = \"touchcancel\", Pt = \"touchend\", Ft = \"unload\", Te = {\n DOMContentLoaded: P,\n DOMMouseScroll: Y,\n abort: q,\n beforeunload: G,\n blur: J,\n change: K,\n click: it,\n contextmenu: X,\n dblclick: ut,\n error: Z,\n focus: $,\n focusin: _,\n focusout: tt,\n gesturechange: et,\n gestureend: nt,\n gesturestart: ot,\n hover: pt,\n keydown: st,\n keypress: ct,\n keyup: rt,\n load: at,\n mousedown: lt,\n mousemove: bt,\n mousein: gt,\n mouseout: vt,\n mouseenter: mt,\n mouseleave: ft,\n mouseover: Et,\n mouseup: dt,\n mousewheel: ht,\n move: yt,\n orientationchange: wt,\n pointercancel: At,\n pointerdown: St,\n pointerleave: Nt,\n pointermove: kt,\n pointerup: Mt,\n readystatechange: Tt,\n reset: Dt,\n resize: Ct,\n scroll: zt,\n select: Ot,\n selectend: Lt,\n selectstart: It,\n submit: xt,\n touchcancel: Ht,\n touchend: Pt,\n touchmove: Bt,\n touchstart: Vt,\n unload: Ft\n}, De = \"drag\", Ce = \"dragstart\", Oe = \"dragenter\", Le = \"dragleave\", Ie = \"dragover\", ze = \"dragend\", xe = \"loadstart\", Ve = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, Be = { down: \"mousedown\", up: \"mouseup\" }, He = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : (\n /* istanbul ignore next */\n [\"mouseover\", \"mouseout\"]\n), Pe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, Fe = { in: \"focusin\", out: \"focusout\" }, Ue = {\n Backspace: \"Backspace\",\n // 8\n Tab: \"Tab\",\n // 9\n Enter: \"Enter\",\n // 13\n Shift: \"Shift\",\n // 16\n Control: \"Control\",\n // 17\n Alt: \"Alt\",\n // 18\n Pause: \"Pause\",\n // 19\n CapsLock: \"CapsLock\",\n // 20\n Escape: \"Escape\",\n // 27\n Scape: \"Space\",\n // 32\n ArrowLeft: \"ArrowLeft\",\n // 37\n ArrowUp: \"ArrowUp\",\n // 38\n ArrowRight: \"ArrowRight\",\n // 39\n ArrowDown: \"ArrowDown\",\n // 40\n Insert: \"Insert\",\n // 45\n Delete: \"Delete\",\n // 46\n Meta: \"Meta\",\n // 91 windows key\n ContextMenu: \"ContextMenu\",\n // 93\n ScrollLock: \"ScrollLock\"\n // 145\n}, We = \"Alt\", Re = \"ArrowDown\", Qe = \"ArrowUp\", je = \"ArrowLeft\", qe = \"ArrowRight\", Ge = \"Backspace\", Je = \"CapsLock\", Ke = \"Control\", Xe = \"Delete\", Ye = \"Enter\", Ze = \"NumpadEnter\", $e = \"Escape\", _e = \"Insert\", tn = \"Meta\", en = \"Pause\", nn = \"ScrollLock\", on = \"Shift\", sn = \"Space\", cn = \"Tab\", Ut = \"animationDuration\", Wt = \"animationDelay\", F = \"animationName\", D = \"animationend\", Rt = \"transitionDuration\", Qt = \"transitionDelay\", C = \"transitionend\", U = \"transitionProperty\", rn = \"addEventListener\", an = \"removeEventListener\", un = {\n linear: \"linear\",\n easingSinusoidalIn: \"cubic-bezier(0.47,0,0.745,0.715)\",\n easingSinusoidalOut: \"cubic-bezier(0.39,0.575,0.565,1)\",\n easingSinusoidalInOut: \"cubic-bezier(0.445,0.05,0.55,0.95)\",\n easingQuadraticIn: \"cubic-bezier(0.550,0.085,0.680,0.530)\",\n easingQuadraticOut: \"cubic-bezier(0.250,0.460,0.450,0.940)\",\n easingQuadraticInOut: \"cubic-bezier(0.455,0.030,0.515,0.955)\",\n easingCubicIn: \"cubic-bezier(0.55,0.055,0.675,0.19)\",\n easingCubicOut: \"cubic-bezier(0.215,0.61,0.355,1)\",\n easingCubicInOut: \"cubic-bezier(0.645,0.045,0.355,1)\",\n easingQuarticIn: \"cubic-bezier(0.895,0.03,0.685,0.22)\",\n easingQuarticOut: \"cubic-bezier(0.165,0.84,0.44,1)\",\n easingQuarticInOut: \"cubic-bezier(0.77,0,0.175,1)\",\n easingQuinticIn: \"cubic-bezier(0.755,0.05,0.855,0.06)\",\n easingQuinticOut: \"cubic-bezier(0.23,1,0.32,1)\",\n easingQuinticInOut: \"cubic-bezier(0.86,0,0.07,1)\",\n easingExponentialIn: \"cubic-bezier(0.95,0.05,0.795,0.035)\",\n easingExponentialOut: \"cubic-bezier(0.19,1,0.22,1)\",\n easingExponentialInOut: \"cubic-bezier(1,0,0,1)\",\n easingCircularIn: \"cubic-bezier(0.6,0.04,0.98,0.335)\",\n easingCircularOut: \"cubic-bezier(0.075,0.82,0.165,1)\",\n easingCircularInOut: \"cubic-bezier(0.785,0.135,0.15,0.86)\",\n easingBackIn: \"cubic-bezier(0.6,-0.28,0.735,0.045)\",\n easingBackOut: \"cubic-bezier(0.175,0.885,0.32,1.275)\",\n easingBackInOut: \"cubic-bezier(0.68,-0.55,0.265,1.55)\"\n}, ln = \"offsetHeight\", dn = \"offsetWidth\", pn = \"scrollHeight\", mn = \"scrollWidth\", fn = \"tabindex\", jt = navigator.userAgentData, A = jt, { userAgent: qt } = navigator, S = qt, z = /iPhone|iPad|iPod|Android/i;\nlet O = !1;\nA ? O = A.brands.some((t) => z.test(t.brand)) : O = z.test(S);\nconst gn = O, x = /(iPhone|iPod|iPad)/, vn = A ? A.brands.some((t) => x.test(t.brand)) : (\n /* istanbul ignore next */\n x.test(S)\n), En = S ? S.includes(\"Firefox\") : (\n /* istanbul ignore next */\n !1\n), { head: N } = document, bn = [\"webkitPerspective\", \"perspective\"].some((t) => t in N.style), Gt = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(e, n, s);\n}, Jt = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(e, n, s);\n}, Kt = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Jt(t, e, s, o));\n };\n Gt(t, e, s, o);\n}, Xt = () => {\n}, hn = (() => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n Kt(document, P, Xt, e);\n } catch {\n }\n return t;\n})(), yn = [\"webkitTransform\", \"transform\"].some((t) => t in N.style), wn = \"ontouchstart\" in window || /* istanbul ignore next */\n\"msMaxTouchPoints\" in navigator, An = [\"webkitAnimation\", \"animation\"].some((t) => t in N.style), Sn = [\"webkitTransition\", \"transition\"].some((t) => t in N.style), Yt = (t, e) => t.getAttribute(e), Nn = (t, e, n) => e.getAttributeNS(t, n), kn = (t, e) => t.hasAttribute(e), Mn = (t, e, n) => e.hasAttributeNS(t, n), Tn = (t, e, n) => t.setAttribute(e, n), Dn = (t, e, n, o) => e.setAttributeNS(t, n, o), Cn = (t, e) => t.removeAttribute(e), On = (t, e, n) => e.removeAttributeNS(t, n), Ln = (t, ...e) => {\n t.classList.add(...e);\n}, In = (t, ...e) => {\n t.classList.remove(...e);\n}, zn = (t, e) => t.classList.contains(e), { body: xn } = document, { documentElement: Vn } = document, Bn = (t) => Array.from(t), v = (t) => t != null && typeof t == \"object\" || !1, i = (t) => v(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some((e) => t.nodeType === e) || !1, u = (t) => i(t) && t.nodeType === 1 || !1, E = /* @__PURE__ */ new Map(), L = {\n data: E,\n /**\n * Sets web components data.\n *\n * @param element target element\n * @param component the component's name or a unique key\n * @param instance the component instance\n */\n set: (t, e, n) => {\n if (!u(t)) return;\n E.has(e) || E.set(e, /* @__PURE__ */ new Map()), E.get(e).set(t, n);\n },\n /**\n * Returns all instances for specified component.\n *\n * @param component the component's name or a unique key\n * @returns all the component instances\n */\n getAllFor: (t) => E.get(t) || null,\n /**\n * Returns the instance associated with the target.\n *\n * @param element target element\n * @param component the component's name or a unique key\n * @returns the instance\n */\n get: (t, e) => {\n if (!u(t) || !e) return null;\n const n = L.getAllFor(e);\n return t && n && n.get(t) || null;\n },\n /**\n * Removes web components data.\n *\n * @param element target element\n * @param component the component's name or a unique key\n */\n remove: (t, e) => {\n const n = L.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && E.delete(e));\n }\n}, Hn = (t, e) => L.get(t, e), k = (t) => typeof t == \"string\" || !1, W = (t) => v(t) && t.constructor.name === \"Window\" || !1, R = (t) => i(t) && t.nodeType === 9 || !1, d = (t) => W(t) ? t.document : R(t) ? t : i(t) ? t.ownerDocument : window.document, M = (t, ...e) => Object.assign(t, ...e), Zt = (t) => {\n if (!t) return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = Zt(e);\n if (!n) return;\n const o = { ...t };\n return delete o.tagName, M(n, o);\n}, $t = (t, e) => {\n if (!t || !e) return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = $t(t, n);\n if (!o) return;\n const s = { ...e };\n return delete s.tagName, M(o, s);\n}, Q = (t, e) => t.dispatchEvent(e), Pn = (t, e, n) => n.indexOf(t) === e, g = (t, e) => {\n const n = getComputedStyle(t), o = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return n.getPropertyValue(o);\n}, _t = (t) => {\n const e = g(t, F), n = g(t, Wt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, te = (t) => {\n const e = g(t, F), n = g(t, Ut), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, Fn = (t, e) => {\n let n = 0;\n const o = new Event(D), s = te(t), r = _t(t);\n if (s) {\n const a = (l) => {\n l.target === t && (e.apply(t, [l]), t.removeEventListener(D, a), n = 1);\n };\n t.addEventListener(D, a), setTimeout(() => {\n n || Q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ee = (t) => {\n const e = g(t, U), n = g(t, Qt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : (\n /* istanbul ignore next */\n 0\n );\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, ne = (t) => {\n const e = g(t, U), n = g(t, Rt), o = n.includes(\"ms\") ? (\n /* istanbul ignore next */\n 1\n ) : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : (\n /* istanbul ignore next */\n 0\n );\n return Number.isNaN(s) ? (\n /* istanbul ignore next */\n 0\n ) : s;\n}, Un = (t, e) => {\n let n = 0;\n const o = new Event(C), s = ne(t), r = ee(t);\n if (s) {\n const a = (l) => {\n l.target === t && (e.apply(t, [l]), t.removeEventListener(C, a), n = 1);\n };\n t.addEventListener(C, a), setTimeout(() => {\n n || Q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, Wn = (t) => Float32Array.from(Array.from(t)), Rn = (t) => Float64Array.from(Array.from(t)), Qn = (t, e) => t.focus(e), V = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, w = (t) => Object.entries(t), oe = (t) => t.toLowerCase(), jn = (t, e, n, o) => {\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, l = {}, p = \"title\";\n return w(r).forEach(([c, m]) => {\n const y = o && typeof c == \"string\" && c.includes(o) ? c.replace(o, \"\").replace(/[A-Z]/g, (j) => oe(j)) : c;\n l[y] = V(m);\n }), w(s).forEach(([c, m]) => {\n s[c] = V(m);\n }), w(e).forEach(([c, m]) => {\n c in s ? a[c] = s[c] : c in l ? a[c] = l[c] : a[c] = c === p ? Yt(t, p) : m;\n }), a;\n}, qn = (t, e) => v(t) && (Object.hasOwn(t, e) || e in t), Gn = (t) => Object.keys(t), Jn = (t) => Object.values(t), Kn = (t) => Object.fromEntries(t), Xn = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return v(e) && M(n, e), n;\n}, Yn = { passive: !0 }, Zn = (t) => t.offsetHeight, $n = (t, e) => {\n w(e).forEach(([n, o]) => {\n if (o && k(n) && n.includes(\"--\"))\n t.style.setProperty(n, o);\n else {\n const s = {};\n s[n] = o, M(t.style, s);\n }\n });\n}, I = (t) => v(t) && t.constructor.name === \"Map\" || !1, se = (t) => typeof t == \"number\" || !1, f = /* @__PURE__ */ new Map(), _n = {\n /**\n * Sets a new timeout timer for an element, or element -> key association.\n *\n * @param element target element\n * @param callback the callback\n * @param delay the execution delay\n * @param key a unique key\n */\n set: (t, e, n, o) => {\n u(t) && (o && o.length ? (f.has(t) || f.set(t, /* @__PURE__ */ new Map()), f.get(t).set(o, setTimeout(e, n))) : f.set(t, setTimeout(e, n)));\n },\n /**\n * Returns the timer associated with the target.\n *\n * @param element target element\n * @param key a unique\n * @returns the timer\n */\n get: (t, e) => {\n if (!u(t)) return null;\n const n = f.get(t);\n return e && n && I(n) ? n.get(e) || /* istanbul ignore next */\n null : se(n) ? n : null;\n },\n /**\n * Clears the element's timer.\n *\n * @param element target element\n * @param key a unique key\n */\n clear: (t, e) => {\n if (!u(t)) return;\n const n = f.get(t);\n e && e.length && I(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && f.delete(t)) : (clearTimeout(n), f.delete(t));\n }\n}, to = (t) => t.toUpperCase(), h = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: l } = t.getBoundingClientRect();\n let p = 1, c = 1;\n if (e && u(t)) {\n const { offsetWidth: m, offsetHeight: y } = t;\n p = m > 0 ? Math.round(n) / m : (\n /* istanbul ignore next */\n 1\n ), c = y > 0 ? Math.round(o) / y : (\n /* istanbul ignore next */\n 1\n );\n }\n return {\n width: n / p,\n height: o / c,\n top: s / c,\n right: r / p,\n bottom: a / c,\n left: l / p,\n x: l / p,\n y: s / c\n };\n}, eo = (t) => d(t).body, T = (t) => d(t).documentElement, no = (t) => d(t).head, oo = (t) => {\n const e = W(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, ce = (t) => i(t) && t.constructor.name === \"ShadowRoot\" || !1, so = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || // step into the shadow DOM of the parent of a slotted node\ni(t) && t.parentNode || // DOM Element detected\nce(t) && t.host || // ShadowRoot detected\nT(t), re = (t) => {\n if (!u(t)) return !1;\n const { width: e, height: n } = h(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, co = (t, e, n) => {\n const o = u(e), s = h(t, o && re(e)), r = { x: 0, y: 0 };\n if (o) {\n const a = h(e, !0);\n r.x = a.x + e.clientLeft, r.y = a.y + e.clientTop;\n }\n return {\n x: s.left + n.x - r.x,\n y: s.top + n.y - r.y,\n width: s.width,\n height: s.height\n };\n};\nlet B = 0, H = 0;\nconst b = /* @__PURE__ */ new Map(), ae = (t, e) => {\n let n = e ? B : H;\n if (e) {\n const o = ae(t), s = b.get(o) || /* @__PURE__ */ new Map();\n b.has(o) || b.set(o, s), I(s) && !s.has(e) ? (s.set(e, n), B += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n b.has(o) ? n = b.get(o) : (b.set(o, n), H += 1);\n }\n return n;\n}, ro = (t) => {\n var e;\n return t ? R(t) ? t.defaultView : i(t) ? (e = t == null ? void 0 : t.ownerDocument) == null ? void 0 : e.defaultView : t : window;\n}, ie = (t) => Array.isArray(t) || !1, ao = (t) => i(t) && t.nodeName === \"CANVAS\" || !1, ue = (t) => u(t) && !!t.shadowRoot || !1, io = (t) => i(t) && [1, 2, 3, 4, 5, 6, 7, 8].some((e) => t.nodeType === e) || !1, uo = (t) => {\n if (!i(t)) return !1;\n const { top: e, bottom: n } = h(t), { clientHeight: o } = T(t);\n return e <= o && n >= 0;\n}, lo = (t) => {\n if (!i(t)) return !1;\n const { clientWidth: e, clientHeight: n } = T(t), { top: o, left: s, bottom: r, right: a } = h(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, po = (t) => ie(t) && t.every(u) || !1, mo = (t) => typeof t == \"function\" || !1, fo = (t) => v(t) && t.constructor.name === \"HTMLCollection\" || !1, go = (t) => u(t) && t.tagName === \"IMG\" || !1, vo = (t) => {\n if (!k(t)) return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Eo = (t) => v(t) && t.constructor.name === \"WeakMap\" || !1, bo = (t) => i(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some((e) => t.constructor.name.includes(e)) || !1, ho = (t) => v(t) && t.constructor.name === \"NodeList\" || !1, yo = (t) => T(t).dir === \"rtl\", wo = (t) => i(t) && t.constructor.name.includes(\"SVG\") || !1, Ao = (t) => i(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, le = (t, e) => t ? t.closest(e) || // break out of `ShadowRoot`\nle(t.getRootNode().host, e) : null, So = (t, e) => u(t) ? t : (i(e) ? e : d()).querySelector(t), de = (t, e) => (i(e) ? e : d()).getElementsByTagName(t), No = (t) => [...de(\"*\", t)].filter(ue), ko = (t, e) => d(e).getElementById(t) || null, Mo = (t, e) => (i(e) ? e : d()).querySelectorAll(t), To = (t, e) => (e && i(e) ? e : d()).getElementsByClassName(\n t\n), Do = (t, e) => t.matches(e), Co = \"2.0.3\";\nexport {\n Bn as ArrayFrom,\n P as DOMContentLoadedEvent,\n Y as DOMMouseScrollEvent,\n L as Data,\n Wn as Float32ArrayFrom,\n Rn as Float64ArrayFrom,\n M as ObjectAssign,\n w as ObjectEntries,\n Kn as ObjectFromEntries,\n qn as ObjectHasOwn,\n Gn as ObjectKeys,\n Jn as ObjectValues,\n _n as Timer,\n q as abortEvent,\n Ln as addClass,\n rn as addEventListener,\n Wt as animationDelay,\n Ut as animationDuration,\n D as animationEndEvent,\n F as animationName,\n pe as ariaChecked,\n fe as ariaDescribedBy,\n me as ariaDescription,\n ge as ariaExpanded,\n ve as ariaHasPopup,\n Ee as ariaHidden,\n be as ariaLabel,\n he as ariaLabelledBy,\n ye as ariaModal,\n we as ariaPressed,\n Ae as ariaSelected,\n Ne as ariaValueMax,\n Se as ariaValueMin,\n ke as ariaValueNow,\n Me as ariaValueText,\n G as beforeunloadEvent,\n un as bezierEasings,\n J as blurEvent,\n K as changeEvent,\n le as closest,\n X as contextmenuEvent,\n Xn as createCustomEvent,\n Zt as createElement,\n $t as createElementNS,\n Q as dispatchEvent,\n Pn as distinct,\n xn as documentBody,\n Vn as documentElement,\n N as documentHead,\n De as dragEvent,\n ze as dragendEvent,\n Oe as dragenterEvent,\n Le as dragleaveEvent,\n Ie as dragoverEvent,\n Ce as dragstartEvent,\n Fn as emulateAnimationEnd,\n Un as emulateTransitionEnd,\n Z as errorEvent,\n Qn as focus,\n $ as focusEvent,\n Fe as focusEvents,\n _ as focusinEvent,\n tt as focusoutEvent,\n et as gesturechangeEvent,\n nt as gestureendEvent,\n ot as gesturestartEvent,\n Yt as getAttribute,\n Nn as getAttributeNS,\n h as getBoundingClientRect,\n No as getCustomElements,\n d as getDocument,\n eo as getDocumentBody,\n T as getDocumentElement,\n no as getDocumentHead,\n _t as getElementAnimationDelay,\n te as getElementAnimationDuration,\n ko as getElementById,\n g as getElementStyle,\n ee as getElementTransitionDelay,\n ne as getElementTransitionDuration,\n To as getElementsByClassName,\n de as getElementsByTagName,\n Hn as getInstance,\n oo as getNodeScroll,\n so as getParentNode,\n co as getRectRelativeToOffsetParent,\n ae as getUID,\n ro as getWindow,\n kn as hasAttribute,\n Mn as hasAttributeNS,\n zn as hasClass,\n vn as isApple,\n ie as isArray,\n ao as isCanvas,\n ue as isCustomElement,\n R as isDocument,\n io as isElement,\n uo as isElementInScrollRange,\n lo as isElementInViewport,\n po as isElementsArray,\n En as isFirefox,\n mo as isFunction,\n fo as isHTMLCollection,\n u as isHTMLElement,\n go as isHTMLImageElement,\n vo as isJSON,\n I as isMap,\n bo as isMedia,\n gn as isMobile,\n i as isNode,\n ho as isNodeList,\n se as isNumber,\n v as isObject,\n yo as isRTL,\n wo as isSVGElement,\n re as isScaledElement,\n ce as isShadowRoot,\n k as isString,\n Ao as isTableElement,\n Eo as isWeakMap,\n W as isWindow,\n We as keyAlt,\n Re as keyArrowDown,\n je as keyArrowLeft,\n qe as keyArrowRight,\n Qe as keyArrowUp,\n Ge as keyBackspace,\n Je as keyCapsLock,\n Ke as keyControl,\n Xe as keyDelete,\n Ye as keyEnter,\n $e as keyEscape,\n _e as keyInsert,\n tn as keyMeta,\n Ze as keyNumpadEnter,\n en as keyPause,\n nn as keyScrollLock,\n on as keyShift,\n sn as keySpace,\n cn as keyTab,\n Ue as keyboardEventKeys,\n st as keydownEvent,\n ct as keypressEvent,\n rt as keyupEvent,\n at as loadEvent,\n xe as loadstartEvent,\n Do as matches,\n Be as mouseClickEvents,\n He as mouseHoverEvents,\n Ve as mouseSwipeEvents,\n it as mouseclickEvent,\n ut as mousedblclickEvent,\n lt as mousedownEvent,\n mt as mouseenterEvent,\n pt as mousehoverEvent,\n gt as mouseinEvent,\n ft as mouseleaveEvent,\n bt as mousemoveEvent,\n vt as mouseoutEvent,\n Et as mouseoverEvent,\n dt as mouseupEvent,\n ht as mousewheelEvent,\n yt as moveEvent,\n Te as nativeEvents,\n Xt as noop,\n jn as normalizeOptions,\n V as normalizeValue,\n Jt as off,\n ln as offsetHeight,\n dn as offsetWidth,\n Gt as on,\n Kt as one,\n wt as orientationchangeEvent,\n Yn as passiveHandler,\n At as pointercancelEvent,\n St as pointerdownEvent,\n Nt as pointerleaveEvent,\n kt as pointermoveEvent,\n Mt as pointerupEvent,\n So as querySelector,\n Mo as querySelectorAll,\n Tt as readystatechangeEvent,\n Zn as reflow,\n Cn as removeAttribute,\n On as removeAttributeNS,\n In as removeClass,\n an as removeEventListener,\n Dt as resetEvent,\n Ct as resizeEvent,\n zt as scrollEvent,\n pn as scrollHeight,\n mn as scrollWidth,\n Ot as selectEvent,\n Lt as selectendEvent,\n It as selectstartEvent,\n Tn as setAttribute,\n Dn as setAttributeNS,\n $n as setElementStyle,\n xt as submitEvent,\n bn as support3DTransform,\n An as supportAnimation,\n hn as supportPassive,\n wn as supportTouch,\n yn as supportTransform,\n Sn as supportTransition,\n fn as tabindex,\n oe as toLowerCase,\n to as toUpperCase,\n Pe as touchEvents,\n Ht as touchcancelEvent,\n Pt as touchendEvent,\n Bt as touchmoveEvent,\n Vt as touchstartEvent,\n Qt as transitionDelay,\n Rt as transitionDuration,\n C as transitionEndEvent,\n U as transitionProperty,\n Ft as unloadEvent,\n S as userAgent,\n A as userAgentData,\n Co as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const e = {}, f = (t) => {\n const { type: c, currentTarget: i } = t;\n [...e[c]].forEach(([n, s]) => {\n i === n && [...s].forEach(([o, a]) => {\n o.apply(n, [t]), typeof a == \"object\" && a.once && r(n, c, o, a);\n });\n });\n}, E = (t, c, i, n) => {\n e[c] || (e[c] = /* @__PURE__ */ new Map());\n const s = e[c];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(t), { size: a } = o;\n o.set(i, n), a || t.addEventListener(c, f, n);\n}, r = (t, c, i, n) => {\n const s = e[c], o = s && s.get(t), a = o && o.get(i), d = a !== void 0 ? a : n;\n o && o.has(i) && o.delete(i), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[c], (!o || !o.size) && t.removeEventListener(\n c,\n f,\n d\n );\n}, g = E, M = r;\nexport {\n E as addListener,\n f as globalListener,\n M as off,\n g as on,\n e as registry,\n r as removeListener\n};\n//# sourceMappingURL=event-listener.mjs.map\n","/**\n * Global namespace for most components `fade` class.\n */\nconst fadeClass = 'fade';\nexport default fadeClass;\n","/**\n * Global namespace for most components `show` class.\n */\nconst showClass = 'show';\nexport default showClass;\n","/**\n * Global namespace for most components `dismiss` option.\n */\nconst dataBsDismiss = 'data-bs-dismiss';\nexport default dataBsDismiss;\n","/** @type {string} */\nconst alertString = 'alert';\nexport default alertString;\n","/** @type {string} */\nconst alertComponent = 'Alert';\nexport default alertComponent;\n","import { version } from '../package.json';\n\nconst Version = version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport { querySelector, normalizeOptions, Data, ObjectKeys, isString } from '@thednp/shorty';\n\nimport type { BaseOptions } from '../interface/baseComponent';\nimport Version from '../version';\n\n/** Returns a new `BaseComponent` instance. */\nexport default class BaseComponent {\n declare element: HTMLElement;\n declare options?: BaseOptions;\n\n /**\n * @param target `HTMLElement` or selector string\n * @param config component instance options\n */\n constructor(target: HTMLElement | string, config?: BaseOptions) {\n const element = querySelector(target);\n\n if (!element) {\n if (isString(target)) {\n throw Error(`${this.name} Error: \"${target}\" is not a valid selector.`);\n } else {\n throw Error(`${this.name} Error: your target is not an instance of HTMLElement.`);\n }\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else */\n if (prevInstance) {\n // remove previously attached event listeners\n // to avoid memory leaks\n prevInstance._toggleEventListeners();\n }\n\n this.element = element;\n this.options =\n this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, 'bs')\n : {};\n\n Data.set(element, this.name, this);\n }\n\n /* istanbul ignore next */\n get version() {\n return Version;\n }\n\n /* istanbul ignore next */\n get name() {\n return 'BaseComponent';\n }\n\n /* istanbul ignore next */\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n _toggleEventListeners = () => {\n // do something to please linters\n };\n\n /** Removes component from target element. */\n dispose() {\n Data.remove(this.element, this.name);\n ObjectKeys(this).forEach(prop => {\n delete this[prop];\n });\n }\n}\n","/* Native JavaScript for Bootstrap 5 | Alert\n-------------------------------------------- */\nimport {\n emulateTransitionEnd,\n mouseclickEvent,\n getInstance,\n querySelector,\n hasClass,\n removeClass,\n dispatchEvent,\n createCustomEvent,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport alertString from '../strings/alertString';\nimport alertComponent from '../strings/alertComponent';\nimport type { AlertEvent } from '../interface/alert';\n\nimport BaseComponent from './base-component';\n\n// ALERT PRIVATE GC\n// ================\nconst alertSelector = `.${alertString}`;\nconst alertDismissSelector = `[${dataBsDismiss}=\"${alertString}\"]`;\n\n/**\n * Static method which returns an existing `Alert` instance associated\n * to a target `Element`.\n *\n */\nconst getAlertInstance = (element: HTMLElement) => getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: HTMLElement) => new Alert(element) as T;\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent(`close.bs.${alertString}`);\nconst closedAlertEvent = createCustomEvent(`closed.bs.${alertString}`);\n\n// ALERT EVENT HANDLER\n// ===================\n/**\n * Alert `transitionend` callback.\n *\n * @param that target Alert instance\n */\nconst alertTransitionEnd = (self: Alert) => {\n const { element } = self;\n dispatchEvent(element, closedAlertEvent);\n\n self._toggleEventListeners();\n self.dispose();\n element.remove();\n};\n\n// ALERT DEFINITION\n// ================\n/** Creates a new Alert instance. */\nexport default class Alert extends BaseComponent {\n static selector = alertSelector;\n static init = alertInitCallback;\n static getInstance = getAlertInstance;\n dismiss: HTMLElement | null;\n\n constructor(target: HTMLElement | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(alertDismissSelector, this.element);\n\n // add event listener\n this._toggleEventListeners(true);\n }\n\n /** Returns component name string. */\n get name() {\n return alertComponent;\n }\n\n // ALERT PUBLIC METHODS\n // ====================\n /**\n * Public method that hides the `.alert` element from the user,\n * disposes the instance once animation is complete, then\n * removes the element from the DOM.\n */\n close = () => {\n const { element } = this;\n\n /* istanbul ignore else */\n if (element && hasClass(element, showClass)) {\n dispatchEvent(element, closeAlertEvent);\n\n if (!closeAlertEvent.defaultPrevented) {\n removeClass(element, showClass);\n\n if (hasClass(element, fadeClass)) {\n emulateTransitionEnd(element, () => alertTransitionEnd(this));\n } else alertTransitionEnd(this);\n }\n }\n };\n /**\n * Toggle on / off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { dismiss, close } = this;\n /* istanbul ignore else */\n if (dismiss) action(dismiss, mouseclickEvent, close);\n };\n\n /** Remove the component from target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/**\n * Global namespace for most components active class.\n */\nconst activeClass = 'active';\nexport default activeClass;\n","/**\n * Global namespace for most components `toggle` option.\n */\nconst dataBsToggle = 'data-bs-toggle';\nexport default dataBsToggle;\n","/** @type {string} */\nconst buttonString = 'button';\nexport default buttonString;\n","/** @type {string} */\nconst buttonComponent = 'Button';\nexport default buttonComponent;\n","/* Native JavaScript for Bootstrap 5 | Button\n---------------------------------------------*/\nimport {\n getInstance,\n removeClass,\n hasClass,\n addClass,\n setAttribute,\n mouseclickEvent,\n ariaPressed,\n getAttribute,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport buttonString from '../strings/buttonString';\nimport buttonComponent from '../strings/buttonComponent';\n\nimport BaseComponent from './base-component';\n\n// BUTTON PRIVATE GC\n// =================\nconst buttonSelector = `[${dataBsToggle}=\"${buttonString}\"]`;\n\n/**\n * Static method which returns an existing `Button` instance associated\n * to a target `Element`.\n */\nconst getButtonInstance = (element: HTMLElement) => getInstance',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n *\n */\nconst getPopoverInstance = (element: HTMLElement) => getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: HTMLElement) => new Popover(element);\n\n// POPOVER DEFINITION\n// ==================\n/** Returns a new `Popover` instance. */\nexport default class Popover extends Tooltip {\n static selector = popoverSelector;\n static init = popoverInitCallback;\n static getInstance = getPopoverInstance;\n static styleTip = styleTip;\n declare options: PopoverOptions;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return popoverComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return popoverDefaults;\n }\n\n /* extend original `show()` */\n show = () => {\n super.show();\n // btn only exists within dismissible popover\n const { options, btn } = this;\n /* istanbul ignore else */\n if (options.dismissible && btn) setTimeout(() => focus(btn), 17);\n };\n}\n","/** @type {string} */\nconst scrollspyString = 'scrollspy';\nexport default scrollspyString;\n","/** @type {string} */\nconst scrollspyComponent = 'ScrollSpy';\nexport default scrollspyComponent;\n","/* Native JavaScript for Bootstrap 5 | ScrollSpy\n------------------------------------------------ */\nimport {\n getDocumentBody,\n getDocumentElement,\n getDocument,\n getWindow,\n removeClass,\n hasClass,\n addClass,\n getElementsByTagName,\n getAttribute,\n querySelector,\n isHTMLElement,\n isWindow,\n createCustomEvent,\n getInstance,\n scrollEvent,\n passiveHandler,\n dispatchEvent,\n getBoundingClientRect,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport activeClass from '../strings/activeClass';\nimport scrollspyString from '../strings/scrollspyString';\nimport scrollspyComponent from '../strings/scrollspyComponent';\n\nimport BaseComponent from './base-component';\nimport { ScrollSpyOptions, ScrollSpyEvent } from '../interface/scrollspy';\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: ScrollSpyOptions = {\n offset: 10,\n target: null,\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: HTMLElement) => getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: HTMLElement) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent(`activate.bs.${scrollspyString}`);\n\n// SCROLLSPY PRIVATE METHODS\n// =========================\n/**\n * Update the state of all items.\n *\n * @param self the `ScrollSpy` instance\n */\nconst updateSpyTargets = (self: ScrollSpy) => {\n const { target, scrollTarget, options, itemsLength, scrollHeight, element } = self;\n const { offset } = options;\n const isWin = isWindow(scrollTarget as Node | Window);\n\n const links = target && getElementsByTagName('A', target);\n const scrollHEIGHT = scrollTarget ? getScrollHeight(scrollTarget) : /* istanbul ignore next */ scrollHeight;\n\n self.scrollTop = isWin ? (scrollTarget as Window).scrollY : (scrollTarget as HTMLElement).scrollTop;\n\n // only update items/offsets once or with each mutation\n /* istanbul ignore else */\n if (links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)) {\n let href;\n let targetItem;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n [...links].forEach(link => {\n href = getAttribute(link, 'href');\n targetItem =\n href && href.charAt(0) === '#' && href.slice(-1) !== '#' && querySelector(href, getDocument(element));\n\n if (targetItem) {\n self.items.push(link);\n rect = getBoundingClientRect(targetItem);\n self.offsets.push((isWin ? rect.top + self.scrollTop : targetItem.offsetTop) - offset);\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Returns the `scrollHeight` property of the scrolling element.\n *\n * @param scrollTarget the `ScrollSpy` instance\n * @return `scrollTarget` height\n */\nconst getScrollHeight = (scrollTarget: Node | Window) => {\n return isHTMLElement(scrollTarget as Node)\n ? (scrollTarget as HTMLElement).scrollHeight\n : getDocumentElement(scrollTarget as Node).scrollHeight;\n};\n\n/**\n * Returns the height property of the scrolling element.\n *\n * @param params the `ScrollSpy` instance\n */\nconst getOffsetHeight = ({ element, scrollTarget }: ScrollSpy) => {\n return isWindow(scrollTarget as Node) ? (scrollTarget as Window).innerHeight : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: HTMLElement) => {\n [...getElementsByTagName('A', target)].forEach(item => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n });\n};\n\n/**\n * Activates a new item.\n *\n * @param self the `ScrollSpy` instance\n * @param item a single item\n */\nconst activate = (self: ScrollSpy, item: HTMLElement) => {\n const { target, element } = self;\n if (isHTMLElement(target)) clear(target);\n self.activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n const parents: HTMLElement[] = [];\n let parentItem = item;\n while (parentItem !== getDocumentBody(element)) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (hasClass(parentItem, 'nav') || hasClass(parentItem, 'dropdown-menu')) parents.push(parentItem);\n }\n\n parents.forEach(menuItem => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n /* istanbul ignore else */\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n });\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\n// SCROLLSPY DEFINITION\n// ====================\n/** Returns a new `ScrollSpy` instance. */\nexport default class ScrollSpy extends BaseComponent {\n static selector = scrollspySelector;\n static init = scrollspyInitCallback;\n static getInstance = getScrollSpyInstance;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement | Window;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // additional properties\n this.target = querySelector(options.target as HTMLElement | string, getDocument(element));\n\n // invalidate\n if (this.target) {\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight ? element : getWindow(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // add event handlers\n this._toggleEventListeners(true);\n\n this.refresh();\n }\n }\n\n /* eslint-disable */\n /**\n * Returns component name string.\n */\n get name() {\n return scrollspyComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return scrollspyDefaults;\n }\n /* eslint-enable */\n\n // SCROLLSPY PUBLIC METHODS\n // ========================\n /** Updates all items. */\n refresh = () => {\n const { target } = this;\n\n // check if target is visible and invalidate\n /* istanbul ignore else */\n if (isHTMLElement(target) && target.offsetHeight > 0) {\n updateSpyTargets(this);\n\n const { scrollTop, maxScroll, itemsLength, items, activeItem } = this;\n\n if (scrollTop >= maxScroll) {\n const newActiveItem = items[itemsLength - 1];\n\n /* istanbul ignore else */\n if (activeItem !== newActiveItem) {\n activate(this, newActiveItem);\n }\n return;\n }\n\n const { offsets } = this;\n\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n if (target) clear(target);\n return;\n }\n\n items.forEach((item, i) => {\n if (\n activeItem !== item &&\n scrollTop >= offsets[i] &&\n (typeof offsets[i + 1] === 'undefined' || scrollTop < offsets[i + 1])\n ) {\n activate(this, item);\n }\n });\n }\n };\n\n /**\n * Toggles on/off the component event listener.\n *\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.scrollTarget as EventTarget, scrollEvent, this.refresh, passiveHandler);\n };\n\n /** Removes `ScrollSpy` from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/** @type {string} */\nconst tabString = 'tab';\nexport default tabString;\n","/** @type {string} */\nconst tabComponent = 'Tab';\nexport default tabComponent;\n","/* Native JavaScript for Bootstrap 5 | Tab\n------------------------------------------ */\nimport {\n emulateTransitionEnd,\n dispatchEvent,\n removeClass,\n hasClass,\n addClass,\n querySelector,\n getElementsByClassName,\n closest,\n setAttribute,\n mouseclickEvent,\n createCustomEvent,\n Timer,\n getInstance,\n ariaSelected,\n reflow,\n isHTMLElement,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport collapsingClass from '../strings/collapsingClass';\nimport activeClass from '../strings/activeClass';\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dropdownClasses from '../strings/dropdownClasses';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport tabString from '../strings/tabString';\nimport tabComponent from '../strings/tabComponent';\n\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport type { /* TabOptions, */ TabEvent } from '../interface/tab';\n\n// TAB PRIVATE GC\n// ================\nconst tabSelector = `[${dataBsToggle}=\"${tabString}\"]`;\n\n/**\n * Static method which returns an existing `Tab` instance associated\n * to a target `Element`.\n */\nconst getTabInstance = (element: HTMLElement) => getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: HTMLElement) => new Tab(element);\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(`show.bs.${tabString}`);\nconst shownTabEvent = createCustomEvent(`shown.bs.${tabString}`);\nconst hideTabEvent = createCustomEvent(`hide.bs.${tabString}`);\nconst hiddenTabEvent = createCustomEvent(`hidden.bs.${tabString}`);\n\ninterface TabPrivate {\n tab: HTMLElement | null;\n content: HTMLElement | null;\n currentHeight: number;\n nextHeight: number;\n}\n\n/**\n * Stores the current active tab and its content\n * for a given `.nav` element.\n */\nconst tabPrivate: Map = new Map();\n\n// TAB PRIVATE METHODS\n// ===================\n/**\n * Executes after tab transition has finished.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabEnd = (self: Tab) => {\n const { tabContent, nav } = self;\n\n /* istanbul ignore else */\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = '';\n removeClass(tabContent, collapsingClass);\n }\n\n /* istanbul ignore else */\n if (nav) Timer.clear(nav);\n};\n\n/**\n * Executes before showing the tab content.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabShow = (self: Tab) => {\n const { element, tabContent, content: nextContent, nav } = self;\n const { tab } = (isHTMLElement(nav) && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null };\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) || /* istanbul ignore next */ {\n currentHeight: 0,\n nextHeight: 0,\n };\n if (currentHeight === nextHeight) {\n triggerTabEnd(self);\n } else {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n }\n } else if (nav) Timer.clear(nav);\n\n shownTabEvent.relatedTarget = tab as HTMLElement | undefined;\n\n dispatchEvent(element, shownTabEvent);\n};\n\n/**\n * Executes before hiding the tab.\n *\n * @param self the `Tab` instance\n */\nconst triggerTabHide = (self: Tab) => {\n const { element, content: nextContent, tabContent, nav } = self;\n const { tab, content } = (nav && tabPrivate.get(nav)) || /* istanbul ignore next */ { tab: null, content: null };\n let currentHeight = 0;\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach(c => {\n if (isHTMLElement(c)) addClass(c, 'overflow-hidden');\n });\n currentHeight = isHTMLElement(content) ? content.scrollHeight : /* istanbul ignore next */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element;\n dispatchEvent(element, showTabEvent);\n\n if (!showTabEvent.defaultPrevented) {\n if (nextContent) addClass(nextContent, activeClass);\n if (content) removeClass(content, activeClass);\n\n /* istanbul ignore else */\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, { currentHeight, nextHeight, tab: null, content: null });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach(c => {\n if (c) removeClass(c, 'overflow-hidden');\n });\n }\n\n if (nextContent && nextContent && hasClass(nextContent, fadeClass)) {\n setTimeout(() => {\n addClass(nextContent, showClass);\n emulateTransitionEnd(nextContent, () => {\n triggerTabShow(self);\n });\n }, 1);\n } else {\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n if (tab) dispatchEvent(tab, hiddenTabEvent);\n }\n};\n\n/**\n * Returns the current active tab and its target content.\n *\n * @param self the `Tab` instance\n * @returns the query result\n */\nconst getActiveTab = (self: Tab): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n /* istanbul ignore next */\n if (!isHTMLElement(nav as HTMLElement | undefined)) return { tab: null, content: null };\n\n const activeTabs = getElementsByClassName(activeClass, nav as HTMLElement);\n let tab: HTMLElement | null = null;\n /* istanbul ignore else */\n if (activeTabs.length === 1 && !dropdownClasses.some(c => hasClass(activeTabs[0].parentElement as HTMLElement, c))) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab as HTMLElement) ? getTargetElement(tab as HTMLElement) : null;\n return { tab, content };\n};\n\n/**\n * Returns a parent dropdown.\n *\n * @param element the `Tab` element\n * @returns the parent dropdown\n */\nconst getParentDropdown = (element?: HTMLElement): HTMLElement | null => {\n /* istanbul ignore next */\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(',.')}`);\n return dropdown ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown) : null;\n};\n\n// TAB EVENT HANDLER\n// =================\n/**\n * Handles the `click` event listener.\n *\n * @param e the `Event` object\n */\nconst tabClickHandler = (e: Event) => {\n const self = getTabInstance(e.target as HTMLElement);\n\n /* istanbul ignore else */\n if (self) {\n e.preventDefault();\n self.show();\n }\n};\n\n// TAB DEFINITION\n// ==============\n/** Creates a new `Tab` instance. */\nexport default class Tab extends BaseComponent {\n static selector = tabSelector;\n static init = tabInitCallback;\n static getInstance = getTabInstance;\n declare nav: HTMLElement | null;\n declare content: HTMLElement | null;\n declare tabContent: HTMLElement | null;\n declare nextContent: HTMLElement | null;\n declare dropdown: HTMLElement | null;\n\n /** @param target the target element */\n constructor(target: HTMLElement | string) {\n super(target);\n\n // initialization element\n const { element } = this;\n const content = getTargetElement(element);\n\n // no point initializing a tab without a corresponding content\n /* istanbul ignore else */\n if (content) {\n const nav = closest(element, '.nav');\n const container = closest(content, '.tab-content');\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element);\n\n // show first Tab instance of none is shown\n // suggested on #432\n const { tab } = getActiveTab(this);\n if (nav && !tab) {\n const firstTab = querySelector(tabSelector, nav);\n const firstTabContent = firstTab && getTargetElement(firstTab);\n\n /* istanbul ignore else */\n if (firstTabContent) {\n addClass(firstTab, activeClass);\n addClass(firstTabContent, showClass);\n addClass(firstTabContent, activeClass);\n setAttribute(element, ariaSelected, 'true');\n }\n }\n\n // add event listener\n this._toggleEventListeners(true);\n }\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return tabComponent;\n }\n\n // TAB PUBLIC METHODS\n // ==================\n /** Shows the tab to the user. */\n show() {\n const { element, content: nextContent, nav, dropdown } = this;\n\n /* istanbul ignore else */\n if (!(nav && Timer.get(nav)) && !hasClass(element, activeClass)) {\n const { tab, content } = getActiveTab(this);\n\n /* istanbul ignore else */\n if (nav) tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element;\n\n /* istanbul ignore else */\n if (isHTMLElement(tab)) {\n dispatchEvent(tab as EventTarget, hideTabEvent);\n /* istanbul ignore else */\n if (!hideTabEvent.defaultPrevented) {\n addClass(element, activeClass);\n setAttribute(element, ariaSelected, 'true');\n\n const activeDropdown = isHTMLElement(tab) && getParentDropdown(tab);\n if (activeDropdown && hasClass(activeDropdown, activeClass)) {\n removeClass(activeDropdown, activeClass);\n }\n\n /* istanbul ignore else */\n if (nav) {\n const toggleTab = () => {\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, 'false');\n }\n if (dropdown && !hasClass(dropdown, activeClass)) addClass(dropdown, activeClass);\n };\n\n if (content && (hasClass(content, fadeClass) || (nextContent && hasClass(nextContent, fadeClass)))) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n if (content) {\n removeClass(content, showClass);\n if (hasClass(content, fadeClass)) {\n emulateTransitionEnd(content, () => triggerTabHide(this));\n } else {\n triggerTabHide(this);\n }\n }\n }\n }\n }\n }\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.element, mouseclickEvent, tabClickHandler);\n };\n\n /** Removes the `Tab` component from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n","/** @type {string} */\nconst toastString = 'toast';\nexport default toastString;\n","/** @type {string} */\nconst toastComponent = 'Toast';\nexport default toastComponent;\n","/* Native JavaScript for Bootstrap 5 | Toast\n-------------------------------------------- */\nimport {\n mouseclickEvent,\n closest,\n removeClass,\n hasClass,\n addClass,\n focusoutEvent,\n focusinEvent,\n mouseleaveEvent,\n mouseenterEvent,\n createCustomEvent,\n getDocument,\n Timer,\n getInstance,\n reflow,\n emulateTransitionEnd,\n dispatchEvent,\n querySelectorAll,\n querySelector,\n} from '@thednp/shorty';\n\nimport { addListener, removeListener } from '@thednp/event-listener';\n\nimport fadeClass from '../strings/fadeClass';\nimport showClass from '../strings/showClass';\nimport dataBsDismiss from '../strings/dataBsDismiss';\nimport dataBsToggle from '../strings/dataBsToggle';\nimport toastString from '../strings/toastString';\nimport toastComponent from '../strings/toastComponent';\nimport getTargetElement from '../util/getTargetElement';\nimport BaseComponent from './base-component';\nimport { ToastOptions, ToastEvent } from '../interface/toast';\n\n// TOAST PRIVATE GC\n// ================\nconst toastSelector = `.${toastString}`;\nconst toastDismissSelector = `[${dataBsDismiss}=\"${toastString}\"]`;\nconst toastToggleSelector = `[${dataBsToggle}=\"${toastString}\"]`;\nconst showingClass = 'showing';\n/** @deprecated */\nconst hideClass = 'hide';\n\nconst toastDefaults = {\n animation: true,\n autohide: true,\n delay: 5000,\n};\n\n/**\n * Static method which returns an existing `Toast` instance associated\n * to a target `Element`.\n */\nconst getToastInstance = (element: HTMLElement) => getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: HTMLElement) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent(`show.bs.${toastString}`);\nconst shownToastEvent = createCustomEvent(`shown.bs.${toastString}`);\nconst hideToastEvent = createCustomEvent(`hide.bs.${toastString}`);\nconst hiddenToastEvent = createCustomEvent(`hidden.bs.${toastString}`);\n\n// TOAST PRIVATE METHODS\n// =====================\n/**\n * Executes after the toast is shown to the user.\n *\n * @param self the `Toast` instance\n */\nconst showToastComplete = (self: Toast) => {\n const { element, options } = self;\n removeClass(element, showingClass);\n Timer.clear(element, showingClass);\n\n dispatchEvent(element, shownToastEvent);\n /* istanbul ignore else */\n if (options.autohide) {\n Timer.set(element, () => self.hide(), options.delay, toastString);\n }\n};\n\n/**\n * Executes after the toast is hidden to the user.\n *\n * @param self the `Toast` instance\n */\nconst hideToastComplete = (self: Toast) => {\n const { element } = self;\n removeClass(element, showingClass);\n removeClass(element, showClass);\n addClass(element, hideClass); // B/C\n Timer.clear(element, toastString);\n dispatchEvent(element, hiddenToastEvent);\n};\n\n/**\n * Executes before hiding the toast.\n *\n * @param self the `Toast` instance\n */\nconst hideToast = (self: Toast) => {\n const { element, options } = self;\n addClass(element, showingClass);\n\n if (options.animation) {\n reflow(element);\n emulateTransitionEnd(element, () => hideToastComplete(self));\n } else {\n hideToastComplete(self);\n }\n};\n\n/**\n * Executes before showing the toast.\n *\n * @param self the `Toast` instance\n */\nconst showToast = (self: Toast) => {\n const { element, options } = self;\n Timer.set(\n element,\n () => {\n removeClass(element, hideClass); // B/C\n reflow(element);\n addClass(element, showClass);\n addClass(element, showingClass);\n\n if (options.animation) {\n emulateTransitionEnd(element, () => showToastComplete(self));\n } else {\n showToastComplete(self);\n }\n },\n 17,\n showingClass,\n );\n};\n\n// TOAST EVENT HANDLERS\n// ====================\n/**\n * Executes after the instance has been disposed.\n *\n * @param {Toast} self the `Toast` instance\n */\nconst completeDisposeToast = (self: Toast) => {\n Timer.clear(self.element, toastString);\n self._toggleEventListeners();\n};\n\n/**\n * Handles the `click` event listener for toast.\n *\n * @param e the `Event` object\n */\nconst toastClickHandler = (e: Event) => {\n const { target } = e;\n\n const trigger = target && closest(target as HTMLElement, toastToggleSelector);\n const element = trigger && getTargetElement(trigger);\n const self = element && getToastInstance(element);\n\n /* istanbul ignore else */\n if (self) {\n /* istanbul ignore else */\n if (trigger && trigger.tagName === 'A') e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\n }\n};\n\n/**\n * Executes when user interacts with the toast without closing it,\n * usually by hovering or focusing it.\n *\n * @param e the `Toast` instance\n */\nconst interactiveToastHandler = (e: MouseEvent) => {\n const element = e.target as HTMLElement;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n /* istanbul ignore else: a solid filter is required */\n if (self && element !== relatedTarget && !element.contains(relatedTarget as Node)) {\n if ([mouseenterEvent, focusinEvent].includes(type)) {\n Timer.clear(element, toastString);\n } else {\n Timer.set(element, () => self.hide(), self.options.delay, toastString);\n }\n }\n};\n\n// TOAST DEFINITION\n// ================\n/** Creates a new `Toast` instance. */\nexport default class Toast extends BaseComponent {\n static selector = toastSelector;\n static init = toastInitCallback;\n static getInstance = getToastInstance;\n declare options: ToastOptions;\n declare dismiss: HTMLElement | null;\n declare triggers: HTMLElement[];\n declare relatedTarget: HTMLElement | null;\n\n /**\n * @param target the target `.toast` element\n * @param config the instance options\n */\n constructor(target: HTMLElement | string, config?: Partial) {\n super(target, config);\n const { element, options } = this;\n\n // set fadeClass, the options.animation will override the markup\n if (options.animation && !hasClass(element, fadeClass)) addClass(element, fadeClass);\n else if (!options.animation && hasClass(element, fadeClass)) removeClass(element, fadeClass);\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [...querySelectorAll(toastToggleSelector, getDocument(element))].filter(\n btn => getTargetElement(btn) === element,\n );\n\n // add event listener\n this._toggleEventListeners(true);\n }\n /**\n * Returns component name string.\n */\n get name() {\n return toastComponent;\n }\n /**\n * Returns component default options.\n */\n get defaults() {\n return toastDefaults;\n }\n /**\n * Returns *true* when toast is visible.\n */\n get isShown() {\n return hasClass(this.element, showClass);\n }\n\n // TOAST PUBLIC METHODS\n // ====================\n /** Shows the toast. */\n show = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && !isShown) {\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) {\n showToast(this);\n }\n }\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (element && isShown) {\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) {\n hideToast(this);\n }\n }\n };\n\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, it will add the listener\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { element, triggers, dismiss, options, hide } = this;\n\n /* istanbul ignore else */\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n /* istanbul ignore else */\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(e =>\n action(element, e, interactiveToastHandler),\n );\n }\n /* istanbul ignore else */\n if (triggers.length) {\n triggers.forEach(btn => action(btn, mouseclickEvent, toastClickHandler));\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n\n /* istanbul ignore else */\n if (isShown) {\n removeClass(element, showClass);\n }\n\n completeDisposeToast(this);\n\n super.dispose();\n }\n}\n","import { Data, getElementsByTagName, matches } from '@thednp/shorty';\n\nimport { addListener } from '@thednp/event-listener';\n\nimport Alert from '../components/alert';\nimport Button from '../components/button';\nimport Carousel from '../components/carousel';\nimport Collapse from '../components/collapse';\nimport Dropdown from '../components/dropdown';\nimport Modal from '../components/modal';\nimport Offcanvas from '../components/offcanvas';\nimport Popover from '../components/popover';\nimport ScrollSpy from '../components/scrollspy';\nimport Tab from '../components/tab';\nimport Toast from '../components/toast';\nimport Tooltip from '../components/tooltip';\n\nconst componentsList = new Map<\n string,\n | typeof Alert\n | typeof Button\n | typeof Carousel\n | typeof Collapse\n | typeof Dropdown\n | typeof Modal\n | typeof Offcanvas\n | typeof Popover\n | typeof ScrollSpy\n | typeof Tab\n | typeof Toast\n | typeof Tooltip\n>();\n\n[Alert, Button, Carousel, Collapse, Dropdown, Modal, Offcanvas, Popover, ScrollSpy, Tab, Toast, Tooltip].forEach(c =>\n componentsList.set(c.prototype.name, c),\n);\n\n/**\n * Initialize all matched `Element`s for one component.\n *\n * @param callback\n * @param collection\n */\nconst initComponentDataAPI = (\n callback: (el: HTMLElement, ops?: Record) => T,\n collection: HTMLCollectionOf | HTMLElement[],\n) => {\n [...collection].forEach(x => callback(x));\n};\n\n/**\n * Remove one component from a target container element or all in the page.\n *\n * @param component the component name\n * @param context parent `Node`\n */\nconst removeComponentDataAPI = (component: string, context: ParentNode) => {\n const compData = Data.getAllFor(component) as Map;\n\n if (compData) {\n [...compData].forEach(([element, instance]) => {\n if (context.contains(element)) (instance as T & { dispose: () => void }).dispose();\n });\n }\n};\n\n/**\n * Initialize all BSN components for a target container.\n *\n * @param context parent `Node`\n */\nexport const initCallback = (context?: ParentNode) => {\n const lookUp = context && context.nodeName ? context : document;\n const elemCollection = [...getElementsByTagName('*', lookUp)];\n\n componentsList.forEach(cs => {\n const { init, selector } = cs;\n initComponentDataAPI(\n init,\n elemCollection.filter(item => matches(item, selector)),\n );\n });\n};\n\n/**\n * Remove all BSN components for a target container.\n *\n * @param context parent `Node`\n */\nexport const removeDataAPI = (context?: ParentNode) => {\n const lookUp = context && context.nodeName ? context : document;\n\n componentsList.forEach(comp => {\n removeComponentDataAPI(comp.prototype.name, lookUp);\n });\n};\n\n// Bulk initialize all components\nif (document.body) initCallback();\nelse {\n addListener(document, 'DOMContentLoaded', () => initCallback(), { once: true });\n}\n"],"names":["fe","ge","Ee","ye","we","Ae","P","$","_","tt","st","rt","it","lt","pt","mt","ft","St","kt","Mt","Ct","zt","Vt","Ce","Re","Qe","je","qe","$e","Rt","Qt","C","U","jt","A","qt","S","z","x","vn","N","Gt","e","n","o","s","Jt","Kt","r","Xt","Yt","kn","Tn","Cn","Ln","In","zn","v","i","u","E","L","Hn","k","W","R","d","M","Zt","Q","g","ee","ne","Un","a","l","Qn","V","w","oe","jn","p","c","m","y","j","Gn","Xn","Yn","Zn","$n","I","se","f","_n","h","eo","T","ce","so","B","H","b","ae","ro","ie","uo","mo","ho","yo","Ao","le","So","de","Mo","To","Do","fadeClass","showClass","dataBsDismiss","alertString","alertComponent","Version","BaseComponent","target","config","__publicField","element","querySelector","isString","prevInstance","Data","ObjectKeys","normalizeOptions","prop","alertSelector","alertDismissSelector","getAlertInstance","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","hasClass","removeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent","activeClass","dataBsToggle","buttonString","buttonComponent","buttonSelector","getButtonInstance","buttonInitCallback","Button","isActive","getAttribute","addClass","setAttribute","ariaPressed","dataBsTarget","carouselString","carouselComponent","dataBsParent","dataBsContainer","getTargetElement","targetAttr","doc","getDocument","att","attValue","closest","carouselSelector","carouselItem","dataBsSlideTo","dataBsSlide","pausedClass","carouselDefaults","getCarouselInstance","carouselInitCallback","Carousel","startX","currentX","endX","carouselSlideEvent","carouselSlidEvent","carouselTransitionEndHandler","index","direction","slides","options","activeItem","getActiveIndex","orientation","directionClass","Timer","carouselPauseHandler","carouselResumeHandler","carouselIndicatorHandler","newIndex","carouselControlsHandler","carouselKeyHandler","code","querySelectorAll","isElementInScrollRange","RTL","isRTL","keyArrowRight","keyArrowLeft","carouselDragHandler","carouselPointerDownHandler","controls","indicators","el","toggleCarouselTouchHandlers","carouselPointerMoveHandler","carouselPointerUpHandler","_a","activateCarouselIndicator","pointermoveEvent","passiveHandler","pointerupEvent","isHTMLElement","touch","pause","interval","keyboard","mouseenterEvent","mouseleaveEvent","pointerdownEvent","touchstartEvent","dragstartEvent","arrow","indicator","keydownEvent","getElementsByClassName","activeIndex","transitionItem","matches","ar","isPaused","idx","next","eventProperties","ObjectAssign","getElementTransitionDuration","reflow","isAnimating","clone","collapsingClass","collapseString","collapseComponent","collapseSelector","collapseToggleSelector","collapseDefaults","getCollapseInstance","collapseInitCallback","Collapse","showCollapseEvent","shownCollapseEvent","hideCollapseEvent","hiddenCollapseEvent","expandCollapse","parent","triggers","noop","setElementStyle","btn","ariaExpanded","collapseContent","collapseClickHandler","trigger","activeCollapse","activeCollapseInstance","dropdownMenuClasses","dropdownComponent","dropdownMenuClass","isEmptyAnchor","parentAnchor","hasAttribute","dropdownString","dropupString","dropstartString","dropendString","dropdownClasses","dropdownSelector","getDropdownInstance","dropdownInitCallback","Dropdown","dropdownMenuEndClass","verticalClass","horizontalClass","menuFocusTags","dropdownDefaults","showDropdownEvent","shownDropdownEvent","hideDropdownEvent","hiddenDropdownEvent","updatedDropdownEvent","styleDropdown","menu","parentElement","offset","getElementStyle","menuEnd","style","positionClass","dropdownMargin","dropdownPosition","menuWidth","menuHeight","clientWidth","clientHeight","getDocumentElement","targetLeft","targetTop","targetWidth","targetHeight","getBoundingClientRect","leftFullExceed","rightFullExceed","bottomExceed","bottomFullExceed","topExceed","leftExceed","rightExceed","posAjust","margins","getMenuItems","firstElementChild","toggleDropdownDismiss","dropdownDismissHandler","focusEvent","dropdownPreventScroll","keyupEvent","dropdownKeyHandler","scrollEvent","resizeEvent","ev","getWindow","dropdownLayoutHandler","getCurrentOpenDropdown","currentParent","type","isForm","mousedownEvent","dropdownClickHandler","keyArrowDown","keyArrowUp","activeElement","open","menuItems","focus","keyEscape","currentElement","currentInstance","modalString","modalComponent","offcanvasComponent","fixedTopClass","fixedBottomClass","stickyTopClass","positionStickyClass","getFixedItems","resetScrollbar","bd","getDocumentBody","fixedItems","fixed","measureScrollbar","innerWidth","setScrollbar","overflow","bodyPad","sbWidth","itemPadValue","itemMValue","offcanvasString","popupContainer","createElement","appendPopup","customContainer","containerIsBody","isNode","lookup","BODY","removePopup","hasPopup","backdropString","modalBackdropClass","offcanvasBackdropClass","modalActiveSelector","offcanvasActiveSelector","overlay","getCurrentOpen","toggleOverlayType","isModal","targetClass","appendOverlay","hasFade","showOverlay","hideOverlay","removeOverlay","isVisible","modalSelector","modalToggleSelector","modalDismissSelector","modalStaticClass","modalDefaults","getModalInstance","modalInitCallback","Modal","showModalEvent","shownModalEvent","hideModalEvent","hiddenModalEvent","setModalScrollbar","scrollbarWidth","scrollHeight","modalHeight","modalScrollHeight","modalOverflow","pad","padStyle","toggleModalDismiss","update","modalDismissHandler","modalKeyHandler","afterModalHide","relatedTarget","focusElement","afterModalShow","beforeModalShow","removeAttribute","ariaHidden","ariaModal","beforeModalHide","modalClickHandler","currentTarget","isStatic","modalDialog","backdrop","selectedText","targetInsideDialog","staticTransitionEnd","duration","overlayDelay","currentOpen","that","callback","offcanvasSelector","offcanvasToggleSelector","offcanvasDismissSelector","offcanvasTogglingClass","offcanvasDefaults","getOffcanvasInstance","offcanvasInitCallback","Offcanvas","showOffcanvasEvent","shownOffcanvasEvent","hideOffcanvasEvent","hiddenOffcanvasEvent","setOffCanvasScrollbar","toggleOffCanvasDismiss","offcanvasKeyDismissHandler","offcanvasDismissHandler","beforeOffcanvasShow","showOffcanvasComplete","beforeOffcanvasHide","hideOffcanvasComplete","offcanvasTriggerHandler","offCanvasDismiss","selection","visibleTrigger","delay","popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","body","tipClassPositions","styleTip","tipClasses","tooltip","container","tipPositions","isPopover","tipWidth","tipHeight","htmlcw","htmlch","htmlow","placement","parentCWidth","parentOWidth","fixedParent","leftBoundry","rightBoundry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","topPosition","bottomPosition","leftPosition","rightPosition","arrowTop","arrowLeft","arrowRight","arrowWidth","arrowHeight","arrowAdjust","horizontals","verticals","updatedTooltipEvent","toLowerCase","tooltipDefaults","dataOriginalTitle","tooltipComponent","setHtml","content","sanitizeFn","dirty","isFunction","tempDocument","isNodeList","isArray","createTip","id","title","template","animation","customClass","dismissible","btnClose","tipString","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","tooltipHeader","tooltipBody","tempTitle","tempContent","tempBtn","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","tooltipSelector","titleAttr","getTooltipInstance","tooltipInitCallback","Tooltip","removeTooltip","offsetParent","ariaDescribedBy","hasTip","disposeTooltipComplete","toggleTooltipTitle","toggleTooltipAction","tooltipShownAction","shownTooltipEvent","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","offsetHeight","parentModal","parentOffcanvas","win","scrollTarget","titleAtt","tr","mousehoverEvent","focusinEvent","focusoutEvent","isApple","tipComponent","elem","getUID","position","outTimer","tipContainer","showTooltipEvent","hideTooltipEvent","enabled","popoverSelector","popoverDefaults","getPopoverInstance","popoverInitCallback","Popover","scrollspyString","scrollspyComponent","scrollspySelector","scrollspyDefaults","getScrollSpyInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","updateSpyTargets","itemsLength","isWin","isWindow","links","getElementsByTagName","scrollHEIGHT","getScrollHeight","href","targetItem","rect","getOffsetHeight","link","clear","item","activate","parents","parentItem","menuItem","parentLink","scrollTop","maxScroll","items","newActiveItem","offsets","tabString","tabComponent","tabSelector","getTabInstance","tabInitCallback","Tab","showTabEvent","shownTabEvent","hideTabEvent","hiddenTabEvent","tabPrivate","triggerTabEnd","tabContent","nav","triggerTabShow","nextContent","tab","currentHeight","nextHeight","triggerTabHide","getActiveTab","activeTabs","getParentDropdown","dropdown","tabClickHandler","firstTab","firstTabContent","ariaSelected","activeDropdown","toggleTab","toastString","toastComponent","toastSelector","toastDismissSelector","toastToggleSelector","showingClass","hideClass","toastDefaults","getToastInstance","toastInitCallback","Toast","showToastEvent","shownToastEvent","hideToastEvent","hiddenToastEvent","showToastComplete","hideToastComplete","hideToast","showToast","completeDisposeToast","toastClickHandler","interactiveToastHandler","isShown","hide","componentsList","initComponentDataAPI","collection","removeComponentDataAPI","component","context","compData","instance","initCallback","lookUp","elemCollection","cs","init","selector","removeDataAPI","comp"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/package.json b/package.json index 45ca7210..8bf1973b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bootstrap.native", - "version": "5.0.13", + "version": "5.0.14", "author": "thednp", "license": "MIT", "description": "Bootstrap components build with Typescript", @@ -82,9 +82,9 @@ "test": "pnpm pre-test && cypress run", "dev": "vite --open ./docs/index-dev.html --port 8577", "cypress": "npx cypress open", + "badges": "npx -p dependency-version-badge update-badge typescript eslint cypress vite prettier", "coverage:report": "nyc report --reporter=lcov --reporter=json --reporter=text --reporter=json-summary", - "build-tsup": "pnpm check:ts && pnpm lint:ts && pnpm build-vite && pnpm dts", - "build": "pnpm check:ts && pnpm lint:ts && pnpm build-vite && pnpm build-components && pnpm dts && pnpm copy-docs", + "build": "pnpm check:ts && pnpm lint:ts && pnpm build-vite && pnpm build-components && pnpm dts && pnpm badges && pnpm copy-docs", "build-vite-with-dts": "vite build && pnpm copy-docs", "build-vite": "vite build && pnpm copy-docs", "build-components": "vite build --config vite.config.components.ts", @@ -112,18 +112,18 @@ "typescript" ], "dependencies": { - "@thednp/event-listener": "^2.0.4", - "@thednp/shorty": "^2.0.0" + "@thednp/event-listener": "^2.0.5", + "@thednp/shorty": "^2.0.3" }, "devDependencies": { "@bahmutov/cypress-esbuild-preprocessor": "^2.2.1", - "@cypress/code-coverage": "^3.12.42", + "@cypress/code-coverage": "^3.12.44", "@types/istanbul-lib-instrument": "^1.7.7", "@types/node": "^20.14.11", "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", "cypress": "^13.13.1", - "dts-bundle-generator": "^8.1.2", + "dts-bundle-generator": "^9.5.1", "eslint": "^8.57.0", "eslint-plugin-jsdoc": "^46.10.1", "eslint-plugin-prefer-arrow": "^1.2.3", @@ -135,7 +135,7 @@ "prettier": "^2.8.8", "rimraf": "^5.0.9", "typescript": "^5.5.3", - "vite": "^4.5.3" + "vite": "^5.3.4" }, "packageManager": "pnpm@8.6.12", "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bbe9103c..507ca664 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,18 +9,18 @@ importers: .: dependencies: '@thednp/event-listener': - specifier: ^2.0.4 - version: 2.0.4 + specifier: ^2.0.5 + version: 2.0.5 '@thednp/shorty': - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^2.0.3 + version: 2.0.3 devDependencies: '@bahmutov/cypress-esbuild-preprocessor': specifier: ^2.2.1 version: 2.2.1(esbuild@0.23.0) '@cypress/code-coverage': - specifier: ^3.12.42 - version: 3.12.42(@babel/core@7.24.9)(@babel/preset-env@7.24.3(@babel/core@7.24.9))(babel-loader@9.1.3(@babel/core@7.24.9)(webpack@5.91.0(esbuild@0.23.0)))(cypress@13.13.1)(webpack@5.91.0(esbuild@0.23.0)) + specifier: ^3.12.44 + version: 3.12.44(@babel/core@7.24.9)(@babel/preset-env@7.24.3(@babel/core@7.24.9))(babel-loader@9.1.3(@babel/core@7.24.9)(webpack@5.91.0(esbuild@0.23.0)))(cypress@13.13.1)(webpack@5.91.0(esbuild@0.23.0)) '@types/istanbul-lib-instrument': specifier: ^1.7.7 version: 1.7.7 @@ -37,8 +37,8 @@ importers: specifier: ^13.13.1 version: 13.13.1 dts-bundle-generator: - specifier: ^8.1.2 - version: 8.1.2 + specifier: ^9.5.1 + version: 9.5.1 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -73,8 +73,8 @@ importers: specifier: ^5.5.3 version: 5.5.3 vite: - specifier: ^4.5.3 - version: 4.5.3(@types/node@20.14.11)(terser@5.31.3) + specifier: ^5.3.4 + version: 5.3.4(@types/node@20.14.11)(terser@5.31.3) packages: @@ -661,8 +661,8 @@ packages: resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} - '@cypress/code-coverage@3.12.42': - resolution: {integrity: sha512-0CyRj2Qqhvc2ZTvteUaXtQCDpyw/lIFEyUhs1D3Ttwd2ZGC4WYJytFLpf/aU6M3ggm2fAiMpBr4iGk4zi/nuDQ==} + '@cypress/code-coverage@3.12.44': + resolution: {integrity: sha512-5Eau3tnJqZJo1OddOOEMyWs1HCwlAOgDs1rFPaCXJ4a5Y2BR4PH4fAzCdMvIqpBnCiVSL8gOYv6JfND3aUuJJQ==} peerDependencies: '@babel/core': ^7.0.1 '@babel/preset-env': ^7.0.0 @@ -689,14 +689,20 @@ packages: resolution: {integrity: sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw==} engines: {node: '>=16'} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + '@esbuild/aix-ppc64@0.23.0': resolution: {integrity: sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.18.20': - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -707,8 +713,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm@0.18.20': - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -719,8 +725,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-x64@0.18.20': - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -731,8 +737,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.18.20': - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -743,8 +749,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.18.20': - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -755,8 +761,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.18.20': - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -767,8 +773,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.18.20': - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -779,8 +785,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.18.20': - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -791,8 +797,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.18.20': - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -803,8 +809,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.18.20': - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -815,8 +821,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.18.20': - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -827,8 +833,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.18.20': - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -839,8 +845,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.18.20': - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -851,8 +857,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.18.20': - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -863,8 +869,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.18.20': - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -875,8 +881,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.18.20': - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -887,8 +893,8 @@ packages: cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.18.20': - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -905,8 +911,8 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.18.20': - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -917,8 +923,8 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.18.20': - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -929,8 +935,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.18.20': - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -941,8 +947,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.18.20': - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -953,8 +959,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.18.20': - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1045,12 +1051,92 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@thednp/event-listener@2.0.4': - resolution: {integrity: sha512-sc4B7AzYAIvnGnivirq0XyR7LfzEDhGiiB70Q0qdNn8wSJ2pL1buVAsEZxrlc47qRJiBV4YIP+BFkyMm2r3NLg==} + '@rollup/rollup-android-arm-eabi@4.19.0': + resolution: {integrity: sha512-JlPfZ/C7yn5S5p0yKk7uhHTTnFlvTgLetl2VxqE518QgyM7C9bSfFTYvB/Q/ftkq0RIPY4ySxTz+/wKJ/dXC0w==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.19.0': + resolution: {integrity: sha512-RDxUSY8D1tWYfn00DDi5myxKgOk6RvWPxhmWexcICt/MEC6yEMr4HNCu1sXXYLw8iAsg0D44NuU+qNq7zVWCrw==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.19.0': + resolution: {integrity: sha512-emvKHL4B15x6nlNTBMtIaC9tLPRpeA5jMvRLXVbl/W9Ie7HhkrE7KQjvgS9uxgatL1HmHWDXk5TTS4IaNJxbAA==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.19.0': + resolution: {integrity: sha512-fO28cWA1dC57qCd+D0rfLC4VPbh6EOJXrreBmFLWPGI9dpMlER2YwSPZzSGfq11XgcEpPukPTfEVFtw2q2nYJg==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-linux-arm-gnueabihf@4.19.0': + resolution: {integrity: sha512-2Rn36Ubxdv32NUcfm0wB1tgKqkQuft00PtM23VqLuCUR4N5jcNWDoV5iBC9jeGdgS38WK66ElncprqgMUOyomw==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.19.0': + resolution: {integrity: sha512-gJuzIVdq/X1ZA2bHeCGCISe0VWqCoNT8BvkQ+BfsixXwTOndhtLUpOg0A1Fcx/+eA6ei6rMBzlOz4JzmiDw7JQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.19.0': + resolution: {integrity: sha512-0EkX2HYPkSADo9cfeGFoQ7R0/wTKb7q6DdwI4Yn/ULFE1wuRRCHybxpl2goQrx4c/yzK3I8OlgtBu4xvted0ug==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.19.0': + resolution: {integrity: sha512-GlIQRj9px52ISomIOEUq/IojLZqzkvRpdP3cLgIE1wUWaiU5Takwlzpz002q0Nxxr1y2ZgxC2obWxjr13lvxNQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.19.0': + resolution: {integrity: sha512-N6cFJzssruDLUOKfEKeovCKiHcdwVYOT1Hs6dovDQ61+Y9n3Ek4zXvtghPPelt6U0AH4aDGnDLb83uiJMkWYzQ==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.19.0': + resolution: {integrity: sha512-2DnD3mkS2uuam/alF+I7M84koGwvn3ZVD7uG+LEWpyzo/bq8+kKnus2EVCkcvh6PlNB8QPNFOz6fWd5N8o1CYg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.19.0': + resolution: {integrity: sha512-D6pkaF7OpE7lzlTOFCB2m3Ngzu2ykw40Nka9WmKGUOTS3xcIieHe82slQlNq69sVB04ch73thKYIWz/Ian8DUA==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.19.0': + resolution: {integrity: sha512-HBndjQLP8OsdJNSxpNIN0einbDmRFg9+UQeZV1eiYupIRuZsDEoeGU43NQsS34Pp166DtwQOnpcbV/zQxM+rWA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.19.0': + resolution: {integrity: sha512-HxfbvfCKJe/RMYJJn0a12eiOI9OOtAUF4G6ozrFUK95BNyoJaSiBjIOHjZskTUffUrB84IPKkFG9H9nEvJGW6A==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.19.0': + resolution: {integrity: sha512-HxDMKIhmcguGTiP5TsLNolwBUK3nGGUEoV/BO9ldUBoMLBssvh4J0X8pf11i1fTV7WShWItB1bKAKjX4RQeYmg==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.19.0': + resolution: {integrity: sha512-xItlIAZZaiG/u0wooGzRsx11rokP4qyc/79LkAOdznGRAbOFc+SfEdfUOszG1odsHNgwippUJavag/+W/Etc6Q==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.19.0': + resolution: {integrity: sha512-xNo5fV5ycvCCKqiZcpB65VMR11NJB+StnxHz20jdqRAktfdfzhgjTiJ2doTDQE/7dqGaV5I7ZGqKpgph6lCIag==} + cpu: [x64] + os: [win32] + + '@thednp/event-listener@2.0.5': + resolution: {integrity: sha512-Zns+CFEAIKIEyqmuBZ3K2DSvk5IppaWcioghxLZPMrzkV034aOA38lP7NIKSxkeu0Eqd4UPxC06FksO6Pb/tmA==} engines: {node: '>=16', pnpm: '>=8.6.0'} - '@thednp/shorty@2.0.0': - resolution: {integrity: sha512-kwtLivCxYIoFfGIVU4NlZtfdA/zxZ6X8UcWaJrb7XqU3WQ4Q1p5IaZlLBfOVAO06WH5oWE87QUdK/dS56Wnfjg==} + '@thednp/shorty@2.0.3': + resolution: {integrity: sha512-ngKP9/wQxM6JPDFjO6ak8lSz38ZA6cIFQy3gZbZM3xgUqArBr+VG9aoSoLHHEuaObyd9q9Jq/T0Wez7qrck0Gw==} engines: {node: '>=16', pnpm: '>=8.6.0'} '@types/babel-types@7.0.15': @@ -1529,9 +1615,6 @@ packages: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} - dayjs@1.11.10: - resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} - dayjs@1.11.12: resolution: {integrity: sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==} @@ -1543,15 +1626,6 @@ packages: supports-color: optional: true - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.5: resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} @@ -1588,8 +1662,8 @@ packages: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} - dts-bundle-generator@8.1.2: - resolution: {integrity: sha512-/yvy9Xw0cfFodA8n6jEq8/COZ/WXgJtPabnLBAzIfP/TfxWbD/0a0dvfqNHneNqswQrH0kUcaAfGJC9UNvH97w==} + dts-bundle-generator@9.5.1: + resolution: {integrity: sha512-DxpJOb2FNnEyOzMkG11sxO2dmxPjthoVWxfKqWYJ/bI/rT1rvTMktF5EKjAYrRZu6Z6t3NhOUZ0sZ5ZXevOfbA==} engines: {node: '>=14.0.0'} hasBin: true @@ -1633,8 +1707,8 @@ packages: es6-error@4.1.1: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} hasBin: true @@ -2538,9 +2612,9 @@ packages: engines: {node: 14 >=14.20 || 16 >=16.20 || >=18} hasBin: true - rollup@3.29.4: - resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} + rollup@4.19.0: + resolution: {integrity: sha512-5r7EYSQIowHsK4eTZ0Y81qpZuJz+MUuYeqmmYmRMl1nwhdmbiYqt5jwzf6u7wyOzJgYqtCRMtVRKOtHANBz7rA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true run-parallel@1.2.0: @@ -2836,12 +2910,12 @@ packages: resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} engines: {'0': node >=0.6.0} - vite@4.5.3: - resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==} - engines: {node: ^14.18.0 || >=16.0.0} + vite@5.3.4: + resolution: {integrity: sha512-Cw+7zL3ZG9/NZBB8C+8QbQZmR54GwqIz+WMI4b3JgdYJvX+ny9AjJXqkGQlDXSXRP9rP0B4tbciRMOVEKulVOA==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: - '@types/node': '>= 14' + '@types/node': ^18.0.0 || >=20.0.0 less: '*' lightningcss: ^1.21.0 sass: '*' @@ -3727,7 +3801,7 @@ snapshots: '@colors/colors@1.5.0': optional: true - '@cypress/code-coverage@3.12.42(@babel/core@7.24.9)(@babel/preset-env@7.24.3(@babel/core@7.24.9))(babel-loader@9.1.3(@babel/core@7.24.9)(webpack@5.91.0(esbuild@0.23.0)))(cypress@13.13.1)(webpack@5.91.0(esbuild@0.23.0))': + '@cypress/code-coverage@3.12.44(@babel/core@7.24.9)(@babel/preset-env@7.24.3(@babel/core@7.24.9))(babel-loader@9.1.3(@babel/core@7.24.9)(webpack@5.91.0(esbuild@0.23.0)))(cypress@13.13.1)(webpack@5.91.0(esbuild@0.23.0))': dependencies: '@babel/core': 7.24.9 '@babel/preset-env': 7.24.3(@babel/core@7.24.9) @@ -3735,8 +3809,8 @@ snapshots: babel-loader: 9.1.3(@babel/core@7.24.9)(webpack@5.91.0(esbuild@0.23.0)) chalk: 4.1.2 cypress: 13.13.1 - dayjs: 1.11.10 - debug: 4.3.4 + dayjs: 1.11.12 + debug: 4.3.5(supports-color@8.1.1) execa: 4.1.0 globby: 11.1.0 istanbul-lib-coverage: 3.2.2 @@ -3773,7 +3847,7 @@ snapshots: '@babel/preset-env': 7.24.3(@babel/core@7.24.9) babel-loader: 9.1.3(@babel/core@7.24.9)(webpack@5.91.0(esbuild@0.23.0)) bluebird: 3.7.1 - debug: 4.3.4 + debug: 4.3.5(supports-color@8.1.1) lodash: 4.17.21 webpack: 5.91.0(esbuild@0.23.0) transitivePeerDependencies: @@ -3792,106 +3866,109 @@ snapshots: esquery: 1.6.0 jsdoc-type-pratt-parser: 4.0.0 + '@esbuild/aix-ppc64@0.21.5': + optional: true + '@esbuild/aix-ppc64@0.23.0': optional: true - '@esbuild/android-arm64@0.18.20': + '@esbuild/android-arm64@0.21.5': optional: true '@esbuild/android-arm64@0.23.0': optional: true - '@esbuild/android-arm@0.18.20': + '@esbuild/android-arm@0.21.5': optional: true '@esbuild/android-arm@0.23.0': optional: true - '@esbuild/android-x64@0.18.20': + '@esbuild/android-x64@0.21.5': optional: true '@esbuild/android-x64@0.23.0': optional: true - '@esbuild/darwin-arm64@0.18.20': + '@esbuild/darwin-arm64@0.21.5': optional: true '@esbuild/darwin-arm64@0.23.0': optional: true - '@esbuild/darwin-x64@0.18.20': + '@esbuild/darwin-x64@0.21.5': optional: true '@esbuild/darwin-x64@0.23.0': optional: true - '@esbuild/freebsd-arm64@0.18.20': + '@esbuild/freebsd-arm64@0.21.5': optional: true '@esbuild/freebsd-arm64@0.23.0': optional: true - '@esbuild/freebsd-x64@0.18.20': + '@esbuild/freebsd-x64@0.21.5': optional: true '@esbuild/freebsd-x64@0.23.0': optional: true - '@esbuild/linux-arm64@0.18.20': + '@esbuild/linux-arm64@0.21.5': optional: true '@esbuild/linux-arm64@0.23.0': optional: true - '@esbuild/linux-arm@0.18.20': + '@esbuild/linux-arm@0.21.5': optional: true '@esbuild/linux-arm@0.23.0': optional: true - '@esbuild/linux-ia32@0.18.20': + '@esbuild/linux-ia32@0.21.5': optional: true '@esbuild/linux-ia32@0.23.0': optional: true - '@esbuild/linux-loong64@0.18.20': + '@esbuild/linux-loong64@0.21.5': optional: true '@esbuild/linux-loong64@0.23.0': optional: true - '@esbuild/linux-mips64el@0.18.20': + '@esbuild/linux-mips64el@0.21.5': optional: true '@esbuild/linux-mips64el@0.23.0': optional: true - '@esbuild/linux-ppc64@0.18.20': + '@esbuild/linux-ppc64@0.21.5': optional: true '@esbuild/linux-ppc64@0.23.0': optional: true - '@esbuild/linux-riscv64@0.18.20': + '@esbuild/linux-riscv64@0.21.5': optional: true '@esbuild/linux-riscv64@0.23.0': optional: true - '@esbuild/linux-s390x@0.18.20': + '@esbuild/linux-s390x@0.21.5': optional: true '@esbuild/linux-s390x@0.23.0': optional: true - '@esbuild/linux-x64@0.18.20': + '@esbuild/linux-x64@0.21.5': optional: true '@esbuild/linux-x64@0.23.0': optional: true - '@esbuild/netbsd-x64@0.18.20': + '@esbuild/netbsd-x64@0.21.5': optional: true '@esbuild/netbsd-x64@0.23.0': @@ -3900,31 +3977,31 @@ snapshots: '@esbuild/openbsd-arm64@0.23.0': optional: true - '@esbuild/openbsd-x64@0.18.20': + '@esbuild/openbsd-x64@0.21.5': optional: true '@esbuild/openbsd-x64@0.23.0': optional: true - '@esbuild/sunos-x64@0.18.20': + '@esbuild/sunos-x64@0.21.5': optional: true '@esbuild/sunos-x64@0.23.0': optional: true - '@esbuild/win32-arm64@0.18.20': + '@esbuild/win32-arm64@0.21.5': optional: true '@esbuild/win32-arm64@0.23.0': optional: true - '@esbuild/win32-ia32@0.18.20': + '@esbuild/win32-ia32@0.21.5': optional: true '@esbuild/win32-ia32@0.23.0': optional: true - '@esbuild/win32-x64@0.18.20': + '@esbuild/win32-x64@0.21.5': optional: true '@esbuild/win32-x64@0.23.0': @@ -4021,9 +4098,57 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@thednp/event-listener@2.0.4': {} + '@rollup/rollup-android-arm-eabi@4.19.0': + optional: true + + '@rollup/rollup-android-arm64@4.19.0': + optional: true + + '@rollup/rollup-darwin-arm64@4.19.0': + optional: true + + '@rollup/rollup-darwin-x64@4.19.0': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.19.0': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.19.0': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.19.0': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.19.0': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.19.0': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.19.0': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.19.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.19.0': + optional: true + + '@rollup/rollup-linux-x64-musl@4.19.0': + optional: true - '@thednp/shorty@2.0.0': {} + '@rollup/rollup-win32-arm64-msvc@4.19.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.19.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.19.0': + optional: true + + '@thednp/event-listener@2.0.5': {} + + '@thednp/shorty@2.0.3': {} '@types/babel-types@7.0.15': {} @@ -4572,8 +4697,6 @@ snapshots: dependencies: assert-plus: 1.0.0 - dayjs@1.11.10: {} - dayjs@1.11.12: {} debug@3.2.7(supports-color@8.1.1): @@ -4582,10 +4705,6 @@ snapshots: optionalDependencies: supports-color: 8.1.1 - debug@4.3.4: - dependencies: - ms: 2.1.2 - debug@4.3.5(supports-color@8.1.1): dependencies: ms: 2.1.2 @@ -4616,7 +4735,7 @@ snapshots: dependencies: esutils: 2.0.3 - dts-bundle-generator@8.1.2: + dts-bundle-generator@9.5.1: dependencies: typescript: 5.5.3 yargs: 17.7.2 @@ -4658,30 +4777,31 @@ snapshots: es6-error@4.1.1: {} - esbuild@0.18.20: + esbuild@0.21.5: optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 esbuild@0.23.0: optionalDependencies: @@ -5621,8 +5741,26 @@ snapshots: dependencies: glob: 10.4.5 - rollup@3.29.4: + rollup@4.19.0: + dependencies: + '@types/estree': 1.0.5 optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.19.0 + '@rollup/rollup-android-arm64': 4.19.0 + '@rollup/rollup-darwin-arm64': 4.19.0 + '@rollup/rollup-darwin-x64': 4.19.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.19.0 + '@rollup/rollup-linux-arm-musleabihf': 4.19.0 + '@rollup/rollup-linux-arm64-gnu': 4.19.0 + '@rollup/rollup-linux-arm64-musl': 4.19.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.19.0 + '@rollup/rollup-linux-riscv64-gnu': 4.19.0 + '@rollup/rollup-linux-s390x-gnu': 4.19.0 + '@rollup/rollup-linux-x64-gnu': 4.19.0 + '@rollup/rollup-linux-x64-musl': 4.19.0 + '@rollup/rollup-win32-arm64-msvc': 4.19.0 + '@rollup/rollup-win32-ia32-msvc': 4.19.0 + '@rollup/rollup-win32-x64-msvc': 4.19.0 fsevents: 2.3.3 run-parallel@1.2.0: @@ -5901,11 +6039,11 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 - vite@4.5.3(@types/node@20.14.11)(terser@5.31.3): + vite@5.3.4(@types/node@20.14.11)(terser@5.31.3): dependencies: - esbuild: 0.18.20 + esbuild: 0.21.5 postcss: 8.4.39 - rollup: 3.29.4 + rollup: 4.19.0 optionalDependencies: '@types/node': 20.14.11 fsevents: 2.3.3