From 5ad2e59cd78f3ca5c080d71faaf94f47d37037af Mon Sep 17 00:00:00 2001 From: thednp Date: Sat, 16 Nov 2024 18:46:19 +0200 Subject: [PATCH] Changes: * make more use of early returns * improved ScrollSpy performance * added new utility isDisabled to only attach event listeners to interactive elements * update resolve tooling * update dependencies * update tests * update docs --- README.md | 8 +- dist/bootstrap-native.cjs | 2 +- dist/bootstrap-native.cjs.map | 2 +- dist/bootstrap-native.d.ts | 29 +- dist/bootstrap-native.js | 2 +- dist/bootstrap-native.js.map | 2 +- dist/bootstrap-native.mjs | 1836 +++++++++-------- dist/bootstrap-native.mjs.map | 2 +- dist/components/alert.cjs | 2 +- dist/components/alert.cjs.map | 2 +- dist/components/alert.mjs | 20 +- dist/components/alert.mjs.map | 2 +- dist/components/base-component-CEXwoid1.js | 2 + .../components/base-component-CEXwoid1.js.map | 1 + dist/components/base-component-CQAH5ZXF.mjs | 381 ++++ .../base-component-CQAH5ZXF.mjs.map | 1 + dist/components/base-component-DaZCwW-u.js | 2 - .../components/base-component-DaZCwW-u.js.map | 1 - dist/components/base-component-Jx2aafTJ.mjs | 352 ---- .../base-component-Jx2aafTJ.mjs.map | 1 - dist/components/button.cjs | 2 +- dist/components/button.cjs.map | 2 +- dist/components/button.mjs | 16 +- dist/components/button.mjs.map | 2 +- dist/components/carousel.cjs | 2 +- dist/components/carousel.cjs.map | 2 +- dist/components/carousel.mjs | 314 ++- dist/components/carousel.mjs.map | 2 +- dist/components/collapse.cjs | 2 +- dist/components/collapse.cjs.map | 2 +- dist/components/collapse.mjs | 78 +- dist/components/collapse.mjs.map | 2 +- dist/components/dropdown.cjs | 2 +- dist/components/dropdown.cjs.map | 2 +- dist/components/dropdown.mjs | 87 +- dist/components/dropdown.mjs.map | 2 +- dist/components/event-listener-BQdA_KAC.js | 2 - .../components/event-listener-BQdA_KAC.js.map | 1 - dist/components/event-listener-CUwvA4j6.mjs | 32 - .../event-listener-CUwvA4j6.mjs.map | 1 - ...AsWuzD.js => getTargetElement-BJtPWRez.js} | 4 +- ...s.map => getTargetElement-BJtPWRez.js.map} | 2 +- dist/components/getTargetElement-Bv0W3Fir.mjs | 13 - dist/components/getTargetElement-v_1VfmtN.mjs | 13 + ....map => getTargetElement-v_1VfmtN.mjs.map} | 2 +- dist/components/index-CxumdV5N.js | 2 + dist/components/index-CxumdV5N.js.map | 1 + ...{index-DinhT6Jq.mjs => index-DXF8ibvt.mjs} | 72 +- dist/components/index-DXF8ibvt.mjs.map | 1 + dist/components/index-DinhT6Jq.mjs.map | 1 - dist/components/index-DlQfhTUb.js | 2 - dist/components/index-DlQfhTUb.js.map | 1 - dist/components/isDisabled-CST_xG4K.js | 2 + dist/components/isDisabled-CST_xG4K.js.map | 1 + dist/components/isDisabled-bThyhy2g.mjs | 6 + dist/components/isDisabled-bThyhy2g.mjs.map | 1 + dist/components/isVisible-Bxf-Wn7_.js | 2 + ...n--vr.js.map => isVisible-Bxf-Wn7_.js.map} | 2 +- ...le-DLMDMGcf.mjs => isVisible-D6KlD4UJ.mjs} | 48 +- ...Gcf.mjs.map => isVisible-D6KlD4UJ.mjs.map} | 2 +- dist/components/isVisible-tPDn--vr.js | 2 - dist/components/modal.cjs | 2 +- dist/components/modal.cjs.map | 2 +- dist/components/modal.mjs | 100 +- dist/components/modal.mjs.map | 2 +- dist/components/offcanvas.cjs | 2 +- dist/components/offcanvas.cjs.map | 2 +- dist/components/offcanvas.mjs | 116 +- dist/components/offcanvas.mjs.map | 2 +- dist/components/popover.cjs | 2 +- dist/components/popover.cjs.map | 2 +- dist/components/popover.mjs | 16 +- dist/components/popover.mjs.map | 2 +- dist/components/popupContainer-B1-dZ_ye.js | 2 + ....js.map => popupContainer-B1-dZ_ye.js.map} | 2 +- ...ZsH2ur.mjs => popupContainer-BvxACdvn.mjs} | 16 +- ...js.map => popupContainer-BvxACdvn.mjs.map} | 2 +- dist/components/popupContainer-CSoNJ-n6.js | 2 - dist/components/scrollspy.cjs | 2 +- dist/components/scrollspy.cjs.map | 2 +- dist/components/scrollspy.d.ts | 29 +- dist/components/scrollspy.mjs | 160 +- dist/components/scrollspy.mjs.map | 2 +- dist/components/tab.cjs | 2 +- dist/components/tab.cjs.map | 2 +- dist/components/tab.mjs | 67 +- dist/components/tab.mjs.map | 2 +- dist/components/toast.cjs | 2 +- dist/components/toast.cjs.map | 2 +- dist/components/toast.mjs | 70 +- dist/components/toast.mjs.map | 2 +- ...ltip-Cxy40RjE.mjs => tooltip-ClBo4cww.mjs} | 159 +- dist/components/tooltip-ClBo4cww.mjs.map | 1 + dist/components/tooltip-Cxy40RjE.mjs.map | 1 - dist/components/tooltip-DKh6RNNg.js | 2 - dist/components/tooltip-DKh6RNNg.js.map | 1 - dist/components/tooltip-DMsoGjJu.js | 2 + dist/components/tooltip-DMsoGjJu.js.map | 1 + dist/components/tooltip.cjs | 2 +- dist/components/tooltip.mjs | 11 +- dist/components/tooltip.mjs.map | 2 +- docs/assets/css/theme.css | 9 + docs/assets/js/bootstrap-native.js | 2 +- docs/assets/js/bootstrap-native.js.map | 2 +- docs/index-dev.html | 113 +- docs/index.html | 122 +- package.json | 11 +- pnpm-lock.yaml | 564 +++-- src/components/alert.ts | 36 +- src/components/base-component.ts | 7 +- src/components/button.ts | 13 +- src/components/carousel.ts | 506 ++--- src/components/collapse.ts | 32 +- src/components/dropdown.ts | 21 +- src/components/modal.ts | 31 +- src/components/offcanvas.ts | 35 +- src/components/popover.ts | 14 +- src/components/scrollspy.ts | 279 ++- src/components/tab.ts | 33 +- src/components/toast.ts | 23 +- src/components/tooltip.ts | 40 +- src/interface/scrollspy.ts | 2 + src/util/isDisabled.ts | 13 + src/util/isEmptyAnchor.ts | 4 +- test/scrollspy.test.ts | 38 +- tsconfig.json | 76 +- vite.config.components.mts | 5 + vite.config.mts | 2 +- 128 files changed, 3203 insertions(+), 3015 deletions(-) create mode 100644 dist/components/base-component-CEXwoid1.js create mode 100644 dist/components/base-component-CEXwoid1.js.map create mode 100644 dist/components/base-component-CQAH5ZXF.mjs create mode 100644 dist/components/base-component-CQAH5ZXF.mjs.map delete mode 100644 dist/components/base-component-DaZCwW-u.js delete mode 100644 dist/components/base-component-DaZCwW-u.js.map delete mode 100644 dist/components/base-component-Jx2aafTJ.mjs delete mode 100644 dist/components/base-component-Jx2aafTJ.mjs.map delete mode 100644 dist/components/event-listener-BQdA_KAC.js delete mode 100644 dist/components/event-listener-BQdA_KAC.js.map delete mode 100644 dist/components/event-listener-CUwvA4j6.mjs delete mode 100644 dist/components/event-listener-CUwvA4j6.mjs.map rename dist/components/{getTargetElement-CXAsWuzD.js => getTargetElement-BJtPWRez.js} (66%) rename dist/components/{getTargetElement-CXAsWuzD.js.map => getTargetElement-BJtPWRez.js.map} (97%) delete mode 100644 dist/components/getTargetElement-Bv0W3Fir.mjs create mode 100644 dist/components/getTargetElement-v_1VfmtN.mjs rename dist/components/{getTargetElement-Bv0W3Fir.mjs.map => getTargetElement-v_1VfmtN.mjs.map} (97%) create mode 100644 dist/components/index-CxumdV5N.js create mode 100644 dist/components/index-CxumdV5N.js.map rename dist/components/{index-DinhT6Jq.mjs => index-DXF8ibvt.mjs} (52%) create mode 100644 dist/components/index-DXF8ibvt.mjs.map delete mode 100644 dist/components/index-DinhT6Jq.mjs.map delete mode 100644 dist/components/index-DlQfhTUb.js delete mode 100644 dist/components/index-DlQfhTUb.js.map create mode 100644 dist/components/isDisabled-CST_xG4K.js create mode 100644 dist/components/isDisabled-CST_xG4K.js.map create mode 100644 dist/components/isDisabled-bThyhy2g.mjs create mode 100644 dist/components/isDisabled-bThyhy2g.mjs.map create mode 100644 dist/components/isVisible-Bxf-Wn7_.js rename dist/components/{isVisible-tPDn--vr.js.map => isVisible-Bxf-Wn7_.js.map} (99%) rename dist/components/{isVisible-DLMDMGcf.mjs => isVisible-D6KlD4UJ.mjs} (53%) rename dist/components/{isVisible-DLMDMGcf.mjs.map => isVisible-D6KlD4UJ.mjs.map} (99%) delete mode 100644 dist/components/isVisible-tPDn--vr.js create mode 100644 dist/components/popupContainer-B1-dZ_ye.js rename dist/components/{popupContainer-CSoNJ-n6.js.map => popupContainer-B1-dZ_ye.js.map} (97%) rename dist/components/{popupContainer-CgZsH2ur.mjs => popupContainer-BvxACdvn.mjs} (71%) rename dist/components/{popupContainer-CgZsH2ur.mjs.map => popupContainer-BvxACdvn.mjs.map} (97%) delete mode 100644 dist/components/popupContainer-CSoNJ-n6.js rename dist/components/{tooltip-Cxy40RjE.mjs => tooltip-ClBo4cww.mjs} (59%) create mode 100644 dist/components/tooltip-ClBo4cww.mjs.map delete mode 100644 dist/components/tooltip-Cxy40RjE.mjs.map delete mode 100644 dist/components/tooltip-DKh6RNNg.js delete mode 100644 dist/components/tooltip-DKh6RNNg.js.map create mode 100644 dist/components/tooltip-DMsoGjJu.js create mode 100644 dist/components/tooltip-DMsoGjJu.js.map create mode 100644 src/util/isDisabled.ts diff --git a/README.md b/README.md index a1164d08..babd45e5 100644 --- a/README.md +++ b/README.md @@ -4,16 +4,16 @@ [![NPM Version](https://img.shields.io/npm/v/bootstrap.native.svg)](https://www.npmjs.com/package/bootstrap.native) [![jsDeliver](https://img.shields.io/jsdelivr/npm/hw/bootstrap.native)](https://www.jsdelivr.com/package/npm/bootstrap.native) [![typescript version](https://img.shields.io/badge/typescript-5.6.3-brightgreen)](https://www.typescriptlang.org/) -[![vitest version](https://img.shields.io/badge/vitest-2.1.4-brightgreen)](https://vitest.dev/) -[![vite version](https://img.shields.io/badge/vite-5.4.10-brightgreen)](https://vitejs.dev/) +[![vitest version](https://img.shields.io/badge/vitest-2.1.5-brightgreen)](https://vitest.dev/) +[![vite version](https://img.shields.io/badge/vite-5.4.11-brightgreen)](https://vitejs.dev/) The faster, lighter and more compact set of JavaScript components for **Bootstrap 5**, sourced with TypeScript and free from major dependecies such as jQuery, Popper. -The **bootstrap.native** library is available on npm, CDN and comes packed with Cypress powered tests and other goodies. +The **bootstrap.native** library is available on npm, CDN and comes packed with Vitest powered tests and other goodies. -The library is around ***39Kb*** minified and around ***12Kb*** gZipped. See the demo for components guidelines and examples, or the [Wiki/How to use](https://github.com/thednp/bootstrap.native/wiki/How-to-use) on how to install and use the library. +The library is around ***42Kb*** minified and around ***13Kb*** gZipped. See the demo for components guidelines and examples, or the [Wiki/How to use](https://github.com/thednp/bootstrap.native/wiki/How-to-use) on how to install and use the library. # Wiki diff --git a/dist/bootstrap-native.cjs b/dist/bootstrap-native.cjs index 6bbd44c0..96fae128 100644 --- a/dist/bootstrap-native.cjs +++ b/dist/bootstrap-native.cjs @@ -1,2 +1,2 @@ -"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const In="aria-describedby",we="aria-expanded",ie="aria-hidden",Te="aria-modal",Is="aria-pressed",Oe="aria-selected",rs="focus",cs="focusin",Ln="focusout",$e="keydown",Ro="keyup",I="click",_n="mousedown",Bo="hover",ye="mouseenter",as="mouseleave",Fo="pointerdown",Wo="pointermove",jo="pointerup",ls="touchstart",zo="dragstart",Vo='a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]',qe="ArrowDown",Xe="ArrowUp",Ls="ArrowLeft",_s="ArrowRight",ds="Escape",Ko="transitionDuration",qo="transitionDelay",Ne="transitionend",On="transitionProperty",Xo=()=>{const e=/(iPhone|iPod|iPad)/;return navigator?.userAgentData?.brands.some(t=>e.test(t.brand))||e.test(navigator?.userAgent)||!1},Ee=()=>{},Yo=(e,t,s,n)=>{const o=n||!1;e.addEventListener(t,s,o)},Uo=(e,t,s,n)=>{const o=n||!1;e.removeEventListener(t,s,o)},et=(e,t)=>e.getAttribute(t),te=(e,t)=>e.hasAttribute(t),L=(e,t,s)=>e.setAttribute(t,s),It=(e,t)=>e.removeAttribute(t),h=(e,...t)=>{e.classList.add(...t)},v=(e,...t)=>{e.classList.remove(...t)},f=(e,t)=>e.classList.contains(t),re=e=>e!=null&&typeof e=="object"||!1,D=e=>re(e)&&typeof e.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(t=>e.nodeType===t)||!1,G=e=>D(e)&&e.nodeType===1||!1,Wt=new Map,Dt={data:Wt,set:(e,t,s)=>{G(e)&&(Wt.has(t)||Wt.set(t,new Map),Wt.get(t).set(e,s))},getAllFor:e=>Wt.get(e)||null,get:(e,t)=>{if(!G(e)||!t)return null;const s=Dt.getAllFor(t);return e&&s&&s.get(e)||null},remove:(e,t)=>{const s=Dt.getAllFor(t);!s||!G(e)||(s.delete(e),s.size===0&&Wt.delete(t))}},j=(e,t)=>Dt.get(e,t),ce=e=>typeof e=="string"||!1,Nn=e=>re(e)&&e.constructor.name==="Window"||!1,Mn=e=>D(e)&&e.nodeType===9||!1,w=e=>Mn(e)?e:D(e)?e.ownerDocument:Nn(e)?e.document:globalThis.document,ct=(e,...t)=>Object.assign(e,...t),vt=e=>{if(!e)return;if(ce(e))return w().createElement(e);const{tagName:t}=e,s=vt(t);if(!s)return;const n={...e};return delete n.tagName,ct(s,n)},b=(e,t)=>e.dispatchEvent(t),W=(e,t,s)=>{const n=getComputedStyle(e,s),o=t.replace("webkit","Webkit").replace(/([A-Z])/g,"-$1").toLowerCase();return n.getPropertyValue(o)},Go=e=>{const t=W(e,On),s=W(e,qo),n=s.includes("ms")?1:1e3,o=t&&t!=="none"?parseFloat(s)*n:0;return Number.isNaN(o)?0:o},ae=e=>{const t=W(e,On),s=W(e,Ko),n=s.includes("ms")?1:1e3,o=t&&t!=="none"?parseFloat(s)*n:0;return Number.isNaN(o)?0:o},H=(e,t)=>{let s=0;const n=new Event(Ne),o=ae(e),i=Go(e);if(o){const r=c=>{c.target===e&&(t.apply(e,[c]),e.removeEventListener(Ne,r),s=1)};e.addEventListener(Ne,r),setTimeout(()=>{s||b(e,n)},o+i+17)}else t.apply(e,[n])},at=(e,t)=>e.focus(t),Os=e=>["true",!0].includes(e)?!0:["false",!1].includes(e)?!1:["null","",null,void 0].includes(e)?null:e!==""&&!Number.isNaN(+e)?+e:e,ue=e=>Object.entries(e),Vt=e=>e.toLowerCase(),Zo=(e,t,s,n)=>{if(!G(e))return t;const o={...s},i={...e.dataset},r={...t},c={},a="title";return ue(i).forEach(([l,d])=>{const g=typeof l=="string"&&l.includes(n)?l.replace(n,"").replace(/[A-Z]/g,E=>Vt(E)):l;c[g]=Os(d)}),ue(o).forEach(([l,d])=>{o[l]=Os(d)}),ue(t).forEach(([l,d])=>{l in o?r[l]=o[l]:l in c?r[l]=c[l]:r[l]=l===a?et(e,a):d}),r},Ns=e=>Object.keys(e),T=(e,t)=>{const s=new CustomEvent(e,{cancelable:!0,bubbles:!0});return re(t)&&ct(s,t),s},ee={passive:!0},Ot=e=>e.offsetHeight,P=(e,t)=>{ue(t).forEach(([s,n])=>{if(n&&ce(s)&&s.includes("--"))e.style.setProperty(s,n);else{const o={};o[s]=n,ct(e.style,o)}})},Ye=e=>re(e)&&e.constructor.name==="Map"||!1,Qo=e=>typeof e=="number"||!1,ut=new Map,u={set:(e,t,s,n)=>{G(e)&&(n&&n.length?(ut.has(e)||ut.set(e,new Map),ut.get(e).set(n,setTimeout(t,s))):ut.set(e,setTimeout(t,s)))},get:(e,t)=>{if(!G(e))return null;const s=ut.get(e);return t&&s&&Ye(s)?s.get(t)||null:Qo(s)?s:null},clear:(e,t)=>{if(!G(e))return;const s=ut.get(e);t&&t.length&&Ye(s)?(clearTimeout(s.get(t)),s.delete(t),s.size===0&&ut.delete(e)):(clearTimeout(s),ut.delete(e))}},U=(e,t)=>(D(t)?t:w()).querySelectorAll(e),Ue=new Map;function Jo(e){const{shiftKey:t,code:s}=e,n=w(this),o=[...U(Vo,this)].filter(c=>!te(c,"disabled")&&!et(c,ie));if(!o.length)return;const i=o[0],r=o[o.length-1];s==="Tab"&&(t&&n.activeElement===i?(r.focus(),e.preventDefault()):!t&&n.activeElement===r&&(i.focus(),e.preventDefault()))}const ti=e=>Ue.has(e)===!0,Ce=e=>{const t=ti(e);(t?Uo:Yo)(e,"keydown",Jo),t?Ue.delete(e):Ue.set(e,!0)},C=e=>G(e)&&"offsetWidth"in e||!1,Et=(e,t)=>{const{width:s,height:n,top:o,right:i,bottom:r,left:c}=e.getBoundingClientRect();let a=1,l=1;if(t&&C(e)){const{offsetWidth:d,offsetHeight:g}=e;a=d>0?Math.round(s)/d:1,l=g>0?Math.round(n)/g:1}return{width:s/a,height:n/l,top:o/l,right:i/a,bottom:r/l,left:c/a,x:c/a,y:o/l}},$t=e=>w(e).body,lt=e=>w(e).documentElement,ei=e=>{const t=Nn(e),s=t?e.scrollX:e.scrollLeft,n=t?e.scrollY:e.scrollTop;return{x:s,y:n}},Rn=e=>D(e)&&e.constructor.name==="ShadowRoot"||!1,si=e=>e.nodeName==="HTML"?e:G(e)&&e.assignedSlot||D(e)&&e.parentNode||Rn(e)&&e.host||lt(e),Bn=e=>e?Mn(e)?e.defaultView:D(e)?e?.ownerDocument?.defaultView:e:window,ni=e=>D(e)&&["TABLE","TD","TH"].includes(e.nodeName)||!1,Fn=(e,t)=>e.matches(t),oi=e=>{if(!C(e))return!1;const{width:t,height:s}=Et(e),{offsetWidth:n,offsetHeight:o}=e;return Math.round(t)!==n||Math.round(s)!==o},ii=(e,t,s)=>{const n=C(t),o=Et(e,n&&oi(t)),i={x:0,y:0};if(n){const r=Et(t,!0);i.x=r.x+t.clientLeft,i.y=r.y+t.clientTop}return{x:o.left+s.x-i.x,y:o.top+s.y-i.y,width:o.width,height:o.height}};let Ms=0,Rs=0;const jt=new Map,Wn=(e,t)=>{let s=t?Ms:Rs;if(t){const n=Wn(e),o=jt.get(n)||new Map;jt.has(n)||jt.set(n,o),Ye(o)&&!o.has(t)?(o.set(t,s),Ms+=1):s=o.get(t)}else{const n=e.id||e;jt.has(n)?s=jt.get(n):(jt.set(n,s),Rs+=1)}return s},ri=e=>Array.isArray(e)||!1,jn=e=>{if(!D(e))return!1;const{top:t,bottom:s}=Et(e),{clientHeight:n}=lt(e);return t<=n&&s>=0},ci=e=>typeof e=="function"||!1,ai=e=>re(e)&&e.constructor.name==="NodeList"||!1,Tt=e=>lt(e).dir==="rtl",_=(e,t)=>!e||!t?null:e.closest(t)||_(e.getRootNode().host,t)||null,x=(e,t)=>G(e)?e:(G(t)?t:w()).querySelector(e),hs=(e,t)=>(D(t)?t:w()).getElementsByTagName(e),it=(e,t)=>(t&&D(t)?t:w()).getElementsByClassName(e),zt={},zn=e=>{const{type:t,currentTarget:s}=e;zt[t].forEach((n,o)=>{s===o&&n.forEach((i,r)=>{r.apply(o,[e]),typeof i=="object"&&i.once&&M(o,t,r,i)})})},N=(e,t,s,n)=>{zt[t]||(zt[t]=new Map);const o=zt[t];o.has(e)||o.set(e,new Map);const i=o.get(e),{size:r}=i;i.set(s,n),r||e.addEventListener(t,zn,n)},M=(e,t,s,n)=>{const o=zt[t],i=o&&o.get(e),r=i&&i.get(s),c=r!==void 0?r:n;i&&i.has(s)&&i.delete(s),o&&(!i||!i.size)&&o.delete(e),(!o||!o.size)&&delete zt[t],(!i||!i.size)&&e.removeEventListener(t,zn,c)},O="fade",p="show",Se="data-bs-dismiss",xe="alert",Vn="Alert",li="5.1.0",di=li;class st{constructor(t,s){let n;try{if(G(t))n=t;else if(ce(t)){if(n=x(t),!n)throw Error(`"${t}" is not a valid selector.`)}else throw Error("your target is not an instance of HTMLElement.")}catch(i){throw Error(`${this.name} Error: ${i.message}`)}const o=Dt.get(n,this.name);o&&o._toggleEventListeners(),this.element=n,this.options=this.defaults&&Ns(this.defaults).length?Zo(n,this.defaults,s||{},"bs"):{},Dt.set(n,this.name,this)}get version(){return di}get name(){return"BaseComponent"}get defaults(){return{}}_toggleEventListeners=()=>{};dispose(){Dt.remove(this.element,this.name),Ns(this).forEach(t=>{delete this[t]})}}const hi=`.${xe}`,fi=`[${Se}="${xe}"]`,gi=e=>j(e,Vn),ui=e=>new fs(e),Bs=T(`close.bs.${xe}`),pi=T(`closed.bs.${xe}`),Fs=e=>{const{element:t}=e;b(t,pi),e._toggleEventListeners(),e.dispose(),t.remove()};class fs extends st{static selector=hi;static init=ui;static getInstance=gi;dismiss;constructor(t){super(t),this.dismiss=x(fi,this.element),this._toggleEventListeners(!0)}get name(){return Vn}close=()=>{const{element:t}=this;t&&f(t,p)&&(b(t,Bs),Bs.defaultPrevented||(v(t,p),f(t,O)?H(t,()=>Fs(this)):Fs(this)))};_toggleEventListeners=t=>{const s=t?N:M,{dismiss:n,close:o}=this;n&&s(n,I,o)};dispose(){this._toggleEventListeners(),super.dispose()}}const $="active",nt="data-bs-toggle",mi="button",Kn="Button",vi=`[${nt}="${mi}"]`,bi=e=>j(e,Kn),wi=e=>new gs(e);class gs extends st{static selector=vi;static init=wi;static getInstance=bi;constructor(t){super(t);const{element:s}=this;this.isActive=f(s,$),L(s,Is,String(!!this.isActive)),this._toggleEventListeners(!0)}get name(){return Kn}toggle=t=>{t&&t.preventDefault();const{element:s,isActive:n}=this;!f(s,"disabled")&&!et(s,"disabled")&&((n?v:h)(s,$),L(s,Is,n?"false":"true"),this.isActive=f(s,$))};_toggleEventListeners=t=>{(t?N:M)(this.element,I,this.toggle)};dispose(){this._toggleEventListeners(),super.dispose()}}const Ge="data-bs-target",At="carousel",qn="Carousel",Ws="data-bs-parent",Ei="data-bs-container",q=e=>{const t=[Ge,Ws,Ei,"href"],s=w(e);return t.map(n=>{const o=et(e,n);return o?n===Ws?_(e,o):x(o,s):null}).filter(n=>n)[0]},le=`[data-bs-ride="${At}"]`,Y=`${At}-item`,Ze="data-bs-slide-to",mt="data-bs-slide",bt="paused",js={pause:"hover",keyboard:!1,touch:!0,interval:5e3},dt=e=>j(e,qn),Ti=e=>new us(e);let Jt=0,pe=0,Me=0;const Re=T(`slide.bs.${At}`),Qe=T(`slid.bs.${At}`),zs=e=>{const{index:t,direction:s,element:n,slides:o,options:i}=e;if(e.isAnimating){const r=Je(e),c=s==="left"?"next":"prev",a=s==="left"?"start":"end";h(o[t],$),v(o[t],`${Y}-${c}`),v(o[t],`${Y}-${a}`),v(o[r],$),v(o[r],`${Y}-${a}`),b(n,Qe),u.clear(n,mt),e.cycle&&!w(n).hidden&&i.interval&&!e.isPaused&&e.cycle()}};function $i(){const e=dt(this);e&&!e.isPaused&&!u.get(this,bt)&&h(this,bt)}function yi(){const e=dt(this);e&&e.isPaused&&!u.get(this,bt)&&e.cycle()}function Ci(e){e.preventDefault();const t=_(this,le)||q(this),s=dt(t);if(s&&!s.isAnimating){const n=+(et(this,Ze)||0);this&&!f(this,$)&&!Number.isNaN(n)&&s.to(n)}}function Si(e){e.preventDefault();const t=_(this,le)||q(this),s=dt(t);if(s&&!s.isAnimating){const n=et(this,mt);n==="next"?s.next():n==="prev"&&s.prev()}}const xi=({code:e,target:t})=>{const s=w(t),[n]=[...U(le,s)].filter(i=>jn(i)),o=dt(n);if(o&&!o.isAnimating&&!/textarea|input/i.test(t.nodeName)){const i=Tt(n);e===(i?_s:Ls)?o.prev():e===(i?Ls:_s)&&o.next()}};function Vs(e){const{target:t}=e,s=dt(this);s&&s.isTouch&&(s.indicator&&!s.indicator.contains(t)||!s.controls.includes(t))&&(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault())}function Hi(e){const{target:t}=e,s=dt(this);if(s&&!s.isAnimating&&!s.isTouch){const{controls:n,indicators:o}=s;[...n,...o].every(i=>i===t||i.contains(t))||(Jt=e.pageX,this.contains(t)&&(s.isTouch=!0,Xn(s,!0)))}}const Pi=e=>{pe=e.pageX},Di=e=>{const{target:t}=e,s=w(t),n=[...U(le,s)].map(o=>dt(o)).find(o=>o.isTouch);if(n){const{element:o,index:i}=n,r=Tt(o);Me=e.pageX,n.isTouch=!1,Xn(n),!s.getSelection()?.toString().length&&o.contains(t)&&Math.abs(Jt-Me)>120&&(peJt&&n.to(i+(r?1:-1))),Jt=0,pe=0,Me=0}},Be=(e,t)=>{const{indicators:s}=e;[...s].forEach(n=>v(n,$)),e.indicators[t]&&h(s[t],$)},Xn=(e,t)=>{const{element:s}=e,n=t?N:M;n(w(s),Wo,Pi,ee),n(w(s),jo,Di,ee)},Je=e=>{const{slides:t,element:s}=e,n=x(`.${Y}.${$}`,s);return C(n)?[...t].indexOf(n):-1};class us extends st{static selector=le;static init=Ti;static getInstance=dt;constructor(t,s){super(t,s);const{element:n}=this;this.direction=Tt(n)?"right":"left",this.isTouch=!1,this.slides=it(Y,n);const{slides:o}=this;if(o.length>=2){const i=Je(this),r=[...o].find(l=>Fn(l,`.${Y}-next,.${Y}-next`));this.index=i;const c=w(n);this.controls=[...U(`[${mt}]`,n),...U(`[${mt}][${Ge}="#${n.id}"]`,c)].filter((l,d,g)=>d===g.indexOf(l)),this.indicator=x(`.${At}-indicators`,n),this.indicators=[...this.indicator?U(`[${Ze}]`,this.indicator):[],...U(`[${Ze}][${Ge}="#${n.id}"]`,c)].filter((l,d,g)=>d===g.indexOf(l));const{options:a}=this;this.options.interval=a.interval===!0?js.interval:a.interval,r?this.index=[...o].indexOf(r):i<0&&(this.index=0,h(o[0],$),this.indicators.length&&Be(this,0)),this.indicators.length&&Be(this,this.index),this._toggleEventListeners(!0),a.interval&&this.cycle()}}get name(){return qn}get defaults(){return js}get isPaused(){return f(this.element,bt)}get isAnimating(){return x(`.${Y}-next,.${Y}-prev`,this.element)!==null}cycle(){const{element:t,options:s,isPaused:n,index:o}=this;u.clear(t,At),n&&(u.clear(t,bt),v(t,bt)),u.set(t,()=>{this.element&&!this.isPaused&&!this.isTouch&&jn(t)&&this.to(o+1)},s.interval,At)}pause(){const{element:t,options:s}=this;!this.isPaused&&s.interval&&(h(t,bt),u.set(t,()=>{},1,bt))}next(){this.isAnimating||this.to(this.index+1)}prev(){this.isAnimating||this.to(this.index-1)}to(t){const{element:s,slides:n,options:o}=this,i=Je(this),r=Tt(s);let c=t;if(!this.isAnimating&&i!==c&&!u.get(s,mt)){ic||i===n.length-1&&c===0)&&(this.direction=r?"left":"right");const{direction:a}=this;c<0?c=n.length-1:c>=n.length&&(c=0);const l=a==="left"?"next":"prev",d=a==="left"?"start":"end",g={relatedTarget:n[c],from:i,to:c,direction:a};ct(Re,g),ct(Qe,g),b(s,Re),Re.defaultPrevented||(this.index=c,Be(this,c),ae(n[c])&&f(s,"slide")?u.set(s,()=>{h(n[c],`${Y}-${l}`),Ot(n[c]),h(n[c],`${Y}-${d}`),h(n[i],`${Y}-${d}`),H(n[c],()=>this.slides&&this.slides.length&&zs(this))},0,mt):(h(n[c],$),v(n[i],$),u.set(s,()=>{u.clear(s,mt),s&&o.interval&&!this.isPaused&&this.cycle(),b(s,Qe)},0,mt)))}}_toggleEventListeners=t=>{const{element:s,options:n,slides:o,controls:i,indicators:r}=this,{touch:c,pause:a,interval:l,keyboard:d}=n,g=t?N:M;a&&l&&(g(s,ye,$i),g(s,as,yi)),c&&o.length>2&&(g(s,Fo,Hi,ee),g(s,ls,Vs,{passive:!1}),g(s,zo,Vs,{passive:!1})),i.length&&i.forEach(E=>{E&&g(E,I,Si)}),r.length&&r.forEach(E=>{g(E,I,Ci)}),d&&g(w(s),$e,xi)};dispose(){const{isAnimating:t}=this,s={...this,isAnimating:t};this._toggleEventListeners(),super.dispose(),s.isAnimating&&H(s.slides[s.index],()=>{zs(s)})}}const Lt="collapsing",K="collapse",Yn="Collapse",Ai=`.${K}`,Un=`[${nt}="${K}"]`,ki={parent:null},me=e=>j(e,Yn),Ii=e=>new ps(e),Ks=T(`show.bs.${K}`),Li=T(`shown.bs.${K}`),qs=T(`hide.bs.${K}`),_i=T(`hidden.bs.${K}`),Oi=e=>{const{element:t,parent:s,triggers:n}=e;b(t,Ks),Ks.defaultPrevented||(u.set(t,Ee,17),s&&u.set(s,Ee,17),h(t,Lt),v(t,K),P(t,{height:`${t.scrollHeight}px`}),H(t,()=>{u.clear(t),s&&u.clear(s),n.forEach(o=>L(o,we,"true")),v(t,Lt),h(t,K),h(t,p),P(t,{height:""}),b(t,Li)}))},Xs=e=>{const{element:t,parent:s,triggers:n}=e;b(t,qs),qs.defaultPrevented||(u.set(t,Ee,17),s&&u.set(s,Ee,17),P(t,{height:`${t.scrollHeight}px`}),v(t,K),v(t,p),h(t,Lt),Ot(t),P(t,{height:"0px"}),H(t,()=>{u.clear(t),s&&u.clear(s),n.forEach(o=>L(o,we,"false")),v(t,Lt),h(t,K),P(t,{height:""}),b(t,_i)}))},Ni=e=>{const{target:t}=e,s=t&&_(t,Un),n=s&&q(s),o=n&&me(n);o&&o.toggle(),s&&s.tagName==="A"&&e.preventDefault()};class ps extends st{static selector=Ai;static init=Ii;static getInstance=me;constructor(t,s){super(t,s);const{element:n,options:o}=this,i=w(n);this.triggers=[...U(Un,i)].filter(r=>q(r)===n),this.parent=C(o.parent)?o.parent:ce(o.parent)?q(n)||x(o.parent,i):null,this._toggleEventListeners(!0)}get name(){return Yn}get defaults(){return ki}hide(){const{triggers:t,element:s}=this;u.get(s)||(Xs(this),t.length&&t.forEach(n=>h(n,`${K}d`)))}show(){const{element:t,parent:s,triggers:n}=this;let o,i;s&&(o=[...U(`.${K}.${p}`,s)].find(r=>me(r)),i=o&&me(o)),(!s||!u.get(s))&&!u.get(t)&&(i&&o!==t&&(Xs(i),i.triggers.forEach(r=>{h(r,`${K}d`)})),Oi(this),n.length&&n.forEach(r=>v(r,`${K}d`)))}toggle(){f(this.element,p)?this.hide():this.show()}_toggleEventListeners=t=>{const s=t?N:M,{triggers:n}=this;n.length&&n.forEach(o=>s(o,I,Ni))};dispose(){this._toggleEventListeners(),super.dispose()}}const _t=["dropdown","dropup","dropstart","dropend"],Gn="Dropdown",Zn="dropdown-menu",Qn=e=>{const t=_(e,"A");return e.tagName==="A"&&te(e,"href")&&et(e,"href").slice(-1)==="#"||t&&te(t,"href")&&et(t,"href").slice(-1)==="#"},[tt,ts,es,ss]=_t,Jn=`[${nt}="${tt}"]`,Kt=e=>j(e,Gn),Mi=e=>new ms(e),Ri=`${Zn}-end`,Ys=[tt,ts],Us=[es,ss],Gs=["A","BUTTON"],Bi={offset:5,display:"dynamic"},Fe=T(`show.bs.${tt}`),Zs=T(`shown.bs.${tt}`),We=T(`hide.bs.${tt}`),Qs=T(`hidden.bs.${tt}`),to=T(`updated.bs.${tt}`),eo=e=>{const{element:t,menu:s,parentElement:n,options:o}=e,{offset:i}=o;if(W(s,"position")!=="static"){const r=Tt(t),c=f(s,Ri);["margin","top","bottom","left","right"].forEach(F=>{const St={};St[F]="",P(s,St)});let l=_t.find(F=>f(n,F))||tt;const d={dropdown:[i,0,0],dropup:[0,0,i],dropstart:r?[-1,0,0,i]:[-1,i,0],dropend:r?[-1,i,0]:[-1,0,0,i]},g={dropdown:{top:"100%"},dropup:{top:"auto",bottom:"100%"},dropstart:r?{left:"100%",right:"auto"}:{left:"auto",right:"100%"},dropend:r?{left:"auto",right:"100%"}:{left:"100%",right:"auto"},menuStart:r?{right:"0",left:"auto"}:{right:"auto",left:"0"},menuEnd:r?{right:"auto",left:"0"}:{right:"0",left:"auto"}},{offsetWidth:E,offsetHeight:k}=s,{clientWidth:z,clientHeight:B}=lt(t),{left:m,top:R,width:yt,height:Ct}=Et(t),S=m-E-i<0,ht=m+E+yt+i>=z,ot=R+k+i>=B,J=R+k+Ct+i>=B,Mt=R-k-i<0,y=(!r&&c||r&&!c)&&m+yt-E<0,V=(r&&c||!r&&!c)&&m+E>=z;if(Us.includes(l)&&S&&ht&&(l=tt),l===es&&(r?ht:S)&&(l=ss),l===ss&&(r?S:ht)&&(l=es),l===ts&&Mt&&!J&&(l=tt),l===tt&&J&&!Mt&&(l=ts),Us.includes(l)&&ot&&ct(g[l],{top:"auto",bottom:0}),Ys.includes(l)&&(y||V)){let F={left:"auto",right:"auto"};!y&&V&&!r&&(F={left:"auto",right:0}),y&&!V&&r&&(F={left:0,right:"auto"}),F&&ct(g[l],F)}const Rt=d[l];P(s,{...g[l],margin:`${Rt.map(F=>F&&`${F}px`).join(" ")}`}),Ys.includes(l)&&c&&c&&P(s,g[!r&&y||r&&V?"menuStart":"menuEnd"]),b(n,to)}},Fi=e=>Array.from(e.children).map(t=>{if(t&&Gs.includes(t.tagName))return t;const{firstElementChild:s}=t;return s&&Gs.includes(s.tagName)?s:null}).filter(t=>t),Js=e=>{const{element:t,options:s,menu:n}=e,o=e.open?N:M,i=w(t);o(i,I,tn),o(i,rs,tn),o(i,$e,ji),o(i,Ro,zi),s.display==="dynamic"&&(e.open?e._observer.observe(n):e._observer.disconnect())},He=e=>{const t=[..._t,"btn-group","input-group"].map(s=>it(`${s} ${p}`,w(e))).find(s=>s.length);if(t&&t.length)return[...t[0].children].find(s=>_t.some(n=>n===et(s,nt)))},tn=e=>{const{target:t,type:s}=e;if(!C(t))return;const n=He(t),o=n&&Kt(n);if(!o)return;const{parentElement:i,menu:r}=o,c=i&&i.contains(t)&&(t.tagName==="form"||_(t,"form")!==null);[I,_n].includes(s)&&Qn(t)&&e.preventDefault(),!c&&s!==rs&&t!==n&&t!==r&&o.hide()},Wi=e=>{const{target:t}=e,s=t&&_(t,Jn),n=s&&Kt(s);n&&(e.stopPropagation(),n.toggle(),s&&Qn(s)&&e.preventDefault())},ji=e=>{[qe,Xe].includes(e.code)&&e.preventDefault()};function zi(e){const{code:t}=e,s=He(this);if(!s)return;const n=Kt(s),{activeElement:o}=w(s);if(!n||!o)return;const{menu:i,open:r}=n,c=Fi(i);if(c&&c.length&&[qe,Xe].includes(t)){let a=c.indexOf(o);o===s?a=0:t===Xe?a=a>1?a-1:0:t===qe&&(a=aVi(i.target),{threshold:1}),this._toggleEventListeners(!0))}get name(){return Gn}get defaults(){return Bi}toggle(){this.open?this.hide():this.show()}show(){const{element:t,open:s,menu:n,parentElement:o}=this;if(s)return;const i=He(t),r=i&&Kt(i);r&&r.hide(),[Fe,Zs,to].forEach(c=>{c.relatedTarget=t}),b(o,Fe),!Fe.defaultPrevented&&(h(n,p),h(o,p),L(t,we,"true"),eo(this),this.open=!s,at(t),Js(this),b(o,Zs))}hide(){const{element:t,open:s,menu:n,parentElement:o}=this;s&&([We,Qs].forEach(i=>{i.relatedTarget=t}),b(o,We),!We.defaultPrevented&&(v(n,p),v(o,p),L(t,we,"false"),this.open=!s,Js(this),b(o,Qs)))}_toggleEventListeners=t=>{(t?N:M)(this.element,I,Wi)};dispose(){this.open&&this.hide(),this._toggleEventListeners(),super.dispose()}}const X="modal",vs="Modal",bs="Offcanvas",Ki="fixed-top",qi="fixed-bottom",so="sticky-top",no="position-sticky",oo=e=>[...it(Ki,e),...it(qi,e),...it(so,e),...it(no,e),...it("is-fixed",e)],Xi=e=>{const t=$t(e);P(t,{paddingRight:"",overflow:""});const s=oo(t);s.length&&s.forEach(n=>{P(n,{paddingRight:"",marginRight:""})})},io=e=>{const{clientWidth:t}=lt(e),{innerWidth:s}=Bn(e);return Math.abs(s-t)},ro=(e,t)=>{const s=$t(e),n=parseInt(W(s,"paddingRight"),10),i=W(s,"overflow")==="hidden"&&n?0:io(e),r=oo(s);t&&(P(s,{overflow:"hidden",paddingRight:`${n+i}px`}),r.length&&r.forEach(c=>{const a=W(c,"paddingRight");if(c.style.paddingRight=`${parseInt(a,10)+i}px`,[so,no].some(l=>f(c,l))){const l=W(c,"marginRight");c.style.marginRight=`${parseInt(l,10)-i}px`}}))},Z="offcanvas",wt=vt({tagName:"div",className:"popup-container"}),co=(e,t)=>{const s=D(t)&&t.nodeName==="BODY",n=D(t)&&!s?t:wt,o=s?t:$t(e);D(e)&&(n===wt&&o.append(wt),n.append(e))},ao=(e,t)=>{const s=D(t)&&t.nodeName==="BODY",n=D(t)&&!s?t:wt;D(e)&&(e.remove(),n===wt&&!wt.children.length&&wt.remove())},ws=(e,t)=>{const s=D(t)&&t.nodeName!=="BODY"?t:wt;return D(e)&&s.contains(e)},lo="backdrop",en=`${X}-${lo}`,sn=`${Z}-${lo}`,ho=`.${X}.${p}`,Es=`.${Z}.${p}`,A=vt("div"),Nt=e=>x(`${ho},${Es}`,w(e)),Ts=e=>{const t=e?en:sn;[en,sn].forEach(s=>{v(A,s)}),h(A,t)},fo=(e,t,s)=>{Ts(s),co(A,$t(e)),t&&h(A,O)},go=()=>{f(A,p)||(h(A,p),Ot(A))},Pe=()=>{v(A,p)},uo=e=>{Nt(e)||(v(A,O),ao(A,$t(e)),Xi(e))},po=e=>C(e)&&W(e,"visibility")!=="hidden"&&e.offsetParent!==null,Yi=`.${X}`,mo=`[${nt}="${X}"]`,Ui=`[${Se}="${X}"]`,vo=`${X}-static`,Gi={backdrop:!0,keyboard:!0},se=e=>j(e,vs),Zi=e=>new $s(e),ve=T(`show.bs.${X}`),nn=T(`shown.bs.${X}`),je=T(`hide.bs.${X}`),on=T(`hidden.bs.${X}`),bo=e=>{const{element:t}=e,s=io(t),{clientHeight:n,scrollHeight:o}=lt(t),{clientHeight:i,scrollHeight:r}=t,c=i!==r;if(!c&&s){const l={[Tt(t)?"paddingLeft":"paddingRight"]:`${s}px`};P(t,l)}ro(t,c||n!==o)},wo=(e,t)=>{const s=t?N:M,{element:n}=e;s(n,I,tr),s(w(n),$e,Ji),t?e._observer.observe(n):e._observer.disconnect()},rn=e=>{const{triggers:t,element:s,relatedTarget:n}=e;uo(s),P(s,{paddingRight:"",display:""}),wo(e);const o=ve.relatedTarget||t.find(po);o&&at(o),on.relatedTarget=n||void 0,b(s,on),Ce(s)},cn=e=>{const{element:t,relatedTarget:s}=e;at(t),wo(e,!0),nn.relatedTarget=s||void 0,b(t,nn),Ce(t)},an=e=>{const{element:t,hasFade:s}=e;P(t,{display:"block"}),bo(e),Nt(t)||P($t(t),{overflow:"hidden"}),h(t,p),It(t,ie),L(t,Te,"true"),s?H(t,()=>cn(e)):cn(e)},ln=e=>{const{element:t,options:s,hasFade:n}=e;s.backdrop&&n&&f(A,p)&&!Nt(t)?(Pe(),H(A,()=>rn(e))):rn(e)},Qi=e=>{const{target:t}=e,s=t&&_(t,mo),n=s&&q(s),o=n&&se(n);o&&(s&&s.tagName==="A"&&e.preventDefault(),o.relatedTarget=s,o.toggle())},Ji=({code:e,target:t})=>{const s=x(ho,w(t)),n=s&&se(s);if(!n)return;const{options:o}=n;o.keyboard&&e===ds&&f(s,p)&&(n.relatedTarget=null,n.hide())},tr=e=>{const{currentTarget:t}=e,s=t&&se(t);if(!s||!t||u.get(t))return;const{options:n,isStatic:o,modalDialog:i}=s,{backdrop:r}=n,{target:c}=e,a=w(t)?.getSelection()?.toString().length,l=i.contains(c),d=c&&_(c,Ui);o&&!l?u.set(t,()=>{h(t,vo),H(i,()=>er(s))},17):(d||!a&&!o&&!l&&r)&&(s.relatedTarget=d||null,s.hide(),e.preventDefault())},er=e=>{const{element:t,modalDialog:s}=e,n=(ae(s)||0)+17;v(t,vo),u.set(t,()=>u.clear(t),n)};class $s extends st{static selector=Yi;static init=Zi;static getInstance=se;constructor(t,s){super(t,s);const{element:n}=this,o=x(`.${X}-dialog`,n);o&&(this.modalDialog=o,this.triggers=[...U(mo,w(n))].filter(i=>q(i)===n),this.isStatic=this.options.backdrop==="static",this.hasFade=f(n,O),this.relatedTarget=null,this._observer=new ResizeObserver(()=>this.update()),this._toggleEventListeners(!0))}get name(){return vs}get defaults(){return Gi}toggle(){f(this.element,p)?this.hide():this.show()}show(){const{element:t,options:s,hasFade:n,relatedTarget:o}=this,{backdrop:i}=s;let r=0;if(f(t,p)||(ve.relatedTarget=o||void 0,b(t,ve),ve.defaultPrevented))return;const c=Nt(t);if(c&&c!==t){const a=se(c)||j(c,bs);a&&a.hide()}i?(ws(A)?Ts(!0):fo(t,n,!0),r=ae(A),go(),setTimeout(()=>an(this),r)):(an(this),c&&f(A,p)&&Pe())}hide(){const{element:t,hasFade:s,relatedTarget:n}=this;f(t,p)&&(je.relatedTarget=n||void 0,b(t,je),!je.defaultPrevented&&(v(t,p),L(t,ie,"true"),It(t,Te),s?H(t,()=>ln(this)):ln(this)))}update=()=>{f(this.element,p)&&bo(this)};_toggleEventListeners=t=>{const s=t?N:M,{triggers:n}=this;n.length&&n.forEach(o=>s(o,I,Qi))};dispose(){const t={...this},{modalDialog:s,hasFade:n}=t,o=()=>setTimeout(()=>super.dispose(),17);this.hide(),this._toggleEventListeners(),n?H(s,o):o()}}const sr=`.${Z}`,ys=`[${nt}="${Z}"]`,nr=`[${Se}="${Z}"]`,De=`${Z}-toggling`,or={backdrop:!0,keyboard:!0,scroll:!1},ne=e=>j(e,bs),ir=e=>new Cs(e),be=T(`show.bs.${Z}`),Eo=T(`shown.bs.${Z}`),ze=T(`hide.bs.${Z}`),To=T(`hidden.bs.${Z}`),rr=e=>{const{element:t}=e,{clientHeight:s,scrollHeight:n}=lt(t);ro(t,s!==n)},$o=(e,t)=>{const s=t?N:M,n=w(e.element);s(n,$e,dr),s(n,I,lr)},dn=e=>{const{element:t,options:s}=e;s.scroll||(rr(e),P($t(t),{overflow:"hidden"})),h(t,De),h(t,p),P(t,{visibility:"visible"}),H(t,()=>hr(e))},cr=e=>{const{element:t,options:s}=e,n=Nt(t);t.blur(),!n&&s.backdrop&&f(A,p)&&Pe(),H(t,()=>fr(e))},ar=e=>{const t=_(e.target,ys),s=t&&q(t),n=s&&ne(s);n&&(n.relatedTarget=t,n.toggle(),t?.tagName==="A"&&e.preventDefault())},lr=e=>{const{target:t}=e,s=x(Es,w(t));if(!s)return;const n=x(nr,s),o=ne(s);if(!o)return;const{options:i,triggers:r}=o,{backdrop:c}=i,a=_(t,ys),l=w(s).getSelection();A.contains(t)&&c==="static"||(!(l&&l.toString().length)&&(!s.contains(t)&&c&&(!a||r.includes(t))||n&&n.contains(t))&&(o.relatedTarget=n&&n.contains(t)?n:void 0,o.hide()),a&&a.tagName==="A"&&e.preventDefault())},dr=({code:e,target:t})=>{const s=x(Es,w(t)),n=s&&ne(s);n&&n.options.keyboard&&e===ds&&(n.relatedTarget=void 0,n.hide())},hr=e=>{const{element:t}=e;v(t,De),It(t,ie),L(t,Te,"true"),L(t,"role","dialog"),b(t,Eo),$o(e,!0),at(t),Ce(t)},fr=e=>{const{element:t,triggers:s}=e;L(t,ie,"true"),It(t,Te),It(t,"role"),P(t,{visibility:""});const n=be.relatedTarget||s.find(po);n&&at(n),uo(t),b(t,To),v(t,De),Ce(t),Nt(t)||$o(e)};class Cs extends st{static selector=sr;static init=ir;static getInstance=ne;constructor(t,s){super(t,s);const{element:n}=this;this.triggers=[...U(ys,w(n))].filter(o=>q(o)===n),this.relatedTarget=void 0,this._toggleEventListeners(!0)}get name(){return bs}get defaults(){return or}toggle(){f(this.element,p)?this.hide():this.show()}show(){const{element:t,options:s,relatedTarget:n}=this;let o=0;if(f(t,p)||(be.relatedTarget=n||void 0,Eo.relatedTarget=n||void 0,b(t,be),be.defaultPrevented))return;const i=Nt(t);if(i&&i!==t){const r=ne(i)||j(i,vs);r&&r.hide()}s.backdrop?(ws(A)?Ts():fo(t,!0),o=ae(A),go(),setTimeout(()=>dn(this),o)):(dn(this),i&&f(A,p)&&Pe())}hide(){const{element:t,relatedTarget:s}=this;f(t,p)&&(ze.relatedTarget=s||void 0,To.relatedTarget=s||void 0,b(t,ze),!ze.defaultPrevented&&(h(t,De),v(t,p),cr(this)))}_toggleEventListeners=t=>{const s=t?N:M;this.triggers.forEach(n=>s(n,I,ar))};dispose(){const{element:t}=this,s=f(t,p),n=()=>setTimeout(()=>super.dispose(),1);this.hide(),this._toggleEventListeners(),s?H(t,n):n()}}const kt="popover",Ss="Popover",rt="tooltip",yo=e=>{const t=e===rt,s=t?`${e}-inner`:`${e}-body`,n=t?"":`

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

`,o=`
`,i=`
`;return`
${n+o+i}
`},xo={top:"top",bottom:"bottom",left:"start",right:"end"},is=e=>{requestAnimationFrame(()=>{const t=/\b(top|bottom|start|end)+/,{element:s,tooltip:n,container:o,offsetParent:i,options:r,arrow:c}=e;if(!n)return;const a=Tt(s),{x:l,y:f}=ni(i);A(n,{top:"",left:"",right:"",bottom:""});const{offsetWidth:g,offsetHeight:T}=n,{clientWidth:M,clientHeight:q,offsetWidth:Z}=dt(s);let{placement:m}=r;const{clientWidth:K,offsetWidth:$t}=o,C=R(o,"position")==="fixed",ft=Math.abs(C?K-$t:M-Z),it=a&&C?ft:0,J=M-(a?0:ft)-1,Bt=e._observer.getEntry(s),{width:y,height:W,left:Rt,right:B,top:Ct}=Bt?.boundingClientRect||It(s,!0),{x:fe,y:Ft}=ci(s,i,{x:l,y:f});A(c,{top:"",left:"",right:"",bottom:""});let St=0,Yt="",gt=0,Ie="",Wt="",ge="",ke="";const xt=c.offsetWidth||0,ut=c.offsetHeight||0,Le=xt/2;let Ut=Ct-T-ut<0,Xt=Ct+T+W+ut>=q,Gt=Rt-g-xt=J;const ue=["left","right"],Oe=["top","bottom"];Ut=ue.includes(m)?Ct+W/2-T/2-ut<0:Ut,Xt=ue.includes(m)?Ct+T/2+W/2+ut>=q:Xt,Gt=Oe.includes(m)?Rt+y/2-g/2=J:Qt,m=ue.includes(m)&&Gt&&Qt?"top":m,m=m==="top"&&Ut?"bottom":m,m=m==="bottom"&&Xt?"top":m,m=m==="left"&&Gt?"right":m,m=m==="right"&&Qt?"left":m,n.className.includes(m)||(n.className=n.className.replace(t,xo[m])),ue.includes(m)?(m==="left"?gt=fe-g-xt:gt=fe+y+xt,Ut&&Xt?(St=0,Yt=0,Wt=Ft+W/2-ut/2):Ut?(St=Ft,Yt="",Wt=W/2-xt):Xt?(St=Ft-T+W,Yt="",Wt=T-W/2-xt):(St=Ft-T/2+W/2,Wt=T/2-ut/2)):Oe.includes(m)&&(m==="top"?St=Ft-T-ut:St=Ft+W+ut,Gt?(gt=0,ge=fe+y/2-Le):Qt?(gt="auto",Ie=0,ke=y/2+J-B-Le):(gt=fe-g/2+y/2,ge=g/2-Le)),A(n,{top:`${St}px`,bottom:Yt===""?"":`${Yt}px`,left:gt==="auto"?gt:`${gt}px`,right:Ie!==""?`${Ie}px`:""}),D(c)&&(Wt!==""&&(c.style.top=`${Wt}px`),ge!==""?c.style.left=`${ge}px`:ke!==""&&(c.style.right=`${ke}px`));const Ro=E(`updated.bs.${se(e.name)}`);b(s,Ro)})},rs={template:So(ct),title:"",customClass:"",trigger:"hover focus",placement:"top",sanitizeFn:void 0,animation:!0,delay:200,container:document.body,content:"",dismissible:!1,btnClose:""},mr=e=>e!=null&&typeof e=="object"||!1,vr=e=>mr(e)&&typeof e.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(t=>e.nodeType===t)||!1,pn=e=>vr(e)&&e.nodeType===1||!1,br=e=>typeof e=="function"||!1,wr="1.0.2",mn="PositionObserver Error";class Ao{entries;static version=wr;_tick;_root;_callback;constructor(t,s){if(!br(t))throw new Error(`${mn}: ${t} is not a function.`);this.entries=new Map,this._callback=t,this._root=pn(s?.root)?s.root:document?.documentElement,this._tick=0}observe=t=>{if(!pn(t))throw new Error(`${mn}: ${t} is not an instance of Element.`);this._root.contains(t)&&this._new(t).then(s=>{s&&!this.getEntry(t)&&this.entries.set(t,s),this._tick||(this._tick=requestAnimationFrame(this._runCallback))})};unobserve=t=>{this.entries.has(t)&&this.entries.delete(t)};_runCallback=()=>{if(!this.entries.size)return;const t=new Promise(s=>{const n=[];this.entries.forEach(({target:o,boundingClientRect:i})=>{this._root.contains(o)&&this._new(o).then(({boundingClientRect:r,isIntersecting:c})=>{if(!c)return;const{left:a,top:l,bottom:f,right:g}=r;if(i.top!==l||i.left!==a||i.right!==g||i.bottom!==f){const T={target:o,boundingClientRect:r};this.entries.set(o,T),n.push(T)}})}),s(n)});this._tick=requestAnimationFrame(async()=>{const s=await t;s.length&&this._callback(s,this),this._runCallback()})};_new=t=>new Promise(s=>{new IntersectionObserver(([n],o)=>{o.disconnect(),s(n)}).observe(t)});getEntry=t=>this.entries.get(t);disconnect=()=>{cancelAnimationFrame(this._tick),this.entries.clear(),this._tick=0}}const Do="data-original-title",At="Tooltip",mt=(e,t,s)=>{if(ae(t)&&t.length){let n=t.trim();li(s)&&(n=s(n));const i=new DOMParser().parseFromString(n,"text/html");e.append(...i.body.childNodes)}else D(t)?e.append(t):(di(t)||ai(t)&&t.every(P))&&e.append(...t)},Er=e=>{const t=e.name===At,{id:s,element:n,options:o}=e,{title:i,placement:r,template:c,animation:a,customClass:l,sanitizeFn:f,dismissible:g,content:T,btnClose:M}=o,q=t?ct:_t,Z={...xo};let m=[],K=[];Tt(n)&&(Z.left="end",Z.right="start");const $t=`bs-${q}-${Z[r]}`;let yt;if(D(c))yt=c;else{const y=bt("div");mt(y,c,f),yt=y.firstChild}if(!D(yt))return;e.tooltip=yt.cloneNode(!0);const{tooltip:C}=e;k(C,"id",s),k(C,"role",ct);const ft=t?`${ct}-inner`:`${_t}-body`,it=t?null:S(`.${_t}-header`,C),J=S(`.${ft}`,C);e.arrow=S(`.${q}-arrow`,C);const{arrow:Bt}=e;if(D(i))m=[i.cloneNode(!0)];else{const y=bt("div");mt(y,i,f),m=[...y.childNodes]}if(D(T))K=[T.cloneNode(!0)];else{const y=bt("div");mt(y,T,f),K=[...y.childNodes]}if(g)if(i)if(D(M))m=[...m,M.cloneNode(!0)];else{const y=bt("div");mt(y,M,f),m=[...m,y.firstChild]}else if(it&&it.remove(),D(M))K=[...K,M.cloneNode(!0)];else{const y=bt("div");mt(y,M,f),K=[...K,y.firstChild]}t?i&&J&&mt(J,i,f):(i&&it&&mt(it,m,f),T&&J&&mt(J,K,f),e.btn=S(".btn-close",C)||void 0),d(C,"position-absolute"),d(Bt,"position-absolute"),h(C,q)||d(C,q),a&&!h(C,N)&&d(C,N),l&&!h(C,l)&&d(C,l),h(C,$t)||d(C,$t)},Tr=e=>{const t=["HTML","BODY"],s=[];let{parentNode:n}=e;for(;n&&!t.includes(n.nodeName);)n=oi(n),Fn(n)||ii(n)||s.push(n);return s.find((o,i)=>(R(o,"position")!=="relative"||R(o,"position")==="relative"&&o.offsetHeight!==o.scrollHeight)&&s.slice(i+1).every(r=>R(r,"position")==="static")?o:null)||w(e).body},$r=`[${ot}="${ct}"],[data-tip="${ct}"]`,Po="title";let vn=e=>F(e,At);const yr=e=>new He(e),Cr=e=>{const{element:t,tooltip:s,container:n}=e;Ht(t,Ln),ho(s,n)},Zt=e=>{const{tooltip:t,container:s}=e;return t&&$s(t,s)},Sr=(e,t)=>{const{element:s}=e;e._toggleEventListeners(),te(s,Do)&&e.name===At&&Ho(e),t&&t()},_o=(e,t)=>{const s=t?L:O,{element:n}=e;s(w(n),fs,e.handleTouch,ee)},bn=e=>{const{element:t}=e,s=E(`shown.bs.${se(e.name)}`);_o(e,!0),b(t,s),u.clear(t,"in")},wn=e=>{const{element:t}=e,s=E(`hidden.bs.${se(e.name)}`);_o(e),Cr(e),b(t,s),u.clear(t,"out")},En=(e,t)=>{const s=t?L:O,{element:n,tooltip:o}=e,i=H(n,`.${V}`),r=H(n,`.${G}`);t?[n,o].forEach(c=>e._observer.observe(c)):e._observer.disconnect(),i&&s(i,`hide.bs.${V}`,e.handleHide),r&&s(r,`hide.bs.${G}`,e.handleHide)},Ho=(e,t)=>{const s=[Do,Po],{element:n}=e;k(n,s[t?0:1],t||X(n,s[0])||""),Ht(n,s[t?1:0])};class He extends st{static selector=$r;static init=yr;static getInstance=vn;static styleTip=is;constructor(t,s){super(t,s);const{element:n}=this,o=this.name===At,i=o?ct:_t,r=o?At:Ds;vn=f=>F(f,r),this.enabled=!0,this.id=`${i}-${zn(n,i)}`;const{options:c}=this;if(!c.title&&o||!o&&!c.content)return;at(rs,{titleAttr:""}),te(n,Po)&&o&&typeof c.title=="string"&&Ho(this,c.title);const a=Tr(n),l=["sticky","fixed","relative"].some(f=>R(a,"position")===f)?a:Wn(n);this.container=a,this.offsetParent=l,Er(this),this.tooltip&&(this._observer=new Ao(()=>this.update()),this._toggleEventListeners(!0))}get name(){return At}get defaults(){return rs}handleFocus=()=>lt(this.element);handleShow=()=>this.show();show(){const{options:t,tooltip:s,element:n,container:o,id:i}=this,{animation:r}=t,c=u.get(n,"out");u.clear(n,"out"),s&&!c&&!Zt(this)&&u.set(n,()=>{const a=E(`show.bs.${se(this.name)}`);b(n,a),a.defaultPrevented||(lo(s,o),k(n,Ln,`#${i}`),this.update(),En(this,!0),h(s,p)||d(s,p),r?x(s,()=>bn(this)):bn(this))},17,"in")}handleHide=()=>this.hide();hide(){const{options:t,tooltip:s,element:n}=this,{animation:o,delay:i}=t;u.clear(n,"in"),s&&Zt(this)&&u.set(n,()=>{const r=E(`hide.bs.${se(this.name)}`);b(n,r),r.defaultPrevented||(this.update(),v(s,p),En(this),o?x(s,()=>wn(this)):wn(this))},i+17,"out")}update=()=>{is(this)};toggle=()=>{const{tooltip:t}=this;t&&!Zt(this)?this.show():this.hide()};enable(){const{enabled:t}=this;t||(this._toggleEventListeners(!0),this.enabled=!t)}disable(){const{tooltip:t,enabled:s}=this;s&&(t&&Zt(this)&&this.hide(),this._toggleEventListeners(),this.enabled=!s)}toggleEnabled(){this.enabled?this.disable():this.enable()}handleTouch=({target:t})=>{const{tooltip:s,element:n}=this;s&&s.contains(t)||t===n||t&&n.contains(t)||this.hide()};_toggleEventListeners=t=>{const s=t?L:O,{element:n,options:o,btn:i}=this,{trigger:r}=o,a=!!(this.name!==At&&o.dismissible);r.includes("manual")||(this.enabled=!!t,r.split(" ").forEach(f=>{f===Wo?(s(n,Nn,this.handleShow),s(n,Ce,this.handleShow),a||(s(n,hs,this.handleHide),s(w(n),fs,this.handleTouch,ee))):f===I?s(n,f,a?this.handleShow:this.toggle):f===ls&&(s(n,ds,this.handleShow),a||s(n,On,this.handleHide),Xo()&&s(n,I,this.handleFocus)),a&&i&&s(i,I,this.handleHide)}))};dispose(){const{tooltip:t,options:s}=this,n={...this,name:this.name},o=()=>setTimeout(()=>Sr(n,()=>super.dispose()),17);s.animation&&Zt(n)?(this.options.delay=0,this.hide(),x(t,o)):o()}}const xr=`[${ot}="${_t}"],[data-tip="${_t}"]`,Ar=at({},rs,{template:So(_t),content:"",dismissible:!1,btnClose:''}),Dr=e=>F(e,Ds),Pr=e=>new Ps(e);class Ps extends He{static selector=xr;static init=Pr;static getInstance=Dr;static styleTip=is;constructor(t,s){super(t,s)}get name(){return Ds}get defaults(){return Ar}show=()=>{super.show();const{options:t,btn:s}=this;t.dismissible&&s&&setTimeout(()=>lt(s),17)}}const _r="scrollspy",Io="ScrollSpy",Hr='[data-bs-spy="scroll"]',Ir="[href]",kr={offset:10,target:void 0},Lr=e=>F(e,Io),Or=e=>new _s(e),Tn=E(`activate.bs.${_r}`),Nr=e=>{const{target:t,_itemsLength:s,_observables:n}=e,o=us("A",t),i=w(t);!o.length||s===n.size||(n.clear(),Array.from(o).forEach(r=>{const c=X(r,"href")?.slice(1),a=c?.length?i.getElementById(c):null;a&&!nt(r)&&e._observables.set(a,r)}),e._itemsLength=e._observables.size)},ko=e=>{Array.from(us("A",e)).forEach(t=>{h(t,$)&&v(t,$)})},$n=(e,t)=>{const{target:s,element:n}=e;ko(s),e._activeItem=t,d(t,$);let o=t;for(;o!==s;)if(o=o.parentElement,["nav","dropdown-menu","list-group"].some(i=>h(o,i))){const i=o.previousElementSibling;i&&!h(i,$)&&d(i,$)}Tn.relatedTarget=t,b(n,Tn)},Ve=(e,t)=>{const{scrollTarget:s,element:n,options:o}=e;return(s!==n?It(t).top+s.scrollTop:t.offsetTop)-(o.offset||10)};class _s extends st{static selector=Hr;static init=Or;static getInstance=Lr;constructor(t,s){super(t,s);const{element:n,options:o}=this,i=S(o.target,w(n));i&&(this.target=i,this.scrollTarget=n.clientHeight{requestAnimationFrame(()=>this.refresh())},{root:this.scrollTarget}),this._toggleEventListeners(!0))}get name(){return Io}get defaults(){return kr}refresh=()=>{const{target:t,scrollTarget:s}=this;if(!t||t.offsetHeight===0)return;Nr(this);const{_itemsLength:n,_observables:o,_activeItem:i}=this;if(!n)return;const r=o.entries().toArray(),{scrollTop:c,scrollHeight:a,clientHeight:l}=s;if(c>=a-l){const g=r[n-1]?.[1];i!==g&&$n(this,g);return}const f=r[0]?.[0]?Ve(this,r[0][0]):null;if(f!==null&&c0){this._activeItem=null,ko(t);return}for(let g=0;g=q&&(m===null||c{const s=H(t.target,Ir),n=s&&X(s,"href")?.slice(1),o=n&&hi(n,this.target);o&&(this.scrollTarget.scrollTo({top:o.offsetTop,behavior:"smooth"}),t.preventDefault())};_toggleEventListeners=t=>{const{target:s,_observables:n,_observer:o,_scrollTo:i}=this;(t?L:O)(s,I,i),t?n?.forEach((c,a)=>o.observe(a)):o.disconnect()};dispose(){this._toggleEventListeners(),super.dispose()}}const he="tab",Lo="Tab",cs=`[${ot}="${he}"]`,Oo=e=>F(e,Lo),Mr=e=>new Hs(e),qe=E(`show.bs.${he}`),yn=E(`shown.bs.${he}`),Ye=E(`hide.bs.${he}`),Cn=E(`hidden.bs.${he}`),ie=new Map,Sn=e=>{const{tabContent:t,nav:s}=e;t&&h(t,kt)&&(t.style.height="",v(t,kt)),s&&u.clear(s)},xn=e=>{const{element:t,tabContent:s,content:n,nav:o}=e,{tab:i}=D(o)&&ie.get(o)||{tab:null};if(s&&n&&h(n,N)){const{currentHeight:r,nextHeight:c}=ie.get(t)||{currentHeight:0,nextHeight:0};r!==c?setTimeout(()=>{s.style.height=`${c}px`,Ot(s),x(s,()=>Sn(e))},50):Sn(e)}else o&&u.clear(o);yn.relatedTarget=i,b(t,yn)},An=e=>{const{element:t,content:s,tabContent:n,nav:o}=e,{tab:i,content:r}=o&&ie.get(o)||{tab:null,content:null};let c=0;if(n&&s&&h(s,N)&&([r,s].forEach(a=>{a&&d(a,"overflow-hidden")}),c=r?r.scrollHeight:0),qe.relatedTarget=i,Cn.relatedTarget=t,b(t,qe),!qe.defaultPrevented){if(s&&d(s,$),r&&v(r,$),n&&s&&h(s,N)){const a=s.scrollHeight;ie.set(t,{currentHeight:c,nextHeight:a,tab:null,content:null}),d(n,kt),n.style.height=`${c}px`,Ot(n),[r,s].forEach(l=>{l&&v(l,"overflow-hidden")})}s&&s&&h(s,N)?setTimeout(()=>{d(s,p),x(s,()=>{xn(e)})},1):(s&&d(s,p),xn(e)),i&&b(i,Cn)}},Dn=e=>{const{nav:t}=e;if(!D(t))return{tab:null,content:null};const s=rt($,t);let n=null;s.length===1&&!Lt.some(i=>h(s[0].parentElement,i))?[n]=s:s.length>1&&(n=s[s.length-1]);const o=D(n)?z(n):null;return{tab:n,content:o}},Pn=e=>{if(!D(e))return null;const t=H(e,`.${Lt.join(",.")}`);return t?S(`.${Lt[0]}-toggle`,t):null},Br=e=>{const t=H(e.target,cs),s=t&&Oo(t);s&&(e.preventDefault(),s.show())};class Hs extends st{static selector=cs;static init=Mr;static getInstance=Oo;constructor(t){super(t);const{element:s}=this,n=z(s);if(!n)return;const o=H(s,".nav"),i=H(n,".tab-content");this.nav=o,this.content=n,this.tabContent=i,this.dropdown=Pn(s);const{tab:r}=Dn(this);if(o&&!r){const c=S(cs,o),a=c&&z(c);a&&(d(c,$),d(a,p),d(a,$),k(s,Ne,"true"))}this._toggleEventListeners(!0)}get name(){return Lo}show(){const{element:t,content:s,nav:n,dropdown:o}=this;if(n&&u.get(n)||h(t,$))return;const{tab:i,content:r}=Dn(this);if(n&&i&&ie.set(n,{tab:i,content:r,currentHeight:0,nextHeight:0}),Ye.relatedTarget=t,!D(i)||(b(i,Ye),Ye.defaultPrevented))return;d(t,$),k(t,Ne,"true");const c=D(i)&&Pn(i);if(c&&h(c,$)&&v(c,$),n){const a=()=>{i&&(v(i,$),k(i,Ne,"false")),o&&!h(o,$)&&d(o,$)};r&&(h(r,N)||s&&h(s,N))?u.set(n,a,1):a()}r&&(v(r,p),h(r,N)?x(r,()=>An(this)):An(this))}_toggleEventListeners=t=>{(t?L:O)(this.element,I,Br)};dispose(){this._toggleEventListeners(),super.dispose()}}const Q="toast",No="Toast",Rr=`.${Q}`,Fr=`[${xe}="${Q}"]`,Mo=`[${ot}="${Q}"]`,qt="showing",Bo="hide",Wr={animation:!0,autohide:!0,delay:5e3},Is=e=>F(e,No),jr=e=>new ks(e),_n=E(`show.bs.${Q}`),zr=E(`shown.bs.${Q}`),Hn=E(`hide.bs.${Q}`),Kr=E(`hidden.bs.${Q}`),In=e=>{const{element:t,options:s}=e;v(t,qt),u.clear(t,qt),b(t,zr),s.autohide&&u.set(t,()=>e.hide(),s.delay,Q)},kn=e=>{const{element:t}=e;v(t,qt),v(t,p),d(t,Bo),u.clear(t,Q),b(t,Kr)},Vr=e=>{const{element:t,options:s}=e;d(t,qt),s.animation?(Ot(t),x(t,()=>kn(e))):kn(e)},qr=e=>{const{element:t,options:s}=e;u.set(t,()=>{v(t,Bo),Ot(t),d(t,p),d(t,qt),s.animation?x(t,()=>In(e)):In(e)},17,qt)},Yr=e=>{const{target:t}=e,s=t&&H(t,Mo),n=s&&z(s),o=n&&Is(n);o&&(s&&s.tagName==="A"&&e.preventDefault(),o.relatedTarget=s,o.show())},Ur=e=>{const t=e.target,s=Is(t),{type:n,relatedTarget:o}=e;!s||t===o||t.contains(o)||([Ce,ds].includes(n)?u.clear(t,Q):u.set(t,()=>s.hide(),s.options.delay,Q))};class ks extends st{static selector=Rr;static init=jr;static getInstance=Is;constructor(t,s){super(t,s);const{element:n,options:o}=this;o.animation&&!h(n,N)?d(n,N):!o.animation&&h(n,N)&&v(n,N),this.dismiss=S(Fr,n),this.triggers=[...Y(Mo,w(n))].filter(i=>z(i)===n),this._toggleEventListeners(!0)}get name(){return No}get defaults(){return Wr}get isShown(){return h(this.element,p)}show=()=>{const{element:t,isShown:s}=this;!t||s||(b(t,_n),_n.defaultPrevented||qr(this))};hide=()=>{const{element:t,isShown:s}=this;!t||!s||(b(t,Hn),Hn.defaultPrevented||Vr(this))};_toggleEventListeners=t=>{const s=t?L:O,{element:n,triggers:o,dismiss:i,options:r,hide:c}=this;i&&s(i,I,c),r.autohide&&[ds,On,Ce,hs].forEach(a=>s(n,a,Ur)),o.length&&o.forEach(a=>{nt(a)||s(a,I,Yr)})};dispose(){const{element:t,isShown:s}=this;this._toggleEventListeners(),u.clear(t,Q),s&&v(t,p),super.dispose()}}const Ls=new Map;[ps,ms,vs,bs,ws,Ss,As,Ps,_s,Hs,ks,He].forEach(e=>Ls.set(e.prototype.name,e));const Xr=(e,t)=>{[...t].forEach(s=>e(s))},Gr=(e,t)=>{const s=Dt.getAllFor(e);s&&[...s].forEach(([n,o])=>{t.contains(n)&&o.dispose()})},as=e=>{const t=e&&e.nodeName?e:document,s=[...us("*",t)];Ls.forEach(n=>{const{init:o,selector:i}=n;Xr(o,s.filter(r=>jn(r,i)))})},Qr=e=>{const t=e&&e.nodeName?e:document;Ls.forEach(s=>{Gr(s.prototype.name,t)})};document.body?as():L(document,"DOMContentLoaded",()=>as(),{once:!0});exports.Alert=ps;exports.Button=ms;exports.Carousel=vs;exports.Collapse=bs;exports.Dropdown=ws;exports.Modal=Ss;exports.Offcanvas=As;exports.Popover=Ps;exports.ScrollSpy=_s;exports.Tab=Hs;exports.Toast=ks;exports.Tooltip=He;exports.initCallback=as;exports.removeDataAPI=Qr; //# sourceMappingURL=bootstrap-native.cjs.map diff --git a/dist/bootstrap-native.cjs.map b/dist/bootstrap-native.cjs.map index 4b57fb2d..4d6e5cb8 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@https+++codeload.github.com+thednp+shorty+tar.gz+309d581b370f747cb15531ca6c201def3827e05c/node_modules/@thednp/shorty/dist/shorty.mjs","../node_modules/.pnpm/@thednp+event-listener@2.0.8/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","../node_modules/.pnpm/@thednp+position-observer@https+++codeload.github.com+thednp+position-observer+tar.gz+d693d53_hyk7lpzuqi6vnifksl6nzudy5a/node_modules/@thednp/position-observer/dist/index.mjs","../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 Ce = \"2.0.8\", Le = \"aria-checked\", Me = \"aria-description\", De = \"aria-describedby\", Oe = \"aria-expanded\", xe = \"aria-haspopup\", $ = \"aria-hidden\", ze = \"aria-label\", Ie = \"aria-labelledby\", Pe = \"aria-modal\", Be = \"aria-pressed\", Fe = \"aria-selected\", He = \"aria-valuemin\", Ve = \"aria-valuemax\", Ue = \"aria-valuenow\", We = \"aria-valuetext\", J = \"abort\", X = \"beforeunload\", tt = \"blur\", et = \"change\", nt = \"contextmenu\", V = \"DOMContentLoaded\", ot = \"DOMMouseScroll\", st = \"error\", rt = \"focus\", ct = \"focusin\", at = \"focusout\", it = \"gesturechange\", ut = \"gestureend\", lt = \"gesturestart\", dt = \"keydown\", ft = \"keypress\", pt = \"keyup\", gt = \"load\", mt = \"click\", vt = \"dblclick\", bt = \"mousedown\", Et = \"mouseup\", ht = \"hover\", yt = \"mouseenter\", wt = \"mouseleave\", At = \"mousein\", St = \"mouseout\", Tt = \"mouseover\", kt = \"mousemove\", Nt = \"mousewheel\", Ct = \"move\", Lt = \"orientationchange\", Mt = \"pointercancel\", Dt = \"pointerdown\", Ot = \"pointerleave\", xt = \"pointermove\", zt = \"pointerup\", It = \"readystatechange\", Pt = \"reset\", Bt = \"resize\", Ft = \"select\", Ht = \"selectend\", Vt = \"selectstart\", Ut = \"scroll\", Wt = \"submit\", Rt = \"touchstart\", Qt = \"touchmove\", jt = \"touchcancel\", Gt = \"touchend\", Kt = \"unload\", Re = {\n DOMContentLoaded: V,\n DOMMouseScroll: ot,\n abort: J,\n beforeunload: X,\n blur: tt,\n change: et,\n click: mt,\n contextmenu: nt,\n dblclick: vt,\n error: st,\n focus: rt,\n focusin: ct,\n focusout: at,\n gesturechange: it,\n gestureend: ut,\n gesturestart: lt,\n hover: ht,\n keydown: dt,\n keypress: ft,\n keyup: pt,\n load: gt,\n mousedown: bt,\n mousemove: kt,\n mousein: At,\n mouseout: St,\n mouseenter: yt,\n mouseleave: wt,\n mouseover: Tt,\n mouseup: Et,\n mousewheel: Nt,\n move: Ct,\n orientationchange: Lt,\n pointercancel: Mt,\n pointerdown: Dt,\n pointerleave: Ot,\n pointermove: xt,\n pointerup: zt,\n readystatechange: It,\n reset: Pt,\n resize: Bt,\n scroll: Ut,\n select: Ft,\n selectend: Ht,\n selectstart: Vt,\n submit: Wt,\n touchcancel: jt,\n touchend: Gt,\n touchmove: Qt,\n touchstart: Rt,\n unload: Kt\n}, Qe = \"drag\", je = \"dragstart\", Ge = \"dragenter\", Ke = \"dragleave\", qe = \"dragover\", Ze = \"dragend\", Ye = \"loadstart\", _e = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, $e = { down: \"mousedown\", up: \"mouseup\" }, Je = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"], Xe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, tn = { in: \"focusin\", out: \"focusout\" }, qt = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]', en = {\n Backspace: \"Backspace\",\n Tab: \"Tab\",\n Enter: \"Enter\",\n Shift: \"Shift\",\n Control: \"Control\",\n Alt: \"Alt\",\n Pause: \"Pause\",\n CapsLock: \"CapsLock\",\n Escape: \"Escape\",\n Scape: \"Space\",\n ArrowLeft: \"ArrowLeft\",\n ArrowUp: \"ArrowUp\",\n ArrowRight: \"ArrowRight\",\n ArrowDown: \"ArrowDown\",\n Insert: \"Insert\",\n Delete: \"Delete\",\n Meta: \"Meta\",\n ContextMenu: \"ContextMenu\",\n ScrollLock: \"ScrollLock\"\n}, nn = \"Alt\", on = \"ArrowDown\", sn = \"ArrowUp\", rn = \"ArrowLeft\", cn = \"ArrowRight\", an = \"Backspace\", un = \"CapsLock\", ln = \"Control\", dn = \"Delete\", fn = \"Enter\", pn = \"NumpadEnter\", gn = \"Escape\", mn = \"Insert\", vn = \"Meta\", bn = \"Pause\", En = \"ScrollLock\", hn = \"Shift\", yn = \"Space\", wn = \"Tab\", Zt = \"animationDuration\", Yt = \"animationDelay\", U = \"animationName\", L = \"animationend\", _t = \"transitionDuration\", $t = \"transitionDelay\", M = \"transitionend\", W = \"transitionProperty\", An = \"addEventListener\", Sn = \"removeEventListener\", Tn = {\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}, kn = \"offsetHeight\", Nn = \"offsetWidth\", Cn = \"scrollHeight\", Ln = \"scrollWidth\", Mn = \"tabindex\", Dn = navigator.userAgentData, { userAgent: Jt } = navigator, On = Jt, xn = () => {\n const t = /iPhone|iPad|iPod|Android/i;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(navigator?.userAgent) || !1;\n}, zn = () => {\n const t = /(iPhone|iPod|iPad)/;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(\n navigator?.userAgent\n ) || !1;\n}, In = () => navigator?.userAgent?.includes(\"Firefox\") || !1, Xt = () => typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\"), Pn = () => [\"webkitPerspective\", \"perspective\"].some((t) => t in document.head.style), te = () => {\n}, R = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(\n e,\n n,\n s\n );\n}, Q = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(\n e,\n n,\n s\n );\n}, ee = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Q(t, e, s, o));\n };\n R(t, e, s, o);\n}, Bn = () => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n ee(document, V, te, e);\n } catch {\n }\n return t;\n}, Fn = () => [\"webkitTransform\", \"transform\"].some((t) => t in document.head.style), Hn = () => \"ontouchstart\" in window || \"msMaxTouchPoints\" in navigator, Vn = () => [\"webkitAnimation\", \"animation\"].some((t) => t in document.head.style), Un = () => [\"webkitTransition\", \"transition\"].some((t) => t in document.head.style), j = (t, e) => t.getAttribute(e), Wn = (t, e, n) => e.getAttributeNS(t, n), ne = (t, e) => t.hasAttribute(e), Rn = (t, e, n) => e.hasAttributeNS(t, n), Qn = (t, e, n) => t.setAttribute(e, n), jn = (t, e, n, o) => e.setAttributeNS(t, n, o), Gn = (t, e) => t.removeAttribute(e), Kn = (t, e, n) => e.removeAttributeNS(t, n), qn = (t, ...e) => {\n t.classList.add(...e);\n}, Zn = (t, ...e) => {\n t.classList.remove(...e);\n}, Yn = (t, e) => t.classList.contains(e), { body: _n } = document, { documentElement: $n } = document, { head: Jn } = document, Xn = (t) => Array.from(t), b = (t) => t != null && typeof t == \"object\" || !1, l = (t) => b(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some(\n (e) => t.nodeType === e\n) || !1, u = (t) => l(t) && t.nodeType === 1 || !1, h = /* @__PURE__ */ new Map(), O = {\n data: h,\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 h.has(e) || h.set(e, /* @__PURE__ */ new Map()), h.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) => h.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 = O.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 = O.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && h.delete(e));\n }\n}, to = (t, e) => O.get(t, e), eo = (t) => t?.charAt(0).toUpperCase() + t?.slice(1), no = (t) => t?.trim().replace(\n /(?:^\\w|[A-Z]|\\b\\w)/g,\n (e, n) => n === 0 ? e.toLowerCase() : e.toUpperCase()\n).replace(/\\s+/g, \"\"), k = (t) => typeof t == \"string\" || !1, G = (t) => b(t) && t.constructor.name === \"Window\" || !1, K = (t) => l(t) && t.nodeType === 9 || !1, d = (t) => K(t) ? t : l(t) ? t.ownerDocument : G(t) ? t.document : globalThis.document, N = (t, ...e) => Object.assign(t, ...e), oe = (t) => {\n if (!t) return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = oe(e);\n if (!n) return;\n const o = { ...t };\n return delete o.tagName, N(n, o);\n}, se = (t, e) => {\n if (!t || !e) return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = se(t, n);\n if (!o) return;\n const s = { ...e };\n return delete s.tagName, N(o, s);\n}, q = (t, e) => t.dispatchEvent(e), oo = (t, e, n) => n.indexOf(t) === e, g = (t, e, n) => {\n const o = getComputedStyle(t, n), s = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return o.getPropertyValue(s);\n}, re = (t) => {\n const e = g(t, U), n = g(t, Yt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ce = (t) => {\n const e = g(t, U), n = g(t, Zt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, so = (t, e) => {\n let n = 0;\n const o = new Event(L), s = ce(t), r = re(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(L, a), n = 1);\n };\n t.addEventListener(L, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ae = (t) => {\n const e = g(t, W), n = g(t, $t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ie = (t) => {\n const e = g(t, W), n = g(t, _t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ro = (t, e) => {\n let n = 0;\n const o = new Event(M), s = ie(t), r = ae(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(M, a), n = 1);\n };\n t.addEventListener(M, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, co = (t) => Float32Array.from(Array.from(t)), ao = (t) => Float64Array.from(Array.from(t)), io = (t, e) => t.focus(e), uo = (t) => t?.trim().replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/\\s+/g, \"-\").toLowerCase(), P = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, T = (t) => Object.entries(t), ue = (t) => t.toLowerCase(), lo = (t, e, n, o) => {\n if (!u(t)) return e;\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, i = {}, f = \"title\";\n return T(r).forEach(([c, p]) => {\n const E = o && typeof c == \"string\" && c.includes(o) ? c.replace(o, \"\").replace(\n /[A-Z]/g,\n (C) => ue(C)\n ) : c;\n i[E] = P(p);\n }), T(s).forEach(([c, p]) => {\n s[c] = P(p);\n }), T(e).forEach(([c, p]) => {\n c in s ? a[c] = s[c] : c in i ? a[c] = i[c] : a[c] = c === f ? j(t, f) : p;\n }), a;\n}, fo = (t, e) => b(t) && (Object.hasOwn(t, e) || e in t), po = (t) => Object.keys(t), go = (t) => Object.values(t), mo = (t) => Object.fromEntries(t), vo = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return b(e) && N(n, e), n;\n}, bo = { passive: !0 }, Eo = (t) => t.offsetHeight, ho = (t, e) => {\n T(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, N(t.style, s);\n }\n });\n}, x = (t) => b(t) && t.constructor.name === \"Map\" || !1, le = (t) => typeof t == \"number\" || !1, v = /* @__PURE__ */ new Map(), yo = {\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 ? (v.has(t) || v.set(t, /* @__PURE__ */ new Map()), v.get(t).set(o, setTimeout(e, n))) : v.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 = v.get(t);\n return e && n && x(n) ? n.get(e) || null : le(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 = v.get(t);\n e && e.length && x(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && v.delete(t)) : (clearTimeout(n), v.delete(t));\n }\n}, wo = (t) => t.toUpperCase(), de = (t, e) => (l(e) ? e : d()).querySelectorAll(t), z = /* @__PURE__ */ new Map();\nfunction fe(t) {\n const { shiftKey: e, code: n } = t, o = d(this), s = [\n ...de(qt, this)\n ].filter(\n (i) => !ne(i, \"disabled\") && !j(i, $)\n );\n if (!s.length) return;\n const r = s[0], a = s[s.length - 1];\n n === \"Tab\" && (e && o.activeElement === r ? (a.focus(), t.preventDefault()) : !e && o.activeElement === a && (r.focus(), t.preventDefault()));\n}\nconst pe = (t) => z.has(t) === !0, Ao = (t) => {\n const e = pe(t);\n (e ? Q : R)(t, \"keydown\", fe), e ? z.delete(t) : z.set(t, !0);\n}, m = (t) => u(t) && \"offsetWidth\" in t || !1, w = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: i } = t.getBoundingClientRect();\n let f = 1, c = 1;\n if (e && m(t)) {\n const { offsetWidth: p, offsetHeight: E } = t;\n f = p > 0 ? Math.round(n) / p : 1, c = E > 0 ? Math.round(o) / E : 1;\n }\n return {\n width: n / f,\n height: o / c,\n top: s / c,\n right: r / f,\n bottom: a / c,\n left: i / f,\n x: i / f,\n y: s / c\n };\n}, So = (t) => d(t).body, S = (t) => d(t).documentElement, To = (t) => d(t).head, ge = (t) => l(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\", ko = (t) => {\n const e = G(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, me = (t) => l(t) && t.constructor.name === \"ShadowRoot\" || !1, A = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || l(t) && t.parentNode || me(t) && t.host || S(t), ve = (t) => t ? K(t) ? t.defaultView : l(t) ? t?.ownerDocument?.defaultView : t : window, be = (t) => l(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, Ee = (t, e) => t.matches(e), D = (t) => g(t, \"position\") === \"static\", he = (t) => g(t, \"position\") === \"fixed\", Z = (t) => [\":popover-open\", \":modal\"].some((e) => {\n try {\n return Ee(t, e);\n } catch {\n return !1;\n }\n}), Y = (t) => {\n const e = Xt(), n = u(t) ? getComputedStyle(t) : t;\n return n.transform !== \"none\" || n.perspective !== \"none\" || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || [\"transform\", \"perspective\", \"filter\"].some(\n (o) => (n.willChange || \"\").includes(o)\n ) || [\"paint\", \"layout\", \"strict\", \"content\"].some(\n (o) => (n.contain || \"\").includes(o)\n );\n}, ye = (t) => {\n let e = A(t);\n for (; u(e) && !I(e); ) {\n if (Y(e))\n return e;\n if (Z(e))\n return null;\n e = A(e);\n }\n return null;\n}, I = (t) => [\"html\", \"body\", \"#document\"].includes(ge(t)), B = (t) => {\n if (!m(t) || he(t))\n return null;\n let e = t.offsetParent;\n return S(t) === e && (e = e.ownerDocument.body), e;\n}, No = (t) => {\n const e = ve(t);\n if (!l(t) || Z(t))\n return e;\n if (!m(t)) {\n let o = A(t);\n for (; o && !I(o); ) {\n if (u(o) && !D(o))\n return o;\n o = A(o);\n }\n return e;\n }\n let n = B(t);\n for (; n && be(n) && D(n); )\n n = B(n);\n return n && I(n) && D(n) && !Y(n) ? e : n || ye(t) || e;\n}, we = (t) => {\n if (!m(t)) return !1;\n const { width: e, height: n } = w(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, Co = (t, e, n) => {\n const o = m(e), s = w(\n t,\n o && we(e)\n ), r = { x: 0, y: 0 };\n if (o) {\n const a = w(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 F = 0, H = 0;\nconst y = /* @__PURE__ */ new Map(), Ae = (t, e) => {\n let n = e ? F : H;\n if (e) {\n const o = Ae(t), s = y.get(o) || /* @__PURE__ */ new Map();\n y.has(o) || y.set(o, s), x(s) && !s.has(e) ? (s.set(e, n), F += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n y.has(o) ? n = y.get(o) : (y.set(o, n), H += 1);\n }\n return n;\n}, Lo = (t) => {\n const e = [\"HTML\", \"BODY\"];\n let { parentNode: n } = t;\n if (!m(n))\n for (; n && !e.includes(n.nodeName) && (n = A(n), !m(n)); )\n ;\n const {\n offsetLeft: o,\n offsetTop: s,\n offsetParent: r\n } = n, { top: a, left: i } = n.getBoundingClientRect(), { top: f, left: c, width: p, height: E } = t.getBoundingClientRect(), C = s + (f - a), _ = o + (c - i);\n return {\n offsetTop: C,\n offsetLeft: _,\n offsetWidth: p,\n offsetHeight: E,\n offsetParent: r\n };\n}, Se = (t) => Array.isArray(t) || !1, Mo = (t) => l(t) && t.nodeName === \"CANVAS\" || !1, Te = (t) => m(t) && !!t.shadowRoot || !1, Do = (t) => {\n if (!l(t)) return !1;\n const { top: e, bottom: n } = w(t), { clientHeight: o } = S(t);\n return e <= o && n >= 0;\n}, Oo = (t) => {\n if (!u(t)) return !1;\n const { clientWidth: e, clientHeight: n } = S(t), { top: o, left: s, bottom: r, right: a } = w(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, xo = (t) => Se(t) && t.every(u) || !1, zo = (t) => typeof t == \"function\" || !1, Io = (t) => b(t) && t.constructor.name === \"HTMLCollection\" || !1, Po = (t) => m(t) && t.tagName === \"IMG\" || !1, Bo = (t) => {\n if (!k(t)) return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Fo = (t) => b(t) && t.constructor.name === \"WeakMap\" || !1, Ho = (t) => l(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some(\n (e) => t.constructor.name.includes(e)\n) || !1, Vo = (t) => b(t) && t.constructor.name === \"NodeList\" || !1, Uo = (t) => S(t).dir === \"rtl\", Wo = (t) => l(t) && t.constructor.name.includes(\"SVG\") || !1, ke = (t, e) => !t || !e ? null : t.closest(e) || ke(t.getRootNode().host, e) || null, Ro = (t, e) => u(t) ? t : (u(e) ? e : d()).querySelector(t), Ne = (t, e) => (l(e) ? e : d()).getElementsByTagName(\n t\n), Qo = (t) => [...Ne(\"*\", t)].filter(Te), jo = (t, e) => d(e).getElementById(t), Go = (t, e) => (e && l(e) ? e : d()).getElementsByClassName(\n t\n);\nexport {\n Xn as ArrayFrom,\n V as DOMContentLoadedEvent,\n ot as DOMMouseScrollEvent,\n O as Data,\n co as Float32ArrayFrom,\n ao as Float64ArrayFrom,\n N as ObjectAssign,\n T as ObjectEntries,\n mo as ObjectFromEntries,\n fo as ObjectHasOwn,\n po as ObjectKeys,\n go as ObjectValues,\n yo as Timer,\n J as abortEvent,\n qn as addClass,\n An as addEventListener,\n Yt as animationDelay,\n Zt as animationDuration,\n L as animationEndEvent,\n U as animationName,\n Le as ariaChecked,\n De as ariaDescribedBy,\n Me as ariaDescription,\n Oe as ariaExpanded,\n xe as ariaHasPopup,\n $ as ariaHidden,\n ze as ariaLabel,\n Ie as ariaLabelledBy,\n Pe as ariaModal,\n Be as ariaPressed,\n Fe as ariaSelected,\n Ve as ariaValueMax,\n He as ariaValueMin,\n Ue as ariaValueNow,\n We as ariaValueText,\n X as beforeunloadEvent,\n Tn as bezierEasings,\n tt as blurEvent,\n no as camelCase,\n eo as capitalize,\n et as changeEvent,\n ke as closest,\n nt as contextmenuEvent,\n vo as createCustomEvent,\n oe as createElement,\n se as createElementNS,\n q as dispatchEvent,\n oo as distinct,\n _n as documentBody,\n $n as documentElement,\n Jn as documentHead,\n Qe as dragEvent,\n Ze as dragendEvent,\n Ge as dragenterEvent,\n Ke as dragleaveEvent,\n qe as dragoverEvent,\n je as dragstartEvent,\n so as emulateAnimationEnd,\n ro as emulateTransitionEnd,\n st as errorEvent,\n io as focus,\n rt as focusEvent,\n tn as focusEvents,\n qt as focusableSelector,\n ct as focusinEvent,\n at as focusoutEvent,\n it as gesturechangeEvent,\n ut as gestureendEvent,\n lt as gesturestartEvent,\n j as getAttribute,\n Wn as getAttributeNS,\n w as getBoundingClientRect,\n Qo as getCustomElements,\n d as getDocument,\n So as getDocumentBody,\n S as getDocumentElement,\n To as getDocumentHead,\n re as getElementAnimationDelay,\n ce as getElementAnimationDuration,\n jo as getElementById,\n g as getElementStyle,\n ae as getElementTransitionDelay,\n ie as getElementTransitionDuration,\n Go as getElementsByClassName,\n Ne as getElementsByTagName,\n to as getInstance,\n ge as getNodeName,\n ko as getNodeScroll,\n No as getOffsetParent,\n A as getParentNode,\n Co as getRectRelativeToOffsetParent,\n Lo as getSVGOffset,\n Ae as getUID,\n ve as getWindow,\n ne as hasAttribute,\n Rn as hasAttributeNS,\n Yn as hasClass,\n pe as hasFocusTrap,\n zn as isApple,\n Se as isArray,\n Mo as isCanvas,\n Te as isCustomElement,\n K as isDocument,\n u as isElement,\n Do as isElementInScrollRange,\n Oo as isElementInViewport,\n xo as isElementsArray,\n In as isFirefox,\n zo as isFunction,\n Io as isHTMLCollection,\n m as isHTMLElement,\n Po as isHTMLImageElement,\n Bo as isJSON,\n x as isMap,\n Ho as isMedia,\n xn as isMobile,\n l as isNode,\n Vo as isNodeList,\n le as isNumber,\n b as isObject,\n Uo as isRTL,\n Wo as isSVGElement,\n we as isScaledElement,\n me as isShadowRoot,\n k as isString,\n be as isTableElement,\n Fo as isWeakMap,\n Xt as isWebKit,\n G as isWindow,\n uo as kebabCase,\n nn as keyAlt,\n on as keyArrowDown,\n rn as keyArrowLeft,\n cn as keyArrowRight,\n sn as keyArrowUp,\n an as keyBackspace,\n un as keyCapsLock,\n ln as keyControl,\n dn as keyDelete,\n fn as keyEnter,\n gn as keyEscape,\n mn as keyInsert,\n vn as keyMeta,\n pn as keyNumpadEnter,\n bn as keyPause,\n En as keyScrollLock,\n hn as keyShift,\n yn as keySpace,\n wn as keyTab,\n en as keyboardEventKeys,\n dt as keydownEvent,\n ft as keypressEvent,\n pt as keyupEvent,\n gt as loadEvent,\n Ye as loadstartEvent,\n Ee as matches,\n $e as mouseClickEvents,\n Je as mouseHoverEvents,\n _e as mouseSwipeEvents,\n mt as mouseclickEvent,\n vt as mousedblclickEvent,\n bt as mousedownEvent,\n yt as mouseenterEvent,\n ht as mousehoverEvent,\n At as mouseinEvent,\n wt as mouseleaveEvent,\n kt as mousemoveEvent,\n St as mouseoutEvent,\n Tt as mouseoverEvent,\n Et as mouseupEvent,\n Nt as mousewheelEvent,\n Ct as moveEvent,\n Re as nativeEvents,\n te as noop,\n lo as normalizeOptions,\n P as normalizeValue,\n Q as off,\n kn as offsetHeight,\n Nn as offsetWidth,\n R as on,\n ee as one,\n Lt as orientationchangeEvent,\n bo as passiveHandler,\n Mt as pointercancelEvent,\n Dt as pointerdownEvent,\n Ot as pointerleaveEvent,\n xt as pointermoveEvent,\n zt as pointerupEvent,\n Ro as querySelector,\n de as querySelectorAll,\n It as readystatechangeEvent,\n Eo as reflow,\n Gn as removeAttribute,\n Kn as removeAttributeNS,\n Zn as removeClass,\n Sn as removeEventListener,\n Pt as resetEvent,\n Bt as resizeEvent,\n Ut as scrollEvent,\n Cn as scrollHeight,\n Ln as scrollWidth,\n Ft as selectEvent,\n Ht as selectendEvent,\n Vt as selectstartEvent,\n Qn as setAttribute,\n jn as setAttributeNS,\n ho as setElementStyle,\n Wt as submitEvent,\n Pn as support3DTransform,\n Vn as supportAnimation,\n Bn as supportPassive,\n Hn as supportTouch,\n Fn as supportTransform,\n Un as supportTransition,\n Mn as tabindex,\n ue as toLowerCase,\n wo as toUpperCase,\n Ao as toggleFocusTrap,\n Xe as touchEvents,\n jt as touchcancelEvent,\n Gt as touchendEvent,\n Qt as touchmoveEvent,\n Rt as touchstartEvent,\n $t as transitionDelay,\n _t as transitionDuration,\n M as transitionEndEvent,\n W as transitionProperty,\n Kt as unloadEvent,\n On as userAgent,\n Dn as userAgentData,\n Ce as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const g = \"2.0.8\", e = {}, f = (t) => {\n const { type: n, currentTarget: c } = t;\n e[n].forEach((a, s) => {\n c === s && a.forEach((o, i) => {\n i.apply(s, [t]), typeof o == \"object\" && o.once && r(s, n, i, o);\n });\n });\n}, E = (t, n, c, a) => {\n e[n] || (e[n] = /* @__PURE__ */ new Map());\n const s = e[n];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(\n t\n ), { size: i } = o;\n o.set(c, a), i || t.addEventListener(\n n,\n f,\n a\n );\n}, r = (t, n, c, a) => {\n const s = e[n], o = s && s.get(t), i = o && o.get(c), d = i !== void 0 ? i : a;\n o && o.has(c) && o.delete(c), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[n], (!o || !o.size) && t.removeEventListener(\n n,\n f,\n d\n );\n}, M = E, p = r;\nexport {\n E as addListener,\n f as globalListener,\n p as off,\n M as on,\n e as registry,\n r as removeListener,\n g as version\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 {\n Data,\n isElement,\n isString,\n normalizeOptions,\n ObjectKeys,\n querySelector,\n} 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: Element;\n declare options?: BaseOptions;\n\n /**\n * @param target `Element` or selector string\n * @param config component instance options\n */\n constructor(target: Element | string, config?: BaseOptions) {\n let element: Element | null;\n\n try {\n if (isElement(target)) {\n element = target as Element;\n } else if (isString(target)) {\n element = querySelector(target);\n // istanbul ignore else @preserve\n if (!element) throw Error(`\"${target}\" is not a valid selector.`);\n } else {\n throw Error(`your target is not an instance of HTMLElement.`);\n }\n } catch (e) {\n throw Error(`${this.name} Error: ${(e as Error).message}`);\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else @preserve */\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 = this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, \"bs\")\n // istanbul ignore next @preserve\n : {};\n\n Data.set(element, this.name, this);\n }\n\n // istanbul ignore next @preserve\n get version() {\n return Version;\n }\n\n // istanbul ignore next @preserve\n get name() {\n return \"BaseComponent\";\n }\n\n // istanbul ignore next @preserve\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n // istanbul ignore next @preserve coverage wise this isn't important\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 createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getInstance,\n hasClass,\n mouseclickEvent,\n querySelector,\n removeClass,\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 */\nconst getAlertInstance = (element: Element) =>\n getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: Element) => new Alert(element);\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent, AlertEvent>(\n `close.bs.${alertString}`,\n);\nconst closedAlertEvent = createCustomEvent, AlertEvent>(\n `closed.bs.${alertString}`,\n);\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: Element | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(\n alertDismissSelector,\n this.element,\n );\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 @preserve\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 @preserve\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 addClass,\n ariaPressed,\n getAttribute,\n getInstance,\n hasClass,\n mouseclickEvent,\n removeClass,\n setAttribute,\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: Element) =>\n getInstance',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n */\nconst getPopoverInstance = (element: Element) =>\n getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: Element) => 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: Element | 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 @preserve\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 addClass,\n createCustomEvent,\n dispatchEvent,\n getAttribute,\n getBoundingClientRect,\n getDocument,\n getDocumentBody,\n getDocumentElement,\n getElementsByTagName,\n getInstance,\n hasClass,\n isHTMLElement,\n querySelector,\n removeClass,\n} from \"@thednp/shorty\";\n\nimport PositionObserver from \"@thednp/position-observer\";\n\nimport activeClass from \"../strings/activeClass\";\nimport scrollspyString from \"../strings/scrollspyString\";\nimport scrollspyComponent from \"../strings/scrollspyComponent\";\n\nimport BaseComponent from \"./base-component\";\nimport { ScrollSpyEvent, ScrollSpyOptions } from \"../interface/scrollspy\";\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: Partial = {\n offset: 10,\n target: undefined,\n};\n\ntype ScrollSpyEventProps = {\n relatedTarget: HTMLElement;\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: Element) =>\n getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: Element) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent<\n ScrollSpyEventProps,\n ScrollSpyEvent\n>(`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 {\n target,\n scrollTarget,\n options,\n itemsLength,\n scrollHeight,\n element,\n _observer,\n } = self;\n const { offset } = options;\n const isRoot = scrollTarget !== element;\n\n const links = target && getElementsByTagName(\"A\", target);\n const doc = getDocument(element);\n const scrollHEIGHT = scrollTarget.scrollHeight;\n\n self.scrollTop = scrollTarget.scrollTop;\n\n // only update items/offsets once or with each mutation\n // istanbul ignore else @preserve\n if (\n links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)\n ) {\n let href: string | null;\n let ref: string | undefined;\n let targetItem: HTMLElement | null;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.targets = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n Array.from(links).forEach((link) => {\n href = getAttribute(link, \"href\");\n ref = href?.slice(1);\n targetItem = ref?.length ? doc.getElementById(ref) : null;\n\n if (targetItem) {\n self.items.push(link);\n self.targets.push(targetItem);\n rect = _observer?.getEntry(targetItem)?.boundingClientRect ||\n getBoundingClientRect(targetItem);\n self.offsets.push(\n (isRoot ? rect.top + self.scrollTop : targetItem.offsetTop) - offset,\n );\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Toggles on/off the component observer.\n *\n * @param self the ScrollSpy instance\n * @param add when `true`, listener is added\n */\nconst toggleObservers = (\n { targets, scrollTarget, element, _observer }: ScrollSpy,\n add?: boolean,\n) => {\n if (add) {\n if (scrollTarget === element) {\n targets?.forEach((targetItem) => _observer.observe(targetItem));\n } else {\n _observer.observe(element);\n }\n } else _observer.disconnect();\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: Element) => {\n return scrollTarget.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 scrollTarget !== element\n ? scrollTarget.clientHeight\n : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: Element) => {\n Array.from(getElementsByTagName(\"A\", target)).forEach(\n (item) => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n },\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\n // istanbul ignore else @preserve\n if (isHTMLElement(target)) clear(target);\n\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\")) {\n parents.push(parentItem);\n }\n }\n\n parents.forEach((menuItem) => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n // istanbul ignore else @preserve\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 element: HTMLElement;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare targets: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n declare _observer: PositionObserver;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(\n target: Element | string,\n config?: Partial,\n ) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // get target\n const spyTarget = querySelector(\n options.target,\n getDocument(element),\n );\n\n // invalidate\n if (!spyTarget) return;\n this.target = spyTarget;\n\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight\n ? element\n : getDocumentElement(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // run an initial burst, we need to know the targets\n this.refresh();\n\n // create observer\n this._observer = new PositionObserver((entries) => {\n requestAnimationFrame(() => {\n // istanbul ignore else @preserve\n if (entries.some((entry) => entry.isVisible)) {\n this.refresh();\n }\n });\n }, {\n root: this.scrollTarget,\n });\n\n // add event handlers\n toggleObservers(this, true);\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 // check if target is visible and invalidate\n // istanbul ignore if @preserve\n if (!isHTMLElement(target) || target.offsetHeight === 0) return;\n\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 @preserve\n if (activeItem !== newActiveItem) activate(this, newActiveItem);\n return;\n }\n\n const { offsets } = this;\n\n // istanbul ignore else @preserve\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n // istanbul ignore else @preserve\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 /** Removes `ScrollSpy` from the target element. */\n dispose() {\n const clone = { ...this };\n toggleObservers(clone);\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 addClass,\n ariaSelected,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getElementsByClassName,\n getInstance,\n hasClass,\n isHTMLElement,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n reflow,\n removeClass,\n setAttribute,\n Timer,\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: Element) =>\n getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: Element) => new Tab(element);\n\ntype TabEventProps = {\n relatedTarget: Element & EventTarget | undefined;\n};\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(\n `show.bs.${tabString}`,\n);\nconst shownTabEvent = createCustomEvent(\n `shown.bs.${tabString}`,\n);\nconst hideTabEvent = createCustomEvent(\n `hide.bs.${tabString}`,\n);\nconst hiddenTabEvent = createCustomEvent(\n `hidden.bs.${tabString}`,\n);\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 @preserve\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = \"\";\n removeClass(tabContent, collapsingClass);\n }\n\n // istanbul ignore else @preserve\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)) ||\n // istanbul ignore next @preserve\n { tab: null };\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) ||\n // istanbul ignore next @preserve\n { currentHeight: 0, nextHeight: 0 };\n // istanbul ignore else @preserve: vitest won't validate this branch\n if (currentHeight !== nextHeight) {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n } else {\n triggerTabEnd(self);\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)) ||\n // istanbul ignore next @preserve\n { tab: null, content: null };\n let currentHeight = 0;\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\n if (c) addClass(c, \"overflow-hidden\");\n });\n currentHeight = content\n ? content.scrollHeight\n : /* istanbul ignore next @preserve */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element as HTMLElement;\n dispatchEvent(element, showTabEvent);\n\n // istanbul ignore if @preserve\n if (showTabEvent.defaultPrevented) return;\n // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, activeClass);\n // istanbul ignore else @preserve\n if (content) removeClass(content, activeClass);\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, {\n currentHeight,\n nextHeight,\n tab: null,\n content: null,\n });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\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 // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n // istanbul ignore else @preserve\n if (tab) dispatchEvent(tab, hiddenTabEvent);\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 = (\n self: Tab,\n): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n // istanbul ignore next @preserve\n if (!isHTMLElement(nav)) {\n return { tab: null, content: null };\n }\n\n const activeTabs = getElementsByClassName(\n activeClass,\n nav,\n );\n let tab: HTMLElement | null = null;\n // istanbul ignore else @preserve\n if (\n activeTabs.length === 1 &&\n !dropdownClasses.some((c) =>\n hasClass(activeTabs[0].parentElement as HTMLElement, c)\n )\n ) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab) ? getTargetElement(tab) : 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) => {\n // istanbul ignore next @preserve\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(\",.\")}`);\n return dropdown\n ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown)\n : 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: MouseEvent) => {\n const self = getTabInstance(e.target);\n e.preventDefault();\n\n // istanbul ignore else @preserve\n if (self) self.show();\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 element: HTMLElement;\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: Element | 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 @preserve\n if (!content) return;\n\n const nav = closest(element, \".nav\");\n const container = closest(\n content as HTMLElement,\n \".tab-content\",\n );\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element as HTMLElement);\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 @preserve\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 * 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 @preserve\n if ((nav && Timer.get(nav)) || hasClass(element, activeClass)) return;\n const { tab, content } = getActiveTab(this);\n\n // istanbul ignore else @preserve\n if (nav && tab) {\n tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n }\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element as HTMLElement;\n\n // istanbul ignore if @preserve\n if (!isHTMLElement(tab)) return;\n\n dispatchEvent(tab, hideTabEvent);\n\n // istanbul ignore else @preserve\n if (hideTabEvent.defaultPrevented) return;\n\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 @preserve\n if (nav) {\n const toggleTab = () => {\n // istanbul ignore else @preserve\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, \"false\");\n }\n if (dropdown && !hasClass(dropdown, activeClass)) {\n addClass(dropdown, activeClass);\n }\n };\n\n if (\n content &&\n (hasClass(content, fadeClass) ||\n (nextContent && hasClass(nextContent, fadeClass)))\n ) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n // istanbul ignore else @preserve\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 * 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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n focusinEvent,\n focusoutEvent,\n getDocument,\n getInstance,\n hasClass,\n mouseclickEvent,\n mouseenterEvent,\n MouseEvent,\n mouseleaveEvent,\n querySelector,\n querySelectorAll,\n reflow,\n removeClass,\n Timer,\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 { ToastEvent, ToastOptions } 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: Element) =>\n getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: Element) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent, ToastEvent>(\n `show.bs.${toastString}`,\n);\nconst shownToastEvent = createCustomEvent, ToastEvent>(\n `shown.bs.${toastString}`,\n);\nconst hideToastEvent = createCustomEvent, ToastEvent>(\n `hide.bs.${toastString}`,\n);\nconst hiddenToastEvent = createCustomEvent, ToastEvent>(\n `hidden.bs.${toastString}`,\n);\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 @preserve\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 as HTMLElement);\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 as HTMLElement);\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 * 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 if @preserve\n if (!self) return;\n // istanbul ignore else @preserve\n if (trigger && trigger.tagName === \"A\") e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\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;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n // istanbul ignore if @preserve: a solid filter is required\n if (\n !self || element === relatedTarget ||\n element.contains(relatedTarget as Node)\n ) return;\n\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// 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 element: HTMLElement;\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: Element | 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)) {\n addClass(element, fadeClass);\n } else if (!options.animation && hasClass(element, fadeClass)) {\n removeClass(element, fadeClass);\n }\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [\n ...querySelectorAll(\n toastToggleSelector,\n getDocument(element),\n ),\n ].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 if @preserve\n if (!element || isShown) return;\n\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) showToast(this);\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n // istanbul ignore if @preserve\n if (!element || !isShown) return;\n\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) hideToast(this);\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 @preserve\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n // istanbul ignore else @preserve\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(\n (e) => action(element, e, interactiveToastHandler),\n );\n }\n // istanbul ignore else @preserve\n if (triggers.length) {\n triggers.forEach((btn) =>\n action(btn, mouseclickEvent, toastClickHandler)\n );\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n this._toggleEventListeners();\n Timer.clear(element, toastString);\n\n if (isShown) removeClass(element, showClass);\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\ntype Component =\n | Alert\n | Button\n | Carousel\n | Collapse\n | Dropdown\n | Modal\n | Offcanvas\n | Popover\n | ScrollSpy\n | Tab\n | Toast\n | Tooltip;\n\n[\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Offcanvas,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip,\n].forEach((c) => componentsList.set(c.prototype.name, c));\n\n/**\n * Initialize all matched `Element`s for one component.\n *\n * @param callback\n * @param collection\n */\nconst initComponentDataAPI = (\n callback: (el: Element) => Component,\n collection: HTMLCollectionOf | Element[],\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)) {\n (instance as T & { dispose: () => void }).dispose();\n }\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(), {\n once: true,\n });\n}\n"],"names":["De","Oe","$","Pe","Be","Fe","rt","ct","at","dt","pt","mt","bt","ht","yt","wt","Dt","xt","zt","Rt","je","qt","on","sn","rn","cn","gn","_t","$t","M","W","zn","t","e","te","R","n","o","s","Q","j","ne","Qn","Gn","qn","Zn","Yn","b","l","u","h","O","to","k","G","K","d","N","oe","q","g","ae","ie","ro","r","a","i","io","P","T","ue","lo","f","c","p","E","C","po","vo","bo","Eo","ho","x","le","v","yo","de","z","fe","pe","Ao","m","w","So","S","ko","me","A","ve","be","Ee","we","Co","F","H","y","Ae","Se","Do","zo","Vo","Uo","ke","Ro","Ne","Go","fadeClass","showClass","dataBsDismiss","alertString","alertComponent","Version","version","BaseComponent","target","config","element","isElement","isString","querySelector","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","setAttribute","ariaPressed","isActive","getAttribute","addClass","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","activateCarouselIndicator","pointermoveEvent","passiveHandler","pointerupEvent","isHTMLElement","getElementsByClassName","activeIndex","transitionItem","matches","ar","isPaused","idx","next","eventProperties","ObjectAssign","getElementTransitionDuration","reflow","touch","pause","interval","keyboard","mouseenterEvent","mouseleaveEvent","pointerdownEvent","touchstartEvent","dragstartEvent","arrow","indicator","keydownEvent","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","getCurrentOpenDropdown","currentParent","type","isForm","mousedownEvent","dropdownClickHandler","keyArrowDown","keyArrowUp","activeElement","open","menuItems","focus","keyEscape","dropdownIntersectionHandler","entry","currentElement","currentInstance","modalString","modalComponent","offcanvasComponent","fixedTopClass","fixedBottomClass","stickyTopClass","positionStickyClass","getFixedItems","resetScrollbar","bd","getDocumentBody","fixedItems","fixed","measureScrollbar","innerWidth","getWindow","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","padStyle","toggleModalDismiss","modalDismissHandler","modalKeyHandler","afterModalHide","relatedTarget","focusElement","toggleFocusTrap","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","isOpen","popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","body","tipClassPositions","styleTip","tipClasses","tooltip","container","offsetParent","scrollLeft","scrollTop","getNodeScroll","tipWidth","tipHeight","htmlcw","htmlch","htmlow","placement","parentCWidth","parentOWidth","fixedParent","leftBoundry","rightBoundry","observerEntry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","elemOffsetLeft","elemOffsetTop","getRectRelativeToOffsetParent","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","tipPositions","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","tooltipHeader","tooltipBody","tempTitle","tempContent","tempBtn","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","tooltipSelector","titleAttr","getTooltipInstance","tooltipInitCallback","Tooltip","removeTooltip","ariaDescribedBy","hasTip","disposeTooltipComplete","toggleTooltipTitle","toggleTooltipAction","tooltipShownAction","shownTooltipEvent","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","parentModal","parentOffcanvas","titleAtt","tipComponent","elem","getUID","position","PositionObserver","entries","outTimer","showTooltipEvent","delay","hideTooltipEvent","enabled","tr","mousehoverEvent","focusinEvent","focusoutEvent","isApple","popoverSelector","popoverDefaults","getPopoverInstance","popoverInitCallback","Popover","scrollspyString","scrollspyComponent","scrollspySelector","scrollspyDefaults","getScrollSpyInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","updateSpyTargets","scrollTarget","itemsLength","_observer","isRoot","links","getElementsByTagName","scrollHEIGHT","href","ref","targetItem","rect","getOffsetHeight","link","toggleObservers","targets","getScrollHeight","clear","item","activate","parents","parentItem","menuItem","parentLink","spyTarget","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","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,52]} \ No newline at end of file +{"version":3,"file":"bootstrap-native.cjs","sources":["../node_modules/.pnpm/@thednp+shorty@https+++codeload.github.com+thednp+shorty+tar.gz+6d62cceb75a6b1cd3a73cced7a052ef03ae826b2/node_modules/@thednp/shorty/dist/shorty.mjs","../node_modules/.pnpm/@thednp+event-listener@2.0.8/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/util/isDisabled.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","../node_modules/.pnpm/@thednp+position-observer@https+++codeload.github.com+thednp+position-observer+tar.gz+ebeff80_vgonz6o4lt2qwgfhpqexzhhtle/node_modules/@thednp/position-observer/dist/index.mjs","../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 Ce = \"2.0.8\", Le = \"aria-checked\", Me = \"aria-description\", De = \"aria-describedby\", Oe = \"aria-expanded\", xe = \"aria-haspopup\", J = \"aria-hidden\", ze = \"aria-label\", Ie = \"aria-labelledby\", Pe = \"aria-modal\", Be = \"aria-pressed\", Fe = \"aria-selected\", He = \"aria-valuemin\", Ve = \"aria-valuemax\", Ue = \"aria-valuenow\", We = \"aria-valuetext\", X = \"abort\", tt = \"beforeunload\", et = \"blur\", nt = \"change\", ot = \"contextmenu\", V = \"DOMContentLoaded\", st = \"DOMMouseScroll\", rt = \"error\", ct = \"focus\", at = \"focusin\", it = \"focusout\", ut = \"gesturechange\", lt = \"gestureend\", dt = \"gesturestart\", ft = \"keydown\", pt = \"keypress\", gt = \"keyup\", mt = \"load\", vt = \"click\", bt = \"dblclick\", Et = \"mousedown\", ht = \"mouseup\", yt = \"hover\", wt = \"mouseenter\", At = \"mouseleave\", St = \"mousein\", Tt = \"mouseout\", kt = \"mouseover\", Nt = \"mousemove\", Ct = \"mousewheel\", Lt = \"move\", Mt = \"orientationchange\", Dt = \"pointercancel\", Ot = \"pointerdown\", xt = \"pointerleave\", zt = \"pointermove\", It = \"pointerup\", Pt = \"readystatechange\", Bt = \"reset\", Ft = \"resize\", Ht = \"select\", Vt = \"selectend\", Ut = \"selectstart\", Wt = \"scroll\", Rt = \"submit\", Qt = \"touchstart\", jt = \"touchmove\", Gt = \"touchcancel\", Kt = \"touchend\", qt = \"unload\", Re = {\n DOMContentLoaded: V,\n DOMMouseScroll: st,\n abort: X,\n beforeunload: tt,\n blur: et,\n change: nt,\n click: vt,\n contextmenu: ot,\n dblclick: bt,\n error: rt,\n focus: ct,\n focusin: at,\n focusout: it,\n gesturechange: ut,\n gestureend: lt,\n gesturestart: dt,\n hover: yt,\n keydown: ft,\n keypress: pt,\n keyup: gt,\n load: mt,\n mousedown: Et,\n mousemove: Nt,\n mousein: St,\n mouseout: Tt,\n mouseenter: wt,\n mouseleave: At,\n mouseover: kt,\n mouseup: ht,\n mousewheel: Ct,\n move: Lt,\n orientationchange: Mt,\n pointercancel: Dt,\n pointerdown: Ot,\n pointerleave: xt,\n pointermove: zt,\n pointerup: It,\n readystatechange: Pt,\n reset: Bt,\n resize: Ft,\n scroll: Wt,\n select: Ht,\n selectend: Vt,\n selectstart: Ut,\n submit: Rt,\n touchcancel: Gt,\n touchend: Kt,\n touchmove: jt,\n touchstart: Qt,\n unload: qt\n}, Qe = \"drag\", je = \"dragstart\", Ge = \"dragenter\", Ke = \"dragleave\", qe = \"dragover\", Ye = \"dragend\", Ze = \"loadstart\", _e = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, $e = { down: \"mousedown\", up: \"mouseup\" }, Je = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"], Xe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, tn = { in: \"focusin\", out: \"focusout\" }, Yt = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]', en = {\n Backspace: \"Backspace\",\n Tab: \"Tab\",\n Enter: \"Enter\",\n Shift: \"Shift\",\n Control: \"Control\",\n Alt: \"Alt\",\n Pause: \"Pause\",\n CapsLock: \"CapsLock\",\n Escape: \"Escape\",\n Scape: \"Space\",\n ArrowLeft: \"ArrowLeft\",\n ArrowUp: \"ArrowUp\",\n ArrowRight: \"ArrowRight\",\n ArrowDown: \"ArrowDown\",\n Insert: \"Insert\",\n Delete: \"Delete\",\n Meta: \"Meta\",\n ContextMenu: \"ContextMenu\",\n ScrollLock: \"ScrollLock\"\n}, nn = \"Alt\", on = \"ArrowDown\", sn = \"ArrowUp\", rn = \"ArrowLeft\", cn = \"ArrowRight\", an = \"Backspace\", un = \"CapsLock\", ln = \"Control\", dn = \"Delete\", fn = \"Enter\", pn = \"NumpadEnter\", gn = \"Escape\", mn = \"Insert\", vn = \"Meta\", bn = \"Pause\", En = \"ScrollLock\", hn = \"Shift\", yn = \"Space\", wn = \"Tab\", Zt = \"animationDuration\", _t = \"animationDelay\", U = \"animationName\", C = \"animationend\", $t = \"transitionDuration\", Jt = \"transitionDelay\", L = \"transitionend\", W = \"transitionProperty\", An = \"addEventListener\", Sn = \"removeEventListener\", Tn = {\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}, kn = \"offsetHeight\", Nn = \"offsetWidth\", Cn = \"scrollHeight\", Ln = \"scrollWidth\", Mn = \"tabindex\", Dn = navigator.userAgentData, { userAgent: Xt } = navigator, On = Xt, xn = () => {\n const t = /iPhone|iPad|iPod|Android/i;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(navigator?.userAgent) || !1;\n}, zn = () => {\n const t = /(iPhone|iPod|iPad)/;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(\n navigator?.userAgent\n ) || !1;\n}, In = () => navigator?.userAgent?.includes(\"Firefox\") || !1, te = () => typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\"), Pn = () => [\"webkitPerspective\", \"perspective\"].some((t) => t in document.head.style), ee = () => {\n}, R = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(\n e,\n n,\n s\n );\n}, Q = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(\n e,\n n,\n s\n );\n}, ne = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Q(t, e, s, o));\n };\n R(t, e, s, o);\n}, Bn = () => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n ne(document, V, ee, e);\n } catch {\n }\n return t;\n}, Fn = () => [\"webkitTransform\", \"transform\"].some((t) => t in document.head.style), Hn = () => \"ontouchstart\" in window || \"msMaxTouchPoints\" in navigator, Vn = () => [\"webkitAnimation\", \"animation\"].some((t) => t in document.head.style), Un = () => [\"webkitTransition\", \"transition\"].some((t) => t in document.head.style), j = (t, e) => t.getAttribute(e), Wn = (t, e, n) => e.getAttributeNS(t, n), oe = (t, e) => t.hasAttribute(e), Rn = (t, e, n) => e.hasAttributeNS(t, n), Qn = (t, e, n) => t.setAttribute(e, n), jn = (t, e, n, o) => e.setAttributeNS(t, n, o), Gn = (t, e) => t.removeAttribute(e), Kn = (t, e, n) => e.removeAttributeNS(t, n), qn = (t, ...e) => {\n t.classList.add(...e);\n}, Yn = (t, ...e) => {\n t.classList.remove(...e);\n}, Zn = (t, e) => t.classList.contains(e), { body: _n } = document, { documentElement: $n } = document, { head: Jn } = document, Xn = (t) => Array.from(t), b = (t) => t != null && typeof t == \"object\" || !1, l = (t) => b(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some(\n (e) => t.nodeType === e\n) || !1, u = (t) => l(t) && t.nodeType === 1 || !1, h = /* @__PURE__ */ new Map(), D = {\n data: h,\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 h.has(e) || h.set(e, /* @__PURE__ */ new Map()), h.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) => h.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 = D.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 = D.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && h.delete(e));\n }\n}, to = (t, e) => D.get(t, e), eo = (t) => t?.charAt(0).toUpperCase() + t?.slice(1), I = (t) => t?.trim().replace(\n /(?:^\\w|[A-Z]|\\b\\w)/g,\n (e, n) => n === 0 ? e.toLowerCase() : e.toUpperCase()\n).replace(/\\s+/g, \"\"), k = (t) => typeof t == \"string\" || !1, G = (t) => b(t) && t.constructor.name === \"Window\" || !1, K = (t) => l(t) && t.nodeType === 9 || !1, d = (t) => K(t) ? t : l(t) ? t.ownerDocument : G(t) ? t.document : globalThis.document, N = (t, ...e) => Object.assign(t, ...e), se = (t) => {\n if (!t) return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = se(e);\n if (!n) return;\n const o = { ...t };\n return delete o.tagName, N(n, o);\n}, re = (t, e) => {\n if (!t || !e) return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = re(t, n);\n if (!o) return;\n const s = { ...e };\n return delete s.tagName, N(o, s);\n}, q = (t, e) => t.dispatchEvent(e), no = (t, e, n) => n.indexOf(t) === e, g = (t, e, n) => {\n const o = getComputedStyle(t, n), s = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return o.getPropertyValue(s);\n}, ce = (t) => {\n const e = g(t, U), n = g(t, _t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ae = (t) => {\n const e = g(t, U), n = g(t, Zt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, oo = (t, e) => {\n let n = 0;\n const o = new Event(C), s = ae(t), r = ce(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), 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}, ie = (t) => {\n const e = g(t, W), n = g(t, Jt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ue = (t) => {\n const e = g(t, W), n = g(t, $t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, so = (t, e) => {\n let n = 0;\n const o = new Event(L), s = ue(t), r = ie(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(L, a), n = 1);\n };\n t.addEventListener(L, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ro = (t) => Float32Array.from(Array.from(t)), co = (t) => Float64Array.from(Array.from(t)), ao = (t, e) => t.focus(e), io = (t) => t?.trim().replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/\\s+/g, \"-\").toLowerCase(), P = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, T = (t) => Object.entries(t), uo = (t, e, n, o) => {\n if (!u(t)) return e;\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, i = {}, f = \"title\";\n return T(r).forEach(([c, p]) => {\n const E = o && typeof c == \"string\" && c.includes(o) ? I(c.replace(o, \"\")) : I(c);\n i[E] = P(p);\n }), T(s).forEach(([c, p]) => {\n s[c] = P(p);\n }), T(e).forEach(([c, p]) => {\n c in s ? a[c] = s[c] : c in i ? a[c] = i[c] : a[c] = c === f ? j(t, f) : p;\n }), a;\n}, lo = (t, e) => b(t) && (Object.hasOwn(t, e) || e in t), fo = (t) => Object.keys(t), po = (t) => Object.values(t), go = (t) => Object.fromEntries(t), mo = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return b(e) && N(n, e), n;\n}, vo = { passive: !0 }, bo = (t) => t.offsetHeight, Eo = (t, e) => {\n T(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, N(t.style, s);\n }\n });\n}, O = (t) => b(t) && t.constructor.name === \"Map\" || !1, le = (t) => typeof t == \"number\" || !1, v = /* @__PURE__ */ new Map(), ho = {\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 ? (v.has(t) || v.set(t, /* @__PURE__ */ new Map()), v.get(t).set(o, setTimeout(e, n))) : v.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 = v.get(t);\n return e && n && O(n) ? n.get(e) || null : le(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 = v.get(t);\n e && e.length && O(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && v.delete(t)) : (clearTimeout(n), v.delete(t));\n }\n}, yo = (t) => t.toLowerCase(), wo = (t) => t.toUpperCase(), de = (t, e) => (l(e) ? e : d()).querySelectorAll(t), x = /* @__PURE__ */ new Map();\nfunction fe(t) {\n const { shiftKey: e, code: n } = t, o = d(this), s = [\n ...de(Yt, this)\n ].filter(\n (i) => !oe(i, \"disabled\") && !j(i, J)\n );\n if (!s.length) return;\n const r = s[0], a = s[s.length - 1];\n n === \"Tab\" && (e && o.activeElement === r ? (a.focus(), t.preventDefault()) : !e && o.activeElement === a && (r.focus(), t.preventDefault()));\n}\nconst pe = (t) => x.has(t) === !0, Ao = (t) => {\n const e = pe(t);\n (e ? Q : R)(t, \"keydown\", fe), e ? x.delete(t) : x.set(t, !0);\n}, m = (t) => u(t) && \"offsetWidth\" in t || !1, w = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: i } = t.getBoundingClientRect();\n let f = 1, c = 1;\n if (e && m(t)) {\n const { offsetWidth: p, offsetHeight: E } = t;\n f = p > 0 ? Math.round(n) / p : 1, c = E > 0 ? Math.round(o) / E : 1;\n }\n return {\n width: n / f,\n height: o / c,\n top: s / c,\n right: r / f,\n bottom: a / c,\n left: i / f,\n x: i / f,\n y: s / c\n };\n}, So = (t) => d(t).body, S = (t) => d(t).documentElement, To = (t) => d(t).head, ge = (t) => l(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\", ko = (t) => {\n const e = G(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, me = (t) => l(t) && t.constructor.name === \"ShadowRoot\" || !1, A = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || l(t) && t.parentNode || me(t) && t.host || S(t), ve = (t) => t ? K(t) ? t.defaultView : l(t) ? t?.ownerDocument?.defaultView : t : window, be = (t) => l(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, Ee = (t, e) => t.matches(e), M = (t) => g(t, \"position\") === \"static\", he = (t) => g(t, \"position\") === \"fixed\", Y = (t) => [\":popover-open\", \":modal\"].some((e) => {\n try {\n return Ee(t, e);\n } catch {\n return !1;\n }\n}), Z = (t) => {\n const e = te(), n = u(t) ? getComputedStyle(t) : t;\n return n.transform !== \"none\" || n.perspective !== \"none\" || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || [\"transform\", \"perspective\", \"filter\"].some(\n (o) => (n.willChange || \"\").includes(o)\n ) || [\"paint\", \"layout\", \"strict\", \"content\"].some(\n (o) => (n.contain || \"\").includes(o)\n );\n}, ye = (t) => {\n let e = A(t);\n for (; u(e) && !z(e); ) {\n if (Z(e))\n return e;\n if (Y(e))\n return null;\n e = A(e);\n }\n return null;\n}, z = (t) => [\"html\", \"body\", \"#document\"].includes(ge(t)), B = (t) => {\n if (!m(t) || he(t))\n return null;\n let e = t.offsetParent;\n return S(t) === e && (e = e.ownerDocument.body), e;\n}, No = (t) => {\n const e = ve(t);\n if (!l(t) || Y(t))\n return e;\n if (!m(t)) {\n let o = A(t);\n for (; o && !z(o); ) {\n if (u(o) && !M(o))\n return o;\n o = A(o);\n }\n return e;\n }\n let n = B(t);\n for (; n && be(n) && M(n); )\n n = B(n);\n return n && z(n) && M(n) && !Z(n) ? e : n || ye(t) || e;\n}, we = (t) => {\n if (!m(t)) return !1;\n const { width: e, height: n } = w(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, Co = (t, e, n) => {\n const o = m(e), s = w(\n t,\n o && we(e)\n ), r = { x: 0, y: 0 };\n if (o) {\n const a = w(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 F = 0, H = 0;\nconst y = /* @__PURE__ */ new Map(), Ae = (t, e) => {\n let n = e ? F : H;\n if (e) {\n const o = Ae(t), s = y.get(o) || /* @__PURE__ */ new Map();\n y.has(o) || y.set(o, s), O(s) && !s.has(e) ? (s.set(e, n), F += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n y.has(o) ? n = y.get(o) : (y.set(o, n), H += 1);\n }\n return n;\n}, Lo = (t) => {\n const e = [\"HTML\", \"BODY\"];\n let { parentNode: n } = t;\n if (!m(n))\n for (; n && !e.includes(n.nodeName) && (n = A(n), !m(n)); )\n ;\n const {\n offsetLeft: o,\n offsetTop: s,\n offsetParent: r\n } = n, { top: a, left: i } = n.getBoundingClientRect(), { top: f, left: c, width: p, height: E } = t.getBoundingClientRect(), _ = s + (f - a), $ = o + (c - i);\n return {\n offsetTop: _,\n offsetLeft: $,\n offsetWidth: p,\n offsetHeight: E,\n offsetParent: r\n };\n}, Se = (t) => Array.isArray(t) || !1, Mo = (t) => l(t) && t.nodeName === \"CANVAS\" || !1, Te = (t) => m(t) && !!t.shadowRoot || !1, Do = (t) => {\n if (!l(t)) return !1;\n const { top: e, bottom: n } = w(t), { clientHeight: o } = S(t);\n return e <= o && n >= 0;\n}, Oo = (t) => {\n if (!u(t)) return !1;\n const { clientWidth: e, clientHeight: n } = S(t), { top: o, left: s, bottom: r, right: a } = w(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, xo = (t) => Se(t) && t.every(u) || !1, zo = (t) => typeof t == \"function\" || !1, Io = (t) => b(t) && t.constructor.name === \"HTMLCollection\" || !1, Po = (t) => m(t) && t.tagName === \"IMG\" || !1, Bo = (t) => {\n if (!k(t)) return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Fo = (t) => b(t) && t.constructor.name === \"WeakMap\" || !1, Ho = (t) => l(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some(\n (e) => t.constructor.name.includes(e)\n) || !1, Vo = (t) => b(t) && t.constructor.name === \"NodeList\" || !1, Uo = (t) => S(t).dir === \"rtl\", Wo = (t) => l(t) && t.constructor.name.includes(\"SVG\") || !1, ke = (t, e) => !t || !e ? null : t.closest(e) || ke(t.getRootNode().host, e) || null, Ro = (t, e) => u(t) ? t : (u(e) ? e : d()).querySelector(t), Ne = (t, e) => (l(e) ? e : d()).getElementsByTagName(\n t\n), Qo = (t) => [...Ne(\"*\", t)].filter(Te), jo = (t, e) => d(e).getElementById(t), Go = (t, e) => (e && l(e) ? e : d()).getElementsByClassName(\n t\n);\nexport {\n Xn as ArrayFrom,\n V as DOMContentLoadedEvent,\n st as DOMMouseScrollEvent,\n D as Data,\n ro as Float32ArrayFrom,\n co as Float64ArrayFrom,\n N as ObjectAssign,\n T as ObjectEntries,\n go as ObjectFromEntries,\n lo as ObjectHasOwn,\n fo as ObjectKeys,\n po as ObjectValues,\n ho as Timer,\n X as abortEvent,\n qn as addClass,\n An as addEventListener,\n _t as animationDelay,\n Zt as animationDuration,\n C as animationEndEvent,\n U as animationName,\n Le as ariaChecked,\n De as ariaDescribedBy,\n Me as ariaDescription,\n Oe as ariaExpanded,\n xe as ariaHasPopup,\n J as ariaHidden,\n ze as ariaLabel,\n Ie as ariaLabelledBy,\n Pe as ariaModal,\n Be as ariaPressed,\n Fe as ariaSelected,\n Ve as ariaValueMax,\n He as ariaValueMin,\n Ue as ariaValueNow,\n We as ariaValueText,\n tt as beforeunloadEvent,\n Tn as bezierEasings,\n et as blurEvent,\n I as camelCase,\n eo as capitalize,\n nt as changeEvent,\n ke as closest,\n ot as contextmenuEvent,\n mo as createCustomEvent,\n se as createElement,\n re as createElementNS,\n q as dispatchEvent,\n no as distinct,\n _n as documentBody,\n $n as documentElement,\n Jn as documentHead,\n Qe as dragEvent,\n Ye as dragendEvent,\n Ge as dragenterEvent,\n Ke as dragleaveEvent,\n qe as dragoverEvent,\n je as dragstartEvent,\n oo as emulateAnimationEnd,\n so as emulateTransitionEnd,\n rt as errorEvent,\n ao as focus,\n ct as focusEvent,\n tn as focusEvents,\n Yt as focusableSelector,\n at as focusinEvent,\n it as focusoutEvent,\n ut as gesturechangeEvent,\n lt as gestureendEvent,\n dt as gesturestartEvent,\n j as getAttribute,\n Wn as getAttributeNS,\n w as getBoundingClientRect,\n Qo as getCustomElements,\n d as getDocument,\n So as getDocumentBody,\n S as getDocumentElement,\n To as getDocumentHead,\n ce as getElementAnimationDelay,\n ae as getElementAnimationDuration,\n jo as getElementById,\n g as getElementStyle,\n ie as getElementTransitionDelay,\n ue as getElementTransitionDuration,\n Go as getElementsByClassName,\n Ne as getElementsByTagName,\n to as getInstance,\n ge as getNodeName,\n ko as getNodeScroll,\n No as getOffsetParent,\n A as getParentNode,\n Co as getRectRelativeToOffsetParent,\n Lo as getSVGOffset,\n Ae as getUID,\n ve as getWindow,\n oe as hasAttribute,\n Rn as hasAttributeNS,\n Zn as hasClass,\n pe as hasFocusTrap,\n zn as isApple,\n Se as isArray,\n Mo as isCanvas,\n Te as isCustomElement,\n K as isDocument,\n u as isElement,\n Do as isElementInScrollRange,\n Oo as isElementInViewport,\n xo as isElementsArray,\n In as isFirefox,\n zo as isFunction,\n Io as isHTMLCollection,\n m as isHTMLElement,\n Po as isHTMLImageElement,\n Bo as isJSON,\n O as isMap,\n Ho as isMedia,\n xn as isMobile,\n l as isNode,\n Vo as isNodeList,\n le as isNumber,\n b as isObject,\n Uo as isRTL,\n Wo as isSVGElement,\n we as isScaledElement,\n me as isShadowRoot,\n k as isString,\n be as isTableElement,\n Fo as isWeakMap,\n te as isWebKit,\n G as isWindow,\n io as kebabCase,\n nn as keyAlt,\n on as keyArrowDown,\n rn as keyArrowLeft,\n cn as keyArrowRight,\n sn as keyArrowUp,\n an as keyBackspace,\n un as keyCapsLock,\n ln as keyControl,\n dn as keyDelete,\n fn as keyEnter,\n gn as keyEscape,\n mn as keyInsert,\n vn as keyMeta,\n pn as keyNumpadEnter,\n bn as keyPause,\n En as keyScrollLock,\n hn as keyShift,\n yn as keySpace,\n wn as keyTab,\n en as keyboardEventKeys,\n ft as keydownEvent,\n pt as keypressEvent,\n gt as keyupEvent,\n mt as loadEvent,\n Ze as loadstartEvent,\n Ee as matches,\n $e as mouseClickEvents,\n Je as mouseHoverEvents,\n _e as mouseSwipeEvents,\n vt as mouseclickEvent,\n bt as mousedblclickEvent,\n Et as mousedownEvent,\n wt as mouseenterEvent,\n yt as mousehoverEvent,\n St as mouseinEvent,\n At as mouseleaveEvent,\n Nt as mousemoveEvent,\n Tt as mouseoutEvent,\n kt as mouseoverEvent,\n ht as mouseupEvent,\n Ct as mousewheelEvent,\n Lt as moveEvent,\n Re as nativeEvents,\n ee as noop,\n uo as normalizeOptions,\n P as normalizeValue,\n Q as off,\n kn as offsetHeight,\n Nn as offsetWidth,\n R as on,\n ne as one,\n Mt as orientationchangeEvent,\n vo as passiveHandler,\n Dt as pointercancelEvent,\n Ot as pointerdownEvent,\n xt as pointerleaveEvent,\n zt as pointermoveEvent,\n It as pointerupEvent,\n Ro as querySelector,\n de as querySelectorAll,\n Pt as readystatechangeEvent,\n bo as reflow,\n Gn as removeAttribute,\n Kn as removeAttributeNS,\n Yn as removeClass,\n Sn as removeEventListener,\n Bt as resetEvent,\n Ft as resizeEvent,\n Wt as scrollEvent,\n Cn as scrollHeight,\n Ln as scrollWidth,\n Ht as selectEvent,\n Vt as selectendEvent,\n Ut as selectstartEvent,\n Qn as setAttribute,\n jn as setAttributeNS,\n Eo as setElementStyle,\n Rt as submitEvent,\n Pn as support3DTransform,\n Vn as supportAnimation,\n Bn as supportPassive,\n Hn as supportTouch,\n Fn as supportTransform,\n Un as supportTransition,\n Mn as tabindex,\n yo as toLowerCase,\n wo as toUpperCase,\n Ao as toggleFocusTrap,\n Xe as touchEvents,\n Gt as touchcancelEvent,\n Kt as touchendEvent,\n jt as touchmoveEvent,\n Qt as touchstartEvent,\n Jt as transitionDelay,\n $t as transitionDuration,\n L as transitionEndEvent,\n W as transitionProperty,\n qt as unloadEvent,\n On as userAgent,\n Dn as userAgentData,\n Ce as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const g = \"2.0.8\", e = {}, f = (t) => {\n const { type: n, currentTarget: c } = t;\n e[n].forEach((a, s) => {\n c === s && a.forEach((o, i) => {\n i.apply(s, [t]), typeof o == \"object\" && o.once && r(s, n, i, o);\n });\n });\n}, E = (t, n, c, a) => {\n e[n] || (e[n] = /* @__PURE__ */ new Map());\n const s = e[n];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(\n t\n ), { size: i } = o;\n o.set(c, a), i || t.addEventListener(\n n,\n f,\n a\n );\n}, r = (t, n, c, a) => {\n const s = e[n], o = s && s.get(t), i = o && o.get(c), d = i !== void 0 ? i : a;\n o && o.has(c) && o.delete(c), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[n], (!o || !o.size) && t.removeEventListener(\n n,\n f,\n d\n );\n}, M = E, p = r;\nexport {\n E as addListener,\n f as globalListener,\n p as off,\n M as on,\n e as registry,\n r as removeListener,\n g as version\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 {\n Data,\n isElement,\n isString,\n normalizeOptions,\n ObjectKeys,\n querySelector,\n} 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: Element;\n declare options?: BaseOptions;\n\n /**\n * @param target `Element` or selector string\n * @param config component instance options\n */\n constructor(target: Element | string, config?: BaseOptions) {\n let element: Element | null;\n\n try {\n if (isElement(target)) {\n element = target as Element;\n } else if (isString(target)) {\n element = querySelector(target);\n // istanbul ignore else @preserve\n if (!element) throw Error(`\"${target}\" is not a valid selector.`);\n } else {\n throw Error(`your target is not an instance of HTMLElement.`);\n }\n } catch (e) {\n throw Error(`${this.name} Error: ${(e as Error).message}`);\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else @preserve */\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 = this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, \"bs\")\n : /* istanbul ignore next @preserve */ {};\n\n Data.set(element, this.name, this);\n }\n\n // istanbul ignore next @preserve\n get version() {\n return Version;\n }\n\n // istanbul ignore next @preserve\n get name() {\n return \"BaseComponent\";\n }\n\n // istanbul ignore next @preserve\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n // istanbul ignore next @preserve coverage wise this isn't important\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","import { getAttribute, hasClass } from \"@thednp/shorty\";\n\n/**\n * Check if interactive element is disabled.\n * @param target either a `',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n */\nconst getPopoverInstance = (element: Element) =>\n getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: Element) => 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: Element | 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 @preserve\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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n getAttribute,\n getBoundingClientRect,\n getDocument,\n getDocumentElement,\n getElementById,\n getElementsByTagName,\n getInstance,\n hasClass,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n removeClass,\n} from \"@thednp/shorty\";\n\nimport PositionObserver from \"@thednp/position-observer\";\nimport { addListener, removeListener } from \"@thednp/event-listener\";\n\nimport activeClass from \"~/strings/activeClass\";\nimport scrollspyString from \"~/strings/scrollspyString\";\nimport scrollspyComponent from \"~/strings/scrollspyComponent\";\nimport isDisabled from \"~/util/isDisabled\";\nimport BaseComponent from \"./base-component\";\nimport { ScrollSpyEvent, ScrollSpyOptions } from \"~/interface/scrollspy\";\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\nconst scrollSpyAnchorSelector = \"[href]\";\n\nconst scrollspyDefaults: Partial = {\n offset: 10,\n target: undefined,\n};\n\ntype ScrollSpyEventProps = {\n relatedTarget: HTMLElement;\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: Element) =>\n getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: Element) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent<\n ScrollSpyEventProps,\n ScrollSpyEvent\n>(`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 {\n target,\n _itemsLength,\n _observables,\n } = self;\n\n const links = getElementsByTagName(\"A\", target);\n const doc = getDocument(target);\n\n // only update items once or with each mutation\n // istanbul ignore else @preserve\n if (!links.length || _itemsLength === _observables.size) return;\n // reset arrays & update\n _observables.clear();\n\n Array.from(links).forEach((link) => {\n const hash = getAttribute(link, \"href\")?.slice(1);\n const targetItem = hash?.length ? doc.getElementById(hash) : null;\n\n if (targetItem && !isDisabled(link)) {\n self._observables.set(targetItem, link);\n }\n });\n self._itemsLength = self._observables.size;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: Element) => {\n Array.from(getElementsByTagName(\"A\", target)).forEach(\n (item) => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n },\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\n // istanbul ignore else @preserve\n clear(target);\n\n self._activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n let parentItem = item;\n while (parentItem !== target) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (\n [\"nav\", \"dropdown-menu\", \"list-group\"].some((c) =>\n hasClass(parentItem, c)\n )\n ) {\n const parentLink = parentItem.previousElementSibling as\n | HTMLElement\n | null;\n\n // istanbul ignore else @preserve\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n }\n }\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\nconst getOffset = (self: ScrollSpy, target: HTMLElement) => {\n const { scrollTarget, element, options } = self;\n\n return (scrollTarget !== element\n ? getBoundingClientRect(target).top + scrollTarget.scrollTop\n : target.offsetTop) - (options.offset as number || 10);\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 element: HTMLElement;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement;\n declare scrollTarget: HTMLElement;\n declare _itemsLength: number;\n declare _activeItem: HTMLElement | null;\n declare _observables: Map;\n declare _observer: PositionObserver; //| IntersectionObserver;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(\n target: Element | string,\n config?: Partial,\n ) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // get target\n const spyTarget = querySelector(\n options.target,\n getDocument(element),\n );\n\n // invalidate\n if (!spyTarget) return;\n this.target = spyTarget;\n\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight\n ? element\n : getDocumentElement(element);\n this._observables = new Map();\n\n // run an initial burst, we need to know the targets\n this.refresh();\n // updateSpyTargets(this);\n\n // create observer\n this._observer = new PositionObserver(() => {\n requestAnimationFrame(() => this.refresh());\n }, {\n root: this.scrollTarget,\n });\n\n // add event handlers\n this._toggleEventListeners(true);\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, scrollTarget } = this;\n // check if target is visible and invalidate\n // istanbul ignore if @preserve\n if (!target || target.offsetHeight === 0) return;\n\n updateSpyTargets(this);\n const { _itemsLength, _observables, _activeItem } = this;\n\n // istanbul ignore if @preserve\n if (!_itemsLength) return;\n const entries = _observables.entries().toArray();\n\n const { scrollTop, scrollHeight, clientHeight } = scrollTarget;\n\n if (scrollTop >= scrollHeight - clientHeight) {\n const newActiveItem = entries[_itemsLength - 1]?.[1];\n\n // istanbul ignore else @preserve\n if (_activeItem !== newActiveItem) activate(this, newActiveItem);\n return;\n }\n\n const firstOffset = entries[0]?.[0]\n ? getOffset(this, entries[0][0])\n : /* istanbul ignore next */ null;\n if (\n firstOffset !== null && scrollTop < firstOffset &&\n firstOffset > 0\n ) {\n this._activeItem = null;\n clear(target);\n return;\n }\n\n for (let i = 0; i < _itemsLength; i += 1) {\n const [targetItem, item] = entries[i];\n const offsetTop = getOffset(this, targetItem);\n const nextTarget = entries[i + 1]?.[0];\n const nextOffsetTop = nextTarget\n ? getOffset(this, nextTarget)\n : /* istanbul ignore next */ null;\n\n // istanbul ignore else @preserve\n if (\n _activeItem !== item &&\n scrollTop >= offsetTop &&\n (nextOffsetTop === null || scrollTop < nextOffsetTop)\n ) {\n activate(this, item);\n break;\n }\n }\n };\n\n /**\n * This method provides an event handle\n * for scrollspy\n * @param e the event listener object\n */\n _scrollTo = (e: MouseEvent) => {\n const item = closest(e.target, scrollSpyAnchorSelector);\n const hash = item && getAttribute(item, \"href\")?.slice(1);\n const targetItem = hash && getElementById(hash, this.target);\n\n // istanbul ignore else @preserve\n if (targetItem) {\n this.scrollTarget.scrollTo({\n top: targetItem.offsetTop,\n behavior: \"smooth\",\n });\n e.preventDefault();\n }\n };\n\n /**\n * Toggles on/off the component observer.\n *\n * @param self the ScrollSpy instance\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (\n add?: boolean,\n ) => {\n const { target, _observables, _observer, _scrollTo } = this;\n const action = add ? addListener : removeListener;\n action(target, mouseclickEvent, _scrollTo);\n\n if (add) {\n _observables?.forEach((_, targetItem) => _observer.observe(targetItem));\n } else _observer.disconnect();\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 addClass,\n ariaSelected,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getElementsByClassName,\n getInstance,\n hasClass,\n isHTMLElement,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n reflow,\n removeClass,\n setAttribute,\n Timer,\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\";\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: Element) =>\n getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: Element) => new Tab(element);\n\ntype TabEventProps = {\n relatedTarget: Element & EventTarget | undefined;\n};\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(\n `show.bs.${tabString}`,\n);\nconst shownTabEvent = createCustomEvent(\n `shown.bs.${tabString}`,\n);\nconst hideTabEvent = createCustomEvent(\n `hide.bs.${tabString}`,\n);\nconst hiddenTabEvent = createCustomEvent(\n `hidden.bs.${tabString}`,\n);\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 @preserve\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = \"\";\n removeClass(tabContent, collapsingClass);\n }\n\n // istanbul ignore else @preserve\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)) ||\n // istanbul ignore next @preserve\n { tab: null };\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) ||\n // istanbul ignore next @preserve\n { currentHeight: 0, nextHeight: 0 };\n // istanbul ignore else @preserve: vitest won't validate this branch\n if (currentHeight !== nextHeight) {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n } else {\n triggerTabEnd(self);\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)) ||\n // istanbul ignore next @preserve\n { tab: null, content: null };\n let currentHeight = 0;\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\n if (c) addClass(c, \"overflow-hidden\");\n });\n currentHeight = content\n ? content.scrollHeight\n : /* istanbul ignore next @preserve */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element as HTMLElement;\n dispatchEvent(element, showTabEvent);\n\n // istanbul ignore if @preserve\n if (showTabEvent.defaultPrevented) return;\n // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, activeClass);\n // istanbul ignore else @preserve\n if (content) removeClass(content, activeClass);\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, {\n currentHeight,\n nextHeight,\n tab: null,\n content: null,\n });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\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 // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n // istanbul ignore else @preserve\n if (tab) dispatchEvent(tab, hiddenTabEvent);\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 = (\n self: Tab,\n): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n // istanbul ignore next @preserve\n if (!isHTMLElement(nav)) {\n return { tab: null, content: null };\n }\n\n const activeTabs = getElementsByClassName(\n activeClass,\n nav,\n );\n let tab: HTMLElement | null = null;\n // istanbul ignore else @preserve\n if (\n activeTabs.length === 1 &&\n !dropdownClasses.some((c) =>\n hasClass(activeTabs[0].parentElement as HTMLElement, c)\n )\n ) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab) ? getTargetElement(tab) : 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) => {\n // istanbul ignore next @preserve\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(\",.\")}`);\n return dropdown\n ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown)\n : 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: MouseEvent) => {\n const element = closest(e.target, tabSelector);\n const self = element && getTabInstance(element);\n\n // istanbul ignore if @preserve\n if (!self) return;\n e.preventDefault();\n self.show();\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 element: HTMLElement;\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: Element | 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 @preserve\n if (!content) return;\n\n const nav = closest(element, \".nav\");\n const container = closest(\n content as HTMLElement,\n \".tab-content\",\n );\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 @preserve\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 * 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 @preserve\n if ((nav && Timer.get(nav)) || hasClass(element, activeClass)) return;\n const { tab, content } = getActiveTab(this);\n\n // istanbul ignore else @preserve\n if (nav && tab) {\n tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n }\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element as HTMLElement;\n\n // istanbul ignore if @preserve\n if (!isHTMLElement(tab)) return;\n\n dispatchEvent(tab, hideTabEvent);\n\n // istanbul ignore else @preserve\n if (hideTabEvent.defaultPrevented) return;\n\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 @preserve\n if (nav) {\n const toggleTab = () => {\n // istanbul ignore else @preserve\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, \"false\");\n }\n if (dropdown && !hasClass(dropdown, activeClass)) {\n addClass(dropdown, activeClass);\n }\n };\n\n if (\n content &&\n (hasClass(content, fadeClass) ||\n (nextContent && hasClass(nextContent, fadeClass)))\n ) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n // istanbul ignore else @preserve\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 * 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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n focusinEvent,\n focusoutEvent,\n getDocument,\n getInstance,\n hasClass,\n mouseclickEvent,\n mouseenterEvent,\n MouseEvent,\n mouseleaveEvent,\n querySelector,\n querySelectorAll,\n reflow,\n removeClass,\n Timer,\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 isDisabled from \"~/util/isDisabled\";\nimport BaseComponent from \"./base-component\";\nimport { ToastEvent, ToastOptions } 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: Element) =>\n getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: Element) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent, ToastEvent>(\n `show.bs.${toastString}`,\n);\nconst shownToastEvent = createCustomEvent, ToastEvent>(\n `shown.bs.${toastString}`,\n);\nconst hideToastEvent = createCustomEvent, ToastEvent>(\n `hide.bs.${toastString}`,\n);\nconst hiddenToastEvent = createCustomEvent, ToastEvent>(\n `hidden.bs.${toastString}`,\n);\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 @preserve\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 as HTMLElement);\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 as HTMLElement);\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 * 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 if @preserve\n if (!self) return;\n // istanbul ignore else @preserve\n if (trigger && trigger.tagName === \"A\") e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\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;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n // istanbul ignore if @preserve: a solid filter is required\n if (\n !self || element === relatedTarget ||\n element.contains(relatedTarget as Node)\n ) return;\n\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// 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 element: HTMLElement;\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: Element | 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)) {\n addClass(element, fadeClass);\n } else if (!options.animation && hasClass(element, fadeClass)) {\n removeClass(element, fadeClass);\n }\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [\n ...querySelectorAll(\n toastToggleSelector,\n getDocument(element),\n ),\n ].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 if @preserve\n if (!element || isShown) return;\n\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) showToast(this);\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n // istanbul ignore if @preserve\n if (!element || !isShown) return;\n\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) hideToast(this);\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 @preserve\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n // istanbul ignore else @preserve\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(\n (e) => action(element, e, interactiveToastHandler),\n );\n }\n // istanbul ignore else @preserve\n if (triggers.length) {\n triggers.forEach((btn) => {\n if (!isDisabled(btn)) action(btn, mouseclickEvent, toastClickHandler);\n });\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n this._toggleEventListeners();\n Timer.clear(element, toastString);\n\n if (isShown) removeClass(element, showClass);\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\ntype Component =\n | Alert\n | Button\n | Carousel\n | Collapse\n | Dropdown\n | Modal\n | Offcanvas\n | Popover\n | ScrollSpy\n | Tab\n | Toast\n | Tooltip;\n\n[\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Offcanvas,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip,\n].forEach((c) => componentsList.set(c.prototype.name, c));\n\n/**\n * Initialize all matched `Element`s for one component.\n *\n * @param callback\n * @param collection\n */\nconst initComponentDataAPI = (\n callback: (el: Element) => Component,\n collection: HTMLCollectionOf | Element[],\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)) {\n (instance as T & { dispose: () => void }).dispose();\n }\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(), {\n once: true,\n });\n}\n"],"names":["De","Oe","J","Pe","Be","Fe","ct","at","it","ft","gt","vt","Et","yt","wt","At","Ot","zt","It","Qt","je","Yt","on","sn","rn","cn","gn","$t","Jt","L","W","zn","t","e","ee","R","n","o","s","Q","j","oe","Qn","Gn","qn","Yn","Zn","b","l","u","h","D","to","I","k","G","K","d","N","se","q","g","ie","ue","so","r","a","i","ao","P","T","uo","f","c","p","E","fo","mo","vo","bo","Eo","O","le","v","ho","yo","de","x","fe","pe","Ao","m","w","So","S","ko","me","A","ve","be","Ee","we","Co","F","H","y","Ae","Se","Do","zo","Vo","Uo","ke","Ro","Ne","jo","Go","fadeClass","showClass","dataBsDismiss","alertString","alertComponent","Version","version","BaseComponent","target","config","element","isElement","isString","querySelector","prevInstance","Data","ObjectKeys","normalizeOptions","prop","isDisabled","hasClass","getAttribute","alertSelector","alertDismissSelector","getAlertInstance","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","removeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent","activeClass","dataBsToggle","buttonString","buttonComponent","buttonSelector","getButtonInstance","buttonInitCallback","Button","setAttribute","ariaPressed","isActive","addClass","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","activateCarouselIndicator","pointermoveEvent","passiveHandler","pointerupEvent","getElementsByClassName","activeIndex","transitionItem","matches","ar","isPaused","idx","next","eventProperties","ObjectAssign","getElementTransitionDuration","reflow","touch","pause","interval","keyboard","mouseenterEvent","mouseleaveEvent","pointerdownEvent","touchstartEvent","dragstartEvent","arrow","indicator","keydownEvent","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","isHTMLElement","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","getCurrentOpenDropdown","currentParent","type","isForm","mousedownEvent","dropdownClickHandler","keyArrowDown","keyArrowUp","activeElement","open","menuItems","focus","keyEscape","dropdownIntersectionHandler","entry","currentElement","currentInstance","modalString","modalComponent","offcanvasComponent","fixedTopClass","fixedBottomClass","stickyTopClass","positionStickyClass","getFixedItems","resetScrollbar","bd","getDocumentBody","fixedItems","fixed","measureScrollbar","innerWidth","getWindow","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","padStyle","toggleModalDismiss","modalDismissHandler","modalKeyHandler","afterModalHide","relatedTarget","focusElement","toggleFocusTrap","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","isOpen","popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","body","tipClassPositions","styleTip","tipClasses","tooltip","container","offsetParent","scrollLeft","scrollTop","getNodeScroll","tipWidth","tipHeight","htmlcw","htmlch","htmlow","placement","parentCWidth","parentOWidth","fixedParent","leftBoundry","rightBoundry","observerEntry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","elemOffsetLeft","elemOffsetTop","getRectRelativeToOffsetParent","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","tipPositions","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","tooltipHeader","tooltipBody","tempTitle","tempContent","tempBtn","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","tooltipSelector","titleAttr","getTooltipInstance","tooltipInitCallback","Tooltip","removeTooltip","ariaDescribedBy","hasTip","disposeTooltipComplete","toggleTooltipTitle","toggleTooltipAction","tooltipShownAction","shownTooltipEvent","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","parentModal","parentOffcanvas","titleAtt","tipComponent","elem","getUID","position","PositionObserver","outTimer","showTooltipEvent","delay","hideTooltipEvent","enabled","tr","mousehoverEvent","focusinEvent","focusoutEvent","isApple","popoverSelector","popoverDefaults","getPopoverInstance","popoverInitCallback","Popover","scrollspyString","scrollspyComponent","scrollspySelector","scrollSpyAnchorSelector","scrollspyDefaults","getScrollSpyInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","updateSpyTargets","_itemsLength","_observables","links","getElementsByTagName","link","hash","targetItem","clear","item","activate","parentItem","parentLink","getOffset","scrollTarget","spyTarget","_activeItem","entries","newActiveItem","firstOffset","offsetTop","nextTarget","nextOffsetTop","getElementById","_observer","_scrollTo","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","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,53]} \ No newline at end of file diff --git a/dist/bootstrap-native.d.ts b/dist/bootstrap-native.d.ts index 8b8d4cdb..b53fa666 100644 --- a/dist/bootstrap-native.d.ts +++ b/dist/bootstrap-native.d.ts @@ -1,4 +1,5 @@ import { default as default_2 } from '@thednp/position-observer'; +import { MouseEvent as MouseEvent_2 } from '@thednp/shorty'; import { TouchEvent as TouchEvent_2 } from '@thednp/shorty'; /** Creates a new Alert instance. */ @@ -390,16 +391,11 @@ export declare class ScrollSpy extends BaseComponent { static getInstance: (element: Element) => ScrollSpy | null; element: HTMLElement; options: ScrollSpyOptions; - target: HTMLElement | null; + target: HTMLElement; scrollTarget: HTMLElement; - scrollTop: number; - maxScroll: number; - scrollHeight: number; - activeItem: HTMLElement | null; - items: HTMLElement[]; - targets: HTMLElement[]; - itemsLength: number; - offsets: number[]; + _itemsLength: number; + _activeItem: HTMLElement | null; + _observables: Map; _observer: default_2; /** * @param target the target element @@ -416,6 +412,19 @@ export declare class ScrollSpy extends BaseComponent { get defaults(): Partial; /** Updates all items. */ refresh: () => void; + /** + * This method provides an event handle + * for scrollspy + * @param e the event listener object + */ + _scrollTo: (e: MouseEvent_2) => void; + /** + * Toggles on/off the component observer. + * + * @param self the ScrollSpy instance + * @param add when `true`, listener is added + */ + _toggleEventListeners: (add?: boolean) => void; /** Removes `ScrollSpy` from the target element. */ dispose(): void; } @@ -423,6 +432,8 @@ export declare class ScrollSpy extends BaseComponent { declare interface ScrollSpyOptions extends BaseOptions { offset: number; target: HTMLElement | string; + threshold: number | number[]; + rootMargin: string; } /** Creates a new `Tab` instance. */ diff --git a/dist/bootstrap-native.js b/dist/bootstrap-native.js index 3d50cf89..45635bd3 100644 --- a/dist/bootstrap-native.js +++ b/dist/bootstrap-native.js @@ -1,2 +1,2 @@ -var BSN=function(R){"use strict";const Ls="aria-describedby",fe="aria-expanded",Yt="aria-hidden",ge="aria-modal",_s="aria-pressed",Ie="aria-selected",Le="focus",_e="focusin",Os="focusout",ue="keydown",Ro="keyup",k="click",Ns="mousedown",Bo="hover",pe="mouseenter",Oe="mouseleave",Fo="pointerdown",Wo="pointermove",jo="pointerup",Ne="touchstart",zo="dragstart",Vo='a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]',Me="ArrowDown",Re="ArrowUp",Ms="ArrowLeft",Rs="ArrowRight",Be="Escape",Ko="transitionDuration",qo="transitionDelay",Fe="transitionend",Bs="transitionProperty",Xo=()=>{const e=/(iPhone|iPod|iPad)/;return navigator?.userAgentData?.brands.some(t=>e.test(t.brand))||e.test(navigator?.userAgent)||!1},me=()=>{},Yo=(e,t,s,n)=>{const o=n||!1;e.addEventListener(t,s,o)},Uo=(e,t,s,n)=>{const o=n||!1;e.removeEventListener(t,s,o)},tt=(e,t)=>e.getAttribute(t),Ut=(e,t)=>e.hasAttribute(t),I=(e,t,s)=>e.setAttribute(t,s),Ct=(e,t)=>e.removeAttribute(t),h=(e,...t)=>{e.classList.add(...t)},v=(e,...t)=>{e.classList.remove(...t)},f=(e,t)=>e.classList.contains(t),Gt=e=>e!=null&&typeof e=="object"||!1,D=e=>Gt(e)&&typeof e.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(t=>e.nodeType===t)||!1,U=e=>D(e)&&e.nodeType===1||!1,Rt=new Map,St={data:Rt,set:(e,t,s)=>{U(e)&&(Rt.has(t)||Rt.set(t,new Map),Rt.get(t).set(e,s))},getAllFor:e=>Rt.get(e)||null,get:(e,t)=>{if(!U(e)||!t)return null;const s=St.getAllFor(t);return e&&s&&s.get(e)||null},remove:(e,t)=>{const s=St.getAllFor(t);!s||!U(e)||(s.delete(e),s.size===0&&Rt.delete(t))}},F=(e,t)=>St.get(e,t),Zt=e=>typeof e=="string"||!1,Fs=e=>Gt(e)&&e.constructor.name==="Window"||!1,Ws=e=>D(e)&&e.nodeType===9||!1,w=e=>Ws(e)?e:D(e)?e.ownerDocument:Fs(e)?e.document:globalThis.document,it=(e,...t)=>Object.assign(e,...t),ft=e=>{if(!e)return;if(Zt(e))return w().createElement(e);const{tagName:t}=e,s=ft(t);if(!s)return;const n={...e};return delete n.tagName,it(s,n)},b=(e,t)=>e.dispatchEvent(t),W=(e,t,s)=>{const n=getComputedStyle(e,s),o=t.replace("webkit","Webkit").replace(/([A-Z])/g,"-$1").toLowerCase();return n.getPropertyValue(o)},Go=e=>{const t=W(e,Bs),s=W(e,qo),n=s.includes("ms")?1:1e3,o=t&&t!=="none"?parseFloat(s)*n:0;return Number.isNaN(o)?0:o},Qt=e=>{const t=W(e,Bs),s=W(e,Ko),n=s.includes("ms")?1:1e3,o=t&&t!=="none"?parseFloat(s)*n:0;return Number.isNaN(o)?0:o},H=(e,t)=>{let s=0;const n=new Event(Fe),o=Qt(e),i=Go(e);if(o){const r=c=>{c.target===e&&(t.apply(e,[c]),e.removeEventListener(Fe,r),s=1)};e.addEventListener(Fe,r),setTimeout(()=>{s||b(e,n)},o+i+17)}else t.apply(e,[n])},rt=(e,t)=>e.focus(t),js=e=>["true",!0].includes(e)?!0:["false",!1].includes(e)?!1:["null","",null,void 0].includes(e)?null:e!==""&&!Number.isNaN(+e)?+e:e,ve=e=>Object.entries(e),Bt=e=>e.toLowerCase(),Zo=(e,t,s,n)=>{if(!U(e))return t;const o={...s},i={...e.dataset},r={...t},c={},a="title";return ve(i).forEach(([l,d])=>{const p=typeof l=="string"&&l.includes(n)?l.replace(n,"").replace(/[A-Z]/g,T=>Bt(T)):l;c[p]=js(d)}),ve(o).forEach(([l,d])=>{o[l]=js(d)}),ve(t).forEach(([l,d])=>{l in o?r[l]=o[l]:l in c?r[l]=c[l]:r[l]=l===a?tt(e,a):d}),r},zs=e=>Object.keys(e),E=(e,t)=>{const s=new CustomEvent(e,{cancelable:!0,bubbles:!0});return Gt(t)&&it(s,t),s},Jt={passive:!0},Ht=e=>e.offsetHeight,x=(e,t)=>{ve(t).forEach(([s,n])=>{if(n&&Zt(s)&&s.includes("--"))e.style.setProperty(s,n);else{const o={};o[s]=n,it(e.style,o)}})},We=e=>Gt(e)&&e.constructor.name==="Map"||!1,Qo=e=>typeof e=="number"||!1,gt=new Map,g={set:(e,t,s,n)=>{U(e)&&(n&&n.length?(gt.has(e)||gt.set(e,new Map),gt.get(e).set(n,setTimeout(t,s))):gt.set(e,setTimeout(t,s)))},get:(e,t)=>{if(!U(e))return null;const s=gt.get(e);return t&&s&&We(s)?s.get(t)||null:Qo(s)?s:null},clear:(e,t)=>{if(!U(e))return;const s=gt.get(e);t&&t.length&&We(s)?(clearTimeout(s.get(t)),s.delete(t),s.size===0&>.delete(e)):(clearTimeout(s),gt.delete(e))}},G=(e,t)=>(D(t)?t:w()).querySelectorAll(e),je=new Map;function Jo(e){const{shiftKey:t,code:s}=e,n=w(this),o=[...G(Vo,this)].filter(c=>!Ut(c,"disabled")&&!tt(c,Yt));if(!o.length)return;const i=o[0],r=o[o.length-1];s==="Tab"&&(t&&n.activeElement===i?(r.focus(),e.preventDefault()):!t&&n.activeElement===r&&(i.focus(),e.preventDefault()))}const ti=e=>je.has(e)===!0,be=e=>{const t=ti(e);(t?Uo:Yo)(e,"keydown",Jo),t?je.delete(e):je.set(e,!0)},C=e=>U(e)&&"offsetWidth"in e||!1,ut=(e,t)=>{const{width:s,height:n,top:o,right:i,bottom:r,left:c}=e.getBoundingClientRect();let a=1,l=1;if(t&&C(e)){const{offsetWidth:d,offsetHeight:p}=e;a=d>0?Math.round(s)/d:1,l=p>0?Math.round(n)/p:1}return{width:s/a,height:n/l,top:o/l,right:i/a,bottom:r/l,left:c/a,x:c/a,y:o/l}},pt=e=>w(e).body,ct=e=>w(e).documentElement,ei=e=>{const t=Fs(e),s=t?e.scrollX:e.scrollLeft,n=t?e.scrollY:e.scrollTop;return{x:s,y:n}},Vs=e=>D(e)&&e.constructor.name==="ShadowRoot"||!1,si=e=>e.nodeName==="HTML"?e:U(e)&&e.assignedSlot||D(e)&&e.parentNode||Vs(e)&&e.host||ct(e),Ks=e=>e?Ws(e)?e.defaultView:D(e)?e?.ownerDocument?.defaultView:e:window,ni=e=>D(e)&&["TABLE","TD","TH"].includes(e.nodeName)||!1,qs=(e,t)=>e.matches(t),oi=e=>{if(!C(e))return!1;const{width:t,height:s}=ut(e),{offsetWidth:n,offsetHeight:o}=e;return Math.round(t)!==n||Math.round(s)!==o},ii=(e,t,s)=>{const n=C(t),o=ut(e,n&&oi(t)),i={x:0,y:0};if(n){const r=ut(t,!0);i.x=r.x+t.clientLeft,i.y=r.y+t.clientTop}return{x:o.left+s.x-i.x,y:o.top+s.y-i.y,width:o.width,height:o.height}};let Xs=0,Ys=0;const Ft=new Map,Us=(e,t)=>{let s=t?Xs:Ys;if(t){const n=Us(e),o=Ft.get(n)||new Map;Ft.has(n)||Ft.set(n,o),We(o)&&!o.has(t)?(o.set(t,s),Xs+=1):s=o.get(t)}else{const n=e.id||e;Ft.has(n)?s=Ft.get(n):(Ft.set(n,s),Ys+=1)}return s},ri=e=>Array.isArray(e)||!1,Gs=e=>{if(!D(e))return!1;const{top:t,bottom:s}=ut(e),{clientHeight:n}=ct(e);return t<=n&&s>=0},ci=e=>typeof e=="function"||!1,ai=e=>Gt(e)&&e.constructor.name==="NodeList"||!1,mt=e=>ct(e).dir==="rtl",L=(e,t)=>!e||!t?null:e.closest(t)||L(e.getRootNode().host,t)||null,P=(e,t)=>U(e)?e:(U(t)?t:w()).querySelector(e),ze=(e,t)=>(D(t)?t:w()).getElementsByTagName(e),at=(e,t)=>(t&&D(t)?t:w()).getElementsByClassName(e),Wt={},Zs=e=>{const{type:t,currentTarget:s}=e;Wt[t].forEach((n,o)=>{s===o&&n.forEach((i,r)=>{r.apply(o,[e]),typeof i=="object"&&i.once&&N(o,t,r,i)})})},O=(e,t,s,n)=>{Wt[t]||(Wt[t]=new Map);const o=Wt[t];o.has(e)||o.set(e,new Map);const i=o.get(e),{size:r}=i;i.set(s,n),r||e.addEventListener(t,Zs,n)},N=(e,t,s,n)=>{const o=Wt[t],i=o&&o.get(e),r=i&&i.get(s),c=r!==void 0?r:n;i&&i.has(s)&&i.delete(s),o&&(!i||!i.size)&&o.delete(e),(!o||!o.size)&&delete Wt[t],(!i||!i.size)&&e.removeEventListener(t,Zs,c)},M="fade",u="show",we="data-bs-dismiss",Ee="alert",Qs="Alert",li="5.1.0";class et{constructor(t,s){let n;try{if(U(t))n=t;else if(Zt(t)){if(n=P(t),!n)throw Error(`"${t}" is not a valid selector.`)}else throw Error("your target is not an instance of HTMLElement.")}catch(i){throw Error(`${this.name} Error: ${i.message}`)}const o=St.get(n,this.name);o&&o._toggleEventListeners(),this.element=n,this.options=this.defaults&&zs(this.defaults).length?Zo(n,this.defaults,s||{},"bs"):{},St.set(n,this.name,this)}get version(){return li}get name(){return"BaseComponent"}get defaults(){return{}}_toggleEventListeners=()=>{};dispose(){St.remove(this.element,this.name),zs(this).forEach(t=>{delete this[t]})}}const di=`.${Ee}`,hi=`[${we}="${Ee}"]`,fi=e=>F(e,Qs),gi=e=>new Ve(e),Js=E(`close.bs.${Ee}`),ui=E(`closed.bs.${Ee}`),tn=e=>{const{element:t}=e;b(t,ui),e._toggleEventListeners(),e.dispose(),t.remove()};class Ve extends et{static selector=di;static init=gi;static getInstance=fi;dismiss;constructor(t){super(t),this.dismiss=P(hi,this.element),this._toggleEventListeners(!0)}get name(){return Qs}close=()=>{const{element:t}=this;t&&f(t,u)&&(b(t,Js),Js.defaultPrevented||(v(t,u),f(t,M)?H(t,()=>tn(this)):tn(this)))};_toggleEventListeners=t=>{const s=t?O:N,{dismiss:n,close:o}=this;n&&s(n,k,o)};dispose(){this._toggleEventListeners(),super.dispose()}}const $="active",ot="data-bs-toggle",pi="button",en="Button",mi=`[${ot}="${pi}"]`,vi=e=>F(e,en),bi=e=>new Ke(e);class Ke extends et{static selector=mi;static init=bi;static getInstance=vi;constructor(t){super(t);const{element:s}=this;this.isActive=f(s,$),I(s,_s,String(!!this.isActive)),this._toggleEventListeners(!0)}get name(){return en}toggle=t=>{t&&t.preventDefault();const{element:s,isActive:n}=this;!f(s,"disabled")&&!tt(s,"disabled")&&((n?v:h)(s,$),I(s,_s,n?"false":"true"),this.isActive=f(s,$))};_toggleEventListeners=t=>{(t?O:N)(this.element,k,this.toggle)};dispose(){this._toggleEventListeners(),super.dispose()}}const qe="data-bs-target",xt="carousel",sn="Carousel",nn="data-bs-parent",wi="data-bs-container",V=e=>{const t=[qe,nn,wi,"href"],s=w(e);return t.map(n=>{const o=tt(e,n);return o?n===nn?L(e,o):P(o,s):null}).filter(n=>n)[0]},te=`[data-bs-ride="${xt}"]`,Z=`${xt}-item`,Xe="data-bs-slide-to",vt="data-bs-slide",bt="paused",on={pause:"hover",keyboard:!1,touch:!0,interval:5e3},lt=e=>F(e,sn),Ei=e=>new Je(e);let ee=0,Te=0,Ye=0;const Ue=E(`slide.bs.${xt}`),Ge=E(`slid.bs.${xt}`),rn=e=>{const{index:t,direction:s,element:n,slides:o,options:i}=e;if(e.isAnimating){const r=Qe(e),c=s==="left"?"next":"prev",a=s==="left"?"start":"end";h(o[t],$),v(o[t],`${Z}-${c}`),v(o[t],`${Z}-${a}`),v(o[r],$),v(o[r],`${Z}-${a}`),b(n,Ge),g.clear(n,vt),e.cycle&&!w(n).hidden&&i.interval&&!e.isPaused&&e.cycle()}};function Ti(){const e=lt(this);e&&!e.isPaused&&!g.get(this,bt)&&h(this,bt)}function $i(){const e=lt(this);e&&e.isPaused&&!g.get(this,bt)&&e.cycle()}function yi(e){e.preventDefault();const t=L(this,te)||V(this),s=lt(t);if(s&&!s.isAnimating){const n=+(tt(this,Xe)||0);this&&!f(this,$)&&!Number.isNaN(n)&&s.to(n)}}function Ci(e){e.preventDefault();const t=L(this,te)||V(this),s=lt(t);if(s&&!s.isAnimating){const n=tt(this,vt);n==="next"?s.next():n==="prev"&&s.prev()}}const Si=({code:e,target:t})=>{const s=w(t),[n]=[...G(te,s)].filter(i=>Gs(i)),o=lt(n);if(o&&!o.isAnimating&&!/textarea|input/i.test(t.nodeName)){const i=mt(n);e===(i?Rs:Ms)?o.prev():e===(i?Ms:Rs)&&o.next()}};function cn(e){const{target:t}=e,s=lt(this);s&&s.isTouch&&(s.indicator&&!s.indicator.contains(t)||!s.controls.includes(t))&&(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault())}function Hi(e){const{target:t}=e,s=lt(this);if(s&&!s.isAnimating&&!s.isTouch){const{controls:n,indicators:o}=s;[...n,...o].every(i=>i===t||i.contains(t))||(ee=e.pageX,this.contains(t)&&(s.isTouch=!0,an(s,!0)))}}const xi=e=>{Te=e.pageX},Pi=e=>{const{target:t}=e,s=w(t),n=[...G(te,s)].map(o=>lt(o)).find(o=>o.isTouch);if(n){const{element:o,index:i}=n,r=mt(o);Ye=e.pageX,n.isTouch=!1,an(n),!s.getSelection()?.toString().length&&o.contains(t)&&Math.abs(ee-Ye)>120&&(Teee&&n.to(i+(r?1:-1))),ee=0,Te=0,Ye=0}},Ze=(e,t)=>{const{indicators:s}=e;[...s].forEach(n=>v(n,$)),e.indicators[t]&&h(s[t],$)},an=(e,t)=>{const{element:s}=e,n=t?O:N;n(w(s),Wo,xi,Jt),n(w(s),jo,Pi,Jt)},Qe=e=>{const{slides:t,element:s}=e,n=P(`.${Z}.${$}`,s);return C(n)?[...t].indexOf(n):-1};class Je extends et{static selector=te;static init=Ei;static getInstance=lt;constructor(t,s){super(t,s);const{element:n}=this;this.direction=mt(n)?"right":"left",this.isTouch=!1,this.slides=at(Z,n);const{slides:o}=this;if(o.length>=2){const i=Qe(this),r=[...o].find(l=>qs(l,`.${Z}-next,.${Z}-next`));this.index=i;const c=w(n);this.controls=[...G(`[${vt}]`,n),...G(`[${vt}][${qe}="#${n.id}"]`,c)].filter((l,d,p)=>d===p.indexOf(l)),this.indicator=P(`.${xt}-indicators`,n),this.indicators=[...this.indicator?G(`[${Xe}]`,this.indicator):[],...G(`[${Xe}][${qe}="#${n.id}"]`,c)].filter((l,d,p)=>d===p.indexOf(l));const{options:a}=this;this.options.interval=a.interval===!0?on.interval:a.interval,r?this.index=[...o].indexOf(r):i<0&&(this.index=0,h(o[0],$),this.indicators.length&&Ze(this,0)),this.indicators.length&&Ze(this,this.index),this._toggleEventListeners(!0),a.interval&&this.cycle()}}get name(){return sn}get defaults(){return on}get isPaused(){return f(this.element,bt)}get isAnimating(){return P(`.${Z}-next,.${Z}-prev`,this.element)!==null}cycle(){const{element:t,options:s,isPaused:n,index:o}=this;g.clear(t,xt),n&&(g.clear(t,bt),v(t,bt)),g.set(t,()=>{this.element&&!this.isPaused&&!this.isTouch&&Gs(t)&&this.to(o+1)},s.interval,xt)}pause(){const{element:t,options:s}=this;!this.isPaused&&s.interval&&(h(t,bt),g.set(t,()=>{},1,bt))}next(){this.isAnimating||this.to(this.index+1)}prev(){this.isAnimating||this.to(this.index-1)}to(t){const{element:s,slides:n,options:o}=this,i=Qe(this),r=mt(s);let c=t;if(!this.isAnimating&&i!==c&&!g.get(s,vt)){ic||i===n.length-1&&c===0)&&(this.direction=r?"left":"right");const{direction:a}=this;c<0?c=n.length-1:c>=n.length&&(c=0);const l=a==="left"?"next":"prev",d=a==="left"?"start":"end",p={relatedTarget:n[c],from:i,to:c,direction:a};it(Ue,p),it(Ge,p),b(s,Ue),Ue.defaultPrevented||(this.index=c,Ze(this,c),Qt(n[c])&&f(s,"slide")?g.set(s,()=>{h(n[c],`${Z}-${l}`),Ht(n[c]),h(n[c],`${Z}-${d}`),h(n[i],`${Z}-${d}`),H(n[c],()=>this.slides&&this.slides.length&&rn(this))},0,vt):(h(n[c],$),v(n[i],$),g.set(s,()=>{g.clear(s,vt),s&&o.interval&&!this.isPaused&&this.cycle(),b(s,Ge)},0,vt)))}}_toggleEventListeners=t=>{const{element:s,options:n,slides:o,controls:i,indicators:r}=this,{touch:c,pause:a,interval:l,keyboard:d}=n,p=t?O:N;a&&l&&(p(s,pe,Ti),p(s,Oe,$i)),c&&o.length>2&&(p(s,Fo,Hi,Jt),p(s,Ne,cn,{passive:!1}),p(s,zo,cn,{passive:!1})),i.length&&i.forEach(T=>{T&&p(T,k,Ci)}),r.length&&r.forEach(T=>{p(T,k,yi)}),d&&p(w(s),ue,Si)};dispose(){const{isAnimating:t}=this,s={...this,isAnimating:t};this._toggleEventListeners(),super.dispose(),s.isAnimating&&H(s.slides[s.index],()=>{rn(s)})}}const Pt="collapsing",K="collapse",ln="Collapse",Di=`.${K}`,dn=`[${ot}="${K}"]`,Ai={parent:null},$e=e=>F(e,ln),ki=e=>new ts(e),hn=E(`show.bs.${K}`),Ii=E(`shown.bs.${K}`),fn=E(`hide.bs.${K}`),Li=E(`hidden.bs.${K}`),_i=e=>{const{element:t,parent:s,triggers:n}=e;b(t,hn),hn.defaultPrevented||(g.set(t,me,17),s&&g.set(s,me,17),h(t,Pt),v(t,K),x(t,{height:`${t.scrollHeight}px`}),H(t,()=>{g.clear(t),s&&g.clear(s),n.forEach(o=>I(o,fe,"true")),v(t,Pt),h(t,K),h(t,u),x(t,{height:""}),b(t,Ii)}))},gn=e=>{const{element:t,parent:s,triggers:n}=e;b(t,fn),fn.defaultPrevented||(g.set(t,me,17),s&&g.set(s,me,17),x(t,{height:`${t.scrollHeight}px`}),v(t,K),v(t,u),h(t,Pt),Ht(t),x(t,{height:"0px"}),H(t,()=>{g.clear(t),s&&g.clear(s),n.forEach(o=>I(o,fe,"false")),v(t,Pt),h(t,K),x(t,{height:""}),b(t,Li)}))},Oi=e=>{const{target:t}=e,s=t&&L(t,dn),n=s&&V(s),o=n&&$e(n);o&&o.toggle(),s&&s.tagName==="A"&&e.preventDefault()};class ts extends et{static selector=Di;static init=ki;static getInstance=$e;constructor(t,s){super(t,s);const{element:n,options:o}=this,i=w(n);this.triggers=[...G(dn,i)].filter(r=>V(r)===n),this.parent=C(o.parent)?o.parent:Zt(o.parent)?V(n)||P(o.parent,i):null,this._toggleEventListeners(!0)}get name(){return ln}get defaults(){return Ai}hide(){const{triggers:t,element:s}=this;g.get(s)||(gn(this),t.length&&t.forEach(n=>h(n,`${K}d`)))}show(){const{element:t,parent:s,triggers:n}=this;let o,i;s&&(o=[...G(`.${K}.${u}`,s)].find(r=>$e(r)),i=o&&$e(o)),(!s||!g.get(s))&&!g.get(t)&&(i&&o!==t&&(gn(i),i.triggers.forEach(r=>{h(r,`${K}d`)})),_i(this),n.length&&n.forEach(r=>v(r,`${K}d`)))}toggle(){f(this.element,u)?this.hide():this.show()}_toggleEventListeners=t=>{const s=t?O:N,{triggers:n}=this;n.length&&n.forEach(o=>s(o,k,Oi))};dispose(){this._toggleEventListeners(),super.dispose()}}const Dt=["dropdown","dropup","dropstart","dropend"],un="Dropdown",pn="dropdown-menu",mn=e=>{const t=L(e,"A");return e.tagName==="A"&&Ut(e,"href")&&tt(e,"href").slice(-1)==="#"||t&&Ut(t,"href")&&tt(t,"href").slice(-1)==="#"},[st,es,ss,ns]=Dt,vn=`[${ot}="${st}"]`,jt=e=>F(e,un),Ni=e=>new rs(e),Mi=`${pn}-end`,bn=[st,es],wn=[ss,ns],En=["A","BUTTON"],Ri={offset:5,display:"dynamic"},os=E(`show.bs.${st}`),Tn=E(`shown.bs.${st}`),is=E(`hide.bs.${st}`),$n=E(`hidden.bs.${st}`),yn=E(`updated.bs.${st}`),Cn=e=>{const{element:t,menu:s,parentElement:n,options:o}=e,{offset:i}=o;if(W(s,"position")!=="static"){const r=mt(t),c=f(s,Mi);["margin","top","bottom","left","right"].forEach(z=>{const Ot={};Ot[z]="",x(s,Ot)});let l=Dt.find(z=>f(n,z))||st;const d={dropdown:[i,0,0],dropup:[0,0,i],dropstart:r?[-1,0,0,i]:[-1,i,0],dropend:r?[-1,i,0]:[-1,0,0,i]},p={dropdown:{top:"100%"},dropup:{top:"auto",bottom:"100%"},dropstart:r?{left:"100%",right:"auto"}:{left:"auto",right:"100%"},dropend:r?{left:"auto",right:"100%"}:{left:"100%",right:"auto"},menuStart:r?{right:"0",left:"auto"}:{right:"auto",left:"0"},menuEnd:r?{right:"auto",left:"0"}:{right:"0",left:"auto"}},{offsetWidth:T,offsetHeight:_}=s,{clientWidth:q,clientHeight:j}=ct(t),{left:m,top:B,width:Lt,height:_t}=ut(t),S=m-T-i<0,Tt=m+T+Lt+i>=q,ht=B+_+i>=j,nt=B+_+_t+i>=j,Vt=B-_-i<0,y=(!r&&c||r&&!c)&&m+Lt-T<0,X=(r&&c||!r&&!c)&&m+T>=q;if(wn.includes(l)&&S&&Tt&&(l=st),l===ss&&(r?Tt:S)&&(l=ns),l===ns&&(r?S:Tt)&&(l=ss),l===es&&Vt&&!nt&&(l=st),l===st&&nt&&!Vt&&(l=es),wn.includes(l)&&ht&&it(p[l],{top:"auto",bottom:0}),bn.includes(l)&&(y||X)){let z={left:"auto",right:"auto"};!y&&X&&!r&&(z={left:"auto",right:0}),y&&!X&&r&&(z={left:0,right:"auto"}),z&&it(p[l],z)}const Kt=d[l];x(s,{...p[l],margin:`${Kt.map(z=>z&&`${z}px`).join(" ")}`}),bn.includes(l)&&c&&c&&x(s,p[!r&&y||r&&X?"menuStart":"menuEnd"]),b(n,yn)}},Bi=e=>Array.from(e.children).map(t=>{if(t&&En.includes(t.tagName))return t;const{firstElementChild:s}=t;return s&&En.includes(s.tagName)?s:null}).filter(t=>t),Sn=e=>{const{element:t,options:s,menu:n}=e,o=e.open?O:N,i=w(t);o(i,k,Hn),o(i,Le,Hn),o(i,ue,Wi),o(i,Ro,ji),s.display==="dynamic"&&(e.open?e._observer.observe(n):e._observer.disconnect())},ye=e=>{const t=[...Dt,"btn-group","input-group"].map(s=>at(`${s} ${u}`,w(e))).find(s=>s.length);if(t&&t.length)return[...t[0].children].find(s=>Dt.some(n=>n===tt(s,ot)))},Hn=e=>{const{target:t,type:s}=e;if(!C(t))return;const n=ye(t),o=n&&jt(n);if(!o)return;const{parentElement:i,menu:r}=o,c=i&&i.contains(t)&&(t.tagName==="form"||L(t,"form")!==null);[k,Ns].includes(s)&&mn(t)&&e.preventDefault(),!c&&s!==Le&&t!==n&&t!==r&&o.hide()},Fi=e=>{const{target:t}=e,s=t&&L(t,vn),n=s&&jt(s);n&&(e.stopPropagation(),n.toggle(),s&&mn(s)&&e.preventDefault())},Wi=e=>{[Me,Re].includes(e.code)&&e.preventDefault()};function ji(e){const{code:t}=e,s=ye(this);if(!s)return;const n=jt(s),{activeElement:o}=w(s);if(!n||!o)return;const{menu:i,open:r}=n,c=Bi(i);if(c&&c.length&&[Me,Re].includes(t)){let a=c.indexOf(o);o===s?a=0:t===Re?a=a>1?a-1:0:t===Me&&(a=azi(i.target),{threshold:1}),this._toggleEventListeners(!0))}get name(){return un}get defaults(){return Ri}toggle(){this.open?this.hide():this.show()}show(){const{element:t,open:s,menu:n,parentElement:o}=this;if(s)return;const i=ye(t),r=i&&jt(i);r&&r.hide(),[os,Tn,yn].forEach(c=>{c.relatedTarget=t}),b(o,os),!os.defaultPrevented&&(h(n,u),h(o,u),I(t,fe,"true"),Cn(this),this.open=!s,rt(t),Sn(this),b(o,Tn))}hide(){const{element:t,open:s,menu:n,parentElement:o}=this;s&&([is,$n].forEach(i=>{i.relatedTarget=t}),b(o,is),!is.defaultPrevented&&(v(n,u),v(o,u),I(t,fe,"false"),this.open=!s,Sn(this),b(o,$n)))}_toggleEventListeners=t=>{(t?O:N)(this.element,k,Fi)};dispose(){this.open&&this.hide(),this._toggleEventListeners(),super.dispose()}}const Y="modal",cs="Modal",as="Offcanvas",Vi="fixed-top",Ki="fixed-bottom",xn="sticky-top",Pn="position-sticky",Dn=e=>[...at(Vi,e),...at(Ki,e),...at(xn,e),...at(Pn,e),...at("is-fixed",e)],qi=e=>{const t=pt(e);x(t,{paddingRight:"",overflow:""});const s=Dn(t);s.length&&s.forEach(n=>{x(n,{paddingRight:"",marginRight:""})})},An=e=>{const{clientWidth:t}=ct(e),{innerWidth:s}=Ks(e);return Math.abs(s-t)},kn=(e,t)=>{const s=pt(e),n=parseInt(W(s,"paddingRight"),10),i=W(s,"overflow")==="hidden"&&n?0:An(e),r=Dn(s);t&&(x(s,{overflow:"hidden",paddingRight:`${n+i}px`}),r.length&&r.forEach(c=>{const a=W(c,"paddingRight");if(c.style.paddingRight=`${parseInt(a,10)+i}px`,[xn,Pn].some(l=>f(c,l))){const l=W(c,"marginRight");c.style.marginRight=`${parseInt(l,10)-i}px`}}))},Q="offcanvas",wt=ft({tagName:"div",className:"popup-container"}),In=(e,t)=>{const s=D(t)&&t.nodeName==="BODY",n=D(t)&&!s?t:wt,o=s?t:pt(e);D(e)&&(n===wt&&o.append(wt),n.append(e))},Ln=(e,t)=>{const s=D(t)&&t.nodeName==="BODY",n=D(t)&&!s?t:wt;D(e)&&(e.remove(),n===wt&&!wt.children.length&&wt.remove())},ls=(e,t)=>{const s=D(t)&&t.nodeName!=="BODY"?t:wt;return D(e)&&s.contains(e)},_n="backdrop",On=`${Y}-${_n}`,Nn=`${Q}-${_n}`,Mn=`.${Y}.${u}`,ds=`.${Q}.${u}`,A=ft("div"),At=e=>P(`${Mn},${ds}`,w(e)),hs=e=>{const t=e?On:Nn;[On,Nn].forEach(s=>{v(A,s)}),h(A,t)},Rn=(e,t,s)=>{hs(s),In(A,pt(e)),t&&h(A,M)},Bn=()=>{f(A,u)||(h(A,u),Ht(A))},Ce=()=>{v(A,u)},Fn=e=>{At(e)||(v(A,M),Ln(A,pt(e)),qi(e))},Wn=e=>C(e)&&W(e,"visibility")!=="hidden"&&e.offsetParent!==null,Xi=`.${Y}`,jn=`[${ot}="${Y}"]`,Yi=`[${we}="${Y}"]`,zn=`${Y}-static`,Ui={backdrop:!0,keyboard:!0},se=e=>F(e,cs),Gi=e=>new gs(e),Se=E(`show.bs.${Y}`),Vn=E(`shown.bs.${Y}`),fs=E(`hide.bs.${Y}`),Kn=E(`hidden.bs.${Y}`),qn=e=>{const{element:t}=e,s=An(t),{clientHeight:n,scrollHeight:o}=ct(t),{clientHeight:i,scrollHeight:r}=t,c=i!==r;if(!c&&s){const l={[mt(t)?"paddingLeft":"paddingRight"]:`${s}px`};x(t,l)}kn(t,c||n!==o)},Xn=(e,t)=>{const s=t?O:N,{element:n}=e;s(n,k,Ji),s(w(n),ue,Qi),t?e._observer.observe(n):e._observer.disconnect()},Yn=e=>{const{triggers:t,element:s,relatedTarget:n}=e;Fn(s),x(s,{paddingRight:"",display:""}),Xn(e);const o=Se.relatedTarget||t.find(Wn);o&&rt(o),Kn.relatedTarget=n||void 0,b(s,Kn),be(s)},Un=e=>{const{element:t,relatedTarget:s}=e;rt(t),Xn(e,!0),Vn.relatedTarget=s||void 0,b(t,Vn),be(t)},Gn=e=>{const{element:t,hasFade:s}=e;x(t,{display:"block"}),qn(e),At(t)||x(pt(t),{overflow:"hidden"}),h(t,u),Ct(t,Yt),I(t,ge,"true"),s?H(t,()=>Un(e)):Un(e)},Zn=e=>{const{element:t,options:s,hasFade:n}=e;s.backdrop&&n&&f(A,u)&&!At(t)?(Ce(),H(A,()=>Yn(e))):Yn(e)},Zi=e=>{const{target:t}=e,s=t&&L(t,jn),n=s&&V(s),o=n&&se(n);o&&(s&&s.tagName==="A"&&e.preventDefault(),o.relatedTarget=s,o.toggle())},Qi=({code:e,target:t})=>{const s=P(Mn,w(t)),n=s&&se(s);if(!n)return;const{options:o}=n;o.keyboard&&e===Be&&f(s,u)&&(n.relatedTarget=null,n.hide())},Ji=e=>{const{currentTarget:t}=e,s=t&&se(t);if(!s||!t||g.get(t))return;const{options:n,isStatic:o,modalDialog:i}=s,{backdrop:r}=n,{target:c}=e,a=w(t)?.getSelection()?.toString().length,l=i.contains(c),d=c&&L(c,Yi);o&&!l?g.set(t,()=>{h(t,zn),H(i,()=>tr(s))},17):(d||!a&&!o&&!l&&r)&&(s.relatedTarget=d||null,s.hide(),e.preventDefault())},tr=e=>{const{element:t,modalDialog:s}=e,n=(Qt(s)||0)+17;v(t,zn),g.set(t,()=>g.clear(t),n)};class gs extends et{static selector=Xi;static init=Gi;static getInstance=se;constructor(t,s){super(t,s);const{element:n}=this,o=P(`.${Y}-dialog`,n);o&&(this.modalDialog=o,this.triggers=[...G(jn,w(n))].filter(i=>V(i)===n),this.isStatic=this.options.backdrop==="static",this.hasFade=f(n,M),this.relatedTarget=null,this._observer=new ResizeObserver(()=>this.update()),this._toggleEventListeners(!0))}get name(){return cs}get defaults(){return Ui}toggle(){f(this.element,u)?this.hide():this.show()}show(){const{element:t,options:s,hasFade:n,relatedTarget:o}=this,{backdrop:i}=s;let r=0;if(f(t,u)||(Se.relatedTarget=o||void 0,b(t,Se),Se.defaultPrevented))return;const c=At(t);if(c&&c!==t){const a=se(c)||F(c,as);a&&a.hide()}i?(ls(A)?hs(!0):Rn(t,n,!0),r=Qt(A),Bn(),setTimeout(()=>Gn(this),r)):(Gn(this),c&&f(A,u)&&Ce())}hide(){const{element:t,hasFade:s,relatedTarget:n}=this;f(t,u)&&(fs.relatedTarget=n||void 0,b(t,fs),!fs.defaultPrevented&&(v(t,u),I(t,Yt,"true"),Ct(t,ge),s?H(t,()=>Zn(this)):Zn(this)))}update=()=>{f(this.element,u)&&qn(this)};_toggleEventListeners=t=>{const s=t?O:N,{triggers:n}=this;n.length&&n.forEach(o=>s(o,k,Zi))};dispose(){const t={...this},{modalDialog:s,hasFade:n}=t,o=()=>setTimeout(()=>super.dispose(),17);this.hide(),this._toggleEventListeners(),n?H(s,o):o()}}const er=`.${Q}`,us=`[${ot}="${Q}"]`,sr=`[${we}="${Q}"]`,He=`${Q}-toggling`,nr={backdrop:!0,keyboard:!0,scroll:!1},ne=e=>F(e,as),or=e=>new ms(e),xe=E(`show.bs.${Q}`),Qn=E(`shown.bs.${Q}`),ps=E(`hide.bs.${Q}`),Jn=E(`hidden.bs.${Q}`),ir=e=>{const{element:t}=e,{clientHeight:s,scrollHeight:n}=ct(t);kn(t,s!==n)},to=(e,t)=>{const s=t?O:N,n=w(e.element);s(n,ue,lr),s(n,k,ar)},eo=e=>{const{element:t,options:s}=e;s.scroll||(ir(e),x(pt(t),{overflow:"hidden"})),h(t,He),h(t,u),x(t,{visibility:"visible"}),H(t,()=>dr(e))},rr=e=>{const{element:t,options:s}=e,n=At(t);t.blur(),!n&&s.backdrop&&f(A,u)&&Ce(),H(t,()=>hr(e))},cr=e=>{const t=L(e.target,us),s=t&&V(t),n=s&&ne(s);n&&(n.relatedTarget=t,n.toggle(),t?.tagName==="A"&&e.preventDefault())},ar=e=>{const{target:t}=e,s=P(ds,w(t));if(!s)return;const n=P(sr,s),o=ne(s);if(!o)return;const{options:i,triggers:r}=o,{backdrop:c}=i,a=L(t,us),l=w(s).getSelection();A.contains(t)&&c==="static"||(!(l&&l.toString().length)&&(!s.contains(t)&&c&&(!a||r.includes(t))||n&&n.contains(t))&&(o.relatedTarget=n&&n.contains(t)?n:void 0,o.hide()),a&&a.tagName==="A"&&e.preventDefault())},lr=({code:e,target:t})=>{const s=P(ds,w(t)),n=s&&ne(s);n&&n.options.keyboard&&e===Be&&(n.relatedTarget=void 0,n.hide())},dr=e=>{const{element:t}=e;v(t,He),Ct(t,Yt),I(t,ge,"true"),I(t,"role","dialog"),b(t,Qn),to(e,!0),rt(t),be(t)},hr=e=>{const{element:t,triggers:s}=e;I(t,Yt,"true"),Ct(t,ge),Ct(t,"role"),x(t,{visibility:""});const n=xe.relatedTarget||s.find(Wn);n&&rt(n),Fn(t),b(t,Jn),v(t,He),be(t),At(t)||to(e)};class ms extends et{static selector=er;static init=or;static getInstance=ne;constructor(t,s){super(t,s);const{element:n}=this;this.triggers=[...G(us,w(n))].filter(o=>V(o)===n),this.relatedTarget=void 0,this._toggleEventListeners(!0)}get name(){return as}get defaults(){return nr}toggle(){f(this.element,u)?this.hide():this.show()}show(){const{element:t,options:s,relatedTarget:n}=this;let o=0;if(f(t,u)||(xe.relatedTarget=n||void 0,Qn.relatedTarget=n||void 0,b(t,xe),xe.defaultPrevented))return;const i=At(t);if(i&&i!==t){const r=ne(i)||F(i,cs);r&&r.hide()}s.backdrop?(ls(A)?hs():Rn(t,!0),o=Qt(A),Bn(),setTimeout(()=>eo(this),o)):(eo(this),i&&f(A,u)&&Ce())}hide(){const{element:t,relatedTarget:s}=this;f(t,u)&&(ps.relatedTarget=s||void 0,Jn.relatedTarget=s||void 0,b(t,ps),!ps.defaultPrevented&&(h(t,He),v(t,u),rr(this)))}_toggleEventListeners=t=>{const s=t?O:N;this.triggers.forEach(n=>s(n,k,cr))};dispose(){const{element:t}=this,s=f(t,u),n=()=>setTimeout(()=>super.dispose(),1);this.hide(),this._toggleEventListeners(),s?H(t,n):n()}}const kt="popover",vs="Popover",dt="tooltip",so=e=>{const t=e===dt,s=t?`${e}-inner`:`${e}-body`,n=t?"":`

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

`,o=`
`,i=`
`;return`
${n+o+i}
`},co={top:"top",bottom:"bottom",left:"start",right:"end"},ws=e=>{requestAnimationFrame(()=>{const t=/\b(top|bottom|start|end)+/,{element:s,tooltip:n,container:o,offsetParent:i,options:r,arrow:c}=e;if(!n)return;const a=pt(s),{x:l,y:f}=ni(i);A(n,{top:"",left:"",right:"",bottom:""});const{offsetWidth:g,offsetHeight:T}=n,{clientWidth:B,clientHeight:Z,offsetWidth:st}=at(s);let{placement:m}=r;const{clientWidth:q,offsetWidth:Lt}=o,C=F(o,"position")==="fixed",Et=Math.abs(C?q-Lt:B-st),ft=a&&C?Et:0,nt=B-(a?0:Et)-1,Kt=e._observer.getEntry(s),{width:y,height:K,left:Vt,right:W,top:Nt}=Kt?.boundingClientRect||At(s,!0),{x:xe,y:qt}=ci(s,i,{x:l,y:f});A(c,{top:"",left:"",right:"",bottom:""});let Mt=0,ae="",Tt=0,Is="",Yt="",He="",ks="";const Bt=c.offsetWidth||0,$t=c.offsetHeight||0,Ls=Bt/2;let le=Nt-T-$t<0,de=Nt+T+K+$t>=Z,he=Vt-g-Bt=nt;const Ie=["left","right"],Os=["top","bottom"];le=Ie.includes(m)?Nt+K/2-T/2-$t<0:le,de=Ie.includes(m)?Nt+T/2+K/2+$t>=Z:de,he=Os.includes(m)?Vt+y/2-g/2=nt:fe,m=Ie.includes(m)&&he&&fe?"top":m,m=m==="top"&&le?"bottom":m,m=m==="bottom"&&de?"top":m,m=m==="left"&&he?"right":m,m=m==="right"&&fe?"left":m,n.className.includes(m)||(n.className=n.className.replace(t,co[m])),Ie.includes(m)?(m==="left"?Tt=xe-g-Bt:Tt=xe+y+Bt,le&&de?(Mt=0,ae=0,Yt=qt+K/2-$t/2):le?(Mt=qt,ae="",Yt=K/2-Bt):de?(Mt=qt-T+K,ae="",Yt=T-K/2-Bt):(Mt=qt-T/2+K/2,Yt=T/2-$t/2)):Os.includes(m)&&(m==="top"?Mt=qt-T-$t:Mt=qt+K+$t,he?(Tt=0,He=xe+y/2-Ls):fe?(Tt="auto",Is=0,ks=y/2+nt-W-Ls):(Tt=xe-g/2+y/2,He=g/2-Ls)),A(n,{top:`${Mt}px`,bottom:ae===""?"":`${ae}px`,left:Tt==="auto"?Tt:`${Tt}px`,right:Is!==""?`${Is}px`:""}),_(c)&&(Yt!==""&&(c.style.top=`${Yt}px`),He!==""?c.style.left=`${He}px`:ks!==""&&(c.style.right=`${ks}px`));const Qr=E(`updated.bs.${te(e.name)}`);w(s,Qr)})},Es={template:ro(ht),title:"",customClass:"",trigger:"hover focus",placement:"top",sanitizeFn:void 0,animation:!0,delay:200,container:document.body,content:"",dismissible:!1,btnClose:""},pr=e=>e!=null&&typeof e=="object"||!1,mr=e=>pr(e)&&typeof e.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(t=>e.nodeType===t)||!1,ao=e=>mr(e)&&e.nodeType===1||!1,vr=e=>typeof e=="function"||!1,br="1.0.2",lo="PositionObserver Error";class ho{entries;static version=br;_tick;_root;_callback;constructor(t,s){if(!vr(t))throw new Error(`${lo}: ${t} is not a function.`);this.entries=new Map,this._callback=t,this._root=ao(s?.root)?s.root:document?.documentElement,this._tick=0}observe=t=>{if(!ao(t))throw new Error(`${lo}: ${t} is not an instance of Element.`);this._root.contains(t)&&this._new(t).then(s=>{s&&!this.getEntry(t)&&this.entries.set(t,s),this._tick||(this._tick=requestAnimationFrame(this._runCallback))})};unobserve=t=>{this.entries.has(t)&&this.entries.delete(t)};_runCallback=()=>{if(!this.entries.size)return;const t=new Promise(s=>{const n=[];this.entries.forEach(({target:o,boundingClientRect:i})=>{this._root.contains(o)&&this._new(o).then(({boundingClientRect:r,isIntersecting:c})=>{if(!c)return;const{left:a,top:l,bottom:f,right:g}=r;if(i.top!==l||i.left!==a||i.right!==g||i.bottom!==f){const T={target:o,boundingClientRect:r};this.entries.set(o,T),n.push(T)}})}),s(n)});this._tick=requestAnimationFrame(async()=>{const s=await t;s.length&&this._callback(s,this),this._runCallback()})};_new=t=>new Promise(s=>{new IntersectionObserver(([n],o)=>{o.disconnect(),s(n)}).observe(t)});getEntry=t=>this.entries.get(t);disconnect=()=>{cancelAnimationFrame(this._tick),this.entries.clear(),this._tick=0}}const fo="data-original-title",kt="Tooltip",wt=(e,t,s)=>{if(Qt(t)&&t.length){let n=t.trim();li(s)&&(n=s(n));const i=new DOMParser().parseFromString(n,"text/html");e.append(...i.body.childNodes)}else _(t)?e.append(t):(di(t)||ai(t)&&t.every(P))&&e.append(...t)},wr=e=>{const t=e.name===kt,{id:s,element:n,options:o}=e,{title:i,placement:r,template:c,animation:a,customClass:l,sanitizeFn:f,dismissible:g,content:T,btnClose:B}=o,Z=t?ht:It,st={...co};let m=[],q=[];pt(n)&&(st.left="end",st.right="start");const Lt=`bs-${Z}-${st[r]}`;let Ot;if(_(c))Ot=c;else{const y=gt("div");wt(y,c,f),Ot=y.firstChild}if(!_(Ot))return;e.tooltip=Ot.cloneNode(!0);const{tooltip:C}=e;k(C,"id",s),k(C,"role",ht);const Et=t?`${ht}-inner`:`${It}-body`,ft=t?null:D(`.${It}-header`,C),nt=D(`.${Et}`,C);e.arrow=D(`.${Z}-arrow`,C);const{arrow:Kt}=e;if(_(i))m=[i.cloneNode(!0)];else{const y=gt("div");wt(y,i,f),m=[...y.childNodes]}if(_(T))q=[T.cloneNode(!0)];else{const y=gt("div");wt(y,T,f),q=[...y.childNodes]}if(g)if(i)if(_(B))m=[...m,B.cloneNode(!0)];else{const y=gt("div");wt(y,B,f),m=[...m,y.firstChild]}else if(ft&&ft.remove(),_(B))q=[...q,B.cloneNode(!0)];else{const y=gt("div");wt(y,B,f),q=[...q,y.firstChild]}t?i&&nt&&wt(nt,i,f):(i&&ft&&wt(ft,m,f),T&&nt&&wt(nt,q,f),e.btn=D(".btn-close",C)||void 0),d(C,"position-absolute"),d(Kt,"position-absolute"),h(C,Z)||d(C,Z),a&&!h(C,N)&&d(C,N),l&&!h(C,l)&&d(C,l),h(C,Lt)||d(C,Lt)},Er=e=>{const t=["HTML","BODY"],s=[];let{parentNode:n}=e;for(;n&&!t.includes(n.nodeName);)n=oi(n),Us(n)||ii(n)||s.push(n);return s.find((o,i)=>(F(o,"position")!=="relative"||F(o,"position")==="relative"&&o.offsetHeight!==o.scrollHeight)&&s.slice(i+1).every(r=>F(r,"position")==="static")?o:null)||b(e).body},Tr=`[${it}="${ht}"],[data-tip="${ht}"]`,go="title";let uo=e=>R(e,kt);const $r=e=>new _e(e),yr=e=>{const{element:t,tooltip:s,container:n}=e;yt(t,Ns),Mn(s,n)},ie=e=>{const{tooltip:t,container:s}=e;return t&&ds(t,s)},Cr=(e,t)=>{const{element:s}=e;e._toggleEventListeners(),Xt(s,fo)&&e.name===kt&&wo(e),t&&t()},po=(e,t)=>{const s=t?L:O,{element:n}=e;s(b(n),Me,e.handleTouch,Jt)},mo=e=>{const{element:t}=e,s=E(`shown.bs.${te(e.name)}`);po(e,!0),w(t,s),u.clear(t,"in")},vo=e=>{const{element:t}=e,s=E(`hidden.bs.${te(e.name)}`);po(e),yr(e),w(t,s),u.clear(t,"out")},bo=(e,t)=>{const s=t?L:O,{element:n,tooltip:o}=e,i=x(n,`.${V}`),r=x(n,`.${G}`);t?[n,o].forEach(c=>e._observer.observe(c)):e._observer.disconnect(),i&&s(i,`hide.bs.${V}`,e.handleHide),r&&s(r,`hide.bs.${G}`,e.handleHide)},wo=(e,t)=>{const s=[fo,go],{element:n}=e;k(n,s[t?0:1],t||Y(n,s[0])||""),yt(n,s[t?1:0])};class _e extends J{static selector=Tr;static init=$r;static getInstance=uo;static styleTip=ws;constructor(t,s){super(t,s);const{element:n}=this,o=this.name===kt,i=o?ht:It,r=o?kt:bs;uo=f=>R(f,r),this.enabled=!0,this.id=`${i}-${Js(n,i)}`;const{options:c}=this;if(!c.title&&o||!o&&!c.content)return;rt(Es,{titleAttr:""}),Xt(n,go)&&o&&typeof c.title=="string"&&wo(this,c.title);const a=Er(n),l=["sticky","fixed","relative"].some(f=>F(a,"position")===f)?a:Xs(n);this.container=a,this.offsetParent=l,wr(this),this.tooltip&&(this._observer=new ho(()=>this.update()),this._toggleEventListeners(!0))}get name(){return kt}get defaults(){return Es}handleFocus=()=>ct(this.element);handleShow=()=>this.show();show(){const{options:t,tooltip:s,element:n,container:o,id:i}=this,{animation:r}=t,c=u.get(n,"out");u.clear(n,"out"),s&&!c&&!ie(this)&&u.set(n,()=>{const a=E(`show.bs.${te(this.name)}`);w(n,a),a.defaultPrevented||(Nn(s,o),k(n,Ns,`#${i}`),this.update(),bo(this,!0),h(s,p)||d(s,p),r?S(s,()=>mo(this)):mo(this))},17,"in")}handleHide=()=>this.hide();hide(){const{options:t,tooltip:s,element:n}=this,{animation:o,delay:i}=t;u.clear(n,"in"),s&&ie(this)&&u.set(n,()=>{const r=E(`hide.bs.${te(this.name)}`);w(n,r),r.defaultPrevented||(this.update(),v(s,p),bo(this),o?S(s,()=>vo(this)):vo(this))},i+17,"out")}update=()=>{ws(this)};toggle=()=>{const{tooltip:t}=this;t&&!ie(this)?this.show():this.hide()};enable(){const{enabled:t}=this;t||(this._toggleEventListeners(!0),this.enabled=!t)}disable(){const{tooltip:t,enabled:s}=this;s&&(t&&ie(this)&&this.hide(),this._toggleEventListeners(),this.enabled=!s)}toggleEnabled(){this.enabled?this.disable():this.enable()}handleTouch=({target:t})=>{const{tooltip:s,element:n}=this;s&&s.contains(t)||t===n||t&&n.contains(t)||this.hide()};_toggleEventListeners=t=>{const s=t?L:O,{element:n,options:o,btn:i}=this,{trigger:r}=o,a=!!(this.name!==kt&&o.dismissible);r.includes("manual")||(this.enabled=!!t,r.split(" ").forEach(f=>{f===Wo?(s(n,Rs,this.handleShow),s(n,me,this.handleShow),a||(s(n,Ne,this.handleHide),s(b(n),Me,this.handleTouch,Jt))):f===I?s(n,f,a?this.handleShow:this.toggle):f===Le&&(s(n,Oe,this.handleShow),a||s(n,Bs,this.handleHide),Xo()&&s(n,I,this.handleFocus)),a&&i&&s(i,I,this.handleHide)}))};dispose(){const{tooltip:t,options:s}=this,n={...this,name:this.name},o=()=>setTimeout(()=>Cr(n,()=>super.dispose()),17);s.animation&&ie(n)?(this.options.delay=0,this.hide(),S(t,o)):o()}}const Sr=`[${it}="${It}"],[data-tip="${It}"]`,Ar=rt({},Es,{template:ro(It),content:"",dismissible:!1,btnClose:''}),Dr=e=>R(e,bs),Pr=e=>new Ts(e);class Ts extends _e{static selector=Sr;static init=Pr;static getInstance=Dr;static styleTip=ws;constructor(t,s){super(t,s)}get name(){return bs}get defaults(){return Ar}show=()=>{super.show();const{options:t,btn:s}=this;t.dismissible&&s&&setTimeout(()=>ct(s),17)}}const _r="scrollspy",Eo="ScrollSpy",xr='[data-bs-spy="scroll"]',Hr="[href]",Ir={offset:10,target:void 0},kr=e=>R(e,Eo),Lr=e=>new ys(e),To=E(`activate.bs.${_r}`),Or=e=>{const{target:t,_itemsLength:s,_observables:n}=e,o=Ke("A",t),i=b(t);!o.length||s===n.size||(n.clear(),Array.from(o).forEach(r=>{const c=Y(r,"href")?.slice(1),a=c?.length?i.getElementById(c):null;a&&!ot(r)&&e._observables.set(a,r)}),e._itemsLength=e._observables.size)},$o=e=>{Array.from(Ke("A",e)).forEach(t=>{h(t,$)&&v(t,$)})},yo=(e,t)=>{const{target:s,element:n}=e;$o(s),e._activeItem=t,d(t,$);let o=t;for(;o!==s;)if(o=o.parentElement,["nav","dropdown-menu","list-group"].some(i=>h(o,i))){const i=o.previousElementSibling;i&&!h(i,$)&&d(i,$)}To.relatedTarget=t,w(n,To)},$s=(e,t)=>{const{scrollTarget:s,element:n,options:o}=e;return(s!==n?At(t).top+s.scrollTop:t.offsetTop)-(o.offset||10)};class ys extends J{static selector=xr;static init=Lr;static getInstance=kr;constructor(t,s){super(t,s);const{element:n,options:o}=this,i=D(o.target,b(n));i&&(this.target=i,this.scrollTarget=n.clientHeight{requestAnimationFrame(()=>this.refresh())},{root:this.scrollTarget}),this._toggleEventListeners(!0))}get name(){return Eo}get defaults(){return Ir}refresh=()=>{const{target:t,scrollTarget:s}=this;if(!t||t.offsetHeight===0)return;Or(this);const{_itemsLength:n,_observables:o,_activeItem:i}=this;if(!n)return;const r=o.entries().toArray(),{scrollTop:c,scrollHeight:a,clientHeight:l}=s;if(c>=a-l){const g=r[n-1]?.[1];i!==g&&yo(this,g);return}const f=r[0]?.[0]?$s(this,r[0][0]):null;if(f!==null&&c0){this._activeItem=null,$o(t);return}for(let g=0;g=Z&&(m===null||c{const s=x(t.target,Hr),n=s&&Y(s,"href")?.slice(1),o=n&&hi(n,this.target);o&&(this.scrollTarget.scrollTo({top:o.offsetTop,behavior:"smooth"}),t.preventDefault())};_toggleEventListeners=t=>{const{target:s,_observables:n,_observer:o,_scrollTo:i}=this;(t?L:O)(s,I,i),t?n?.forEach((c,a)=>o.observe(a)):o.disconnect()};dispose(){this._toggleEventListeners(),super.dispose()}}const re="tab",Co="Tab",Cs=`[${it}="${re}"]`,So=e=>R(e,Co),Nr=e=>new Ds(e),Ss=E(`show.bs.${re}`),Ao=E(`shown.bs.${re}`),As=E(`hide.bs.${re}`),Do=E(`hidden.bs.${re}`),ce=new Map,Po=e=>{const{tabContent:t,nav:s}=e;t&&h(t,_t)&&(t.style.height="",v(t,_t)),s&&u.clear(s)},_o=e=>{const{element:t,tabContent:s,content:n,nav:o}=e,{tab:i}=_(o)&&ce.get(o)||{tab:null};if(s&&n&&h(n,N)){const{currentHeight:r,nextHeight:c}=ce.get(t)||{currentHeight:0,nextHeight:0};r!==c?setTimeout(()=>{s.style.height=`${c}px`,St(s),S(s,()=>Po(e))},50):Po(e)}else o&&u.clear(o);Ao.relatedTarget=i,w(t,Ao)},xo=e=>{const{element:t,content:s,tabContent:n,nav:o}=e,{tab:i,content:r}=o&&ce.get(o)||{tab:null,content:null};let c=0;if(n&&s&&h(s,N)&&([r,s].forEach(a=>{a&&d(a,"overflow-hidden")}),c=r?r.scrollHeight:0),Ss.relatedTarget=i,Do.relatedTarget=t,w(t,Ss),!Ss.defaultPrevented){if(s&&d(s,$),r&&v(r,$),n&&s&&h(s,N)){const a=s.scrollHeight;ce.set(t,{currentHeight:c,nextHeight:a,tab:null,content:null}),d(n,_t),n.style.height=`${c}px`,St(n),[r,s].forEach(l=>{l&&v(l,"overflow-hidden")})}s&&s&&h(s,N)?setTimeout(()=>{d(s,p),S(s,()=>{_o(e)})},1):(s&&d(s,p),_o(e)),i&&w(i,Do)}},Ho=e=>{const{nav:t}=e;if(!_(t))return{tab:null,content:null};const s=lt($,t);let n=null;s.length===1&&!xt.some(i=>h(s[0].parentElement,i))?[n]=s:s.length>1&&(n=s[s.length-1]);const o=_(n)?j(n):null;return{tab:n,content:o}},Io=e=>{if(!_(e))return null;const t=x(e,`.${xt.join(",.")}`);return t?D(`.${xt[0]}-toggle`,t):null},Mr=e=>{const t=x(e.target,Cs),s=t&&So(t);s&&(e.preventDefault(),s.show())};class Ds extends J{static selector=Cs;static init=Nr;static getInstance=So;constructor(t){super(t);const{element:s}=this,n=j(s);if(!n)return;const o=x(s,".nav"),i=x(n,".tab-content");this.nav=o,this.content=n,this.tabContent=i,this.dropdown=Io(s);const{tab:r}=Ho(this);if(o&&!r){const c=D(Cs,o),a=c&&j(c);a&&(d(c,$),d(a,p),d(a,$),k(s,ke,"true"))}this._toggleEventListeners(!0)}get name(){return Co}show(){const{element:t,content:s,nav:n,dropdown:o}=this;if(n&&u.get(n)||h(t,$))return;const{tab:i,content:r}=Ho(this);if(n&&i&&ce.set(n,{tab:i,content:r,currentHeight:0,nextHeight:0}),As.relatedTarget=t,!_(i)||(w(i,As),As.defaultPrevented))return;d(t,$),k(t,ke,"true");const c=_(i)&&Io(i);if(c&&h(c,$)&&v(c,$),n){const a=()=>{i&&(v(i,$),k(i,ke,"false")),o&&!h(o,$)&&d(o,$)};r&&(h(r,N)||s&&h(s,N))?u.set(n,a,1):a()}r&&(v(r,p),h(r,N)?S(r,()=>xo(this)):xo(this))}_toggleEventListeners=t=>{(t?L:O)(this.element,I,Mr)};dispose(){this._toggleEventListeners(),super.dispose()}}const Q="toast",ko="Toast",Br=`.${Q}`,Rr=`[${Ee}="${Q}"]`,Lo=`[${it}="${Q}"]`,zt="showing",Oo="hide",Fr={animation:!0,autohide:!0,delay:5e3},Ps=e=>R(e,ko),Wr=e=>new _s(e),No=E(`show.bs.${Q}`),jr=E(`shown.bs.${Q}`),Mo=E(`hide.bs.${Q}`),zr=E(`hidden.bs.${Q}`),Bo=e=>{const{element:t,options:s}=e;v(t,zt),u.clear(t,zt),w(t,jr),s.autohide&&u.set(t,()=>e.hide(),s.delay,Q)},Ro=e=>{const{element:t}=e;v(t,zt),v(t,p),d(t,Oo),u.clear(t,Q),w(t,zr)},Kr=e=>{const{element:t,options:s}=e;d(t,zt),s.animation?(St(t),S(t,()=>Ro(e))):Ro(e)},Vr=e=>{const{element:t,options:s}=e;u.set(t,()=>{v(t,Oo),St(t),d(t,p),d(t,zt),s.animation?S(t,()=>Bo(e)):Bo(e)},17,zt)},qr=e=>{const{target:t}=e,s=t&&x(t,Lo),n=s&&j(s),o=n&&Ps(n);o&&(s&&s.tagName==="A"&&e.preventDefault(),o.relatedTarget=s,o.show())},Yr=e=>{const t=e.target,s=Ps(t),{type:n,relatedTarget:o}=e;!s||t===o||t.contains(o)||([me,Oe].includes(n)?u.clear(t,Q):u.set(t,()=>s.hide(),s.options.delay,Q))};class _s extends J{static selector=Br;static init=Wr;static getInstance=Ps;constructor(t,s){super(t,s);const{element:n,options:o}=this;o.animation&&!h(n,N)?d(n,N):!o.animation&&h(n,N)&&v(n,N),this.dismiss=D(Rr,n),this.triggers=[...X(Lo,b(n))].filter(i=>j(i)===n),this._toggleEventListeners(!0)}get name(){return ko}get defaults(){return Fr}get isShown(){return h(this.element,p)}show=()=>{const{element:t,isShown:s}=this;!t||s||(w(t,No),No.defaultPrevented||Vr(this))};hide=()=>{const{element:t,isShown:s}=this;!t||!s||(w(t,Mo),Mo.defaultPrevented||Kr(this))};_toggleEventListeners=t=>{const s=t?L:O,{element:n,triggers:o,dismiss:i,options:r,hide:c}=this;i&&s(i,I,c),r.autohide&&[Oe,Bs,me,Ne].forEach(a=>s(n,a,Yr)),o.length&&o.forEach(a=>{ot(a)||s(a,I,qr)})};dispose(){const{element:t,isShown:s}=this;this._toggleEventListeners(),u.clear(t,Q),s&&v(t,p),super.dispose()}}const xs=new Map;[Ve,qe,ts,es,cs,us,vs,Ts,ys,Ds,_s,_e].forEach(e=>xs.set(e.prototype.name,e));const Ur=(e,t)=>{[...t].forEach(s=>e(s))},Xr=(e,t)=>{const s=Ct.getAllFor(e);s&&[...s].forEach(([n,o])=>{t.contains(n)&&o.dispose()})},Hs=e=>{const t=e&&e.nodeName?e:document,s=[...Ke("*",t)];xs.forEach(n=>{const{init:o,selector:i}=n;Ur(o,s.filter(r=>Gs(r,i)))})},Gr=e=>{const t=e&&e.nodeName?e:document;xs.forEach(s=>{Xr(s.prototype.name,t)})};return document.body?Hs():L(document,"DOMContentLoaded",()=>Hs(),{once:!0}),M.Alert=Ve,M.Button=qe,M.Carousel=ts,M.Collapse=es,M.Dropdown=cs,M.Modal=us,M.Offcanvas=vs,M.Popover=Ts,M.ScrollSpy=ys,M.Tab=Ds,M.Toast=_s,M.Tooltip=_e,M.initCallback=Hs,M.removeDataAPI=Gr,Object.defineProperty(M,Symbol.toStringTag,{value:"Module"}),M}({}); //# sourceMappingURL=bootstrap-native.js.map diff --git a/dist/bootstrap-native.js.map b/dist/bootstrap-native.js.map index b5da591f..7d3c1d42 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@https+++codeload.github.com+thednp+shorty+tar.gz+309d581b370f747cb15531ca6c201def3827e05c/node_modules/@thednp/shorty/dist/shorty.mjs","../node_modules/.pnpm/@thednp+event-listener@2.0.8/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","../node_modules/.pnpm/@thednp+position-observer@https+++codeload.github.com+thednp+position-observer+tar.gz+d693d53_hyk7lpzuqi6vnifksl6nzudy5a/node_modules/@thednp/position-observer/dist/index.mjs","../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 Ce = \"2.0.8\", Le = \"aria-checked\", Me = \"aria-description\", De = \"aria-describedby\", Oe = \"aria-expanded\", xe = \"aria-haspopup\", $ = \"aria-hidden\", ze = \"aria-label\", Ie = \"aria-labelledby\", Pe = \"aria-modal\", Be = \"aria-pressed\", Fe = \"aria-selected\", He = \"aria-valuemin\", Ve = \"aria-valuemax\", Ue = \"aria-valuenow\", We = \"aria-valuetext\", J = \"abort\", X = \"beforeunload\", tt = \"blur\", et = \"change\", nt = \"contextmenu\", V = \"DOMContentLoaded\", ot = \"DOMMouseScroll\", st = \"error\", rt = \"focus\", ct = \"focusin\", at = \"focusout\", it = \"gesturechange\", ut = \"gestureend\", lt = \"gesturestart\", dt = \"keydown\", ft = \"keypress\", pt = \"keyup\", gt = \"load\", mt = \"click\", vt = \"dblclick\", bt = \"mousedown\", Et = \"mouseup\", ht = \"hover\", yt = \"mouseenter\", wt = \"mouseleave\", At = \"mousein\", St = \"mouseout\", Tt = \"mouseover\", kt = \"mousemove\", Nt = \"mousewheel\", Ct = \"move\", Lt = \"orientationchange\", Mt = \"pointercancel\", Dt = \"pointerdown\", Ot = \"pointerleave\", xt = \"pointermove\", zt = \"pointerup\", It = \"readystatechange\", Pt = \"reset\", Bt = \"resize\", Ft = \"select\", Ht = \"selectend\", Vt = \"selectstart\", Ut = \"scroll\", Wt = \"submit\", Rt = \"touchstart\", Qt = \"touchmove\", jt = \"touchcancel\", Gt = \"touchend\", Kt = \"unload\", Re = {\n DOMContentLoaded: V,\n DOMMouseScroll: ot,\n abort: J,\n beforeunload: X,\n blur: tt,\n change: et,\n click: mt,\n contextmenu: nt,\n dblclick: vt,\n error: st,\n focus: rt,\n focusin: ct,\n focusout: at,\n gesturechange: it,\n gestureend: ut,\n gesturestart: lt,\n hover: ht,\n keydown: dt,\n keypress: ft,\n keyup: pt,\n load: gt,\n mousedown: bt,\n mousemove: kt,\n mousein: At,\n mouseout: St,\n mouseenter: yt,\n mouseleave: wt,\n mouseover: Tt,\n mouseup: Et,\n mousewheel: Nt,\n move: Ct,\n orientationchange: Lt,\n pointercancel: Mt,\n pointerdown: Dt,\n pointerleave: Ot,\n pointermove: xt,\n pointerup: zt,\n readystatechange: It,\n reset: Pt,\n resize: Bt,\n scroll: Ut,\n select: Ft,\n selectend: Ht,\n selectstart: Vt,\n submit: Wt,\n touchcancel: jt,\n touchend: Gt,\n touchmove: Qt,\n touchstart: Rt,\n unload: Kt\n}, Qe = \"drag\", je = \"dragstart\", Ge = \"dragenter\", Ke = \"dragleave\", qe = \"dragover\", Ze = \"dragend\", Ye = \"loadstart\", _e = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, $e = { down: \"mousedown\", up: \"mouseup\" }, Je = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"], Xe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, tn = { in: \"focusin\", out: \"focusout\" }, qt = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]', en = {\n Backspace: \"Backspace\",\n Tab: \"Tab\",\n Enter: \"Enter\",\n Shift: \"Shift\",\n Control: \"Control\",\n Alt: \"Alt\",\n Pause: \"Pause\",\n CapsLock: \"CapsLock\",\n Escape: \"Escape\",\n Scape: \"Space\",\n ArrowLeft: \"ArrowLeft\",\n ArrowUp: \"ArrowUp\",\n ArrowRight: \"ArrowRight\",\n ArrowDown: \"ArrowDown\",\n Insert: \"Insert\",\n Delete: \"Delete\",\n Meta: \"Meta\",\n ContextMenu: \"ContextMenu\",\n ScrollLock: \"ScrollLock\"\n}, nn = \"Alt\", on = \"ArrowDown\", sn = \"ArrowUp\", rn = \"ArrowLeft\", cn = \"ArrowRight\", an = \"Backspace\", un = \"CapsLock\", ln = \"Control\", dn = \"Delete\", fn = \"Enter\", pn = \"NumpadEnter\", gn = \"Escape\", mn = \"Insert\", vn = \"Meta\", bn = \"Pause\", En = \"ScrollLock\", hn = \"Shift\", yn = \"Space\", wn = \"Tab\", Zt = \"animationDuration\", Yt = \"animationDelay\", U = \"animationName\", L = \"animationend\", _t = \"transitionDuration\", $t = \"transitionDelay\", M = \"transitionend\", W = \"transitionProperty\", An = \"addEventListener\", Sn = \"removeEventListener\", Tn = {\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}, kn = \"offsetHeight\", Nn = \"offsetWidth\", Cn = \"scrollHeight\", Ln = \"scrollWidth\", Mn = \"tabindex\", Dn = navigator.userAgentData, { userAgent: Jt } = navigator, On = Jt, xn = () => {\n const t = /iPhone|iPad|iPod|Android/i;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(navigator?.userAgent) || !1;\n}, zn = () => {\n const t = /(iPhone|iPod|iPad)/;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(\n navigator?.userAgent\n ) || !1;\n}, In = () => navigator?.userAgent?.includes(\"Firefox\") || !1, Xt = () => typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\"), Pn = () => [\"webkitPerspective\", \"perspective\"].some((t) => t in document.head.style), te = () => {\n}, R = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(\n e,\n n,\n s\n );\n}, Q = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(\n e,\n n,\n s\n );\n}, ee = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Q(t, e, s, o));\n };\n R(t, e, s, o);\n}, Bn = () => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n ee(document, V, te, e);\n } catch {\n }\n return t;\n}, Fn = () => [\"webkitTransform\", \"transform\"].some((t) => t in document.head.style), Hn = () => \"ontouchstart\" in window || \"msMaxTouchPoints\" in navigator, Vn = () => [\"webkitAnimation\", \"animation\"].some((t) => t in document.head.style), Un = () => [\"webkitTransition\", \"transition\"].some((t) => t in document.head.style), j = (t, e) => t.getAttribute(e), Wn = (t, e, n) => e.getAttributeNS(t, n), ne = (t, e) => t.hasAttribute(e), Rn = (t, e, n) => e.hasAttributeNS(t, n), Qn = (t, e, n) => t.setAttribute(e, n), jn = (t, e, n, o) => e.setAttributeNS(t, n, o), Gn = (t, e) => t.removeAttribute(e), Kn = (t, e, n) => e.removeAttributeNS(t, n), qn = (t, ...e) => {\n t.classList.add(...e);\n}, Zn = (t, ...e) => {\n t.classList.remove(...e);\n}, Yn = (t, e) => t.classList.contains(e), { body: _n } = document, { documentElement: $n } = document, { head: Jn } = document, Xn = (t) => Array.from(t), b = (t) => t != null && typeof t == \"object\" || !1, l = (t) => b(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some(\n (e) => t.nodeType === e\n) || !1, u = (t) => l(t) && t.nodeType === 1 || !1, h = /* @__PURE__ */ new Map(), O = {\n data: h,\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 h.has(e) || h.set(e, /* @__PURE__ */ new Map()), h.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) => h.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 = O.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 = O.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && h.delete(e));\n }\n}, to = (t, e) => O.get(t, e), eo = (t) => t?.charAt(0).toUpperCase() + t?.slice(1), no = (t) => t?.trim().replace(\n /(?:^\\w|[A-Z]|\\b\\w)/g,\n (e, n) => n === 0 ? e.toLowerCase() : e.toUpperCase()\n).replace(/\\s+/g, \"\"), k = (t) => typeof t == \"string\" || !1, G = (t) => b(t) && t.constructor.name === \"Window\" || !1, K = (t) => l(t) && t.nodeType === 9 || !1, d = (t) => K(t) ? t : l(t) ? t.ownerDocument : G(t) ? t.document : globalThis.document, N = (t, ...e) => Object.assign(t, ...e), oe = (t) => {\n if (!t) return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = oe(e);\n if (!n) return;\n const o = { ...t };\n return delete o.tagName, N(n, o);\n}, se = (t, e) => {\n if (!t || !e) return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = se(t, n);\n if (!o) return;\n const s = { ...e };\n return delete s.tagName, N(o, s);\n}, q = (t, e) => t.dispatchEvent(e), oo = (t, e, n) => n.indexOf(t) === e, g = (t, e, n) => {\n const o = getComputedStyle(t, n), s = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return o.getPropertyValue(s);\n}, re = (t) => {\n const e = g(t, U), n = g(t, Yt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ce = (t) => {\n const e = g(t, U), n = g(t, Zt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, so = (t, e) => {\n let n = 0;\n const o = new Event(L), s = ce(t), r = re(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(L, a), n = 1);\n };\n t.addEventListener(L, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ae = (t) => {\n const e = g(t, W), n = g(t, $t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ie = (t) => {\n const e = g(t, W), n = g(t, _t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ro = (t, e) => {\n let n = 0;\n const o = new Event(M), s = ie(t), r = ae(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(M, a), n = 1);\n };\n t.addEventListener(M, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, co = (t) => Float32Array.from(Array.from(t)), ao = (t) => Float64Array.from(Array.from(t)), io = (t, e) => t.focus(e), uo = (t) => t?.trim().replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/\\s+/g, \"-\").toLowerCase(), P = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, T = (t) => Object.entries(t), ue = (t) => t.toLowerCase(), lo = (t, e, n, o) => {\n if (!u(t)) return e;\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, i = {}, f = \"title\";\n return T(r).forEach(([c, p]) => {\n const E = o && typeof c == \"string\" && c.includes(o) ? c.replace(o, \"\").replace(\n /[A-Z]/g,\n (C) => ue(C)\n ) : c;\n i[E] = P(p);\n }), T(s).forEach(([c, p]) => {\n s[c] = P(p);\n }), T(e).forEach(([c, p]) => {\n c in s ? a[c] = s[c] : c in i ? a[c] = i[c] : a[c] = c === f ? j(t, f) : p;\n }), a;\n}, fo = (t, e) => b(t) && (Object.hasOwn(t, e) || e in t), po = (t) => Object.keys(t), go = (t) => Object.values(t), mo = (t) => Object.fromEntries(t), vo = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return b(e) && N(n, e), n;\n}, bo = { passive: !0 }, Eo = (t) => t.offsetHeight, ho = (t, e) => {\n T(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, N(t.style, s);\n }\n });\n}, x = (t) => b(t) && t.constructor.name === \"Map\" || !1, le = (t) => typeof t == \"number\" || !1, v = /* @__PURE__ */ new Map(), yo = {\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 ? (v.has(t) || v.set(t, /* @__PURE__ */ new Map()), v.get(t).set(o, setTimeout(e, n))) : v.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 = v.get(t);\n return e && n && x(n) ? n.get(e) || null : le(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 = v.get(t);\n e && e.length && x(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && v.delete(t)) : (clearTimeout(n), v.delete(t));\n }\n}, wo = (t) => t.toUpperCase(), de = (t, e) => (l(e) ? e : d()).querySelectorAll(t), z = /* @__PURE__ */ new Map();\nfunction fe(t) {\n const { shiftKey: e, code: n } = t, o = d(this), s = [\n ...de(qt, this)\n ].filter(\n (i) => !ne(i, \"disabled\") && !j(i, $)\n );\n if (!s.length) return;\n const r = s[0], a = s[s.length - 1];\n n === \"Tab\" && (e && o.activeElement === r ? (a.focus(), t.preventDefault()) : !e && o.activeElement === a && (r.focus(), t.preventDefault()));\n}\nconst pe = (t) => z.has(t) === !0, Ao = (t) => {\n const e = pe(t);\n (e ? Q : R)(t, \"keydown\", fe), e ? z.delete(t) : z.set(t, !0);\n}, m = (t) => u(t) && \"offsetWidth\" in t || !1, w = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: i } = t.getBoundingClientRect();\n let f = 1, c = 1;\n if (e && m(t)) {\n const { offsetWidth: p, offsetHeight: E } = t;\n f = p > 0 ? Math.round(n) / p : 1, c = E > 0 ? Math.round(o) / E : 1;\n }\n return {\n width: n / f,\n height: o / c,\n top: s / c,\n right: r / f,\n bottom: a / c,\n left: i / f,\n x: i / f,\n y: s / c\n };\n}, So = (t) => d(t).body, S = (t) => d(t).documentElement, To = (t) => d(t).head, ge = (t) => l(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\", ko = (t) => {\n const e = G(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, me = (t) => l(t) && t.constructor.name === \"ShadowRoot\" || !1, A = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || l(t) && t.parentNode || me(t) && t.host || S(t), ve = (t) => t ? K(t) ? t.defaultView : l(t) ? t?.ownerDocument?.defaultView : t : window, be = (t) => l(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, Ee = (t, e) => t.matches(e), D = (t) => g(t, \"position\") === \"static\", he = (t) => g(t, \"position\") === \"fixed\", Z = (t) => [\":popover-open\", \":modal\"].some((e) => {\n try {\n return Ee(t, e);\n } catch {\n return !1;\n }\n}), Y = (t) => {\n const e = Xt(), n = u(t) ? getComputedStyle(t) : t;\n return n.transform !== \"none\" || n.perspective !== \"none\" || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || [\"transform\", \"perspective\", \"filter\"].some(\n (o) => (n.willChange || \"\").includes(o)\n ) || [\"paint\", \"layout\", \"strict\", \"content\"].some(\n (o) => (n.contain || \"\").includes(o)\n );\n}, ye = (t) => {\n let e = A(t);\n for (; u(e) && !I(e); ) {\n if (Y(e))\n return e;\n if (Z(e))\n return null;\n e = A(e);\n }\n return null;\n}, I = (t) => [\"html\", \"body\", \"#document\"].includes(ge(t)), B = (t) => {\n if (!m(t) || he(t))\n return null;\n let e = t.offsetParent;\n return S(t) === e && (e = e.ownerDocument.body), e;\n}, No = (t) => {\n const e = ve(t);\n if (!l(t) || Z(t))\n return e;\n if (!m(t)) {\n let o = A(t);\n for (; o && !I(o); ) {\n if (u(o) && !D(o))\n return o;\n o = A(o);\n }\n return e;\n }\n let n = B(t);\n for (; n && be(n) && D(n); )\n n = B(n);\n return n && I(n) && D(n) && !Y(n) ? e : n || ye(t) || e;\n}, we = (t) => {\n if (!m(t)) return !1;\n const { width: e, height: n } = w(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, Co = (t, e, n) => {\n const o = m(e), s = w(\n t,\n o && we(e)\n ), r = { x: 0, y: 0 };\n if (o) {\n const a = w(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 F = 0, H = 0;\nconst y = /* @__PURE__ */ new Map(), Ae = (t, e) => {\n let n = e ? F : H;\n if (e) {\n const o = Ae(t), s = y.get(o) || /* @__PURE__ */ new Map();\n y.has(o) || y.set(o, s), x(s) && !s.has(e) ? (s.set(e, n), F += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n y.has(o) ? n = y.get(o) : (y.set(o, n), H += 1);\n }\n return n;\n}, Lo = (t) => {\n const e = [\"HTML\", \"BODY\"];\n let { parentNode: n } = t;\n if (!m(n))\n for (; n && !e.includes(n.nodeName) && (n = A(n), !m(n)); )\n ;\n const {\n offsetLeft: o,\n offsetTop: s,\n offsetParent: r\n } = n, { top: a, left: i } = n.getBoundingClientRect(), { top: f, left: c, width: p, height: E } = t.getBoundingClientRect(), C = s + (f - a), _ = o + (c - i);\n return {\n offsetTop: C,\n offsetLeft: _,\n offsetWidth: p,\n offsetHeight: E,\n offsetParent: r\n };\n}, Se = (t) => Array.isArray(t) || !1, Mo = (t) => l(t) && t.nodeName === \"CANVAS\" || !1, Te = (t) => m(t) && !!t.shadowRoot || !1, Do = (t) => {\n if (!l(t)) return !1;\n const { top: e, bottom: n } = w(t), { clientHeight: o } = S(t);\n return e <= o && n >= 0;\n}, Oo = (t) => {\n if (!u(t)) return !1;\n const { clientWidth: e, clientHeight: n } = S(t), { top: o, left: s, bottom: r, right: a } = w(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, xo = (t) => Se(t) && t.every(u) || !1, zo = (t) => typeof t == \"function\" || !1, Io = (t) => b(t) && t.constructor.name === \"HTMLCollection\" || !1, Po = (t) => m(t) && t.tagName === \"IMG\" || !1, Bo = (t) => {\n if (!k(t)) return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Fo = (t) => b(t) && t.constructor.name === \"WeakMap\" || !1, Ho = (t) => l(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some(\n (e) => t.constructor.name.includes(e)\n) || !1, Vo = (t) => b(t) && t.constructor.name === \"NodeList\" || !1, Uo = (t) => S(t).dir === \"rtl\", Wo = (t) => l(t) && t.constructor.name.includes(\"SVG\") || !1, ke = (t, e) => !t || !e ? null : t.closest(e) || ke(t.getRootNode().host, e) || null, Ro = (t, e) => u(t) ? t : (u(e) ? e : d()).querySelector(t), Ne = (t, e) => (l(e) ? e : d()).getElementsByTagName(\n t\n), Qo = (t) => [...Ne(\"*\", t)].filter(Te), jo = (t, e) => d(e).getElementById(t), Go = (t, e) => (e && l(e) ? e : d()).getElementsByClassName(\n t\n);\nexport {\n Xn as ArrayFrom,\n V as DOMContentLoadedEvent,\n ot as DOMMouseScrollEvent,\n O as Data,\n co as Float32ArrayFrom,\n ao as Float64ArrayFrom,\n N as ObjectAssign,\n T as ObjectEntries,\n mo as ObjectFromEntries,\n fo as ObjectHasOwn,\n po as ObjectKeys,\n go as ObjectValues,\n yo as Timer,\n J as abortEvent,\n qn as addClass,\n An as addEventListener,\n Yt as animationDelay,\n Zt as animationDuration,\n L as animationEndEvent,\n U as animationName,\n Le as ariaChecked,\n De as ariaDescribedBy,\n Me as ariaDescription,\n Oe as ariaExpanded,\n xe as ariaHasPopup,\n $ as ariaHidden,\n ze as ariaLabel,\n Ie as ariaLabelledBy,\n Pe as ariaModal,\n Be as ariaPressed,\n Fe as ariaSelected,\n Ve as ariaValueMax,\n He as ariaValueMin,\n Ue as ariaValueNow,\n We as ariaValueText,\n X as beforeunloadEvent,\n Tn as bezierEasings,\n tt as blurEvent,\n no as camelCase,\n eo as capitalize,\n et as changeEvent,\n ke as closest,\n nt as contextmenuEvent,\n vo as createCustomEvent,\n oe as createElement,\n se as createElementNS,\n q as dispatchEvent,\n oo as distinct,\n _n as documentBody,\n $n as documentElement,\n Jn as documentHead,\n Qe as dragEvent,\n Ze as dragendEvent,\n Ge as dragenterEvent,\n Ke as dragleaveEvent,\n qe as dragoverEvent,\n je as dragstartEvent,\n so as emulateAnimationEnd,\n ro as emulateTransitionEnd,\n st as errorEvent,\n io as focus,\n rt as focusEvent,\n tn as focusEvents,\n qt as focusableSelector,\n ct as focusinEvent,\n at as focusoutEvent,\n it as gesturechangeEvent,\n ut as gestureendEvent,\n lt as gesturestartEvent,\n j as getAttribute,\n Wn as getAttributeNS,\n w as getBoundingClientRect,\n Qo as getCustomElements,\n d as getDocument,\n So as getDocumentBody,\n S as getDocumentElement,\n To as getDocumentHead,\n re as getElementAnimationDelay,\n ce as getElementAnimationDuration,\n jo as getElementById,\n g as getElementStyle,\n ae as getElementTransitionDelay,\n ie as getElementTransitionDuration,\n Go as getElementsByClassName,\n Ne as getElementsByTagName,\n to as getInstance,\n ge as getNodeName,\n ko as getNodeScroll,\n No as getOffsetParent,\n A as getParentNode,\n Co as getRectRelativeToOffsetParent,\n Lo as getSVGOffset,\n Ae as getUID,\n ve as getWindow,\n ne as hasAttribute,\n Rn as hasAttributeNS,\n Yn as hasClass,\n pe as hasFocusTrap,\n zn as isApple,\n Se as isArray,\n Mo as isCanvas,\n Te as isCustomElement,\n K as isDocument,\n u as isElement,\n Do as isElementInScrollRange,\n Oo as isElementInViewport,\n xo as isElementsArray,\n In as isFirefox,\n zo as isFunction,\n Io as isHTMLCollection,\n m as isHTMLElement,\n Po as isHTMLImageElement,\n Bo as isJSON,\n x as isMap,\n Ho as isMedia,\n xn as isMobile,\n l as isNode,\n Vo as isNodeList,\n le as isNumber,\n b as isObject,\n Uo as isRTL,\n Wo as isSVGElement,\n we as isScaledElement,\n me as isShadowRoot,\n k as isString,\n be as isTableElement,\n Fo as isWeakMap,\n Xt as isWebKit,\n G as isWindow,\n uo as kebabCase,\n nn as keyAlt,\n on as keyArrowDown,\n rn as keyArrowLeft,\n cn as keyArrowRight,\n sn as keyArrowUp,\n an as keyBackspace,\n un as keyCapsLock,\n ln as keyControl,\n dn as keyDelete,\n fn as keyEnter,\n gn as keyEscape,\n mn as keyInsert,\n vn as keyMeta,\n pn as keyNumpadEnter,\n bn as keyPause,\n En as keyScrollLock,\n hn as keyShift,\n yn as keySpace,\n wn as keyTab,\n en as keyboardEventKeys,\n dt as keydownEvent,\n ft as keypressEvent,\n pt as keyupEvent,\n gt as loadEvent,\n Ye as loadstartEvent,\n Ee as matches,\n $e as mouseClickEvents,\n Je as mouseHoverEvents,\n _e as mouseSwipeEvents,\n mt as mouseclickEvent,\n vt as mousedblclickEvent,\n bt as mousedownEvent,\n yt as mouseenterEvent,\n ht as mousehoverEvent,\n At as mouseinEvent,\n wt as mouseleaveEvent,\n kt as mousemoveEvent,\n St as mouseoutEvent,\n Tt as mouseoverEvent,\n Et as mouseupEvent,\n Nt as mousewheelEvent,\n Ct as moveEvent,\n Re as nativeEvents,\n te as noop,\n lo as normalizeOptions,\n P as normalizeValue,\n Q as off,\n kn as offsetHeight,\n Nn as offsetWidth,\n R as on,\n ee as one,\n Lt as orientationchangeEvent,\n bo as passiveHandler,\n Mt as pointercancelEvent,\n Dt as pointerdownEvent,\n Ot as pointerleaveEvent,\n xt as pointermoveEvent,\n zt as pointerupEvent,\n Ro as querySelector,\n de as querySelectorAll,\n It as readystatechangeEvent,\n Eo as reflow,\n Gn as removeAttribute,\n Kn as removeAttributeNS,\n Zn as removeClass,\n Sn as removeEventListener,\n Pt as resetEvent,\n Bt as resizeEvent,\n Ut as scrollEvent,\n Cn as scrollHeight,\n Ln as scrollWidth,\n Ft as selectEvent,\n Ht as selectendEvent,\n Vt as selectstartEvent,\n Qn as setAttribute,\n jn as setAttributeNS,\n ho as setElementStyle,\n Wt as submitEvent,\n Pn as support3DTransform,\n Vn as supportAnimation,\n Bn as supportPassive,\n Hn as supportTouch,\n Fn as supportTransform,\n Un as supportTransition,\n Mn as tabindex,\n ue as toLowerCase,\n wo as toUpperCase,\n Ao as toggleFocusTrap,\n Xe as touchEvents,\n jt as touchcancelEvent,\n Gt as touchendEvent,\n Qt as touchmoveEvent,\n Rt as touchstartEvent,\n $t as transitionDelay,\n _t as transitionDuration,\n M as transitionEndEvent,\n W as transitionProperty,\n Kt as unloadEvent,\n On as userAgent,\n Dn as userAgentData,\n Ce as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const g = \"2.0.8\", e = {}, f = (t) => {\n const { type: n, currentTarget: c } = t;\n e[n].forEach((a, s) => {\n c === s && a.forEach((o, i) => {\n i.apply(s, [t]), typeof o == \"object\" && o.once && r(s, n, i, o);\n });\n });\n}, E = (t, n, c, a) => {\n e[n] || (e[n] = /* @__PURE__ */ new Map());\n const s = e[n];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(\n t\n ), { size: i } = o;\n o.set(c, a), i || t.addEventListener(\n n,\n f,\n a\n );\n}, r = (t, n, c, a) => {\n const s = e[n], o = s && s.get(t), i = o && o.get(c), d = i !== void 0 ? i : a;\n o && o.has(c) && o.delete(c), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[n], (!o || !o.size) && t.removeEventListener(\n n,\n f,\n d\n );\n}, M = E, p = r;\nexport {\n E as addListener,\n f as globalListener,\n p as off,\n M as on,\n e as registry,\n r as removeListener,\n g as version\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 {\n Data,\n isElement,\n isString,\n normalizeOptions,\n ObjectKeys,\n querySelector,\n} 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: Element;\n declare options?: BaseOptions;\n\n /**\n * @param target `Element` or selector string\n * @param config component instance options\n */\n constructor(target: Element | string, config?: BaseOptions) {\n let element: Element | null;\n\n try {\n if (isElement(target)) {\n element = target as Element;\n } else if (isString(target)) {\n element = querySelector(target);\n // istanbul ignore else @preserve\n if (!element) throw Error(`\"${target}\" is not a valid selector.`);\n } else {\n throw Error(`your target is not an instance of HTMLElement.`);\n }\n } catch (e) {\n throw Error(`${this.name} Error: ${(e as Error).message}`);\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else @preserve */\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 = this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, \"bs\")\n // istanbul ignore next @preserve\n : {};\n\n Data.set(element, this.name, this);\n }\n\n // istanbul ignore next @preserve\n get version() {\n return Version;\n }\n\n // istanbul ignore next @preserve\n get name() {\n return \"BaseComponent\";\n }\n\n // istanbul ignore next @preserve\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n // istanbul ignore next @preserve coverage wise this isn't important\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 createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getInstance,\n hasClass,\n mouseclickEvent,\n querySelector,\n removeClass,\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 */\nconst getAlertInstance = (element: Element) =>\n getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: Element) => new Alert(element);\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent, AlertEvent>(\n `close.bs.${alertString}`,\n);\nconst closedAlertEvent = createCustomEvent, AlertEvent>(\n `closed.bs.${alertString}`,\n);\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: Element | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(\n alertDismissSelector,\n this.element,\n );\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 @preserve\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 @preserve\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 addClass,\n ariaPressed,\n getAttribute,\n getInstance,\n hasClass,\n mouseclickEvent,\n removeClass,\n setAttribute,\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: Element) =>\n getInstance',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n */\nconst getPopoverInstance = (element: Element) =>\n getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: Element) => 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: Element | 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 @preserve\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 addClass,\n createCustomEvent,\n dispatchEvent,\n getAttribute,\n getBoundingClientRect,\n getDocument,\n getDocumentBody,\n getDocumentElement,\n getElementsByTagName,\n getInstance,\n hasClass,\n isHTMLElement,\n querySelector,\n removeClass,\n} from \"@thednp/shorty\";\n\nimport PositionObserver from \"@thednp/position-observer\";\n\nimport activeClass from \"../strings/activeClass\";\nimport scrollspyString from \"../strings/scrollspyString\";\nimport scrollspyComponent from \"../strings/scrollspyComponent\";\n\nimport BaseComponent from \"./base-component\";\nimport { ScrollSpyEvent, ScrollSpyOptions } from \"../interface/scrollspy\";\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: Partial = {\n offset: 10,\n target: undefined,\n};\n\ntype ScrollSpyEventProps = {\n relatedTarget: HTMLElement;\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: Element) =>\n getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: Element) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent<\n ScrollSpyEventProps,\n ScrollSpyEvent\n>(`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 {\n target,\n scrollTarget,\n options,\n itemsLength,\n scrollHeight,\n element,\n _observer,\n } = self;\n const { offset } = options;\n const isRoot = scrollTarget !== element;\n\n const links = target && getElementsByTagName(\"A\", target);\n const doc = getDocument(element);\n const scrollHEIGHT = scrollTarget.scrollHeight;\n\n self.scrollTop = scrollTarget.scrollTop;\n\n // only update items/offsets once or with each mutation\n // istanbul ignore else @preserve\n if (\n links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)\n ) {\n let href: string | null;\n let ref: string | undefined;\n let targetItem: HTMLElement | null;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.targets = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n Array.from(links).forEach((link) => {\n href = getAttribute(link, \"href\");\n ref = href?.slice(1);\n targetItem = ref?.length ? doc.getElementById(ref) : null;\n\n if (targetItem) {\n self.items.push(link);\n self.targets.push(targetItem);\n rect = _observer?.getEntry(targetItem)?.boundingClientRect ||\n getBoundingClientRect(targetItem);\n self.offsets.push(\n (isRoot ? rect.top + self.scrollTop : targetItem.offsetTop) - offset,\n );\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Toggles on/off the component observer.\n *\n * @param self the ScrollSpy instance\n * @param add when `true`, listener is added\n */\nconst toggleObservers = (\n { targets, scrollTarget, element, _observer }: ScrollSpy,\n add?: boolean,\n) => {\n if (add) {\n if (scrollTarget === element) {\n targets?.forEach((targetItem) => _observer.observe(targetItem));\n } else {\n _observer.observe(element);\n }\n } else _observer.disconnect();\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: Element) => {\n return scrollTarget.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 scrollTarget !== element\n ? scrollTarget.clientHeight\n : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: Element) => {\n Array.from(getElementsByTagName(\"A\", target)).forEach(\n (item) => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n },\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\n // istanbul ignore else @preserve\n if (isHTMLElement(target)) clear(target);\n\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\")) {\n parents.push(parentItem);\n }\n }\n\n parents.forEach((menuItem) => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n // istanbul ignore else @preserve\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 element: HTMLElement;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare targets: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n declare _observer: PositionObserver;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(\n target: Element | string,\n config?: Partial,\n ) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // get target\n const spyTarget = querySelector(\n options.target,\n getDocument(element),\n );\n\n // invalidate\n if (!spyTarget) return;\n this.target = spyTarget;\n\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight\n ? element\n : getDocumentElement(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // run an initial burst, we need to know the targets\n this.refresh();\n\n // create observer\n this._observer = new PositionObserver((entries) => {\n requestAnimationFrame(() => {\n // istanbul ignore else @preserve\n if (entries.some((entry) => entry.isVisible)) {\n this.refresh();\n }\n });\n }, {\n root: this.scrollTarget,\n });\n\n // add event handlers\n toggleObservers(this, true);\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 // check if target is visible and invalidate\n // istanbul ignore if @preserve\n if (!isHTMLElement(target) || target.offsetHeight === 0) return;\n\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 @preserve\n if (activeItem !== newActiveItem) activate(this, newActiveItem);\n return;\n }\n\n const { offsets } = this;\n\n // istanbul ignore else @preserve\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n // istanbul ignore else @preserve\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 /** Removes `ScrollSpy` from the target element. */\n dispose() {\n const clone = { ...this };\n toggleObservers(clone);\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 addClass,\n ariaSelected,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getElementsByClassName,\n getInstance,\n hasClass,\n isHTMLElement,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n reflow,\n removeClass,\n setAttribute,\n Timer,\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: Element) =>\n getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: Element) => new Tab(element);\n\ntype TabEventProps = {\n relatedTarget: Element & EventTarget | undefined;\n};\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(\n `show.bs.${tabString}`,\n);\nconst shownTabEvent = createCustomEvent(\n `shown.bs.${tabString}`,\n);\nconst hideTabEvent = createCustomEvent(\n `hide.bs.${tabString}`,\n);\nconst hiddenTabEvent = createCustomEvent(\n `hidden.bs.${tabString}`,\n);\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 @preserve\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = \"\";\n removeClass(tabContent, collapsingClass);\n }\n\n // istanbul ignore else @preserve\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)) ||\n // istanbul ignore next @preserve\n { tab: null };\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) ||\n // istanbul ignore next @preserve\n { currentHeight: 0, nextHeight: 0 };\n // istanbul ignore else @preserve: vitest won't validate this branch\n if (currentHeight !== nextHeight) {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n } else {\n triggerTabEnd(self);\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)) ||\n // istanbul ignore next @preserve\n { tab: null, content: null };\n let currentHeight = 0;\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\n if (c) addClass(c, \"overflow-hidden\");\n });\n currentHeight = content\n ? content.scrollHeight\n : /* istanbul ignore next @preserve */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element as HTMLElement;\n dispatchEvent(element, showTabEvent);\n\n // istanbul ignore if @preserve\n if (showTabEvent.defaultPrevented) return;\n // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, activeClass);\n // istanbul ignore else @preserve\n if (content) removeClass(content, activeClass);\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, {\n currentHeight,\n nextHeight,\n tab: null,\n content: null,\n });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\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 // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n // istanbul ignore else @preserve\n if (tab) dispatchEvent(tab, hiddenTabEvent);\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 = (\n self: Tab,\n): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n // istanbul ignore next @preserve\n if (!isHTMLElement(nav)) {\n return { tab: null, content: null };\n }\n\n const activeTabs = getElementsByClassName(\n activeClass,\n nav,\n );\n let tab: HTMLElement | null = null;\n // istanbul ignore else @preserve\n if (\n activeTabs.length === 1 &&\n !dropdownClasses.some((c) =>\n hasClass(activeTabs[0].parentElement as HTMLElement, c)\n )\n ) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab) ? getTargetElement(tab) : 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) => {\n // istanbul ignore next @preserve\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(\",.\")}`);\n return dropdown\n ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown)\n : 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: MouseEvent) => {\n const self = getTabInstance(e.target);\n e.preventDefault();\n\n // istanbul ignore else @preserve\n if (self) self.show();\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 element: HTMLElement;\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: Element | 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 @preserve\n if (!content) return;\n\n const nav = closest(element, \".nav\");\n const container = closest(\n content as HTMLElement,\n \".tab-content\",\n );\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element as HTMLElement);\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 @preserve\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 * 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 @preserve\n if ((nav && Timer.get(nav)) || hasClass(element, activeClass)) return;\n const { tab, content } = getActiveTab(this);\n\n // istanbul ignore else @preserve\n if (nav && tab) {\n tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n }\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element as HTMLElement;\n\n // istanbul ignore if @preserve\n if (!isHTMLElement(tab)) return;\n\n dispatchEvent(tab, hideTabEvent);\n\n // istanbul ignore else @preserve\n if (hideTabEvent.defaultPrevented) return;\n\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 @preserve\n if (nav) {\n const toggleTab = () => {\n // istanbul ignore else @preserve\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, \"false\");\n }\n if (dropdown && !hasClass(dropdown, activeClass)) {\n addClass(dropdown, activeClass);\n }\n };\n\n if (\n content &&\n (hasClass(content, fadeClass) ||\n (nextContent && hasClass(nextContent, fadeClass)))\n ) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n // istanbul ignore else @preserve\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 * 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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n focusinEvent,\n focusoutEvent,\n getDocument,\n getInstance,\n hasClass,\n mouseclickEvent,\n mouseenterEvent,\n MouseEvent,\n mouseleaveEvent,\n querySelector,\n querySelectorAll,\n reflow,\n removeClass,\n Timer,\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 { ToastEvent, ToastOptions } 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: Element) =>\n getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: Element) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent, ToastEvent>(\n `show.bs.${toastString}`,\n);\nconst shownToastEvent = createCustomEvent, ToastEvent>(\n `shown.bs.${toastString}`,\n);\nconst hideToastEvent = createCustomEvent, ToastEvent>(\n `hide.bs.${toastString}`,\n);\nconst hiddenToastEvent = createCustomEvent, ToastEvent>(\n `hidden.bs.${toastString}`,\n);\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 @preserve\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 as HTMLElement);\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 as HTMLElement);\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 * 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 if @preserve\n if (!self) return;\n // istanbul ignore else @preserve\n if (trigger && trigger.tagName === \"A\") e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\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;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n // istanbul ignore if @preserve: a solid filter is required\n if (\n !self || element === relatedTarget ||\n element.contains(relatedTarget as Node)\n ) return;\n\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// 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 element: HTMLElement;\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: Element | 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)) {\n addClass(element, fadeClass);\n } else if (!options.animation && hasClass(element, fadeClass)) {\n removeClass(element, fadeClass);\n }\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [\n ...querySelectorAll(\n toastToggleSelector,\n getDocument(element),\n ),\n ].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 if @preserve\n if (!element || isShown) return;\n\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) showToast(this);\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n // istanbul ignore if @preserve\n if (!element || !isShown) return;\n\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) hideToast(this);\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 @preserve\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n // istanbul ignore else @preserve\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(\n (e) => action(element, e, interactiveToastHandler),\n );\n }\n // istanbul ignore else @preserve\n if (triggers.length) {\n triggers.forEach((btn) =>\n action(btn, mouseclickEvent, toastClickHandler)\n );\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n this._toggleEventListeners();\n Timer.clear(element, toastString);\n\n if (isShown) removeClass(element, showClass);\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\ntype Component =\n | Alert\n | Button\n | Carousel\n | Collapse\n | Dropdown\n | Modal\n | Offcanvas\n | Popover\n | ScrollSpy\n | Tab\n | Toast\n | Tooltip;\n\n[\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Offcanvas,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip,\n].forEach((c) => componentsList.set(c.prototype.name, c));\n\n/**\n * Initialize all matched `Element`s for one component.\n *\n * @param callback\n * @param collection\n */\nconst initComponentDataAPI = (\n callback: (el: Element) => Component,\n collection: HTMLCollectionOf | Element[],\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)) {\n (instance as T & { dispose: () => void }).dispose();\n }\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(), {\n once: true,\n });\n}\n"],"names":["De","Oe","$","Pe","Be","Fe","rt","ct","at","dt","pt","mt","bt","ht","yt","wt","Dt","xt","zt","Rt","je","qt","on","sn","rn","cn","gn","_t","$t","M","W","zn","t","e","te","R","n","o","s","Q","j","ne","Qn","Gn","qn","Zn","Yn","b","l","u","h","O","to","k","G","K","d","N","oe","q","g","ae","ie","ro","r","a","i","io","P","T","ue","lo","f","c","p","E","C","po","vo","bo","Eo","ho","x","le","v","yo","de","z","fe","pe","Ao","m","w","So","S","ko","me","A","ve","be","Ee","we","Co","F","H","y","Ae","Se","Do","zo","Vo","Uo","ke","Ro","Ne","Go","fadeClass","showClass","dataBsDismiss","alertString","alertComponent","Version","BaseComponent","target","config","element","isElement","isString","querySelector","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","setAttribute","ariaPressed","isActive","getAttribute","addClass","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","activateCarouselIndicator","pointermoveEvent","passiveHandler","pointerupEvent","isHTMLElement","getElementsByClassName","activeIndex","transitionItem","matches","ar","isPaused","idx","next","eventProperties","ObjectAssign","getElementTransitionDuration","reflow","touch","pause","interval","keyboard","mouseenterEvent","mouseleaveEvent","pointerdownEvent","touchstartEvent","dragstartEvent","arrow","indicator","keydownEvent","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","getCurrentOpenDropdown","currentParent","type","isForm","mousedownEvent","dropdownClickHandler","keyArrowDown","keyArrowUp","activeElement","open","menuItems","focus","keyEscape","dropdownIntersectionHandler","entry","currentElement","currentInstance","modalString","modalComponent","offcanvasComponent","fixedTopClass","fixedBottomClass","stickyTopClass","positionStickyClass","getFixedItems","resetScrollbar","bd","getDocumentBody","fixedItems","fixed","measureScrollbar","innerWidth","getWindow","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","padStyle","toggleModalDismiss","modalDismissHandler","modalKeyHandler","afterModalHide","relatedTarget","focusElement","toggleFocusTrap","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","isOpen","popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","body","tipClassPositions","styleTip","tipClasses","tooltip","container","offsetParent","scrollLeft","scrollTop","getNodeScroll","tipWidth","tipHeight","htmlcw","htmlch","htmlow","placement","parentCWidth","parentOWidth","fixedParent","leftBoundry","rightBoundry","observerEntry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","elemOffsetLeft","elemOffsetTop","getRectRelativeToOffsetParent","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","tipPositions","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","tooltipHeader","tooltipBody","tempTitle","tempContent","tempBtn","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","tooltipSelector","titleAttr","getTooltipInstance","tooltipInitCallback","Tooltip","removeTooltip","ariaDescribedBy","hasTip","disposeTooltipComplete","toggleTooltipTitle","toggleTooltipAction","tooltipShownAction","shownTooltipEvent","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","parentModal","parentOffcanvas","titleAtt","tipComponent","elem","getUID","position","PositionObserver","entries","outTimer","showTooltipEvent","delay","hideTooltipEvent","enabled","tr","mousehoverEvent","focusinEvent","focusoutEvent","isApple","popoverSelector","popoverDefaults","getPopoverInstance","popoverInitCallback","Popover","scrollspyString","scrollspyComponent","scrollspySelector","scrollspyDefaults","getScrollSpyInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","updateSpyTargets","scrollTarget","itemsLength","_observer","isRoot","links","getElementsByTagName","scrollHEIGHT","href","ref","targetItem","rect","getOffsetHeight","link","toggleObservers","targets","getScrollHeight","clear","item","activate","parents","parentItem","menuItem","parentLink","spyTarget","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","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,52]} \ No newline at end of file +{"version":3,"file":"bootstrap-native.js","sources":["../node_modules/.pnpm/@thednp+shorty@https+++codeload.github.com+thednp+shorty+tar.gz+6d62cceb75a6b1cd3a73cced7a052ef03ae826b2/node_modules/@thednp/shorty/dist/shorty.mjs","../node_modules/.pnpm/@thednp+event-listener@2.0.8/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/util/isDisabled.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","../node_modules/.pnpm/@thednp+position-observer@https+++codeload.github.com+thednp+position-observer+tar.gz+ebeff80_vgonz6o4lt2qwgfhpqexzhhtle/node_modules/@thednp/position-observer/dist/index.mjs","../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 Ce = \"2.0.8\", Le = \"aria-checked\", Me = \"aria-description\", De = \"aria-describedby\", Oe = \"aria-expanded\", xe = \"aria-haspopup\", J = \"aria-hidden\", ze = \"aria-label\", Ie = \"aria-labelledby\", Pe = \"aria-modal\", Be = \"aria-pressed\", Fe = \"aria-selected\", He = \"aria-valuemin\", Ve = \"aria-valuemax\", Ue = \"aria-valuenow\", We = \"aria-valuetext\", X = \"abort\", tt = \"beforeunload\", et = \"blur\", nt = \"change\", ot = \"contextmenu\", V = \"DOMContentLoaded\", st = \"DOMMouseScroll\", rt = \"error\", ct = \"focus\", at = \"focusin\", it = \"focusout\", ut = \"gesturechange\", lt = \"gestureend\", dt = \"gesturestart\", ft = \"keydown\", pt = \"keypress\", gt = \"keyup\", mt = \"load\", vt = \"click\", bt = \"dblclick\", Et = \"mousedown\", ht = \"mouseup\", yt = \"hover\", wt = \"mouseenter\", At = \"mouseleave\", St = \"mousein\", Tt = \"mouseout\", kt = \"mouseover\", Nt = \"mousemove\", Ct = \"mousewheel\", Lt = \"move\", Mt = \"orientationchange\", Dt = \"pointercancel\", Ot = \"pointerdown\", xt = \"pointerleave\", zt = \"pointermove\", It = \"pointerup\", Pt = \"readystatechange\", Bt = \"reset\", Ft = \"resize\", Ht = \"select\", Vt = \"selectend\", Ut = \"selectstart\", Wt = \"scroll\", Rt = \"submit\", Qt = \"touchstart\", jt = \"touchmove\", Gt = \"touchcancel\", Kt = \"touchend\", qt = \"unload\", Re = {\n DOMContentLoaded: V,\n DOMMouseScroll: st,\n abort: X,\n beforeunload: tt,\n blur: et,\n change: nt,\n click: vt,\n contextmenu: ot,\n dblclick: bt,\n error: rt,\n focus: ct,\n focusin: at,\n focusout: it,\n gesturechange: ut,\n gestureend: lt,\n gesturestart: dt,\n hover: yt,\n keydown: ft,\n keypress: pt,\n keyup: gt,\n load: mt,\n mousedown: Et,\n mousemove: Nt,\n mousein: St,\n mouseout: Tt,\n mouseenter: wt,\n mouseleave: At,\n mouseover: kt,\n mouseup: ht,\n mousewheel: Ct,\n move: Lt,\n orientationchange: Mt,\n pointercancel: Dt,\n pointerdown: Ot,\n pointerleave: xt,\n pointermove: zt,\n pointerup: It,\n readystatechange: Pt,\n reset: Bt,\n resize: Ft,\n scroll: Wt,\n select: Ht,\n selectend: Vt,\n selectstart: Ut,\n submit: Rt,\n touchcancel: Gt,\n touchend: Kt,\n touchmove: jt,\n touchstart: Qt,\n unload: qt\n}, Qe = \"drag\", je = \"dragstart\", Ge = \"dragenter\", Ke = \"dragleave\", qe = \"dragover\", Ye = \"dragend\", Ze = \"loadstart\", _e = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, $e = { down: \"mousedown\", up: \"mouseup\" }, Je = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"], Xe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, tn = { in: \"focusin\", out: \"focusout\" }, Yt = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]', en = {\n Backspace: \"Backspace\",\n Tab: \"Tab\",\n Enter: \"Enter\",\n Shift: \"Shift\",\n Control: \"Control\",\n Alt: \"Alt\",\n Pause: \"Pause\",\n CapsLock: \"CapsLock\",\n Escape: \"Escape\",\n Scape: \"Space\",\n ArrowLeft: \"ArrowLeft\",\n ArrowUp: \"ArrowUp\",\n ArrowRight: \"ArrowRight\",\n ArrowDown: \"ArrowDown\",\n Insert: \"Insert\",\n Delete: \"Delete\",\n Meta: \"Meta\",\n ContextMenu: \"ContextMenu\",\n ScrollLock: \"ScrollLock\"\n}, nn = \"Alt\", on = \"ArrowDown\", sn = \"ArrowUp\", rn = \"ArrowLeft\", cn = \"ArrowRight\", an = \"Backspace\", un = \"CapsLock\", ln = \"Control\", dn = \"Delete\", fn = \"Enter\", pn = \"NumpadEnter\", gn = \"Escape\", mn = \"Insert\", vn = \"Meta\", bn = \"Pause\", En = \"ScrollLock\", hn = \"Shift\", yn = \"Space\", wn = \"Tab\", Zt = \"animationDuration\", _t = \"animationDelay\", U = \"animationName\", C = \"animationend\", $t = \"transitionDuration\", Jt = \"transitionDelay\", L = \"transitionend\", W = \"transitionProperty\", An = \"addEventListener\", Sn = \"removeEventListener\", Tn = {\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}, kn = \"offsetHeight\", Nn = \"offsetWidth\", Cn = \"scrollHeight\", Ln = \"scrollWidth\", Mn = \"tabindex\", Dn = navigator.userAgentData, { userAgent: Xt } = navigator, On = Xt, xn = () => {\n const t = /iPhone|iPad|iPod|Android/i;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(navigator?.userAgent) || !1;\n}, zn = () => {\n const t = /(iPhone|iPod|iPad)/;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(\n navigator?.userAgent\n ) || !1;\n}, In = () => navigator?.userAgent?.includes(\"Firefox\") || !1, te = () => typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\"), Pn = () => [\"webkitPerspective\", \"perspective\"].some((t) => t in document.head.style), ee = () => {\n}, R = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(\n e,\n n,\n s\n );\n}, Q = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(\n e,\n n,\n s\n );\n}, ne = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Q(t, e, s, o));\n };\n R(t, e, s, o);\n}, Bn = () => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n ne(document, V, ee, e);\n } catch {\n }\n return t;\n}, Fn = () => [\"webkitTransform\", \"transform\"].some((t) => t in document.head.style), Hn = () => \"ontouchstart\" in window || \"msMaxTouchPoints\" in navigator, Vn = () => [\"webkitAnimation\", \"animation\"].some((t) => t in document.head.style), Un = () => [\"webkitTransition\", \"transition\"].some((t) => t in document.head.style), j = (t, e) => t.getAttribute(e), Wn = (t, e, n) => e.getAttributeNS(t, n), oe = (t, e) => t.hasAttribute(e), Rn = (t, e, n) => e.hasAttributeNS(t, n), Qn = (t, e, n) => t.setAttribute(e, n), jn = (t, e, n, o) => e.setAttributeNS(t, n, o), Gn = (t, e) => t.removeAttribute(e), Kn = (t, e, n) => e.removeAttributeNS(t, n), qn = (t, ...e) => {\n t.classList.add(...e);\n}, Yn = (t, ...e) => {\n t.classList.remove(...e);\n}, Zn = (t, e) => t.classList.contains(e), { body: _n } = document, { documentElement: $n } = document, { head: Jn } = document, Xn = (t) => Array.from(t), b = (t) => t != null && typeof t == \"object\" || !1, l = (t) => b(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some(\n (e) => t.nodeType === e\n) || !1, u = (t) => l(t) && t.nodeType === 1 || !1, h = /* @__PURE__ */ new Map(), D = {\n data: h,\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 h.has(e) || h.set(e, /* @__PURE__ */ new Map()), h.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) => h.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 = D.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 = D.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && h.delete(e));\n }\n}, to = (t, e) => D.get(t, e), eo = (t) => t?.charAt(0).toUpperCase() + t?.slice(1), I = (t) => t?.trim().replace(\n /(?:^\\w|[A-Z]|\\b\\w)/g,\n (e, n) => n === 0 ? e.toLowerCase() : e.toUpperCase()\n).replace(/\\s+/g, \"\"), k = (t) => typeof t == \"string\" || !1, G = (t) => b(t) && t.constructor.name === \"Window\" || !1, K = (t) => l(t) && t.nodeType === 9 || !1, d = (t) => K(t) ? t : l(t) ? t.ownerDocument : G(t) ? t.document : globalThis.document, N = (t, ...e) => Object.assign(t, ...e), se = (t) => {\n if (!t) return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = se(e);\n if (!n) return;\n const o = { ...t };\n return delete o.tagName, N(n, o);\n}, re = (t, e) => {\n if (!t || !e) return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = re(t, n);\n if (!o) return;\n const s = { ...e };\n return delete s.tagName, N(o, s);\n}, q = (t, e) => t.dispatchEvent(e), no = (t, e, n) => n.indexOf(t) === e, g = (t, e, n) => {\n const o = getComputedStyle(t, n), s = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return o.getPropertyValue(s);\n}, ce = (t) => {\n const e = g(t, U), n = g(t, _t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ae = (t) => {\n const e = g(t, U), n = g(t, Zt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, oo = (t, e) => {\n let n = 0;\n const o = new Event(C), s = ae(t), r = ce(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), 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}, ie = (t) => {\n const e = g(t, W), n = g(t, Jt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ue = (t) => {\n const e = g(t, W), n = g(t, $t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, so = (t, e) => {\n let n = 0;\n const o = new Event(L), s = ue(t), r = ie(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(L, a), n = 1);\n };\n t.addEventListener(L, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ro = (t) => Float32Array.from(Array.from(t)), co = (t) => Float64Array.from(Array.from(t)), ao = (t, e) => t.focus(e), io = (t) => t?.trim().replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/\\s+/g, \"-\").toLowerCase(), P = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, T = (t) => Object.entries(t), uo = (t, e, n, o) => {\n if (!u(t)) return e;\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, i = {}, f = \"title\";\n return T(r).forEach(([c, p]) => {\n const E = o && typeof c == \"string\" && c.includes(o) ? I(c.replace(o, \"\")) : I(c);\n i[E] = P(p);\n }), T(s).forEach(([c, p]) => {\n s[c] = P(p);\n }), T(e).forEach(([c, p]) => {\n c in s ? a[c] = s[c] : c in i ? a[c] = i[c] : a[c] = c === f ? j(t, f) : p;\n }), a;\n}, lo = (t, e) => b(t) && (Object.hasOwn(t, e) || e in t), fo = (t) => Object.keys(t), po = (t) => Object.values(t), go = (t) => Object.fromEntries(t), mo = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return b(e) && N(n, e), n;\n}, vo = { passive: !0 }, bo = (t) => t.offsetHeight, Eo = (t, e) => {\n T(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, N(t.style, s);\n }\n });\n}, O = (t) => b(t) && t.constructor.name === \"Map\" || !1, le = (t) => typeof t == \"number\" || !1, v = /* @__PURE__ */ new Map(), ho = {\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 ? (v.has(t) || v.set(t, /* @__PURE__ */ new Map()), v.get(t).set(o, setTimeout(e, n))) : v.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 = v.get(t);\n return e && n && O(n) ? n.get(e) || null : le(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 = v.get(t);\n e && e.length && O(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && v.delete(t)) : (clearTimeout(n), v.delete(t));\n }\n}, yo = (t) => t.toLowerCase(), wo = (t) => t.toUpperCase(), de = (t, e) => (l(e) ? e : d()).querySelectorAll(t), x = /* @__PURE__ */ new Map();\nfunction fe(t) {\n const { shiftKey: e, code: n } = t, o = d(this), s = [\n ...de(Yt, this)\n ].filter(\n (i) => !oe(i, \"disabled\") && !j(i, J)\n );\n if (!s.length) return;\n const r = s[0], a = s[s.length - 1];\n n === \"Tab\" && (e && o.activeElement === r ? (a.focus(), t.preventDefault()) : !e && o.activeElement === a && (r.focus(), t.preventDefault()));\n}\nconst pe = (t) => x.has(t) === !0, Ao = (t) => {\n const e = pe(t);\n (e ? Q : R)(t, \"keydown\", fe), e ? x.delete(t) : x.set(t, !0);\n}, m = (t) => u(t) && \"offsetWidth\" in t || !1, w = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: i } = t.getBoundingClientRect();\n let f = 1, c = 1;\n if (e && m(t)) {\n const { offsetWidth: p, offsetHeight: E } = t;\n f = p > 0 ? Math.round(n) / p : 1, c = E > 0 ? Math.round(o) / E : 1;\n }\n return {\n width: n / f,\n height: o / c,\n top: s / c,\n right: r / f,\n bottom: a / c,\n left: i / f,\n x: i / f,\n y: s / c\n };\n}, So = (t) => d(t).body, S = (t) => d(t).documentElement, To = (t) => d(t).head, ge = (t) => l(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\", ko = (t) => {\n const e = G(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, me = (t) => l(t) && t.constructor.name === \"ShadowRoot\" || !1, A = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || l(t) && t.parentNode || me(t) && t.host || S(t), ve = (t) => t ? K(t) ? t.defaultView : l(t) ? t?.ownerDocument?.defaultView : t : window, be = (t) => l(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, Ee = (t, e) => t.matches(e), M = (t) => g(t, \"position\") === \"static\", he = (t) => g(t, \"position\") === \"fixed\", Y = (t) => [\":popover-open\", \":modal\"].some((e) => {\n try {\n return Ee(t, e);\n } catch {\n return !1;\n }\n}), Z = (t) => {\n const e = te(), n = u(t) ? getComputedStyle(t) : t;\n return n.transform !== \"none\" || n.perspective !== \"none\" || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || [\"transform\", \"perspective\", \"filter\"].some(\n (o) => (n.willChange || \"\").includes(o)\n ) || [\"paint\", \"layout\", \"strict\", \"content\"].some(\n (o) => (n.contain || \"\").includes(o)\n );\n}, ye = (t) => {\n let e = A(t);\n for (; u(e) && !z(e); ) {\n if (Z(e))\n return e;\n if (Y(e))\n return null;\n e = A(e);\n }\n return null;\n}, z = (t) => [\"html\", \"body\", \"#document\"].includes(ge(t)), B = (t) => {\n if (!m(t) || he(t))\n return null;\n let e = t.offsetParent;\n return S(t) === e && (e = e.ownerDocument.body), e;\n}, No = (t) => {\n const e = ve(t);\n if (!l(t) || Y(t))\n return e;\n if (!m(t)) {\n let o = A(t);\n for (; o && !z(o); ) {\n if (u(o) && !M(o))\n return o;\n o = A(o);\n }\n return e;\n }\n let n = B(t);\n for (; n && be(n) && M(n); )\n n = B(n);\n return n && z(n) && M(n) && !Z(n) ? e : n || ye(t) || e;\n}, we = (t) => {\n if (!m(t)) return !1;\n const { width: e, height: n } = w(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, Co = (t, e, n) => {\n const o = m(e), s = w(\n t,\n o && we(e)\n ), r = { x: 0, y: 0 };\n if (o) {\n const a = w(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 F = 0, H = 0;\nconst y = /* @__PURE__ */ new Map(), Ae = (t, e) => {\n let n = e ? F : H;\n if (e) {\n const o = Ae(t), s = y.get(o) || /* @__PURE__ */ new Map();\n y.has(o) || y.set(o, s), O(s) && !s.has(e) ? (s.set(e, n), F += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n y.has(o) ? n = y.get(o) : (y.set(o, n), H += 1);\n }\n return n;\n}, Lo = (t) => {\n const e = [\"HTML\", \"BODY\"];\n let { parentNode: n } = t;\n if (!m(n))\n for (; n && !e.includes(n.nodeName) && (n = A(n), !m(n)); )\n ;\n const {\n offsetLeft: o,\n offsetTop: s,\n offsetParent: r\n } = n, { top: a, left: i } = n.getBoundingClientRect(), { top: f, left: c, width: p, height: E } = t.getBoundingClientRect(), _ = s + (f - a), $ = o + (c - i);\n return {\n offsetTop: _,\n offsetLeft: $,\n offsetWidth: p,\n offsetHeight: E,\n offsetParent: r\n };\n}, Se = (t) => Array.isArray(t) || !1, Mo = (t) => l(t) && t.nodeName === \"CANVAS\" || !1, Te = (t) => m(t) && !!t.shadowRoot || !1, Do = (t) => {\n if (!l(t)) return !1;\n const { top: e, bottom: n } = w(t), { clientHeight: o } = S(t);\n return e <= o && n >= 0;\n}, Oo = (t) => {\n if (!u(t)) return !1;\n const { clientWidth: e, clientHeight: n } = S(t), { top: o, left: s, bottom: r, right: a } = w(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, xo = (t) => Se(t) && t.every(u) || !1, zo = (t) => typeof t == \"function\" || !1, Io = (t) => b(t) && t.constructor.name === \"HTMLCollection\" || !1, Po = (t) => m(t) && t.tagName === \"IMG\" || !1, Bo = (t) => {\n if (!k(t)) return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Fo = (t) => b(t) && t.constructor.name === \"WeakMap\" || !1, Ho = (t) => l(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some(\n (e) => t.constructor.name.includes(e)\n) || !1, Vo = (t) => b(t) && t.constructor.name === \"NodeList\" || !1, Uo = (t) => S(t).dir === \"rtl\", Wo = (t) => l(t) && t.constructor.name.includes(\"SVG\") || !1, ke = (t, e) => !t || !e ? null : t.closest(e) || ke(t.getRootNode().host, e) || null, Ro = (t, e) => u(t) ? t : (u(e) ? e : d()).querySelector(t), Ne = (t, e) => (l(e) ? e : d()).getElementsByTagName(\n t\n), Qo = (t) => [...Ne(\"*\", t)].filter(Te), jo = (t, e) => d(e).getElementById(t), Go = (t, e) => (e && l(e) ? e : d()).getElementsByClassName(\n t\n);\nexport {\n Xn as ArrayFrom,\n V as DOMContentLoadedEvent,\n st as DOMMouseScrollEvent,\n D as Data,\n ro as Float32ArrayFrom,\n co as Float64ArrayFrom,\n N as ObjectAssign,\n T as ObjectEntries,\n go as ObjectFromEntries,\n lo as ObjectHasOwn,\n fo as ObjectKeys,\n po as ObjectValues,\n ho as Timer,\n X as abortEvent,\n qn as addClass,\n An as addEventListener,\n _t as animationDelay,\n Zt as animationDuration,\n C as animationEndEvent,\n U as animationName,\n Le as ariaChecked,\n De as ariaDescribedBy,\n Me as ariaDescription,\n Oe as ariaExpanded,\n xe as ariaHasPopup,\n J as ariaHidden,\n ze as ariaLabel,\n Ie as ariaLabelledBy,\n Pe as ariaModal,\n Be as ariaPressed,\n Fe as ariaSelected,\n Ve as ariaValueMax,\n He as ariaValueMin,\n Ue as ariaValueNow,\n We as ariaValueText,\n tt as beforeunloadEvent,\n Tn as bezierEasings,\n et as blurEvent,\n I as camelCase,\n eo as capitalize,\n nt as changeEvent,\n ke as closest,\n ot as contextmenuEvent,\n mo as createCustomEvent,\n se as createElement,\n re as createElementNS,\n q as dispatchEvent,\n no as distinct,\n _n as documentBody,\n $n as documentElement,\n Jn as documentHead,\n Qe as dragEvent,\n Ye as dragendEvent,\n Ge as dragenterEvent,\n Ke as dragleaveEvent,\n qe as dragoverEvent,\n je as dragstartEvent,\n oo as emulateAnimationEnd,\n so as emulateTransitionEnd,\n rt as errorEvent,\n ao as focus,\n ct as focusEvent,\n tn as focusEvents,\n Yt as focusableSelector,\n at as focusinEvent,\n it as focusoutEvent,\n ut as gesturechangeEvent,\n lt as gestureendEvent,\n dt as gesturestartEvent,\n j as getAttribute,\n Wn as getAttributeNS,\n w as getBoundingClientRect,\n Qo as getCustomElements,\n d as getDocument,\n So as getDocumentBody,\n S as getDocumentElement,\n To as getDocumentHead,\n ce as getElementAnimationDelay,\n ae as getElementAnimationDuration,\n jo as getElementById,\n g as getElementStyle,\n ie as getElementTransitionDelay,\n ue as getElementTransitionDuration,\n Go as getElementsByClassName,\n Ne as getElementsByTagName,\n to as getInstance,\n ge as getNodeName,\n ko as getNodeScroll,\n No as getOffsetParent,\n A as getParentNode,\n Co as getRectRelativeToOffsetParent,\n Lo as getSVGOffset,\n Ae as getUID,\n ve as getWindow,\n oe as hasAttribute,\n Rn as hasAttributeNS,\n Zn as hasClass,\n pe as hasFocusTrap,\n zn as isApple,\n Se as isArray,\n Mo as isCanvas,\n Te as isCustomElement,\n K as isDocument,\n u as isElement,\n Do as isElementInScrollRange,\n Oo as isElementInViewport,\n xo as isElementsArray,\n In as isFirefox,\n zo as isFunction,\n Io as isHTMLCollection,\n m as isHTMLElement,\n Po as isHTMLImageElement,\n Bo as isJSON,\n O as isMap,\n Ho as isMedia,\n xn as isMobile,\n l as isNode,\n Vo as isNodeList,\n le as isNumber,\n b as isObject,\n Uo as isRTL,\n Wo as isSVGElement,\n we as isScaledElement,\n me as isShadowRoot,\n k as isString,\n be as isTableElement,\n Fo as isWeakMap,\n te as isWebKit,\n G as isWindow,\n io as kebabCase,\n nn as keyAlt,\n on as keyArrowDown,\n rn as keyArrowLeft,\n cn as keyArrowRight,\n sn as keyArrowUp,\n an as keyBackspace,\n un as keyCapsLock,\n ln as keyControl,\n dn as keyDelete,\n fn as keyEnter,\n gn as keyEscape,\n mn as keyInsert,\n vn as keyMeta,\n pn as keyNumpadEnter,\n bn as keyPause,\n En as keyScrollLock,\n hn as keyShift,\n yn as keySpace,\n wn as keyTab,\n en as keyboardEventKeys,\n ft as keydownEvent,\n pt as keypressEvent,\n gt as keyupEvent,\n mt as loadEvent,\n Ze as loadstartEvent,\n Ee as matches,\n $e as mouseClickEvents,\n Je as mouseHoverEvents,\n _e as mouseSwipeEvents,\n vt as mouseclickEvent,\n bt as mousedblclickEvent,\n Et as mousedownEvent,\n wt as mouseenterEvent,\n yt as mousehoverEvent,\n St as mouseinEvent,\n At as mouseleaveEvent,\n Nt as mousemoveEvent,\n Tt as mouseoutEvent,\n kt as mouseoverEvent,\n ht as mouseupEvent,\n Ct as mousewheelEvent,\n Lt as moveEvent,\n Re as nativeEvents,\n ee as noop,\n uo as normalizeOptions,\n P as normalizeValue,\n Q as off,\n kn as offsetHeight,\n Nn as offsetWidth,\n R as on,\n ne as one,\n Mt as orientationchangeEvent,\n vo as passiveHandler,\n Dt as pointercancelEvent,\n Ot as pointerdownEvent,\n xt as pointerleaveEvent,\n zt as pointermoveEvent,\n It as pointerupEvent,\n Ro as querySelector,\n de as querySelectorAll,\n Pt as readystatechangeEvent,\n bo as reflow,\n Gn as removeAttribute,\n Kn as removeAttributeNS,\n Yn as removeClass,\n Sn as removeEventListener,\n Bt as resetEvent,\n Ft as resizeEvent,\n Wt as scrollEvent,\n Cn as scrollHeight,\n Ln as scrollWidth,\n Ht as selectEvent,\n Vt as selectendEvent,\n Ut as selectstartEvent,\n Qn as setAttribute,\n jn as setAttributeNS,\n Eo as setElementStyle,\n Rt as submitEvent,\n Pn as support3DTransform,\n Vn as supportAnimation,\n Bn as supportPassive,\n Hn as supportTouch,\n Fn as supportTransform,\n Un as supportTransition,\n Mn as tabindex,\n yo as toLowerCase,\n wo as toUpperCase,\n Ao as toggleFocusTrap,\n Xe as touchEvents,\n Gt as touchcancelEvent,\n Kt as touchendEvent,\n jt as touchmoveEvent,\n Qt as touchstartEvent,\n Jt as transitionDelay,\n $t as transitionDuration,\n L as transitionEndEvent,\n W as transitionProperty,\n qt as unloadEvent,\n On as userAgent,\n Dn as userAgentData,\n Ce as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const g = \"2.0.8\", e = {}, f = (t) => {\n const { type: n, currentTarget: c } = t;\n e[n].forEach((a, s) => {\n c === s && a.forEach((o, i) => {\n i.apply(s, [t]), typeof o == \"object\" && o.once && r(s, n, i, o);\n });\n });\n}, E = (t, n, c, a) => {\n e[n] || (e[n] = /* @__PURE__ */ new Map());\n const s = e[n];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(\n t\n ), { size: i } = o;\n o.set(c, a), i || t.addEventListener(\n n,\n f,\n a\n );\n}, r = (t, n, c, a) => {\n const s = e[n], o = s && s.get(t), i = o && o.get(c), d = i !== void 0 ? i : a;\n o && o.has(c) && o.delete(c), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[n], (!o || !o.size) && t.removeEventListener(\n n,\n f,\n d\n );\n}, M = E, p = r;\nexport {\n E as addListener,\n f as globalListener,\n p as off,\n M as on,\n e as registry,\n r as removeListener,\n g as version\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 {\n Data,\n isElement,\n isString,\n normalizeOptions,\n ObjectKeys,\n querySelector,\n} 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: Element;\n declare options?: BaseOptions;\n\n /**\n * @param target `Element` or selector string\n * @param config component instance options\n */\n constructor(target: Element | string, config?: BaseOptions) {\n let element: Element | null;\n\n try {\n if (isElement(target)) {\n element = target as Element;\n } else if (isString(target)) {\n element = querySelector(target);\n // istanbul ignore else @preserve\n if (!element) throw Error(`\"${target}\" is not a valid selector.`);\n } else {\n throw Error(`your target is not an instance of HTMLElement.`);\n }\n } catch (e) {\n throw Error(`${this.name} Error: ${(e as Error).message}`);\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else @preserve */\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 = this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, \"bs\")\n : /* istanbul ignore next @preserve */ {};\n\n Data.set(element, this.name, this);\n }\n\n // istanbul ignore next @preserve\n get version() {\n return Version;\n }\n\n // istanbul ignore next @preserve\n get name() {\n return \"BaseComponent\";\n }\n\n // istanbul ignore next @preserve\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n // istanbul ignore next @preserve coverage wise this isn't important\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","import { getAttribute, hasClass } from \"@thednp/shorty\";\n\n/**\n * Check if interactive element is disabled.\n * @param target either a `
',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n */\nconst getPopoverInstance = (element: Element) =>\n getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: Element) => 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: Element | 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 @preserve\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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n getAttribute,\n getBoundingClientRect,\n getDocument,\n getDocumentElement,\n getElementById,\n getElementsByTagName,\n getInstance,\n hasClass,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n removeClass,\n} from \"@thednp/shorty\";\n\nimport PositionObserver from \"@thednp/position-observer\";\nimport { addListener, removeListener } from \"@thednp/event-listener\";\n\nimport activeClass from \"~/strings/activeClass\";\nimport scrollspyString from \"~/strings/scrollspyString\";\nimport scrollspyComponent from \"~/strings/scrollspyComponent\";\nimport isDisabled from \"~/util/isDisabled\";\nimport BaseComponent from \"./base-component\";\nimport { ScrollSpyEvent, ScrollSpyOptions } from \"~/interface/scrollspy\";\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\nconst scrollSpyAnchorSelector = \"[href]\";\n\nconst scrollspyDefaults: Partial = {\n offset: 10,\n target: undefined,\n};\n\ntype ScrollSpyEventProps = {\n relatedTarget: HTMLElement;\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: Element) =>\n getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: Element) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent<\n ScrollSpyEventProps,\n ScrollSpyEvent\n>(`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 {\n target,\n _itemsLength,\n _observables,\n } = self;\n\n const links = getElementsByTagName(\"A\", target);\n const doc = getDocument(target);\n\n // only update items once or with each mutation\n // istanbul ignore else @preserve\n if (!links.length || _itemsLength === _observables.size) return;\n // reset arrays & update\n _observables.clear();\n\n Array.from(links).forEach((link) => {\n const hash = getAttribute(link, \"href\")?.slice(1);\n const targetItem = hash?.length ? doc.getElementById(hash) : null;\n\n if (targetItem && !isDisabled(link)) {\n self._observables.set(targetItem, link);\n }\n });\n self._itemsLength = self._observables.size;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: Element) => {\n Array.from(getElementsByTagName(\"A\", target)).forEach(\n (item) => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n },\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\n // istanbul ignore else @preserve\n clear(target);\n\n self._activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n let parentItem = item;\n while (parentItem !== target) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (\n [\"nav\", \"dropdown-menu\", \"list-group\"].some((c) =>\n hasClass(parentItem, c)\n )\n ) {\n const parentLink = parentItem.previousElementSibling as\n | HTMLElement\n | null;\n\n // istanbul ignore else @preserve\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n }\n }\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\nconst getOffset = (self: ScrollSpy, target: HTMLElement) => {\n const { scrollTarget, element, options } = self;\n\n return (scrollTarget !== element\n ? getBoundingClientRect(target).top + scrollTarget.scrollTop\n : target.offsetTop) - (options.offset as number || 10);\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 element: HTMLElement;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement;\n declare scrollTarget: HTMLElement;\n declare _itemsLength: number;\n declare _activeItem: HTMLElement | null;\n declare _observables: Map;\n declare _observer: PositionObserver; //| IntersectionObserver;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(\n target: Element | string,\n config?: Partial,\n ) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // get target\n const spyTarget = querySelector(\n options.target,\n getDocument(element),\n );\n\n // invalidate\n if (!spyTarget) return;\n this.target = spyTarget;\n\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight\n ? element\n : getDocumentElement(element);\n this._observables = new Map();\n\n // run an initial burst, we need to know the targets\n this.refresh();\n // updateSpyTargets(this);\n\n // create observer\n this._observer = new PositionObserver(() => {\n requestAnimationFrame(() => this.refresh());\n }, {\n root: this.scrollTarget,\n });\n\n // add event handlers\n this._toggleEventListeners(true);\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, scrollTarget } = this;\n // check if target is visible and invalidate\n // istanbul ignore if @preserve\n if (!target || target.offsetHeight === 0) return;\n\n updateSpyTargets(this);\n const { _itemsLength, _observables, _activeItem } = this;\n\n // istanbul ignore if @preserve\n if (!_itemsLength) return;\n const entries = _observables.entries().toArray();\n\n const { scrollTop, scrollHeight, clientHeight } = scrollTarget;\n\n if (scrollTop >= scrollHeight - clientHeight) {\n const newActiveItem = entries[_itemsLength - 1]?.[1];\n\n // istanbul ignore else @preserve\n if (_activeItem !== newActiveItem) activate(this, newActiveItem);\n return;\n }\n\n const firstOffset = entries[0]?.[0]\n ? getOffset(this, entries[0][0])\n : /* istanbul ignore next */ null;\n if (\n firstOffset !== null && scrollTop < firstOffset &&\n firstOffset > 0\n ) {\n this._activeItem = null;\n clear(target);\n return;\n }\n\n for (let i = 0; i < _itemsLength; i += 1) {\n const [targetItem, item] = entries[i];\n const offsetTop = getOffset(this, targetItem);\n const nextTarget = entries[i + 1]?.[0];\n const nextOffsetTop = nextTarget\n ? getOffset(this, nextTarget)\n : /* istanbul ignore next */ null;\n\n // istanbul ignore else @preserve\n if (\n _activeItem !== item &&\n scrollTop >= offsetTop &&\n (nextOffsetTop === null || scrollTop < nextOffsetTop)\n ) {\n activate(this, item);\n break;\n }\n }\n };\n\n /**\n * This method provides an event handle\n * for scrollspy\n * @param e the event listener object\n */\n _scrollTo = (e: MouseEvent) => {\n const item = closest(e.target, scrollSpyAnchorSelector);\n const hash = item && getAttribute(item, \"href\")?.slice(1);\n const targetItem = hash && getElementById(hash, this.target);\n\n // istanbul ignore else @preserve\n if (targetItem) {\n this.scrollTarget.scrollTo({\n top: targetItem.offsetTop,\n behavior: \"smooth\",\n });\n e.preventDefault();\n }\n };\n\n /**\n * Toggles on/off the component observer.\n *\n * @param self the ScrollSpy instance\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (\n add?: boolean,\n ) => {\n const { target, _observables, _observer, _scrollTo } = this;\n const action = add ? addListener : removeListener;\n action(target, mouseclickEvent, _scrollTo);\n\n if (add) {\n _observables?.forEach((_, targetItem) => _observer.observe(targetItem));\n } else _observer.disconnect();\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 addClass,\n ariaSelected,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getElementsByClassName,\n getInstance,\n hasClass,\n isHTMLElement,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n reflow,\n removeClass,\n setAttribute,\n Timer,\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\";\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: Element) =>\n getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: Element) => new Tab(element);\n\ntype TabEventProps = {\n relatedTarget: Element & EventTarget | undefined;\n};\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(\n `show.bs.${tabString}`,\n);\nconst shownTabEvent = createCustomEvent(\n `shown.bs.${tabString}`,\n);\nconst hideTabEvent = createCustomEvent(\n `hide.bs.${tabString}`,\n);\nconst hiddenTabEvent = createCustomEvent(\n `hidden.bs.${tabString}`,\n);\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 @preserve\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = \"\";\n removeClass(tabContent, collapsingClass);\n }\n\n // istanbul ignore else @preserve\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)) ||\n // istanbul ignore next @preserve\n { tab: null };\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) ||\n // istanbul ignore next @preserve\n { currentHeight: 0, nextHeight: 0 };\n // istanbul ignore else @preserve: vitest won't validate this branch\n if (currentHeight !== nextHeight) {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n } else {\n triggerTabEnd(self);\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)) ||\n // istanbul ignore next @preserve\n { tab: null, content: null };\n let currentHeight = 0;\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\n if (c) addClass(c, \"overflow-hidden\");\n });\n currentHeight = content\n ? content.scrollHeight\n : /* istanbul ignore next @preserve */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element as HTMLElement;\n dispatchEvent(element, showTabEvent);\n\n // istanbul ignore if @preserve\n if (showTabEvent.defaultPrevented) return;\n // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, activeClass);\n // istanbul ignore else @preserve\n if (content) removeClass(content, activeClass);\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, {\n currentHeight,\n nextHeight,\n tab: null,\n content: null,\n });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\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 // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n // istanbul ignore else @preserve\n if (tab) dispatchEvent(tab, hiddenTabEvent);\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 = (\n self: Tab,\n): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n // istanbul ignore next @preserve\n if (!isHTMLElement(nav)) {\n return { tab: null, content: null };\n }\n\n const activeTabs = getElementsByClassName(\n activeClass,\n nav,\n );\n let tab: HTMLElement | null = null;\n // istanbul ignore else @preserve\n if (\n activeTabs.length === 1 &&\n !dropdownClasses.some((c) =>\n hasClass(activeTabs[0].parentElement as HTMLElement, c)\n )\n ) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab) ? getTargetElement(tab) : 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) => {\n // istanbul ignore next @preserve\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(\",.\")}`);\n return dropdown\n ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown)\n : 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: MouseEvent) => {\n const element = closest(e.target, tabSelector);\n const self = element && getTabInstance(element);\n\n // istanbul ignore if @preserve\n if (!self) return;\n e.preventDefault();\n self.show();\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 element: HTMLElement;\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: Element | 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 @preserve\n if (!content) return;\n\n const nav = closest(element, \".nav\");\n const container = closest(\n content as HTMLElement,\n \".tab-content\",\n );\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 @preserve\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 * 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 @preserve\n if ((nav && Timer.get(nav)) || hasClass(element, activeClass)) return;\n const { tab, content } = getActiveTab(this);\n\n // istanbul ignore else @preserve\n if (nav && tab) {\n tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n }\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element as HTMLElement;\n\n // istanbul ignore if @preserve\n if (!isHTMLElement(tab)) return;\n\n dispatchEvent(tab, hideTabEvent);\n\n // istanbul ignore else @preserve\n if (hideTabEvent.defaultPrevented) return;\n\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 @preserve\n if (nav) {\n const toggleTab = () => {\n // istanbul ignore else @preserve\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, \"false\");\n }\n if (dropdown && !hasClass(dropdown, activeClass)) {\n addClass(dropdown, activeClass);\n }\n };\n\n if (\n content &&\n (hasClass(content, fadeClass) ||\n (nextContent && hasClass(nextContent, fadeClass)))\n ) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n // istanbul ignore else @preserve\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 * 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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n focusinEvent,\n focusoutEvent,\n getDocument,\n getInstance,\n hasClass,\n mouseclickEvent,\n mouseenterEvent,\n MouseEvent,\n mouseleaveEvent,\n querySelector,\n querySelectorAll,\n reflow,\n removeClass,\n Timer,\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 isDisabled from \"~/util/isDisabled\";\nimport BaseComponent from \"./base-component\";\nimport { ToastEvent, ToastOptions } 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: Element) =>\n getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: Element) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent, ToastEvent>(\n `show.bs.${toastString}`,\n);\nconst shownToastEvent = createCustomEvent, ToastEvent>(\n `shown.bs.${toastString}`,\n);\nconst hideToastEvent = createCustomEvent, ToastEvent>(\n `hide.bs.${toastString}`,\n);\nconst hiddenToastEvent = createCustomEvent, ToastEvent>(\n `hidden.bs.${toastString}`,\n);\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 @preserve\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 as HTMLElement);\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 as HTMLElement);\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 * 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 if @preserve\n if (!self) return;\n // istanbul ignore else @preserve\n if (trigger && trigger.tagName === \"A\") e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\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;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n // istanbul ignore if @preserve: a solid filter is required\n if (\n !self || element === relatedTarget ||\n element.contains(relatedTarget as Node)\n ) return;\n\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// 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 element: HTMLElement;\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: Element | 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)) {\n addClass(element, fadeClass);\n } else if (!options.animation && hasClass(element, fadeClass)) {\n removeClass(element, fadeClass);\n }\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [\n ...querySelectorAll(\n toastToggleSelector,\n getDocument(element),\n ),\n ].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 if @preserve\n if (!element || isShown) return;\n\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) showToast(this);\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n // istanbul ignore if @preserve\n if (!element || !isShown) return;\n\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) hideToast(this);\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 @preserve\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n // istanbul ignore else @preserve\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(\n (e) => action(element, e, interactiveToastHandler),\n );\n }\n // istanbul ignore else @preserve\n if (triggers.length) {\n triggers.forEach((btn) => {\n if (!isDisabled(btn)) action(btn, mouseclickEvent, toastClickHandler);\n });\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n this._toggleEventListeners();\n Timer.clear(element, toastString);\n\n if (isShown) removeClass(element, showClass);\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\ntype Component =\n | Alert\n | Button\n | Carousel\n | Collapse\n | Dropdown\n | Modal\n | Offcanvas\n | Popover\n | ScrollSpy\n | Tab\n | Toast\n | Tooltip;\n\n[\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Offcanvas,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip,\n].forEach((c) => componentsList.set(c.prototype.name, c));\n\n/**\n * Initialize all matched `Element`s for one component.\n *\n * @param callback\n * @param collection\n */\nconst initComponentDataAPI = (\n callback: (el: Element) => Component,\n collection: HTMLCollectionOf | Element[],\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)) {\n (instance as T & { dispose: () => void }).dispose();\n }\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(), {\n once: true,\n });\n}\n"],"names":["De","Oe","J","Pe","Be","Fe","ct","at","it","ft","gt","vt","Et","yt","wt","At","Ot","zt","It","Qt","je","Yt","on","sn","rn","cn","gn","$t","Jt","L","W","zn","t","e","ee","R","n","o","s","Q","j","oe","Qn","Gn","qn","Yn","Zn","b","l","u","h","D","to","I","k","G","K","d","N","se","q","g","ie","ue","so","r","a","i","ao","P","T","uo","f","c","p","E","fo","mo","vo","bo","Eo","O","le","v","ho","yo","de","x","fe","pe","Ao","m","w","So","S","ko","me","A","ve","be","Ee","we","Co","F","H","y","Ae","Se","Do","zo","Vo","Uo","ke","Ro","Ne","jo","Go","fadeClass","showClass","dataBsDismiss","alertString","alertComponent","Version","BaseComponent","target","config","element","isElement","isString","querySelector","prevInstance","Data","ObjectKeys","normalizeOptions","prop","isDisabled","hasClass","getAttribute","alertSelector","alertDismissSelector","getAlertInstance","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","removeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent","activeClass","dataBsToggle","buttonString","buttonComponent","buttonSelector","getButtonInstance","buttonInitCallback","Button","setAttribute","ariaPressed","isActive","addClass","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","activateCarouselIndicator","pointermoveEvent","passiveHandler","pointerupEvent","getElementsByClassName","activeIndex","transitionItem","matches","ar","isPaused","idx","next","eventProperties","ObjectAssign","getElementTransitionDuration","reflow","touch","pause","interval","keyboard","mouseenterEvent","mouseleaveEvent","pointerdownEvent","touchstartEvent","dragstartEvent","arrow","indicator","keydownEvent","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","isHTMLElement","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","getCurrentOpenDropdown","currentParent","type","isForm","mousedownEvent","dropdownClickHandler","keyArrowDown","keyArrowUp","activeElement","open","menuItems","focus","keyEscape","dropdownIntersectionHandler","entry","currentElement","currentInstance","modalString","modalComponent","offcanvasComponent","fixedTopClass","fixedBottomClass","stickyTopClass","positionStickyClass","getFixedItems","resetScrollbar","bd","getDocumentBody","fixedItems","fixed","measureScrollbar","innerWidth","getWindow","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","padStyle","toggleModalDismiss","modalDismissHandler","modalKeyHandler","afterModalHide","relatedTarget","focusElement","toggleFocusTrap","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","isOpen","popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","body","tipClassPositions","styleTip","tipClasses","tooltip","container","offsetParent","scrollLeft","scrollTop","getNodeScroll","tipWidth","tipHeight","htmlcw","htmlch","htmlow","placement","parentCWidth","parentOWidth","fixedParent","leftBoundry","rightBoundry","observerEntry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","elemOffsetLeft","elemOffsetTop","getRectRelativeToOffsetParent","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","tipPositions","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","tooltipHeader","tooltipBody","tempTitle","tempContent","tempBtn","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","tooltipSelector","titleAttr","getTooltipInstance","tooltipInitCallback","Tooltip","removeTooltip","ariaDescribedBy","hasTip","disposeTooltipComplete","toggleTooltipTitle","toggleTooltipAction","tooltipShownAction","shownTooltipEvent","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","parentModal","parentOffcanvas","titleAtt","tipComponent","elem","getUID","position","PositionObserver","outTimer","showTooltipEvent","delay","hideTooltipEvent","enabled","tr","mousehoverEvent","focusinEvent","focusoutEvent","isApple","popoverSelector","popoverDefaults","getPopoverInstance","popoverInitCallback","Popover","scrollspyString","scrollspyComponent","scrollspySelector","scrollSpyAnchorSelector","scrollspyDefaults","getScrollSpyInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","updateSpyTargets","_itemsLength","_observables","links","getElementsByTagName","link","hash","targetItem","clear","item","activate","parentItem","parentLink","getOffset","scrollTarget","spyTarget","_activeItem","entries","newActiveItem","firstOffset","offsetTop","nextTarget","nextOffsetTop","getElementById","_observer","_scrollTo","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","toastClickHandler","interactiveToastHandler","isShown","hide","componentsList","initComponentDataAPI","collection","removeComponentDataAPI","component","context","compData","instance","initCallback","lookUp","elemCollection","cs","init","selector","removeDataAPI","comp"],"mappings":"iCAAK,MAA6DA,GAAK,mBAAoBC,GAAK,gBAAuCC,GAAI,cAA0DC,GAAK,aAAcC,GAAK,eAAgBC,GAAK,gBAAyPC,GAAK,QAASC,GAAK,UAAWC,GAAK,WAA0EC,GAAK,UAA4BC,GAAK,QAAsBC,EAAK,QAA0BC,GAAK,YAA6BC,GAAK,QAASC,GAAK,aAAcC,GAAK,aAAmKC,GAAK,cAAoCC,GAAK,cAAeC,GAAK,YAAsJC,GAAK,aAmD3mCC,GAAK,YAUuBC,GAAK,oFAoBlCC,GAAK,YAAaC,GAAK,UAAWC,GAAK,YAAaC,GAAK,aAAkHC,GAAK,SAAyMC,GAAK,qBAAsBC,GAAK,kBAAmBC,GAAI,gBAAiBC,GAAI,qBA+BjdC,GAAK,IAAM,CACZ,MAAMC,EAAI,qBACV,OAAO,WAAW,eAAe,OAAO,KACrCC,GAAMD,EAAE,KAAKC,EAAE,KAAK,CACtB,GAAID,EAAE,KACL,WAAW,SACZ,GAAI,EACP,EAA2PE,GAAK,IAAM,CACtQ,EAAGC,GAAI,CAACH,EAAGC,EAAGG,EAAGC,IAAM,CACrB,MAAMC,EAAID,GAAK,GACfL,EAAE,iBACAC,EACAG,EACAE,CACD,CACH,EAAGC,GAAI,CAACP,EAAGC,EAAGG,EAAGC,IAAM,CACrB,MAAMC,EAAID,GAAK,GACfL,EAAE,oBACAC,EACAG,EACAE,CACD,CACH,EAesUE,EAAI,CAACR,EAAGC,IAAMD,EAAE,aAAaC,CAAC,EAA6CQ,GAAK,CAACT,EAAGC,IAAMD,EAAE,aAAaC,CAAC,EAA6CS,EAAK,CAACV,EAAGC,EAAGG,IAAMJ,EAAE,aAAaC,EAAGG,CAAC,EAAmDO,GAAK,CAACX,EAAGC,IAAMD,EAAE,gBAAgBC,CAAC,EAAgDW,EAAK,CAACZ,KAAMC,IAAM,CACvpBD,EAAE,UAAU,IAAI,GAAGC,CAAC,CACtB,EAAGY,EAAK,CAACb,KAAMC,IAAM,CACnBD,EAAE,UAAU,OAAO,GAAGC,CAAC,CACzB,EAAGa,EAAK,CAACd,EAAGC,IAAMD,EAAE,UAAU,SAASC,CAAC,EAAoHc,GAAKf,GAAMA,GAAK,MAAQ,OAAOA,GAAK,UAAY,GAAIgB,EAAKhB,GAAMe,GAAEf,CAAC,GAAK,OAAOA,EAAE,UAAY,UAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAE,EAAE,KACrSC,GAAMD,EAAE,WAAaC,CACxB,GAAK,GAAIgB,EAAKjB,GAAMgB,EAAEhB,CAAC,GAAKA,EAAE,WAAa,GAAK,GAAIkB,GAAoB,IAAI,IAAOC,GAAI,CACrF,KAAMD,GAQN,IAAK,CAAClB,EAAGC,EAAGG,IAAM,CACXa,EAAEjB,CAAC,IACRkB,GAAE,IAAIjB,CAAC,GAAKiB,GAAE,IAAIjB,EAAmB,IAAI,GAAK,EAAGiB,GAAE,IAAIjB,CAAC,EAAE,IAAID,EAAGI,CAAC,EACnE,EAOD,UAAYJ,GAAMkB,GAAE,IAAIlB,CAAC,GAAK,KAQ9B,IAAK,CAACA,EAAGC,IAAM,CACb,GAAI,CAACgB,EAAEjB,CAAC,GAAK,CAACC,EAAG,OAAO,KACxB,MAAMG,EAAIe,GAAE,UAAUlB,CAAC,EACvB,OAAOD,GAAKI,GAAKA,EAAE,IAAIJ,CAAC,GAAK,IAC9B,EAOD,OAAQ,CAACA,EAAGC,IAAM,CAChB,MAAMG,EAAIe,GAAE,UAAUlB,CAAC,EACvB,CAACG,GAAK,CAACa,EAAEjB,CAAC,IAAMI,EAAE,OAAOJ,CAAC,EAAGI,EAAE,OAAS,GAAKc,GAAE,OAAOjB,CAAC,EAC3D,CACA,EAAGmB,EAAK,CAACpB,EAAGC,IAAMkB,GAAE,IAAInB,EAAGC,CAAC,EAAyDoB,GAAKrB,GAAMA,GAAG,KAAI,EAAG,QACxG,sBACA,CAACC,EAAGG,IAAMA,IAAM,EAAIH,EAAE,YAAW,EAAKA,EAAE,YAAW,CACrD,EAAE,QAAQ,OAAQ,EAAE,EAAGqB,GAAKtB,GAAM,OAAOA,GAAK,UAAY,GAAIuB,GAAKvB,GAAMe,GAAEf,CAAC,GAAKA,EAAE,YAAY,OAAS,UAAY,GAAIwB,GAAKxB,GAAMgB,EAAEhB,CAAC,GAAKA,EAAE,WAAa,GAAK,GAAIyB,EAAKzB,GAAMwB,GAAExB,CAAC,EAAIA,EAAIgB,EAAEhB,CAAC,EAAIA,EAAE,cAAgBuB,GAAEvB,CAAC,EAAIA,EAAE,SAAW,WAAW,SAAU0B,GAAI,CAAC1B,KAAMC,IAAM,OAAO,OAAOD,EAAG,GAAGC,CAAC,EAAG0B,GAAM3B,GAAM,CAC9S,GAAI,CAACA,EAAG,OACR,GAAIsB,GAAEtB,CAAC,EACL,OAAOyB,EAAC,EAAG,cAAczB,CAAC,EAC5B,KAAM,CAAE,QAASC,CAAG,EAAGD,EAAGI,EAAIuB,GAAG1B,CAAC,EAClC,GAAI,CAACG,EAAG,OACR,MAAMC,EAAI,CAAE,GAAGL,CAAG,EAClB,OAAO,OAAOK,EAAE,QAASqB,GAAEtB,EAAGC,CAAC,CACjC,EAQGuB,EAAI,CAAC5B,EAAGC,IAAMD,EAAE,cAAcC,CAAC,EAAyC4B,EAAI,CAAC7B,EAAGC,EAAGG,IAAM,CAC1F,MAAMC,EAAI,iBAAiBL,EAAGI,CAAC,EAAGE,EAAIL,EAAE,QAAQ,SAAU,QAAQ,EAAE,QAAQ,WAAY,KAAK,EAAE,YAAa,EAC5G,OAAOI,EAAE,iBAAiBC,CAAC,CAC7B,EAkBGwB,GAAM9B,GAAM,CACb,MAAMC,EAAI4B,EAAE7B,EAAGF,EAAC,EAAGM,EAAIyB,EAAE7B,EAAGJ,EAAE,EAAGS,EAAID,EAAE,SAAS,IAAI,EAAI,EAAI,IAAKE,EAAIL,GAAKA,IAAM,OAAS,WAAWG,CAAC,EAAIC,EAAI,EAC7G,OAAO,OAAO,MAAMC,CAAC,EAAI,EAAIA,CAC/B,EAAGyB,GAAM/B,GAAM,CACb,MAAMC,EAAI4B,EAAE7B,EAAGF,EAAC,EAAGM,EAAIyB,EAAE7B,EAAGL,EAAE,EAAGU,EAAID,EAAE,SAAS,IAAI,EAAI,EAAI,IAAKE,EAAIL,GAAKA,IAAM,OAAS,WAAWG,CAAC,EAAIC,EAAI,EAC7G,OAAO,OAAO,MAAMC,CAAC,EAAI,EAAIA,CAC/B,EAAG0B,EAAK,CAAChC,EAAGC,IAAM,CAChB,IAAIG,EAAI,EACR,MAAMC,EAAI,IAAI,MAAMR,EAAC,EAAGS,EAAIyB,GAAG/B,CAAC,EAAGiC,EAAIH,GAAG9B,CAAC,EAC3C,GAAIM,EAAG,CACL,MAAM4B,EAAKC,GAAM,CACfA,EAAE,SAAWnC,IAAMC,EAAE,MAAMD,EAAG,CAACmC,CAAC,CAAC,EAAGnC,EAAE,oBAAoBH,GAAGqC,CAAC,EAAG9B,EAAI,EACtE,EACDJ,EAAE,iBAAiBH,GAAGqC,CAAC,EAAG,WAAW,IAAM,CACzC9B,GAAKwB,EAAE5B,EAAGK,CAAC,CACjB,EAAOC,EAAI2B,EAAI,EAAE,CACd,MACChC,EAAE,MAAMD,EAAG,CAACK,CAAC,CAAC,CAClB,EAA+F+B,GAAK,CAACpC,EAAGC,IAAMD,EAAE,MAAMC,CAAC,EAAiGoC,GAAKrC,GAAM,CAAC,OAAQ,EAAE,EAAE,SAASA,CAAC,EAAI,GAAK,CAAC,QAAS,EAAE,EAAE,SAASA,CAAC,EAAI,GAAK,CAAC,OAAQ,GAAI,KAAM,MAAM,EAAE,SAASA,CAAC,EAAI,KAAOA,IAAM,IAAM,CAAC,OAAO,MAAM,CAACA,CAAC,EAAI,CAACA,EAAIA,EAAGsC,GAAKtC,GAAM,OAAO,QAAQA,CAAC,EAAGuC,GAAK,CAACvC,EAAGC,EAAGG,EAAGC,IAAM,CAC7a,GAAI,CAACY,EAAEjB,CAAC,EAAG,OAAOC,EAClB,MAAMK,EAAI,CAAE,GAAGF,CAAG,EAAE6B,EAAI,CAAE,GAAGjC,EAAE,OAAS,EAAEkC,EAAI,CAAE,GAAGjC,CAAC,EAAIkC,EAAI,CAAA,EAAIK,EAAI,QACpE,OAAOF,GAAEL,CAAC,EAAE,QAAQ,CAAC,CAACQ,EAAGC,CAAC,IAAM,CAC9B,MAAMC,EAAS,OAAOF,GAAK,UAAYA,EAAE,SAASpC,CAAC,EAAIgB,GAAEoB,EAAE,QAAQpC,EAAG,EAAE,CAAC,EAAIgB,GAAEoB,CAAC,EAChFN,EAAEQ,CAAC,EAAIN,GAAEK,CAAC,CACd,CAAG,EAAGJ,GAAEhC,CAAC,EAAE,QAAQ,CAAC,CAACmC,EAAGC,CAAC,IAAM,CAC3BpC,EAAEmC,CAAC,EAAIJ,GAAEK,CAAC,CACd,CAAG,EAAGJ,GAAErC,CAAC,EAAE,QAAQ,CAAC,CAACwC,EAAGC,CAAC,IAAM,CAC3BD,KAAKnC,EAAI4B,EAAEO,CAAC,EAAInC,EAAEmC,CAAC,EAAIA,KAAKN,EAAID,EAAEO,CAAC,EAAIN,EAAEM,CAAC,EAAIP,EAAEO,CAAC,EAAIA,IAAMD,EAAIhC,EAAER,EAAGwC,CAAC,EAAIE,CAC1E,CAAA,EAAGR,CACN,EAA2DU,GAAM5C,GAAM,OAAO,KAAKA,CAAC,EAAoE6C,EAAK,CAAC7C,EAAGC,IAAM,CACrK,MAAMG,EAAI,IAAI,YAAYJ,EAAG,CAC3B,WAAY,GACZ,QAAS,EACb,CAAG,EACD,OAAOe,GAAEd,CAAC,GAAKyB,GAAEtB,EAAGH,CAAC,EAAGG,CAC1B,EAAG0C,GAAK,CAAE,QAAS,EAAE,EAAIC,GAAM/C,GAAMA,EAAE,aAAcgD,EAAK,CAAChD,EAAGC,IAAM,CAClEqC,GAAErC,CAAC,EAAE,QAAQ,CAAC,CAACG,EAAGC,CAAC,IAAM,CACvB,GAAIA,GAAKiB,GAAElB,CAAC,GAAKA,EAAE,SAAS,IAAI,EAC9BJ,EAAE,MAAM,YAAYI,EAAGC,CAAC,MACrB,CACH,MAAMC,EAAI,CAAE,EACZA,EAAEF,CAAC,EAAIC,EAAGqB,GAAE1B,EAAE,MAAOM,CAAC,CAC5B,CACA,CAAG,CACH,EAAG2C,GAAKjD,GAAMe,GAAEf,CAAC,GAAKA,EAAE,YAAY,OAAS,OAAS,GAAIkD,GAAMlD,GAAM,OAAOA,GAAK,UAAY,GAAImD,GAAoB,IAAI,IAAOC,EAAK,CASpI,IAAK,CAACpD,EAAGC,EAAGG,EAAGC,IAAM,CACnBY,EAAEjB,CAAC,IAAMK,GAAKA,EAAE,QAAU8C,GAAE,IAAInD,CAAC,GAAKmD,GAAE,IAAInD,EAAmB,IAAI,GAAK,EAAGmD,GAAE,IAAInD,CAAC,EAAE,IAAIK,EAAG,WAAWJ,EAAGG,CAAC,CAAC,GAAK+C,GAAE,IAAInD,EAAG,WAAWC,EAAGG,CAAC,CAAC,EAC1I,EAQD,IAAK,CAACJ,EAAGC,IAAM,CACb,GAAI,CAACgB,EAAEjB,CAAC,EAAG,OAAO,KAClB,MAAMI,EAAI+C,GAAE,IAAInD,CAAC,EACjB,OAAOC,GAAKG,GAAK6C,GAAE7C,CAAC,EAAIA,EAAE,IAAIH,CAAC,GAAK,KAAOiD,GAAG9C,CAAC,EAAIA,EAAI,IACxD,EAOD,MAAO,CAACJ,EAAGC,IAAM,CACf,GAAI,CAACgB,EAAEjB,CAAC,EAAG,OACX,MAAMI,EAAI+C,GAAE,IAAInD,CAAC,EACjBC,GAAKA,EAAE,QAAUgD,GAAE7C,CAAC,GAAK,aAAaA,EAAE,IAAIH,CAAC,CAAC,EAAGG,EAAE,OAAOH,CAAC,EAAGG,EAAE,OAAS,GAAK+C,GAAE,OAAOnD,CAAC,IAAM,aAAaI,CAAC,EAAG+C,GAAE,OAAOnD,CAAC,EAC7H,CACA,EAAGqD,GAAMrD,GAAMA,EAAE,YAAW,EAAiCsD,EAAK,CAACtD,EAAGC,KAAOe,EAAEf,CAAC,EAAIA,EAAIwB,EAAG,GAAE,iBAAiBzB,CAAC,EAAGuD,GAAoB,IAAI,IAC1I,SAASC,GAAGxD,EAAG,CACb,KAAM,CAAE,SAAUC,EAAG,KAAMG,CAAC,EAAKJ,EAAGK,EAAIoB,EAAE,IAAI,EAAGnB,EAAI,CACnD,GAAGgD,EAAGjE,GAAI,IAAI,CAClB,EAAI,OACC8C,GAAM,CAAC1B,GAAG0B,EAAG,UAAU,GAAK,CAAC3B,EAAE2B,EAAGjE,EAAC,CACrC,EACD,GAAI,CAACoC,EAAE,OAAQ,OACf,MAAM2B,EAAI3B,EAAE,CAAC,EAAG4B,EAAI5B,EAAEA,EAAE,OAAS,CAAC,EAClCF,IAAM,QAAUH,GAAKI,EAAE,gBAAkB4B,GAAKC,EAAE,MAAO,EAAElC,EAAE,eAAgB,GAAI,CAACC,GAAKI,EAAE,gBAAkB6B,IAAMD,EAAE,QAASjC,EAAE,eAAc,GAC5I,CACM,MAAAyD,GAAMzD,GAAMuD,GAAE,IAAIvD,CAAC,IAAM,GAAI0D,GAAM1D,GAAM,CAC7C,MAAMC,EAAIwD,GAAGzD,CAAC,GACbC,EAAIM,GAAIJ,IAAGH,EAAG,UAAWwD,EAAE,EAAGvD,EAAIsD,GAAE,OAAOvD,CAAC,EAAIuD,GAAE,IAAIvD,EAAG,EAAE,CAC9D,EAAG2D,EAAK3D,GAAMiB,EAAEjB,CAAC,GAAK,gBAAiBA,GAAK,GAAI4D,GAAI,CAAC5D,EAAGC,IAAM,CAC5D,KAAM,CAAE,MAAOG,EAAG,OAAQC,EAAG,IAAKC,EAAG,MAAO2B,EAAG,OAAQC,EAAG,KAAMC,CAAG,EAAGnC,EAAE,sBAAuB,EAC/F,IAAIwC,EAAI,EAAGC,EAAI,EACf,GAAIxC,GAAK0D,EAAE3D,CAAC,EAAG,CACb,KAAM,CAAE,YAAa0C,EAAG,aAAcC,CAAG,EAAG3C,EAC5CwC,EAAIE,EAAI,EAAI,KAAK,MAAMtC,CAAC,EAAIsC,EAAI,EAAGD,EAAIE,EAAI,EAAI,KAAK,MAAMtC,CAAC,EAAIsC,EAAI,CACvE,CACE,MAAO,CACL,MAAOvC,EAAIoC,EACX,OAAQnC,EAAIoC,EACZ,IAAKnC,EAAImC,EACT,MAAOR,EAAIO,EACX,OAAQN,EAAIO,EACZ,KAAMN,EAAIK,EACV,EAAGL,EAAIK,EACP,EAAGlC,EAAImC,CACR,CACH,EAAGoB,GAAM7D,GAAMyB,EAAEzB,CAAC,EAAE,KAAM8D,GAAK9D,GAAMyB,EAAEzB,CAAC,EAAE,gBAA2G+D,GAAM/D,GAAM,CAC/J,MAAMC,EAAIsB,GAAEvB,CAAC,EAAGI,EAAIH,EAAID,EAAE,QAAUA,EAAE,WAAYK,EAAIJ,EAAID,EAAE,QAAUA,EAAE,UACxE,MAAO,CAAE,EAAGI,EAAG,EAAGC,CAAG,CACvB,EAAG2D,GAAMhE,GAAMgB,EAAEhB,CAAC,GAAKA,EAAE,YAAY,OAAS,cAAgB,GAAIiE,GAAKjE,GAAMA,EAAE,WAAa,OAASA,EAAIiB,EAAEjB,CAAC,GAAKA,EAAE,cAAgBgB,EAAEhB,CAAC,GAAKA,EAAE,YAAcgE,GAAGhE,CAAC,GAAKA,EAAE,MAAQ8D,GAAE9D,CAAC,EAAGkE,GAAMlE,GAAMA,EAAIwB,GAAExB,CAAC,EAAIA,EAAE,YAAcgB,EAAEhB,CAAC,EAAIA,GAAG,eAAe,YAAcA,EAAI,OAAQmE,GAAMnE,GAAMgB,EAAEhB,CAAC,GAAK,CAAC,QAAS,KAAM,IAAI,EAAE,SAASA,EAAE,QAAQ,GAAK,GAAIoE,GAAK,CAACpE,EAAGC,IAAMD,EAAE,QAAQC,CAAC,EA6C3WoE,GAAMrE,GAAM,CACb,GAAI,CAAC2D,EAAE3D,CAAC,EAAG,MAAO,GAClB,KAAM,CAAE,MAAOC,EAAG,OAAQG,CAAG,EAAGwD,GAAE5D,CAAC,EAAG,CAAE,YAAaK,EAAG,aAAcC,CAAG,EAAGN,EAC5E,OAAO,KAAK,MAAMC,CAAC,IAAMI,GAAK,KAAK,MAAMD,CAAC,IAAME,CAClD,EAAGgE,GAAK,CAACtE,EAAGC,EAAGG,IAAM,CACnB,MAAMC,EAAIsD,EAAE1D,CAAC,EAAGK,EAAIsD,GAClB5D,EACAK,GAAKgE,GAAGpE,CAAC,CACV,EAAEgC,EAAI,CAAE,EAAG,EAAG,EAAG,CAAG,EACrB,GAAI5B,EAAG,CACL,MAAM6B,EAAI0B,GAAE3D,EAAG,EAAE,EACjBgC,EAAE,EAAIC,EAAE,EAAIjC,EAAE,WAAYgC,EAAE,EAAIC,EAAE,EAAIjC,EAAE,SAC5C,CACE,MAAO,CACL,EAAGK,EAAE,KAAOF,EAAE,EAAI6B,EAAE,EACpB,EAAG3B,EAAE,IAAMF,EAAE,EAAI6B,EAAE,EACnB,MAAO3B,EAAE,MACT,OAAQA,EAAE,MACX,CACH,EACA,IAAIiE,GAAI,EAAGC,GAAI,EACV,MAACC,GAAoB,IAAI,IAAOC,GAAK,CAAC1E,EAAGC,IAAM,CAClD,IAAIG,EAAIH,EAAIsE,GAAIC,GAChB,GAAIvE,EAAG,CACL,MAAMI,EAAIqE,GAAG1E,CAAC,EAAGM,EAAImE,GAAE,IAAIpE,CAAC,GAAqB,IAAI,IACrDoE,GAAE,IAAIpE,CAAC,GAAKoE,GAAE,IAAIpE,EAAGC,CAAC,EAAG2C,GAAE3C,CAAC,GAAK,CAACA,EAAE,IAAIL,CAAC,GAAKK,EAAE,IAAIL,EAAGG,CAAC,EAAGmE,IAAK,GAAKnE,EAAIE,EAAE,IAAIL,CAAC,CACpF,KAAS,CACL,MAAMI,EAAIL,EAAE,IAAMA,EAClByE,GAAE,IAAIpE,CAAC,EAAID,EAAIqE,GAAE,IAAIpE,CAAC,GAAKoE,GAAE,IAAIpE,EAAGD,CAAC,EAAGoE,IAAK,EACjD,CACE,OAAOpE,CACT,EAkBGuE,GAAM3E,GAAM,MAAM,QAAQA,CAAC,GAAK,GAAiG4E,GAAM5E,GAAM,CAC9I,GAAI,CAACgB,EAAEhB,CAAC,EAAG,MAAO,GAClB,KAAM,CAAE,IAAKC,EAAG,OAAQG,CAAC,EAAKwD,GAAE5D,CAAC,EAAG,CAAE,aAAcK,CAAC,EAAKyD,GAAE9D,CAAC,EAC7D,OAAOC,GAAKI,GAAKD,GAAK,CACxB,EAI0CyE,GAAM7E,GAAM,OAAOA,GAAK,YAAc,GAUvE8E,GAAM9E,GAAMe,GAAEf,CAAC,GAAKA,EAAE,YAAY,OAAS,YAAc,GAAI+E,GAAM/E,GAAM8D,GAAE9D,CAAC,EAAE,MAAQ,MAAqEgF,EAAK,CAAChF,EAAGC,IAAM,CAACD,GAAK,CAACC,EAAI,KAAOD,EAAE,QAAQC,CAAC,GAAK+E,EAAGhF,EAAE,YAAa,EAAC,KAAMC,CAAC,GAAK,KAAMgF,EAAK,CAACjF,EAAGC,IAAMgB,EAAEjB,CAAC,EAAIA,GAAKiB,EAAEhB,CAAC,EAAIA,EAAIwB,EAAC,GAAI,cAAczB,CAAC,EAAGkF,GAAK,CAAClF,EAAGC,KAAOe,EAAEf,CAAC,EAAIA,EAAIwB,EAAC,GAAI,qBACrVzB,CACF,EAA2CmF,GAAK,CAACnF,EAAGC,IAAMwB,EAAExB,CAAC,EAAE,eAAeD,CAAC,EAAGoF,GAAK,CAACpF,EAAGC,KAAOA,GAAKe,EAAEf,CAAC,EAAIA,EAAIwB,EAAC,GAAI,uBACrHzB,CACF,ECldmBC,GAAI,CAAE,EAAEuC,GAAKxC,GAAM,CACpC,KAAM,CAAE,KAAMI,EAAG,cAAeqC,CAAG,EAAGzC,EACtCC,GAAEG,CAAC,EAAE,QAAQ,CAAC8B,EAAG5B,IAAM,CACrBmC,IAAMnC,GAAK4B,EAAE,QAAQ,CAAC7B,EAAG8B,IAAM,CAC7BA,EAAE,MAAM7B,EAAG,CAACN,CAAC,CAAC,EAAG,OAAOK,GAAK,UAAYA,EAAE,MAAQ4B,EAAE3B,EAAGF,EAAG+B,EAAG9B,CAAC,CACrE,CAAK,CACL,CAAG,CACH,EAAGsC,EAAI,CAAC3C,EAAGI,EAAGqC,EAAGP,IAAM,CACrBjC,GAAEG,CAAC,IAAMH,GAAEG,CAAC,EAAoB,IAAI,KACpC,MAAME,EAAIL,GAAEG,CAAC,EACbE,EAAE,IAAIN,CAAC,GAAKM,EAAE,IAAIN,EAAmB,IAAI,GAAK,EAC9C,MAAMK,EAAIC,EAAE,IACVN,CACJ,EAAK,CAAE,KAAMmC,CAAC,EAAK9B,EACjBA,EAAE,IAAIoC,EAAGP,CAAC,EAAGC,GAAKnC,EAAE,iBAClBI,EACAoC,GACAN,CACD,CACH,EAAGD,EAAI,CAACjC,EAAGI,EAAGqC,EAAGP,IAAM,CACrB,MAAM5B,EAAIL,GAAEG,CAAC,EAAGC,EAAIC,GAAKA,EAAE,IAAIN,CAAC,EAAGmC,EAAI9B,GAAKA,EAAE,IAAIoC,CAAC,EAAGhB,EAAIU,IAAM,OAASA,EAAID,EAC7E7B,GAAKA,EAAE,IAAIoC,CAAC,GAAKpC,EAAE,OAAOoC,CAAC,EAAGnC,IAAM,CAACD,GAAK,CAACA,EAAE,OAASC,EAAE,OAAON,CAAC,GAAI,CAACM,GAAK,CAACA,EAAE,OAAS,OAAOL,GAAEG,CAAC,GAAI,CAACC,GAAK,CAACA,EAAE,OAASL,EAAE,oBACtHI,EACAoC,GACAf,CACD,CACH,ECvBM4D,EAAY,OCAZC,EAAY,OCAZC,GAAgB,kBCFhBC,GAAc,QCAdC,GAAiB,QCCjBC,WCaN,MAAqBC,CAAc,CAQjC,YAAYC,EAA0BC,EAAsB,CACtD,IAAAC,EAEA,GAAA,CACE,GAAAC,EAAUH,CAAM,EACRE,EAAAF,UACDI,GAASJ,CAAM,GAGxB,GAFAE,EAAUG,EAAcL,CAAM,EAE1B,CAACE,EAAS,MAAM,MAAM,IAAIF,CAAM,4BAA4B,MAEhE,OAAM,MAAM,gDAAgD,QAEvD3F,EAAG,CACV,MAAM,MAAM,GAAG,KAAK,IAAI,WAAYA,EAAY,OAAO,EAAE,CAAA,CAG3D,MAAMiG,EAAeC,GAAK,IAAiBL,EAAS,KAAK,IAAI,EAEzDI,GAGFA,EAAa,sBAAsB,EAGrC,KAAK,QAAUJ,EACf,KAAK,QAAU,KAAK,UAAYM,GAAW,KAAK,QAAQ,EAAE,OACtDC,GAAiBP,EAAS,KAAK,SAAUD,GAAU,GAAI,IAAI,EACtB,CAAA,EAEzCM,GAAK,IAAIL,EAAS,KAAK,KAAM,IAAI,CAAA,CAInC,IAAI,SAAU,CACL,OAAAJ,EAAA,CAIT,IAAI,MAAO,CACF,MAAA,eAAA,CAIT,IAAI,UAAW,CACb,MAAO,CAAC,CAAA,CAKV,sBAAwB,IAAM,CAE9B,EAGA,SAAU,CACRS,GAAK,OAAoB,KAAK,QAAS,KAAK,IAAI,EAChDC,GAAW,IAAI,EAAE,QAASE,GAAS,CACjC,OAAO,KAAKA,CAAI,CAAA,CACjB,CAAA,CAEL,CC7EA,MAAMC,GAAcX,GACXY,EAASZ,EAAQ,UAAU,GAChCa,EAAab,EAAQ,UAAU,IAAM,OCkBnCc,GAAgB,IAAIlB,EAAW,GAC/BmB,GAAuB,IAAIpB,EAAa,KAAKC,EAAW,KAMxDoB,GAAoBd,GACxBe,EAAmBf,EAASL,EAAc,EAKtCqB,GAAqBhB,GAAqB,IAAIiB,GAAMjB,CAAO,EAI3DkB,GAAkBC,EACtB,YAAYzB,EAAW,EACzB,EACM0B,GAAmBD,EACvB,aAAazB,EAAW,EAC1B,EASM2B,GAAsBC,GAAgB,CACpC,KAAA,CAAE,QAAAtB,GAAYsB,EACpBC,EAAcvB,EAASoB,EAAgB,EAEvCE,EAAK,sBAAsB,EAC3BA,EAAK,QAAQ,EACbtB,EAAQ,OAAO,CACjB,EAKA,MAAqBiB,WAAcpB,CAAc,CAC/C,OAAO,SAAWe,GAClB,OAAO,KAAOI,GACd,OAAO,YAAcF,GACrB,QAEA,YAAYhB,EAA0B,CACpC,MAAMA,CAAM,EAGZ,KAAK,QAAUK,EACbU,GACA,KAAK,OACP,EAGA,KAAK,sBAAsB,EAAI,CAAA,CAIjC,IAAI,MAAO,CACF,OAAAlB,EAAA,CAUT,MAAQ,IAAM,CACN,KAAA,CAAE,QAAAK,GAAY,KAGhB,CAACA,GAAW,CAACU,EAASV,EAASR,CAAS,IAC5C+B,EAAcvB,EAASkB,EAAe,EAElC,CAAAA,GAAgB,mBAEpBM,EAAYxB,EAASR,CAAS,EAE1BkB,EAASV,EAAST,CAAS,EAC7BkC,EAAqBzB,EAAS,IAAMqB,GAAmB,IAAI,CAAC,KACpC,IAAI,GAChC,EAMA,sBAAyBK,GAAkB,CACnC,MAAAC,EAASD,EAAME,EAAcC,EAC7B,CAAE,QAAAC,EAAS,MAAAC,CAAA,EAAU,KAEvBD,GAAW,CAACrB,GAAWqB,CAAO,GACzBH,EAAAG,EAASE,EAAiBD,CAAK,CAE1C,EAGA,SAAU,CACR,KAAK,sBAAsB,EAC3B,MAAM,QAAQ,CAAA,CAElB,CCpIA,MAAME,EAAc,SCAdC,GAAe,iBCFfC,GAAe,SCAfC,GAAkB,SCsBlBC,GAAiB,IAAIH,EAAY,KAAKC,EAAY,KAMlDG,GAAqBtC,GACzBe,EAAoBf,EAASoC,EAAe,EAGxCG,GAAsBvC,GAAqB,IAAIwC,GAAOxC,CAAO,EAKnE,MAAqBwC,WAAe3C,CAAc,CAChD,OAAO,SAAWwC,GAClB,OAAO,KAAOE,GACd,OAAO,YAAcD,GAQrB,YAAYxC,EAA0B,CACpC,MAAMA,CAAM,EAGN,KAAA,CAAE,QAAAE,GAAY,KAGf,KAAA,SAAWU,EAASV,EAASiC,CAAW,EAC7CQ,EAAazC,EAAS0C,GAAa,OAAO,CAAC,CAAC,KAAK,QAAQ,CAAC,EAG1D,KAAK,sBAAsB,EAAI,CAAA,CAMjC,IAAI,MAAO,CACF,OAAAN,EAAA,CAUT,OAAUjI,GAAc,CAClBA,KAAK,eAAe,EAElB,KAAA,CAAE,QAAA6F,EAAS,SAAA2C,CAAA,EAAa,KACzBlC,GAAWT,CAAO,KACN2C,EAAWnB,EAAcoB,GACjC5C,EAASiC,CAAW,EAC3BQ,EAAazC,EAAS0C,GAAaC,EAAW,QAAU,MAAM,EACzD,KAAA,SAAWjC,EAASV,EAASiC,CAAW,EAEjD,EASA,sBAAyBP,GAAkB,EAC1BA,EAAME,EAAcC,GAC5B,KAAK,QAASG,EAAiB,KAAK,MAAM,CACnD,EAGA,SAAU,CACR,KAAK,sBAAsB,EAC3B,MAAM,QAAQ,CAAA,CAElB,CCvGA,MAAMa,GAAe,iBCFfC,GAAiB,WCAjBC,GAAoB,WCEpBC,GAAe,iBCAfC,GAAkB,oBCelBC,EAAqDlD,GAAe,CACxE,MAAMmD,EAAa,CAACN,GAAcG,GAAcC,GAAiB,MAAM,EACjEG,EAAMC,EAAYrD,CAAO,EAExB,OAAAmD,EACJ,IAAKG,GAAQ,CACN,MAAAC,EAAW5C,EAAaX,EAASsD,CAAG,EAC1C,OAAIC,EACKD,IAAQN,GACXQ,EAAWxD,EAASuD,CAAQ,EAC5BpD,EAAiBoD,EAAUH,CAAG,EAE7B,IACR,CAAA,EACA,OAAQ3F,GAAMA,CAAC,EAAE,CAAC,CACvB,EC2BMgG,GAAmB,kBAAkBX,EAAc,KACnDY,GAAe,GAAGZ,EAAc,QAChCa,GAAgB,mBAChBC,GAAc,gBACdC,GAAc,SAEdC,GAAoC,CACxC,MAAO,QACP,SAAU,GACV,MAAO,GACP,SAAU,GACZ,EAMMC,GAAuB/D,GAC3Be,EAAsBf,EAAS+C,EAAiB,EAK5CiB,GAAwBhE,GAAqB,IAAIiE,GAASjE,CAAO,EAEvE,IAAIkE,GAAS,EACTC,GAAW,EACXC,GAAO,EAIX,MAAMC,GAAqBlD,EAGzB,YAAY2B,EAAc,EAAE,EACxBwB,GAAoBnD,EAGxB,WAAW2B,EAAc,EAAE,EASvByB,GAAgCjD,GAAmB,CACvD,KAAM,CAAE,MAAAkD,EAAO,UAAAC,EAAW,QAAAzE,EAAS,OAAA0E,EAAQ,QAAAC,GAAYrD,EAGvD,GAAIA,EAAK,YAAa,CACd,MAAAsD,EAAaC,GAAevD,CAAI,EAChCwD,EAAcL,IAAc,OAAS,OAAS,OAC9CM,EAAiBN,IAAc,OAAS,QAAU,MAE/C7B,EAAA8B,EAAOF,CAAK,EAAGvC,CAAW,EACnCT,EAAYkD,EAAOF,CAAK,EAAG,GAAGd,EAAY,IAAIoB,CAAW,EAAE,EAC3DtD,EAAYkD,EAAOF,CAAK,EAAG,GAAGd,EAAY,IAAIqB,CAAc,EAAE,EAElDvD,EAAAkD,EAAOE,CAAU,EAAG3C,CAAW,EAC3CT,EAAYkD,EAAOE,CAAU,EAAG,GAAGlB,EAAY,IAAIqB,CAAc,EAAE,EAEnExD,EAAcvB,EAASsE,EAAiB,EAClCU,EAAA,MAAMhF,EAAS4D,EAAW,EAI9BtC,EAAK,OAAS,CAAC+B,EAAYrD,CAAO,EAAE,QAAU2E,EAAQ,UACtD,CAACrD,EAAK,UAENA,EAAK,MAAM,CACb,CAEJ,EAMA,SAAS2D,IAAwC,CACzC,MAAA3D,EAAOyC,GAAoB,IAAI,EAEjCzC,GAAQ,CAACA,EAAK,UAAY,CAAC0D,EAAM,IAAI,KAAMnB,EAAW,GACxDjB,EAAS,KAAMiB,EAAW,CAE9B,CAMA,SAASqB,IAAyC,CAC1C,MAAA5D,EAAOyC,GAAoB,IAAI,EAEjCzC,GAAQA,EAAK,UAAY,CAAC0D,EAAM,IAAI,KAAMnB,EAAW,GACvDvC,EAAK,MAAM,CAEf,CAOA,SAAS6D,GAA4C,EAAe,CAClE,EAAE,eAAe,EACjB,MAAMnF,EAAUwD,EAAQ,KAAMC,EAAgB,GAAKP,EAAiB,IAAI,EAClE5B,EAAOtB,GAAW+D,GAAoB/D,CAAO,EAG/C,GAAA,CAACsB,GAAQA,EAAK,YAAa,OAE/B,MAAM8D,EAAW,EACfzE,EAAa,KAAMgD,EAAa,GAEhC,GAKA,MACA,CAACjD,EAAS,KAAMuB,CAAW,GAC3B,CAAC,OAAO,MAAMmD,CAAQ,GAGtB9D,EAAK,GAAG8D,CAAQ,CAEpB,CAOA,SAASC,GAA2C,EAAe,CACjE,EAAE,eAAe,EACjB,MAAMrF,EAAUwD,EAAQ,KAAMC,EAAgB,GAAKP,EAAiB,IAAI,EAClE5B,EAAOtB,GAAW+D,GAAoB/D,CAAO,EAG/C,GAAA,CAACsB,GAAQA,EAAK,YAAa,OAEzB,MAAAwD,EAAcnE,EAAa,KAAMiD,EAAW,EAG9CkB,IAAgB,OAClBxD,EAAK,KAAK,EACDwD,IAAgB,QACzBxD,EAAK,KAAK,CAEd,CAOA,MAAMgE,GAAqB,CACzB,CAAE,KAAAC,EAAM,OAAAzF,KACL,CACG,MAAAsD,EAAMC,EAAYvD,CAAM,EACxB,CAACE,CAAO,EAAI,CAAC,GAAGwF,EAA8B/B,GAAkBL,CAAG,CAAC,EACvE,OAAQ3F,GAAMgI,GAAuBhI,CAAC,CAAC,EACpC6D,EAAOyC,GAAoB/D,CAAO,EAItC,GAAA,CAACsB,GAAQA,EAAK,aAAe,yBAAyB,KAAKxB,EAAO,QAAQ,EAC1E,OAEI,MAAA4F,EAAMC,GAAM3F,CAAO,EAKrBuF,KAHkBG,EAAqBE,GAAfC,IAGDvE,EAAK,KAAK,EAC5BiE,KALaG,EAAsBG,GAAhBD,KAKItE,EAAK,KAAK,CAC5C,EASA,SAASwE,GAEP,EACA,CACM,KAAA,CAAE,OAAAhG,GAAW,EACbwB,EAAOyC,GAAoB,IAAI,EAInCzC,GACAA,EAAK,UACHA,EAAK,WAAa,CAACA,EAAK,UAAU,SAASxB,CAAM,GACjD,CAACwB,EAAK,SAAS,SAASxB,CAAM,KAEhC,EAAE,yBAAyB,EAC3B,EAAE,gBAAgB,EAClB,EAAE,eAAe,EAErB,CASA,SAASiG,GAEP,EACA,CACM,KAAA,CAAE,OAAAjG,GAAW,EACbwB,EAAOyC,GAAoB,IAAI,EAGrC,GAAI,CAACzC,GAAQA,EAAK,aAAeA,EAAK,QAAS,OAGzC,KAAA,CAAE,SAAA0E,EAAU,WAAAC,CAAA,EAAe3E,EAG9B,CAAC,GAAG0E,EAAU,GAAGC,CAAU,EAAE,MAAOC,GACnCA,IAAOpG,GAAUoG,EAAG,SAASpG,CAAM,CAAA,IAGrCoE,GAAS,EAAE,MAGP,KAAK,SAASpE,CAAM,IACtBwB,EAAK,QAAU,GACf6E,GAA4B7E,EAAM,EAAI,GAG5C,CAOA,MAAM8E,GAA8B,GAAiC,CACnEjC,GAAW,EAAE,KACf,EAOMkC,GAA4B,GAAiC,CAC3D,KAAA,CAAE,OAAAvG,GAAW,EACbsD,EAAMC,EAAYvD,CAAM,EACxBwB,EAAO,CAAC,GAAGkE,EAAiB/B,GAAkBL,CAAG,CAAC,EACrD,IAAK,GAAMW,GAAoB,CAAC,CAAa,EAC7C,KAAM1H,GAAMA,EAAE,OAAO,EAGxB,GAAI,CAACiF,EAAM,OAEL,KAAA,CAAE,QAAAtB,EAAS,MAAAwE,CAAA,EAAUlD,EACrBoE,EAAMC,GAAM3F,CAAO,EACzBoE,GAAO,EAAE,MAET9C,EAAK,QAAU,GACf6E,GAA4B7E,CAAI,EAG9B,CAAC8B,EAAI,aAAA,GAAgB,WAAW,QAChCpD,EAAQ,SAASF,CAAM,GACvB,KAAK,IAAIoE,GAASE,EAAI,EAAI,MAItBD,GAAWD,GACb5C,EAAK,GAAGkD,GAASkB,EAAM,GAAK,EAAE,EACrBvB,GAAWD,IACpB5C,EAAK,GAAGkD,GAASkB,EAAM,EAAI,GAAG,GAKzBxB,GAAA,EACEC,GAAA,EACJC,GAAA,CACT,EAUMkC,GAA4B,CAAChF,EAAgBkD,IAAkB,CAC7D,KAAA,CAAE,WAAAyB,GAAe3E,EACtB,CAAA,GAAG2E,CAAU,EAAE,QAASxI,GAAM+D,EAAY/D,EAAGwE,CAAW,CAAC,EAGtDX,EAAK,WAAWkD,CAAK,KAAYyB,EAAWzB,CAAK,EAAGvC,CAAW,CACrE,EAQMkE,GAA8B,CAAC7E,EAAgBI,IAAkB,CAC/D,KAAA,CAAE,QAAA1B,GAAYsB,EACdK,EAASD,EAAME,EAAcC,EACnCF,EACE0B,EAAYrD,CAAO,EACnBuG,GACAH,GACAI,EACF,EACA7E,EACE0B,EAAYrD,CAAO,EACnByG,GACAJ,GACAG,EACF,CACF,EAQM3B,GAAkBvD,GAAmB,CACnC,KAAA,CAAE,OAAAoD,EAAQ,QAAA1E,CAAA,EAAYsB,EACtBsD,EAAazE,EACjB,IAAIuD,EAAY,IAAIzB,CAAW,GAC/BjC,CACF,EACA,OAAO4E,EAAa,CAAC,GAAGF,CAAM,EAAE,QAAQE,CAAU,EAAI,EACxD,EAKA,MAAqBX,WAAiBpE,CAAc,CAClD,OAAO,SAAW4D,GAClB,OAAO,KAAOO,GACd,OAAO,YAAcD,GAerB,YAAYjE,EAA0BC,EAAmC,CACvE,MAAMD,EAAQC,CAAM,EAGd,KAAA,CAAE,QAAAC,GAAY,KAGpB,KAAK,UAAY2F,GAAM3F,CAAO,EAAI,QAAU,OAC5C,KAAK,QAAU,GAIV,KAAA,OAAS0G,GAAuBhD,GAAc1D,CAAO,EACpD,KAAA,CAAE,OAAA0E,GAAW,KAIf,GAAAA,EAAO,OAAS,EAAG,OAEjB,MAAAiC,EAAc9B,GAAe,IAAI,EAEjC+B,EAAiB,CAAC,GAAGlC,CAAM,EAAE,KAAMlK,GACvCqM,GAAQrM,EAAG,IAAIkJ,EAAY,OAAO,CACpC,EACA,KAAK,MAAQiD,EAGP,MAAAvD,EAAMC,EAAYrD,CAAO,EAE/B,KAAK,SAAW,CACd,GAAGwF,EAA8B,IAAI5B,EAAW,IAAK5D,CAAO,EAC5D,GAAGwF,EACD,IAAI5B,EAAW,KAAKf,EAAY,MAAM7C,EAAQ,EAAE,KAChDoD,CAAA,CACF,EACA,OAAO,CAACzG,EAAGN,EAAGyK,IAAOzK,IAAMyK,EAAG,QAAQnK,CAAC,CAAC,EAE1C,KAAK,UAAYwD,EACf,IAAI2C,EAAc,cAClB9C,CACF,EAGA,KAAK,WAAa,CAChB,GAAI,KAAK,UACLwF,EAA8B,IAAI7B,EAAa,IAAK,KAAK,SAAS,EAC7B,CAAC,EAC1C,GAAG6B,EACD,IAAI7B,EAAa,KAAKd,EAAY,MAAM7C,EAAQ,EAAE,KAClDoD,CAAA,CACF,EACA,OAAO,CAACzG,EAAGN,EAAGyK,IAAOzK,IAAMyK,EAAG,QAAQnK,CAAC,CAAC,EAGpC,KAAA,CAAE,QAAAgI,GAAY,KAGpB,KAAK,QAAQ,SAAWA,EAAQ,WAAa,GACzCb,GAAiB,SACjBa,EAAQ,SAIRiC,EACF,KAAK,MAAQ,CAAC,GAAGlC,CAAM,EAAE,QAAQkC,CAAc,EACtCD,EAAc,IACvB,KAAK,MAAQ,EACJ/D,EAAA8B,EAAO,CAAC,EAAGzC,CAAW,EAC3B,KAAK,WAAW,QAAQqE,GAA0B,KAAM,CAAC,GAI3D,KAAK,WAAW,QAAkCA,GAAA,KAAM,KAAK,KAAK,EAGtE,KAAK,sBAAsB,EAAI,EAG3B3B,EAAQ,UAAU,KAAK,MAAM,CAAA,CAMnC,IAAI,MAAO,CACF,OAAA5B,EAAA,CAKT,IAAI,UAAW,CACN,OAAAe,EAAA,CAMT,IAAI,UAAW,CACN,OAAApD,EAAS,KAAK,QAASmD,EAAW,CAAA,CAM3C,IAAI,aAAc,CACT,OAAA1D,EACL,IAAIuD,EAAY,UAAUA,EAAY,QACtC,KAAK,OAAA,IACD,IAAA,CAMR,OAAQ,CACN,KAAM,CAAE,QAAA1D,EAAS,QAAA2E,EAAS,SAAAoC,EAAU,MAAAvC,CAAU,EAAA,KAExCQ,EAAA,MAAMhF,EAAS8C,EAAc,EAC/BiE,IACI/B,EAAA,MAAMhF,EAAS6D,EAAW,EAChCrC,EAAYxB,EAAS6D,EAAW,GAG5BmB,EAAA,IACJhF,EACA,IAAM,CAKF,KAAK,SAAW,CAAC,KAAK,UAAY,CAAC,KAAK,SACxCyF,GAAuBzF,CAAO,GAEzB,KAAA,GAAGwE,EAAQ,CAAC,CAErB,EACAG,EAAQ,SACR7B,EACF,CAAA,CAIF,OAAQ,CACA,KAAA,CAAE,QAAA9C,EAAS,QAAA2E,CAAA,EAAY,KAEzB,KAAK,UAAY,CAACA,EAAQ,WAE9B/B,EAAS5C,EAAS6D,EAAW,EACvBmB,EAAA,IACJhF,EACA,IAAM,CAEN,EACA,EACA6D,EACF,EAAA,CAIF,MAAO,CAEA,KAAK,aACH,KAAA,GAAG,KAAK,MAAQ,CAAC,CACxB,CAIF,MAAO,CAEA,KAAK,aACH,KAAA,GAAG,KAAK,MAAQ,CAAC,CACxB,CAQF,GAAGmD,EAAa,CACd,KAAM,CAAE,QAAAhH,EAAS,OAAA0E,EAAQ,QAAAC,CAAY,EAAA,KAC/BC,EAAaC,GAAe,IAAI,EAChCa,EAAMC,GAAM3F,CAAO,EACzB,IAAIiH,EAAOD,EAMT,GAAA,KAAK,aAAepC,IAAeqC,GACnCjC,EAAM,IAAIhF,EAAS4D,EAAW,EAC9B,OAKAgB,EAAaqC,GAASrC,IAAe,GAAKqC,IAASvC,EAAO,OAAS,EAE9D,KAAA,UAAYgB,EAAM,QAAU,QAEjCd,EAAaqC,GAASrC,IAAeF,EAAO,OAAS,GAAKuC,IAAS,KAE9D,KAAA,UAAYvB,EAAM,OAAS,SAE5B,KAAA,CAAE,UAAAjB,GAAc,KAGlBwC,EAAO,EACTA,EAAOvC,EAAO,OAAS,EACduC,GAAQvC,EAAO,SACjBuC,EAAA,GAIH,MAAAnC,EAAcL,IAAc,OAAS,OAAS,OAC9CM,EAAiBN,IAAc,OAAS,QAAU,MAElDyC,EAAkB,CACtB,cAAexC,EAAOuC,CAAI,EAC1B,KAAMrC,EACN,GAAIqC,EACJ,UAAAxC,CACF,EAGA0C,GAAa9C,GAAoB6C,CAAe,EAChDC,GAAa7C,GAAmB4C,CAAe,EAG/C3F,EAAcvB,EAASqE,EAAkB,EACrC,CAAAA,GAAmB,mBAGvB,KAAK,MAAQ4C,EACbX,GAA0B,KAAMW,CAAI,EAGlCG,GAA6B1C,EAAOuC,CAAI,CAAC,GACzCvG,EAASV,EAAS,OAAO,EAEnBgF,EAAA,IACJhF,EACA,IAAM,CACJ4C,EAAS8B,EAAOuC,CAAI,EAAG,GAAGvD,EAAY,IAAIoB,CAAW,EAAE,EAChDuC,GAAA3C,EAAOuC,CAAI,CAAC,EACnBrE,EAAS8B,EAAOuC,CAAI,EAAG,GAAGvD,EAAY,IAAIqB,CAAc,EAAE,EAC1DnC,EAAS8B,EAAOE,CAAU,EAAG,GAAGlB,EAAY,IAAIqB,CAAc,EAAE,EAGhEtD,EACEiD,EAAOuC,CAAI,EACX,IACE,KAAK,QAAU,KAAK,OAAO,QAC3B1C,GAA6B,IAAI,CACrC,CACF,EACA,EACAX,EACF,GAEShB,EAAA8B,EAAOuC,CAAI,EAAGhF,CAAW,EACtBT,EAAAkD,EAAOE,CAAU,EAAG3C,CAAW,EAErC+C,EAAA,IACJhF,EACA,IAAM,CACEgF,EAAA,MAAMhF,EAAS4D,EAAW,EAG5B5D,GAAW2E,EAAQ,UAAY,CAAC,KAAK,UACvC,KAAK,MAAM,EAGbpD,EAAcvB,EAASsE,EAAiB,CAC1C,EACA,EACAV,EACF,GACF,CAQF,sBAAyBlC,GAAkB,CACzC,KAAM,CAAE,QAAA1B,EAAS,QAAA2E,EAAS,OAAAD,EAAQ,SAAAsB,EAAU,WAAAC,GAAe,KACrD,CAAE,MAAAqB,EAAO,MAAAC,EAAO,SAAAC,EAAU,SAAAC,CAAa,EAAA9C,EACvChD,EAASD,EAAME,EAAcC,EAE/B0F,GAASC,IACJ7F,EAAA3B,EAAS0H,GAAiBzC,EAAoB,EAC9CtD,EAAA3B,EAAS2H,GAAiBzC,EAAqB,GAGpDoC,GAAS5C,EAAO,OAAS,IAC3B/C,EACE3B,EACA4H,GACA7B,GACAS,EACF,EACA7E,EAAO3B,EAAS6H,GAAiB/B,GAAqB,CAAE,QAAS,GAAO,EACxEnE,EAAO3B,EAAS8H,GAAgBhC,GAAqB,CAAE,QAAS,GAAO,GAIrEE,EAAS,QACFA,EAAA,QAAS+B,GAAU,CAErBtH,GAAWsH,CAAK,GACZpG,EAAAoG,EAAO/F,EAAiBqD,EAAuB,CACxD,CACD,EAICY,EAAW,QACFA,EAAA,QAAS+B,GAAc,CAE3BvH,GAAWuH,CAAS,GAChBrG,EAAAqG,EAAWhG,EAAiBmD,EAAwB,CAC7D,CACD,EAGCsC,GACF9F,EAAO0B,EAAYrD,CAAO,EAAGiI,GAAc3C,EAAkB,CAEjE,EAGA,SAAU,CACF,KAAA,CAAE,YAAA4C,GAAgB,KAElBC,EAAQ,CACZ,GAAG,KACH,YAAAD,CACF,EACA,KAAK,sBAAsB,EAC3B,MAAM,QAAQ,EAGVC,EAAM,aACR1G,EAAqB0G,EAAM,OAAOA,EAAM,KAAK,EAAG,IAAM,CACpD5D,GAA6B4D,CAAK,CAAA,CACnC,CACH,CAEJ,CCtwBA,MAAMC,GAAkB,aCHlBC,EAAiB,WCAjBC,GAAoB,WCuCpBC,GAAmB,IAAIF,CAAc,GACrCG,GAAyB,IAAItG,EAAY,KAAKmG,CAAc,KAC5DI,GAAmB,CAAE,OAAQ,IAAK,EAMlCC,GAAuB1I,GAC3Be,EAAsBf,EAASsI,EAAiB,EAK5CK,GAAwB3I,GAAqB,IAAI4I,GAAS5I,CAAO,EAIjE6I,GAAoB1H,EAGxB,WAAWkH,CAAc,EAAE,EACvBS,GAAqB3H,EAGzB,YAAYkH,CAAc,EAAE,EACxBU,GAAoB5H,EAGxB,WAAWkH,CAAc,EAAE,EACvBW,GAAsB7H,EAG1B,aAAakH,CAAc,EAAE,EASzBY,GAAkB3H,GAAmB,CACzC,KAAM,CAAE,QAAAtB,EAAS,OAAAkJ,EAAQ,SAAAC,CAAa,EAAA7H,EAEtCC,EAAcvB,EAAS6I,EAAiB,EACnCA,GAAkB,mBACf7D,EAAA,IAAIhF,EAASoJ,GAAM,EAAE,EACvBF,GAAQlE,EAAM,IAAIkE,EAAQE,GAAM,EAAE,EAEtCxG,EAAS5C,EAASoI,EAAe,EACjC5G,EAAYxB,EAASqI,CAAc,EAEnCgB,EAAgBrJ,EAAS,CAAE,OAAQ,GAAGA,EAAQ,YAAY,KAAM,EAEhEyB,EAAqBzB,EAAS,IAAM,CAClCgF,EAAM,MAAMhF,CAAO,EACfkJ,GAAclE,EAAA,MAAMkE,CAAM,EAE9BC,EAAS,QAASG,GAAQ7G,EAAa6G,EAAKC,GAAc,MAAM,CAAC,EAEjE/H,EAAYxB,EAASoI,EAAe,EACpCxF,EAAS5C,EAASqI,CAAc,EAChCzF,EAAS5C,EAASR,CAAS,EAE3B6J,EAAgBrJ,EAAS,CAAE,OAAQ,EAAA,CAAI,EAEvCuB,EAAcvB,EAAS8I,EAAkB,CAAA,CAC1C,EAEL,EAOMU,GAAmBlI,GAAmB,CAC1C,KAAM,CAAE,QAAAtB,EAAS,OAAAkJ,EAAQ,SAAAC,CAAa,EAAA7H,EAEtCC,EAAcvB,EAAS+I,EAAiB,EAEnCA,GAAkB,mBACf/D,EAAA,IAAIhF,EAASoJ,GAAM,EAAE,EACvBF,GAAQlE,EAAM,IAAIkE,EAAQE,GAAM,EAAE,EAEtCC,EAAgBrJ,EAAS,CAAE,OAAQ,GAAGA,EAAQ,YAAY,KAAM,EAEhEwB,EAAYxB,EAASqI,CAAc,EACnC7G,EAAYxB,EAASR,CAAS,EAC9BoD,EAAS5C,EAASoI,EAAe,EAEjCf,GAAOrH,CAAsB,EAC7BqJ,EAAgBrJ,EAAS,CAAE,OAAQ,KAAA,CAAO,EAE1CyB,EAAqBzB,EAAS,IAAM,CAClCgF,EAAM,MAAMhF,CAAO,EAEfkJ,GAAclE,EAAA,MAAMkE,CAAM,EAE9BC,EAAS,QAASG,GAAQ7G,EAAa6G,EAAKC,GAAc,OAAO,CAAC,EAElE/H,EAAYxB,EAASoI,EAAe,EACpCxF,EAAS5C,EAASqI,CAAc,EAEhCgB,EAAgBrJ,EAAS,CAAE,OAAQ,EAAA,CAAI,EAEvCuB,EAAcvB,EAASgJ,EAAmB,CAAA,CAC3C,EAEL,EASMS,GAAwB,GAA+B,CACrD,KAAA,CAAE,OAAA3J,GAAW,EACb4J,EAAU5J,GACd0D,EAAQ1D,EAAQ0I,EAAsB,EAClCxI,EAAU0J,GAAWxG,EAAiBwG,CAAO,EAC7CpI,EAAOtB,GAAW0I,GAAoB1I,CAAO,EAG9CsB,IAELA,EAAK,OAAO,EAERoI,GAAS,UAAY,KAAK,EAAE,eAAe,EACjD,EAMA,MAAqBd,WAAiB/I,CAAc,CAClD,OAAO,SAAW0I,GAClB,OAAO,KAAOI,GACd,OAAO,YAAcD,GAUrB,YAAY5I,EAA0BC,EAAmC,CACvE,MAAMD,EAAQC,CAAM,EAGd,KAAA,CAAE,QAAAC,EAAS,QAAA2E,CAAA,EAAY,KACvBvB,EAAMC,EAAYrD,CAAO,EAG/B,KAAK,SAAW,CAAC,GAAGwF,EAAiBgD,GAAwBpF,CAAG,CAAC,EAAE,OAChEkG,GAAQpG,EAAiBoG,CAAG,IAAMtJ,CACrC,EAGA,KAAK,OAAS2J,EAAchF,EAAQ,MAAM,EACtCA,EAAQ,OACRzE,GAASyE,EAAQ,MAAM,EACvBzB,EAAiBlD,CAAO,GAAKG,EAAcwE,EAAQ,OAAQvB,CAAG,EAC9D,KAGJ,KAAK,sBAAsB,EAAI,CAAA,CAMjC,IAAI,MAAO,CACF,OAAAkF,EAAA,CAKT,IAAI,UAAW,CACN,OAAAG,EAAA,CAMT,MAAO,CACC,KAAA,CAAE,SAAAU,EAAU,QAAAnJ,CAAA,EAAY,KAEzBgF,EAAM,IAAIhF,CAAO,IACpBwJ,GAAgB,IAAI,EAEhBL,EAAS,QACFA,EAAA,QAASG,GAAQ1G,EAAS0G,EAAK,GAAGjB,CAAc,GAAG,CAAC,EAEjE,CAIF,MAAO,CACL,KAAM,CAAE,QAAArI,EAAS,OAAAkJ,EAAQ,SAAAC,CAAa,EAAA,KAClC,IAAAS,EACAC,EAEAX,IACeU,EAAA,CACf,GAAGpE,EAAiB,IAAI6C,CAAc,IAAI7I,CAAS,GAAI0J,CAAM,GAC7D,KAAM7M,GAAMqM,GAAoBrM,CAAC,CAAC,EACXwN,EAAAD,GACvBlB,GAAoBkB,CAAc,IAGjC,CAACV,GAAU,CAAClE,EAAM,IAAIkE,CAAM,IAAM,CAAClE,EAAM,IAAIhF,CAAO,IACnD6J,GAA0BD,IAAmB5J,IAC/CwJ,GAAgBK,CAAsB,EACfA,EAAA,SAAS,QAASP,GAAQ,CACtC1G,EAAA0G,EAAK,GAAGjB,CAAc,GAAG,CAAA,CACnC,GAGHY,GAAe,IAAI,EAEfE,EAAS,QACFA,EAAA,QAASG,GAAQ9H,EAAY8H,EAAK,GAAGjB,CAAc,GAAG,CAAC,EAEpE,CAIF,QAAS,CACF3H,EAAS,KAAK,QAASlB,CAAS,OAC3B,KAAK,OAD8B,KAAK,CACnC,CAQjB,sBAAyBkC,GAAkB,CACnC,MAAAC,EAASD,EAAME,EAAcC,EAC7B,CAAE,SAAAsH,GAAa,KAGjBA,EAAS,QACFA,EAAA,QAASG,GAAQ,CACnB7I,GAAW6I,CAAG,GACV3H,EAAA2H,EAAKtH,EAAiByH,EAAoB,CACnD,CACD,CAEL,EAGA,SAAU,CACR,KAAK,sBAAsB,EAE3B,MAAM,QAAQ,CAAA,CAElB,CC5SA,MAAMK,GAAsB,CAAC,WAAY,SAAU,YAAa,SAAS,ECFnEC,GAAoB,WCEpBC,GAAoB,gBCMpBC,GAAiBjK,GAAyB,CAExC,MAAAkK,EAAe1G,EAAQxD,EAAS,GAAG,EACzC,OACGA,EAAQ,UAAY,KAEnBmK,GAAanK,EAAS,MAAM,GAC3BW,EAAaX,EAAS,MAAM,GAAI,MAAM,EAAE,IAAM,KAEhDkK,GACCC,GAAaD,EAAc,MAAM,GAChCvJ,EAAauJ,EAAc,MAAM,GAAI,MAAM,EAAE,IAAM,GAE1D,EC4BM,CAACE,GAAgBC,GAAcC,GAAiBC,EAAa,EACjEC,GACIC,GAAmB,IAAIvI,EAAY,KAAKkI,EAAc,KAMtDM,GAAuB1K,GAC3Be,EAAsBf,EAAS+J,EAAiB,EAK5CY,GAAwB3K,GAAqB,IAAI4K,GAAS5K,CAAO,EAKjE6K,GAAuB,GAAGb,EAAiB,OAC3Cc,GAAgB,CAACV,GAAgBC,EAAY,EAC7CU,GAAkB,CAACT,GAAiBC,EAAa,EACjDS,GAAgB,CAAC,IAAK,QAAQ,EAE9BC,GAAmB,CACvB,OAAQ,EACR,QAAS,SACX,EAMMC,GAAoB/J,EACxB,WAAWiJ,EAAc,EAC3B,EACMe,GAAqBhK,EACzB,YAAYiJ,EAAc,EAC5B,EACMgB,GAAoBjK,EACxB,WAAWiJ,EAAc,EAC3B,EACMiB,GAAsBlK,EAG1B,aAAaiJ,EAAc,EAAE,EACzBkB,GAAuBnK,EAG3B,cAAciJ,EAAc,EAAE,EAU1BmB,GAAiBjK,GAAmB,CACxC,KAAM,CAAE,QAAAtB,EAAS,KAAAwL,EAAM,cAAAC,EAAe,QAAA9G,CAAY,EAAArD,EAC5C,CAAE,OAAAoK,GAAW/G,EAInB,GAAIgH,EAAgBH,EAAM,UAAU,IAAM,SAAU,CAC5C,MAAA9F,EAAMC,GAAM3F,CAAO,EAEnB4L,EAAUlL,EAAS8K,EAAMX,EAAoB,EAGhC,CAAC,SAAU,MAAO,SAAU,OAAQ,OAAO,EACnD,QAASjO,GAAM,CAExB,MAAMiP,GAAmC,CAAC,EAC1CA,GAAMjP,CAAC,EAAI,GACXyM,EAAgBmC,EAAMK,EAAK,CAAA,CAC5B,EAKD,IAAIC,EAAgBtB,GAAgB,KAAM7N,GACxC+D,EAAS+K,EAAe9O,CAAC,CAC3B,GAEEyN,GAEF,MAAM2B,EAA8C,CAClD,SAAU,CAACL,EAAQ,EAAG,CAAC,EACvB,OAAQ,CAAC,EAAG,EAAGA,CAAM,EACrB,UAAWhG,EAAM,CAAC,GAAI,EAAG,EAAGgG,CAAM,EAAI,CAAC,GAAIA,EAAQ,CAAC,EACpD,QAAShG,EAAM,CAAC,GAAIgG,EAAQ,CAAC,EAAI,CAAC,GAAI,EAAG,EAAGA,CAAM,CACpD,EAEMM,EAAgE,CACpE,SAAU,CAAE,IAAK,MAAO,EACxB,OAAQ,CAAE,IAAK,OAAQ,OAAQ,MAAO,EACtC,UAAWtG,EACP,CAAE,KAAM,OAAQ,MAAO,MAAO,EAC9B,CAAE,KAAM,OAAQ,MAAO,MAAO,EAClC,QAASA,EACL,CAAE,KAAM,OAAQ,MAAO,MAAO,EAC9B,CAAE,KAAM,OAAQ,MAAO,MAAO,EAClC,UAAWA,EACP,CAAE,MAAO,IAAK,KAAM,MAAO,EAC3B,CAAE,MAAO,OAAQ,KAAM,GAAI,EAC/B,QAASA,EACL,CAAE,MAAO,OAAQ,KAAM,GAAI,EAC3B,CAAE,MAAO,IAAK,KAAM,MAAO,CACjC,EAEM,CAAE,YAAauG,EAAW,aAAcC,CAAe,EAAAV,EAEvD,CAAE,YAAAW,EAAa,aAAAC,IAAiBC,GAAmBrM,CAAO,EAC1D,CACJ,KAAMsM,EACN,IAAKC,EACL,MAAOC,GACP,OAAQC,EAAA,EACNC,GAAsB1M,CAAO,EAG3B2M,EAAiBL,EAAaL,EAAYP,EAAS,EAEnDkB,GACJN,EAAaL,EAAYO,GAAcd,GAAUS,EAE7CU,GAAeN,EAAYL,EAAaR,GAAUU,GAElDU,GACJP,EAAYL,EAAaO,GAAef,GAAUU,GAE9CW,GAAYR,EAAYL,EAAaR,EAAS,EAE9CsB,GAAe,CAACtH,GAAOkG,GAAalG,GAAO,CAACkG,IAChDU,EAAaE,GAAcP,EAAY,EACnCgB,GAAgBvH,GAAOkG,GAAa,CAAClG,GAAO,CAACkG,IACjDU,EAAaL,GAAaE,EAsC5B,GAjCEpB,GAAgB,SAASe,CAAa,GAAKa,GAC3CC,KAEgBd,EAAA1B,IAGhB0B,IAAkBxB,KAChB5E,EAAuBkH,GAAjBD,KAEQb,EAAAvB,IAGhBuB,IAAkBvB,KACjB7E,EAAMiH,EAAiBC,MAERd,EAAAxB,IAEdwB,IAAkBzB,IAAgB0C,IAAa,CAACD,KAClChB,EAAA1B,IAEd0B,IAAkB1B,IAAkB0C,IAAoB,CAACC,KAC3CjB,EAAAzB,IAIdU,GAAgB,SAASe,CAAa,GAAKe,IAChC1F,GAAA6E,EAAiBF,CAAa,EAAG,CAC5C,IAAK,OACL,OAAQ,CAAA,CACT,EAIChB,GAAc,SAASgB,CAAa,IAAMkB,GAAcC,GAAc,CAGxE,IAAIC,EAEY,CAAE,KAAM,OAAQ,MAAO,MAAO,EAE1C,CAACF,GAAcC,GAAe,CAACvH,IACjCwH,EAAW,CAAE,KAAM,OAAQ,MAAO,CAAE,GAGlCF,GAAc,CAACC,GAAevH,IAChCwH,EAAW,CAAE,KAAM,EAAG,MAAO,MAAO,GAGlCA,GACW/F,GAAA6E,EAAiBF,CAAa,EAAGoB,CAAQ,CACxD,CAGI,MAAAC,GAAoBpB,EAAeD,CAAa,EACtDzC,EAAgBmC,EAAM,CACpB,GAAGQ,EAAiBF,CAAa,EACjC,OAAQ,GAAGqB,GAAQ,IAAK1P,GAAOA,GAAI,GAAGA,CAAC,IAAS,EAAE,KAAK,GAAG,CAAC,EAAA,CAC5D,EAGGqN,GAAc,SAASgB,CAAa,GAAKF,GAEvCA,GAIcvC,EAAAmC,EAAMQ,EAHH,CAACtG,GAAOsH,GAAgBtH,GAAOuH,EAC9C,YACqC,SACO,CAAC,EAIrD1L,EAAckK,EAAeH,EAAoB,CAAA,CAErD,EAQM8B,GAAgB5B,GACb,MAAM,KAAKA,EAAK,QAAQ,EAC5B,IAAK7O,GAAM,CACV,GAAIA,GAAKqO,GAAc,SAASrO,EAAE,OAAO,EAAU,OAAAA,EAC7C,KAAA,CAAE,kBAAA0Q,GAAsB1Q,EAC9B,OACE0Q,GAAqBrC,GAAc,SAASqC,EAAkB,OAAO,EAE9DA,EAEF,IACR,CAAA,EACA,OAAQ1Q,GAAMA,CAAC,EASd2Q,GAAyBhM,GAAmB,CAChD,KAAM,CAAE,QAAAtB,EAAS,QAAA2E,EAAS,KAAA6G,CAAS,EAAAlK,EAC7BK,EAASL,EAAK,KAAOM,EAAcC,EACnCuB,EAAMC,EAAYrD,CAAO,EAExB2B,EAAAyB,EAAKpB,EAAiBuL,EAAsB,EAC5C5L,EAAAyB,EAAKoK,GAAYD,EAAsB,EACvC5L,EAAAyB,EAAK6E,GAAcwF,EAAqB,EACxC9L,EAAAyB,EAAKsK,GAAYC,EAAkB,EAGtChJ,EAAQ,UAAY,YAClBrD,EAAK,KAAWA,EAAA,UAAU,QAAQkK,CAAI,EACrClK,EAAK,UAAU,WAAW,EAEnC,EAQMsM,GACJ5N,GACwB,CACxB,MAAM6N,EAAgB,CAAC,GAAGrD,GAAiB,YAAa,aAAa,EAClE,IAAK7N,GACJ+J,GAAuB,GAAG/J,CAAC,IAAI6C,CAAS,GAAI6D,EAAYrD,CAAO,CAAC,CAEjE,EAAA,KAAMvC,GAAMA,EAAE,MAAM,EAEnB,GAAAoQ,GAAiBA,EAAc,OACjC,MAAO,CAAC,GAAIA,EAAc,CAAC,EAAE,QAAsC,EAChE,KAAMpQ,GACL+M,GAAgB,KAAM7N,GAAMA,IAAMgE,EAAalD,EAAGyE,EAAY,CAAC,CACjE,CAGN,EASMqL,GAA0B,GAAkB,CAC1C,KAAA,CAAE,OAAAzN,EAAQ,KAAAgO,CAAA,EAAS,EAGrB,GAAA,CAACnE,EAAc7J,CAAM,EAAG,OAGtB,MAAAE,EAAU4N,GAAuB9N,CAAM,EACvCwB,EAAOtB,GAAW0K,GAAoB1K,CAAO,EAGnD,GAAI,CAACsB,EAAM,OAEL,KAAA,CAAE,cAAAmK,EAAe,KAAAD,CAAA,EAASlK,EAE1ByM,EAAStC,GACbA,EAAc,SAAS3L,CAAM,IAC5BA,EAAO,UAAY,QAAU0D,EAAQ1D,EAAQ,MAAM,IAAM,MAG1D,CAACkC,EAAiBgM,EAAc,EAAE,SAASF,CAAI,GAC/C7D,GAAcnK,CAAM,GAEpB,EAAE,eAAe,EAKjB,CAACiO,GAAUD,IAASN,IAAc1N,IAAWE,GAAWF,IAAW0L,GAEnElK,EAAK,KAAK,CAEd,EAOM2M,GAAwB,GAA+B,CACrD,KAAA,CAAE,OAAAnO,GAAW,EACbE,EAAUF,GAAU0D,EAAQ1D,EAAQ2K,EAAgB,EACpDnJ,EAAOtB,GAAW0K,GAAoB1K,CAAO,EAG9CsB,IAEL,EAAE,gBAAgB,EAClBA,EAAK,OAAO,EAERtB,GAAWiK,GAAcjK,CAAO,KAAK,eAAe,EAC1D,EAOMyN,GAAyB,GAAqB,CAE9C,CAACS,GAAcC,EAAU,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,eAAe,CACpE,EAOA,SAASR,GAAkC,EAAkB,CACrD,KAAA,CAAE,KAAApI,GAAS,EACXvF,EAAU4N,GAAuB,IAAI,EAE3C,GAAI,CAAC5N,EAAS,OAER,MAAAsB,EAAOoJ,GAAoB1K,CAAO,EAClC,CAAE,cAAAoO,CAAA,EAAkB/K,EAAYrD,CAAO,EAKzC,GAAA,CAACsB,GAAQ,CAAC8M,EAAe,OAEvB,KAAA,CAAE,KAAA5C,EAAM,KAAA6C,CAAA,EAAS/M,EACjBgN,EAAYlB,GAAa5B,CAAI,EAIjC,GAAA8C,GAAaA,EAAU,QAAU,CAACJ,GAAcC,EAAU,EAAE,SAAS5I,CAAI,EACzE,CACI,IAAAyB,EAAMsH,EAAU,QAAQF,CAAa,EAErCA,IAAkBpO,EACdgH,EAAA,EACGzB,IAAS4I,GACZnH,EAAAA,EAAM,EAAIA,EAAM,EAAI,EACjBzB,IAAS2I,KAClBlH,EAAMA,EAAMsH,EAAU,OAAS,EAAItH,EAAM,EAAIA,GAG3CsH,EAAUtH,CAAG,GAASuH,GAAAD,EAAUtH,CAAG,CAAgB,CAAA,CAGrDwH,KAAcjJ,GAAQ8I,IACxB/M,EAAK,OAAO,EACZiN,GAAMvO,CAAO,EAEjB,CAGA,SAASyO,GAA4B3O,EAAiB,CAC9C,MAAAE,EAAU4N,GAAuB9N,CAAM,EACvCwB,EAAOtB,GAAW0K,GAAoB1K,CAAO,EAG/CsB,GAAQA,EAAK,MAAMiK,GAAcjK,CAAI,CAC3C,CAKA,MAAqBsJ,WAAiB/K,CAAc,CAClD,OAAO,SAAW4K,GAClB,OAAO,KAAOE,GACd,OAAO,YAAcD,GAYrB,YAAY5K,EAA0BC,EAAmC,CACvE,MAAMD,EAAQC,CAAM,EAGd,KAAA,CAAE,cAAA0L,GAAkB,KAAK,QACzB,CAACD,CAAI,EAAI9E,GACbsD,GACAyB,CACF,EAIKD,IAGL,KAAK,cAAgBC,EACrB,KAAK,KAAOD,EACZ,KAAK,UAAY,IAAI,qBACnB,CAAC,CAACkD,CAAK,IAAMD,GAA4BC,EAAM,MAAM,EACrD,CAAE,UAAW,CAAE,CACjB,EAGA,KAAK,sBAAsB,EAAI,EAAA,CAMjC,IAAI,MAAO,CACF,OAAA3E,EAAA,CAKT,IAAI,UAAW,CACN,OAAAkB,EAAA,CAMT,QAAS,CACH,KAAK,KAAM,KAAK,KAAK,OACf,KAAK,CAAA,CAIjB,MAAO,CACL,KAAM,CAAE,QAAAjL,EAAS,KAAAqO,EAAM,KAAA7C,EAAM,cAAAC,CAAkB,EAAA,KAG/C,GAAI4C,EAAM,OACJ,MAAAM,EAAiBf,GAAuB5N,CAAO,EAC/C4O,EAAkBD,GACtBjE,GAAoBiE,CAAc,EAChCC,KAAiC,KAAK,EAGzC,CAAA1D,GAAmBC,GAAoBG,EAAoB,EAAE,QAC3DnR,GAAM,CACLA,EAAE,cAAgB6F,CAAA,CAEtB,EAEAuB,EAAckK,EAAeP,EAAiB,EAE1C,CAAAA,GAAkB,mBAEtBtI,EAAS4I,EAAMhM,CAAS,EACxBoD,EAAS6I,EAAejM,CAAS,EACpBiD,EAAAzC,EAASuJ,GAAc,MAAM,EAG1CgC,GAAc,IAAI,EAElB,KAAK,KAAO,CAAC8C,EAEbE,GAAMvO,CAAO,EACbsN,GAAsB,IAAI,EAC1B/L,EAAckK,EAAeN,EAAkB,EAAA,CAIjD,MAAO,CACL,KAAM,CAAE,QAAAnL,EAAS,KAAAqO,EAAM,KAAA7C,EAAM,cAAAC,CAAkB,EAAA,KAG1C4C,IAEL,CAACjD,GAAmBC,EAAmB,EAAE,QAASlR,GAAM,CACtDA,EAAE,cAAgB6F,CAAA,CACnB,EAEDuB,EAAckK,EAAeL,EAAiB,EAE1C,CAAAA,GAAkB,mBAEtB5J,EAAYgK,EAAMhM,CAAS,EAC3BgC,EAAYiK,EAAejM,CAAS,EACvBiD,EAAAzC,EAASuJ,GAAc,OAAO,EAE3C,KAAK,KAAO,CAAC8E,EAEbf,GAAsB,IAAI,EAC1B/L,EAAckK,EAAeJ,EAAmB,GAAA,CAQlD,sBAAyB3J,GAAkB,CACnC,MAAAC,EAASD,EAAME,EAAcC,EAE9BpB,GAAW,KAAK,OAAO,GACnBkB,EAAA,KAAK,QAASK,EAAiBiM,EAAoB,CAE9D,EAGA,SAAU,CACJ,KAAK,MAAM,KAAK,KAAK,EAEzB,KAAK,sBAAsB,EAC3B,MAAM,QAAQ,CAAA,CAElB,CC5lBA,MAAMY,EAAc,QCAdC,GAAiB,QCAjBC,GAAqB,YCErBC,GAAgB,YCAhBC,GAAmB,eCAnBC,GAAiB,aCAjBC,GAAsB,kBCYtBC,GAAiBlG,GAAwB,CAC7C,GAAGxC,GAAoCsI,GAAe9F,CAAM,EAC5D,GAAGxC,GAAoCuI,GAAkB/F,CAAM,EAC/D,GAAGxC,GAAoCwI,GAAgBhG,CAAM,EAC7D,GAAGxC,GAAoCyI,GAAqBjG,CAAM,EAClE,GAAGxC,GAAoC,WAAYwC,CAAM,CAC3D,EAQamG,GAAkBrP,GAAsB,CAC7C,MAAAsP,EAAKC,GAAgBvP,CAAO,EAClCqJ,EAAgBiG,EAAI,CAClB,aAAc,GACd,SAAU,EAAA,CACX,EAEK,MAAAE,EAAaJ,GAAcE,CAAE,EAG/BE,EAAW,QACFA,EAAA,QAASC,GAAU,CAC5BpG,EAAgBoG,EAAO,CACrB,aAAc,GACd,YAAa,EAAA,CACd,CAAA,CACF,CAEL,EASaC,GAAoB1P,GAAqB,CACpD,KAAM,CAAE,YAAAmM,CAAA,EAAgBE,GAAmBrM,CAAO,EAC5C,CAAE,WAAA2P,CAAA,EAAeC,GAAU5P,CAAO,EACjC,OAAA,KAAK,IAAI2P,EAAaxD,CAAW,CAC1C,EASa0D,GAAe,CAAC7P,EAAkB8P,IAAuB,CAC9D,MAAAR,EAAKC,GAAgBvP,CAAO,EAC5B+P,EAAU,SAASpE,EAAgB2D,EAAI,cAAc,EAAG,EAAE,EAE1DU,EADSrE,EAAgB2D,EAAI,UAAU,IAAM,UACzBS,EACK,EAC3BL,GAAiB1P,CAAO,EACtBwP,EAAaJ,GAAcE,CAAE,EAG9BQ,IAELzG,EAAgBiG,EAAI,CAClB,SAAU,SACV,aAAc,GAAGS,EAAUC,CAAO,IAAA,CACnC,EAGIR,EAAW,QAELA,EAAA,QAASC,GAAU,CACtB,MAAAQ,EAAetE,EAAgB8D,EAAO,cAAc,EAIxD,GAHFA,EAAM,MAAM,aAAe,GAAG,SAASQ,EAAc,EAAE,EAAID,CAAO,KAGhE,CAACd,GAAgBC,EAAmB,EAAE,KAAMxS,GAAM+D,EAAS+O,EAAO9S,CAAC,CAAC,EACpE,CACM,MAAAuT,EAAavE,EAAgB8D,EAAO,aAAa,EACvDA,EAAM,MAAM,YAAc,GAAG,SAASS,EAAY,EAAE,EAAIF,CAAO,IAAA,CACjE,CACD,EACH,ECnGMG,EAAkB,YCElBC,GAAiBC,GAAc,CACnC,QAAS,MACT,UAAW,iBACb,CAAC,EAEKC,GAAc,CAACxQ,EAAiByQ,IAAiC,CACrE,MAAMC,EAAkBC,EAAOF,CAAe,GAC5CA,EAAgB,WAAa,OACzBG,EAASD,EAAOF,CAAe,GAAK,CAACC,EACvCD,EACAH,GACEO,EAAOH,EAAkBD,EAAkBhB,GAAgBzP,CAAM,EAGnE2Q,EAAO3Q,CAAM,IACX4Q,IAAWN,IACbO,EAAK,OAAOP,EAAc,EAE5BM,EAAO,OAAO5Q,CAAM,EAExB,EAEM8Q,GAAc,CAAC9Q,EAAiByQ,IAAiC,CACrE,MAAMC,EAAkBC,EAAOF,CAAe,GAC5CA,EAAgB,WAAa,OACzBG,EAASD,EAAOF,CAAe,GAAK,CAACC,EACvCD,EACAH,GAGAK,EAAO3Q,CAAM,IACfA,EAAO,OAAO,EAEV4Q,IAAWN,IAAkB,CAACA,GAAe,SAAS,QACxDA,GAAe,OAAO,EAG5B,EAEMS,GAAW,CAAC/Q,EAAiByQ,IAAiC,CAClE,MAAMG,EAASD,EAAOF,CAAe,GAAKA,EAAgB,WAAa,OACnEA,EACAH,GACJ,OAAOK,EAAO3Q,CAAM,GAAK4Q,EAAO,SAAS5Q,CAAM,CACjD,EC7BMgR,GAAiB,WACjBC,GAAqB,GAAGlC,CAAW,IAAIiC,EAAc,GACrDE,GAAyB,GAAGb,CAAe,IAAIW,EAAc,GAC7DG,GAAsB,IAAIpC,CAAW,IAAIrP,CAAS,GAClD0R,GAA0B,IAAIf,CAAe,IAAI3Q,CAAS,GAG1D2R,EAAUd,GAAc,KAAK,EAQ7Be,GAAkBpR,GACfG,EACL,GAAG8Q,EAAmB,IAAIC,EAAuB,GACjD7N,EAAYrD,CAAO,CACrB,EAQIqR,GAAqBC,GAAsB,CACzC,MAAAC,EAAcD,EAAUP,GAAqBC,GACnD,CAACD,GAAoBC,EAAsB,EAAE,QAASrU,GAAM,CAC1D6E,EAAY2P,EAASxU,CAAC,CAAA,CACvB,EACDiG,EAASuO,EAASI,CAAW,CAC/B,EASMC,GAAgB,CACpBxR,EACAyR,EACAH,IACG,CACHD,GAAkBC,CAAO,EACbhB,GAAAa,EAAS5B,GAAgBvP,CAAO,CAAC,EACzCyR,GAAkB7O,EAAAuO,EAAS5R,CAAS,CAC1C,EAKMmS,GAAc,IAAM,CACnBhR,EAASyQ,EAAS3R,CAAS,IAC9BoD,EAASuO,EAAS3R,CAAS,EAC3B6H,GAAO8J,CAAO,EAElB,EAKMQ,GAAc,IAAM,CACxBnQ,EAAY2P,EAAS3R,CAAS,CAChC,EAOMoS,GAAiB5R,GAA4B,CAC5CoR,GAAepR,CAAO,IACzBwB,EAAY2P,EAAS5R,CAAS,EAClBqR,GAAAO,EAAS5B,GAAgBvP,CAAO,CAAC,EAC7CqP,GAAerP,CAAO,EAE1B,EC5FM6R,GAAa7R,GACV2J,EAAc3J,CAAO,GAC1B2L,EAAgB3L,EAAS,YAAY,IAAM,UAC3CA,EAAQ,eAAiB,KCsDvB8R,GAAgB,IAAIjD,CAAW,GAC/BkD,GAAsB,IAAI7P,EAAY,KAAK2M,CAAW,KACtDmD,GAAuB,IAAIvS,EAAa,KAAKoP,CAAW,KACxDoD,GAAmB,GAAGpD,CAAW,UAEjCqD,GAAgB,CACpB,SAAU,GACV,SAAU,EACZ,EAUMC,GAAoBnS,GACxBe,EAAmBf,EAAS8O,EAAc,EAKtCsD,GAAqBpS,GAAqB,IAAIqS,GAAMrS,CAAO,EAI3DsS,GAAiBnR,EACrB,WAAW0N,CAAW,EACxB,EACM0D,GAAkBpR,EACtB,YAAY0N,CAAW,EACzB,EACM2D,GAAiBrR,EACrB,WAAW0N,CAAW,EACxB,EACM4D,GAAmBtR,EACvB,aAAa0N,CAAW,EAC1B,EAUM6D,GAAqBpR,GAAgB,CACnC,KAAA,CAAE,QAAAtB,GAAYsB,EACdqR,EAAiBjD,GAAiB1P,CAAO,EACzC,CAAE,aAAAoM,EAAc,aAAAwG,GAAiBvG,GAAmBrM,CAAO,EAC3D,CAAE,aAAc6S,EAAa,aAAcC,CAC/C,EAAA9S,EACI+S,EAAgBF,IAAgBC,EAGlC,GAAA,CAACC,GAAiBJ,EAAgB,CAKpC,MAAMK,EAAW,CAAE,CAJNrN,GAAM3F,CAAO,EAGtB,cAFA,cAGmB,EAAG,GAAG2S,CAAc,IAAK,EAGhDtJ,EAAgBrJ,EAASgT,CAAQ,CAAA,CAEtBnD,GAAA7P,EAAS+S,GAAiB3G,IAAiBwG,CAAY,CACtE,EAQMK,GAAqB,CAAC3R,EAAaI,IAAkB,CACnD,MAAAC,EAASD,EAAME,EAAcC,EAC7B,CAAE,QAAA7B,GAAYsB,EACbK,EAAA3B,EAASgC,EAAiBkR,EAAmB,EACpDvR,EAAO0B,EAAYrD,CAAO,EAAGiI,GAAckL,EAAe,EAEtDzR,EAAKJ,EAAK,UAAU,QAAQtB,CAAO,EAClCsB,EAAK,UAAU,WAAW,CACjC,EAOM8R,GAAkB9R,GAAgB,CACtC,KAAM,CAAE,SAAA6H,EAAU,QAAAnJ,EAAS,cAAAqT,CAAkB,EAAA/R,EAC7CsQ,GAAc5R,CAAO,EACrBqJ,EAAgBrJ,EAAS,CAAE,aAAc,GAAI,QAAS,GAAI,EAC1DiT,GAAmB3R,CAAI,EAEvB,MAAMgS,EAAehB,GAAe,eAAiBnJ,EAAS,KAAK0I,EAAS,EAExEyB,MAAoBA,CAAY,EAEpCb,GAAiB,cAAgBY,GAAiB,OAClD9R,EAAcvB,EAASyS,EAAgB,EACvCc,GAAgBvT,CAAO,CACzB,EAOMwT,GAAkBlS,GAAgB,CAChC,KAAA,CAAE,QAAAtB,EAAS,cAAAqT,CAAA,EAAkB/R,EACnCiN,GAAMvO,CAAsB,EAC5BiT,GAAmB3R,EAAM,EAAI,EAE7BiR,GAAgB,cAAgBc,GAAiB,OACjD9R,EAAcvB,EAASuS,EAAe,EACtCgB,GAAgBvT,CAAO,CACzB,EAOMyT,GAAmBnS,GAAgB,CACjC,KAAA,CAAE,QAAAtB,EAAS,QAAAyR,CAAA,EAAYnQ,EAC7B+H,EAAgBrJ,EAAS,CAAE,QAAS,OAAA,CAAS,EAC7C0S,GAAkBpR,CAAI,EAEjB8P,GAAepR,CAAO,GACzBqJ,EAAgBkG,GAAgBvP,CAAO,EAAG,CAAE,SAAU,SAAU,EAGlE4C,EAAS5C,EAASR,CAAS,EAC3BkU,GAAgB1T,EAAS2T,EAAU,EACtBlR,EAAAzC,EAAS4T,GAAW,MAAM,EAEnCnC,EAA8BhQ,EAAAzB,EAAS,IAAMwT,GAAelS,CAAI,CAAC,KACjDA,CAAI,CAC1B,EAOMuS,GAAmBvS,GAAgB,CACvC,KAAM,CAAE,QAAAtB,EAAS,QAAA2E,EAAS,QAAA8M,CAAY,EAAAnQ,EAKpCqD,EAAQ,UAAY8M,GAAW/Q,EAASyQ,EAAS3R,CAAS,GAC1D,CAAC4R,GAAepR,CAAO,GAGX2R,GAAA,EACZlQ,EAAqB0P,EAAS,IAAMiC,GAAe9R,CAAI,CAAC,GAExD8R,GAAe9R,CAAI,CAEvB,EASMwS,GAAqB,GAA+B,CAClD,KAAA,CAAE,OAAAhU,GAAW,EAEb4J,EAAU5J,GAAU0D,EAAQ1D,EAAQiS,EAAmB,EACvD/R,EAAU0J,GAAWxG,EAAiBwG,CAAO,EAC7CpI,EAAOtB,GAAWmS,GAAiBnS,CAAO,EAG3CsB,IAGDoI,GAAWA,EAAQ,UAAY,OAAO,eAAe,EACzDpI,EAAK,cAAgBoI,EACrBpI,EAAK,OAAO,EACd,EAQM6R,GAAkB,CAAC,CAAE,KAAA5N,EAAM,OAAAzF,KAAqC,CACpE,MAAME,EAAUG,EAAc8Q,GAAqB5N,EAAYvD,CAAM,CAAC,EAChEwB,EAAOtB,GAAWmS,GAAiBnS,CAAO,EAGhD,GAAI,CAACsB,EAAM,OAEL,KAAA,CAAE,QAAAqD,GAAYrD,EAGlBqD,EAAQ,UACRY,IAASiJ,IACT9N,EAASV,EAASR,CAAS,IAG3B8B,EAAK,cAAgB,KACrBA,EAAK,KAAK,EAEd,EAOM4R,GAAuB,GAA+B,CACpD,KAAA,CAAE,cAAAa,GAAkB,EACpBzS,EAAOyS,GAAiB5B,GAAiB4B,CAAa,EAI5D,GAAI,CAACzS,GAAQ,CAACyS,GAAiB/O,EAAM,IAAI+O,CAAa,EAAG,OAEzD,KAAM,CAAE,QAAApP,EAAS,SAAAqP,EAAU,YAAAC,CAAgB,EAAA3S,EACrC,CAAE,SAAA4S,GAAavP,EACf,CAAE,OAAA7E,GAAW,EAEbqU,EAAe9Q,EAAY0Q,CAAa,GAAG,aAAa,GAAG,WAC9D,OACGK,EAAqBH,EAAY,SAASnU,CAAM,EAChDgC,EAAUhC,GAAU0D,EAAQ1D,EAAQkS,EAAoB,EAG1DgC,GAAY,CAACI,EACTpP,EAAA,IACJ+O,EACA,IAAM,CACJnR,EAASmR,EAAe9B,EAAgB,EACxCxQ,EAAqBwS,EAAa,IAAMI,GAAoB/S,CAAI,CAAC,CACnE,EACA,EACF,GAEAQ,GAAY,CAACqS,GAAgB,CAACH,GAAY,CAACI,GAAsBF,KAEjE5S,EAAK,cAAgBQ,GAAW,KAChCR,EAAK,KAAK,EACV,EAAE,eAAe,EAErB,EAOM+S,GAAuB/S,GAAgB,CACrC,KAAA,CAAE,QAAAtB,EAAS,YAAAiU,CAAA,EAAgB3S,EAC3BgT,GAAYlN,GAA6B6M,CAAW,GAAK,GAAK,GACpEzS,EAAYxB,EAASiS,EAAgB,EAErCjN,EAAM,IAAIhF,EAAS,IAAMgF,EAAM,MAAMhF,CAAO,EAAGsU,CAAQ,CACzD,EAKA,MAAqBjC,WAAcxS,CAAc,CAC/C,OAAO,SAAWiS,GAClB,OAAO,KAAOM,GACd,OAAO,YAAcD,GAcrB,YAAYrS,EAA0BC,EAAgC,CACpE,MAAMD,EAAQC,CAAM,EAGd,KAAA,CAAE,QAAAC,GAAY,KAGdiU,EAAc9T,EAClB,IAAI0O,CAAW,UACf7O,CACF,EAGKiU,IAEL,KAAK,YAAcA,EAEnB,KAAK,SAAW,CACd,GAAGzO,EACDuM,GACA1O,EAAYrD,CAAO,CAAA,CACrB,EACA,OACCsJ,GAAQpG,EAAiBoG,CAAG,IAAMtJ,CACrC,EAGK,KAAA,SAAW,KAAK,QAAQ,WAAa,SACrC,KAAA,QAAUU,EAASV,EAAST,CAAS,EAC1C,KAAK,cAAgB,KACrB,KAAK,UAAY,IAAI,eAAe,IAAM,KAAK,QAAQ,EAGvD,KAAK,sBAAsB,EAAI,EAAA,CAMjC,IAAI,MAAO,CACF,OAAAuP,EAAA,CAKT,IAAI,UAAW,CACN,OAAAoD,EAAA,CAMT,QAAS,CACHxR,EAAS,KAAK,QAASlB,CAAS,OAAQ,KAAK,OACvC,KAAK,CAAA,CAIjB,MAAO,CACL,KAAM,CAAE,QAAAQ,EAAS,QAAA2E,EAAS,QAAA8M,EAAS,cAAA4B,CAAkB,EAAA,KAC/C,CAAE,SAAAa,GAAavP,EACrB,IAAI4P,EAAe,EAUnB,GAPI7T,EAASV,EAASR,CAAS,IAE/B8S,GAAe,cAAgBe,GAAiB,OAChD9R,EAAcvB,EAASsS,EAAc,EAIjCA,GAAe,kBAAkB,OAG/B,MAAAkC,EAAcpD,GAAepR,CAAO,EAGtC,GAAAwU,GAAeA,IAAgBxU,EAAS,CACpC,MAAAyU,EAAOtC,GAAiBqC,CAAW,GAEvCzT,EACEyT,EACAzF,EACF,EAEE0F,KAAW,KAAK,CAAA,CAElBP,GACGrD,GAASM,CAAO,EAGnBE,GAAkB,EAAI,EAFRG,GAAAxR,EAASyR,EAAS,EAAI,EAKtC8C,EAAenN,GAA6B+J,CAAO,EACvCO,GAAA,EAEZ,WAAW,IAAM+B,GAAgB,IAAI,EAAGc,CAAY,IAEpDd,GAAgB,IAAI,EAEhBe,GAAe9T,EAASyQ,EAAS3R,CAAS,GAChCmS,GAAA,EAEhB,CAIF,MAAO,CACL,KAAM,CAAE,QAAA3R,EAAS,QAAAyR,EAAS,cAAA4B,CAAkB,EAAA,KAGvC3S,EAASV,EAASR,CAAS,IAEhCgT,GAAe,cAAgBa,GAAiB,OAChD9R,EAAcvB,EAASwS,EAAc,EAGjC,CAAAA,GAAe,mBAEnBhR,EAAYxB,EAASR,CAAS,EACjBiD,EAAAzC,EAAS2T,GAAY,MAAM,EACxCD,GAAgB1T,EAAS4T,EAAS,EAE9BnC,EAA8BhQ,EAAAzB,EAAS,IAAM6T,GAAgB,IAAI,CAAC,KACjD,IAAI,GAAA,CAM3B,OAAS,IAAM,CAETnT,EAAS,KAAK,QAASlB,CAAS,MAAqB,IAAI,CAC/D,EAOA,sBAAyBkC,GAAkB,CACnC,MAAAC,EAASD,EAAME,EAAcC,EAC7B,CAAE,SAAAsH,GAAa,KAGhBA,EAAS,QAELA,EAAA,QAASG,GAAQ,CACnB7I,GAAW6I,CAAG,GAAU3H,EAAA2H,EAAKtH,EAAiB8R,EAAiB,CAAA,CACrE,CACH,EAGA,SAAU,CACF,MAAA3L,EAAQ,CAAE,GAAG,IAAK,EAClB,CAAE,YAAA8L,EAAa,QAAAxC,CAAA,EAAYtJ,EAC3BuM,EAAW,IAAM,WAAW,IAAM,MAAM,UAAW,EAAE,EAE3D,KAAK,KAAK,EACV,KAAK,sBAAsB,EAEvBjD,EAEFhQ,EAAqBwS,EAAaS,CAAQ,EAEjCA,EAAA,CACX,CAEJ,CC9cA,MAAMC,GAAoB,IAAIxE,CAAe,GACvCyE,GAA0B,IAAI1S,EAAY,KAAKiO,CAAe,KAC9D0E,GAA2B,IAAIpV,EAAa,KAAK0Q,CAAe,KAChE2E,GAAyB,GAAG3E,CAAe,YAE3C4E,GAAoB,CACxB,SAAU,GACV,SAAU,GACV,OAAQ,EACV,EAUMC,GAAwBhV,GAC5Be,EAAuBf,EAAS+O,EAAkB,EAK9CkG,GAAyBjV,GAAqB,IAAIkV,GAAUlV,CAAO,EAInEmV,GAAqBhU,EAGzB,WAAWgP,CAAe,EAAE,EACxBiF,GAAsBjU,EAG1B,YAAYgP,CAAe,EAAE,EACzBkF,GAAqBlU,EAGzB,WAAWgP,CAAe,EAAE,EACxBmF,GAAuBnU,EAG3B,aAAagP,CAAe,EAAE,EAU1BoF,GAAyBjU,GAAoB,CAC3C,KAAA,CAAE,QAAAtB,GAAYsB,EACd,CAAE,aAAA8K,EAAc,aAAAwG,GAAiBvG,GAAmBrM,CAAO,EACpD6P,GAAA7P,EAASoM,IAAiBwG,CAAY,CACrD,EAQM4C,GAAyB,CAAClU,EAAiBI,IAAkB,CAC3D,MAAAC,EAASD,EAAME,EAAcC,EAC7BuB,EAAMC,EAAY/B,EAAK,OAAO,EAC7BK,EAAAyB,EAAK6E,GAAcwN,EAA0B,EAC7C9T,EAAAyB,EAAKpB,EAAiB0T,EAAuB,CACtD,EAOMC,GAAuBrU,GAAoB,CACzC,KAAA,CAAE,QAAAtB,EAAS,QAAA2E,CAAA,EAAYrD,EAGxBqD,EAAQ,SACX4Q,GAAsBjU,CAAI,EAC1B+H,EAAgBkG,GAAgBvP,CAAO,EAAG,CAAE,SAAU,SAAU,GAGlE4C,EAAS5C,EAAS8U,EAAsB,EACxClS,EAAS5C,EAASR,CAAS,EAC3B6J,EAAgBrJ,EAAS,CAAE,WAAY,SAAA,CAAW,EAElDyB,EAAqBzB,EAAS,IAAM4V,GAAsBtU,CAAI,CAAC,CACjE,EAOMuU,GAAuBvU,GAAoB,CACzC,KAAA,CAAE,QAAAtB,EAAS,QAAA2E,CAAA,EAAYrD,EACvBkT,EAAcpD,GAAepR,CAAO,EAEzCA,EAAwB,KAAK,EAE1B,CAACwU,GAAe7P,EAAQ,UAAYjE,EAASyQ,EAAS3R,CAAS,GACrDmS,GAAA,EAEdlQ,EAAqBzB,EAAS,IAAM8V,GAAsBxU,CAAI,CAAC,CACjE,EASMyU,GAA2B,GAA+B,CAC9D,MAAMrM,EAAUlG,EAAQ,EAAE,OAAQoR,EAAuB,EACnD5U,EAAU0J,GAAWxG,EAAiBwG,CAAO,EAC7CpI,EAAOtB,GAAWgV,GAAqBhV,CAAO,EAG/CsB,IAELA,EAAK,cAAgBoI,EACrBpI,EAAK,OAAO,EAGRoI,GAAS,UAAY,KAAK,EAAE,eAAe,EACjD,EAOMgM,GAA2B,GAA+B,CACxD,KAAA,CAAE,OAAA5V,GAAW,EACbE,EAAUG,EACd+Q,GACA7N,EAAYvD,CAAM,CACpB,EAEA,GAAI,CAACE,EAAS,OAEd,MAAMgW,EAAmB7V,EACvB0U,GACA7U,CACF,EACMsB,EAAO0T,GAAqBhV,CAAO,EAGzC,GAAI,CAACsB,EAAM,OAEL,KAAA,CAAE,QAAAqD,EAAS,SAAAwE,CAAA,EAAa7H,EACxB,CAAE,SAAA4S,GAAavP,EACf+E,EAAUlG,EAAQ1D,EAAQ8U,EAAuB,EACjDqB,EAAY5S,EAAYrD,CAAO,EAAE,aAAa,EAGhDmR,EAAQ,SAASrR,CAAM,GAAKoU,IAAa,WAI3C,EAAE+B,GAAaA,EAAU,WAAW,UAClC,CAACjW,EAAQ,SAASF,CAAM,GACxBoU,IAEC,CAACxK,GAAWP,EAAS,SAASrJ,CAAM,IACpCkW,GACCA,EAAiB,SAASlW,CAAM,KAEpCwB,EAAK,cAAgB0U,GAAoBA,EAAiB,SAASlW,CAAM,EACrEkW,EACA,OACJ1U,EAAK,KAAK,GAIRoI,GAAWA,EAAQ,UAAY,OAAO,eAAe,EAC3D,EAQM+L,GAA6B,CAAC,CAAE,KAAAlQ,EAAM,OAAAzF,KAA4B,CACtE,MAAME,EAAUG,EACd+Q,GACA7N,EAAYvD,CAAc,CAC5B,EACMwB,EAAOtB,GAAWgV,GAAqBhV,CAAO,EAG/CsB,GAGDA,EAAK,QAAQ,UAAYiE,IAASiJ,KACpClN,EAAK,cAAgB,OACrBA,EAAK,KAAK,EAEd,EAOMsU,GAAyBtU,GAAoB,CAC3C,KAAA,CAAE,QAAAtB,GAAYsB,EACpBE,EAAYxB,EAAS8U,EAAsB,EAE3CpB,GAAgB1T,EAAS2T,EAAU,EACtBlR,EAAAzC,EAAS4T,GAAW,MAAM,EAC1BnR,EAAAzC,EAAS,OAAQ,QAAQ,EAEtCuB,EAAcvB,EAASoV,EAAmB,EAE1CI,GAAuBlU,EAAM,EAAI,EACjCiN,GAAMvO,CAAO,EACbuT,GAAgBvT,CAAO,CACzB,EAOM8V,GAAyBxU,GAAoB,CAC3C,KAAA,CAAE,QAAAtB,EAAS,SAAAmJ,CAAA,EAAa7H,EAEjBmB,EAAAzC,EAAS2T,GAAY,MAAM,EACxCD,GAAgB1T,EAAS4T,EAAS,EAClCF,GAAgB1T,EAAS,MAAM,EAC/BqJ,EAAgBrJ,EAAS,CAAE,WAAY,EAAA,CAAI,EAE3C,MAAMkW,EAAiBf,GAAmB,eACxChM,EAAS,KAAK0I,EAAS,EAErBqE,MAAsBA,CAAc,EAExCtE,GAAc5R,CAAO,EAErBuB,EAAcvB,EAASsV,EAAoB,EAC3C9T,EAAYxB,EAAS8U,EAAsB,EAC3CvB,GAAgBvT,CAAO,EAGlBoR,GAAepR,CAAO,GACzBwV,GAAuBlU,CAAI,CAE/B,EAKA,MAAqB4T,WAAkBrV,CAAc,CACnD,OAAO,SAAW8U,GAClB,OAAO,KAAOM,GACd,OAAO,YAAcD,GAUrB,YACElV,EACAC,EACA,CACA,MAAMD,EAAQC,CAAM,EAGd,KAAA,CAAE,QAAAC,GAAY,KAGpB,KAAK,SAAW,CACd,GAAGwF,EACDoP,GACAvR,EAAYrD,CAAO,CAAA,CACrB,EACA,OACCsJ,GAAQpG,EAAiBoG,CAAG,IAAMtJ,CACrC,EAGA,KAAK,cAAgB,OAGrB,KAAK,sBAAsB,EAAI,CAAA,CAMjC,IAAI,MAAO,CACF,OAAA+O,EAAA,CAKT,IAAI,UAAW,CACN,OAAAgG,EAAA,CAMT,QAAS,CACHrU,EAAS,KAAK,QAASlB,CAAS,OAAQ,KAAK,OACvC,KAAK,CAAA,CAIjB,MAAO,CACL,KAAM,CAAE,QAAAQ,EAAS,QAAA2E,EAAS,cAAA0O,CAAkB,EAAA,KAC5C,IAAIkB,EAAe,EAUnB,GAPI7T,EAASV,EAASR,CAAS,IAE/B2V,GAAmB,cAAgB9B,GAAiB,OACpD+B,GAAoB,cAAgB/B,GAAiB,OACrD9R,EAAcvB,EAASmV,EAAkB,EAGrCA,GAAmB,kBAAkB,OAGnC,MAAAX,EAAcpD,GAAepR,CAAO,EACtC,GAAAwU,GAAeA,IAAgBxU,EAAS,CACpC,MAAAyU,EAAOO,GAAqBR,CAAW,GAE3CzT,EACEyT,EACA1F,EACF,EAGE2F,KAAW,KAAK,CAAA,CAGlB9P,EAAQ,UACLkM,GAASM,CAAO,EACEE,GAAA,EADCG,GAAcxR,EAAS,EAAI,EAGnDuU,EAAenN,GAA6B+J,CAAO,EACvCO,GAAA,EAEZ,WAAW,IAAMiE,GAAoB,IAAI,EAAGpB,CAAY,IAExDoB,GAAoB,IAAI,EAEpBnB,GAAe9T,EAASyQ,EAAS3R,CAAS,GAAemS,GAAA,EAC/D,CAIF,MAAO,CACC,KAAA,CAAE,QAAA3R,EAAS,cAAAqT,CAAA,EAAkB,KAG9B3S,EAASV,EAASR,CAAS,IAEhC6V,GAAmB,cAAgBhC,GAAiB,OACpDiC,GAAqB,cAAgBjC,GAAiB,OACtD9R,EAAcvB,EAASqV,EAAkB,EAGrC,CAAAA,GAAmB,mBAEvBzS,EAAS5C,EAAS8U,EAAsB,EACxCtT,EAAYxB,EAASR,CAAS,EAC9BqW,GAAoB,IAAI,GAAA,CAS1B,sBAAyBnU,GAAkB,CACnC,MAAAC,EAASD,EAAME,EAAcC,EAC9B,KAAA,SAAS,QAASyH,GAAQ,CACxB7I,GAAW6I,CAAG,GACV3H,EAAA2H,EAAKtH,EAAiB+T,EAAuB,CACtD,CACD,CACH,EAGA,SAAU,CACF,KAAA,CAAE,QAAA/V,GAAY,KACdmW,EAASzV,EAASV,EAASR,CAAS,EACpCkV,EAAW,IAAM,WAAW,IAAM,MAAM,UAAW,CAAC,EAE1D,KAAK,KAAK,EACV,KAAK,sBAAsB,EAEvByB,EAA6B1U,EAAAzB,EAAS0U,CAAQ,EAEpCA,EAAA,CAAA,CAElB,CCrdA,MAAM0B,GAAgB,UCAhBC,GAAmB,UCAnBC,GAAgB,UCOhBC,GAAkBC,GAAoB,CAC1C,MAAMC,EAAYD,IAAYF,GACxBI,EAAYD,EAAY,GAAGD,CAAO,SAAW,GAAGA,CAAO,QACvDG,EAAUF,EAAoD,GAAxC,cAAcD,CAAO,iBAC3CzO,EAAQ,eAAeyO,CAAO,iBAC9BI,EAAO,eAAeF,CAAS,WACrC,MAAO,eAAeF,CAAO,WAAWF,EAAa,KACnDK,EAAS5O,EAAQ6O,CACnB,QACF,ECjBMC,GAAoB,CACxB,IAAK,MACL,OAAQ,SACR,KAAM,QACN,MAAO,KACT,ECmBMC,GAAYxV,GAAkB,CAClC,sBAAsB,IAAM,CAC1B,MAAMyV,EAAa,4BACb,CAAE,QAAA/W,EAAS,QAAAgX,EAAS,UAAAC,EAAW,aAAAC,EAAc,QAAAvS,EAAS,MAAAoD,GAAUzG,EAGtE,GAAI,CAAC0V,EAAS,OACR,MAAAtR,EAAMC,GAAM3F,CAAO,EACnB,CAAE,EAAGmX,EAAY,EAAGC,CAAU,EAAIC,GAAcH,CAAY,EAGlE7N,EAAgB2N,EAAS,CACvB,IAAK,GACL,KAAM,GACN,MAAO,GACP,OAAQ,EAAA,CACT,EACD,KAAM,CAAE,YAAaM,EAAU,aAAcC,CAAc,EAAAP,EACrD,CAAE,YAAaQ,EAAQ,aAAcC,EAAQ,YAAaC,EAAA,EAC9DrL,GAAmBrM,CAAO,EACxB,GAAA,CAAE,UAAA2X,GAAchT,EACpB,KAAM,CAAE,YAAaiT,EAAc,YAAaC,EAAiB,EAAAZ,EAK3Da,EAJiBnM,EACrBsL,EACA,UACF,IACuC,QACjCtE,GACF,KAAK,IADcmF,EACVF,EAAeC,GACfL,EAASE,EADkB,EAElCK,GAAcrS,GAAOoS,EACcnF,GACrC,EACEqF,GAAeR,GAAW9R,EAAuB,EAAjBiN,IAAsB,EAGtDsF,GAAgB3W,EAAK,UAAU,SAAStB,CAAO,EAC/C,CACJ,MAAOkY,EACP,OAAQC,EACR,KAAMC,GACN,MAAOC,EACP,IAAKC,EACH,EAAAL,IAAe,oBACjBvL,GAAsB1M,EAAS,EAAI,EAE/B,CACJ,EAAGuY,GACH,EAAGC,EAAA,EACDC,GACFzY,EACAkX,EACA,CAAE,EAAGC,EAAY,EAAGC,CAAU,CAChC,EAGA/N,EAAgBtB,EAAsB,CACpC,IAAK,GACL,KAAM,GACN,MAAO,GACP,OAAQ,EAAA,CACT,EACD,IAAI2Q,GAA+B,EAC/BC,GAAkC,GAClCC,GAAgC,EAChCC,GAAiC,GACjCC,GAA4B,GAC5BC,GAA6B,GAC7BC,GAA8B,GAE5B,MAAAC,GAAalR,EAAM,aAAe,EAClCmR,GAAcnR,EAAM,cAAgB,EACpCoR,GAAcF,GAAa,EAG7B,IAAAlM,GAAYuL,GAAcf,EAAY2B,GAAc,EACpDrM,GACFyL,GAAcf,EAAYY,EAAae,IAAezB,EACpDzK,GAAaoL,GAAed,EAAW2B,GAAalB,GACpD9K,GACFmL,GAAed,EAAWY,EAAYe,IAAcjB,GAEhD,MAAAoB,GAAc,CAAC,OAAQ,OAAO,EAC9BC,GAAY,CAAC,MAAO,QAAQ,EAEtBtM,GAAAqM,GAAY,SAASzB,CAAS,EACtCW,GAAcH,EAAa,EAAIZ,EAAY,EAAI2B,GAAc,EAC7DnM,GACWF,GAAAuM,GAAY,SAASzB,CAAS,EACzCW,GAAcf,EAAY,EAAIY,EAAa,EAAIe,IAAezB,EAC9D5K,GACSG,GAAAqM,GAAU,SAAS1B,CAAS,EACrCS,GAAeF,EAAY,EAAIZ,EAAW,EAAIS,GAC9C/K,GACUC,GAAAoM,GAAU,SAAS1B,CAAS,EACtCS,GAAed,EAAW,EAAIY,EAAY,GAAKF,GAC/C/K,GAIJ0K,EAAYyB,GAAY,SAASzB,CAAS,GAAK3K,IAAcC,GACzD,MACA0K,EAEQA,EAAAA,IAAc,OAAS5K,GAAY,SAAW4K,EAC9CA,EAAAA,IAAc,UAAY9K,GAAe,MAAQ8K,EACjDA,EAAAA,IAAc,QAAU3K,GAAa,QAAU2K,EAC/CA,EAAAA,IAAc,SAAW1K,GACjC,OAEA0K,EAICX,EAAQ,UAAU,SAASW,CAAS,IAC/BX,EAAA,UAAYA,EAAQ,UAAU,QACpCD,EACAF,GAAkBc,CAAS,CAC7B,GAKEyB,GAAY,SAASzB,CAAS,GAE5BA,IAAc,OAEhBiB,GAAeL,GAAiBjB,EAAW2B,GAG3CL,GAAeL,GAAiBL,EAAYe,GAI1ClM,IAAaF,IACD6L,GAAA,EACGC,GAAA,EACNG,GAAAN,GAAgBL,EAAa,EAAIe,GAAc,GACjDnM,IACK2L,GAAAF,GACGG,GAAA,GACjBG,GAAWX,EAAa,EAAIc,IACnBpM,IACT6L,GAAcF,GAAgBjB,EAAYY,EACzBQ,GAAA,GACNG,GAAAvB,EAAYY,EAAa,EAAIc,KAE1BP,GAAAF,GAAgBjB,EAAY,EAAIY,EAAa,EAChDW,GAAAvB,EAAY,EAAI2B,GAAc,IAElCG,GAAU,SAAS1B,CAAS,IACjCA,IAAc,MAChBe,GAAcF,GAAgBjB,EAAY2B,GAG1CR,GAAcF,GAAgBL,EAAae,GAIzClM,IACa4L,GAAA,EACHG,GAAAR,GAAiBL,EAAY,EAAIiB,IACpClM,IACM2L,GAAA,OACCC,GAAA,EACHG,GAAAd,EAAY,EAAIF,GAAeK,EAAgBc,KAE7CP,GAAAL,GAAiBjB,EAAW,EAAIY,EAAY,EAC3Da,GAAYzB,EAAW,EAAI6B,KAK/B9P,EAAgB2N,EAAS,CACvB,IAAK,GAAG0B,EAAW,KACnB,OAAQC,KAAmB,GAAK,GAAK,GAAGA,EAAc,KACtD,KAAMC,KAAiB,OAASA,GAAe,GAAGA,EAAY,KAC9D,MAAOC,KAAkB,GAAK,GAAGA,EAAa,KAAO,EAAA,CACtD,EAIGlP,EAAc5B,CAAK,IACjB+Q,KAAa,KACT/Q,EAAA,MAAM,IAAM,GAAG+Q,EAAQ,MAE3BC,KAAc,GACVhR,EAAA,MAAM,KAAO,GAAGgR,EAAS,KACtBC,KAAe,KAClBjR,EAAA,MAAM,MAAQ,GAAGiR,EAAU,OAGrC,MAAMM,GAAsBnY,EAI1B,cAAcoY,GAAYjY,EAAK,IAAI,CAAC,EACtC,EACAC,EAAcvB,EAASsZ,EAAmB,CAAA,CAC3C,CACH,EC5NME,GAAkC,CACtC,SAAUjD,GAAeD,EAAa,EACtC,MAAO,GACP,YAAa,GACb,QAAS,cACT,UAAW,MACX,WAAY,OACZ,UAAW,GACX,MAAO,IACP,UAAW,SAAS,KACpB,QAAS,GACT,YAAa,GACb,SAAU,EACZ,ECjBMzY,GAAK,GAAM,GAAK,MAAQ,OAAO,GAAK,UAAY,GAAIjB,GAAK,GAAMiB,GAAE,CAAC,GAAK,OAAO,EAAE,UAAY,UAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAE,EAAE,KAC/I,GAAM,EAAE,WAAa,CACxB,GAAK,GAAIzC,GAAK,GAAMwB,GAAE,CAAC,GAAK,EAAE,WAAa,GAAK,GAAIkB,GAAK,GAAM,OAAO,GAAK,YAAc,GAAItC,GAAI,QAASY,GAAI,yBAC9G,MAAMiB,EAAE,CACN,QACA,OAAO,QAAU7B,GACjB,MACA,MACA,UAUA,YAAY,EAAG,EAAG,CAChB,GAAI,CAACsC,GAAE,CAAC,EACN,MAAM,IAAI,MAAM,GAAG1B,EAAC,KAAK,CAAC,qBAAqB,EACjD,KAAK,QAA0B,IAAI,IAAO,KAAK,UAAY,EAAG,KAAK,MAAQhB,GAAE,GAAG,IAAI,EAAI,EAAE,KAAO,UAAU,gBAAiB,KAAK,MAAQ,CAC7I,CAQE,QAAW,GAAM,CACf,GAAI,CAACA,GAAE,CAAC,EACN,MAAM,IAAI,MACR,GAAGgB,EAAC,KAAK,CAAC,iCACX,EACH,KAAK,MAAM,SAAS,CAAC,GAAK,KAAK,KAAK,CAAC,EAAE,KAAM,GAAM,CACjD,GAAK,CAAC,KAAK,SAAS,CAAC,GAAK,KAAK,QAAQ,IAAI,EAAG,CAAC,EAAG,KAAK,QAAU,KAAK,MAAQ,sBAAsB,KAAK,YAAY,EAC3H,CAAK,CACF,EAMD,UAAa,GAAM,CACjB,KAAK,QAAQ,IAAI,CAAC,GAAK,KAAK,QAAQ,OAAO,CAAC,CAC7C,EAKD,aAAe,IAAM,CACnB,GAAI,CAAC,KAAK,QAAQ,KAAM,OACxB,MAAM,EAAI,IAAI,QAAS,GAAM,CAC3B,MAAMD,EAAI,CAAE,EACZ,KAAK,QAAQ,QACX,CAAC,CAAE,OAAQE,EAAG,mBAAoB/B,CAAC,IAAO,CACxC,KAAK,MAAM,SAAS+B,CAAC,GAAK,KAAK,KAAKA,CAAC,EAAE,KAAK,CAAC,CAAE,mBAAoB9B,EAAG,eAAgBY,CAAC,IAAO,CAC5F,GAAI,CAACA,EAAG,OACR,KAAM,CAAE,KAAMuB,EAAG,IAAK+c,EAAG,OAAQve,EAAG,MAAOD,CAAC,EAAKV,EACjD,GAAID,EAAE,MAAQmf,GAAKnf,EAAE,OAASoC,GAAKpC,EAAE,QAAUW,GAAKX,EAAE,SAAWY,EAAG,CAClE,MAAMyB,EAAI,CAAE,OAAQN,EAAG,mBAAoB9B,CAAG,EAC9C,KAAK,QAAQ,IAAI8B,EAAGM,CAAC,EAAGR,EAAE,KAAKQ,CAAC,CAC9C,CACA,CAAW,CACX,CACA,EAAS,EAAER,CAAC,CACZ,CAAK,EACD,KAAK,MAAQ,sBAAsB,SAAY,CAC7C,MAAM,EAAI,MAAM,EAChB,EAAE,QAAU,KAAK,UAAU,EAAG,IAAI,EAAG,KAAK,aAAc,CAC9D,CAAK,CACF,EAOD,KAAQ,GAAM,IAAI,QAAS,GAAM,CAC/B,IAAI,qBACF,CAAC,CAACE,CAAC,EAAG/B,IAAM,CACVA,EAAE,WAAU,EAAI,EAAE+B,CAAC,CAC3B,CACA,EAAM,QAAQ,CAAC,CACf,CAAG,EAMD,SAAY,GAAM,KAAK,QAAQ,IAAI,CAAC,EAIpC,WAAa,IAAM,CACjB,qBAAqB,KAAK,KAAK,EAAG,KAAK,QAAQ,MAAO,EAAE,KAAK,MAAQ,CACtE,CACH,CC/FA,MAAMqd,GAAoB,sBCFpBC,GAAmB,UCgBnBC,GAAU,CACd5Z,EACA6Z,EACAC,IACG,CAEH,GAAI5Z,GAAS2Z,CAAO,GAAKA,EAAQ,OAAQ,CACnC,IAAAE,EAAQF,EAAQ,KAAK,EACrBG,GAAWF,CAAU,IAAGC,EAAQD,EAAWC,CAAK,GAGpD,MAAME,EADY,IAAI,UAAU,EACD,gBAAgBF,EAAO,WAAW,EACjE/Z,EAAQ,OAAW,GAAGia,EAAa,KAAK,UAAW,CAAA,MAC1CtQ,EAAckQ,CAAO,EAC9B7Z,EAAQ,OAAO6Z,CAAO,GAEtBK,GAAWL,CAAO,GAAMM,GAAQN,CAAO,GAAKA,EAAQ,MAAMpJ,CAAM,IAEhEzQ,EAAQ,OAAW,GAAG6Z,CAAQ,CAElC,ECbMO,GAAa9Y,GAA4B,CACvC,MAAAmV,EAAYnV,EAAK,OAASqY,GAE1B,CAAE,GAAAU,EAAI,QAAAra,EAAS,QAAA2E,CAAY,EAAArD,EAC3B,CACJ,MAAAgZ,EACA,UAAA3C,EACA,SAAA4C,EACA,UAAAC,EACA,YAAAC,EACA,WAAAX,EACA,YAAAY,EACA,QAAAb,EACA,SAAAc,CAAA,EACEhW,EACEiW,EAAYnE,EAAYH,GAAgBF,GACxCyE,GAAe,CAAE,GAAGhE,EAAkB,EAC5C,IAAIiE,EAAqB,CAAC,EACtBC,EAAuB,CAAC,EAExBpV,GAAM3F,CAAO,IACf6a,GAAa,KAAO,MACpBA,GAAa,MAAQ,SAIvB,MAAMG,GAAiB,MAAMJ,CAAS,IAAIC,GAAalD,CAAS,CAAC,GAG7D,IAAAsD,GACA,GAAAtR,EAAc4Q,CAAQ,EACNU,GAAAV,MACb,CACC,MAAAW,EAAa7K,GAAc,KAAK,EAC9BuJ,GAAAsB,EAAYX,EAAUT,CAAU,EACxCmB,GAAkBC,EAAW,UAAA,CAI3B,GAAA,CAACvR,EAAcsR,EAAe,EAAG,OAGhC3Z,EAAA,QAAU2Z,GAAgB,UAAU,EAAI,EACvC,KAAA,CAAE,QAAAjE,GAAY1V,EAGPmB,EAAAuU,EAAS,KAAMqD,CAAE,EACjB5X,EAAAuU,EAAS,OAAQV,EAAa,EAE3C,MAAMI,GAAYD,EACd,GAAGH,EAAa,SAChB,GAAGF,EAAa,QACd+E,GAAgB1E,EAClB,KACAtW,EAA2B,IAAIiW,EAAa,UAAWY,CAAO,EAC5DoE,GAAcjb,EAA2B,IAAIuW,EAAS,GAAIM,CAAO,EAGvE1V,EAAK,MAAQnB,EACX,IAAIya,CAAS,SACb5D,CACF,EACM,KAAA,CAAE,MAAAjP,IAAUzG,EAEd,GAAAqI,EAAc2Q,CAAK,EAAGQ,EAAa,CAACR,EAAM,UAAU,EAAI,CAAC,MACxD,CACG,MAAAe,EAAYhL,GAAc,KAAK,EAC7BuJ,GAAAyB,EAAWf,EAAOR,CAAU,EACpCgB,EAAa,CAAK,GAAGO,EAAU,UAAW,CAAA,CAGxC,GAAA1R,EAAckQ,CAAO,EAAGkB,EAAe,CAAClB,EAAQ,UAAU,EAAI,CAAC,MAC9D,CACG,MAAAyB,EAAcjL,GAAc,KAAK,EAC/BuJ,GAAA0B,EAAazB,EAASC,CAAU,EACxCiB,EAAe,CAAK,GAAGO,EAAY,UAAW,CAAA,CAIhD,GAAIZ,EACF,GAAIJ,EACE,GAAA3Q,EAAcgR,CAAQ,EACxBG,EAAa,CAAC,GAAGA,EAAYH,EAAS,UAAU,EAAI,CAAC,MAChD,CACC,MAAAY,EAAUlL,GAAc,KAAK,EAC3BuJ,GAAA2B,EAASZ,EAAUb,CAAU,EACrCgB,EAAa,CAAC,GAAGA,EAAYS,EAAQ,UAAkB,CAAA,SAIrDJ,OAA6B,OAAO,EACpCxR,EAAcgR,CAAQ,EACxBI,EAAe,CAAC,GAAGA,EAAcJ,EAAS,UAAU,EAAI,CAAC,MACpD,CACC,MAAAY,EAAUlL,GAAc,KAAK,EAC3BuJ,GAAA2B,EAASZ,EAAUb,CAAU,EACrCiB,EAAe,CAAC,GAAGA,EAAcQ,EAAQ,UAAkB,CAAA,CAQ5D9E,EAYM6D,GAASc,IAAqBxB,GAAAwB,GAAad,EAAOR,CAAU,GAVjEQ,GAASa,IACHvB,GAAAuB,GAAeL,EAAYhB,CAAU,EAG3CD,GAAWuB,IACLxB,GAAAwB,GAAaL,EAAcjB,CAAU,EAG/CxY,EAAK,IAAMnB,EAAiC,aAAc6W,CAAO,GAC/D,QAIJpU,EAASoU,EAAS,mBAAmB,EACrCpU,EAASmF,GAAO,mBAAmB,EAI9BrH,EAASsW,EAAS4D,CAAS,GAAGhY,EAASoU,EAAS4D,CAAS,EAE1DJ,GAAa,CAAC9Z,EAASsW,EAASzX,CAAS,GAC3CqD,EAASoU,EAASzX,CAAS,EAGzBkb,GAAe,CAAC/Z,EAASsW,EAASyD,CAAW,GAC/C7X,EAASoU,EAASyD,CAAW,EAG1B/Z,EAASsW,EAASgE,EAAc,GAAGpY,EAASoU,EAASgE,EAAc,CAC1E,EC9IMQ,GAAuBxb,GAAqB,CAC1C,MAAAyb,EAAiB,CAAC,OAAQ,MAAM,EAChCC,EAA4B,CAAC,EAC/B,GAAA,CAAE,WAAAC,GAAe3b,EAErB,KAAO2b,GAAc,CAACF,EAAe,SAASE,EAAW,QAAQ,GAC/DA,EAAaC,GAAcD,CAAU,EAE/BE,GAAaF,CAAU,GAAKG,GAAeH,CAAU,GACzDD,EAAW,KAAKC,CAAyB,EAI7C,OACED,EAAW,KAAK,CAAC/e,EAAG,KAEdgP,EAAgBhP,EAAG,UAAU,IAAM,YACnCgP,EAAgBhP,EAAG,UAAU,IAAM,YACjCA,EAAE,eAAiBA,EAAE,eACvB+e,EAAW,MAAM,EAAI,CAAC,EAAE,MAAO,GAC7B/P,EAAgB,EAAG,UAAU,IAAM,QAAA,EAGhChP,EAEF,IACR,GAED0G,EAAYrD,CAAO,EAAE,IAEzB,ECeM+b,GACJ,IAAI7Z,EAAY,KAAKoU,EAAa,iBAAiBA,EAAa,KAC5D0F,GAAY,QAMlB,IAAIC,GAAsBjc,GACxBe,EAAqBf,EAAS2Z,EAAgB,EAKhD,MAAMuC,GAAuBlc,GAAqB,IAAImc,GAAQnc,CAAO,EAS/Doc,GAAiB9a,GAAkB,CACvC,KAAM,CAAE,QAAAtB,EAAS,QAAAgX,EAAS,UAAAC,CAAc,EAAA3V,EACxCoS,GAAgB1T,EAASqc,EAAe,EACxCzL,GACEoG,EACAC,CACF,CACF,EAOMqF,GAAUhb,GAAuC,CAC/C,KAAA,CAAE,QAAA0V,EAAS,UAAAC,CAAA,EAAc3V,EAExB,OAAA0V,GACLnG,GAASmG,EAASC,CAAS,CAC/B,EAQMsF,GAAyB,CAACjb,EAAeoT,IAA0B,CACjE,KAAA,CAAE,QAAA1U,GAAYsB,EACpBA,EAAK,sBAAsB,EAIzB6I,GAAanK,EAAS0Z,EAAiB,GAAKpY,EAAK,OAASqY,IAE1D6C,GAAmBlb,CAAI,EAGrBoT,GAAmBA,EAAA,CACzB,EAQM+H,GAAsB,CAACnb,EAAeI,IAAkB,CACtD,MAAAC,EAASD,EAAME,EAAcC,EAC7B,CAAE,QAAA7B,GAAYsB,EAEpBK,EACE0B,EAAYrD,CAAO,EACnB6H,GACAvG,EAAK,YACLkF,EACF,CACF,EAOMkW,GAAsBpb,GAAkB,CACtC,KAAA,CAAE,QAAAtB,GAAYsB,EACdqb,EAAoBxb,EAIxB,YAAYoY,GAAYjY,EAAK,IAAI,CAAC,EACpC,EAEAmb,GAAoBnb,EAAM,EAAI,EAC9BC,EAAcvB,EAAS2c,CAAiB,EAClC3X,EAAA,MAAMhF,EAAS,IAAI,CAC3B,EAOM4c,GAAuBtb,GAAkB,CACvC,KAAA,CAAE,QAAAtB,GAAYsB,EACdub,EAAqB1b,EAIzB,aAAaoY,GAAYjY,EAAK,IAAI,CAAC,EACrC,EAEAmb,GAAoBnb,CAAI,EACxB8a,GAAc9a,CAAI,EAClBC,EAAcvB,EAAS6c,CAAkB,EAEnC7X,EAAA,MAAMhF,EAAS,KAAK,CAC5B,EAQM8c,GAA4B,CAACxb,EAAeI,IAAkB,CAC5D,MAAAC,EAASD,EAAME,EAAcC,EAC7B,CAAE,QAAA7B,EAAS,QAAAgX,CAAA,EAAY1V,EACvByb,EAAcvZ,EAAQxD,EAAS,IAAI6O,CAAW,EAAE,EAChDmO,EAAkBxZ,EAAQxD,EAAS,IAAImQ,CAAe,EAAE,EAE1DzO,EACD,CAAA1B,EAASgX,CAAO,EACd,QAASlX,GAAWwB,EAAK,UAAU,QAAQxB,CAAM,CAAC,EAC3CwB,EAAA,UAAU,WAAW,EAG7Byb,GACFpb,EAAOob,EAAa,WAAWlO,CAAW,GAAIvN,EAAK,UAAU,EAE3D0b,GACFrb,EAAOqb,EAAiB,WAAW7M,CAAe,GAAI7O,EAAK,UAAU,CAEzE,EAQMkb,GAAqB,CAAClb,EAAeuY,IAAqB,CAExD,MAAAoD,EAAW,CAACvD,GAAmBsC,EAAS,EACxC,CAAE,QAAAhc,GAAYsB,EAEpBmB,EACEzC,EACAid,EAASpD,EAAU,EAAI,CAAC,EACxBA,GACElZ,EAAaX,EAASid,EAAS,CAAC,CAAC,GAEjC,EACJ,EACAvJ,GAAgB1T,EAASid,EAASpD,EAAU,EAAI,CAAC,CAAC,CACpD,EAKA,MAAqBsC,WAAgBtc,CAAc,CACjD,OAAO,SAAWkc,GAClB,OAAO,KAAOG,GACd,OAAO,YAAcD,GACrB,OAAO,SAAWnF,GAgBlB,YAAYhX,EAA0BC,EAAkC,CACtE,MAAMD,EAAQC,CAAM,EAEd,KAAA,CAAE,QAAAC,GAAY,KACdyW,EAAY,KAAK,OAASkD,GAC1BiB,EAAYnE,EAAYH,GAAgBF,GACxC8G,EAAezG,EAAYkD,GAAmBtD,GAGpD4F,GAAyCkB,GACvCpc,EAAeoc,EAAMD,CAAY,EAGnC,KAAK,QAAU,GAEf,KAAK,GAAK,GAAGtC,CAAS,IAAIwC,GAAOpd,EAAS4a,CAAS,CAAC,GAG9C,KAAA,CAAE,QAAAjW,GAAY,KAId,GAAA,CAACA,EAAQ,OAAS8R,GAAe,CAACA,GAAa,CAAC9R,EAAQ,QAC5D,OAIFwC,GAAaqS,GAAiB,CAAE,UAAW,EAAA,CAAI,EAK7CrP,GAAanK,EAASgc,EAAS,GAAKvF,GACpC,OAAO9R,EAAQ,OAAU,UAEN6X,GAAA,KAAM7X,EAAQ,KAAK,EAIlC,MAAAsS,EAAYuE,GAAoBxb,CAAO,EACvCkX,EAAe,CAAC,SAAU,QAAS,UAAU,EAAE,KAChDmG,GACC1R,EAAgBsL,EAAW,UAAU,IACnCoG,CAAA,EAEJpG,EACArH,GAAU5P,CAAO,EAErB,KAAK,UAAYiX,EACjB,KAAK,aAAeC,EAGpBkD,GAAU,IAAI,EAGT,KAAK,UAGV,KAAK,UAAY,IAAIkD,GAAiB,IAAM,KAAK,QAAQ,EAGzD,KAAK,sBAAsB,EAAI,EAAA,CAMjC,IAAI,MAAO,CACF,OAAA3D,EAAA,CAKT,IAAI,UAAW,CACN,OAAAH,EAAA,CAOT,YAAc,IAAMjL,GAAM,KAAK,OAAsB,EAErD,WAAa,IAAM,KAAK,KAAK,EAC7B,MAAO,CACL,KAAM,CAAE,QAAA5J,EAAS,QAAAqS,EAAS,QAAAhX,EAAS,UAAAiX,EAAW,GAAAoD,GAAO,KAC/C,CAAE,UAAAG,GAAc7V,EAChB4Y,EAAWvY,EAAM,IAAIhF,EAAS,KAAK,EAEnCgF,EAAA,MAAMhF,EAAS,KAAK,EAEtBgX,GAAW,CAACuG,GAAY,CAACjB,GAAO,IAAI,GAChCtX,EAAA,IACJhF,EACA,IAAM,CACJ,MAAMwd,EAAmBrc,EAIvB,WAAWoY,GAAY,KAAK,IAAI,CAAC,EACnC,EACAhY,EAAcvB,EAASwd,CAAgB,EAGlCA,EAAiB,mBAEpBlN,GAAY0G,EAASC,CAAS,EAE9BxU,EAAazC,EAASqc,GAAiB,IAAIhC,CAAE,EAAE,EAE/C,KAAK,OAAO,EACZyC,GAA0B,KAAM,EAAI,EAG/Bpc,EAASsW,EAASxX,CAAS,GAAGoD,EAASoU,EAASxX,CAAS,EAE1Dgb,EACF/Y,EAAqBuV,EAAS,IAAM0F,GAAmB,IAAI,CAAC,KACpC,IAAI,EAElC,EACA,GACA,IACF,CACF,CAIF,WAAa,IAAM,KAAK,KAAK,EAC7B,MAAO,CACL,KAAM,CAAE,QAAA/X,EAAS,QAAAqS,EAAS,QAAAhX,CAAY,EAAA,KAChC,CAAE,UAAAwa,EAAW,MAAAiD,CAAA,EAAU9Y,EAEvBK,EAAA,MAAMhF,EAAS,IAAI,EAGrBgX,GAAWsF,GAAO,IAAI,GAClBtX,EAAA,IACJhF,EACA,IAAM,CACJ,MAAM0d,EAAmBvc,EAIvB,WAAWoY,GAAY,KAAK,IAAI,CAAC,EACnC,EACAhY,EAAcvB,EAAS0d,CAAgB,EAGlCA,EAAiB,mBACpB,KAAK,OAAO,EACZlc,EAAYwV,EAASxX,CAAS,EAC9Bsd,GAA0B,IAAI,EAG1BtC,EACF/Y,EAAqBuV,EAAS,IAAM4F,GAAoB,IAAI,CAAC,KACpC,IAAI,EAEnC,EACAa,EAAQ,GACR,KACF,CACF,CAIF,OAAS,IAAM,CACb3G,GAAS,IAAI,CACf,EAGA,OAAS,IAAM,CACP,KAAA,CAAE,QAAAE,GAAY,KAEhBA,GAAW,CAACsF,GAAO,IAAI,OAAQ,KAAK,OAC9B,KAAK,CACjB,EAGA,QAAS,CACD,KAAA,CAAE,QAAAqB,GAAY,KAEfA,IACH,KAAK,sBAAsB,EAAI,EAC/B,KAAK,QAAU,CAACA,EAClB,CAIF,SAAU,CACF,KAAA,CAAE,QAAA3G,EAAS,QAAA2G,CAAA,EAAY,KAEzBA,IACE3G,GAAWsF,GAAO,IAAI,QAAQ,KAAK,EACvC,KAAK,sBAAsB,EAC3B,KAAK,QAAU,CAACqB,EAClB,CAIF,eAAgB,CACT,KAAK,aACA,QAAQ,EADC,KAAK,OAAO,CACb,CASpB,YAAc,CAAC,CAAE,OAAA7d,KAAyB,CAClC,KAAA,CAAE,QAAAkX,EAAS,QAAAhX,CAAA,EAAY,KAI1BgX,GAAWA,EAAQ,SAASlX,CAAM,GACnCA,IAAWE,GACVF,GAAUE,EAAQ,SAASF,CAAM,GAIlC,KAAK,KAAK,CAEd,EAOA,sBAAyB4B,GAAkB,CACnC,MAAAC,EAASD,EAAME,EAAcC,EAE7B,CAAE,QAAA7B,EAAS,QAAA2E,EAAS,IAAA2E,CAAQ,EAAA,KAC5B,CAAE,QAAAI,GAAY/E,EAEd+V,EAAc,GADF,KAAK,OAASf,IACEhV,EAA2B,aAKxD+E,EAAQ,SAAS,QAAQ,IACvB,KAAA,QAAU,CAAC,CAAChI,EAEMgI,EAAQ,MAAM,GAAG,EAEzB,QAASkU,GAAO,CAEzBA,IAAOC,IACFlc,EAAA3B,EAASgO,GAAgB,KAAK,UAAU,EACxCrM,EAAA3B,EAAS0H,GAAiB,KAAK,UAAU,EAG3CgT,IACI/Y,EAAA3B,EAAS2H,GAAiB,KAAK,UAAU,EAChDhG,EACE0B,EAAYrD,CAAO,EACnB6H,GACA,KAAK,YACLrB,EACF,IAEOoX,IAAO5b,EAChBL,EAAO3B,EAAS4d,EAAKlD,EAA4B,KAAK,WAAnB,KAAK,MAAwB,EACvDkD,IAAOpQ,KACT7L,EAAA3B,EAAS8d,GAAc,KAAK,UAAU,EAExCpD,GAAa/Y,EAAO3B,EAAS+d,GAAe,KAAK,UAAU,EAE5DC,MACKrc,EAAA3B,EAASgC,EAAiB,KAAK,WAAW,GAIjD0Y,GAAepR,GACV3H,EAAA2H,EAAKtH,EAAiB,KAAK,UAAU,CAC9C,CACD,EAEL,EAGA,SAAU,CACF,KAAA,CAAE,QAAAgV,EAAS,QAAArS,CAAA,EAAY,KACvBwD,EAAQ,CAAE,GAAG,KAAM,KAAM,KAAK,IAAK,EACnCuM,EAAW,IACf,WACE,IAAM6H,GAAuBpU,EAAO,IAAM,MAAM,SAAS,EACzD,EACF,EAEExD,EAAQ,WAAa2X,GAAOnU,CAAK,GACnC,KAAK,QAAQ,MAAQ,EACrB,KAAK,KAAK,EACV1G,EAAqBuV,EAAStC,CAAQ,GAE7BA,EAAA,CACX,CAEJ,CC3hBA,MAAMuJ,GACJ,IAAI/b,EAAY,KAAKkU,EAAa,iBAAiBA,EAAa,KAE5D8H,GAAkC/W,GAAa,CAAC,EAAGqS,GAAiB,CACxE,SAAUjD,GAAeH,EAAa,EACtC,QAAS,GACT,YAAa,GACb,SAAU,wDACZ,CAAC,EAMK+H,GAAsBne,GAC1Be,EAAqBf,EAASqW,EAAgB,EAK1C+H,GAAuBpe,GAAqB,IAAIqe,GAAQre,CAAO,EAKrE,MAAqBqe,WAAgBlC,EAAQ,CAC3C,OAAO,SAAW8B,GAClB,OAAO,KAAOG,GACd,OAAO,YAAcD,GACrB,OAAO,SAAWrH,GAOlB,YAAYhX,EAA0BC,EAAkC,CACtE,MAAMD,EAAQC,CAAM,CAAA,CAKtB,IAAI,MAAO,CACF,OAAAsW,EAAA,CAKT,IAAI,UAAW,CACN,OAAA6H,EAAA,CAIT,KAAO,IAAM,CACX,MAAM,KAAK,EAEL,KAAA,CAAE,QAAAvZ,EAAS,IAAA2E,CAAA,EAAQ,KAErB3E,EAAQ,aAAe2E,GAAK,WAAW,IAAMiF,GAAMjF,CAAG,EAAG,EAAE,CACjE,CACF,CC5EA,MAAMgV,GAAkB,YCAlBC,GAAqB,YCgCrBC,GAAoB,yBACpBC,GAA0B,SAE1BC,GAA+C,CACnD,OAAQ,GACR,OAAQ,MACV,EAUMC,GAAwB3e,GAC5Be,EAAuBf,EAASue,EAAkB,EAK9CK,GAAyB5e,GAAqB,IAAI6e,GAAU7e,CAAO,EAInE8e,GAAoB3d,EAGxB,eAAemd,EAAe,EAAE,EAS5BS,GAAoBzd,GAAoB,CACtC,KAAA,CACJ,OAAAxB,EACA,aAAAkf,EACA,aAAAC,CAAA,EACE3d,EAEE4d,EAAQC,GAAwC,IAAKrf,CAAM,EAC3DsD,EAAMC,EAAYvD,CAAM,EAI1B,CAACof,EAAM,QAAUF,IAAiBC,EAAa,OAEnDA,EAAa,MAAM,EAEnB,MAAM,KAAKC,CAAK,EAAE,QAASE,GAAS,CAClC,MAAMC,EAAO1e,EAAaye,EAAM,MAAM,GAAG,MAAM,CAAC,EAC1CE,EAAaD,GAAM,OAASjc,EAAI,eAAeic,CAAI,EAAI,KAEzDC,GAAc,CAAC7e,GAAW2e,CAAI,GAC3B9d,EAAA,aAAa,IAAIge,EAAYF,CAAI,CACxC,CACD,EACI9d,EAAA,aAAeA,EAAK,aAAa,KACxC,EAOMie,GAASzf,GAAoB,CACjC,MAAM,KAAKqf,GAAwC,IAAKrf,CAAM,CAAC,EAAE,QAC9D0f,GAAS,CACJ9e,EAAS8e,EAAMvd,CAAW,GAAGT,EAAYge,EAAMvd,CAAW,CAAA,CAElE,CACF,EAQMwd,GAAW,CAACne,EAAiBke,IAAsB,CACjD,KAAA,CAAE,OAAA1f,EAAQ,QAAAE,CAAA,EAAYsB,EAG5Bie,GAAMzf,CAAM,EAEZwB,EAAK,YAAcke,EACnB5c,EAAS4c,EAAMvd,CAAW,EAG1B,IAAIyd,EAAaF,EACjB,KAAOE,IAAe5f,GAEpB,GADA4f,EAAaA,EAAW,cAEtB,CAAC,MAAO,gBAAiB,YAAY,EAAE,KAAM/iB,GAC3C+D,EAASgf,EAAY/iB,CAAC,CAAA,EAExB,CACA,MAAMgjB,EAAaD,EAAW,uBAK1BC,GAAc,CAACjf,EAASif,EAAY1d,CAAW,GACjDW,EAAS+c,EAAY1d,CAAW,CAClC,CAKJ6c,GAAkB,cAAgBU,EAClCje,EAAcvB,EAAS8e,EAAiB,CAC1C,EAEMc,GAAY,CAACte,EAAiBxB,IAAwB,CAC1D,KAAM,CAAE,aAAA+f,EAAc,QAAA7f,EAAS,QAAA2E,CAAY,EAAArD,EAEnC,OAAAue,IAAiB7f,EACrB0M,GAAsB5M,CAAM,EAAE,IAAM+f,EAAa,UACjD/f,EAAO,YAAc6E,EAAQ,QAAoB,GACvD,EAKA,MAAqBka,WAAkBhf,CAAc,CACnD,OAAO,SAAW2e,GAClB,OAAO,KAAOI,GACd,OAAO,YAAcD,GAcrB,YACE7e,EACAC,EACA,CACA,MAAMD,EAAQC,CAAM,EAGd,KAAA,CAAE,QAAAC,EAAS,QAAA2E,CAAA,EAAY,KAGvBmb,EAAY3f,EAChBwE,EAAQ,OACRtB,EAAYrD,CAAO,CACrB,EAGK8f,IACL,KAAK,OAASA,EAGd,KAAK,aAAe9f,EAAQ,aAAeA,EAAQ,aAC/CA,EACAqM,GAAmBrM,CAAO,EACzB,KAAA,qBAGL,KAAK,QAAQ,EAIR,KAAA,UAAY,IAAIsd,GAAiB,IAAM,CACpB,sBAAA,IAAM,KAAK,SAAS,CAAA,EACzC,CACD,KAAM,KAAK,YAAA,CACZ,EAGD,KAAK,sBAAsB,EAAI,EAAA,CAOjC,IAAI,MAAO,CACF,OAAAiB,EAAA,CAKT,IAAI,UAAW,CACN,OAAAG,EAAA,CAOT,QAAU,IAAM,CACR,KAAA,CAAE,OAAA5e,EAAQ,aAAA+f,CAAA,EAAiB,KAGjC,GAAI,CAAC/f,GAAUA,EAAO,eAAiB,EAAG,OAE1Cif,GAAiB,IAAI,EACrB,KAAM,CAAE,aAAAC,EAAc,aAAAC,EAAc,YAAAc,CAAgB,EAAA,KAGpD,GAAI,CAACf,EAAc,OACnB,MAAMgB,EAAUf,EAAa,QAAQ,EAAE,QAAQ,EAEzC,CAAE,UAAA7H,EAAW,aAAAxE,EAAc,aAAAxG,CAAiB,EAAAyT,EAE9C,GAAAzI,GAAaxE,EAAexG,EAAc,CAC5C,MAAM6T,EAAgBD,EAAQhB,EAAe,CAAC,IAAI,CAAC,EAG/Ce,IAAgBE,GAAwBR,GAAA,KAAMQ,CAAa,EAC/D,MAAA,CAGF,MAAMC,EAAcF,EAAQ,CAAC,IAAI,CAAC,EAC9BJ,GAAU,KAAMI,EAAQ,CAAC,EAAE,CAAC,CAAC,EACF,KAC/B,GACEE,IAAgB,MAAQ9I,EAAY8I,GACpCA,EAAc,EACd,CACA,KAAK,YAAc,KACnBX,GAAMzf,CAAM,EACZ,MAAA,CAGF,QAASzD,EAAI,EAAGA,EAAI2iB,EAAc3iB,GAAK,EAAG,CACxC,KAAM,CAACijB,EAAYE,CAAI,EAAIQ,EAAQ3jB,CAAC,EAC9B8jB,EAAYP,GAAU,KAAMN,CAAU,EACtCc,GAAaJ,EAAQ3jB,EAAI,CAAC,IAAI,CAAC,EAC/BgkB,EAAgBD,GAClBR,GAAU,KAAMQ,EAAU,EACC,KAG/B,GACEL,IAAgBP,GAChBpI,GAAa+I,IACZE,IAAkB,MAAQjJ,EAAYiJ,GACvC,CACAZ,GAAS,KAAMD,CAAI,EACnB,KAAA,CACF,CAEJ,EAOA,UAAarlB,GAAqC,CAChD,MAAMqlB,EAAOhc,EAAQrJ,EAAE,OAAQskB,EAAuB,EAChDY,EAAOG,GAAQ7e,EAAa6e,EAAM,MAAM,GAAG,MAAM,CAAC,EAClDF,EAAaD,GAAQiB,GAAejB,EAAM,KAAK,MAAM,EAGvDC,IACF,KAAK,aAAa,SAAS,CACzB,IAAKA,EAAW,UAChB,SAAU,QAAA,CACX,EACDnlB,EAAE,eAAe,EAErB,EAQA,sBACEuH,GACG,CACH,KAAM,CAAE,OAAA5B,EAAQ,aAAAmf,EAAc,UAAAsB,EAAW,UAAAC,CAAc,EAAA,MACxC9e,EAAME,EAAcC,GAC5B/B,EAAQkC,EAAiBwe,CAAS,EAErC9e,EACFud,GAAc,QAAQ,CAACxF,EAAG6F,IAAeiB,EAAU,QAAQjB,CAAU,CAAC,IACvD,WAAW,CAC9B,EAGA,SAAU,CACR,KAAK,sBAAsB,EAC3B,MAAM,QAAQ,CAAA,CAElB,CC9UA,MAAMmB,GAAY,MCAZC,GAAe,MCqCfC,GAAc,IAAIze,EAAY,KAAKue,EAAS,KAM5CG,GAAkB5gB,GACtBe,EAAiBf,EAAS0gB,EAAY,EAGlCG,GAAmB7gB,GAAqB,IAAI8gB,GAAI9gB,CAAO,EAQvD+gB,GAAe5f,EACnB,WAAWsf,EAAS,EACtB,EACMO,GAAgB7f,EACpB,YAAYsf,EAAS,EACvB,EACMQ,GAAe9f,EACnB,WAAWsf,EAAS,EACtB,EACMS,GAAiB/f,EACrB,aAAasf,EAAS,EACxB,EAaMU,WASAC,GAAiB9f,GAAc,CAC7B,KAAA,CAAE,WAAA+f,EAAY,IAAAC,CAAA,EAAQhgB,EAGxB+f,GAAc3gB,EAAS2gB,EAAYjZ,EAAe,IACpDiZ,EAAW,MAAM,OAAS,GAC1B7f,EAAY6f,EAAYjZ,EAAe,GAIrCkZ,GAAWtc,EAAA,MAAMsc,CAAG,CAC1B,EAOMC,GAAkBjgB,GAAc,CACpC,KAAM,CAAE,QAAAtB,EAAS,WAAAqhB,EAAY,QAASG,EAAa,IAAAF,GAAQhgB,EACrD,CAAE,IAAAmgB,GAAS9X,EAAc2X,CAAG,GAAKH,GAAW,IAAIG,CAAG,GAEvD,CAAE,IAAK,IAAK,EAGd,GAAID,GAAcG,GAAe9gB,EAAS8gB,EAAajiB,CAAS,EAAG,CACjE,KAAM,CAAE,cAAAmiB,EAAe,WAAAC,CAAA,EAAeR,GAAW,IAAInhB,CAAO,GAE1D,CAAE,cAAe,EAAG,WAAY,CAAE,EAEhC0hB,IAAkBC,EAEpB,WAAW,IAAM,CACJN,EAAA,MAAM,OAAS,GAAGM,CAAU,KACvCta,GAAOga,CAAU,EACjB5f,EAAqB4f,EAAY,IAAMD,GAAc9f,CAAI,CAAC,GACzD,EAAE,EAEL8f,GAAc9f,CAAI,CAEX,MAAAggB,GAAWtc,EAAA,MAAMsc,CAAG,EAE/BN,GAAc,cAAgBS,EAE9BlgB,EAAcvB,EAASghB,EAAa,CACtC,EAOMY,GAAkBtgB,GAAc,CACpC,KAAM,CAAE,QAAAtB,EAAS,QAASwhB,EAAa,WAAAH,EAAY,IAAAC,GAAQhgB,EACrD,CAAE,IAAAmgB,EAAK,QAAA5H,GAAayH,GAAOH,GAAW,IAAIG,CAAG,GAEjD,CAAE,IAAK,KAAM,QAAS,IAAK,EAC7B,IAAII,EAAgB,EAmBpB,GAhBIL,GAAcG,GAAe9gB,EAAS8gB,EAAajiB,CAAS,IAC9D,CAACsa,EAAS2H,CAAW,EAAE,QAAS7kB,GAAM,CAEhCA,GAAYiG,EAAAjG,EAAG,iBAAiB,CAAA,CACrC,EACD+kB,EAAgB7H,EACZA,EAAQ,aAC6B,GAI3CkH,GAAa,cAAgBU,EAC7BP,GAAe,cAAgBlhB,EAC/BuB,EAAcvB,EAAS+gB,EAAY,EAG/B,CAAAA,GAAa,iBAOjB,IALIS,GAAsB5e,EAAA4e,EAAavf,CAAW,EAE9C4X,GAAqBrY,EAAAqY,EAAS5X,CAAW,EAGzCof,GAAcG,GAAe9gB,EAAS8gB,EAAajiB,CAAS,EAAG,CACjE,MAAMoiB,EAAaH,EAAY,aAC/BL,GAAW,IAAInhB,EAAS,CACtB,cAAA0hB,EACA,WAAAC,EACA,IAAK,KACL,QAAS,IAAA,CACV,EAED/e,EAASye,EAAYjZ,EAAe,EACzBiZ,EAAA,MAAM,OAAS,GAAGK,CAAa,KAC1Cra,GAAOga,CAAU,EACjB,CAACxH,EAAS2H,CAAW,EAAE,QAAS7kB,GAAM,CAEhCA,GAAe6E,EAAA7E,EAAG,iBAAiB,CAAA,CACxC,CAAA,CAGC6kB,GAAeA,GAAe9gB,EAAS8gB,EAAajiB,CAAS,EAC/D,WAAW,IAAM,CACfqD,EAAS4e,EAAahiB,CAAS,EAC/BiC,EAAqB+f,EAAa,IAAM,CACtCD,GAAejgB,CAAI,CAAA,CACpB,GACA,CAAC,GAGAkgB,GAAsB5e,EAAA4e,EAAahiB,CAAS,EAChD+hB,GAAejgB,CAAI,GAIjBmgB,GAAmBlgB,EAAAkgB,EAAKP,EAAc,EAC5C,EAQMW,GACJvgB,GAC6D,CACvD,KAAA,CAAE,IAAAggB,GAAQhgB,EAEZ,GAAA,CAACqI,EAAc2X,CAAG,EACpB,MAAO,CAAE,IAAK,KAAM,QAAS,IAAK,EAGpC,MAAMQ,EAAapb,GACjBzE,EACAqf,CACF,EACA,IAAIG,EAA0B,KAG5BK,EAAW,SAAW,GACtB,CAACtX,GAAgB,KAAM7N,GACrB+D,EAASohB,EAAW,CAAC,EAAE,cAA8BnlB,CAAC,CAAA,EAGxD,CAAC8kB,CAAG,EAAIK,EACCA,EAAW,OAAS,IACvBL,EAAAK,EAAWA,EAAW,OAAS,CAAC,GAExC,MAAMjI,EAAUlQ,EAAc8X,CAAG,EAAIve,EAAiBue,CAAG,EAAI,KACtD,MAAA,CAAE,IAAAA,EAAK,QAAA5H,CAAQ,CACxB,EAQMkI,GAAqB/hB,GAA0B,CAEnD,GAAI,CAAC2J,EAAc3J,CAAO,EAAU,OAAA,KAC9B,MAAAgiB,EAAWxe,EAAQxD,EAAS,IAAIwK,GAAgB,KAAK,IAAI,CAAC,EAAE,EAC3D,OAAAwX,EACH7hB,EAA2B,IAAIqK,GAAgB,CAAC,CAAC,UAAWwX,CAAQ,EACpE,IACN,EASMC,GAAmB,GAA2B,CAClD,MAAMjiB,EAAUwD,EAAQ,EAAE,OAAQmd,EAAW,EACvCrf,EAAOtB,GAAW4gB,GAAe5gB,CAAO,EAGzCsB,IACL,EAAE,eAAe,EACjBA,EAAK,KAAK,EACZ,EAKA,MAAqBwf,WAAYjhB,CAAc,CAC7C,OAAO,SAAW8gB,GAClB,OAAO,KAAOE,GACd,OAAO,YAAcD,GASrB,YAAY9gB,EAA0B,CACpC,MAAMA,CAAM,EAGN,KAAA,CAAE,QAAAE,GAAY,KACd6Z,EAAU3W,EAAiBlD,CAAO,EAIxC,GAAI,CAAC6Z,EAAS,OAER,MAAAyH,EAAM9d,EAAqBxD,EAAS,MAAM,EAC1CiX,EAAYzT,EAChBqW,EACA,cACF,EAEA,KAAK,IAAMyH,EACX,KAAK,QAAUzH,EACf,KAAK,WAAa5C,EAGb,KAAA,SAAW8K,GAAkB/hB,CAAO,EAIzC,KAAM,CAAE,IAAAyhB,CAAA,EAAQI,GAAa,IAAI,EAC7B,GAAAP,GAAO,CAACG,EAAK,CACT,MAAAS,EAAW/hB,EAAcwgB,GAAaW,CAAG,EACzCa,EAAkBD,GAAYhf,EAAiBgf,CAAQ,EAGzDC,IACFvf,EAASsf,EAAUjgB,CAAW,EAC9BW,EAASuf,EAAiB3iB,CAAS,EACnCoD,EAASuf,EAAiBlgB,CAAW,EACxBQ,EAAAzC,EAASoiB,GAAc,MAAM,EAC5C,CAIF,KAAK,sBAAsB,EAAI,CAAA,CAMjC,IAAI,MAAO,CACF,OAAA1B,EAAA,CAMT,MAAO,CACL,KAAM,CAAE,QAAA1gB,EAAS,QAASwhB,EAAa,IAAAF,EAAK,SAAAU,GAAa,KAGpD,GAAAV,GAAOtc,EAAM,IAAIsc,CAAG,GAAM5gB,EAASV,EAASiC,CAAW,EAAG,OAC/D,KAAM,CAAE,IAAAwf,EAAK,QAAA5H,GAAYgI,GAAa,IAAI,EAgB1C,GAbIP,GAAOG,GACEN,GAAA,IAAIG,EAAK,CAAE,IAAAG,EAAK,QAAA5H,EAAS,cAAe,EAAG,WAAY,EAAG,EAIvEoH,GAAa,cAAgBjhB,EAGzB,CAAC2J,EAAc8X,CAAG,IAEtBlgB,EAAckgB,EAAKR,EAAY,EAG3BA,GAAa,kBAAkB,OAEnCre,EAAS5C,EAASiC,CAAW,EAChBQ,EAAAzC,EAASoiB,GAAc,MAAM,EAE1C,MAAMC,EAAiB1Y,EAAc8X,CAAG,GAAKM,GAAkBN,CAAG,EAMlE,GALIY,GAAkB3hB,EAAS2hB,EAAgBpgB,CAAW,GACxDT,EAAY6gB,EAAgBpgB,CAAW,EAIrCqf,EAAK,CACP,MAAMgB,EAAY,IAAM,CAElBb,IACFjgB,EAAYigB,EAAKxf,CAAW,EACfQ,EAAAgf,EAAKW,GAAc,OAAO,GAErCJ,GAAY,CAACthB,EAASshB,EAAU/f,CAAW,GAC7CW,EAASof,EAAU/f,CAAW,CAElC,EAGE4X,IACCnZ,EAASmZ,EAASta,CAAS,GACzBiiB,GAAe9gB,EAAS8gB,EAAajiB,CAAS,GAE3CyF,EAAA,IAAIsc,EAAKgB,EAAW,CAAC,EACZA,EAAA,CAAA,CAIfzI,IACFrY,EAAYqY,EAASra,CAAS,EAC1BkB,EAASmZ,EAASta,CAAS,EAC7BkC,EAAqBoY,EAAS,IAAM+H,GAAe,IAAI,CAAC,EAExDA,GAAe,IAAI,EAEvB,CAQF,sBAAyBlgB,GAAkB,EAC1BA,EAAME,EAAcC,GAC5B,KAAK,QAASG,EAAiBigB,EAAe,CACvD,EAGA,SAAU,CACR,KAAK,sBAAsB,EAC3B,MAAM,QAAQ,CAAA,CAElB,CCraA,MAAMM,EAAc,QCAdC,GAAiB,QCsCjBC,GAAgB,IAAIF,CAAW,GAC/BG,GAAuB,IAAIjjB,EAAa,KAAK8iB,CAAW,KACxDI,GAAsB,IAAIzgB,EAAY,KAAKqgB,CAAW,KACtDK,GAAe,UAEfC,GAAY,OAEZC,GAAgB,CACpB,UAAW,GACX,SAAU,GACV,MAAO,GACT,EAMMC,GAAoB/iB,GACxBe,EAAmBf,EAASwiB,EAAc,EAKtCQ,GAAqBhjB,GAAqB,IAAIijB,GAAMjjB,CAAO,EAI3DkjB,GAAiB/hB,EACrB,WAAWohB,CAAW,EACxB,EACMY,GAAkBhiB,EACtB,YAAYohB,CAAW,EACzB,EACMa,GAAiBjiB,EACrB,WAAWohB,CAAW,EACxB,EACMc,GAAmBliB,EACvB,aAAaohB,CAAW,EAC1B,EASMe,GAAqBhiB,GAAgB,CACnC,KAAA,CAAE,QAAAtB,EAAS,QAAA2E,CAAA,EAAYrD,EAC7BE,EAAYxB,EAAS4iB,EAAY,EAC3B5d,EAAA,MAAMhF,EAAS4iB,EAAY,EAEjCrhB,EAAcvB,EAASmjB,EAAe,EAElCxe,EAAQ,UACJK,EAAA,IAAIhF,EAAS,IAAMsB,EAAK,OAAQqD,EAAQ,MAAO4d,CAAW,CAEpE,EAOMgB,GAAqBjiB,GAAgB,CACnC,KAAA,CAAE,QAAAtB,GAAYsB,EACpBE,EAAYxB,EAAS4iB,EAAY,EACjCphB,EAAYxB,EAASR,CAAS,EAC9BoD,EAAS5C,EAAS6iB,EAAS,EACrB7d,EAAA,MAAMhF,EAASuiB,CAAW,EAChChhB,EAAcvB,EAASqjB,EAAgB,CACzC,EAOMG,GAAaliB,GAAgB,CAC3B,KAAA,CAAE,QAAAtB,EAAS,QAAA2E,CAAA,EAAYrD,EAC7BsB,EAAS5C,EAAS4iB,EAAY,EAE1Bje,EAAQ,WACV0C,GAAOrH,CAAsB,EAC7ByB,EAAqBzB,EAAS,IAAMujB,GAAkBjiB,CAAI,CAAC,GAE3DiiB,GAAkBjiB,CAAI,CAE1B,EAOMmiB,GAAaniB,GAAgB,CAC3B,KAAA,CAAE,QAAAtB,EAAS,QAAA2E,CAAA,EAAYrD,EACvB0D,EAAA,IACJhF,EACA,IAAM,CACJwB,EAAYxB,EAAS6iB,EAAS,EAC9Bxb,GAAOrH,CAAsB,EAC7B4C,EAAS5C,EAASR,CAAS,EAC3BoD,EAAS5C,EAAS4iB,EAAY,EAE1Bje,EAAQ,UACVlD,EAAqBzB,EAAS,IAAMsjB,GAAkBhiB,CAAI,CAAC,EAE3DgiB,GAAkBhiB,CAAI,CAE1B,EACA,GACAshB,EACF,CACF,EASMc,GAAqB,GAAa,CAChC,KAAA,CAAE,OAAA5jB,GAAW,EAEb4J,EAAU5J,GAAU0D,EAAQ1D,EAAuB6iB,EAAmB,EACtE3iB,EAAU0J,GAAWxG,EAAiBwG,CAAO,EAC7CpI,EAAOtB,GAAW+iB,GAAiB/iB,CAAO,EAG3CsB,IAEDoI,GAAWA,EAAQ,UAAY,OAAO,eAAe,EACzDpI,EAAK,cAAgBoI,EACrBpI,EAAK,KAAK,EACZ,EAQMqiB,GAA2B,GAA+B,CAC9D,MAAM3jB,EAAU,EAAE,OACZsB,EAAOyhB,GAAiB/iB,CAAO,EAC/B,CAAE,KAAA8N,EAAM,cAAAuF,CAAA,EAAkB,EAI9B,CAAC/R,GAAQtB,IAAYqT,GACrBrT,EAAQ,SAASqT,CAAqB,IAGpC,CAAC3L,GAAiBoW,EAAY,EAAE,SAAShQ,CAAI,EACzC9I,EAAA,MAAMhF,EAASuiB,CAAW,EAE1Bvd,EAAA,IAAIhF,EAAS,IAAMsB,EAAK,KAAQ,EAAAA,EAAK,QAAQ,MAAOihB,CAAW,EAEzE,EAKA,MAAqBU,WAAcpjB,CAAc,CAC/C,OAAO,SAAW4iB,GAClB,OAAO,KAAOO,GACd,OAAO,YAAcD,GAWrB,YAAYjjB,EAA0BC,EAAgC,CACpE,MAAMD,EAAQC,CAAM,EACd,KAAA,CAAE,QAAAC,EAAS,QAAA2E,CAAA,EAAY,KAGzBA,EAAQ,WAAa,CAACjE,EAASV,EAAST,CAAS,EACnDqD,EAAS5C,EAAST,CAAS,EAClB,CAACoF,EAAQ,WAAajE,EAASV,EAAST,CAAS,GAC1DiC,EAAYxB,EAAST,CAAS,EAI3B,KAAA,QAAUY,EAA2BuiB,GAAsB1iB,CAAO,EAGvE,KAAK,SAAW,CACd,GAAGwF,EACDmd,GACAtf,EAAYrD,CAAO,CAAA,CACrB,EACA,OACCsJ,GAAQpG,EAAiBoG,CAAG,IAAMtJ,CACrC,EAGA,KAAK,sBAAsB,EAAI,CAAA,CAKjC,IAAI,MAAO,CACF,OAAAwiB,EAAA,CAKT,IAAI,UAAW,CACN,OAAAM,EAAA,CAKT,IAAI,SAAU,CACL,OAAApiB,EAAS,KAAK,QAASlB,CAAS,CAAA,CAMzC,KAAO,IAAM,CACL,KAAA,CAAE,QAAAQ,EAAS,QAAA4jB,CAAA,EAAY,KAGzB,CAAC5jB,GAAW4jB,IAEhBriB,EAAcvB,EAASkjB,EAAc,EAChCA,GAAe,kBAAkBO,GAAU,IAAI,EACtD,EAGA,KAAO,IAAM,CACL,KAAA,CAAE,QAAAzjB,EAAS,QAAA4jB,CAAA,EAAY,KAGzB,CAAC5jB,GAAW,CAAC4jB,IAEjBriB,EAAcvB,EAASojB,EAAc,EAChCA,GAAe,kBAAkBI,GAAU,IAAI,EACtD,EAOA,sBAAyB9hB,GAAkB,CACnC,MAAAC,EAASD,EAAME,EAAcC,EAC7B,CAAE,QAAA7B,EAAS,SAAAmJ,EAAU,QAAArH,EAAS,QAAA6C,EAAS,KAAAkf,GAAS,KAGlD/hB,GACKH,EAAAG,EAASE,EAAiB6hB,CAAI,EAInClf,EAAQ,UACV,CAACmZ,GAAcC,GAAerW,GAAiBC,EAAe,EAAE,QAC7DxN,GAAMwH,EAAO3B,EAAS7F,EAAGwpB,EAAuB,CACnD,EAGExa,EAAS,QACFA,EAAA,QAASG,GAAQ,CACnB7I,GAAW6I,CAAG,GAAU3H,EAAA2H,EAAKtH,EAAiB0hB,EAAiB,CAAA,CACrE,CAEL,EAGA,SAAU,CACF,KAAA,CAAE,QAAA1jB,EAAS,QAAA4jB,CAAA,EAAY,KAC7B,KAAK,sBAAsB,EACrB5e,EAAA,MAAMhF,EAASuiB,CAAW,EAE5BqB,GAAqBpiB,EAAAxB,EAASR,CAAS,EAE3C,MAAM,QAAQ,CAAA,CAElB,CCrTA,MAAMskB,WA8BN,CACE7iB,GACAuB,GACAyB,GACA2E,GACAgC,GACAyH,GACA6C,GACAmJ,GACAQ,GACAiC,GACAmC,GACA9G,EACF,EAAE,QAASxf,GAAMmnB,GAAe,IAAInnB,EAAE,UAAU,KAAMA,CAAC,CAAC,EAQxD,MAAMonB,GAAuB,CAC3BrP,EACAsP,IACG,CACF,CAAA,GAAGA,CAAU,EAAE,QAASvmB,GAAMiX,EAASjX,CAAC,CAAC,CAC5C,EAQMwmB,GAAyB,CAAIC,EAAmBC,IAAwB,CACtE,MAAAC,EAAW/jB,GAAK,UAAU6jB,CAAS,EAErCE,GACD,CAAA,GAAGA,CAAQ,EAAE,QAAQ,CAAC,CAACpkB,EAASqkB,CAAQ,IAAM,CACzCF,EAAQ,SAASnkB,CAAO,GACzBqkB,EAAyC,QAAQ,CACpD,CACD,CAEL,EAOaC,GAAgBH,GAAyB,CACpD,MAAMI,EAASJ,GAAWA,EAAQ,SAAWA,EAAU,SACjDK,EAAiB,CAAC,GAAGrF,GAA8B,IAAKoF,CAAM,CAAC,EAEtDT,GAAA,QAASW,GAAO,CACvB,KAAA,CAAE,KAAAC,EAAM,SAAAC,CAAA,EAAaF,EAC3BV,GACEW,EACAF,EAAe,OAAQhF,GAAS3Y,GAAQ2Y,EAAMmF,CAAQ,CAAC,CACzD,CAAA,CACD,CACH,EAOaC,GAAiBT,GAAyB,CACrD,MAAMI,EAASJ,GAAWA,EAAQ,SAAWA,EAAU,SAExCL,GAAA,QAASe,GAAS,CACRZ,GAAAY,EAAK,UAAU,KAAMN,CAAM,CAAA,CACnD,CACH,EAGA,OAAI,SAAS,KAAmBD,GAAA,EAE9B1iB,EAAY,SAAU,mBAAoB,IAAM0iB,GAAA,EAAgB,CAC9D,KAAM,EAAA,CACP","x_google_ignoreList":[0,1,53]} \ No newline at end of file diff --git a/dist/bootstrap-native.mjs b/dist/bootstrap-native.mjs index 467321fd..4e9ed16f 100644 --- a/dist/bootstrap-native.mjs +++ b/dist/bootstrap-native.mjs @@ -1,33 +1,33 @@ -const $n = "aria-describedby", we = "aria-expanded", ie = "aria-hidden", $e = "aria-modal", Es = "aria-pressed", _e = "aria-selected", os = "focus", is = "focusin", Tn = "focusout", Te = "keydown", Ro = "keyup", I = "click", yn = "mousedown", Bo = "hover", ye = "mouseenter", rs = "mouseleave", Fo = "pointerdown", Wo = "pointermove", jo = "pointerup", cs = "touchstart", zo = "dragstart", Vo = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]', Ke = "ArrowDown", qe = "ArrowUp", $s = "ArrowLeft", Ts = "ArrowRight", as = "Escape", Ko = "transitionDuration", qo = "transitionDelay", Oe = "transitionend", Cn = "transitionProperty", Xo = () => { +const yn = "aria-describedby", Ee = "aria-expanded", re = "aria-hidden", $e = "aria-modal", ys = "aria-pressed", Oe = "aria-selected", cs = "focus", as = "focusin", Cn = "focusout", ye = "keydown", Fo = "keyup", I = "click", xn = "mousedown", Wo = "hover", Ce = "mouseenter", ls = "mouseleave", jo = "pointerdown", zo = "pointermove", Ko = "pointerup", ds = "touchstart", Vo = "dragstart", qo = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]', Ye = "ArrowDown", Ue = "ArrowUp", Cs = "ArrowLeft", xs = "ArrowRight", hs = "Escape", Yo = "transitionDuration", Uo = "transitionDelay", Ne = "transitionend", Sn = "transitionProperty", Xo = () => { const e = /(iPhone|iPod|iPad)/; return navigator?.userAgentData?.brands.some( (t) => e.test(t.brand) ) || e.test( navigator?.userAgent ) || !1; -}, Ee = () => { -}, Yo = (e, t, s, n) => { +}, Te = () => { +}, Go = (e, t, s, n) => { const o = n || !1; e.addEventListener( t, s, o ); -}, Uo = (e, t, s, n) => { +}, Qo = (e, t, s, n) => { const o = n || !1; e.removeEventListener( t, s, o ); -}, et = (e, t) => e.getAttribute(t), te = (e, t) => e.hasAttribute(t), L = (e, t, s) => e.setAttribute(t, s), It = (e, t) => e.removeAttribute(t), h = (e, ...t) => { +}, X = (e, t) => e.getAttribute(t), te = (e, t) => e.hasAttribute(t), k = (e, t, s) => e.setAttribute(t, s), Pt = (e, t) => e.removeAttribute(t), d = (e, ...t) => { e.classList.add(...t); }, v = (e, ...t) => { e.classList.remove(...t); -}, f = (e, t) => e.classList.contains(t), re = (e) => e != null && typeof e == "object" || !1, D = (e) => re(e) && typeof e.nodeType == "number" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some( +}, h = (e, t) => e.classList.contains(t), ce = (e) => e != null && typeof e == "object" || !1, D = (e) => ce(e) && typeof e.nodeType == "number" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some( (t) => e.nodeType === t -) || !1, G = (e) => D(e) && e.nodeType === 1 || !1, Wt = /* @__PURE__ */ new Map(), Dt = { - data: Wt, +) || !1, U = (e) => D(e) && e.nodeType === 1 || !1, jt = /* @__PURE__ */ new Map(), At = { + data: jt, /** * Sets web components data. * @@ -36,7 +36,7 @@ const $n = "aria-describedby", we = "aria-expanded", ie = "aria-hidden", $e = "a * @param instance the component instance */ set: (e, t, s) => { - G(e) && (Wt.has(t) || Wt.set(t, /* @__PURE__ */ new Map()), Wt.get(t).set(e, s)); + U(e) && (jt.has(t) || jt.set(t, /* @__PURE__ */ new Map()), jt.get(t).set(e, s)); }, /** * Returns all instances for specified component. @@ -44,7 +44,7 @@ const $n = "aria-describedby", we = "aria-expanded", ie = "aria-hidden", $e = "a * @param component the component's name or a unique key * @returns all the component instances */ - getAllFor: (e) => Wt.get(e) || null, + getAllFor: (e) => jt.get(e) || null, /** * Returns the instance associated with the target. * @@ -53,8 +53,8 @@ const $n = "aria-describedby", we = "aria-expanded", ie = "aria-hidden", $e = "a * @returns the instance */ get: (e, t) => { - if (!G(e) || !t) return null; - const s = Dt.getAllFor(t); + if (!U(e) || !t) return null; + const s = At.getAllFor(t); return e && s && s.get(e) || null; }, /** @@ -64,68 +64,68 @@ const $n = "aria-describedby", we = "aria-expanded", ie = "aria-hidden", $e = "a * @param component the component's name or a unique key */ remove: (e, t) => { - const s = Dt.getAllFor(t); - !s || !G(e) || (s.delete(e), s.size === 0 && Wt.delete(t)); + const s = At.getAllFor(t); + !s || !U(e) || (s.delete(e), s.size === 0 && jt.delete(t)); } -}, j = (e, t) => Dt.get(e, t), ce = (e) => typeof e == "string" || !1, xn = (e) => re(e) && e.constructor.name === "Window" || !1, Sn = (e) => D(e) && e.nodeType === 9 || !1, w = (e) => Sn(e) ? e : D(e) ? e.ownerDocument : xn(e) ? e.document : globalThis.document, ct = (e, ...t) => Object.assign(e, ...t), vt = (e) => { +}, F = (e, t) => At.get(e, t), Ss = (e) => e?.trim().replace( + /(?:^\w|[A-Z]|\b\w)/g, + (t, s) => s === 0 ? t.toLowerCase() : t.toUpperCase() +).replace(/\s+/g, ""), ae = (e) => typeof e == "string" || !1, _n = (e) => ce(e) && e.constructor.name === "Window" || !1, An = (e) => D(e) && e.nodeType === 9 || !1, w = (e) => An(e) ? e : D(e) ? e.ownerDocument : _n(e) ? e.document : globalThis.document, at = (e, ...t) => Object.assign(e, ...t), bt = (e) => { if (!e) return; - if (ce(e)) + if (ae(e)) return w().createElement(e); - const { tagName: t } = e, s = vt(t); + const { tagName: t } = e, s = bt(t); if (!s) return; const n = { ...e }; - return delete n.tagName, ct(s, n); -}, b = (e, t) => e.dispatchEvent(t), W = (e, t, s) => { + return delete n.tagName, at(s, n); +}, b = (e, t) => e.dispatchEvent(t), R = (e, t, s) => { const n = getComputedStyle(e, s), o = t.replace("webkit", "Webkit").replace(/([A-Z])/g, "-$1").toLowerCase(); return n.getPropertyValue(o); -}, Go = (e) => { - const t = W(e, Cn), s = W(e, qo), n = s.includes("ms") ? 1 : 1e3, o = t && t !== "none" ? parseFloat(s) * n : 0; +}, Zo = (e) => { + const t = R(e, Sn), s = R(e, Uo), n = s.includes("ms") ? 1 : 1e3, o = t && t !== "none" ? parseFloat(s) * n : 0; return Number.isNaN(o) ? 0 : o; -}, ae = (e) => { - const t = W(e, Cn), s = W(e, Ko), n = s.includes("ms") ? 1 : 1e3, o = t && t !== "none" ? parseFloat(s) * n : 0; +}, le = (e) => { + const t = R(e, Sn), s = R(e, Yo), n = s.includes("ms") ? 1 : 1e3, o = t && t !== "none" ? parseFloat(s) * n : 0; return Number.isNaN(o) ? 0 : o; -}, H = (e, t) => { +}, S = (e, t) => { let s = 0; - const n = new Event(Oe), o = ae(e), i = Go(e); + const n = new Event(Ne), o = le(e), i = Zo(e); if (o) { const r = (c) => { - c.target === e && (t.apply(e, [c]), e.removeEventListener(Oe, r), s = 1); + c.target === e && (t.apply(e, [c]), e.removeEventListener(Ne, r), s = 1); }; - e.addEventListener(Oe, r), setTimeout(() => { + e.addEventListener(Ne, r), setTimeout(() => { s || b(e, n); }, o + i + 17); } else t.apply(e, [n]); -}, at = (e, t) => e.focus(t), ys = (e) => ["true", !0].includes(e) ? !0 : ["false", !1].includes(e) ? !1 : ["null", "", null, void 0].includes(e) ? null : e !== "" && !Number.isNaN(+e) ? +e : e, ue = (e) => Object.entries(e), Vt = (e) => e.toLowerCase(), Zo = (e, t, s, n) => { - if (!G(e)) return t; +}, lt = (e, t) => e.focus(t), _s = (e) => ["true", !0].includes(e) ? !0 : ["false", !1].includes(e) ? !1 : ["null", "", null, void 0].includes(e) ? null : e !== "" && !Number.isNaN(+e) ? +e : e, pe = (e) => Object.entries(e), Jo = (e, t, s, n) => { + if (!U(e)) return t; const o = { ...s }, i = { ...e.dataset }, r = { ...t }, c = {}, a = "title"; - return ue(i).forEach(([l, d]) => { - const g = typeof l == "string" && l.includes(n) ? l.replace(n, "").replace( - /[A-Z]/g, - (E) => Vt(E) - ) : l; - c[g] = ys(d); - }), ue(o).forEach(([l, d]) => { - o[l] = ys(d); - }), ue(t).forEach(([l, d]) => { - l in o ? r[l] = o[l] : l in c ? r[l] = c[l] : r[l] = l === a ? et(e, a) : d; + return pe(i).forEach(([l, f]) => { + const g = typeof l == "string" && l.includes(n) ? Ss(l.replace(n, "")) : Ss(l); + c[g] = _s(f); + }), pe(o).forEach(([l, f]) => { + o[l] = _s(f); + }), pe(t).forEach(([l, f]) => { + l in o ? r[l] = o[l] : l in c ? r[l] = c[l] : r[l] = l === a ? X(e, a) : f; }), r; -}, Cs = (e) => Object.keys(e), $ = (e, t) => { +}, As = (e) => Object.keys(e), E = (e, t) => { const s = new CustomEvent(e, { cancelable: !0, bubbles: !0 }); - return re(t) && ct(s, t), s; -}, ee = { passive: !0 }, Ot = (e) => e.offsetHeight, P = (e, t) => { - ue(t).forEach(([s, n]) => { - if (n && ce(s) && s.includes("--")) + return ce(t) && at(s, t), s; +}, ee = { passive: !0 }, Ot = (e) => e.offsetHeight, _ = (e, t) => { + pe(t).forEach(([s, n]) => { + if (n && ae(s) && s.includes("--")) e.style.setProperty(s, n); else { const o = {}; - o[s] = n, ct(e.style, o); + o[s] = n, at(e.style, o); } }); -}, Xe = (e) => re(e) && e.constructor.name === "Map" || !1, Qo = (e) => typeof e == "number" || !1, ut = /* @__PURE__ */ new Map(), u = { +}, Xe = (e) => ce(e) && e.constructor.name === "Map" || !1, ti = (e) => typeof e == "number" || !1, pt = /* @__PURE__ */ new Map(), u = { /** * Sets a new timeout timer for an element, or element -> key association. * @@ -135,7 +135,7 @@ const $n = "aria-describedby", we = "aria-expanded", ie = "aria-hidden", $e = "a * @param key a unique key */ set: (e, t, s, n) => { - G(e) && (n && n.length ? (ut.has(e) || ut.set(e, /* @__PURE__ */ new Map()), ut.get(e).set(n, setTimeout(t, s))) : ut.set(e, setTimeout(t, s))); + U(e) && (n && n.length ? (pt.has(e) || pt.set(e, /* @__PURE__ */ new Map()), pt.get(e).set(n, setTimeout(t, s))) : pt.set(e, setTimeout(t, s))); }, /** * Returns the timer associated with the target. @@ -145,9 +145,9 @@ const $n = "aria-describedby", we = "aria-expanded", ie = "aria-hidden", $e = "a * @returns the timer */ get: (e, t) => { - if (!G(e)) return null; - const s = ut.get(e); - return t && s && Xe(s) ? s.get(t) || null : Qo(s) ? s : null; + if (!U(e)) return null; + const s = pt.get(e); + return t && s && Xe(s) ? s.get(t) || null : ti(s) ? s : null; }, /** * Clears the element's timer. @@ -156,30 +156,30 @@ const $n = "aria-describedby", we = "aria-expanded", ie = "aria-hidden", $e = "a * @param key a unique key */ clear: (e, t) => { - if (!G(e)) return; - const s = ut.get(e); - t && t.length && Xe(s) ? (clearTimeout(s.get(t)), s.delete(t), s.size === 0 && ut.delete(e)) : (clearTimeout(s), ut.delete(e)); + if (!U(e)) return; + const s = pt.get(e); + t && t.length && Xe(s) ? (clearTimeout(s.get(t)), s.delete(t), s.size === 0 && pt.delete(e)) : (clearTimeout(s), pt.delete(e)); } -}, U = (e, t) => (D(t) ? t : w()).querySelectorAll(e), Ye = /* @__PURE__ */ new Map(); -function Jo(e) { +}, se = (e) => e.toLowerCase(), Y = (e, t) => (D(t) ? t : w()).querySelectorAll(e), Ge = /* @__PURE__ */ new Map(); +function ei(e) { const { shiftKey: t, code: s } = e, n = w(this), o = [ - ...U(Vo, this) + ...Y(qo, this) ].filter( - (c) => !te(c, "disabled") && !et(c, ie) + (c) => !te(c, "disabled") && !X(c, re) ); if (!o.length) return; const i = o[0], r = o[o.length - 1]; s === "Tab" && (t && n.activeElement === i ? (r.focus(), e.preventDefault()) : !t && n.activeElement === r && (i.focus(), e.preventDefault())); } -const ti = (e) => Ye.has(e) === !0, Ce = (e) => { - const t = ti(e); - (t ? Uo : Yo)(e, "keydown", Jo), t ? Ye.delete(e) : Ye.set(e, !0); -}, C = (e) => G(e) && "offsetWidth" in e || !1, Et = (e, t) => { +const si = (e) => Ge.has(e) === !0, xe = (e) => { + const t = si(e); + (t ? Qo : Go)(e, "keydown", ei), t ? Ge.delete(e) : Ge.set(e, !0); +}, A = (e) => U(e) && "offsetWidth" in e || !1, It = (e, t) => { const { width: s, height: n, top: o, right: i, bottom: r, left: c } = e.getBoundingClientRect(); let a = 1, l = 1; - if (t && C(e)) { - const { offsetWidth: d, offsetHeight: g } = e; - a = d > 0 ? Math.round(s) / d : 1, l = g > 0 ? Math.round(n) / g : 1; + if (t && A(e)) { + const { offsetWidth: f, offsetHeight: g } = e; + a = f > 0 ? Math.round(s) / f : 1, l = g > 0 ? Math.round(n) / g : 1; } return { width: s / a, @@ -191,20 +191,20 @@ const ti = (e) => Ye.has(e) === !0, Ce = (e) => { x: c / a, y: o / l }; -}, Tt = (e) => w(e).body, lt = (e) => w(e).documentElement, ei = (e) => { - const t = xn(e), s = t ? e.scrollX : e.scrollLeft, n = t ? e.scrollY : e.scrollTop; +}, Nt = (e) => w(e).body, dt = (e) => w(e).documentElement, ni = (e) => { + const t = _n(e), s = t ? e.scrollX : e.scrollLeft, n = t ? e.scrollY : e.scrollTop; return { x: s, y: n }; -}, Hn = (e) => D(e) && e.constructor.name === "ShadowRoot" || !1, si = (e) => e.nodeName === "HTML" ? e : G(e) && e.assignedSlot || D(e) && e.parentNode || Hn(e) && e.host || lt(e), Pn = (e) => e ? Sn(e) ? e.defaultView : D(e) ? e?.ownerDocument?.defaultView : e : window, ni = (e) => D(e) && ["TABLE", "TD", "TH"].includes(e.nodeName) || !1, Dn = (e, t) => e.matches(t), oi = (e) => { - if (!C(e)) return !1; - const { width: t, height: s } = Et(e), { offsetWidth: n, offsetHeight: o } = e; +}, Dn = (e) => D(e) && e.constructor.name === "ShadowRoot" || !1, oi = (e) => e.nodeName === "HTML" ? e : U(e) && e.assignedSlot || D(e) && e.parentNode || Dn(e) && e.host || dt(e), Hn = (e) => e ? An(e) ? e.defaultView : D(e) ? e?.ownerDocument?.defaultView : e : window, ii = (e) => D(e) && ["TABLE", "TD", "TH"].includes(e.nodeName) || !1, Pn = (e, t) => e.matches(t), ri = (e) => { + if (!A(e)) return !1; + const { width: t, height: s } = It(e), { offsetWidth: n, offsetHeight: o } = e; return Math.round(t) !== n || Math.round(s) !== o; -}, ii = (e, t, s) => { - const n = C(t), o = Et( +}, ci = (e, t, s) => { + const n = A(t), o = It( e, - n && oi(t) + n && ri(t) ), i = { x: 0, y: 0 }; if (n) { - const r = Et(t, !0); + const r = It(t, !0); i.x = r.x + t.clientLeft, i.y = r.y + t.clientTop; } return { @@ -214,52 +214,52 @@ const ti = (e) => Ye.has(e) === !0, Ce = (e) => { height: o.height }; }; -let xs = 0, Ss = 0; -const jt = /* @__PURE__ */ new Map(), An = (e, t) => { - let s = t ? xs : Ss; +let Ds = 0, Hs = 0; +const zt = /* @__PURE__ */ new Map(), In = (e, t) => { + let s = t ? Ds : Hs; if (t) { - const n = An(e), o = jt.get(n) || /* @__PURE__ */ new Map(); - jt.has(n) || jt.set(n, o), Xe(o) && !o.has(t) ? (o.set(t, s), xs += 1) : s = o.get(t); + const n = In(e), o = zt.get(n) || /* @__PURE__ */ new Map(); + zt.has(n) || zt.set(n, o), Xe(o) && !o.has(t) ? (o.set(t, s), Ds += 1) : s = o.get(t); } else { const n = e.id || e; - jt.has(n) ? s = jt.get(n) : (jt.set(n, s), Ss += 1); + zt.has(n) ? s = zt.get(n) : (zt.set(n, s), Hs += 1); } return s; -}, ri = (e) => Array.isArray(e) || !1, kn = (e) => { +}, ai = (e) => Array.isArray(e) || !1, kn = (e) => { if (!D(e)) return !1; - const { top: t, bottom: s } = Et(e), { clientHeight: n } = lt(e); + const { top: t, bottom: s } = It(e), { clientHeight: n } = dt(e); return t <= n && s >= 0; -}, ci = (e) => typeof e == "function" || !1, ai = (e) => re(e) && e.constructor.name === "NodeList" || !1, $t = (e) => lt(e).dir === "rtl", _ = (e, t) => !e || !t ? null : e.closest(t) || _(e.getRootNode().host, t) || null, S = (e, t) => G(e) ? e : (G(t) ? t : w()).querySelector(e), ls = (e, t) => (D(t) ? t : w()).getElementsByTagName( +}, li = (e) => typeof e == "function" || !1, di = (e) => ce(e) && e.constructor.name === "NodeList" || !1, Tt = (e) => dt(e).dir === "rtl", P = (e, t) => !e || !t ? null : e.closest(t) || P(e.getRootNode().host, t) || null, x = (e, t) => U(e) ? e : (U(t) ? t : w()).querySelector(e), fs = (e, t) => (D(t) ? t : w()).getElementsByTagName( e -), it = (e, t) => (t && D(t) ? t : w()).getElementsByClassName( +), hi = (e, t) => w(t).getElementById(e), rt = (e, t) => (t && D(t) ? t : w()).getElementsByClassName( e -), zt = {}, In = (e) => { +), Kt = {}, Ln = (e) => { const { type: t, currentTarget: s } = e; - zt[t].forEach((n, o) => { + Kt[t].forEach((n, o) => { s === o && n.forEach((i, r) => { - r.apply(o, [e]), typeof i == "object" && i.once && M(o, t, r, i); + r.apply(o, [e]), typeof i == "object" && i.once && O(o, t, r, i); }); }); -}, N = (e, t, s, n) => { - zt[t] || (zt[t] = /* @__PURE__ */ new Map()); - const o = zt[t]; +}, L = (e, t, s, n) => { + Kt[t] || (Kt[t] = /* @__PURE__ */ new Map()); + const o = Kt[t]; o.has(e) || o.set(e, /* @__PURE__ */ new Map()); const i = o.get( e ), { size: r } = i; i.set(s, n), r || e.addEventListener( t, - In, + Ln, n ); -}, M = (e, t, s, n) => { - const o = zt[t], i = o && o.get(e), r = i && i.get(s), c = r !== void 0 ? r : n; - i && i.has(s) && i.delete(s), o && (!i || !i.size) && o.delete(e), (!o || !o.size) && delete zt[t], (!i || !i.size) && e.removeEventListener( +}, O = (e, t, s, n) => { + const o = Kt[t], i = o && o.get(e), r = i && i.get(s), c = r !== void 0 ? r : n; + i && i.has(s) && i.delete(s), o && (!i || !i.size) && o.delete(e), (!o || !o.size) && delete Kt[t], (!i || !i.size) && e.removeEventListener( t, - In, + Ln, c ); -}, O = "fade", p = "show", xe = "data-bs-dismiss", Se = "alert", Ln = "Alert", li = "5.1.0", di = li; +}, N = "fade", p = "show", Se = "data-bs-dismiss", _e = "alert", On = "Alert", fi = "5.1.0", gi = fi; class st { /** * @param target `Element` or selector string @@ -268,20 +268,20 @@ class st { constructor(t, s) { let n; try { - if (G(t)) + if (U(t)) n = t; - else if (ce(t)) { - if (n = S(t), !n) throw Error(`"${t}" is not a valid selector.`); + else if (ae(t)) { + if (n = x(t), !n) throw Error(`"${t}" is not a valid selector.`); } else throw Error("your target is not an instance of HTMLElement."); } catch (i) { throw Error(`${this.name} Error: ${i.message}`); } - const o = Dt.get(n, this.name); - o && o._toggleEventListeners(), this.element = n, this.options = this.defaults && Cs(this.defaults).length ? Zo(n, this.defaults, s || {}, "bs") : {}, Dt.set(n, this.name, this); + const o = At.get(n, this.name); + o && o._toggleEventListeners(), this.element = n, this.options = this.defaults && As(this.defaults).length ? Jo(n, this.defaults, s || {}, "bs") : {}, At.set(n, this.name, this); } get version() { - return di; + return gi; } get name() { return "BaseComponent"; @@ -292,32 +292,32 @@ class st { _toggleEventListeners = () => { }; dispose() { - Dt.remove(this.element, this.name), Cs(this).forEach((t) => { + At.remove(this.element, this.name), As(this).forEach((t) => { delete this[t]; }); } } -const hi = `.${Se}`, fi = `[${xe}="${Se}"]`, gi = (e) => j(e, Ln), ui = (e) => new _n(e), Hs = $( - `close.bs.${Se}` -), pi = $( - `closed.bs.${Se}` -), Ps = (e) => { +const nt = (e) => h(e, "disabled") || X(e, "disabled") === "true", ui = `.${_e}`, pi = `[${Se}="${_e}"]`, mi = (e) => F(e, On), vi = (e) => new Nn(e), Ps = E( + `close.bs.${_e}` +), bi = E( + `closed.bs.${_e}` +), Is = (e) => { const { element: t } = e; - b(t, pi), e._toggleEventListeners(), e.dispose(), t.remove(); + b(t, bi), e._toggleEventListeners(), e.dispose(), t.remove(); }; -class _n extends st { - static selector = hi; - static init = ui; - static getInstance = gi; +class Nn extends st { + static selector = ui; + static init = vi; + static getInstance = mi; dismiss; constructor(t) { - super(t), this.dismiss = S( - fi, + super(t), this.dismiss = x( + pi, this.element ), this._toggleEventListeners(!0); } get name() { - return Ln; + return On; } /** * Public method that hides the `.alert` element from the user, @@ -326,7 +326,7 @@ class _n extends st { */ close = () => { const { element: t } = this; - t && f(t, p) && (b(t, Hs), Hs.defaultPrevented || (v(t, p), f(t, O) ? H(t, () => Ps(this)) : Ps(this))); + !t || !h(t, p) || (b(t, Ps), !Ps.defaultPrevented && (v(t, p), h(t, N) ? S(t, () => Is(this)) : Is(this))); }; /** * Toggle on / off the `click` event listener. @@ -334,31 +334,31 @@ class _n extends st { * @param add when `true`, event listener is added */ _toggleEventListeners = (t) => { - const s = t ? N : M, { dismiss: n, close: o } = this; - n && s(n, I, o); + const s = t ? L : O, { dismiss: n, close: o } = this; + n && !nt(n) && s(n, I, o); }; dispose() { this._toggleEventListeners(), super.dispose(); } } -const T = "active", nt = "data-bs-toggle", mi = "button", On = "Button", vi = `[${nt}="${mi}"]`, bi = (e) => j(e, On), wi = (e) => new Nn(e); -class Nn extends st { - static selector = vi; - static init = wi; - static getInstance = bi; +const $ = "active", ot = "data-bs-toggle", wi = "button", Mn = "Button", Ei = `[${ot}="${wi}"]`, Ti = (e) => F(e, Mn), $i = (e) => new Bn(e); +class Bn extends st { + static selector = Ei; + static init = $i; + static getInstance = Ti; /** * @param target usually a `.btn` element */ constructor(t) { super(t); const { element: s } = this; - this.isActive = f(s, T), L(s, Es, String(!!this.isActive)), this._toggleEventListeners(!0); + this.isActive = h(s, $), k(s, ys, String(!!this.isActive)), this._toggleEventListeners(!0); } /** * Returns component name string. */ get name() { - return On; + return Mn; } /** * Toggles the state of the target button. @@ -368,7 +368,7 @@ class Nn extends st { toggle = (t) => { t && t.preventDefault(); const { element: s, isActive: n } = this; - !f(s, "disabled") && !et(s, "disabled") && ((n ? v : h)(s, T), L(s, Es, n ? "false" : "true"), this.isActive = f(s, T)); + nt(s) || ((n ? v : d)(s, $), k(s, ys, n ? "false" : "true"), this.isActive = h(s, $)); }; /** * Toggles on/off the `click` event listener. @@ -376,108 +376,106 @@ class Nn extends st { * @param add when `true`, event listener is added */ _toggleEventListeners = (t) => { - (t ? N : M)(this.element, I, this.toggle); + (t ? L : O)(this.element, I, this.toggle); }; dispose() { this._toggleEventListeners(), super.dispose(); } } -const Ue = "data-bs-target", At = "carousel", Mn = "Carousel", Ds = "data-bs-parent", Ei = "data-bs-container", q = (e) => { - const t = [Ue, Ds, Ei, "href"], s = w(e); +const Qe = "data-bs-target", Dt = "carousel", Rn = "Carousel", ks = "data-bs-parent", yi = "data-bs-container", z = (e) => { + const t = [Qe, ks, yi, "href"], s = w(e); return t.map((n) => { - const o = et(e, n); - return o ? n === Ds ? _(e, o) : S(o, s) : null; + const o = X(e, n); + return o ? n === ks ? P(e, o) : x(o, s) : null; }).filter((n) => n)[0]; -}, le = `[data-bs-ride="${At}"]`, Y = `${At}-item`, Ge = "data-bs-slide-to", mt = "data-bs-slide", bt = "paused", As = { +}, de = `[data-bs-ride="${Dt}"]`, tt = `${Dt}-item`, Ze = "data-bs-slide-to", vt = "data-bs-slide", wt = "paused", Ls = { pause: "hover", keyboard: !1, touch: !0, interval: 5e3 -}, dt = (e) => j(e, Mn), $i = (e) => new Bn(e); -let Jt = 0, pe = 0, Ne = 0; -const Me = $(`slide.bs.${At}`), Ze = $(`slid.bs.${At}`), ks = (e) => { +}, ht = (e) => F(e, Rn), Ci = (e) => new Wn(e); +let Jt = 0, me = 0, Me = 0; +const Be = E(`slide.bs.${Dt}`), Je = E(`slid.bs.${Dt}`), Os = (e) => { const { index: t, direction: s, element: n, slides: o, options: i } = e; if (e.isAnimating) { - const r = Qe(e), c = s === "left" ? "next" : "prev", a = s === "left" ? "start" : "end"; - h(o[t], T), v(o[t], `${Y}-${c}`), v(o[t], `${Y}-${a}`), v(o[r], T), v(o[r], `${Y}-${a}`), b(n, Ze), u.clear(n, mt), e.cycle && !w(n).hidden && i.interval && !e.isPaused && e.cycle(); + const r = ts(e), c = s === "left" ? "next" : "prev", a = s === "left" ? "start" : "end"; + d(o[t], $), v(o[t], `${tt}-${c}`), v(o[t], `${tt}-${a}`), v(o[r], $), v(o[r], `${tt}-${a}`), b(n, Je), u.clear(n, vt), e.cycle && !w(n).hidden && i.interval && !e.isPaused && e.cycle(); } }; -function Ti() { - const e = dt(this); - e && !e.isPaused && !u.get(this, bt) && h(this, bt); +function xi() { + const e = ht(this); + e && !e.isPaused && !u.get(this, wt) && d(this, wt); } -function yi() { - const e = dt(this); - e && e.isPaused && !u.get(this, bt) && e.cycle(); +function Si() { + const e = ht(this); + e && e.isPaused && !u.get(this, wt) && e.cycle(); } -function Ci(e) { +function _i(e) { e.preventDefault(); - const t = _(this, le) || q(this), s = dt(t); - if (s && !s.isAnimating) { - const n = +(et(this, Ge) || 0); - this && !f(this, T) && !Number.isNaN(n) && s.to(n); - } + const t = P(this, de) || z(this), s = t && ht(t); + if (!s || s.isAnimating) return; + const n = +(X(this, Ze) || 0); + this && !h(this, $) && !Number.isNaN(n) && s.to(n); } -function xi(e) { +function Ai(e) { e.preventDefault(); - const t = _(this, le) || q(this), s = dt(t); - if (s && !s.isAnimating) { - const n = et(this, mt); - n === "next" ? s.next() : n === "prev" && s.prev(); - } + const t = P(this, de) || z(this), s = t && ht(t); + if (!s || s.isAnimating) return; + const n = X(this, vt); + n === "next" ? s.next() : n === "prev" && s.prev(); } -const Si = ({ code: e, target: t }) => { - const s = w(t), [n] = [...U(le, s)].filter((i) => kn(i)), o = dt(n); - if (o && !o.isAnimating && !/textarea|input/i.test(t.nodeName)) { - const i = $t(n); - e === (i ? Ts : $s) ? o.prev() : e === (i ? $s : Ts) && o.next(); - } +const Di = ({ code: e, target: t }) => { + const s = w(t), [n] = [...Y(de, s)].filter((a) => kn(a)), o = ht(n); + if (!o || o.isAnimating || /textarea|input|select/i.test(t.nodeName)) return; + const i = Tt(n); + e === (i ? xs : Cs) ? o.prev() : e === (i ? Cs : xs) && o.next(); }; -function Is(e) { - const { target: t } = e, s = dt(this); +function Ns(e) { + const { target: t } = e, s = ht(this); s && s.isTouch && (s.indicator && !s.indicator.contains(t) || !s.controls.includes(t)) && (e.stopImmediatePropagation(), e.stopPropagation(), e.preventDefault()); } function Hi(e) { - const { target: t } = e, s = dt(this); - if (s && !s.isAnimating && !s.isTouch) { - const { controls: n, indicators: o } = s; - [...n, ...o].every( - (i) => i === t || i.contains(t) - ) || (Jt = e.pageX, this.contains(t) && (s.isTouch = !0, Rn(s, !0))); - } + const { target: t } = e, s = ht(this); + if (!s || s.isAnimating || s.isTouch) return; + const { controls: n, indicators: o } = s; + [...n, ...o].every( + (i) => i === t || i.contains(t) + ) || (Jt = e.pageX, this.contains(t) && (s.isTouch = !0, Fn(s, !0))); } const Pi = (e) => { - pe = e.pageX; -}, Di = (e) => { - const { target: t } = e, s = w(t), n = [...U(le, s)].map((o) => dt(o)).find((o) => o.isTouch); - if (n) { - const { element: o, index: i } = n, r = $t(o); - Ne = e.pageX, n.isTouch = !1, Rn(n), !s.getSelection()?.toString().length && o.contains(t) && Math.abs(Jt - Ne) > 120 && (pe < Jt ? n.to(i + (r ? -1 : 1)) : pe > Jt && n.to(i + (r ? 1 : -1))), Jt = 0, pe = 0, Ne = 0; - } + me = e.pageX; +}, Ii = (e) => { + const { target: t } = e, s = w(t), n = [...Y(de, s)].map((c) => ht(c)).find((c) => c.isTouch); + if (!n) return; + const { element: o, index: i } = n, r = Tt(o); + Me = e.pageX, n.isTouch = !1, Fn(n), !s.getSelection()?.toString().length && o.contains(t) && Math.abs(Jt - Me) > 120 && (me < Jt ? n.to(i + (r ? -1 : 1)) : me > Jt && n.to(i + (r ? 1 : -1))), Jt = 0, me = 0, Me = 0; }, Re = (e, t) => { const { indicators: s } = e; - [...s].forEach((n) => v(n, T)), e.indicators[t] && h(s[t], T); -}, Rn = (e, t) => { - const { element: s } = e, n = t ? N : M; + [...s].forEach((n) => v(n, $)), e.indicators[t] && d(s[t], $); +}, Fn = (e, t) => { + const { element: s } = e, n = t ? L : O; n( w(s), - Wo, + zo, Pi, ee ), n( w(s), - jo, - Di, + Ko, + Ii, ee ); -}, Qe = (e) => { - const { slides: t, element: s } = e, n = S(`.${Y}.${T}`, s); - return C(n) ? [...t].indexOf(n) : -1; +}, ts = (e) => { + const { slides: t, element: s } = e, n = x( + `.${tt}.${$}`, + s + ); + return n ? [...t].indexOf(n) : -1; }; -class Bn extends st { - static selector = le; - static init = $i; - static getInstance = dt; +class Wn extends st { + static selector = de; + static init = Ci; + static getInstance = ht; /** * @param target mostly a `.carousel` element * @param config instance options @@ -485,80 +483,79 @@ class Bn extends st { constructor(t, s) { super(t, s); const { element: n } = this; - this.direction = $t(n) ? "right" : "left", this.isTouch = !1, this.slides = it(Y, n); + this.direction = Tt(n) ? "right" : "left", this.isTouch = !1, this.slides = rt(tt, n); const { slides: o } = this; - if (o.length >= 2) { - const i = Qe(this), r = [...o].find( - (l) => Dn(l, `.${Y}-next,.${Y}-next`) - ); - this.index = i; - const c = w(n); - this.controls = [ - ...U(`[${mt}]`, n), - ...U( - `[${mt}][${Ue}="#${n.id}"]`, - c - ) - ].filter((l, d, g) => d === g.indexOf(l)), this.indicator = S( - `.${At}-indicators`, - n - ), this.indicators = [ - ...this.indicator ? U(`[${Ge}]`, this.indicator) : [], - ...U( - `[${Ge}][${Ue}="#${n.id}"]`, - c - ) - ].filter((l, d, g) => d === g.indexOf(l)); - const { options: a } = this; - this.options.interval = a.interval === !0 ? As.interval : a.interval, r ? this.index = [...o].indexOf(r) : i < 0 && (this.index = 0, h(o[0], T), this.indicators.length && Re(this, 0)), this.indicators.length && Re(this, this.index), this._toggleEventListeners(!0), a.interval && this.cycle(); - } + if (o.length < 2) return; + const i = ts(this), r = [...o].find( + (l) => Pn(l, `.${tt}-next`) + ); + this.index = i; + const c = w(n); + this.controls = [ + ...Y(`[${vt}]`, n), + ...Y( + `[${vt}][${Qe}="#${n.id}"]`, + c + ) + ].filter((l, f, g) => f === g.indexOf(l)), this.indicator = x( + `.${Dt}-indicators`, + n + ), this.indicators = [ + ...this.indicator ? Y(`[${Ze}]`, this.indicator) : [], + ...Y( + `[${Ze}][${Qe}="#${n.id}"]`, + c + ) + ].filter((l, f, g) => f === g.indexOf(l)); + const { options: a } = this; + this.options.interval = a.interval === !0 ? Ls.interval : a.interval, r ? this.index = [...o].indexOf(r) : i < 0 && (this.index = 0, d(o[0], $), this.indicators.length && Re(this, 0)), this.indicators.length && Re(this, this.index), this._toggleEventListeners(!0), a.interval && this.cycle(); } /** * Returns component name string. */ get name() { - return Mn; + return Rn; } /** * Returns component default options. */ get defaults() { - return As; + return Ls; } /** * Check if instance is paused. */ get isPaused() { - return f(this.element, bt); + return h(this.element, wt); } /** * Check if instance is animating. */ get isAnimating() { - return S( - `.${Y}-next,.${Y}-prev`, + return x( + `.${tt}-next,.${tt}-prev`, this.element ) !== null; } cycle() { const { element: t, options: s, isPaused: n, index: o } = this; - u.clear(t, At), n && (u.clear(t, bt), v(t, bt)), u.set( + u.clear(t, Dt), n && (u.clear(t, wt), v(t, wt)), u.set( t, () => { this.element && !this.isPaused && !this.isTouch && kn(t) && this.to(o + 1); }, s.interval, - At + Dt ); } pause() { const { element: t, options: s } = this; - !this.isPaused && s.interval && (h(t, bt), u.set( + this.isPaused || !s.interval || (d(t, wt), u.set( t, () => { }, 1, - bt + wt )); } next() { @@ -573,37 +570,36 @@ class Bn extends st { * @param idx the index of the item to jump to */ to(t) { - const { element: s, slides: n, options: o } = this, i = Qe(this), r = $t(s); + const { element: s, slides: n, options: o } = this, i = ts(this), r = Tt(s); let c = t; - if (!this.isAnimating && i !== c && !u.get(s, mt)) { - i < c || i === 0 && c === n.length - 1 ? this.direction = r ? "right" : "left" : (i > c || i === n.length - 1 && c === 0) && (this.direction = r ? "left" : "right"); - const { direction: a } = this; - c < 0 ? c = n.length - 1 : c >= n.length && (c = 0); - const l = a === "left" ? "next" : "prev", d = a === "left" ? "start" : "end", g = { - relatedTarget: n[c], - from: i, - to: c, - direction: a - }; - ct(Me, g), ct(Ze, g), b(s, Me), Me.defaultPrevented || (this.index = c, Re(this, c), ae(n[c]) && f(s, "slide") ? u.set( - s, - () => { - h(n[c], `${Y}-${l}`), Ot(n[c]), h(n[c], `${Y}-${d}`), h(n[i], `${Y}-${d}`), H( - n[c], - () => this.slides && this.slides.length && ks(this) - ); - }, - 0, - mt - ) : (h(n[c], T), v(n[i], T), u.set( - s, - () => { - u.clear(s, mt), s && o.interval && !this.isPaused && this.cycle(), b(s, Ze); - }, - 0, - mt - ))); - } + if (this.isAnimating || i === c || u.get(s, vt)) return; + i < c || i === 0 && c === n.length - 1 ? this.direction = r ? "right" : "left" : (i > c || i === n.length - 1 && c === 0) && (this.direction = r ? "left" : "right"); + const { direction: a } = this; + c < 0 ? c = n.length - 1 : c >= n.length && (c = 0); + const l = a === "left" ? "next" : "prev", f = a === "left" ? "start" : "end", g = { + relatedTarget: n[c], + from: i, + to: c, + direction: a + }; + at(Be, g), at(Je, g), b(s, Be), !Be.defaultPrevented && (this.index = c, Re(this, c), le(n[c]) && h(s, "slide") ? u.set( + s, + () => { + d(n[c], `${tt}-${l}`), Ot(n[c]), d(n[c], `${tt}-${f}`), d(n[i], `${tt}-${f}`), S( + n[c], + () => this.slides && this.slides.length && Os(this) + ); + }, + 0, + vt + ) : (d(n[c], $), v(n[i], $), u.set( + s, + () => { + u.clear(s, vt), s && o.interval && !this.isPaused && this.cycle(), b(s, Je); + }, + 0, + vt + ))); } /** * Toggles all event listeners for the `Carousel` instance. @@ -611,46 +607,46 @@ class Bn extends st { * @param add when `TRUE` event listeners are added */ _toggleEventListeners = (t) => { - const { element: s, options: n, slides: o, controls: i, indicators: r } = this, { touch: c, pause: a, interval: l, keyboard: d } = n, g = t ? N : M; - a && l && (g(s, ye, Ti), g(s, rs, yi)), c && o.length > 2 && (g( + const { element: s, options: n, slides: o, controls: i, indicators: r } = this, { touch: c, pause: a, interval: l, keyboard: f } = n, g = t ? L : O; + a && l && (g(s, Ce, xi), g(s, ls, Si)), c && o.length > 2 && (g( s, - Fo, + jo, Hi, ee - ), g(s, cs, Is, { passive: !1 }), g(s, zo, Is, { passive: !1 })), i.length && i.forEach((E) => { - E && g(E, I, xi); - }), r.length && r.forEach((E) => { - g(E, I, Ci); - }), d && g(w(s), Te, Si); + ), g(s, ds, Ns, { passive: !1 }), g(s, Vo, Ns, { passive: !1 })), i.length && i.forEach((T) => { + nt(T) || g(T, I, Ai); + }), r.length && r.forEach((T) => { + nt(T) || g(T, I, _i); + }), f && g(w(s), ye, Di); }; dispose() { const { isAnimating: t } = this, s = { ...this, isAnimating: t }; - this._toggleEventListeners(), super.dispose(), s.isAnimating && H(s.slides[s.index], () => { - ks(s); + this._toggleEventListeners(), super.dispose(), s.isAnimating && S(s.slides[s.index], () => { + Os(s); }); } } -const Lt = "collapsing", K = "collapse", Fn = "Collapse", Ai = `.${K}`, Wn = `[${nt}="${K}"]`, ki = { parent: null }, me = (e) => j(e, Fn), Ii = (e) => new jn(e), Ls = $(`show.bs.${K}`), Li = $(`shown.bs.${K}`), _s = $(`hide.bs.${K}`), _i = $(`hidden.bs.${K}`), Oi = (e) => { +const kt = "collapsing", j = "collapse", jn = "Collapse", ki = `.${j}`, zn = `[${ot}="${j}"]`, Li = { parent: null }, ve = (e) => F(e, jn), Oi = (e) => new Kn(e), Ms = E(`show.bs.${j}`), Ni = E(`shown.bs.${j}`), Bs = E(`hide.bs.${j}`), Mi = E(`hidden.bs.${j}`), Bi = (e) => { const { element: t, parent: s, triggers: n } = e; - b(t, Ls), Ls.defaultPrevented || (u.set(t, Ee, 17), s && u.set(s, Ee, 17), h(t, Lt), v(t, K), P(t, { height: `${t.scrollHeight}px` }), H(t, () => { - u.clear(t), s && u.clear(s), n.forEach((o) => L(o, we, "true")), v(t, Lt), h(t, K), h(t, p), P(t, { height: "" }), b(t, Li); + b(t, Ms), Ms.defaultPrevented || (u.set(t, Te, 17), s && u.set(s, Te, 17), d(t, kt), v(t, j), _(t, { height: `${t.scrollHeight}px` }), S(t, () => { + u.clear(t), s && u.clear(s), n.forEach((o) => k(o, Ee, "true")), v(t, kt), d(t, j), d(t, p), _(t, { height: "" }), b(t, Ni); })); -}, Os = (e) => { +}, Rs = (e) => { const { element: t, parent: s, triggers: n } = e; - b(t, _s), _s.defaultPrevented || (u.set(t, Ee, 17), s && u.set(s, Ee, 17), P(t, { height: `${t.scrollHeight}px` }), v(t, K), v(t, p), h(t, Lt), Ot(t), P(t, { height: "0px" }), H(t, () => { - u.clear(t), s && u.clear(s), n.forEach((o) => L(o, we, "false")), v(t, Lt), h(t, K), P(t, { height: "" }), b(t, _i); + b(t, Bs), Bs.defaultPrevented || (u.set(t, Te, 17), s && u.set(s, Te, 17), _(t, { height: `${t.scrollHeight}px` }), v(t, j), v(t, p), d(t, kt), Ot(t), _(t, { height: "0px" }), S(t, () => { + u.clear(t), s && u.clear(s), n.forEach((o) => k(o, Ee, "false")), v(t, kt), d(t, j), _(t, { height: "" }), b(t, Mi); })); -}, Ni = (e) => { - const { target: t } = e, s = t && _(t, Wn), n = s && q(s), o = n && me(n); - o && o.toggle(), s && s.tagName === "A" && e.preventDefault(); +}, Ri = (e) => { + const { target: t } = e, s = t && P(t, zn), n = s && z(s), o = n && ve(n); + o && (o.toggle(), s?.tagName === "A" && e.preventDefault()); }; -class jn extends st { - static selector = Ai; - static init = Ii; - static getInstance = me; +class Kn extends st { + static selector = ki; + static init = Oi; + static getInstance = ve; /** * @param target and `Element` that matches the selector * @param config instance options @@ -658,37 +654,37 @@ class jn extends st { constructor(t, s) { super(t, s); const { element: n, options: o } = this, i = w(n); - this.triggers = [...U(Wn, i)].filter( - (r) => q(r) === n - ), this.parent = C(o.parent) ? o.parent : ce(o.parent) ? q(n) || S(o.parent, i) : null, this._toggleEventListeners(!0); + this.triggers = [...Y(zn, i)].filter( + (r) => z(r) === n + ), this.parent = A(o.parent) ? o.parent : ae(o.parent) ? z(n) || x(o.parent, i) : null, this._toggleEventListeners(!0); } /** * Returns component name string. */ get name() { - return Fn; + return jn; } /** * Returns component default options. */ get defaults() { - return ki; + return Li; } hide() { const { triggers: t, element: s } = this; - u.get(s) || (Os(this), t.length && t.forEach((n) => h(n, `${K}d`))); + u.get(s) || (Rs(this), t.length && t.forEach((n) => d(n, `${j}d`))); } show() { const { element: t, parent: s, triggers: n } = this; let o, i; s && (o = [ - ...U(`.${K}.${p}`, s) - ].find((r) => me(r)), i = o && me(o)), (!s || !u.get(s)) && !u.get(t) && (i && o !== t && (Os(i), i.triggers.forEach((r) => { - h(r, `${K}d`); - })), Oi(this), n.length && n.forEach((r) => v(r, `${K}d`))); + ...Y(`.${j}.${p}`, s) + ].find((r) => ve(r)), i = o && ve(o)), (!s || !u.get(s)) && !u.get(t) && (i && o !== t && (Rs(i), i.triggers.forEach((r) => { + d(r, `${j}d`); + })), Bi(this), n.length && n.forEach((r) => v(r, `${j}d`))); } toggle() { - f(this.element, p) ? this.hide() : this.show(); + h(this.element, p) ? this.hide() : this.show(); } /** * Toggles on/off the event listener(s) of the `Collapse` instance. @@ -696,39 +692,39 @@ class jn extends st { * @param add when `true`, the event listener is added */ _toggleEventListeners = (t) => { - const s = t ? N : M, { triggers: n } = this; - n.length && n.forEach( - (o) => s(o, I, Ni) - ); + const s = t ? L : O, { triggers: n } = this; + n.length && n.forEach((o) => { + nt(o) || s(o, I, Ri); + }); }; dispose() { this._toggleEventListeners(), super.dispose(); } } -const _t = ["dropdown", "dropup", "dropstart", "dropend"], zn = "Dropdown", Vn = "dropdown-menu", Kn = (e) => { - const t = _(e, "A"); - return e.tagName === "A" && te(e, "href") && et(e, "href").slice(-1) === "#" || t && te(t, "href") && et(t, "href").slice(-1) === "#"; -}, [tt, Je, ts, es] = _t, qn = `[${nt}="${tt}"]`, Kt = (e) => j(e, zn), Mi = (e) => new Un(e), Ri = `${Vn}-end`, Ns = [tt, Je], Ms = [ts, es], Rs = ["A", "BUTTON"], Bi = { +const Lt = ["dropdown", "dropup", "dropstart", "dropend"], Vn = "Dropdown", qn = "dropdown-menu", Yn = (e) => { + const t = P(e, "A"); + return e.tagName === "A" && te(e, "href") && X(e, "href")?.slice(-1) === "#" || t && te(t, "href") && X(t, "href")?.slice(-1) === "#"; +}, [et, es, ss, ns] = Lt, Un = `[${ot}="${et}"]`, Vt = (e) => F(e, Vn), Fi = (e) => new Qn(e), Wi = `${qn}-end`, Fs = [et, es], Ws = [ss, ns], js = ["A", "BUTTON"], ji = { offset: 5, display: "dynamic" -}, Be = $( - `show.bs.${tt}` -), Bs = $( - `shown.bs.${tt}` -), Fe = $( - `hide.bs.${tt}` -), Fs = $(`hidden.bs.${tt}`), Xn = $(`updated.bs.${tt}`), Yn = (e) => { +}, Fe = E( + `show.bs.${et}` +), zs = E( + `shown.bs.${et}` +), We = E( + `hide.bs.${et}` +), Ks = E(`hidden.bs.${et}`), Xn = E(`updated.bs.${et}`), Gn = (e) => { const { element: t, menu: s, parentElement: n, options: o } = e, { offset: i } = o; - if (W(s, "position") !== "static") { - const r = $t(t), c = f(s, Ri); - ["margin", "top", "bottom", "left", "right"].forEach((F) => { - const xt = {}; - xt[F] = "", P(s, xt); + if (R(s, "position") !== "static") { + const r = Tt(t), c = h(s, Wi); + ["margin", "top", "bottom", "left", "right"].forEach((B) => { + const Ct = {}; + Ct[B] = "", _(s, Ct); }); - let l = _t.find( - (F) => f(n, F) - ) || tt; - const d = { + let l = Lt.find( + (B) => h(n, B) + ) || et; + const f = { dropdown: [i, 0, 0], dropup: [0, 0, i], dropstart: r ? [-1, 0, 0, i] : [-1, i, 0], @@ -740,85 +736,85 @@ const _t = ["dropdown", "dropup", "dropstart", "dropend"], zn = "Dropdown", Vn = dropend: r ? { left: "auto", right: "100%" } : { left: "100%", right: "auto" }, menuStart: r ? { right: "0", left: "auto" } : { right: "auto", left: "0" }, menuEnd: r ? { right: "auto", left: "0" } : { right: "0", left: "auto" } - }, { offsetWidth: E, offsetHeight: k } = s, { clientWidth: z, clientHeight: B } = lt(t), { + }, { offsetWidth: T, offsetHeight: M } = s, { clientWidth: q, clientHeight: Z } = dt(t), { left: m, - top: R, - width: yt, - height: Ct - } = Et(t), x = m - E - i < 0, ht = m + E + yt + i >= z, ot = R + k + i >= B, J = R + k + Ct + i >= B, Mt = R - k - i < 0, y = (!r && c || r && !c) && m + yt - E < 0, V = (r && c || !r && !c) && m + E >= z; - if (Ms.includes(l) && x && ht && (l = tt), l === ts && (r ? ht : x) && (l = es), l === es && (r ? x : ht) && (l = ts), l === Je && Mt && !J && (l = tt), l === tt && J && !Mt && (l = Je), Ms.includes(l) && ot && ct(g[l], { + top: K, + width: $t, + height: yt + } = It(t), C = m - T - i < 0, ft = m + T + $t + i >= q, it = K + M + i >= Z, J = K + M + yt + i >= Z, Bt = K - M - i < 0, y = (!r && c || r && !c) && m + $t - T < 0, W = (r && c || !r && !c) && m + T >= q; + if (Ws.includes(l) && C && ft && (l = et), l === ss && (r ? ft : C) && (l = ns), l === ns && (r ? C : ft) && (l = ss), l === es && Bt && !J && (l = et), l === et && J && !Bt && (l = es), Ws.includes(l) && it && at(g[l], { top: "auto", bottom: 0 - }), Ns.includes(l) && (y || V)) { - let F = { left: "auto", right: "auto" }; - !y && V && !r && (F = { left: "auto", right: 0 }), y && !V && r && (F = { left: 0, right: "auto" }), F && ct(g[l], F); + }), Fs.includes(l) && (y || W)) { + let B = { left: "auto", right: "auto" }; + !y && W && !r && (B = { left: "auto", right: 0 }), y && !W && r && (B = { left: 0, right: "auto" }), B && at(g[l], B); } - const Rt = d[l]; - P(s, { + const Rt = f[l]; + _(s, { ...g[l], - margin: `${Rt.map((F) => F && `${F}px`).join(" ")}` - }), Ns.includes(l) && c && c && P(s, g[!r && y || r && V ? "menuStart" : "menuEnd"]), b(n, Xn); + margin: `${Rt.map((B) => B && `${B}px`).join(" ")}` + }), Fs.includes(l) && c && c && _(s, g[!r && y || r && W ? "menuStart" : "menuEnd"]), b(n, Xn); } -}, Fi = (e) => Array.from(e.children).map((t) => { - if (t && Rs.includes(t.tagName)) return t; +}, zi = (e) => Array.from(e.children).map((t) => { + if (t && js.includes(t.tagName)) return t; const { firstElementChild: s } = t; - return s && Rs.includes(s.tagName) ? s : null; -}).filter((t) => t), Ws = (e) => { - const { element: t, options: s, menu: n } = e, o = e.open ? N : M, i = w(t); - o(i, I, js), o(i, os, js), o(i, Te, ji), o(i, Ro, zi), s.display === "dynamic" && (e.open ? e._observer.observe(n) : e._observer.disconnect()); -}, He = (e) => { - const t = [..._t, "btn-group", "input-group"].map( - (s) => it(`${s} ${p}`, w(e)) + return s && js.includes(s.tagName) ? s : null; +}).filter((t) => t), Vs = (e) => { + const { element: t, options: s, menu: n } = e, o = e.open ? L : O, i = w(t); + o(i, I, qs), o(i, cs, qs), o(i, ye, Vi), o(i, Fo, qi), s.display === "dynamic" && (e.open ? e._observer.observe(n) : e._observer.disconnect()); +}, Ae = (e) => { + const t = [...Lt, "btn-group", "input-group"].map( + (s) => rt(`${s} ${p}`, w(e)) ).find((s) => s.length); if (t && t.length) return [...t[0].children].find( - (s) => _t.some((n) => n === et(s, nt)) + (s) => Lt.some((n) => n === X(s, ot)) ); -}, js = (e) => { +}, qs = (e) => { const { target: t, type: s } = e; - if (!C(t)) return; - const n = He(t), o = n && Kt(n); + if (!A(t)) return; + const n = Ae(t), o = n && Vt(n); if (!o) return; - const { parentElement: i, menu: r } = o, c = i && i.contains(t) && (t.tagName === "form" || _(t, "form") !== null); - [I, yn].includes(s) && Kn(t) && e.preventDefault(), !c && s !== os && t !== n && t !== r && o.hide(); -}, Wi = (e) => { - const { target: t } = e, s = t && _(t, qn), n = s && Kt(s); - n && (e.stopPropagation(), n.toggle(), s && Kn(s) && e.preventDefault()); -}, ji = (e) => { - [Ke, qe].includes(e.code) && e.preventDefault(); + const { parentElement: i, menu: r } = o, c = i && i.contains(t) && (t.tagName === "form" || P(t, "form") !== null); + [I, xn].includes(s) && Yn(t) && e.preventDefault(), !c && s !== cs && t !== n && t !== r && o.hide(); +}, Ki = (e) => { + const { target: t } = e, s = t && P(t, Un), n = s && Vt(s); + n && (e.stopPropagation(), n.toggle(), s && Yn(s) && e.preventDefault()); +}, Vi = (e) => { + [Ye, Ue].includes(e.code) && e.preventDefault(); }; -function zi(e) { - const { code: t } = e, s = He(this); +function qi(e) { + const { code: t } = e, s = Ae(this); if (!s) return; - const n = Kt(s), { activeElement: o } = w(s); + const n = Vt(s), { activeElement: o } = w(s); if (!n || !o) return; - const { menu: i, open: r } = n, c = Fi(i); - if (c && c.length && [Ke, qe].includes(t)) { + const { menu: i, open: r } = n, c = zi(i); + if (c && c.length && [Ye, Ue].includes(t)) { let a = c.indexOf(o); - o === s ? a = 0 : t === qe ? a = a > 1 ? a - 1 : 0 : t === Ke && (a = a < c.length - 1 ? a + 1 : a), c[a] && at(c[a]); + o === s ? a = 0 : t === Ue ? a = a > 1 ? a - 1 : 0 : t === Ye && (a = a < c.length - 1 ? a + 1 : a), c[a] && lt(c[a]); } - as === t && r && (n.toggle(), at(s)); + hs === t && r && (n.toggle(), lt(s)); } -function Vi(e) { - const t = He(e), s = t && Kt(t); - s && s.open && Yn(s); +function Yi(e) { + const t = Ae(e), s = t && Vt(t); + s && s.open && Gn(s); } -class Un extends st { - static selector = qn; - static init = Mi; - static getInstance = Kt; +class Qn extends st { + static selector = Un; + static init = Fi; + static getInstance = Vt; /** * @param target Element or string selector * @param config the instance options */ constructor(t, s) { super(t, s); - const { parentElement: n } = this.element, [o] = it( - Vn, + const { parentElement: n } = this.element, [o] = rt( + qn, n ); o && (this.parentElement = n, this.menu = o, this._observer = new IntersectionObserver( - ([i]) => Vi(i.target), + ([i]) => Yi(i.target), { threshold: 1 } ), this._toggleEventListeners(!0)); } @@ -826,13 +822,13 @@ class Un extends st { * Returns component name string. */ get name() { - return zn; + return Vn; } /** * Returns component default options. */ get defaults() { - return Bi; + return ji; } toggle() { this.open ? this.hide() : this.show(); @@ -840,18 +836,18 @@ class Un extends st { show() { const { element: t, open: s, menu: n, parentElement: o } = this; if (s) return; - const i = He(t), r = i && Kt(i); - r && r.hide(), [Be, Bs, Xn].forEach( + const i = Ae(t), r = i && Vt(i); + r && r.hide(), [Fe, zs, Xn].forEach( (c) => { c.relatedTarget = t; } - ), b(o, Be), !Be.defaultPrevented && (h(n, p), h(o, p), L(t, we, "true"), Yn(this), this.open = !s, at(t), Ws(this), b(o, Bs)); + ), b(o, Fe), !Fe.defaultPrevented && (d(n, p), d(o, p), k(t, Ee, "true"), Gn(this), this.open = !s, lt(t), Vs(this), b(o, zs)); } hide() { const { element: t, open: s, menu: n, parentElement: o } = this; - s && ([Fe, Fs].forEach((i) => { + s && ([We, Ks].forEach((i) => { i.relatedTarget = t; - }), b(o, Fe), !Fe.defaultPrevented && (v(n, p), v(o, p), L(t, we, "false"), this.open = !s, Ws(this), b(o, Fs))); + }), b(o, We), !We.defaultPrevented && (v(n, p), v(o, p), k(t, Ee, "false"), this.open = !s, Vs(this), b(o, Ks))); } /** * Toggles on/off the `click` event listener of the `Dropdown`. @@ -859,193 +855,194 @@ class Un extends st { * @param add when `true`, it will add the event listener */ _toggleEventListeners = (t) => { - (t ? N : M)(this.element, I, Wi); + const s = t ? L : O; + nt(this.element) || s(this.element, I, Ki); }; dispose() { this.open && this.hide(), this._toggleEventListeners(), super.dispose(); } } -const X = "modal", ds = "Modal", hs = "Offcanvas", Ki = "fixed-top", qi = "fixed-bottom", Gn = "sticky-top", Zn = "position-sticky", Qn = (e) => [ - ...it(Ki, e), - ...it(qi, e), - ...it(Gn, e), - ...it(Zn, e), - ...it("is-fixed", e) -], Xi = (e) => { - const t = Tt(e); - P(t, { +const V = "modal", gs = "Modal", us = "Offcanvas", Ui = "fixed-top", Xi = "fixed-bottom", Zn = "sticky-top", Jn = "position-sticky", to = (e) => [ + ...rt(Ui, e), + ...rt(Xi, e), + ...rt(Zn, e), + ...rt(Jn, e), + ...rt("is-fixed", e) +], Gi = (e) => { + const t = Nt(e); + _(t, { paddingRight: "", overflow: "" }); - const s = Qn(t); + const s = to(t); s.length && s.forEach((n) => { - P(n, { + _(n, { paddingRight: "", marginRight: "" }); }); -}, Jn = (e) => { - const { clientWidth: t } = lt(e), { innerWidth: s } = Pn(e); +}, eo = (e) => { + const { clientWidth: t } = dt(e), { innerWidth: s } = Hn(e); return Math.abs(s - t); -}, to = (e, t) => { - const s = Tt(e), n = parseInt(W(s, "paddingRight"), 10), i = W(s, "overflow") === "hidden" && n ? 0 : Jn(e), r = Qn(s); - t && (P(s, { +}, so = (e, t) => { + const s = Nt(e), n = parseInt(R(s, "paddingRight"), 10), i = R(s, "overflow") === "hidden" && n ? 0 : eo(e), r = to(s); + t && (_(s, { overflow: "hidden", paddingRight: `${n + i}px` }), r.length && r.forEach((c) => { - const a = W(c, "paddingRight"); - if (c.style.paddingRight = `${parseInt(a, 10) + i}px`, [Gn, Zn].some((l) => f(c, l))) { - const l = W(c, "marginRight"); + const a = R(c, "paddingRight"); + if (c.style.paddingRight = `${parseInt(a, 10) + i}px`, [Zn, Jn].some((l) => h(c, l))) { + const l = R(c, "marginRight"); c.style.marginRight = `${parseInt(l, 10) - i}px`; } })); -}, Z = "offcanvas", wt = vt({ +}, G = "offcanvas", Et = bt({ tagName: "div", className: "popup-container" -}), eo = (e, t) => { - const s = D(t) && t.nodeName === "BODY", n = D(t) && !s ? t : wt, o = s ? t : Tt(e); - D(e) && (n === wt && o.append(wt), n.append(e)); -}, so = (e, t) => { - const s = D(t) && t.nodeName === "BODY", n = D(t) && !s ? t : wt; - D(e) && (e.remove(), n === wt && !wt.children.length && wt.remove()); -}, fs = (e, t) => { - const s = D(t) && t.nodeName !== "BODY" ? t : wt; +}), no = (e, t) => { + const s = D(t) && t.nodeName === "BODY", n = D(t) && !s ? t : Et, o = s ? t : Nt(e); + D(e) && (n === Et && o.append(Et), n.append(e)); +}, oo = (e, t) => { + const s = D(t) && t.nodeName === "BODY", n = D(t) && !s ? t : Et; + D(e) && (e.remove(), n === Et && !Et.children.length && Et.remove()); +}, ps = (e, t) => { + const s = D(t) && t.nodeName !== "BODY" ? t : Et; return D(e) && s.contains(e); -}, no = "backdrop", zs = `${X}-${no}`, Vs = `${Z}-${no}`, oo = `.${X}.${p}`, gs = `.${Z}.${p}`, A = vt("div"), Nt = (e) => S( - `${oo},${gs}`, +}, io = "backdrop", Ys = `${V}-${io}`, Us = `${G}-${io}`, ro = `.${V}.${p}`, ms = `.${G}.${p}`, H = bt("div"), Mt = (e) => x( + `${ro},${ms}`, w(e) -), us = (e) => { - const t = e ? zs : Vs; - [zs, Vs].forEach((s) => { - v(A, s); - }), h(A, t); -}, io = (e, t, s) => { - us(s), eo(A, Tt(e)), t && h(A, O); -}, ro = () => { - f(A, p) || (h(A, p), Ot(A)); -}, Pe = () => { - v(A, p); -}, co = (e) => { - Nt(e) || (v(A, O), so(A, Tt(e)), Xi(e)); -}, ao = (e) => C(e) && W(e, "visibility") !== "hidden" && e.offsetParent !== null, Yi = `.${X}`, lo = `[${nt}="${X}"]`, Ui = `[${xe}="${X}"]`, ho = `${X}-static`, Gi = { +), vs = (e) => { + const t = e ? Ys : Us; + [Ys, Us].forEach((s) => { + v(H, s); + }), d(H, t); +}, co = (e, t, s) => { + vs(s), no(H, Nt(e)), t && d(H, N); +}, ao = () => { + h(H, p) || (d(H, p), Ot(H)); +}, De = () => { + v(H, p); +}, lo = (e) => { + Mt(e) || (v(H, N), oo(H, Nt(e)), Gi(e)); +}, ho = (e) => A(e) && R(e, "visibility") !== "hidden" && e.offsetParent !== null, Qi = `.${V}`, fo = `[${ot}="${V}"]`, Zi = `[${Se}="${V}"]`, go = `${V}-static`, Ji = { backdrop: !0, keyboard: !0 -}, se = (e) => j(e, ds), Zi = (e) => new uo(e), ve = $( - `show.bs.${X}` -), Ks = $( - `shown.bs.${X}` -), We = $( - `hide.bs.${X}` -), qs = $( - `hidden.bs.${X}` -), fo = (e) => { - const { element: t } = e, s = Jn(t), { clientHeight: n, scrollHeight: o } = lt(t), { clientHeight: i, scrollHeight: r } = t, c = i !== r; +}, ne = (e) => F(e, gs), tr = (e) => new mo(e), be = E( + `show.bs.${V}` +), Xs = E( + `shown.bs.${V}` +), je = E( + `hide.bs.${V}` +), Gs = E( + `hidden.bs.${V}` +), uo = (e) => { + const { element: t } = e, s = eo(t), { clientHeight: n, scrollHeight: o } = dt(t), { clientHeight: i, scrollHeight: r } = t, c = i !== r; if (!c && s) { - const l = { [$t(t) ? "paddingLeft" : "paddingRight"]: `${s}px` }; - P(t, l); - } - to(t, c || n !== o); -}, go = (e, t) => { - const s = t ? N : M, { element: n } = e; - s(n, I, tr), s(w(n), Te, Ji), t ? e._observer.observe(n) : e._observer.disconnect(); -}, Xs = (e) => { + const l = { [Tt(t) ? "paddingLeft" : "paddingRight"]: `${s}px` }; + _(t, l); + } + so(t, c || n !== o); +}, po = (e, t) => { + const s = t ? L : O, { element: n } = e; + s(n, I, nr), s(w(n), ye, sr), t ? e._observer.observe(n) : e._observer.disconnect(); +}, Qs = (e) => { const { triggers: t, element: s, relatedTarget: n } = e; - co(s), P(s, { paddingRight: "", display: "" }), go(e); - const o = ve.relatedTarget || t.find(ao); - o && at(o), qs.relatedTarget = n || void 0, b(s, qs), Ce(s); -}, Ys = (e) => { + lo(s), _(s, { paddingRight: "", display: "" }), po(e); + const o = be.relatedTarget || t.find(ho); + o && lt(o), Gs.relatedTarget = n || void 0, b(s, Gs), xe(s); +}, Zs = (e) => { const { element: t, relatedTarget: s } = e; - at(t), go(e, !0), Ks.relatedTarget = s || void 0, b(t, Ks), Ce(t); -}, Us = (e) => { + lt(t), po(e, !0), Xs.relatedTarget = s || void 0, b(t, Xs), xe(t); +}, Js = (e) => { const { element: t, hasFade: s } = e; - P(t, { display: "block" }), fo(e), Nt(t) || P(Tt(t), { overflow: "hidden" }), h(t, p), It(t, ie), L(t, $e, "true"), s ? H(t, () => Ys(e)) : Ys(e); -}, Gs = (e) => { + _(t, { display: "block" }), uo(e), Mt(t) || _(Nt(t), { overflow: "hidden" }), d(t, p), Pt(t, re), k(t, $e, "true"), s ? S(t, () => Zs(e)) : Zs(e); +}, tn = (e) => { const { element: t, options: s, hasFade: n } = e; - s.backdrop && n && f(A, p) && !Nt(t) ? (Pe(), H(A, () => Xs(e))) : Xs(e); -}, Qi = (e) => { - const { target: t } = e, s = t && _(t, lo), n = s && q(s), o = n && se(n); + s.backdrop && n && h(H, p) && !Mt(t) ? (De(), S(H, () => Qs(e))) : Qs(e); +}, er = (e) => { + const { target: t } = e, s = t && P(t, fo), n = s && z(s), o = n && ne(n); o && (s && s.tagName === "A" && e.preventDefault(), o.relatedTarget = s, o.toggle()); -}, Ji = ({ code: e, target: t }) => { - const s = S(oo, w(t)), n = s && se(s); +}, sr = ({ code: e, target: t }) => { + const s = x(ro, w(t)), n = s && ne(s); if (!n) return; const { options: o } = n; - o.keyboard && e === as && f(s, p) && (n.relatedTarget = null, n.hide()); -}, tr = (e) => { - const { currentTarget: t } = e, s = t && se(t); + o.keyboard && e === hs && h(s, p) && (n.relatedTarget = null, n.hide()); +}, nr = (e) => { + const { currentTarget: t } = e, s = t && ne(t); if (!s || !t || u.get(t)) return; - const { options: n, isStatic: o, modalDialog: i } = s, { backdrop: r } = n, { target: c } = e, a = w(t)?.getSelection()?.toString().length, l = i.contains(c), d = c && _(c, Ui); + const { options: n, isStatic: o, modalDialog: i } = s, { backdrop: r } = n, { target: c } = e, a = w(t)?.getSelection()?.toString().length, l = i.contains(c), f = c && P(c, Zi); o && !l ? u.set( t, () => { - h(t, ho), H(i, () => er(s)); + d(t, go), S(i, () => or(s)); }, 17 - ) : (d || !a && !o && !l && r) && (s.relatedTarget = d || null, s.hide(), e.preventDefault()); -}, er = (e) => { - const { element: t, modalDialog: s } = e, n = (ae(s) || 0) + 17; - v(t, ho), u.set(t, () => u.clear(t), n); + ) : (f || !a && !o && !l && r) && (s.relatedTarget = f || null, s.hide(), e.preventDefault()); +}, or = (e) => { + const { element: t, modalDialog: s } = e, n = (le(s) || 0) + 17; + v(t, go), u.set(t, () => u.clear(t), n); }; -class uo extends st { - static selector = Yi; - static init = Zi; - static getInstance = se; +class mo extends st { + static selector = Qi; + static init = tr; + static getInstance = ne; /** * @param target usually the `.modal` element * @param config instance options */ constructor(t, s) { super(t, s); - const { element: n } = this, o = S( - `.${X}-dialog`, + const { element: n } = this, o = x( + `.${V}-dialog`, n ); o && (this.modalDialog = o, this.triggers = [ - ...U( - lo, + ...Y( + fo, w(n) ) ].filter( - (i) => q(i) === n - ), this.isStatic = this.options.backdrop === "static", this.hasFade = f(n, O), this.relatedTarget = null, this._observer = new ResizeObserver(() => this.update()), this._toggleEventListeners(!0)); + (i) => z(i) === n + ), this.isStatic = this.options.backdrop === "static", this.hasFade = h(n, N), this.relatedTarget = null, this._observer = new ResizeObserver(() => this.update()), this._toggleEventListeners(!0)); } /** * Returns component name string. */ get name() { - return ds; + return gs; } /** * Returns component default options. */ get defaults() { - return Gi; + return Ji; } toggle() { - f(this.element, p) ? this.hide() : this.show(); + h(this.element, p) ? this.hide() : this.show(); } show() { const { element: t, options: s, hasFade: n, relatedTarget: o } = this, { backdrop: i } = s; let r = 0; - if (f(t, p) || (ve.relatedTarget = o || void 0, b(t, ve), ve.defaultPrevented)) return; - const c = Nt(t); + if (h(t, p) || (be.relatedTarget = o || void 0, b(t, be), be.defaultPrevented)) return; + const c = Mt(t); if (c && c !== t) { - const a = se(c) || j( + const a = ne(c) || F( c, - hs + us ); a && a.hide(); } - i ? (fs(A) ? us(!0) : io(t, n, !0), r = ae(A), ro(), setTimeout(() => Us(this), r)) : (Us(this), c && f(A, p) && Pe()); + i ? (ps(H) ? vs(!0) : co(t, n, !0), r = le(H), ao(), setTimeout(() => Js(this), r)) : (Js(this), c && h(H, p) && De()); } hide() { const { element: t, hasFade: s, relatedTarget: n } = this; - f(t, p) && (We.relatedTarget = n || void 0, b(t, We), !We.defaultPrevented && (v(t, p), L(t, ie, "true"), It(t, $e), s ? H(t, () => Gs(this)) : Gs(this))); + h(t, p) && (je.relatedTarget = n || void 0, b(t, je), !je.defaultPrevented && (v(t, p), k(t, re, "true"), Pt(t, $e), s ? S(t, () => tn(this)) : tn(this))); } /** * Updates the modal layout. */ update = () => { - f(this.element, p) && fo(this); + h(this.element, p) && uo(this); }; /** * Toggles on/off the `click` event listener of the `Modal` instance. @@ -1053,65 +1050,67 @@ class uo extends st { * @param add when `true`, event listener(s) is/are added */ _toggleEventListeners = (t) => { - const s = t ? N : M, { triggers: n } = this; - n.length && n.forEach((o) => s(o, I, Qi)); + const s = t ? L : O, { triggers: n } = this; + n.length && n.forEach((o) => { + nt(o) || s(o, I, er); + }); }; dispose() { const t = { ...this }, { modalDialog: s, hasFade: n } = t, o = () => setTimeout(() => super.dispose(), 17); - this.hide(), this._toggleEventListeners(), n ? H(s, o) : o(); + this.hide(), this._toggleEventListeners(), n ? S(s, o) : o(); } } -const sr = `.${Z}`, ps = `[${nt}="${Z}"]`, nr = `[${xe}="${Z}"]`, De = `${Z}-toggling`, or = { +const ir = `.${G}`, bs = `[${ot}="${G}"]`, rr = `[${Se}="${G}"]`, He = `${G}-toggling`, cr = { backdrop: !0, keyboard: !0, scroll: !1 -}, ne = (e) => j(e, hs), ir = (e) => new bo(e), be = $(`show.bs.${Z}`), po = $(`shown.bs.${Z}`), je = $(`hide.bs.${Z}`), mo = $(`hidden.bs.${Z}`), rr = (e) => { - const { element: t } = e, { clientHeight: s, scrollHeight: n } = lt(t); - to(t, s !== n); -}, vo = (e, t) => { - const s = t ? N : M, n = w(e.element); - s(n, Te, dr), s(n, I, lr); -}, Zs = (e) => { +}, oe = (e) => F(e, us), ar = (e) => new Eo(e), we = E(`show.bs.${G}`), vo = E(`shown.bs.${G}`), ze = E(`hide.bs.${G}`), bo = E(`hidden.bs.${G}`), lr = (e) => { + const { element: t } = e, { clientHeight: s, scrollHeight: n } = dt(t); + so(t, s !== n); +}, wo = (e, t) => { + const s = t ? L : O, n = w(e.element); + s(n, ye, gr), s(n, I, fr); +}, en = (e) => { const { element: t, options: s } = e; - s.scroll || (rr(e), P(Tt(t), { overflow: "hidden" })), h(t, De), h(t, p), P(t, { visibility: "visible" }), H(t, () => hr(e)); -}, cr = (e) => { - const { element: t, options: s } = e, n = Nt(t); - t.blur(), !n && s.backdrop && f(A, p) && Pe(), H(t, () => fr(e)); -}, ar = (e) => { - const t = _(e.target, ps), s = t && q(t), n = s && ne(s); + s.scroll || (lr(e), _(Nt(t), { overflow: "hidden" })), d(t, He), d(t, p), _(t, { visibility: "visible" }), S(t, () => ur(e)); +}, dr = (e) => { + const { element: t, options: s } = e, n = Mt(t); + t.blur(), !n && s.backdrop && h(H, p) && De(), S(t, () => pr(e)); +}, hr = (e) => { + const t = P(e.target, bs), s = t && z(t), n = s && oe(s); n && (n.relatedTarget = t, n.toggle(), t?.tagName === "A" && e.preventDefault()); -}, lr = (e) => { - const { target: t } = e, s = S( - gs, +}, fr = (e) => { + const { target: t } = e, s = x( + ms, w(t) ); if (!s) return; - const n = S( - nr, + const n = x( + rr, s - ), o = ne(s); + ), o = oe(s); if (!o) return; - const { options: i, triggers: r } = o, { backdrop: c } = i, a = _(t, ps), l = w(s).getSelection(); - A.contains(t) && c === "static" || (!(l && l.toString().length) && (!s.contains(t) && c && (!a || r.includes(t)) || n && n.contains(t)) && (o.relatedTarget = n && n.contains(t) ? n : void 0, o.hide()), a && a.tagName === "A" && e.preventDefault()); -}, dr = ({ code: e, target: t }) => { - const s = S( - gs, + const { options: i, triggers: r } = o, { backdrop: c } = i, a = P(t, bs), l = w(s).getSelection(); + H.contains(t) && c === "static" || (!(l && l.toString().length) && (!s.contains(t) && c && (!a || r.includes(t)) || n && n.contains(t)) && (o.relatedTarget = n && n.contains(t) ? n : void 0, o.hide()), a && a.tagName === "A" && e.preventDefault()); +}, gr = ({ code: e, target: t }) => { + const s = x( + ms, w(t) - ), n = s && ne(s); - n && n.options.keyboard && e === as && (n.relatedTarget = void 0, n.hide()); -}, hr = (e) => { + ), n = s && oe(s); + n && n.options.keyboard && e === hs && (n.relatedTarget = void 0, n.hide()); +}, ur = (e) => { const { element: t } = e; - v(t, De), It(t, ie), L(t, $e, "true"), L(t, "role", "dialog"), b(t, po), vo(e, !0), at(t), Ce(t); -}, fr = (e) => { + v(t, He), Pt(t, re), k(t, $e, "true"), k(t, "role", "dialog"), b(t, vo), wo(e, !0), lt(t), xe(t); +}, pr = (e) => { const { element: t, triggers: s } = e; - L(t, ie, "true"), It(t, $e), It(t, "role"), P(t, { visibility: "" }); - const n = be.relatedTarget || s.find(ao); - n && at(n), co(t), b(t, mo), v(t, De), Ce(t), Nt(t) || vo(e); + k(t, re, "true"), Pt(t, $e), Pt(t, "role"), _(t, { visibility: "" }); + const n = we.relatedTarget || s.find(ho); + n && lt(n), lo(t), b(t, bo), v(t, He), xe(t), Mt(t) || wo(e); }; -class bo extends st { - static selector = sr; - static init = ir; - static getInstance = ne; +class Eo extends st { + static selector = ir; + static init = ar; + static getInstance = oe; /** * @param target usually an `.offcanvas` element * @param config instance options @@ -1120,46 +1119,46 @@ class bo extends st { super(t, s); const { element: n } = this; this.triggers = [ - ...U( - ps, + ...Y( + bs, w(n) ) ].filter( - (o) => q(o) === n + (o) => z(o) === n ), this.relatedTarget = void 0, this._toggleEventListeners(!0); } /** * Returns component name string. */ get name() { - return hs; + return us; } /** * Returns component default options. */ get defaults() { - return or; + return cr; } toggle() { - f(this.element, p) ? this.hide() : this.show(); + h(this.element, p) ? this.hide() : this.show(); } show() { const { element: t, options: s, relatedTarget: n } = this; let o = 0; - if (f(t, p) || (be.relatedTarget = n || void 0, po.relatedTarget = n || void 0, b(t, be), be.defaultPrevented)) return; - const i = Nt(t); + if (h(t, p) || (we.relatedTarget = n || void 0, vo.relatedTarget = n || void 0, b(t, we), we.defaultPrevented)) return; + const i = Mt(t); if (i && i !== t) { - const r = ne(i) || j( + const r = oe(i) || F( i, - ds + gs ); r && r.hide(); } - s.backdrop ? (fs(A) ? us() : io(t, !0), o = ae(A), ro(), setTimeout(() => Zs(this), o)) : (Zs(this), i && f(A, p) && Pe()); + s.backdrop ? (ps(H) ? vs() : co(t, !0), o = le(H), ao(), setTimeout(() => en(this), o)) : (en(this), i && h(H, p) && De()); } hide() { const { element: t, relatedTarget: s } = this; - f(t, p) && (je.relatedTarget = s || void 0, mo.relatedTarget = s || void 0, b(t, je), !je.defaultPrevented && (h(t, De), v(t, p), cr(this))); + h(t, p) && (ze.relatedTarget = s || void 0, bo.relatedTarget = s || void 0, b(t, ze), !ze.defaultPrevented && (d(t, He), v(t, p), dr(this))); } /** * Toggles on/off the `click` event listeners. @@ -1168,80 +1167,80 @@ class bo extends st { * @param add when *true*, listeners are added */ _toggleEventListeners = (t) => { - const s = t ? N : M; - this.triggers.forEach( - (n) => s(n, I, ar) - ); + const s = t ? L : O; + this.triggers.forEach((n) => { + nt(n) || s(n, I, hr); + }); }; dispose() { - const { element: t } = this, s = f(t, p), n = () => setTimeout(() => super.dispose(), 1); - this.hide(), this._toggleEventListeners(), s ? H(t, n) : n(); + const { element: t } = this, s = h(t, p), n = () => setTimeout(() => super.dispose(), 1); + this.hide(), this._toggleEventListeners(), s ? S(t, n) : n(); } } -const kt = "popover", ms = "Popover", rt = "tooltip", wo = (e) => { - const t = e === rt, s = t ? `${e}-inner` : `${e}-body`, n = t ? "" : `

`, o = `
`, i = `
`; - return `
${n + o + i}
`; -}, Eo = { +const Ht = "popover", ws = "Popover", ct = "tooltip", To = (e) => { + const t = e === ct, s = t ? `${e}-inner` : `${e}-body`, n = t ? "" : `

`, o = `
`, i = `
`; + return `
${n + o + i}
`; +}, $o = { top: "top", bottom: "bottom", left: "start", right: "end" -}, ss = (e) => { +}, os = (e) => { requestAnimationFrame(() => { const t = /\b(top|bottom|start|end)+/, { element: s, tooltip: n, container: o, offsetParent: i, options: r, arrow: c } = e; if (!n) return; - const a = $t(s), { x: l, y: d } = ei(i); - P(n, { + const a = Tt(s), { x: l, y: f } = ni(i); + _(n, { top: "", left: "", right: "", bottom: "" }); - const { offsetWidth: g, offsetHeight: E } = n, { clientWidth: k, clientHeight: z, offsetWidth: B } = lt(s); + const { offsetWidth: g, offsetHeight: T } = n, { clientWidth: M, clientHeight: q, offsetWidth: Z } = dt(s); let { placement: m } = r; - const { clientWidth: R, offsetWidth: yt } = o, x = W( + const { clientWidth: K, offsetWidth: $t } = o, C = R( o, "position" - ) === "fixed", ht = Math.abs(x ? R - yt : k - B), ot = a && x ? ht : 0, J = k - (a ? 0 : ht) - 1, Mt = e._observer.getEntry(s), { + ) === "fixed", ft = Math.abs(C ? K - $t : M - Z), it = a && C ? ft : 0, J = M - (a ? 0 : ft) - 1, Bt = e._observer.getEntry(s), { width: y, - height: V, + height: W, left: Rt, - right: F, - top: xt - } = Mt?.boundingClientRect || Et(s, !0), { - x: he, - y: Bt - } = ii( + right: B, + top: Ct + } = Bt?.boundingClientRect || It(s, !0), { + x: fe, + y: Ft + } = ci( s, i, - { x: l, y: d } + { x: l, y: f } ); - P(c, { + _(c, { top: "", left: "", right: "", bottom: "" }); - let St = 0, Xt = "", ft = 0, Ae = "", Ft = "", fe = "", ke = ""; - const Ht = c.offsetWidth || 0, gt = c.offsetHeight || 0, Ie = Ht / 2; - let Yt = xt - E - gt < 0, Ut = xt + E + V + gt >= z, Gt = Rt - g - Ht < ot, Zt = Rt + g + y + Ht >= J; - const ge = ["left", "right"], Le = ["top", "bottom"]; - Yt = ge.includes(m) ? xt + V / 2 - E / 2 - gt < 0 : Yt, Ut = ge.includes(m) ? xt + E / 2 + V / 2 + gt >= z : Ut, Gt = Le.includes(m) ? Rt + y / 2 - g / 2 < ot : Gt, Zt = Le.includes(m) ? Rt + g / 2 + y / 2 >= J : Zt, m = ge.includes(m) && Gt && Zt ? "top" : m, m = m === "top" && Yt ? "bottom" : m, m = m === "bottom" && Ut ? "top" : m, m = m === "left" && Gt ? "right" : m, m = m === "right" && Zt ? "left" : m, n.className.includes(m) || (n.className = n.className.replace( + let xt = 0, Yt = "", gt = 0, Pe = "", Wt = "", ge = "", Ie = ""; + const St = c.offsetWidth || 0, ut = c.offsetHeight || 0, ke = St / 2; + let Ut = Ct - T - ut < 0, Xt = Ct + T + W + ut >= q, Gt = Rt - g - St < it, Qt = Rt + g + y + St >= J; + const ue = ["left", "right"], Le = ["top", "bottom"]; + Ut = ue.includes(m) ? Ct + W / 2 - T / 2 - ut < 0 : Ut, Xt = ue.includes(m) ? Ct + T / 2 + W / 2 + ut >= q : Xt, Gt = Le.includes(m) ? Rt + y / 2 - g / 2 < it : Gt, Qt = Le.includes(m) ? Rt + g / 2 + y / 2 >= J : Qt, m = ue.includes(m) && Gt && Qt ? "top" : m, m = m === "top" && Ut ? "bottom" : m, m = m === "bottom" && Xt ? "top" : m, m = m === "left" && Gt ? "right" : m, m = m === "right" && Qt ? "left" : m, n.className.includes(m) || (n.className = n.className.replace( t, - Eo[m] - )), ge.includes(m) ? (m === "left" ? ft = he - g - Ht : ft = he + y + Ht, Yt && Ut ? (St = 0, Xt = 0, Ft = Bt + V / 2 - gt / 2) : Yt ? (St = Bt, Xt = "", Ft = V / 2 - Ht) : Ut ? (St = Bt - E + V, Xt = "", Ft = E - V / 2 - Ht) : (St = Bt - E / 2 + V / 2, Ft = E / 2 - gt / 2)) : Le.includes(m) && (m === "top" ? St = Bt - E - gt : St = Bt + V + gt, Gt ? (ft = 0, fe = he + y / 2 - Ie) : Zt ? (ft = "auto", Ae = 0, ke = y / 2 + J - F - Ie) : (ft = he - g / 2 + y / 2, fe = g / 2 - Ie)), P(n, { - top: `${St}px`, - bottom: Xt === "" ? "" : `${Xt}px`, - left: ft === "auto" ? ft : `${ft}px`, - right: Ae !== "" ? `${Ae}px` : "" - }), C(c) && (Ft !== "" && (c.style.top = `${Ft}px`), fe !== "" ? c.style.left = `${fe}px` : ke !== "" && (c.style.right = `${ke}px`)); - const Mo = $( - `updated.bs.${Vt(e.name)}` + $o[m] + )), ue.includes(m) ? (m === "left" ? gt = fe - g - St : gt = fe + y + St, Ut && Xt ? (xt = 0, Yt = 0, Wt = Ft + W / 2 - ut / 2) : Ut ? (xt = Ft, Yt = "", Wt = W / 2 - St) : Xt ? (xt = Ft - T + W, Yt = "", Wt = T - W / 2 - St) : (xt = Ft - T / 2 + W / 2, Wt = T / 2 - ut / 2)) : Le.includes(m) && (m === "top" ? xt = Ft - T - ut : xt = Ft + W + ut, Gt ? (gt = 0, ge = fe + y / 2 - ke) : Qt ? (gt = "auto", Pe = 0, Ie = y / 2 + J - B - ke) : (gt = fe - g / 2 + y / 2, ge = g / 2 - ke)), _(n, { + top: `${xt}px`, + bottom: Yt === "" ? "" : `${Yt}px`, + left: gt === "auto" ? gt : `${gt}px`, + right: Pe !== "" ? `${Pe}px` : "" + }), A(c) && (Wt !== "" && (c.style.top = `${Wt}px`), ge !== "" ? c.style.left = `${ge}px` : Ie !== "" && (c.style.right = `${Ie}px`)); + const Ro = E( + `updated.bs.${se(e.name)}` ); - b(s, Mo); + b(s, Ro); }); -}, ns = { - template: wo(rt), +}, is = { + template: To(ct), title: "", customClass: "", trigger: "hover focus", @@ -1253,12 +1252,12 @@ const kt = "popover", ms = "Popover", rt = "tooltip", wo = (e) => { content: "", dismissible: !1, btnClose: "" -}, gr = (e) => e != null && typeof e == "object" || !1, ur = (e) => gr(e) && typeof e.nodeType == "number" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some( +}, mr = (e) => e != null && typeof e == "object" || !1, vr = (e) => mr(e) && typeof e.nodeType == "number" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some( (t) => e.nodeType === t -) || !1, Qs = (e) => ur(e) && e.nodeType === 1 || !1, pr = (e) => typeof e == "function" || !1, mr = "1.0.2", Js = "PositionObserver Error"; -class $o { +) || !1, sn = (e) => vr(e) && e.nodeType === 1 || !1, br = (e) => typeof e == "function" || !1, wr = "1.0.2", nn = "PositionObserver Error"; +class yo { entries; - static version = mr; + static version = wr; _tick; _root; _callback; @@ -1272,9 +1271,9 @@ class $o { * @param options the options of this observer */ constructor(t, s) { - if (!pr(t)) - throw new Error(`${Js}: ${t} is not a function.`); - this.entries = /* @__PURE__ */ new Map(), this._callback = t, this._root = Qs(s?.root) ? s.root : document?.documentElement, this._tick = 0; + if (!br(t)) + throw new Error(`${nn}: ${t} is not a function.`); + this.entries = /* @__PURE__ */ new Map(), this._callback = t, this._root = sn(s?.root) ? s.root : document?.documentElement, this._tick = 0; } /** * Start observing the position of the specified element. @@ -1284,12 +1283,12 @@ class $o { * @param target an `Element` target */ observe = (t) => { - if (!Qs(t)) + if (!sn(t)) throw new Error( - `${Js}: ${t} is not an instance of Element.` + `${nn}: ${t} is not an instance of Element.` ); this._root.contains(t) && this._new(t).then((s) => { - this.getEntry(t) || this.entries.set(t, s), this._tick || (this._tick = requestAnimationFrame(this._runCallback)); + s && !this.getEntry(t) && this.entries.set(t, s), this._tick || (this._tick = requestAnimationFrame(this._runCallback)); }); }; /** @@ -1310,11 +1309,12 @@ class $o { const n = []; this.entries.forEach( ({ target: o, boundingClientRect: i }) => { - this._root.contains(o) && this._new(o).then(({ boundingClientRect: r, isVisible: c }) => { - const { left: a, top: l, bottom: d, right: g } = r; - if (i.top !== l || i.left !== a || i.right !== g || i.bottom !== d) { - const E = { target: o, boundingClientRect: r, isVisible: c }; - this.entries.set(o, E), n.push(E); + this._root.contains(o) && this._new(o).then(({ boundingClientRect: r, isIntersecting: c }) => { + if (!c) return; + const { left: a, top: l, bottom: f, right: g } = r; + if (i.top !== l || i.left !== a || i.right !== g || i.bottom !== f) { + const T = { target: o, boundingClientRect: r }; + this.entries.set(o, T), n.push(T); } }); } @@ -1331,22 +1331,13 @@ class $o { * * @param target an `Element` target */ - _new = (t) => { - const { clientWidth: s, clientHeight: n } = this._root; - return new Promise((o) => { - new IntersectionObserver( - ([{ boundingClientRect: i }], r) => { - r.disconnect(); - const { left: c, top: a, bottom: l, right: d, width: g, height: E } = i, k = a > 1 - E && c > 1 - g && l <= n + E - 1 && d <= s + g - 1; - o({ - target: t, - isVisible: k, - boundingClientRect: i - }); - } - ).observe(t); - }); - }; + _new = (t) => new Promise((s) => { + new IntersectionObserver( + ([n], o) => { + o.disconnect(), s(n); + } + ).observe(t); + }); /** * Find the entry for a given target. * @@ -1360,168 +1351,166 @@ class $o { cancelAnimationFrame(this._tick), this.entries.clear(), this._tick = 0; }; } -const To = "data-original-title", Pt = "Tooltip", pt = (e, t, s) => { - if (ce(t) && t.length) { +const Co = "data-original-title", _t = "Tooltip", mt = (e, t, s) => { + if (ae(t) && t.length) { let n = t.trim(); - ci(s) && (n = s(n)); + li(s) && (n = s(n)); const i = new DOMParser().parseFromString(n, "text/html"); e.append(...i.body.childNodes); - } else C(t) ? e.append(t) : (ai(t) || ri(t) && t.every(D)) && e.append(...t); -}, vr = (e) => { - const t = e.name === Pt, { id: s, element: n, options: o } = e, { + } else A(t) ? e.append(t) : (di(t) || ai(t) && t.every(D)) && e.append(...t); +}, Er = (e) => { + const t = e.name === _t, { id: s, element: n, options: o } = e, { title: i, placement: r, template: c, animation: a, customClass: l, - sanitizeFn: d, + sanitizeFn: f, dismissible: g, - content: E, - btnClose: k - } = o, z = t ? rt : kt, B = { ...Eo }; - let m = [], R = []; - $t(n) && (B.left = "end", B.right = "start"); - const yt = `bs-${z}-${B[r]}`; - let Ct; - if (C(c)) - Ct = c; + content: T, + btnClose: M + } = o, q = t ? ct : Ht, Z = { ...$o }; + let m = [], K = []; + Tt(n) && (Z.left = "end", Z.right = "start"); + const $t = `bs-${q}-${Z[r]}`; + let yt; + if (A(c)) + yt = c; else { - const y = vt("div"); - pt(y, c, d), Ct = y.firstChild; - } - if (!C(Ct)) return; - e.tooltip = Ct.cloneNode(!0); - const { tooltip: x } = e; - L(x, "id", s), L(x, "role", rt); - const ht = t ? `${rt}-inner` : `${kt}-body`, ot = t ? null : S(`.${kt}-header`, x), J = S(`.${ht}`, x); - e.arrow = S( - `.${z}-arrow`, - x + const y = bt("div"); + mt(y, c, f), yt = y.firstChild; + } + if (!A(yt)) return; + e.tooltip = yt.cloneNode(!0); + const { tooltip: C } = e; + k(C, "id", s), k(C, "role", ct); + const ft = t ? `${ct}-inner` : `${Ht}-body`, it = t ? null : x(`.${Ht}-header`, C), J = x(`.${ft}`, C); + e.arrow = x( + `.${q}-arrow`, + C ); - const { arrow: Mt } = e; - if (C(i)) m = [i.cloneNode(!0)]; + const { arrow: Bt } = e; + if (A(i)) m = [i.cloneNode(!0)]; else { - const y = vt("div"); - pt(y, i, d), m = [...y.childNodes]; + const y = bt("div"); + mt(y, i, f), m = [...y.childNodes]; } - if (C(E)) R = [E.cloneNode(!0)]; + if (A(T)) K = [T.cloneNode(!0)]; else { - const y = vt("div"); - pt(y, E, d), R = [...y.childNodes]; + const y = bt("div"); + mt(y, T, f), K = [...y.childNodes]; } if (g) if (i) - if (C(k)) - m = [...m, k.cloneNode(!0)]; + if (A(M)) + m = [...m, M.cloneNode(!0)]; else { - const y = vt("div"); - pt(y, k, d), m = [...m, y.firstChild]; + const y = bt("div"); + mt(y, M, f), m = [...m, y.firstChild]; } - else if (ot && ot.remove(), C(k)) - R = [...R, k.cloneNode(!0)]; + else if (it && it.remove(), A(M)) + K = [...K, M.cloneNode(!0)]; else { - const y = vt("div"); - pt(y, k, d), R = [...R, y.firstChild]; + const y = bt("div"); + mt(y, M, f), K = [...K, y.firstChild]; } - t ? i && J && pt(J, i, d) : (i && ot && pt(ot, m, d), E && J && pt(J, R, d), e.btn = S(".btn-close", x) || void 0), h(x, "position-absolute"), h(Mt, "position-absolute"), f(x, z) || h(x, z), a && !f(x, O) && h(x, O), l && !f(x, l) && h(x, l), f(x, yt) || h(x, yt); -}, br = (e) => { + t ? i && J && mt(J, i, f) : (i && it && mt(it, m, f), T && J && mt(J, K, f), e.btn = x(".btn-close", C) || void 0), d(C, "position-absolute"), d(Bt, "position-absolute"), h(C, q) || d(C, q), a && !h(C, N) && d(C, N), l && !h(C, l) && d(C, l), h(C, $t) || d(C, $t); +}, Tr = (e) => { const t = ["HTML", "BODY"], s = []; let { parentNode: n } = e; for (; n && !t.includes(n.nodeName); ) - n = si(n), Hn(n) || ni(n) || s.push(n); - return s.find((o, i) => (W(o, "position") !== "relative" || W(o, "position") === "relative" && o.offsetHeight !== o.scrollHeight) && s.slice(i + 1).every( - (r) => W(r, "position") === "static" + n = oi(n), Dn(n) || ii(n) || s.push(n); + return s.find((o, i) => (R(o, "position") !== "relative" || R(o, "position") === "relative" && o.offsetHeight !== o.scrollHeight) && s.slice(i + 1).every( + (r) => R(r, "position") === "static" ) ? o : null) || w(e).body; -}, wr = `[${nt}="${rt}"],[data-tip="${rt}"]`, yo = "title"; -let tn = (e) => j(e, Pt); -const Er = (e) => new vs(e), $r = (e) => { +}, $r = `[${ot}="${ct}"],[data-tip="${ct}"]`, xo = "title"; +let on = (e) => F(e, _t); +const yr = (e) => new Es(e), Cr = (e) => { const { element: t, tooltip: s, container: n } = e; - It(t, $n), so( + Pt(t, yn), oo( s, n ); -}, Qt = (e) => { +}, Zt = (e) => { const { tooltip: t, container: s } = e; - return t && fs(t, s); -}, Tr = (e, t) => { + return t && ps(t, s); +}, xr = (e, t) => { const { element: s } = e; - e._toggleEventListeners(), te(s, To) && e.name === Pt && xo(e), t && t(); -}, Co = (e, t) => { - const s = t ? N : M, { element: n } = e; + e._toggleEventListeners(), te(s, Co) && e.name === _t && _o(e), t && t(); +}, So = (e, t) => { + const s = t ? L : O, { element: n } = e; s( w(n), - cs, + ds, e.handleTouch, ee ); -}, en = (e) => { - const { element: t } = e, s = $( - `shown.bs.${Vt(e.name)}` +}, rn = (e) => { + const { element: t } = e, s = E( + `shown.bs.${se(e.name)}` ); - Co(e, !0), b(t, s), u.clear(t, "in"); -}, sn = (e) => { - const { element: t } = e, s = $( - `hidden.bs.${Vt(e.name)}` + So(e, !0), b(t, s), u.clear(t, "in"); +}, cn = (e) => { + const { element: t } = e, s = E( + `hidden.bs.${se(e.name)}` ); - Co(e), $r(e), b(t, s), u.clear(t, "out"); -}, nn = (e, t) => { - const s = t ? N : M, { element: n, tooltip: o } = e, i = _(n, `.${X}`), r = _(n, `.${Z}`); - t ? [n, o].forEach((c) => e._observer.observe(c)) : e._observer.disconnect(), i && s(i, `hide.bs.${X}`, e.handleHide), r && s(r, `hide.bs.${Z}`, e.handleHide); -}, xo = (e, t) => { - const s = [To, yo], { element: n } = e; - L( + So(e), Cr(e), b(t, s), u.clear(t, "out"); +}, an = (e, t) => { + const s = t ? L : O, { element: n, tooltip: o } = e, i = P(n, `.${V}`), r = P(n, `.${G}`); + t ? [n, o].forEach((c) => e._observer.observe(c)) : e._observer.disconnect(), i && s(i, `hide.bs.${V}`, e.handleHide), r && s(r, `hide.bs.${G}`, e.handleHide); +}, _o = (e, t) => { + const s = [Co, xo], { element: n } = e; + k( n, s[t ? 0 : 1], - t || et(n, s[0]) || "" - ), It(n, s[t ? 1 : 0]); + t || X(n, s[0]) || "" + ), Pt(n, s[t ? 1 : 0]); }; -class vs extends st { - static selector = wr; - static init = Er; - static getInstance = tn; - static styleTip = ss; +class Es extends st { + static selector = $r; + static init = yr; + static getInstance = on; + static styleTip = os; /** * @param target the target element * @param config the instance options */ constructor(t, s) { super(t, s); - const { element: n } = this, o = this.name === Pt, i = o ? rt : kt, r = o ? Pt : ms; - tn = (d) => j(d, r), this.enabled = !0, this.id = `${i}-${An(n, i)}`; + const { element: n } = this, o = this.name === _t, i = o ? ct : Ht, r = o ? _t : ws; + on = (f) => F(f, r), this.enabled = !0, this.id = `${i}-${In(n, i)}`; const { options: c } = this; if (!c.title && o || !o && !c.content) return; - ct(ns, { titleAttr: "" }), te(n, yo) && o && typeof c.title == "string" && xo(this, c.title); - const a = br(n), l = ["sticky", "fixed", "relative"].some( - (d) => W(a, "position") === d - ) ? a : Pn(n); - this.container = a, this.offsetParent = l, vr(this), this.tooltip && (this._observer = new $o((d) => { - d.some((g) => g.isVisible) && this.update(); - }), this._toggleEventListeners(!0)); + at(is, { titleAttr: "" }), te(n, xo) && o && typeof c.title == "string" && _o(this, c.title); + const a = Tr(n), l = ["sticky", "fixed", "relative"].some( + (f) => R(a, "position") === f + ) ? a : Hn(n); + this.container = a, this.offsetParent = l, Er(this), this.tooltip && (this._observer = new yo(() => this.update()), this._toggleEventListeners(!0)); } /** * Returns component name string. */ get name() { - return Pt; + return _t; } /** * Returns component default options. */ get defaults() { - return ns; + return is; } - handleFocus = () => at(this.element); + handleFocus = () => lt(this.element); handleShow = () => this.show(); show() { const { options: t, tooltip: s, element: n, container: o, id: i } = this, { animation: r } = t, c = u.get(n, "out"); - u.clear(n, "out"), s && !c && !Qt(this) && u.set( + u.clear(n, "out"), s && !c && !Zt(this) && u.set( n, () => { - const a = $( - `show.bs.${Vt(this.name)}` + const a = E( + `show.bs.${se(this.name)}` ); - b(n, a), a.defaultPrevented || (eo(s, o), L(n, $n, `#${i}`), this.update(), nn(this, !0), f(s, p) || h(s, p), r ? H(s, () => en(this)) : en(this)); + b(n, a), a.defaultPrevented || (no(s, o), k(n, yn, `#${i}`), this.update(), an(this, !0), h(s, p) || d(s, p), r ? S(s, () => rn(this)) : rn(this)); }, 17, "in" @@ -1530,24 +1519,24 @@ class vs extends st { handleHide = () => this.hide(); hide() { const { options: t, tooltip: s, element: n } = this, { animation: o, delay: i } = t; - u.clear(n, "in"), s && Qt(this) && u.set( + u.clear(n, "in"), s && Zt(this) && u.set( n, () => { - const r = $( - `hide.bs.${Vt(this.name)}` + const r = E( + `hide.bs.${se(this.name)}` ); - b(n, r), r.defaultPrevented || (this.update(), v(s, p), nn(this), o ? H(s, () => sn(this)) : sn(this)); + b(n, r), r.defaultPrevented || (this.update(), v(s, p), an(this), o ? S(s, () => cn(this)) : cn(this)); }, i + 17, "out" ); } update = () => { - ss(this); + os(this); }; toggle = () => { const { tooltip: t } = this; - t && !Qt(this) ? this.show() : this.hide(); + t && !Zt(this) ? this.show() : this.hide(); }; enable() { const { enabled: t } = this; @@ -1555,7 +1544,7 @@ class vs extends st { } disable() { const { tooltip: t, enabled: s } = this; - s && (t && Qt(this) && this.hide(), this._toggleEventListeners(), this.enabled = !s); + s && (t && Zt(this) && this.hide(), this._toggleEventListeners(), this.enabled = !s); } toggleEnabled() { this.enabled ? this.disable() : this.enable(); @@ -1576,35 +1565,35 @@ class vs extends st { * @param add when `true`, event listeners are added */ _toggleEventListeners = (t) => { - const s = t ? N : M, { element: n, options: o, btn: i } = this, { trigger: r } = o, a = !!(this.name !== Pt && o.dismissible); - r.includes("manual") || (this.enabled = !!t, r.split(" ").forEach((d) => { - d === Bo ? (s(n, yn, this.handleShow), s(n, ye, this.handleShow), a || (s(n, rs, this.handleHide), s( + const s = t ? L : O, { element: n, options: o, btn: i } = this, { trigger: r } = o, a = !!(this.name !== _t && o.dismissible); + r.includes("manual") || (this.enabled = !!t, r.split(" ").forEach((f) => { + f === Wo ? (s(n, xn, this.handleShow), s(n, Ce, this.handleShow), a || (s(n, ls, this.handleHide), s( w(n), - cs, + ds, this.handleTouch, ee - ))) : d === I ? s(n, d, a ? this.handleShow : this.toggle) : d === os && (s(n, is, this.handleShow), a || s(n, Tn, this.handleHide), Xo() && s(n, I, this.handleFocus)), a && i && s(i, I, this.handleHide); + ))) : f === I ? s(n, f, a ? this.handleShow : this.toggle) : f === cs && (s(n, as, this.handleShow), a || s(n, Cn, this.handleHide), Xo() && s(n, I, this.handleFocus)), a && i && s(i, I, this.handleHide); })); }; dispose() { const { tooltip: t, options: s } = this, n = { ...this, name: this.name }, o = () => setTimeout( - () => Tr(n, () => super.dispose()), + () => xr(n, () => super.dispose()), 17 ); - s.animation && Qt(n) ? (this.options.delay = 0, this.hide(), H(t, o)) : o(); + s.animation && Zt(n) ? (this.options.delay = 0, this.hide(), S(t, o)) : o(); } } -const yr = `[${nt}="${kt}"],[data-tip="${kt}"]`, Cr = ct({}, ns, { - template: wo(kt), +const Sr = `[${ot}="${Ht}"],[data-tip="${Ht}"]`, _r = at({}, is, { + template: To(Ht), content: "", dismissible: !1, btnClose: '' -}), xr = (e) => j(e, ms), Sr = (e) => new So(e); -class So extends vs { - static selector = yr; - static init = Sr; - static getInstance = xr; - static styleTip = ss; +}), Ar = (e) => F(e, ws), Dr = (e) => new Ao(e); +class Ao extends Es { + static selector = Sr; + static init = Dr; + static getInstance = Ar; + static styleTip = os; /** * @param target the target element * @param config the instance options @@ -1616,201 +1605,220 @@ class So extends vs { * Returns component name string. */ get name() { - return ms; + return ws; } /** * Returns component default options. */ get defaults() { - return Cr; + return _r; } show = () => { super.show(); const { options: t, btn: s } = this; - t.dismissible && s && setTimeout(() => at(s), 17); + t.dismissible && s && setTimeout(() => lt(s), 17); }; } -const Hr = "scrollspy", Ho = "ScrollSpy", Pr = '[data-bs-spy="scroll"]', Dr = { +const Hr = "scrollspy", Do = "ScrollSpy", Pr = '[data-bs-spy="scroll"]', Ir = "[href]", kr = { offset: 10, target: void 0 -}, Ar = (e) => j(e, Ho), kr = (e) => new Do(e), on = $(`activate.bs.${Hr}`), Ir = (e) => { +}, Lr = (e) => F(e, Do), Or = (e) => new Po(e), ln = E(`activate.bs.${Hr}`), Nr = (e) => { const { target: t, - scrollTarget: s, - options: n, - itemsLength: o, - scrollHeight: i, - element: r, - _observer: c - } = e, { offset: a } = n, l = s !== r, d = t && ls("A", t), g = w(r), E = s.scrollHeight; - if (e.scrollTop = s.scrollTop, d && (E !== i || o !== d.length)) { - let k, z, B, m; - e.items = [], e.targets = [], e.offsets = [], e.scrollHeight = E, e.maxScroll = e.scrollHeight - _r(e), Array.from(d).forEach((R) => { - k = et(R, "href"), z = k?.slice(1), B = z?.length ? g.getElementById(z) : null, B && (e.items.push(R), e.targets.push(B), m = c?.getEntry(B)?.boundingClientRect || Et(B), e.offsets.push( - (l ? m.top + e.scrollTop : B.offsetTop) - a - )); - }), e.itemsLength = e.items.length; - } -}, rn = ({ targets: e, scrollTarget: t, element: s, _observer: n }, o) => { - o ? t === s ? e?.forEach((i) => n.observe(i)) : n.observe(s) : n.disconnect(); -}, Lr = (e) => e.scrollHeight, _r = ({ element: e, scrollTarget: t }) => t !== e ? t.clientHeight : Et(e).height, Po = (e) => { - Array.from(ls("A", e)).forEach( + _itemsLength: s, + _observables: n + } = e, o = fs("A", t), i = w(t); + !o.length || s === n.size || (n.clear(), Array.from(o).forEach((r) => { + const c = X(r, "href")?.slice(1), a = c?.length ? i.getElementById(c) : null; + a && !nt(r) && e._observables.set(a, r); + }), e._itemsLength = e._observables.size); +}, Ho = (e) => { + Array.from(fs("A", e)).forEach( (t) => { - f(t, T) && v(t, T); + h(t, $) && v(t, $); } ); -}, cn = (e, t) => { +}, dn = (e, t) => { const { target: s, element: n } = e; - C(s) && Po(s), e.activeItem = t, h(t, T); - const o = []; - let i = t; - for (; i !== Tt(n); ) - i = i.parentElement, (f(i, "nav") || f(i, "dropdown-menu")) && o.push(i); - o.forEach((r) => { - const c = r.previousElementSibling; - c && !f(c, T) && h(c, T); - }), on.relatedTarget = t, b(n, on); + Ho(s), e._activeItem = t, d(t, $); + let o = t; + for (; o !== s; ) + if (o = o.parentElement, ["nav", "dropdown-menu", "list-group"].some( + (i) => h(o, i) + )) { + const i = o.previousElementSibling; + i && !h(i, $) && d(i, $); + } + ln.relatedTarget = t, b(n, ln); +}, Ke = (e, t) => { + const { scrollTarget: s, element: n, options: o } = e; + return (s !== n ? It(t).top + s.scrollTop : t.offsetTop) - (o.offset || 10); }; -class Do extends st { +class Po extends st { static selector = Pr; - static init = kr; - static getInstance = Ar; + static init = Or; + static getInstance = Lr; /** * @param target the target element * @param config the instance options */ constructor(t, s) { super(t, s); - const { element: n, options: o } = this, i = S( + const { element: n, options: o } = this, i = x( o.target, w(n) ); - i && (this.target = i, this.scrollTarget = n.clientHeight < n.scrollHeight ? n : lt(n), this.scrollHeight = Lr(this.scrollTarget), this.refresh(), this._observer = new $o((r) => { - requestAnimationFrame(() => { - r.some((c) => c.isVisible) && this.refresh(); - }); + i && (this.target = i, this.scrollTarget = n.clientHeight < n.scrollHeight ? n : dt(n), this._observables = /* @__PURE__ */ new Map(), this.refresh(), this._observer = new yo(() => { + requestAnimationFrame(() => this.refresh()); }, { root: this.scrollTarget - }), rn(this, !0)); + }), this._toggleEventListeners(!0)); } /** * Returns component name string. */ get name() { - return Ho; + return Do; } /** * Returns component default options. */ get defaults() { - return Dr; + return kr; } refresh = () => { - const { target: t } = this; - if (!C(t) || t.offsetHeight === 0) return; - Ir(this); - const { scrollTop: s, maxScroll: n, itemsLength: o, items: i, activeItem: r } = this; - if (s >= n) { - const a = i[o - 1]; - r !== a && cn(this, a); + const { target: t, scrollTarget: s } = this; + if (!t || t.offsetHeight === 0) return; + Nr(this); + const { _itemsLength: n, _observables: o, _activeItem: i } = this; + if (!n) return; + const r = o.entries().toArray(), { scrollTop: c, scrollHeight: a, clientHeight: l } = s; + if (c >= a - l) { + const g = r[n - 1]?.[1]; + i !== g && dn(this, g); return; } - const { offsets: c } = this; - if (r && s < c[0] && c[0] > 0) { - this.activeItem = null, t && Po(t); + const f = r[0]?.[0] ? Ke(this, r[0][0]) : null; + if (f !== null && c < f && f > 0) { + this._activeItem = null, Ho(t); return; } - i.forEach((a, l) => { - r !== a && s >= c[l] && (typeof c[l + 1] > "u" || s < c[l + 1]) && cn(this, a); - }); + for (let g = 0; g < n; g += 1) { + const [T, M] = r[g], q = Ke(this, T), Z = r[g + 1]?.[0], m = Z ? Ke(this, Z) : null; + if (i !== M && c >= q && (m === null || c < m)) { + dn(this, M); + break; + } + } + }; + /** + * This method provides an event handle + * for scrollspy + * @param e the event listener object + */ + _scrollTo = (t) => { + const s = P(t.target, Ir), n = s && X(s, "href")?.slice(1), o = n && hi(n, this.target); + o && (this.scrollTarget.scrollTo({ + top: o.offsetTop, + behavior: "smooth" + }), t.preventDefault()); + }; + /** + * Toggles on/off the component observer. + * + * @param self the ScrollSpy instance + * @param add when `true`, listener is added + */ + _toggleEventListeners = (t) => { + const { target: s, _observables: n, _observer: o, _scrollTo: i } = this; + (t ? L : O)(s, I, i), t ? n?.forEach((c, a) => o.observe(a)) : o.disconnect(); }; dispose() { - const t = { ...this }; - rn(t), super.dispose(); + this._toggleEventListeners(), super.dispose(); } } -const de = "tab", Ao = "Tab", an = `[${nt}="${de}"]`, ko = (e) => j(e, Ao), Or = (e) => new Io(e), ze = $( - `show.bs.${de}` -), ln = $( - `shown.bs.${de}` -), Ve = $( - `hide.bs.${de}` -), dn = $( - `hidden.bs.${de}` -), oe = /* @__PURE__ */ new Map(), hn = (e) => { +const he = "tab", Io = "Tab", rs = `[${ot}="${he}"]`, ko = (e) => F(e, Io), Mr = (e) => new Lo(e), Ve = E( + `show.bs.${he}` +), hn = E( + `shown.bs.${he}` +), qe = E( + `hide.bs.${he}` +), fn = E( + `hidden.bs.${he}` +), ie = /* @__PURE__ */ new Map(), gn = (e) => { const { tabContent: t, nav: s } = e; - t && f(t, Lt) && (t.style.height = "", v(t, Lt)), s && u.clear(s); -}, fn = (e) => { - const { element: t, tabContent: s, content: n, nav: o } = e, { tab: i } = C(o) && oe.get(o) || { tab: null }; - if (s && n && f(n, O)) { - const { currentHeight: r, nextHeight: c } = oe.get(t) || { currentHeight: 0, nextHeight: 0 }; + t && h(t, kt) && (t.style.height = "", v(t, kt)), s && u.clear(s); +}, un = (e) => { + const { element: t, tabContent: s, content: n, nav: o } = e, { tab: i } = A(o) && ie.get(o) || { tab: null }; + if (s && n && h(n, N)) { + const { currentHeight: r, nextHeight: c } = ie.get(t) || { currentHeight: 0, nextHeight: 0 }; r !== c ? setTimeout(() => { - s.style.height = `${c}px`, Ot(s), H(s, () => hn(e)); - }, 50) : hn(e); + s.style.height = `${c}px`, Ot(s), S(s, () => gn(e)); + }, 50) : gn(e); } else o && u.clear(o); - ln.relatedTarget = i, b(t, ln); -}, gn = (e) => { - const { element: t, content: s, tabContent: n, nav: o } = e, { tab: i, content: r } = o && oe.get(o) || { tab: null, content: null }; + hn.relatedTarget = i, b(t, hn); +}, pn = (e) => { + const { element: t, content: s, tabContent: n, nav: o } = e, { tab: i, content: r } = o && ie.get(o) || { tab: null, content: null }; let c = 0; - if (n && s && f(s, O) && ([r, s].forEach((a) => { - a && h(a, "overflow-hidden"); - }), c = r ? r.scrollHeight : 0), ze.relatedTarget = i, dn.relatedTarget = t, b(t, ze), !ze.defaultPrevented) { - if (s && h(s, T), r && v(r, T), n && s && f(s, O)) { + if (n && s && h(s, N) && ([r, s].forEach((a) => { + a && d(a, "overflow-hidden"); + }), c = r ? r.scrollHeight : 0), Ve.relatedTarget = i, fn.relatedTarget = t, b(t, Ve), !Ve.defaultPrevented) { + if (s && d(s, $), r && v(r, $), n && s && h(s, N)) { const a = s.scrollHeight; - oe.set(t, { + ie.set(t, { currentHeight: c, nextHeight: a, tab: null, content: null - }), h(n, Lt), n.style.height = `${c}px`, Ot(n), [r, s].forEach((l) => { + }), d(n, kt), n.style.height = `${c}px`, Ot(n), [r, s].forEach((l) => { l && v(l, "overflow-hidden"); }); } - s && s && f(s, O) ? setTimeout(() => { - h(s, p), H(s, () => { - fn(e); + s && s && h(s, N) ? setTimeout(() => { + d(s, p), S(s, () => { + un(e); }); - }, 1) : (s && h(s, p), fn(e)), i && b(i, dn); + }, 1) : (s && d(s, p), un(e)), i && b(i, fn); } -}, un = (e) => { +}, mn = (e) => { const { nav: t } = e; - if (!C(t)) + if (!A(t)) return { tab: null, content: null }; - const s = it( - T, + const s = rt( + $, t ); let n = null; - s.length === 1 && !_t.some( - (i) => f(s[0].parentElement, i) + s.length === 1 && !Lt.some( + (i) => h(s[0].parentElement, i) ) ? [n] = s : s.length > 1 && (n = s[s.length - 1]); - const o = C(n) ? q(n) : null; + const o = A(n) ? z(n) : null; return { tab: n, content: o }; -}, pn = (e) => { - if (!C(e)) return null; - const t = _(e, `.${_t.join(",.")}`); - return t ? S(`.${_t[0]}-toggle`, t) : null; -}, Nr = (e) => { - const t = ko(e.target); - e.preventDefault(), t && t.show(); +}, vn = (e) => { + if (!A(e)) return null; + const t = P(e, `.${Lt.join(",.")}`); + return t ? x(`.${Lt[0]}-toggle`, t) : null; +}, Br = (e) => { + const t = P(e.target, rs), s = t && ko(t); + s && (e.preventDefault(), s.show()); }; -class Io extends st { - static selector = an; - static init = Or; +class Lo extends st { + static selector = rs; + static init = Mr; static getInstance = ko; constructor(t) { super(t); - const { element: s } = this, n = q(s); + const { element: s } = this, n = z(s); if (!n) return; - const o = _(s, ".nav"), i = _( + const o = P(s, ".nav"), i = P( n, ".tab-content" ); - this.nav = o, this.content = n, this.tabContent = i, this.dropdown = pn(s); - const { tab: r } = un(this); + this.nav = o, this.content = n, this.tabContent = i, this.dropdown = vn(s); + const { tab: r } = mn(this); if (o && !r) { - const c = S(an, o), a = c && q(c); - a && (h(c, T), h(a, p), h(a, T), L(s, _e, "true")); + const c = x(rs, o), a = c && z(c); + a && (d(c, $), d(a, p), d(a, $), k(s, Oe, "true")); } this._toggleEventListeners(!0); } @@ -1818,22 +1826,22 @@ class Io extends st { * Returns component name string. */ get name() { - return Ao; + return Io; } show() { const { element: t, content: s, nav: n, dropdown: o } = this; - if (n && u.get(n) || f(t, T)) return; - const { tab: i, content: r } = un(this); - if (n && i && oe.set(n, { tab: i, content: r, currentHeight: 0, nextHeight: 0 }), Ve.relatedTarget = t, !C(i) || (b(i, Ve), Ve.defaultPrevented)) return; - h(t, T), L(t, _e, "true"); - const c = C(i) && pn(i); - if (c && f(c, T) && v(c, T), n) { + if (n && u.get(n) || h(t, $)) return; + const { tab: i, content: r } = mn(this); + if (n && i && ie.set(n, { tab: i, content: r, currentHeight: 0, nextHeight: 0 }), qe.relatedTarget = t, !A(i) || (b(i, qe), qe.defaultPrevented)) return; + d(t, $), k(t, Oe, "true"); + const c = A(i) && vn(i); + if (c && h(c, $) && v(c, $), n) { const a = () => { - i && (v(i, T), L(i, _e, "false")), o && !f(o, T) && h(o, T); + i && (v(i, $), k(i, Oe, "false")), o && !h(o, $) && d(o, $); }; - r && (f(r, O) || s && f(s, O)) ? u.set(n, a, 1) : a(); + r && (h(r, N) || s && h(s, N)) ? u.set(n, a, 1) : a(); } - r && (v(r, p), f(r, O) ? H(r, () => gn(this)) : gn(this)); + r && (v(r, p), h(r, N) ? S(r, () => pn(this)) : pn(this)); } /** * Toggles on/off the `click` event listener. @@ -1841,54 +1849,54 @@ class Io extends st { * @param add when `true`, event listener is added */ _toggleEventListeners = (t) => { - (t ? N : M)(this.element, I, Nr); + (t ? L : O)(this.element, I, Br); }; dispose() { this._toggleEventListeners(), super.dispose(); } } -const Q = "toast", Lo = "Toast", Mr = `.${Q}`, Rr = `[${xe}="${Q}"]`, _o = `[${nt}="${Q}"]`, qt = "showing", Oo = "hide", Br = { +const Q = "toast", Oo = "Toast", Rr = `.${Q}`, Fr = `[${Se}="${Q}"]`, No = `[${ot}="${Q}"]`, qt = "showing", Mo = "hide", Wr = { animation: !0, autohide: !0, delay: 5e3 -}, bs = (e) => j(e, Lo), Fr = (e) => new No(e), mn = $( +}, Ts = (e) => F(e, Oo), jr = (e) => new Bo(e), bn = E( `show.bs.${Q}` -), Wr = $( +), zr = E( `shown.bs.${Q}` -), vn = $( +), wn = E( `hide.bs.${Q}` -), jr = $( +), Kr = E( `hidden.bs.${Q}` -), bn = (e) => { +), En = (e) => { const { element: t, options: s } = e; - v(t, qt), u.clear(t, qt), b(t, Wr), s.autohide && u.set(t, () => e.hide(), s.delay, Q); -}, wn = (e) => { + v(t, qt), u.clear(t, qt), b(t, zr), s.autohide && u.set(t, () => e.hide(), s.delay, Q); +}, Tn = (e) => { const { element: t } = e; - v(t, qt), v(t, p), h(t, Oo), u.clear(t, Q), b(t, jr); -}, zr = (e) => { - const { element: t, options: s } = e; - h(t, qt), s.animation ? (Ot(t), H(t, () => wn(e))) : wn(e); + v(t, qt), v(t, p), d(t, Mo), u.clear(t, Q), b(t, Kr); }, Vr = (e) => { + const { element: t, options: s } = e; + d(t, qt), s.animation ? (Ot(t), S(t, () => Tn(e))) : Tn(e); +}, qr = (e) => { const { element: t, options: s } = e; u.set( t, () => { - v(t, Oo), Ot(t), h(t, p), h(t, qt), s.animation ? H(t, () => bn(e)) : bn(e); + v(t, Mo), Ot(t), d(t, p), d(t, qt), s.animation ? S(t, () => En(e)) : En(e); }, 17, qt ); -}, Kr = (e) => { - const { target: t } = e, s = t && _(t, _o), n = s && q(s), o = n && bs(n); +}, Yr = (e) => { + const { target: t } = e, s = t && P(t, No), n = s && z(s), o = n && Ts(n); o && (s && s.tagName === "A" && e.preventDefault(), o.relatedTarget = s, o.show()); -}, qr = (e) => { - const t = e.target, s = bs(t), { type: n, relatedTarget: o } = e; - !s || t === o || t.contains(o) || ([ye, is].includes(n) ? u.clear(t, Q) : u.set(t, () => s.hide(), s.options.delay, Q)); +}, Ur = (e) => { + const t = e.target, s = Ts(t), { type: n, relatedTarget: o } = e; + !s || t === o || t.contains(o) || ([Ce, as].includes(n) ? u.clear(t, Q) : u.set(t, () => s.hide(), s.options.delay, Q)); }; -class No extends st { - static selector = Mr; - static init = Fr; - static getInstance = bs; +class Bo extends st { + static selector = Rr; + static init = jr; + static getInstance = Ts; /** * @param target the target `.toast` element * @param config the instance options @@ -1896,40 +1904,40 @@ class No extends st { constructor(t, s) { super(t, s); const { element: n, options: o } = this; - o.animation && !f(n, O) ? h(n, O) : !o.animation && f(n, O) && v(n, O), this.dismiss = S(Rr, n), this.triggers = [ - ...U( - _o, + o.animation && !h(n, N) ? d(n, N) : !o.animation && h(n, N) && v(n, N), this.dismiss = x(Fr, n), this.triggers = [ + ...Y( + No, w(n) ) ].filter( - (i) => q(i) === n + (i) => z(i) === n ), this._toggleEventListeners(!0); } /** * Returns component name string. */ get name() { - return Lo; + return Oo; } /** * Returns component default options. */ get defaults() { - return Br; + return Wr; } /** * Returns *true* when toast is visible. */ get isShown() { - return f(this.element, p); + return h(this.element, p); } show = () => { const { element: t, isShown: s } = this; - !t || s || (b(t, mn), mn.defaultPrevented || Vr(this)); + !t || s || (b(t, bn), bn.defaultPrevented || qr(this)); }; hide = () => { const { element: t, isShown: s } = this; - !t || !s || (b(t, vn), vn.defaultPrevented || zr(this)); + !t || !s || (b(t, wn), wn.defaultPrevented || Vr(this)); }; /** * Toggles on/off the `click` event listener. @@ -1937,72 +1945,72 @@ class No extends st { * @param add when `true`, it will add the listener */ _toggleEventListeners = (t) => { - const s = t ? N : M, { element: n, triggers: o, dismiss: i, options: r, hide: c } = this; - i && s(i, I, c), r.autohide && [is, Tn, ye, rs].forEach( - (a) => s(n, a, qr) - ), o.length && o.forEach( - (a) => s(a, I, Kr) - ); + const s = t ? L : O, { element: n, triggers: o, dismiss: i, options: r, hide: c } = this; + i && s(i, I, c), r.autohide && [as, Cn, Ce, ls].forEach( + (a) => s(n, a, Ur) + ), o.length && o.forEach((a) => { + nt(a) || s(a, I, Yr); + }); }; dispose() { const { element: t, isShown: s } = this; this._toggleEventListeners(), u.clear(t, Q), s && v(t, p), super.dispose(); } } -const ws = /* @__PURE__ */ new Map(); +const $s = /* @__PURE__ */ new Map(); [ - _n, Nn, Bn, - jn, - Un, - uo, - bo, - So, - Do, - Io, - No, - vs -].forEach((e) => ws.set(e.prototype.name, e)); + Wn, + Kn, + Qn, + mo, + Eo, + Ao, + Po, + Lo, + Bo, + Es +].forEach((e) => $s.set(e.prototype.name, e)); const Xr = (e, t) => { [...t].forEach((s) => e(s)); -}, Yr = (e, t) => { - const s = Dt.getAllFor(e); +}, Gr = (e, t) => { + const s = At.getAllFor(e); s && [...s].forEach(([n, o]) => { t.contains(n) && o.dispose(); }); -}, En = (e) => { - const t = e && e.nodeName ? e : document, s = [...ls("*", t)]; - ws.forEach((n) => { +}, $n = (e) => { + const t = e && e.nodeName ? e : document, s = [...fs("*", t)]; + $s.forEach((n) => { const { init: o, selector: i } = n; Xr( o, - s.filter((r) => Dn(r, i)) + s.filter((r) => Pn(r, i)) ); }); -}, Ur = (e) => { +}, Qr = (e) => { const t = e && e.nodeName ? e : document; - ws.forEach((s) => { - Yr(s.prototype.name, t); + $s.forEach((s) => { + Gr(s.prototype.name, t); }); }; -document.body ? En() : N(document, "DOMContentLoaded", () => En(), { +document.body ? $n() : L(document, "DOMContentLoaded", () => $n(), { once: !0 }); export { - _n as Alert, - Nn as Button, - Bn as Carousel, - jn as Collapse, - Un as Dropdown, - uo as Modal, - bo as Offcanvas, - So as Popover, - Do as ScrollSpy, - Io as Tab, - No as Toast, - vs as Tooltip, - En as initCallback, - Ur as removeDataAPI + Nn as Alert, + Bn as Button, + Wn as Carousel, + Kn as Collapse, + Qn as Dropdown, + mo as Modal, + Eo as Offcanvas, + Ao as Popover, + Po as ScrollSpy, + Lo as Tab, + Bo as Toast, + Es as Tooltip, + $n as initCallback, + Qr as removeDataAPI }; //# sourceMappingURL=bootstrap-native.mjs.map diff --git a/dist/bootstrap-native.mjs.map b/dist/bootstrap-native.mjs.map index 64a36874..a1b607fa 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@https+++codeload.github.com+thednp+shorty+tar.gz+309d581b370f747cb15531ca6c201def3827e05c/node_modules/@thednp/shorty/dist/shorty.mjs","../node_modules/.pnpm/@thednp+event-listener@2.0.8/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","../node_modules/.pnpm/@thednp+position-observer@https+++codeload.github.com+thednp+position-observer+tar.gz+d693d53_hyk7lpzuqi6vnifksl6nzudy5a/node_modules/@thednp/position-observer/dist/index.mjs","../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 Ce = \"2.0.8\", Le = \"aria-checked\", Me = \"aria-description\", De = \"aria-describedby\", Oe = \"aria-expanded\", xe = \"aria-haspopup\", $ = \"aria-hidden\", ze = \"aria-label\", Ie = \"aria-labelledby\", Pe = \"aria-modal\", Be = \"aria-pressed\", Fe = \"aria-selected\", He = \"aria-valuemin\", Ve = \"aria-valuemax\", Ue = \"aria-valuenow\", We = \"aria-valuetext\", J = \"abort\", X = \"beforeunload\", tt = \"blur\", et = \"change\", nt = \"contextmenu\", V = \"DOMContentLoaded\", ot = \"DOMMouseScroll\", st = \"error\", rt = \"focus\", ct = \"focusin\", at = \"focusout\", it = \"gesturechange\", ut = \"gestureend\", lt = \"gesturestart\", dt = \"keydown\", ft = \"keypress\", pt = \"keyup\", gt = \"load\", mt = \"click\", vt = \"dblclick\", bt = \"mousedown\", Et = \"mouseup\", ht = \"hover\", yt = \"mouseenter\", wt = \"mouseleave\", At = \"mousein\", St = \"mouseout\", Tt = \"mouseover\", kt = \"mousemove\", Nt = \"mousewheel\", Ct = \"move\", Lt = \"orientationchange\", Mt = \"pointercancel\", Dt = \"pointerdown\", Ot = \"pointerleave\", xt = \"pointermove\", zt = \"pointerup\", It = \"readystatechange\", Pt = \"reset\", Bt = \"resize\", Ft = \"select\", Ht = \"selectend\", Vt = \"selectstart\", Ut = \"scroll\", Wt = \"submit\", Rt = \"touchstart\", Qt = \"touchmove\", jt = \"touchcancel\", Gt = \"touchend\", Kt = \"unload\", Re = {\n DOMContentLoaded: V,\n DOMMouseScroll: ot,\n abort: J,\n beforeunload: X,\n blur: tt,\n change: et,\n click: mt,\n contextmenu: nt,\n dblclick: vt,\n error: st,\n focus: rt,\n focusin: ct,\n focusout: at,\n gesturechange: it,\n gestureend: ut,\n gesturestart: lt,\n hover: ht,\n keydown: dt,\n keypress: ft,\n keyup: pt,\n load: gt,\n mousedown: bt,\n mousemove: kt,\n mousein: At,\n mouseout: St,\n mouseenter: yt,\n mouseleave: wt,\n mouseover: Tt,\n mouseup: Et,\n mousewheel: Nt,\n move: Ct,\n orientationchange: Lt,\n pointercancel: Mt,\n pointerdown: Dt,\n pointerleave: Ot,\n pointermove: xt,\n pointerup: zt,\n readystatechange: It,\n reset: Pt,\n resize: Bt,\n scroll: Ut,\n select: Ft,\n selectend: Ht,\n selectstart: Vt,\n submit: Wt,\n touchcancel: jt,\n touchend: Gt,\n touchmove: Qt,\n touchstart: Rt,\n unload: Kt\n}, Qe = \"drag\", je = \"dragstart\", Ge = \"dragenter\", Ke = \"dragleave\", qe = \"dragover\", Ze = \"dragend\", Ye = \"loadstart\", _e = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, $e = { down: \"mousedown\", up: \"mouseup\" }, Je = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"], Xe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, tn = { in: \"focusin\", out: \"focusout\" }, qt = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]', en = {\n Backspace: \"Backspace\",\n Tab: \"Tab\",\n Enter: \"Enter\",\n Shift: \"Shift\",\n Control: \"Control\",\n Alt: \"Alt\",\n Pause: \"Pause\",\n CapsLock: \"CapsLock\",\n Escape: \"Escape\",\n Scape: \"Space\",\n ArrowLeft: \"ArrowLeft\",\n ArrowUp: \"ArrowUp\",\n ArrowRight: \"ArrowRight\",\n ArrowDown: \"ArrowDown\",\n Insert: \"Insert\",\n Delete: \"Delete\",\n Meta: \"Meta\",\n ContextMenu: \"ContextMenu\",\n ScrollLock: \"ScrollLock\"\n}, nn = \"Alt\", on = \"ArrowDown\", sn = \"ArrowUp\", rn = \"ArrowLeft\", cn = \"ArrowRight\", an = \"Backspace\", un = \"CapsLock\", ln = \"Control\", dn = \"Delete\", fn = \"Enter\", pn = \"NumpadEnter\", gn = \"Escape\", mn = \"Insert\", vn = \"Meta\", bn = \"Pause\", En = \"ScrollLock\", hn = \"Shift\", yn = \"Space\", wn = \"Tab\", Zt = \"animationDuration\", Yt = \"animationDelay\", U = \"animationName\", L = \"animationend\", _t = \"transitionDuration\", $t = \"transitionDelay\", M = \"transitionend\", W = \"transitionProperty\", An = \"addEventListener\", Sn = \"removeEventListener\", Tn = {\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}, kn = \"offsetHeight\", Nn = \"offsetWidth\", Cn = \"scrollHeight\", Ln = \"scrollWidth\", Mn = \"tabindex\", Dn = navigator.userAgentData, { userAgent: Jt } = navigator, On = Jt, xn = () => {\n const t = /iPhone|iPad|iPod|Android/i;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(navigator?.userAgent) || !1;\n}, zn = () => {\n const t = /(iPhone|iPod|iPad)/;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(\n navigator?.userAgent\n ) || !1;\n}, In = () => navigator?.userAgent?.includes(\"Firefox\") || !1, Xt = () => typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\"), Pn = () => [\"webkitPerspective\", \"perspective\"].some((t) => t in document.head.style), te = () => {\n}, R = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(\n e,\n n,\n s\n );\n}, Q = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(\n e,\n n,\n s\n );\n}, ee = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Q(t, e, s, o));\n };\n R(t, e, s, o);\n}, Bn = () => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n ee(document, V, te, e);\n } catch {\n }\n return t;\n}, Fn = () => [\"webkitTransform\", \"transform\"].some((t) => t in document.head.style), Hn = () => \"ontouchstart\" in window || \"msMaxTouchPoints\" in navigator, Vn = () => [\"webkitAnimation\", \"animation\"].some((t) => t in document.head.style), Un = () => [\"webkitTransition\", \"transition\"].some((t) => t in document.head.style), j = (t, e) => t.getAttribute(e), Wn = (t, e, n) => e.getAttributeNS(t, n), ne = (t, e) => t.hasAttribute(e), Rn = (t, e, n) => e.hasAttributeNS(t, n), Qn = (t, e, n) => t.setAttribute(e, n), jn = (t, e, n, o) => e.setAttributeNS(t, n, o), Gn = (t, e) => t.removeAttribute(e), Kn = (t, e, n) => e.removeAttributeNS(t, n), qn = (t, ...e) => {\n t.classList.add(...e);\n}, Zn = (t, ...e) => {\n t.classList.remove(...e);\n}, Yn = (t, e) => t.classList.contains(e), { body: _n } = document, { documentElement: $n } = document, { head: Jn } = document, Xn = (t) => Array.from(t), b = (t) => t != null && typeof t == \"object\" || !1, l = (t) => b(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some(\n (e) => t.nodeType === e\n) || !1, u = (t) => l(t) && t.nodeType === 1 || !1, h = /* @__PURE__ */ new Map(), O = {\n data: h,\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 h.has(e) || h.set(e, /* @__PURE__ */ new Map()), h.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) => h.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 = O.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 = O.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && h.delete(e));\n }\n}, to = (t, e) => O.get(t, e), eo = (t) => t?.charAt(0).toUpperCase() + t?.slice(1), no = (t) => t?.trim().replace(\n /(?:^\\w|[A-Z]|\\b\\w)/g,\n (e, n) => n === 0 ? e.toLowerCase() : e.toUpperCase()\n).replace(/\\s+/g, \"\"), k = (t) => typeof t == \"string\" || !1, G = (t) => b(t) && t.constructor.name === \"Window\" || !1, K = (t) => l(t) && t.nodeType === 9 || !1, d = (t) => K(t) ? t : l(t) ? t.ownerDocument : G(t) ? t.document : globalThis.document, N = (t, ...e) => Object.assign(t, ...e), oe = (t) => {\n if (!t) return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = oe(e);\n if (!n) return;\n const o = { ...t };\n return delete o.tagName, N(n, o);\n}, se = (t, e) => {\n if (!t || !e) return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = se(t, n);\n if (!o) return;\n const s = { ...e };\n return delete s.tagName, N(o, s);\n}, q = (t, e) => t.dispatchEvent(e), oo = (t, e, n) => n.indexOf(t) === e, g = (t, e, n) => {\n const o = getComputedStyle(t, n), s = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return o.getPropertyValue(s);\n}, re = (t) => {\n const e = g(t, U), n = g(t, Yt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ce = (t) => {\n const e = g(t, U), n = g(t, Zt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, so = (t, e) => {\n let n = 0;\n const o = new Event(L), s = ce(t), r = re(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(L, a), n = 1);\n };\n t.addEventListener(L, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ae = (t) => {\n const e = g(t, W), n = g(t, $t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ie = (t) => {\n const e = g(t, W), n = g(t, _t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ro = (t, e) => {\n let n = 0;\n const o = new Event(M), s = ie(t), r = ae(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(M, a), n = 1);\n };\n t.addEventListener(M, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, co = (t) => Float32Array.from(Array.from(t)), ao = (t) => Float64Array.from(Array.from(t)), io = (t, e) => t.focus(e), uo = (t) => t?.trim().replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/\\s+/g, \"-\").toLowerCase(), P = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, T = (t) => Object.entries(t), ue = (t) => t.toLowerCase(), lo = (t, e, n, o) => {\n if (!u(t)) return e;\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, i = {}, f = \"title\";\n return T(r).forEach(([c, p]) => {\n const E = o && typeof c == \"string\" && c.includes(o) ? c.replace(o, \"\").replace(\n /[A-Z]/g,\n (C) => ue(C)\n ) : c;\n i[E] = P(p);\n }), T(s).forEach(([c, p]) => {\n s[c] = P(p);\n }), T(e).forEach(([c, p]) => {\n c in s ? a[c] = s[c] : c in i ? a[c] = i[c] : a[c] = c === f ? j(t, f) : p;\n }), a;\n}, fo = (t, e) => b(t) && (Object.hasOwn(t, e) || e in t), po = (t) => Object.keys(t), go = (t) => Object.values(t), mo = (t) => Object.fromEntries(t), vo = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return b(e) && N(n, e), n;\n}, bo = { passive: !0 }, Eo = (t) => t.offsetHeight, ho = (t, e) => {\n T(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, N(t.style, s);\n }\n });\n}, x = (t) => b(t) && t.constructor.name === \"Map\" || !1, le = (t) => typeof t == \"number\" || !1, v = /* @__PURE__ */ new Map(), yo = {\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 ? (v.has(t) || v.set(t, /* @__PURE__ */ new Map()), v.get(t).set(o, setTimeout(e, n))) : v.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 = v.get(t);\n return e && n && x(n) ? n.get(e) || null : le(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 = v.get(t);\n e && e.length && x(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && v.delete(t)) : (clearTimeout(n), v.delete(t));\n }\n}, wo = (t) => t.toUpperCase(), de = (t, e) => (l(e) ? e : d()).querySelectorAll(t), z = /* @__PURE__ */ new Map();\nfunction fe(t) {\n const { shiftKey: e, code: n } = t, o = d(this), s = [\n ...de(qt, this)\n ].filter(\n (i) => !ne(i, \"disabled\") && !j(i, $)\n );\n if (!s.length) return;\n const r = s[0], a = s[s.length - 1];\n n === \"Tab\" && (e && o.activeElement === r ? (a.focus(), t.preventDefault()) : !e && o.activeElement === a && (r.focus(), t.preventDefault()));\n}\nconst pe = (t) => z.has(t) === !0, Ao = (t) => {\n const e = pe(t);\n (e ? Q : R)(t, \"keydown\", fe), e ? z.delete(t) : z.set(t, !0);\n}, m = (t) => u(t) && \"offsetWidth\" in t || !1, w = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: i } = t.getBoundingClientRect();\n let f = 1, c = 1;\n if (e && m(t)) {\n const { offsetWidth: p, offsetHeight: E } = t;\n f = p > 0 ? Math.round(n) / p : 1, c = E > 0 ? Math.round(o) / E : 1;\n }\n return {\n width: n / f,\n height: o / c,\n top: s / c,\n right: r / f,\n bottom: a / c,\n left: i / f,\n x: i / f,\n y: s / c\n };\n}, So = (t) => d(t).body, S = (t) => d(t).documentElement, To = (t) => d(t).head, ge = (t) => l(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\", ko = (t) => {\n const e = G(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, me = (t) => l(t) && t.constructor.name === \"ShadowRoot\" || !1, A = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || l(t) && t.parentNode || me(t) && t.host || S(t), ve = (t) => t ? K(t) ? t.defaultView : l(t) ? t?.ownerDocument?.defaultView : t : window, be = (t) => l(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, Ee = (t, e) => t.matches(e), D = (t) => g(t, \"position\") === \"static\", he = (t) => g(t, \"position\") === \"fixed\", Z = (t) => [\":popover-open\", \":modal\"].some((e) => {\n try {\n return Ee(t, e);\n } catch {\n return !1;\n }\n}), Y = (t) => {\n const e = Xt(), n = u(t) ? getComputedStyle(t) : t;\n return n.transform !== \"none\" || n.perspective !== \"none\" || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || [\"transform\", \"perspective\", \"filter\"].some(\n (o) => (n.willChange || \"\").includes(o)\n ) || [\"paint\", \"layout\", \"strict\", \"content\"].some(\n (o) => (n.contain || \"\").includes(o)\n );\n}, ye = (t) => {\n let e = A(t);\n for (; u(e) && !I(e); ) {\n if (Y(e))\n return e;\n if (Z(e))\n return null;\n e = A(e);\n }\n return null;\n}, I = (t) => [\"html\", \"body\", \"#document\"].includes(ge(t)), B = (t) => {\n if (!m(t) || he(t))\n return null;\n let e = t.offsetParent;\n return S(t) === e && (e = e.ownerDocument.body), e;\n}, No = (t) => {\n const e = ve(t);\n if (!l(t) || Z(t))\n return e;\n if (!m(t)) {\n let o = A(t);\n for (; o && !I(o); ) {\n if (u(o) && !D(o))\n return o;\n o = A(o);\n }\n return e;\n }\n let n = B(t);\n for (; n && be(n) && D(n); )\n n = B(n);\n return n && I(n) && D(n) && !Y(n) ? e : n || ye(t) || e;\n}, we = (t) => {\n if (!m(t)) return !1;\n const { width: e, height: n } = w(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, Co = (t, e, n) => {\n const o = m(e), s = w(\n t,\n o && we(e)\n ), r = { x: 0, y: 0 };\n if (o) {\n const a = w(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 F = 0, H = 0;\nconst y = /* @__PURE__ */ new Map(), Ae = (t, e) => {\n let n = e ? F : H;\n if (e) {\n const o = Ae(t), s = y.get(o) || /* @__PURE__ */ new Map();\n y.has(o) || y.set(o, s), x(s) && !s.has(e) ? (s.set(e, n), F += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n y.has(o) ? n = y.get(o) : (y.set(o, n), H += 1);\n }\n return n;\n}, Lo = (t) => {\n const e = [\"HTML\", \"BODY\"];\n let { parentNode: n } = t;\n if (!m(n))\n for (; n && !e.includes(n.nodeName) && (n = A(n), !m(n)); )\n ;\n const {\n offsetLeft: o,\n offsetTop: s,\n offsetParent: r\n } = n, { top: a, left: i } = n.getBoundingClientRect(), { top: f, left: c, width: p, height: E } = t.getBoundingClientRect(), C = s + (f - a), _ = o + (c - i);\n return {\n offsetTop: C,\n offsetLeft: _,\n offsetWidth: p,\n offsetHeight: E,\n offsetParent: r\n };\n}, Se = (t) => Array.isArray(t) || !1, Mo = (t) => l(t) && t.nodeName === \"CANVAS\" || !1, Te = (t) => m(t) && !!t.shadowRoot || !1, Do = (t) => {\n if (!l(t)) return !1;\n const { top: e, bottom: n } = w(t), { clientHeight: o } = S(t);\n return e <= o && n >= 0;\n}, Oo = (t) => {\n if (!u(t)) return !1;\n const { clientWidth: e, clientHeight: n } = S(t), { top: o, left: s, bottom: r, right: a } = w(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, xo = (t) => Se(t) && t.every(u) || !1, zo = (t) => typeof t == \"function\" || !1, Io = (t) => b(t) && t.constructor.name === \"HTMLCollection\" || !1, Po = (t) => m(t) && t.tagName === \"IMG\" || !1, Bo = (t) => {\n if (!k(t)) return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Fo = (t) => b(t) && t.constructor.name === \"WeakMap\" || !1, Ho = (t) => l(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some(\n (e) => t.constructor.name.includes(e)\n) || !1, Vo = (t) => b(t) && t.constructor.name === \"NodeList\" || !1, Uo = (t) => S(t).dir === \"rtl\", Wo = (t) => l(t) && t.constructor.name.includes(\"SVG\") || !1, ke = (t, e) => !t || !e ? null : t.closest(e) || ke(t.getRootNode().host, e) || null, Ro = (t, e) => u(t) ? t : (u(e) ? e : d()).querySelector(t), Ne = (t, e) => (l(e) ? e : d()).getElementsByTagName(\n t\n), Qo = (t) => [...Ne(\"*\", t)].filter(Te), jo = (t, e) => d(e).getElementById(t), Go = (t, e) => (e && l(e) ? e : d()).getElementsByClassName(\n t\n);\nexport {\n Xn as ArrayFrom,\n V as DOMContentLoadedEvent,\n ot as DOMMouseScrollEvent,\n O as Data,\n co as Float32ArrayFrom,\n ao as Float64ArrayFrom,\n N as ObjectAssign,\n T as ObjectEntries,\n mo as ObjectFromEntries,\n fo as ObjectHasOwn,\n po as ObjectKeys,\n go as ObjectValues,\n yo as Timer,\n J as abortEvent,\n qn as addClass,\n An as addEventListener,\n Yt as animationDelay,\n Zt as animationDuration,\n L as animationEndEvent,\n U as animationName,\n Le as ariaChecked,\n De as ariaDescribedBy,\n Me as ariaDescription,\n Oe as ariaExpanded,\n xe as ariaHasPopup,\n $ as ariaHidden,\n ze as ariaLabel,\n Ie as ariaLabelledBy,\n Pe as ariaModal,\n Be as ariaPressed,\n Fe as ariaSelected,\n Ve as ariaValueMax,\n He as ariaValueMin,\n Ue as ariaValueNow,\n We as ariaValueText,\n X as beforeunloadEvent,\n Tn as bezierEasings,\n tt as blurEvent,\n no as camelCase,\n eo as capitalize,\n et as changeEvent,\n ke as closest,\n nt as contextmenuEvent,\n vo as createCustomEvent,\n oe as createElement,\n se as createElementNS,\n q as dispatchEvent,\n oo as distinct,\n _n as documentBody,\n $n as documentElement,\n Jn as documentHead,\n Qe as dragEvent,\n Ze as dragendEvent,\n Ge as dragenterEvent,\n Ke as dragleaveEvent,\n qe as dragoverEvent,\n je as dragstartEvent,\n so as emulateAnimationEnd,\n ro as emulateTransitionEnd,\n st as errorEvent,\n io as focus,\n rt as focusEvent,\n tn as focusEvents,\n qt as focusableSelector,\n ct as focusinEvent,\n at as focusoutEvent,\n it as gesturechangeEvent,\n ut as gestureendEvent,\n lt as gesturestartEvent,\n j as getAttribute,\n Wn as getAttributeNS,\n w as getBoundingClientRect,\n Qo as getCustomElements,\n d as getDocument,\n So as getDocumentBody,\n S as getDocumentElement,\n To as getDocumentHead,\n re as getElementAnimationDelay,\n ce as getElementAnimationDuration,\n jo as getElementById,\n g as getElementStyle,\n ae as getElementTransitionDelay,\n ie as getElementTransitionDuration,\n Go as getElementsByClassName,\n Ne as getElementsByTagName,\n to as getInstance,\n ge as getNodeName,\n ko as getNodeScroll,\n No as getOffsetParent,\n A as getParentNode,\n Co as getRectRelativeToOffsetParent,\n Lo as getSVGOffset,\n Ae as getUID,\n ve as getWindow,\n ne as hasAttribute,\n Rn as hasAttributeNS,\n Yn as hasClass,\n pe as hasFocusTrap,\n zn as isApple,\n Se as isArray,\n Mo as isCanvas,\n Te as isCustomElement,\n K as isDocument,\n u as isElement,\n Do as isElementInScrollRange,\n Oo as isElementInViewport,\n xo as isElementsArray,\n In as isFirefox,\n zo as isFunction,\n Io as isHTMLCollection,\n m as isHTMLElement,\n Po as isHTMLImageElement,\n Bo as isJSON,\n x as isMap,\n Ho as isMedia,\n xn as isMobile,\n l as isNode,\n Vo as isNodeList,\n le as isNumber,\n b as isObject,\n Uo as isRTL,\n Wo as isSVGElement,\n we as isScaledElement,\n me as isShadowRoot,\n k as isString,\n be as isTableElement,\n Fo as isWeakMap,\n Xt as isWebKit,\n G as isWindow,\n uo as kebabCase,\n nn as keyAlt,\n on as keyArrowDown,\n rn as keyArrowLeft,\n cn as keyArrowRight,\n sn as keyArrowUp,\n an as keyBackspace,\n un as keyCapsLock,\n ln as keyControl,\n dn as keyDelete,\n fn as keyEnter,\n gn as keyEscape,\n mn as keyInsert,\n vn as keyMeta,\n pn as keyNumpadEnter,\n bn as keyPause,\n En as keyScrollLock,\n hn as keyShift,\n yn as keySpace,\n wn as keyTab,\n en as keyboardEventKeys,\n dt as keydownEvent,\n ft as keypressEvent,\n pt as keyupEvent,\n gt as loadEvent,\n Ye as loadstartEvent,\n Ee as matches,\n $e as mouseClickEvents,\n Je as mouseHoverEvents,\n _e as mouseSwipeEvents,\n mt as mouseclickEvent,\n vt as mousedblclickEvent,\n bt as mousedownEvent,\n yt as mouseenterEvent,\n ht as mousehoverEvent,\n At as mouseinEvent,\n wt as mouseleaveEvent,\n kt as mousemoveEvent,\n St as mouseoutEvent,\n Tt as mouseoverEvent,\n Et as mouseupEvent,\n Nt as mousewheelEvent,\n Ct as moveEvent,\n Re as nativeEvents,\n te as noop,\n lo as normalizeOptions,\n P as normalizeValue,\n Q as off,\n kn as offsetHeight,\n Nn as offsetWidth,\n R as on,\n ee as one,\n Lt as orientationchangeEvent,\n bo as passiveHandler,\n Mt as pointercancelEvent,\n Dt as pointerdownEvent,\n Ot as pointerleaveEvent,\n xt as pointermoveEvent,\n zt as pointerupEvent,\n Ro as querySelector,\n de as querySelectorAll,\n It as readystatechangeEvent,\n Eo as reflow,\n Gn as removeAttribute,\n Kn as removeAttributeNS,\n Zn as removeClass,\n Sn as removeEventListener,\n Pt as resetEvent,\n Bt as resizeEvent,\n Ut as scrollEvent,\n Cn as scrollHeight,\n Ln as scrollWidth,\n Ft as selectEvent,\n Ht as selectendEvent,\n Vt as selectstartEvent,\n Qn as setAttribute,\n jn as setAttributeNS,\n ho as setElementStyle,\n Wt as submitEvent,\n Pn as support3DTransform,\n Vn as supportAnimation,\n Bn as supportPassive,\n Hn as supportTouch,\n Fn as supportTransform,\n Un as supportTransition,\n Mn as tabindex,\n ue as toLowerCase,\n wo as toUpperCase,\n Ao as toggleFocusTrap,\n Xe as touchEvents,\n jt as touchcancelEvent,\n Gt as touchendEvent,\n Qt as touchmoveEvent,\n Rt as touchstartEvent,\n $t as transitionDelay,\n _t as transitionDuration,\n M as transitionEndEvent,\n W as transitionProperty,\n Kt as unloadEvent,\n On as userAgent,\n Dn as userAgentData,\n Ce as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const g = \"2.0.8\", e = {}, f = (t) => {\n const { type: n, currentTarget: c } = t;\n e[n].forEach((a, s) => {\n c === s && a.forEach((o, i) => {\n i.apply(s, [t]), typeof o == \"object\" && o.once && r(s, n, i, o);\n });\n });\n}, E = (t, n, c, a) => {\n e[n] || (e[n] = /* @__PURE__ */ new Map());\n const s = e[n];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(\n t\n ), { size: i } = o;\n o.set(c, a), i || t.addEventListener(\n n,\n f,\n a\n );\n}, r = (t, n, c, a) => {\n const s = e[n], o = s && s.get(t), i = o && o.get(c), d = i !== void 0 ? i : a;\n o && o.has(c) && o.delete(c), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[n], (!o || !o.size) && t.removeEventListener(\n n,\n f,\n d\n );\n}, M = E, p = r;\nexport {\n E as addListener,\n f as globalListener,\n p as off,\n M as on,\n e as registry,\n r as removeListener,\n g as version\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 {\n Data,\n isElement,\n isString,\n normalizeOptions,\n ObjectKeys,\n querySelector,\n} 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: Element;\n declare options?: BaseOptions;\n\n /**\n * @param target `Element` or selector string\n * @param config component instance options\n */\n constructor(target: Element | string, config?: BaseOptions) {\n let element: Element | null;\n\n try {\n if (isElement(target)) {\n element = target as Element;\n } else if (isString(target)) {\n element = querySelector(target);\n // istanbul ignore else @preserve\n if (!element) throw Error(`\"${target}\" is not a valid selector.`);\n } else {\n throw Error(`your target is not an instance of HTMLElement.`);\n }\n } catch (e) {\n throw Error(`${this.name} Error: ${(e as Error).message}`);\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else @preserve */\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 = this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, \"bs\")\n // istanbul ignore next @preserve\n : {};\n\n Data.set(element, this.name, this);\n }\n\n // istanbul ignore next @preserve\n get version() {\n return Version;\n }\n\n // istanbul ignore next @preserve\n get name() {\n return \"BaseComponent\";\n }\n\n // istanbul ignore next @preserve\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n // istanbul ignore next @preserve coverage wise this isn't important\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 createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getInstance,\n hasClass,\n mouseclickEvent,\n querySelector,\n removeClass,\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 */\nconst getAlertInstance = (element: Element) =>\n getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: Element) => new Alert(element);\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent, AlertEvent>(\n `close.bs.${alertString}`,\n);\nconst closedAlertEvent = createCustomEvent, AlertEvent>(\n `closed.bs.${alertString}`,\n);\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: Element | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(\n alertDismissSelector,\n this.element,\n );\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 @preserve\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 @preserve\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 addClass,\n ariaPressed,\n getAttribute,\n getInstance,\n hasClass,\n mouseclickEvent,\n removeClass,\n setAttribute,\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: Element) =>\n getInstance',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n */\nconst getPopoverInstance = (element: Element) =>\n getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: Element) => 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: Element | 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 @preserve\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 addClass,\n createCustomEvent,\n dispatchEvent,\n getAttribute,\n getBoundingClientRect,\n getDocument,\n getDocumentBody,\n getDocumentElement,\n getElementsByTagName,\n getInstance,\n hasClass,\n isHTMLElement,\n querySelector,\n removeClass,\n} from \"@thednp/shorty\";\n\nimport PositionObserver from \"@thednp/position-observer\";\n\nimport activeClass from \"../strings/activeClass\";\nimport scrollspyString from \"../strings/scrollspyString\";\nimport scrollspyComponent from \"../strings/scrollspyComponent\";\n\nimport BaseComponent from \"./base-component\";\nimport { ScrollSpyEvent, ScrollSpyOptions } from \"../interface/scrollspy\";\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: Partial = {\n offset: 10,\n target: undefined,\n};\n\ntype ScrollSpyEventProps = {\n relatedTarget: HTMLElement;\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: Element) =>\n getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: Element) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent<\n ScrollSpyEventProps,\n ScrollSpyEvent\n>(`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 {\n target,\n scrollTarget,\n options,\n itemsLength,\n scrollHeight,\n element,\n _observer,\n } = self;\n const { offset } = options;\n const isRoot = scrollTarget !== element;\n\n const links = target && getElementsByTagName(\"A\", target);\n const doc = getDocument(element);\n const scrollHEIGHT = scrollTarget.scrollHeight;\n\n self.scrollTop = scrollTarget.scrollTop;\n\n // only update items/offsets once or with each mutation\n // istanbul ignore else @preserve\n if (\n links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)\n ) {\n let href: string | null;\n let ref: string | undefined;\n let targetItem: HTMLElement | null;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.targets = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n Array.from(links).forEach((link) => {\n href = getAttribute(link, \"href\");\n ref = href?.slice(1);\n targetItem = ref?.length ? doc.getElementById(ref) : null;\n\n if (targetItem) {\n self.items.push(link);\n self.targets.push(targetItem);\n rect = _observer?.getEntry(targetItem)?.boundingClientRect ||\n getBoundingClientRect(targetItem);\n self.offsets.push(\n (isRoot ? rect.top + self.scrollTop : targetItem.offsetTop) - offset,\n );\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Toggles on/off the component observer.\n *\n * @param self the ScrollSpy instance\n * @param add when `true`, listener is added\n */\nconst toggleObservers = (\n { targets, scrollTarget, element, _observer }: ScrollSpy,\n add?: boolean,\n) => {\n if (add) {\n if (scrollTarget === element) {\n targets?.forEach((targetItem) => _observer.observe(targetItem));\n } else {\n _observer.observe(element);\n }\n } else _observer.disconnect();\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: Element) => {\n return scrollTarget.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 scrollTarget !== element\n ? scrollTarget.clientHeight\n : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: Element) => {\n Array.from(getElementsByTagName(\"A\", target)).forEach(\n (item) => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n },\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\n // istanbul ignore else @preserve\n if (isHTMLElement(target)) clear(target);\n\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\")) {\n parents.push(parentItem);\n }\n }\n\n parents.forEach((menuItem) => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n // istanbul ignore else @preserve\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 element: HTMLElement;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare targets: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n declare _observer: PositionObserver;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(\n target: Element | string,\n config?: Partial,\n ) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // get target\n const spyTarget = querySelector(\n options.target,\n getDocument(element),\n );\n\n // invalidate\n if (!spyTarget) return;\n this.target = spyTarget;\n\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight\n ? element\n : getDocumentElement(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // run an initial burst, we need to know the targets\n this.refresh();\n\n // create observer\n this._observer = new PositionObserver((entries) => {\n requestAnimationFrame(() => {\n // istanbul ignore else @preserve\n if (entries.some((entry) => entry.isVisible)) {\n this.refresh();\n }\n });\n }, {\n root: this.scrollTarget,\n });\n\n // add event handlers\n toggleObservers(this, true);\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 // check if target is visible and invalidate\n // istanbul ignore if @preserve\n if (!isHTMLElement(target) || target.offsetHeight === 0) return;\n\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 @preserve\n if (activeItem !== newActiveItem) activate(this, newActiveItem);\n return;\n }\n\n const { offsets } = this;\n\n // istanbul ignore else @preserve\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n // istanbul ignore else @preserve\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 /** Removes `ScrollSpy` from the target element. */\n dispose() {\n const clone = { ...this };\n toggleObservers(clone);\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 addClass,\n ariaSelected,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getElementsByClassName,\n getInstance,\n hasClass,\n isHTMLElement,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n reflow,\n removeClass,\n setAttribute,\n Timer,\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: Element) =>\n getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: Element) => new Tab(element);\n\ntype TabEventProps = {\n relatedTarget: Element & EventTarget | undefined;\n};\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(\n `show.bs.${tabString}`,\n);\nconst shownTabEvent = createCustomEvent(\n `shown.bs.${tabString}`,\n);\nconst hideTabEvent = createCustomEvent(\n `hide.bs.${tabString}`,\n);\nconst hiddenTabEvent = createCustomEvent(\n `hidden.bs.${tabString}`,\n);\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 @preserve\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = \"\";\n removeClass(tabContent, collapsingClass);\n }\n\n // istanbul ignore else @preserve\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)) ||\n // istanbul ignore next @preserve\n { tab: null };\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) ||\n // istanbul ignore next @preserve\n { currentHeight: 0, nextHeight: 0 };\n // istanbul ignore else @preserve: vitest won't validate this branch\n if (currentHeight !== nextHeight) {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n } else {\n triggerTabEnd(self);\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)) ||\n // istanbul ignore next @preserve\n { tab: null, content: null };\n let currentHeight = 0;\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\n if (c) addClass(c, \"overflow-hidden\");\n });\n currentHeight = content\n ? content.scrollHeight\n : /* istanbul ignore next @preserve */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element as HTMLElement;\n dispatchEvent(element, showTabEvent);\n\n // istanbul ignore if @preserve\n if (showTabEvent.defaultPrevented) return;\n // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, activeClass);\n // istanbul ignore else @preserve\n if (content) removeClass(content, activeClass);\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, {\n currentHeight,\n nextHeight,\n tab: null,\n content: null,\n });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\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 // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n // istanbul ignore else @preserve\n if (tab) dispatchEvent(tab, hiddenTabEvent);\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 = (\n self: Tab,\n): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n // istanbul ignore next @preserve\n if (!isHTMLElement(nav)) {\n return { tab: null, content: null };\n }\n\n const activeTabs = getElementsByClassName(\n activeClass,\n nav,\n );\n let tab: HTMLElement | null = null;\n // istanbul ignore else @preserve\n if (\n activeTabs.length === 1 &&\n !dropdownClasses.some((c) =>\n hasClass(activeTabs[0].parentElement as HTMLElement, c)\n )\n ) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab) ? getTargetElement(tab) : 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) => {\n // istanbul ignore next @preserve\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(\",.\")}`);\n return dropdown\n ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown)\n : 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: MouseEvent) => {\n const self = getTabInstance(e.target);\n e.preventDefault();\n\n // istanbul ignore else @preserve\n if (self) self.show();\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 element: HTMLElement;\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: Element | 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 @preserve\n if (!content) return;\n\n const nav = closest(element, \".nav\");\n const container = closest(\n content as HTMLElement,\n \".tab-content\",\n );\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element as HTMLElement);\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 @preserve\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 * 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 @preserve\n if ((nav && Timer.get(nav)) || hasClass(element, activeClass)) return;\n const { tab, content } = getActiveTab(this);\n\n // istanbul ignore else @preserve\n if (nav && tab) {\n tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n }\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element as HTMLElement;\n\n // istanbul ignore if @preserve\n if (!isHTMLElement(tab)) return;\n\n dispatchEvent(tab, hideTabEvent);\n\n // istanbul ignore else @preserve\n if (hideTabEvent.defaultPrevented) return;\n\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 @preserve\n if (nav) {\n const toggleTab = () => {\n // istanbul ignore else @preserve\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, \"false\");\n }\n if (dropdown && !hasClass(dropdown, activeClass)) {\n addClass(dropdown, activeClass);\n }\n };\n\n if (\n content &&\n (hasClass(content, fadeClass) ||\n (nextContent && hasClass(nextContent, fadeClass)))\n ) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n // istanbul ignore else @preserve\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 * 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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n focusinEvent,\n focusoutEvent,\n getDocument,\n getInstance,\n hasClass,\n mouseclickEvent,\n mouseenterEvent,\n MouseEvent,\n mouseleaveEvent,\n querySelector,\n querySelectorAll,\n reflow,\n removeClass,\n Timer,\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 { ToastEvent, ToastOptions } 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: Element) =>\n getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: Element) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent, ToastEvent>(\n `show.bs.${toastString}`,\n);\nconst shownToastEvent = createCustomEvent, ToastEvent>(\n `shown.bs.${toastString}`,\n);\nconst hideToastEvent = createCustomEvent, ToastEvent>(\n `hide.bs.${toastString}`,\n);\nconst hiddenToastEvent = createCustomEvent, ToastEvent>(\n `hidden.bs.${toastString}`,\n);\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 @preserve\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 as HTMLElement);\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 as HTMLElement);\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 * 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 if @preserve\n if (!self) return;\n // istanbul ignore else @preserve\n if (trigger && trigger.tagName === \"A\") e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\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;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n // istanbul ignore if @preserve: a solid filter is required\n if (\n !self || element === relatedTarget ||\n element.contains(relatedTarget as Node)\n ) return;\n\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// 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 element: HTMLElement;\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: Element | 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)) {\n addClass(element, fadeClass);\n } else if (!options.animation && hasClass(element, fadeClass)) {\n removeClass(element, fadeClass);\n }\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [\n ...querySelectorAll(\n toastToggleSelector,\n getDocument(element),\n ),\n ].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 if @preserve\n if (!element || isShown) return;\n\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) showToast(this);\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n // istanbul ignore if @preserve\n if (!element || !isShown) return;\n\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) hideToast(this);\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 @preserve\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n // istanbul ignore else @preserve\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(\n (e) => action(element, e, interactiveToastHandler),\n );\n }\n // istanbul ignore else @preserve\n if (triggers.length) {\n triggers.forEach((btn) =>\n action(btn, mouseclickEvent, toastClickHandler)\n );\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n this._toggleEventListeners();\n Timer.clear(element, toastString);\n\n if (isShown) removeClass(element, showClass);\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\ntype Component =\n | Alert\n | Button\n | Carousel\n | Collapse\n | Dropdown\n | Modal\n | Offcanvas\n | Popover\n | ScrollSpy\n | Tab\n | Toast\n | Tooltip;\n\n[\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Offcanvas,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip,\n].forEach((c) => componentsList.set(c.prototype.name, c));\n\n/**\n * Initialize all matched `Element`s for one component.\n *\n * @param callback\n * @param collection\n */\nconst initComponentDataAPI = (\n callback: (el: Element) => Component,\n collection: HTMLCollectionOf | Element[],\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)) {\n (instance as T & { dispose: () => void }).dispose();\n }\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(), {\n once: true,\n });\n}\n"],"names":["De","Oe","$","Pe","Be","Fe","rt","ct","at","dt","pt","mt","bt","ht","yt","wt","Dt","xt","zt","Rt","je","qt","on","sn","rn","cn","gn","_t","$t","M","W","zn","t","e","te","R","n","o","s","Q","j","ne","Qn","Gn","qn","Zn","Yn","b","l","u","h","O","to","k","G","K","d","N","oe","q","g","ae","ie","ro","r","a","i","io","P","T","ue","lo","f","c","p","E","C","po","vo","bo","Eo","ho","x","le","v","yo","de","z","fe","pe","Ao","m","w","So","S","ko","me","A","ve","be","Ee","we","Co","F","H","y","Ae","Se","Do","zo","Vo","Uo","ke","Ro","Ne","Go","fadeClass","showClass","dataBsDismiss","alertString","alertComponent","Version","version","BaseComponent","target","config","element","isElement","isString","querySelector","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","setAttribute","ariaPressed","isActive","getAttribute","addClass","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","activateCarouselIndicator","pointermoveEvent","passiveHandler","pointerupEvent","isHTMLElement","getElementsByClassName","activeIndex","transitionItem","matches","ar","isPaused","idx","next","eventProperties","ObjectAssign","getElementTransitionDuration","reflow","touch","pause","interval","keyboard","mouseenterEvent","mouseleaveEvent","pointerdownEvent","touchstartEvent","dragstartEvent","arrow","indicator","keydownEvent","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","getCurrentOpenDropdown","currentParent","type","isForm","mousedownEvent","dropdownClickHandler","keyArrowDown","keyArrowUp","activeElement","open","menuItems","focus","keyEscape","dropdownIntersectionHandler","entry","currentElement","currentInstance","modalString","modalComponent","offcanvasComponent","fixedTopClass","fixedBottomClass","stickyTopClass","positionStickyClass","getFixedItems","resetScrollbar","bd","getDocumentBody","fixedItems","fixed","measureScrollbar","innerWidth","getWindow","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","padStyle","toggleModalDismiss","modalDismissHandler","modalKeyHandler","afterModalHide","relatedTarget","focusElement","toggleFocusTrap","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","isOpen","popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","body","tipClassPositions","styleTip","tipClasses","tooltip","container","offsetParent","scrollLeft","scrollTop","getNodeScroll","tipWidth","tipHeight","htmlcw","htmlch","htmlow","placement","parentCWidth","parentOWidth","fixedParent","leftBoundry","rightBoundry","observerEntry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","elemOffsetLeft","elemOffsetTop","getRectRelativeToOffsetParent","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","tipPositions","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","tooltipHeader","tooltipBody","tempTitle","tempContent","tempBtn","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","tooltipSelector","titleAttr","getTooltipInstance","tooltipInitCallback","Tooltip","removeTooltip","ariaDescribedBy","hasTip","disposeTooltipComplete","toggleTooltipTitle","toggleTooltipAction","tooltipShownAction","shownTooltipEvent","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","parentModal","parentOffcanvas","titleAtt","tipComponent","elem","getUID","position","PositionObserver","entries","outTimer","showTooltipEvent","delay","hideTooltipEvent","enabled","tr","mousehoverEvent","focusinEvent","focusoutEvent","isApple","popoverSelector","popoverDefaults","getPopoverInstance","popoverInitCallback","Popover","scrollspyString","scrollspyComponent","scrollspySelector","scrollspyDefaults","getScrollSpyInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","updateSpyTargets","scrollTarget","itemsLength","_observer","isRoot","links","getElementsByTagName","scrollHEIGHT","href","ref","targetItem","rect","getOffsetHeight","link","toggleObservers","targets","getScrollHeight","clear","item","activate","parents","parentItem","menuItem","parentLink","spyTarget","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","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,52]} \ No newline at end of file +{"version":3,"file":"bootstrap-native.mjs","sources":["../node_modules/.pnpm/@thednp+shorty@https+++codeload.github.com+thednp+shorty+tar.gz+6d62cceb75a6b1cd3a73cced7a052ef03ae826b2/node_modules/@thednp/shorty/dist/shorty.mjs","../node_modules/.pnpm/@thednp+event-listener@2.0.8/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/util/isDisabled.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","../node_modules/.pnpm/@thednp+position-observer@https+++codeload.github.com+thednp+position-observer+tar.gz+ebeff80_vgonz6o4lt2qwgfhpqexzhhtle/node_modules/@thednp/position-observer/dist/index.mjs","../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 Ce = \"2.0.8\", Le = \"aria-checked\", Me = \"aria-description\", De = \"aria-describedby\", Oe = \"aria-expanded\", xe = \"aria-haspopup\", J = \"aria-hidden\", ze = \"aria-label\", Ie = \"aria-labelledby\", Pe = \"aria-modal\", Be = \"aria-pressed\", Fe = \"aria-selected\", He = \"aria-valuemin\", Ve = \"aria-valuemax\", Ue = \"aria-valuenow\", We = \"aria-valuetext\", X = \"abort\", tt = \"beforeunload\", et = \"blur\", nt = \"change\", ot = \"contextmenu\", V = \"DOMContentLoaded\", st = \"DOMMouseScroll\", rt = \"error\", ct = \"focus\", at = \"focusin\", it = \"focusout\", ut = \"gesturechange\", lt = \"gestureend\", dt = \"gesturestart\", ft = \"keydown\", pt = \"keypress\", gt = \"keyup\", mt = \"load\", vt = \"click\", bt = \"dblclick\", Et = \"mousedown\", ht = \"mouseup\", yt = \"hover\", wt = \"mouseenter\", At = \"mouseleave\", St = \"mousein\", Tt = \"mouseout\", kt = \"mouseover\", Nt = \"mousemove\", Ct = \"mousewheel\", Lt = \"move\", Mt = \"orientationchange\", Dt = \"pointercancel\", Ot = \"pointerdown\", xt = \"pointerleave\", zt = \"pointermove\", It = \"pointerup\", Pt = \"readystatechange\", Bt = \"reset\", Ft = \"resize\", Ht = \"select\", Vt = \"selectend\", Ut = \"selectstart\", Wt = \"scroll\", Rt = \"submit\", Qt = \"touchstart\", jt = \"touchmove\", Gt = \"touchcancel\", Kt = \"touchend\", qt = \"unload\", Re = {\n DOMContentLoaded: V,\n DOMMouseScroll: st,\n abort: X,\n beforeunload: tt,\n blur: et,\n change: nt,\n click: vt,\n contextmenu: ot,\n dblclick: bt,\n error: rt,\n focus: ct,\n focusin: at,\n focusout: it,\n gesturechange: ut,\n gestureend: lt,\n gesturestart: dt,\n hover: yt,\n keydown: ft,\n keypress: pt,\n keyup: gt,\n load: mt,\n mousedown: Et,\n mousemove: Nt,\n mousein: St,\n mouseout: Tt,\n mouseenter: wt,\n mouseleave: At,\n mouseover: kt,\n mouseup: ht,\n mousewheel: Ct,\n move: Lt,\n orientationchange: Mt,\n pointercancel: Dt,\n pointerdown: Ot,\n pointerleave: xt,\n pointermove: zt,\n pointerup: It,\n readystatechange: Pt,\n reset: Bt,\n resize: Ft,\n scroll: Wt,\n select: Ht,\n selectend: Vt,\n selectstart: Ut,\n submit: Rt,\n touchcancel: Gt,\n touchend: Kt,\n touchmove: jt,\n touchstart: Qt,\n unload: qt\n}, Qe = \"drag\", je = \"dragstart\", Ge = \"dragenter\", Ke = \"dragleave\", qe = \"dragover\", Ye = \"dragend\", Ze = \"loadstart\", _e = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, $e = { down: \"mousedown\", up: \"mouseup\" }, Je = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"], Xe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, tn = { in: \"focusin\", out: \"focusout\" }, Yt = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]', en = {\n Backspace: \"Backspace\",\n Tab: \"Tab\",\n Enter: \"Enter\",\n Shift: \"Shift\",\n Control: \"Control\",\n Alt: \"Alt\",\n Pause: \"Pause\",\n CapsLock: \"CapsLock\",\n Escape: \"Escape\",\n Scape: \"Space\",\n ArrowLeft: \"ArrowLeft\",\n ArrowUp: \"ArrowUp\",\n ArrowRight: \"ArrowRight\",\n ArrowDown: \"ArrowDown\",\n Insert: \"Insert\",\n Delete: \"Delete\",\n Meta: \"Meta\",\n ContextMenu: \"ContextMenu\",\n ScrollLock: \"ScrollLock\"\n}, nn = \"Alt\", on = \"ArrowDown\", sn = \"ArrowUp\", rn = \"ArrowLeft\", cn = \"ArrowRight\", an = \"Backspace\", un = \"CapsLock\", ln = \"Control\", dn = \"Delete\", fn = \"Enter\", pn = \"NumpadEnter\", gn = \"Escape\", mn = \"Insert\", vn = \"Meta\", bn = \"Pause\", En = \"ScrollLock\", hn = \"Shift\", yn = \"Space\", wn = \"Tab\", Zt = \"animationDuration\", _t = \"animationDelay\", U = \"animationName\", C = \"animationend\", $t = \"transitionDuration\", Jt = \"transitionDelay\", L = \"transitionend\", W = \"transitionProperty\", An = \"addEventListener\", Sn = \"removeEventListener\", Tn = {\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}, kn = \"offsetHeight\", Nn = \"offsetWidth\", Cn = \"scrollHeight\", Ln = \"scrollWidth\", Mn = \"tabindex\", Dn = navigator.userAgentData, { userAgent: Xt } = navigator, On = Xt, xn = () => {\n const t = /iPhone|iPad|iPod|Android/i;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(navigator?.userAgent) || !1;\n}, zn = () => {\n const t = /(iPhone|iPod|iPad)/;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(\n navigator?.userAgent\n ) || !1;\n}, In = () => navigator?.userAgent?.includes(\"Firefox\") || !1, te = () => typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\"), Pn = () => [\"webkitPerspective\", \"perspective\"].some((t) => t in document.head.style), ee = () => {\n}, R = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(\n e,\n n,\n s\n );\n}, Q = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(\n e,\n n,\n s\n );\n}, ne = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Q(t, e, s, o));\n };\n R(t, e, s, o);\n}, Bn = () => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n ne(document, V, ee, e);\n } catch {\n }\n return t;\n}, Fn = () => [\"webkitTransform\", \"transform\"].some((t) => t in document.head.style), Hn = () => \"ontouchstart\" in window || \"msMaxTouchPoints\" in navigator, Vn = () => [\"webkitAnimation\", \"animation\"].some((t) => t in document.head.style), Un = () => [\"webkitTransition\", \"transition\"].some((t) => t in document.head.style), j = (t, e) => t.getAttribute(e), Wn = (t, e, n) => e.getAttributeNS(t, n), oe = (t, e) => t.hasAttribute(e), Rn = (t, e, n) => e.hasAttributeNS(t, n), Qn = (t, e, n) => t.setAttribute(e, n), jn = (t, e, n, o) => e.setAttributeNS(t, n, o), Gn = (t, e) => t.removeAttribute(e), Kn = (t, e, n) => e.removeAttributeNS(t, n), qn = (t, ...e) => {\n t.classList.add(...e);\n}, Yn = (t, ...e) => {\n t.classList.remove(...e);\n}, Zn = (t, e) => t.classList.contains(e), { body: _n } = document, { documentElement: $n } = document, { head: Jn } = document, Xn = (t) => Array.from(t), b = (t) => t != null && typeof t == \"object\" || !1, l = (t) => b(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some(\n (e) => t.nodeType === e\n) || !1, u = (t) => l(t) && t.nodeType === 1 || !1, h = /* @__PURE__ */ new Map(), D = {\n data: h,\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 h.has(e) || h.set(e, /* @__PURE__ */ new Map()), h.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) => h.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 = D.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 = D.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && h.delete(e));\n }\n}, to = (t, e) => D.get(t, e), eo = (t) => t?.charAt(0).toUpperCase() + t?.slice(1), I = (t) => t?.trim().replace(\n /(?:^\\w|[A-Z]|\\b\\w)/g,\n (e, n) => n === 0 ? e.toLowerCase() : e.toUpperCase()\n).replace(/\\s+/g, \"\"), k = (t) => typeof t == \"string\" || !1, G = (t) => b(t) && t.constructor.name === \"Window\" || !1, K = (t) => l(t) && t.nodeType === 9 || !1, d = (t) => K(t) ? t : l(t) ? t.ownerDocument : G(t) ? t.document : globalThis.document, N = (t, ...e) => Object.assign(t, ...e), se = (t) => {\n if (!t) return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = se(e);\n if (!n) return;\n const o = { ...t };\n return delete o.tagName, N(n, o);\n}, re = (t, e) => {\n if (!t || !e) return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = re(t, n);\n if (!o) return;\n const s = { ...e };\n return delete s.tagName, N(o, s);\n}, q = (t, e) => t.dispatchEvent(e), no = (t, e, n) => n.indexOf(t) === e, g = (t, e, n) => {\n const o = getComputedStyle(t, n), s = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return o.getPropertyValue(s);\n}, ce = (t) => {\n const e = g(t, U), n = g(t, _t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ae = (t) => {\n const e = g(t, U), n = g(t, Zt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, oo = (t, e) => {\n let n = 0;\n const o = new Event(C), s = ae(t), r = ce(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), 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}, ie = (t) => {\n const e = g(t, W), n = g(t, Jt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ue = (t) => {\n const e = g(t, W), n = g(t, $t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, so = (t, e) => {\n let n = 0;\n const o = new Event(L), s = ue(t), r = ie(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(L, a), n = 1);\n };\n t.addEventListener(L, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ro = (t) => Float32Array.from(Array.from(t)), co = (t) => Float64Array.from(Array.from(t)), ao = (t, e) => t.focus(e), io = (t) => t?.trim().replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/\\s+/g, \"-\").toLowerCase(), P = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, T = (t) => Object.entries(t), uo = (t, e, n, o) => {\n if (!u(t)) return e;\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, i = {}, f = \"title\";\n return T(r).forEach(([c, p]) => {\n const E = o && typeof c == \"string\" && c.includes(o) ? I(c.replace(o, \"\")) : I(c);\n i[E] = P(p);\n }), T(s).forEach(([c, p]) => {\n s[c] = P(p);\n }), T(e).forEach(([c, p]) => {\n c in s ? a[c] = s[c] : c in i ? a[c] = i[c] : a[c] = c === f ? j(t, f) : p;\n }), a;\n}, lo = (t, e) => b(t) && (Object.hasOwn(t, e) || e in t), fo = (t) => Object.keys(t), po = (t) => Object.values(t), go = (t) => Object.fromEntries(t), mo = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return b(e) && N(n, e), n;\n}, vo = { passive: !0 }, bo = (t) => t.offsetHeight, Eo = (t, e) => {\n T(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, N(t.style, s);\n }\n });\n}, O = (t) => b(t) && t.constructor.name === \"Map\" || !1, le = (t) => typeof t == \"number\" || !1, v = /* @__PURE__ */ new Map(), ho = {\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 ? (v.has(t) || v.set(t, /* @__PURE__ */ new Map()), v.get(t).set(o, setTimeout(e, n))) : v.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 = v.get(t);\n return e && n && O(n) ? n.get(e) || null : le(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 = v.get(t);\n e && e.length && O(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && v.delete(t)) : (clearTimeout(n), v.delete(t));\n }\n}, yo = (t) => t.toLowerCase(), wo = (t) => t.toUpperCase(), de = (t, e) => (l(e) ? e : d()).querySelectorAll(t), x = /* @__PURE__ */ new Map();\nfunction fe(t) {\n const { shiftKey: e, code: n } = t, o = d(this), s = [\n ...de(Yt, this)\n ].filter(\n (i) => !oe(i, \"disabled\") && !j(i, J)\n );\n if (!s.length) return;\n const r = s[0], a = s[s.length - 1];\n n === \"Tab\" && (e && o.activeElement === r ? (a.focus(), t.preventDefault()) : !e && o.activeElement === a && (r.focus(), t.preventDefault()));\n}\nconst pe = (t) => x.has(t) === !0, Ao = (t) => {\n const e = pe(t);\n (e ? Q : R)(t, \"keydown\", fe), e ? x.delete(t) : x.set(t, !0);\n}, m = (t) => u(t) && \"offsetWidth\" in t || !1, w = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: i } = t.getBoundingClientRect();\n let f = 1, c = 1;\n if (e && m(t)) {\n const { offsetWidth: p, offsetHeight: E } = t;\n f = p > 0 ? Math.round(n) / p : 1, c = E > 0 ? Math.round(o) / E : 1;\n }\n return {\n width: n / f,\n height: o / c,\n top: s / c,\n right: r / f,\n bottom: a / c,\n left: i / f,\n x: i / f,\n y: s / c\n };\n}, So = (t) => d(t).body, S = (t) => d(t).documentElement, To = (t) => d(t).head, ge = (t) => l(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\", ko = (t) => {\n const e = G(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, me = (t) => l(t) && t.constructor.name === \"ShadowRoot\" || !1, A = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || l(t) && t.parentNode || me(t) && t.host || S(t), ve = (t) => t ? K(t) ? t.defaultView : l(t) ? t?.ownerDocument?.defaultView : t : window, be = (t) => l(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, Ee = (t, e) => t.matches(e), M = (t) => g(t, \"position\") === \"static\", he = (t) => g(t, \"position\") === \"fixed\", Y = (t) => [\":popover-open\", \":modal\"].some((e) => {\n try {\n return Ee(t, e);\n } catch {\n return !1;\n }\n}), Z = (t) => {\n const e = te(), n = u(t) ? getComputedStyle(t) : t;\n return n.transform !== \"none\" || n.perspective !== \"none\" || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || [\"transform\", \"perspective\", \"filter\"].some(\n (o) => (n.willChange || \"\").includes(o)\n ) || [\"paint\", \"layout\", \"strict\", \"content\"].some(\n (o) => (n.contain || \"\").includes(o)\n );\n}, ye = (t) => {\n let e = A(t);\n for (; u(e) && !z(e); ) {\n if (Z(e))\n return e;\n if (Y(e))\n return null;\n e = A(e);\n }\n return null;\n}, z = (t) => [\"html\", \"body\", \"#document\"].includes(ge(t)), B = (t) => {\n if (!m(t) || he(t))\n return null;\n let e = t.offsetParent;\n return S(t) === e && (e = e.ownerDocument.body), e;\n}, No = (t) => {\n const e = ve(t);\n if (!l(t) || Y(t))\n return e;\n if (!m(t)) {\n let o = A(t);\n for (; o && !z(o); ) {\n if (u(o) && !M(o))\n return o;\n o = A(o);\n }\n return e;\n }\n let n = B(t);\n for (; n && be(n) && M(n); )\n n = B(n);\n return n && z(n) && M(n) && !Z(n) ? e : n || ye(t) || e;\n}, we = (t) => {\n if (!m(t)) return !1;\n const { width: e, height: n } = w(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, Co = (t, e, n) => {\n const o = m(e), s = w(\n t,\n o && we(e)\n ), r = { x: 0, y: 0 };\n if (o) {\n const a = w(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 F = 0, H = 0;\nconst y = /* @__PURE__ */ new Map(), Ae = (t, e) => {\n let n = e ? F : H;\n if (e) {\n const o = Ae(t), s = y.get(o) || /* @__PURE__ */ new Map();\n y.has(o) || y.set(o, s), O(s) && !s.has(e) ? (s.set(e, n), F += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n y.has(o) ? n = y.get(o) : (y.set(o, n), H += 1);\n }\n return n;\n}, Lo = (t) => {\n const e = [\"HTML\", \"BODY\"];\n let { parentNode: n } = t;\n if (!m(n))\n for (; n && !e.includes(n.nodeName) && (n = A(n), !m(n)); )\n ;\n const {\n offsetLeft: o,\n offsetTop: s,\n offsetParent: r\n } = n, { top: a, left: i } = n.getBoundingClientRect(), { top: f, left: c, width: p, height: E } = t.getBoundingClientRect(), _ = s + (f - a), $ = o + (c - i);\n return {\n offsetTop: _,\n offsetLeft: $,\n offsetWidth: p,\n offsetHeight: E,\n offsetParent: r\n };\n}, Se = (t) => Array.isArray(t) || !1, Mo = (t) => l(t) && t.nodeName === \"CANVAS\" || !1, Te = (t) => m(t) && !!t.shadowRoot || !1, Do = (t) => {\n if (!l(t)) return !1;\n const { top: e, bottom: n } = w(t), { clientHeight: o } = S(t);\n return e <= o && n >= 0;\n}, Oo = (t) => {\n if (!u(t)) return !1;\n const { clientWidth: e, clientHeight: n } = S(t), { top: o, left: s, bottom: r, right: a } = w(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, xo = (t) => Se(t) && t.every(u) || !1, zo = (t) => typeof t == \"function\" || !1, Io = (t) => b(t) && t.constructor.name === \"HTMLCollection\" || !1, Po = (t) => m(t) && t.tagName === \"IMG\" || !1, Bo = (t) => {\n if (!k(t)) return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Fo = (t) => b(t) && t.constructor.name === \"WeakMap\" || !1, Ho = (t) => l(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some(\n (e) => t.constructor.name.includes(e)\n) || !1, Vo = (t) => b(t) && t.constructor.name === \"NodeList\" || !1, Uo = (t) => S(t).dir === \"rtl\", Wo = (t) => l(t) && t.constructor.name.includes(\"SVG\") || !1, ke = (t, e) => !t || !e ? null : t.closest(e) || ke(t.getRootNode().host, e) || null, Ro = (t, e) => u(t) ? t : (u(e) ? e : d()).querySelector(t), Ne = (t, e) => (l(e) ? e : d()).getElementsByTagName(\n t\n), Qo = (t) => [...Ne(\"*\", t)].filter(Te), jo = (t, e) => d(e).getElementById(t), Go = (t, e) => (e && l(e) ? e : d()).getElementsByClassName(\n t\n);\nexport {\n Xn as ArrayFrom,\n V as DOMContentLoadedEvent,\n st as DOMMouseScrollEvent,\n D as Data,\n ro as Float32ArrayFrom,\n co as Float64ArrayFrom,\n N as ObjectAssign,\n T as ObjectEntries,\n go as ObjectFromEntries,\n lo as ObjectHasOwn,\n fo as ObjectKeys,\n po as ObjectValues,\n ho as Timer,\n X as abortEvent,\n qn as addClass,\n An as addEventListener,\n _t as animationDelay,\n Zt as animationDuration,\n C as animationEndEvent,\n U as animationName,\n Le as ariaChecked,\n De as ariaDescribedBy,\n Me as ariaDescription,\n Oe as ariaExpanded,\n xe as ariaHasPopup,\n J as ariaHidden,\n ze as ariaLabel,\n Ie as ariaLabelledBy,\n Pe as ariaModal,\n Be as ariaPressed,\n Fe as ariaSelected,\n Ve as ariaValueMax,\n He as ariaValueMin,\n Ue as ariaValueNow,\n We as ariaValueText,\n tt as beforeunloadEvent,\n Tn as bezierEasings,\n et as blurEvent,\n I as camelCase,\n eo as capitalize,\n nt as changeEvent,\n ke as closest,\n ot as contextmenuEvent,\n mo as createCustomEvent,\n se as createElement,\n re as createElementNS,\n q as dispatchEvent,\n no as distinct,\n _n as documentBody,\n $n as documentElement,\n Jn as documentHead,\n Qe as dragEvent,\n Ye as dragendEvent,\n Ge as dragenterEvent,\n Ke as dragleaveEvent,\n qe as dragoverEvent,\n je as dragstartEvent,\n oo as emulateAnimationEnd,\n so as emulateTransitionEnd,\n rt as errorEvent,\n ao as focus,\n ct as focusEvent,\n tn as focusEvents,\n Yt as focusableSelector,\n at as focusinEvent,\n it as focusoutEvent,\n ut as gesturechangeEvent,\n lt as gestureendEvent,\n dt as gesturestartEvent,\n j as getAttribute,\n Wn as getAttributeNS,\n w as getBoundingClientRect,\n Qo as getCustomElements,\n d as getDocument,\n So as getDocumentBody,\n S as getDocumentElement,\n To as getDocumentHead,\n ce as getElementAnimationDelay,\n ae as getElementAnimationDuration,\n jo as getElementById,\n g as getElementStyle,\n ie as getElementTransitionDelay,\n ue as getElementTransitionDuration,\n Go as getElementsByClassName,\n Ne as getElementsByTagName,\n to as getInstance,\n ge as getNodeName,\n ko as getNodeScroll,\n No as getOffsetParent,\n A as getParentNode,\n Co as getRectRelativeToOffsetParent,\n Lo as getSVGOffset,\n Ae as getUID,\n ve as getWindow,\n oe as hasAttribute,\n Rn as hasAttributeNS,\n Zn as hasClass,\n pe as hasFocusTrap,\n zn as isApple,\n Se as isArray,\n Mo as isCanvas,\n Te as isCustomElement,\n K as isDocument,\n u as isElement,\n Do as isElementInScrollRange,\n Oo as isElementInViewport,\n xo as isElementsArray,\n In as isFirefox,\n zo as isFunction,\n Io as isHTMLCollection,\n m as isHTMLElement,\n Po as isHTMLImageElement,\n Bo as isJSON,\n O as isMap,\n Ho as isMedia,\n xn as isMobile,\n l as isNode,\n Vo as isNodeList,\n le as isNumber,\n b as isObject,\n Uo as isRTL,\n Wo as isSVGElement,\n we as isScaledElement,\n me as isShadowRoot,\n k as isString,\n be as isTableElement,\n Fo as isWeakMap,\n te as isWebKit,\n G as isWindow,\n io as kebabCase,\n nn as keyAlt,\n on as keyArrowDown,\n rn as keyArrowLeft,\n cn as keyArrowRight,\n sn as keyArrowUp,\n an as keyBackspace,\n un as keyCapsLock,\n ln as keyControl,\n dn as keyDelete,\n fn as keyEnter,\n gn as keyEscape,\n mn as keyInsert,\n vn as keyMeta,\n pn as keyNumpadEnter,\n bn as keyPause,\n En as keyScrollLock,\n hn as keyShift,\n yn as keySpace,\n wn as keyTab,\n en as keyboardEventKeys,\n ft as keydownEvent,\n pt as keypressEvent,\n gt as keyupEvent,\n mt as loadEvent,\n Ze as loadstartEvent,\n Ee as matches,\n $e as mouseClickEvents,\n Je as mouseHoverEvents,\n _e as mouseSwipeEvents,\n vt as mouseclickEvent,\n bt as mousedblclickEvent,\n Et as mousedownEvent,\n wt as mouseenterEvent,\n yt as mousehoverEvent,\n St as mouseinEvent,\n At as mouseleaveEvent,\n Nt as mousemoveEvent,\n Tt as mouseoutEvent,\n kt as mouseoverEvent,\n ht as mouseupEvent,\n Ct as mousewheelEvent,\n Lt as moveEvent,\n Re as nativeEvents,\n ee as noop,\n uo as normalizeOptions,\n P as normalizeValue,\n Q as off,\n kn as offsetHeight,\n Nn as offsetWidth,\n R as on,\n ne as one,\n Mt as orientationchangeEvent,\n vo as passiveHandler,\n Dt as pointercancelEvent,\n Ot as pointerdownEvent,\n xt as pointerleaveEvent,\n zt as pointermoveEvent,\n It as pointerupEvent,\n Ro as querySelector,\n de as querySelectorAll,\n Pt as readystatechangeEvent,\n bo as reflow,\n Gn as removeAttribute,\n Kn as removeAttributeNS,\n Yn as removeClass,\n Sn as removeEventListener,\n Bt as resetEvent,\n Ft as resizeEvent,\n Wt as scrollEvent,\n Cn as scrollHeight,\n Ln as scrollWidth,\n Ht as selectEvent,\n Vt as selectendEvent,\n Ut as selectstartEvent,\n Qn as setAttribute,\n jn as setAttributeNS,\n Eo as setElementStyle,\n Rt as submitEvent,\n Pn as support3DTransform,\n Vn as supportAnimation,\n Bn as supportPassive,\n Hn as supportTouch,\n Fn as supportTransform,\n Un as supportTransition,\n Mn as tabindex,\n yo as toLowerCase,\n wo as toUpperCase,\n Ao as toggleFocusTrap,\n Xe as touchEvents,\n Gt as touchcancelEvent,\n Kt as touchendEvent,\n jt as touchmoveEvent,\n Qt as touchstartEvent,\n Jt as transitionDelay,\n $t as transitionDuration,\n L as transitionEndEvent,\n W as transitionProperty,\n qt as unloadEvent,\n On as userAgent,\n Dn as userAgentData,\n Ce as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const g = \"2.0.8\", e = {}, f = (t) => {\n const { type: n, currentTarget: c } = t;\n e[n].forEach((a, s) => {\n c === s && a.forEach((o, i) => {\n i.apply(s, [t]), typeof o == \"object\" && o.once && r(s, n, i, o);\n });\n });\n}, E = (t, n, c, a) => {\n e[n] || (e[n] = /* @__PURE__ */ new Map());\n const s = e[n];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(\n t\n ), { size: i } = o;\n o.set(c, a), i || t.addEventListener(\n n,\n f,\n a\n );\n}, r = (t, n, c, a) => {\n const s = e[n], o = s && s.get(t), i = o && o.get(c), d = i !== void 0 ? i : a;\n o && o.has(c) && o.delete(c), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[n], (!o || !o.size) && t.removeEventListener(\n n,\n f,\n d\n );\n}, M = E, p = r;\nexport {\n E as addListener,\n f as globalListener,\n p as off,\n M as on,\n e as registry,\n r as removeListener,\n g as version\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 {\n Data,\n isElement,\n isString,\n normalizeOptions,\n ObjectKeys,\n querySelector,\n} 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: Element;\n declare options?: BaseOptions;\n\n /**\n * @param target `Element` or selector string\n * @param config component instance options\n */\n constructor(target: Element | string, config?: BaseOptions) {\n let element: Element | null;\n\n try {\n if (isElement(target)) {\n element = target as Element;\n } else if (isString(target)) {\n element = querySelector(target);\n // istanbul ignore else @preserve\n if (!element) throw Error(`\"${target}\" is not a valid selector.`);\n } else {\n throw Error(`your target is not an instance of HTMLElement.`);\n }\n } catch (e) {\n throw Error(`${this.name} Error: ${(e as Error).message}`);\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else @preserve */\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 = this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, \"bs\")\n : /* istanbul ignore next @preserve */ {};\n\n Data.set(element, this.name, this);\n }\n\n // istanbul ignore next @preserve\n get version() {\n return Version;\n }\n\n // istanbul ignore next @preserve\n get name() {\n return \"BaseComponent\";\n }\n\n // istanbul ignore next @preserve\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n // istanbul ignore next @preserve coverage wise this isn't important\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","import { getAttribute, hasClass } from \"@thednp/shorty\";\n\n/**\n * Check if interactive element is disabled.\n * @param target either a `
',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n */\nconst getPopoverInstance = (element: Element) =>\n getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: Element) => 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: Element | 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 @preserve\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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n getAttribute,\n getBoundingClientRect,\n getDocument,\n getDocumentElement,\n getElementById,\n getElementsByTagName,\n getInstance,\n hasClass,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n removeClass,\n} from \"@thednp/shorty\";\n\nimport PositionObserver from \"@thednp/position-observer\";\nimport { addListener, removeListener } from \"@thednp/event-listener\";\n\nimport activeClass from \"~/strings/activeClass\";\nimport scrollspyString from \"~/strings/scrollspyString\";\nimport scrollspyComponent from \"~/strings/scrollspyComponent\";\nimport isDisabled from \"~/util/isDisabled\";\nimport BaseComponent from \"./base-component\";\nimport { ScrollSpyEvent, ScrollSpyOptions } from \"~/interface/scrollspy\";\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\nconst scrollSpyAnchorSelector = \"[href]\";\n\nconst scrollspyDefaults: Partial = {\n offset: 10,\n target: undefined,\n};\n\ntype ScrollSpyEventProps = {\n relatedTarget: HTMLElement;\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: Element) =>\n getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: Element) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent<\n ScrollSpyEventProps,\n ScrollSpyEvent\n>(`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 {\n target,\n _itemsLength,\n _observables,\n } = self;\n\n const links = getElementsByTagName(\"A\", target);\n const doc = getDocument(target);\n\n // only update items once or with each mutation\n // istanbul ignore else @preserve\n if (!links.length || _itemsLength === _observables.size) return;\n // reset arrays & update\n _observables.clear();\n\n Array.from(links).forEach((link) => {\n const hash = getAttribute(link, \"href\")?.slice(1);\n const targetItem = hash?.length ? doc.getElementById(hash) : null;\n\n if (targetItem && !isDisabled(link)) {\n self._observables.set(targetItem, link);\n }\n });\n self._itemsLength = self._observables.size;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: Element) => {\n Array.from(getElementsByTagName(\"A\", target)).forEach(\n (item) => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n },\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\n // istanbul ignore else @preserve\n clear(target);\n\n self._activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n let parentItem = item;\n while (parentItem !== target) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (\n [\"nav\", \"dropdown-menu\", \"list-group\"].some((c) =>\n hasClass(parentItem, c)\n )\n ) {\n const parentLink = parentItem.previousElementSibling as\n | HTMLElement\n | null;\n\n // istanbul ignore else @preserve\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n }\n }\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\nconst getOffset = (self: ScrollSpy, target: HTMLElement) => {\n const { scrollTarget, element, options } = self;\n\n return (scrollTarget !== element\n ? getBoundingClientRect(target).top + scrollTarget.scrollTop\n : target.offsetTop) - (options.offset as number || 10);\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 element: HTMLElement;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement;\n declare scrollTarget: HTMLElement;\n declare _itemsLength: number;\n declare _activeItem: HTMLElement | null;\n declare _observables: Map;\n declare _observer: PositionObserver; //| IntersectionObserver;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(\n target: Element | string,\n config?: Partial,\n ) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // get target\n const spyTarget = querySelector(\n options.target,\n getDocument(element),\n );\n\n // invalidate\n if (!spyTarget) return;\n this.target = spyTarget;\n\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight\n ? element\n : getDocumentElement(element);\n this._observables = new Map();\n\n // run an initial burst, we need to know the targets\n this.refresh();\n // updateSpyTargets(this);\n\n // create observer\n this._observer = new PositionObserver(() => {\n requestAnimationFrame(() => this.refresh());\n }, {\n root: this.scrollTarget,\n });\n\n // add event handlers\n this._toggleEventListeners(true);\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, scrollTarget } = this;\n // check if target is visible and invalidate\n // istanbul ignore if @preserve\n if (!target || target.offsetHeight === 0) return;\n\n updateSpyTargets(this);\n const { _itemsLength, _observables, _activeItem } = this;\n\n // istanbul ignore if @preserve\n if (!_itemsLength) return;\n const entries = _observables.entries().toArray();\n\n const { scrollTop, scrollHeight, clientHeight } = scrollTarget;\n\n if (scrollTop >= scrollHeight - clientHeight) {\n const newActiveItem = entries[_itemsLength - 1]?.[1];\n\n // istanbul ignore else @preserve\n if (_activeItem !== newActiveItem) activate(this, newActiveItem);\n return;\n }\n\n const firstOffset = entries[0]?.[0]\n ? getOffset(this, entries[0][0])\n : /* istanbul ignore next */ null;\n if (\n firstOffset !== null && scrollTop < firstOffset &&\n firstOffset > 0\n ) {\n this._activeItem = null;\n clear(target);\n return;\n }\n\n for (let i = 0; i < _itemsLength; i += 1) {\n const [targetItem, item] = entries[i];\n const offsetTop = getOffset(this, targetItem);\n const nextTarget = entries[i + 1]?.[0];\n const nextOffsetTop = nextTarget\n ? getOffset(this, nextTarget)\n : /* istanbul ignore next */ null;\n\n // istanbul ignore else @preserve\n if (\n _activeItem !== item &&\n scrollTop >= offsetTop &&\n (nextOffsetTop === null || scrollTop < nextOffsetTop)\n ) {\n activate(this, item);\n break;\n }\n }\n };\n\n /**\n * This method provides an event handle\n * for scrollspy\n * @param e the event listener object\n */\n _scrollTo = (e: MouseEvent) => {\n const item = closest(e.target, scrollSpyAnchorSelector);\n const hash = item && getAttribute(item, \"href\")?.slice(1);\n const targetItem = hash && getElementById(hash, this.target);\n\n // istanbul ignore else @preserve\n if (targetItem) {\n this.scrollTarget.scrollTo({\n top: targetItem.offsetTop,\n behavior: \"smooth\",\n });\n e.preventDefault();\n }\n };\n\n /**\n * Toggles on/off the component observer.\n *\n * @param self the ScrollSpy instance\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (\n add?: boolean,\n ) => {\n const { target, _observables, _observer, _scrollTo } = this;\n const action = add ? addListener : removeListener;\n action(target, mouseclickEvent, _scrollTo);\n\n if (add) {\n _observables?.forEach((_, targetItem) => _observer.observe(targetItem));\n } else _observer.disconnect();\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 addClass,\n ariaSelected,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getElementsByClassName,\n getInstance,\n hasClass,\n isHTMLElement,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n reflow,\n removeClass,\n setAttribute,\n Timer,\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\";\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: Element) =>\n getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: Element) => new Tab(element);\n\ntype TabEventProps = {\n relatedTarget: Element & EventTarget | undefined;\n};\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(\n `show.bs.${tabString}`,\n);\nconst shownTabEvent = createCustomEvent(\n `shown.bs.${tabString}`,\n);\nconst hideTabEvent = createCustomEvent(\n `hide.bs.${tabString}`,\n);\nconst hiddenTabEvent = createCustomEvent(\n `hidden.bs.${tabString}`,\n);\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 @preserve\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = \"\";\n removeClass(tabContent, collapsingClass);\n }\n\n // istanbul ignore else @preserve\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)) ||\n // istanbul ignore next @preserve\n { tab: null };\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) ||\n // istanbul ignore next @preserve\n { currentHeight: 0, nextHeight: 0 };\n // istanbul ignore else @preserve: vitest won't validate this branch\n if (currentHeight !== nextHeight) {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n } else {\n triggerTabEnd(self);\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)) ||\n // istanbul ignore next @preserve\n { tab: null, content: null };\n let currentHeight = 0;\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\n if (c) addClass(c, \"overflow-hidden\");\n });\n currentHeight = content\n ? content.scrollHeight\n : /* istanbul ignore next @preserve */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element as HTMLElement;\n dispatchEvent(element, showTabEvent);\n\n // istanbul ignore if @preserve\n if (showTabEvent.defaultPrevented) return;\n // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, activeClass);\n // istanbul ignore else @preserve\n if (content) removeClass(content, activeClass);\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, {\n currentHeight,\n nextHeight,\n tab: null,\n content: null,\n });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\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 // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n // istanbul ignore else @preserve\n if (tab) dispatchEvent(tab, hiddenTabEvent);\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 = (\n self: Tab,\n): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n // istanbul ignore next @preserve\n if (!isHTMLElement(nav)) {\n return { tab: null, content: null };\n }\n\n const activeTabs = getElementsByClassName(\n activeClass,\n nav,\n );\n let tab: HTMLElement | null = null;\n // istanbul ignore else @preserve\n if (\n activeTabs.length === 1 &&\n !dropdownClasses.some((c) =>\n hasClass(activeTabs[0].parentElement as HTMLElement, c)\n )\n ) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab) ? getTargetElement(tab) : 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) => {\n // istanbul ignore next @preserve\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(\",.\")}`);\n return dropdown\n ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown)\n : 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: MouseEvent) => {\n const element = closest(e.target, tabSelector);\n const self = element && getTabInstance(element);\n\n // istanbul ignore if @preserve\n if (!self) return;\n e.preventDefault();\n self.show();\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 element: HTMLElement;\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: Element | 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 @preserve\n if (!content) return;\n\n const nav = closest(element, \".nav\");\n const container = closest(\n content as HTMLElement,\n \".tab-content\",\n );\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 @preserve\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 * 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 @preserve\n if ((nav && Timer.get(nav)) || hasClass(element, activeClass)) return;\n const { tab, content } = getActiveTab(this);\n\n // istanbul ignore else @preserve\n if (nav && tab) {\n tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n }\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element as HTMLElement;\n\n // istanbul ignore if @preserve\n if (!isHTMLElement(tab)) return;\n\n dispatchEvent(tab, hideTabEvent);\n\n // istanbul ignore else @preserve\n if (hideTabEvent.defaultPrevented) return;\n\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 @preserve\n if (nav) {\n const toggleTab = () => {\n // istanbul ignore else @preserve\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, \"false\");\n }\n if (dropdown && !hasClass(dropdown, activeClass)) {\n addClass(dropdown, activeClass);\n }\n };\n\n if (\n content &&\n (hasClass(content, fadeClass) ||\n (nextContent && hasClass(nextContent, fadeClass)))\n ) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n // istanbul ignore else @preserve\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 * 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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n focusinEvent,\n focusoutEvent,\n getDocument,\n getInstance,\n hasClass,\n mouseclickEvent,\n mouseenterEvent,\n MouseEvent,\n mouseleaveEvent,\n querySelector,\n querySelectorAll,\n reflow,\n removeClass,\n Timer,\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 isDisabled from \"~/util/isDisabled\";\nimport BaseComponent from \"./base-component\";\nimport { ToastEvent, ToastOptions } 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: Element) =>\n getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: Element) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent, ToastEvent>(\n `show.bs.${toastString}`,\n);\nconst shownToastEvent = createCustomEvent, ToastEvent>(\n `shown.bs.${toastString}`,\n);\nconst hideToastEvent = createCustomEvent, ToastEvent>(\n `hide.bs.${toastString}`,\n);\nconst hiddenToastEvent = createCustomEvent, ToastEvent>(\n `hidden.bs.${toastString}`,\n);\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 @preserve\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 as HTMLElement);\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 as HTMLElement);\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 * 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 if @preserve\n if (!self) return;\n // istanbul ignore else @preserve\n if (trigger && trigger.tagName === \"A\") e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\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;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n // istanbul ignore if @preserve: a solid filter is required\n if (\n !self || element === relatedTarget ||\n element.contains(relatedTarget as Node)\n ) return;\n\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// 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 element: HTMLElement;\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: Element | 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)) {\n addClass(element, fadeClass);\n } else if (!options.animation && hasClass(element, fadeClass)) {\n removeClass(element, fadeClass);\n }\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [\n ...querySelectorAll(\n toastToggleSelector,\n getDocument(element),\n ),\n ].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 if @preserve\n if (!element || isShown) return;\n\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) showToast(this);\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n // istanbul ignore if @preserve\n if (!element || !isShown) return;\n\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) hideToast(this);\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 @preserve\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n // istanbul ignore else @preserve\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(\n (e) => action(element, e, interactiveToastHandler),\n );\n }\n // istanbul ignore else @preserve\n if (triggers.length) {\n triggers.forEach((btn) => {\n if (!isDisabled(btn)) action(btn, mouseclickEvent, toastClickHandler);\n });\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n this._toggleEventListeners();\n Timer.clear(element, toastString);\n\n if (isShown) removeClass(element, showClass);\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\ntype Component =\n | Alert\n | Button\n | Carousel\n | Collapse\n | Dropdown\n | Modal\n | Offcanvas\n | Popover\n | ScrollSpy\n | Tab\n | Toast\n | Tooltip;\n\n[\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Offcanvas,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip,\n].forEach((c) => componentsList.set(c.prototype.name, c));\n\n/**\n * Initialize all matched `Element`s for one component.\n *\n * @param callback\n * @param collection\n */\nconst initComponentDataAPI = (\n callback: (el: Element) => Component,\n collection: HTMLCollectionOf | Element[],\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)) {\n (instance as T & { dispose: () => void }).dispose();\n }\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(), {\n once: true,\n });\n}\n"],"names":["De","Oe","J","Pe","Be","Fe","ct","at","it","ft","gt","vt","Et","yt","wt","At","Ot","zt","It","Qt","je","Yt","on","sn","rn","cn","gn","$t","Jt","L","W","zn","t","e","ee","R","n","o","s","Q","j","oe","Qn","Gn","qn","Yn","Zn","b","l","u","h","D","to","I","k","G","K","d","N","se","q","g","ie","ue","so","r","a","i","ao","P","T","uo","f","c","p","E","fo","mo","vo","bo","Eo","O","le","v","ho","yo","de","x","fe","pe","Ao","m","w","So","S","ko","me","A","ve","be","Ee","we","Co","F","H","y","Ae","Se","Do","zo","Vo","Uo","ke","Ro","Ne","jo","Go","fadeClass","showClass","dataBsDismiss","alertString","alertComponent","Version","version","BaseComponent","target","config","element","isElement","isString","querySelector","prevInstance","Data","ObjectKeys","normalizeOptions","prop","isDisabled","hasClass","getAttribute","alertSelector","alertDismissSelector","getAlertInstance","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","removeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent","activeClass","dataBsToggle","buttonString","buttonComponent","buttonSelector","getButtonInstance","buttonInitCallback","Button","setAttribute","ariaPressed","isActive","addClass","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","activateCarouselIndicator","pointermoveEvent","passiveHandler","pointerupEvent","getElementsByClassName","activeIndex","transitionItem","matches","ar","isPaused","idx","next","eventProperties","ObjectAssign","getElementTransitionDuration","reflow","touch","pause","interval","keyboard","mouseenterEvent","mouseleaveEvent","pointerdownEvent","touchstartEvent","dragstartEvent","arrow","indicator","keydownEvent","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","isHTMLElement","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","getCurrentOpenDropdown","currentParent","type","isForm","mousedownEvent","dropdownClickHandler","keyArrowDown","keyArrowUp","activeElement","open","menuItems","focus","keyEscape","dropdownIntersectionHandler","entry","currentElement","currentInstance","modalString","modalComponent","offcanvasComponent","fixedTopClass","fixedBottomClass","stickyTopClass","positionStickyClass","getFixedItems","resetScrollbar","bd","getDocumentBody","fixedItems","fixed","measureScrollbar","innerWidth","getWindow","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","padStyle","toggleModalDismiss","modalDismissHandler","modalKeyHandler","afterModalHide","relatedTarget","focusElement","toggleFocusTrap","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","isOpen","popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","body","tipClassPositions","styleTip","tipClasses","tooltip","container","offsetParent","scrollLeft","scrollTop","getNodeScroll","tipWidth","tipHeight","htmlcw","htmlch","htmlow","placement","parentCWidth","parentOWidth","fixedParent","leftBoundry","rightBoundry","observerEntry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","elemOffsetLeft","elemOffsetTop","getRectRelativeToOffsetParent","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","tipPositions","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","tooltipHeader","tooltipBody","tempTitle","tempContent","tempBtn","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","tooltipSelector","titleAttr","getTooltipInstance","tooltipInitCallback","Tooltip","removeTooltip","ariaDescribedBy","hasTip","disposeTooltipComplete","toggleTooltipTitle","toggleTooltipAction","tooltipShownAction","shownTooltipEvent","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","parentModal","parentOffcanvas","titleAtt","tipComponent","elem","getUID","position","PositionObserver","outTimer","showTooltipEvent","delay","hideTooltipEvent","enabled","tr","mousehoverEvent","focusinEvent","focusoutEvent","isApple","popoverSelector","popoverDefaults","getPopoverInstance","popoverInitCallback","Popover","scrollspyString","scrollspyComponent","scrollspySelector","scrollSpyAnchorSelector","scrollspyDefaults","getScrollSpyInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","updateSpyTargets","_itemsLength","_observables","links","getElementsByTagName","link","hash","targetItem","clear","item","activate","parentItem","parentLink","getOffset","scrollTarget","spyTarget","_activeItem","entries","newActiveItem","firstOffset","offsetTop","nextTarget","nextOffsetTop","getElementById","_observer","_scrollTo","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","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,53]} \ No newline at end of file diff --git a/dist/components/alert.cjs b/dist/components/alert.cjs index 626292ce..96e68ee5 100644 --- a/dist/components/alert.cjs +++ b/dist/components/alert.cjs @@ -1,2 +1,2 @@ -"use strict";const e=require("./base-component-DaZCwW-u.js"),i=require("./event-listener-BQdA_KAC.js"),u=require("./fadeClass-Co6nOzNJ.js"),r=require("./showClass-D_Ms1FgG.js"),h=require("./dataBsDismiss-CMHF7If_.js"),n="alert",a="Alert",v=`.${n}`,p=`[${h.dataBsDismiss}="${n}"]`,C=t=>e.to(t,a),E=t=>new d(t),c=e.vo(`close.bs.${n}`),q=e.vo(`closed.bs.${n}`),l=t=>{const{element:s}=t;e.q(s,q),t._toggleEventListeners(),t.dispose(),s.remove()};class d extends e.BaseComponent{static selector=v;static init=E;static getInstance=C;dismiss;constructor(s){super(s),this.dismiss=e.Ro(p,this.element),this._toggleEventListeners(!0)}get name(){return a}close=()=>{const{element:s}=this;s&&e.Yn(s,r.showClass)&&(e.q(s,c),c.defaultPrevented||(e.Zn(s,r.showClass),e.Yn(s,u.fadeClass)?e.ro(s,()=>l(this)):l(this)))};_toggleEventListeners=s=>{const m=s?i.E:i.r,{dismiss:o,close:g}=this;o&&m(o,e.mt,g)};dispose(){this._toggleEventListeners(),super.dispose()}}module.exports=d; +"use strict";const s=require("./base-component-CEXwoid1.js"),u=require("./fadeClass-Co6nOzNJ.js"),i=require("./showClass-D_Ms1FgG.js"),g=require("./dataBsDismiss-CMHF7If_.js"),h=require("./isDisabled-CST_xG4K.js"),n="alert",l="Alert",p=`.${n}`,v=`[${g.dataBsDismiss}="${n}"]`,C=t=>s.to(t,l),E=t=>new a(t),r=s.mo(`close.bs.${n}`),q=s.mo(`closed.bs.${n}`),c=t=>{const{element:e}=t;s.q(e,q),t._toggleEventListeners(),t.dispose(),e.remove()};class a extends s.BaseComponent{static selector=p;static init=E;static getInstance=C;dismiss;constructor(e){super(e),this.dismiss=s.Ro(v,this.element),this._toggleEventListeners(!0)}get name(){return l}close=()=>{const{element:e}=this;!e||!s.Zn(e,i.showClass)||(s.q(e,r),!r.defaultPrevented&&(s.Yn(e,i.showClass),s.Zn(e,u.fadeClass)?s.so(e,()=>c(this)):c(this)))};_toggleEventListeners=e=>{const d=e?s.E:s.r,{dismiss:o,close:m}=this;o&&!h.isDisabled(o)&&d(o,s.vt,m)};dispose(){this._toggleEventListeners(),super.dispose()}}module.exports=a; //# sourceMappingURL=alert.cjs.map diff --git a/dist/components/alert.cjs.map b/dist/components/alert.cjs.map index 0b7e6b5e..fbf79faa 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 createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getInstance,\n hasClass,\n mouseclickEvent,\n querySelector,\n removeClass,\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 */\nconst getAlertInstance = (element: Element) =>\n getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: Element) => new Alert(element);\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent, AlertEvent>(\n `close.bs.${alertString}`,\n);\nconst closedAlertEvent = createCustomEvent, AlertEvent>(\n `closed.bs.${alertString}`,\n);\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: Element | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(\n alertDismissSelector,\n this.element,\n );\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 @preserve\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 @preserve\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","querySelector","hasClass","showClass","removeClass","fadeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent"],"mappings":"0NACMA,EAAc,QCAdC,EAAiB,QCyBjBC,EAAgB,IAAIF,CAAW,GAC/BG,EAAuB,IAAIC,EAAAA,aAAa,KAAKJ,CAAW,KAMxDK,EAAoBC,GACxBC,KAAmBD,EAASL,CAAc,EAKtCO,EAAqBF,GAAqB,IAAIG,EAAMH,CAAO,EAI3DI,EAAkBC,EAAA,GACtB,YAAYX,CAAW,EACzB,EACMY,EAAmBD,EAAA,GACvB,aAAaX,CAAW,EAC1B,EASMa,EAAsBC,GAAgB,CACpC,KAAA,CAAE,QAAAR,GAAYQ,EACpBC,EAAA,EAAcT,EAASM,CAAgB,EAEvCE,EAAK,sBAAsB,EAC3BA,EAAK,QAAQ,EACbR,EAAQ,OAAO,CACjB,EAKA,MAAqBG,UAAcO,EAAAA,aAAc,CAC/C,OAAO,SAAWd,EAClB,OAAO,KAAOM,EACd,OAAO,YAAcH,EACrB,QAEA,YAAYY,EAA0B,CACpC,MAAMA,CAAM,EAGZ,KAAK,QAAUC,EAAA,GACbf,EACA,KAAK,OACP,EAGA,KAAK,sBAAsB,EAAI,CAAA,CAIjC,IAAI,MAAO,CACF,OAAAF,CAAA,CAUT,MAAQ,IAAM,CACN,KAAA,CAAE,QAAAK,GAAY,KAGhBA,GAAWa,EAAAA,GAASb,EAASc,EAAS,SAAA,IACxCL,EAAA,EAAcT,EAASI,CAAe,EAEjCA,EAAgB,mBACnBW,EAAA,GAAYf,EAASc,WAAS,EAE1BD,EAAA,GAASb,EAASgB,EAAAA,SAAS,EAC7BC,EAAAA,GAAqBjB,EAAS,IAAMO,EAAmB,IAAI,CAAC,IACpC,IAAI,GAGpC,EAMA,sBAAyBW,GAAkB,CACnC,MAAAC,EAASD,EAAME,EAAAA,EAAcC,EAAA,EAC7B,CAAE,QAAAC,EAAS,MAAAC,CAAA,EAAU,KAEvBD,GAASH,EAAOG,EAASE,EAAAA,GAAiBD,CAAK,CACrD,EAGA,SAAU,CACR,KAAK,sBAAsB,EAC3B,MAAM,QAAQ,CAAA,CAElB"} \ 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 createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getInstance,\n hasClass,\n mouseclickEvent,\n querySelector,\n removeClass,\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\";\nimport isDisabled from \"~/util/isDisabled\";\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 */\nconst getAlertInstance = (element: Element) =>\n getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: Element) => new Alert(element);\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent, AlertEvent>(\n `close.bs.${alertString}`,\n);\nconst closedAlertEvent = createCustomEvent, AlertEvent>(\n `closed.bs.${alertString}`,\n);\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: Element | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(\n alertDismissSelector,\n this.element,\n );\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 if @preserve\n if (!element || !hasClass(element, showClass)) return;\n dispatchEvent(element, closeAlertEvent);\n\n if (closeAlertEvent.defaultPrevented) return;\n\n removeClass(element, showClass);\n\n if (hasClass(element, fadeClass)) {\n emulateTransitionEnd(element, () => alertTransitionEnd(this));\n } else alertTransitionEnd(this);\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 @preserve\n if (dismiss && !isDisabled(dismiss)) {\n action(dismiss, mouseclickEvent, close);\n }\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","querySelector","hasClass","showClass","removeClass","fadeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","isDisabled","mouseclickEvent"],"mappings":"sNACMA,EAAc,QCAdC,EAAiB,QC0BjBC,EAAgB,IAAIF,CAAW,GAC/BG,EAAuB,IAAIC,EAAAA,aAAa,KAAKJ,CAAW,KAMxDK,EAAoBC,GACxBC,KAAmBD,EAASL,CAAc,EAKtCO,EAAqBF,GAAqB,IAAIG,EAAMH,CAAO,EAI3DI,EAAkBC,EAAA,GACtB,YAAYX,CAAW,EACzB,EACMY,EAAmBD,EAAA,GACvB,aAAaX,CAAW,EAC1B,EASMa,EAAsBC,GAAgB,CACpC,KAAA,CAAE,QAAAR,GAAYQ,EACpBC,EAAA,EAAcT,EAASM,CAAgB,EAEvCE,EAAK,sBAAsB,EAC3BA,EAAK,QAAQ,EACbR,EAAQ,OAAO,CACjB,EAKA,MAAqBG,UAAcO,EAAAA,aAAc,CAC/C,OAAO,SAAWd,EAClB,OAAO,KAAOM,EACd,OAAO,YAAcH,EACrB,QAEA,YAAYY,EAA0B,CACpC,MAAMA,CAAM,EAGZ,KAAK,QAAUC,EAAA,GACbf,EACA,KAAK,OACP,EAGA,KAAK,sBAAsB,EAAI,CAAA,CAIjC,IAAI,MAAO,CACF,OAAAF,CAAA,CAUT,MAAQ,IAAM,CACN,KAAA,CAAE,QAAAK,GAAY,KAGhB,CAACA,GAAW,CAACa,EAAS,GAAAb,EAASc,EAAS,SAAA,IAC5CL,EAAA,EAAcT,EAASI,CAAe,EAElC,CAAAA,EAAgB,mBAEpBW,EAAA,GAAYf,EAASc,WAAS,EAE1BD,EAAA,GAASb,EAASgB,EAAAA,SAAS,EAC7BC,EAAAA,GAAqBjB,EAAS,IAAMO,EAAmB,IAAI,CAAC,IACpC,IAAI,GAChC,EAMA,sBAAyBW,GAAkB,CACnC,MAAAC,EAASD,EAAME,EAAAA,EAAcC,EAAA,EAC7B,CAAE,QAAAC,EAAS,MAAAC,CAAA,EAAU,KAEvBD,GAAW,CAACE,aAAWF,CAAO,GACzBH,EAAAG,EAASG,KAAiBF,CAAK,CAE1C,EAGA,SAAU,CACR,KAAK,sBAAsB,EAC3B,MAAM,QAAQ,CAAA,CAElB"} \ No newline at end of file diff --git a/dist/components/alert.mjs b/dist/components/alert.mjs index 94340f40..86a24b43 100644 --- a/dist/components/alert.mjs +++ b/dist/components/alert.mjs @@ -1,9 +1,9 @@ -import { B as g, R as f, Y as n, q as l, Z as v, r as h, t as E, v as c, m as u } from "./base-component-Jx2aafTJ.mjs"; -import { E as A, r as C } from "./event-listener-CUwvA4j6.mjs"; +import { B as g, t as f, R as v, Z as n, q as l, m as c, Y as h, s as u, E, r as A, v as C } from "./base-component-CQAH5ZXF.mjs"; import { f as $ } from "./fadeClass-CLIYI_zn.mjs"; import { s as i } from "./showClass-C8hdJfjQ.mjs"; -import { d as L } from "./dataBsDismiss-DdNPQYa-.mjs"; -const e = "alert", m = "Alert", _ = `.${e}`, b = `[${L}="${e}"]`, B = (t) => E(t, m), I = (t) => new w(t), r = c( +import { d as b } from "./dataBsDismiss-DdNPQYa-.mjs"; +import { i as L } from "./isDisabled-bThyhy2g.mjs"; +const e = "alert", m = "Alert", _ = `.${e}`, B = `[${b}="${e}"]`, D = (t) => f(t, m), I = (t) => new w(t), r = c( `close.bs.${e}` ), S = c( `closed.bs.${e}` @@ -14,11 +14,11 @@ const e = "alert", m = "Alert", _ = `.${e}`, b = `[${L}="${e}"]`, B = (t) => E(t class w extends g { static selector = _; static init = I; - static getInstance = B; + static getInstance = D; dismiss; constructor(s) { - super(s), this.dismiss = f( - b, + super(s), this.dismiss = v( + B, this.element ), this._toggleEventListeners(!0); } @@ -32,7 +32,7 @@ class w extends g { */ close = () => { const { element: s } = this; - s && n(s, i) && (l(s, r), r.defaultPrevented || (v(s, i), n(s, $) ? h(s, () => a(this)) : a(this))); + !s || !n(s, i) || (l(s, r), !r.defaultPrevented && (h(s, i), n(s, $) ? u(s, () => a(this)) : a(this))); }; /** * Toggle on / off the `click` event listener. @@ -40,8 +40,8 @@ class w extends g { * @param add when `true`, event listener is added */ _toggleEventListeners = (s) => { - const d = s ? A : C, { dismiss: o, close: p } = this; - o && d(o, u, p); + const d = s ? E : A, { dismiss: o, close: p } = this; + o && !L(o) && d(o, C, p); }; dispose() { this._toggleEventListeners(), super.dispose(); diff --git a/dist/components/alert.mjs.map b/dist/components/alert.mjs.map index d06c03df..00a1ce0c 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 createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getInstance,\n hasClass,\n mouseclickEvent,\n querySelector,\n removeClass,\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 */\nconst getAlertInstance = (element: Element) =>\n getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: Element) => new Alert(element);\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent, AlertEvent>(\n `close.bs.${alertString}`,\n);\nconst closedAlertEvent = createCustomEvent, AlertEvent>(\n `closed.bs.${alertString}`,\n);\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: Element | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(\n alertDismissSelector,\n this.element,\n );\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 @preserve\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 @preserve\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","querySelector","hasClass","showClass","removeClass","fadeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent"],"mappings":";;;;;AACA,MAAMA,IAAc,SCAdC,IAAiB,SCyBjBC,IAAgB,IAAIF,CAAW,IAC/BG,IAAuB,IAAIC,CAAa,KAAKJ,CAAW,MAMxDK,IAAmB,CAACC,MACxBC,EAAmBD,GAASL,CAAc,GAKtCO,IAAoB,CAACF,MAAqB,IAAIG,EAAMH,CAAO,GAI3DI,IAAkBC;AAAAA,EACtB,YAAYX,CAAW;AACzB,GACMY,IAAmBD;AAAAA,EACvB,aAAaX,CAAW;AAC1B,GASMa,IAAqB,CAACC,MAAgB;AACpC,QAAA,EAAE,SAAAR,MAAYQ;AACpBC,EAAAA,EAAcT,GAASM,CAAgB,GAEvCE,EAAK,sBAAsB,GAC3BA,EAAK,QAAQ,GACbR,EAAQ,OAAO;AACjB;AAKA,MAAqBG,UAAcO,EAAc;AAAA,EAC/C,OAAO,WAAWd;AAAA,EAClB,OAAO,OAAOM;AAAA,EACd,OAAO,cAAcH;AAAA,EACrB;AAAA,EAEA,YAAYY,GAA0B;AACpC,UAAMA,CAAM,GAGZ,KAAK,UAAUC;AAAAA,MACbf;AAAA,MACA,KAAK;AAAA,IACP,GAGA,KAAK,sBAAsB,EAAI;AAAA,EAAA;AAAA,EAIjC,IAAI,OAAO;AACF,WAAAF;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUT,QAAQ,MAAM;AACN,UAAA,EAAE,SAAAK,MAAY;AAGpB,IAAIA,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,EAGpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,wBAAwB,CAACW,MAAkB;AACnC,UAAAC,IAASD,IAAME,IAAcC,GAC7B,EAAE,SAAAC,GAAS,OAAAC,EAAA,IAAU;AAE3B,IAAID,KAASH,EAAOG,GAASE,GAAiBD,CAAK;AAAA,EACrD;AAAA,EAGA,UAAU;AACR,SAAK,sBAAsB,GAC3B,MAAM,QAAQ;AAAA,EAAA;AAElB;"} \ 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 createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getInstance,\n hasClass,\n mouseclickEvent,\n querySelector,\n removeClass,\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\";\nimport isDisabled from \"~/util/isDisabled\";\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 */\nconst getAlertInstance = (element: Element) =>\n getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: Element) => new Alert(element);\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent, AlertEvent>(\n `close.bs.${alertString}`,\n);\nconst closedAlertEvent = createCustomEvent, AlertEvent>(\n `closed.bs.${alertString}`,\n);\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: Element | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(\n alertDismissSelector,\n this.element,\n );\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 if @preserve\n if (!element || !hasClass(element, showClass)) return;\n dispatchEvent(element, closeAlertEvent);\n\n if (closeAlertEvent.defaultPrevented) return;\n\n removeClass(element, showClass);\n\n if (hasClass(element, fadeClass)) {\n emulateTransitionEnd(element, () => alertTransitionEnd(this));\n } else alertTransitionEnd(this);\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 @preserve\n if (dismiss && !isDisabled(dismiss)) {\n action(dismiss, mouseclickEvent, close);\n }\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","querySelector","hasClass","showClass","removeClass","fadeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","isDisabled","mouseclickEvent"],"mappings":";;;;;AACA,MAAMA,IAAc,SCAdC,IAAiB,SC0BjBC,IAAgB,IAAIF,CAAW,IAC/BG,IAAuB,IAAIC,CAAa,KAAKJ,CAAW,MAMxDK,IAAmB,CAACC,MACxBC,EAAmBD,GAASL,CAAc,GAKtCO,IAAoB,CAACF,MAAqB,IAAIG,EAAMH,CAAO,GAI3DI,IAAkBC;AAAAA,EACtB,YAAYX,CAAW;AACzB,GACMY,IAAmBD;AAAAA,EACvB,aAAaX,CAAW;AAC1B,GASMa,IAAqB,CAACC,MAAgB;AACpC,QAAA,EAAE,SAAAR,MAAYQ;AACpBC,EAAAA,EAAcT,GAASM,CAAgB,GAEvCE,EAAK,sBAAsB,GAC3BA,EAAK,QAAQ,GACbR,EAAQ,OAAO;AACjB;AAKA,MAAqBG,UAAcO,EAAc;AAAA,EAC/C,OAAO,WAAWd;AAAA,EAClB,OAAO,OAAOM;AAAA,EACd,OAAO,cAAcH;AAAA,EACrB;AAAA,EAEA,YAAYY,GAA0B;AACpC,UAAMA,CAAM,GAGZ,KAAK,UAAUC;AAAAA,MACbf;AAAA,MACA,KAAK;AAAA,IACP,GAGA,KAAK,sBAAsB,EAAI;AAAA,EAAA;AAAA,EAIjC,IAAI,OAAO;AACF,WAAAF;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUT,QAAQ,MAAM;AACN,UAAA,EAAE,SAAAK,MAAY;AAGpB,IAAI,CAACA,KAAW,CAACa,EAASb,GAASc,CAAS,MAC5CL,EAAcT,GAASI,CAAe,GAElC,CAAAA,EAAgB,qBAEpBW,EAAYf,GAASc,CAAS,GAE1BD,EAASb,GAASgB,CAAS,IAC7BC,EAAqBjB,GAAS,MAAMO,EAAmB,IAAI,CAAC,MACpC,IAAI;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,wBAAwB,CAACW,MAAkB;AACnC,UAAAC,IAASD,IAAME,IAAcC,GAC7B,EAAE,SAAAC,GAAS,OAAAC,EAAA,IAAU;AAE3B,IAAID,KAAW,CAACE,EAAWF,CAAO,KACzBH,EAAAG,GAASG,GAAiBF,CAAK;AAAA,EAE1C;AAAA,EAGA,UAAU;AACR,SAAK,sBAAsB,GAC3B,MAAM,QAAQ;AAAA,EAAA;AAElB;"} \ No newline at end of file diff --git a/dist/components/base-component-CEXwoid1.js b/dist/components/base-component-CEXwoid1.js new file mode 100644 index 00000000..2ee85b0e --- /dev/null +++ b/dist/components/base-component-CEXwoid1.js @@ -0,0 +1,2 @@ +"use strict";const _="aria-describedby",X="aria-expanded",H="aria-hidden",ee="aria-modal",te="aria-pressed",oe="aria-selected",ne="focus",se="focusin",re="focusout",ie="keydown",ae="keyup",le="click",ce="mousedown",ue="hover",de="mouseenter",he="mouseleave",fe="pointerdown",ge="pointermove",me="pointerup",pe="touchstart",ye="dragstart",we='a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]',Ee="ArrowDown",be="ArrowUp",ve="ArrowLeft",Ae="ArrowRight",Le="Escape",Ne="transitionDuration",Te="transitionDelay",k="transitionend",O="transitionProperty",Me=()=>{const e=/(iPhone|iPod|iPad)/;return navigator?.userAgentData?.brands.some(t=>e.test(t.brand))||e.test(navigator?.userAgent)||!1},De=()=>{},ke=(e,t,o,n)=>{const s=n||!1;e.addEventListener(t,o,s)},xe=(e,t,o,n)=>{const s=n||!1;e.removeEventListener(t,o,s)},z=(e,t)=>e.getAttribute(t),R=(e,t)=>e.hasAttribute(t),Ce=(e,t,o)=>e.setAttribute(t,o),ze=(e,t)=>e.removeAttribute(t),je=(e,...t)=>{e.classList.add(...t)},Se=(e,...t)=>{e.classList.remove(...t)},Be=(e,t)=>e.classList.contains(t),v=e=>e!=null&&typeof e=="object"||!1,u=e=>v(e)&&typeof e.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(t=>e.nodeType===t)||!1,c=e=>u(e)&&e.nodeType===1||!1,m=new Map,y={data:m,set:(e,t,o)=>{c(e)&&(m.has(t)||m.set(t,new Map),m.get(t).set(e,o))},getAllFor:e=>m.get(e)||null,get:(e,t)=>{if(!c(e)||!t)return null;const o=y.getAllFor(t);return e&&o&&o.get(e)||null},remove:(e,t)=>{const o=y.getAllFor(t);!o||!c(e)||(o.delete(e),o.size===0&&m.delete(t))}},Pe=(e,t)=>y.get(e,t),j=e=>e?.trim().replace(/(?:^\w|[A-Z]|\b\w)/g,(t,o)=>o===0?t.toLowerCase():t.toUpperCase()).replace(/\s+/g,""),N=e=>typeof e=="string"||!1,q=e=>v(e)&&e.constructor.name==="Window"||!1,V=e=>u(e)&&e.nodeType===9||!1,d=e=>V(e)?e:u(e)?e.ownerDocument:q(e)?e.document:globalThis.document,T=(e,...t)=>Object.assign(e,...t),W=e=>{if(!e)return;if(N(e))return d().createElement(e);const{tagName:t}=e,o=W(t);if(!o)return;const n={...e};return delete n.tagName,T(o,n)},G=(e,t)=>e.dispatchEvent(t),E=(e,t,o)=>{const n=getComputedStyle(e,o),s=t.replace("webkit","Webkit").replace(/([A-Z])/g,"-$1").toLowerCase();return n.getPropertyValue(s)},Fe=e=>{const t=E(e,O),o=E(e,Te),n=o.includes("ms")?1:1e3,s=t&&t!=="none"?parseFloat(o)*n:0;return Number.isNaN(s)?0:s},I=e=>{const t=E(e,O),o=E(e,Ne),n=o.includes("ms")?1:1e3,s=t&&t!=="none"?parseFloat(o)*n:0;return Number.isNaN(s)?0:s},He=(e,t)=>{let o=0;const n=new Event(k),s=I(e),r=Fe(e);if(s){const i=l=>{l.target===e&&(t.apply(e,[l]),e.removeEventListener(k,i),o=1)};e.addEventListener(k,i),setTimeout(()=>{o||G(e,n)},s+r+17)}else t.apply(e,[n])},Oe=(e,t)=>e.focus(t),S=e=>["true",!0].includes(e)?!0:["false",!1].includes(e)?!1:["null","",null,void 0].includes(e)?null:e!==""&&!Number.isNaN(+e)?+e:e,L=e=>Object.entries(e),Re=(e,t,o,n)=>{if(!c(e))return t;const s={...o},r={...e.dataset},i={...t},l={},h="title";return L(r).forEach(([a,f])=>{const A=typeof a=="string"&&a.includes(n)?j(a.replace(n,"")):j(a);l[A]=S(f)}),L(s).forEach(([a,f])=>{s[a]=S(f)}),L(t).forEach(([a,f])=>{a in s?i[a]=s[a]:a in l?i[a]=l[a]:i[a]=a===h?z(e,h):f}),i},B=e=>Object.keys(e),qe=(e,t)=>{const o=new CustomEvent(e,{cancelable:!0,bubbles:!0});return v(t)&&T(o,t),o},Ve={passive:!0},We=e=>e.offsetHeight,Ge=(e,t)=>{L(t).forEach(([o,n])=>{if(n&&N(o)&&o.includes("--"))e.style.setProperty(o,n);else{const s={};s[o]=n,T(e.style,s)}})},x=e=>v(e)&&e.constructor.name==="Map"||!1,Ie=e=>typeof e=="number"||!1,g=new Map,Qe={set:(e,t,o,n)=>{c(e)&&(n&&n.length?(g.has(e)||g.set(e,new Map),g.get(e).set(n,setTimeout(t,o))):g.set(e,setTimeout(t,o)))},get:(e,t)=>{if(!c(e))return null;const o=g.get(e);return t&&o&&x(o)?o.get(t)||null:Ie(o)?o:null},clear:(e,t)=>{if(!c(e))return;const o=g.get(e);t&&t.length&&x(o)?(clearTimeout(o.get(t)),o.delete(t),o.size===0&&g.delete(e)):(clearTimeout(o),g.delete(e))}},$e=e=>e.toLowerCase(),Q=(e,t)=>(u(t)?t:d()).querySelectorAll(e),C=new Map;function Ue(e){const{shiftKey:t,code:o}=e,n=d(this),s=[...Q(we,this)].filter(l=>!R(l,"disabled")&&!z(l,H));if(!s.length)return;const r=s[0],i=s[s.length-1];o==="Tab"&&(t&&n.activeElement===r?(i.focus(),e.preventDefault()):!t&&n.activeElement===i&&(r.focus(),e.preventDefault()))}const Ye=e=>C.has(e)===!0,Ze=e=>{const t=Ye(e);(t?xe:ke)(e,"keydown",Ue),t?C.delete(e):C.set(e,!0)},M=e=>c(e)&&"offsetWidth"in e||!1,b=(e,t)=>{const{width:o,height:n,top:s,right:r,bottom:i,left:l}=e.getBoundingClientRect();let h=1,a=1;if(t&&M(e)){const{offsetWidth:f,offsetHeight:A}=e;h=f>0?Math.round(o)/f:1,a=A>0?Math.round(n)/A:1}return{width:o/h,height:n/a,top:s/a,right:r/h,bottom:i/a,left:l/h,x:l/h,y:s/a}},Je=e=>d(e).body,D=e=>d(e).documentElement,Ke=e=>{const t=q(e),o=t?e.scrollX:e.scrollLeft,n=t?e.scrollY:e.scrollTop;return{x:o,y:n}},$=e=>u(e)&&e.constructor.name==="ShadowRoot"||!1,_e=e=>e.nodeName==="HTML"?e:c(e)&&e.assignedSlot||u(e)&&e.parentNode||$(e)&&e.host||D(e),Xe=e=>e?V(e)?e.defaultView:u(e)?e?.ownerDocument?.defaultView:e:window,et=e=>u(e)&&["TABLE","TD","TH"].includes(e.nodeName)||!1,tt=(e,t)=>e.matches(t),ot=e=>{if(!M(e))return!1;const{width:t,height:o}=b(e),{offsetWidth:n,offsetHeight:s}=e;return Math.round(t)!==n||Math.round(o)!==s},nt=(e,t,o)=>{const n=M(t),s=b(e,n&&ot(t)),r={x:0,y:0};if(n){const i=b(t,!0);r.x=i.x+t.clientLeft,r.y=i.y+t.clientTop}return{x:s.left+o.x-r.x,y:s.top+o.y-r.y,width:s.width,height:s.height}};let P=0,F=0;const p=new Map,U=(e,t)=>{let o=t?P:F;if(t){const n=U(e),s=p.get(n)||new Map;p.has(n)||p.set(n,s),x(s)&&!s.has(t)?(s.set(t,o),P+=1):o=s.get(t)}else{const n=e.id||e;p.has(n)?o=p.get(n):(p.set(n,o),F+=1)}return o},st=e=>Array.isArray(e)||!1,rt=e=>{if(!u(e))return!1;const{top:t,bottom:o}=b(e),{clientHeight:n}=D(e);return t<=n&&o>=0},it=e=>typeof e=="function"||!1,at=e=>v(e)&&e.constructor.name==="NodeList"||!1,lt=e=>D(e).dir==="rtl",Y=(e,t)=>!e||!t?null:e.closest(t)||Y(e.getRootNode().host,t)||null,Z=(e,t)=>c(e)?e:(c(t)?t:d()).querySelector(e),ct=(e,t)=>(u(t)?t:d()).getElementsByTagName(e),ut=(e,t)=>d(t).getElementById(e),dt=(e,t)=>(t&&u(t)?t:d()).getElementsByClassName(e),w={},J=e=>{const{type:t,currentTarget:o}=e;w[t].forEach((n,s)=>{o===s&&n.forEach((r,i)=>{i.apply(s,[e]),typeof r=="object"&&r.once&&K(s,t,i,r)})})},ht=(e,t,o,n)=>{w[t]||(w[t]=new Map);const s=w[t];s.has(e)||s.set(e,new Map);const r=s.get(e),{size:i}=r;r.set(o,n),i||e.addEventListener(t,J,n)},K=(e,t,o,n)=>{const s=w[t],r=s&&s.get(e),i=r&&r.get(o),l=i!==void 0?i:n;r&&r.has(o)&&r.delete(o),s&&(!r||!r.size)&&s.delete(e),(!s||!s.size)&&delete w[t],(!r||!r.size)&&e.removeEventListener(t,J,l)},ft="5.1.0",gt=ft;class mt{constructor(t,o){let n;try{if(c(t))n=t;else if(N(t)){if(n=Z(t),!n)throw Error(`"${t}" is not a valid selector.`)}else throw Error("your target is not an instance of HTMLElement.")}catch(r){throw Error(`${this.name} Error: ${r.message}`)}const s=y.get(n,this.name);s&&s._toggleEventListeners(),this.element=n,this.options=this.defaults&&B(this.defaults).length?Re(n,this.defaults,o||{},"bs"):{},y.set(n,this.name,this)}get version(){return gt}get name(){return"BaseComponent"}get defaults(){return{}}_toggleEventListeners=()=>{};dispose(){y.remove(this.element,this.name),B(this).forEach(t=>{delete this[t]})}}exports.A=_e;exports.Ae=U;exports.Ao=Ze;exports.At=he;exports.BaseComponent=mt;exports.Be=te;exports.Co=nt;exports.De=_;exports.Do=rt;exports.E=ht;exports.Ee=tt;exports.Eo=Ge;exports.Et=ce;exports.Fe=oe;exports.Gn=ze;exports.Go=dt;exports.It=me;exports.J=H;exports.N=T;exports.Ne=ct;exports.Oe=X;exports.Ot=fe;exports.Pe=ee;exports.Qn=Ce;exports.Qt=pe;exports.Ro=Z;exports.S=D;exports.Se=st;exports.So=Je;exports.Uo=lt;exports.Vo=at;exports.Yn=Se;exports.Zn=Be;exports.ao=Oe;exports.at=se;exports.be=et;exports.bo=We;exports.cn=Ae;exports.ct=ne;exports.d=d;exports.de=Q;exports.ee=De;exports.ft=ie;exports.g=E;exports.gn=Le;exports.gt=ae;exports.ho=Qe;exports.it=re;exports.j=z;exports.je=ye;exports.jo=ut;exports.k=N;exports.ke=Y;exports.ko=Ke;exports.l=u;exports.m=M;exports.me=$;exports.mo=qe;exports.oe=R;exports.on=Ee;exports.q=G;exports.qn=je;exports.r=K;exports.rn=ve;exports.se=W;exports.sn=be;exports.so=He;exports.to=Pe;exports.ue=I;exports.ve=Xe;exports.vo=Ve;exports.vt=le;exports.w=b;exports.wt=de;exports.yo=$e;exports.yt=ue;exports.zn=Me;exports.zo=it;exports.zt=ge; +//# sourceMappingURL=base-component-CEXwoid1.js.map diff --git a/dist/components/base-component-CEXwoid1.js.map b/dist/components/base-component-CEXwoid1.js.map new file mode 100644 index 00000000..20b6518b --- /dev/null +++ b/dist/components/base-component-CEXwoid1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"base-component-CEXwoid1.js","sources":["../../node_modules/.pnpm/@thednp+shorty@https+++codeload.github.com+thednp+shorty+tar.gz+6d62cceb75a6b1cd3a73cced7a052ef03ae826b2/node_modules/@thednp/shorty/dist/shorty.mjs","../../node_modules/.pnpm/@thednp+event-listener@2.0.8/node_modules/@thednp/event-listener/dist/event-listener.mjs","../../src/version.ts","../../src/components/base-component.ts"],"sourcesContent":["const Ce = \"2.0.8\", Le = \"aria-checked\", Me = \"aria-description\", De = \"aria-describedby\", Oe = \"aria-expanded\", xe = \"aria-haspopup\", J = \"aria-hidden\", ze = \"aria-label\", Ie = \"aria-labelledby\", Pe = \"aria-modal\", Be = \"aria-pressed\", Fe = \"aria-selected\", He = \"aria-valuemin\", Ve = \"aria-valuemax\", Ue = \"aria-valuenow\", We = \"aria-valuetext\", X = \"abort\", tt = \"beforeunload\", et = \"blur\", nt = \"change\", ot = \"contextmenu\", V = \"DOMContentLoaded\", st = \"DOMMouseScroll\", rt = \"error\", ct = \"focus\", at = \"focusin\", it = \"focusout\", ut = \"gesturechange\", lt = \"gestureend\", dt = \"gesturestart\", ft = \"keydown\", pt = \"keypress\", gt = \"keyup\", mt = \"load\", vt = \"click\", bt = \"dblclick\", Et = \"mousedown\", ht = \"mouseup\", yt = \"hover\", wt = \"mouseenter\", At = \"mouseleave\", St = \"mousein\", Tt = \"mouseout\", kt = \"mouseover\", Nt = \"mousemove\", Ct = \"mousewheel\", Lt = \"move\", Mt = \"orientationchange\", Dt = \"pointercancel\", Ot = \"pointerdown\", xt = \"pointerleave\", zt = \"pointermove\", It = \"pointerup\", Pt = \"readystatechange\", Bt = \"reset\", Ft = \"resize\", Ht = \"select\", Vt = \"selectend\", Ut = \"selectstart\", Wt = \"scroll\", Rt = \"submit\", Qt = \"touchstart\", jt = \"touchmove\", Gt = \"touchcancel\", Kt = \"touchend\", qt = \"unload\", Re = {\n DOMContentLoaded: V,\n DOMMouseScroll: st,\n abort: X,\n beforeunload: tt,\n blur: et,\n change: nt,\n click: vt,\n contextmenu: ot,\n dblclick: bt,\n error: rt,\n focus: ct,\n focusin: at,\n focusout: it,\n gesturechange: ut,\n gestureend: lt,\n gesturestart: dt,\n hover: yt,\n keydown: ft,\n keypress: pt,\n keyup: gt,\n load: mt,\n mousedown: Et,\n mousemove: Nt,\n mousein: St,\n mouseout: Tt,\n mouseenter: wt,\n mouseleave: At,\n mouseover: kt,\n mouseup: ht,\n mousewheel: Ct,\n move: Lt,\n orientationchange: Mt,\n pointercancel: Dt,\n pointerdown: Ot,\n pointerleave: xt,\n pointermove: zt,\n pointerup: It,\n readystatechange: Pt,\n reset: Bt,\n resize: Ft,\n scroll: Wt,\n select: Ht,\n selectend: Vt,\n selectstart: Ut,\n submit: Rt,\n touchcancel: Gt,\n touchend: Kt,\n touchmove: jt,\n touchstart: Qt,\n unload: qt\n}, Qe = \"drag\", je = \"dragstart\", Ge = \"dragenter\", Ke = \"dragleave\", qe = \"dragover\", Ye = \"dragend\", Ze = \"loadstart\", _e = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, $e = { down: \"mousedown\", up: \"mouseup\" }, Je = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"], Xe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, tn = { in: \"focusin\", out: \"focusout\" }, Yt = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]', en = {\n Backspace: \"Backspace\",\n Tab: \"Tab\",\n Enter: \"Enter\",\n Shift: \"Shift\",\n Control: \"Control\",\n Alt: \"Alt\",\n Pause: \"Pause\",\n CapsLock: \"CapsLock\",\n Escape: \"Escape\",\n Scape: \"Space\",\n ArrowLeft: \"ArrowLeft\",\n ArrowUp: \"ArrowUp\",\n ArrowRight: \"ArrowRight\",\n ArrowDown: \"ArrowDown\",\n Insert: \"Insert\",\n Delete: \"Delete\",\n Meta: \"Meta\",\n ContextMenu: \"ContextMenu\",\n ScrollLock: \"ScrollLock\"\n}, nn = \"Alt\", on = \"ArrowDown\", sn = \"ArrowUp\", rn = \"ArrowLeft\", cn = \"ArrowRight\", an = \"Backspace\", un = \"CapsLock\", ln = \"Control\", dn = \"Delete\", fn = \"Enter\", pn = \"NumpadEnter\", gn = \"Escape\", mn = \"Insert\", vn = \"Meta\", bn = \"Pause\", En = \"ScrollLock\", hn = \"Shift\", yn = \"Space\", wn = \"Tab\", Zt = \"animationDuration\", _t = \"animationDelay\", U = \"animationName\", C = \"animationend\", $t = \"transitionDuration\", Jt = \"transitionDelay\", L = \"transitionend\", W = \"transitionProperty\", An = \"addEventListener\", Sn = \"removeEventListener\", Tn = {\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}, kn = \"offsetHeight\", Nn = \"offsetWidth\", Cn = \"scrollHeight\", Ln = \"scrollWidth\", Mn = \"tabindex\", Dn = navigator.userAgentData, { userAgent: Xt } = navigator, On = Xt, xn = () => {\n const t = /iPhone|iPad|iPod|Android/i;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(navigator?.userAgent) || !1;\n}, zn = () => {\n const t = /(iPhone|iPod|iPad)/;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(\n navigator?.userAgent\n ) || !1;\n}, In = () => navigator?.userAgent?.includes(\"Firefox\") || !1, te = () => typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\"), Pn = () => [\"webkitPerspective\", \"perspective\"].some((t) => t in document.head.style), ee = () => {\n}, R = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(\n e,\n n,\n s\n );\n}, Q = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(\n e,\n n,\n s\n );\n}, ne = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Q(t, e, s, o));\n };\n R(t, e, s, o);\n}, Bn = () => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n ne(document, V, ee, e);\n } catch {\n }\n return t;\n}, Fn = () => [\"webkitTransform\", \"transform\"].some((t) => t in document.head.style), Hn = () => \"ontouchstart\" in window || \"msMaxTouchPoints\" in navigator, Vn = () => [\"webkitAnimation\", \"animation\"].some((t) => t in document.head.style), Un = () => [\"webkitTransition\", \"transition\"].some((t) => t in document.head.style), j = (t, e) => t.getAttribute(e), Wn = (t, e, n) => e.getAttributeNS(t, n), oe = (t, e) => t.hasAttribute(e), Rn = (t, e, n) => e.hasAttributeNS(t, n), Qn = (t, e, n) => t.setAttribute(e, n), jn = (t, e, n, o) => e.setAttributeNS(t, n, o), Gn = (t, e) => t.removeAttribute(e), Kn = (t, e, n) => e.removeAttributeNS(t, n), qn = (t, ...e) => {\n t.classList.add(...e);\n}, Yn = (t, ...e) => {\n t.classList.remove(...e);\n}, Zn = (t, e) => t.classList.contains(e), { body: _n } = document, { documentElement: $n } = document, { head: Jn } = document, Xn = (t) => Array.from(t), b = (t) => t != null && typeof t == \"object\" || !1, l = (t) => b(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some(\n (e) => t.nodeType === e\n) || !1, u = (t) => l(t) && t.nodeType === 1 || !1, h = /* @__PURE__ */ new Map(), D = {\n data: h,\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 h.has(e) || h.set(e, /* @__PURE__ */ new Map()), h.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) => h.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 = D.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 = D.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && h.delete(e));\n }\n}, to = (t, e) => D.get(t, e), eo = (t) => t?.charAt(0).toUpperCase() + t?.slice(1), I = (t) => t?.trim().replace(\n /(?:^\\w|[A-Z]|\\b\\w)/g,\n (e, n) => n === 0 ? e.toLowerCase() : e.toUpperCase()\n).replace(/\\s+/g, \"\"), k = (t) => typeof t == \"string\" || !1, G = (t) => b(t) && t.constructor.name === \"Window\" || !1, K = (t) => l(t) && t.nodeType === 9 || !1, d = (t) => K(t) ? t : l(t) ? t.ownerDocument : G(t) ? t.document : globalThis.document, N = (t, ...e) => Object.assign(t, ...e), se = (t) => {\n if (!t) return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = se(e);\n if (!n) return;\n const o = { ...t };\n return delete o.tagName, N(n, o);\n}, re = (t, e) => {\n if (!t || !e) return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = re(t, n);\n if (!o) return;\n const s = { ...e };\n return delete s.tagName, N(o, s);\n}, q = (t, e) => t.dispatchEvent(e), no = (t, e, n) => n.indexOf(t) === e, g = (t, e, n) => {\n const o = getComputedStyle(t, n), s = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return o.getPropertyValue(s);\n}, ce = (t) => {\n const e = g(t, U), n = g(t, _t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ae = (t) => {\n const e = g(t, U), n = g(t, Zt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, oo = (t, e) => {\n let n = 0;\n const o = new Event(C), s = ae(t), r = ce(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), 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}, ie = (t) => {\n const e = g(t, W), n = g(t, Jt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ue = (t) => {\n const e = g(t, W), n = g(t, $t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, so = (t, e) => {\n let n = 0;\n const o = new Event(L), s = ue(t), r = ie(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(L, a), n = 1);\n };\n t.addEventListener(L, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ro = (t) => Float32Array.from(Array.from(t)), co = (t) => Float64Array.from(Array.from(t)), ao = (t, e) => t.focus(e), io = (t) => t?.trim().replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/\\s+/g, \"-\").toLowerCase(), P = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, T = (t) => Object.entries(t), uo = (t, e, n, o) => {\n if (!u(t)) return e;\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, i = {}, f = \"title\";\n return T(r).forEach(([c, p]) => {\n const E = o && typeof c == \"string\" && c.includes(o) ? I(c.replace(o, \"\")) : I(c);\n i[E] = P(p);\n }), T(s).forEach(([c, p]) => {\n s[c] = P(p);\n }), T(e).forEach(([c, p]) => {\n c in s ? a[c] = s[c] : c in i ? a[c] = i[c] : a[c] = c === f ? j(t, f) : p;\n }), a;\n}, lo = (t, e) => b(t) && (Object.hasOwn(t, e) || e in t), fo = (t) => Object.keys(t), po = (t) => Object.values(t), go = (t) => Object.fromEntries(t), mo = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return b(e) && N(n, e), n;\n}, vo = { passive: !0 }, bo = (t) => t.offsetHeight, Eo = (t, e) => {\n T(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, N(t.style, s);\n }\n });\n}, O = (t) => b(t) && t.constructor.name === \"Map\" || !1, le = (t) => typeof t == \"number\" || !1, v = /* @__PURE__ */ new Map(), ho = {\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 ? (v.has(t) || v.set(t, /* @__PURE__ */ new Map()), v.get(t).set(o, setTimeout(e, n))) : v.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 = v.get(t);\n return e && n && O(n) ? n.get(e) || null : le(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 = v.get(t);\n e && e.length && O(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && v.delete(t)) : (clearTimeout(n), v.delete(t));\n }\n}, yo = (t) => t.toLowerCase(), wo = (t) => t.toUpperCase(), de = (t, e) => (l(e) ? e : d()).querySelectorAll(t), x = /* @__PURE__ */ new Map();\nfunction fe(t) {\n const { shiftKey: e, code: n } = t, o = d(this), s = [\n ...de(Yt, this)\n ].filter(\n (i) => !oe(i, \"disabled\") && !j(i, J)\n );\n if (!s.length) return;\n const r = s[0], a = s[s.length - 1];\n n === \"Tab\" && (e && o.activeElement === r ? (a.focus(), t.preventDefault()) : !e && o.activeElement === a && (r.focus(), t.preventDefault()));\n}\nconst pe = (t) => x.has(t) === !0, Ao = (t) => {\n const e = pe(t);\n (e ? Q : R)(t, \"keydown\", fe), e ? x.delete(t) : x.set(t, !0);\n}, m = (t) => u(t) && \"offsetWidth\" in t || !1, w = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: i } = t.getBoundingClientRect();\n let f = 1, c = 1;\n if (e && m(t)) {\n const { offsetWidth: p, offsetHeight: E } = t;\n f = p > 0 ? Math.round(n) / p : 1, c = E > 0 ? Math.round(o) / E : 1;\n }\n return {\n width: n / f,\n height: o / c,\n top: s / c,\n right: r / f,\n bottom: a / c,\n left: i / f,\n x: i / f,\n y: s / c\n };\n}, So = (t) => d(t).body, S = (t) => d(t).documentElement, To = (t) => d(t).head, ge = (t) => l(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\", ko = (t) => {\n const e = G(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, me = (t) => l(t) && t.constructor.name === \"ShadowRoot\" || !1, A = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || l(t) && t.parentNode || me(t) && t.host || S(t), ve = (t) => t ? K(t) ? t.defaultView : l(t) ? t?.ownerDocument?.defaultView : t : window, be = (t) => l(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, Ee = (t, e) => t.matches(e), M = (t) => g(t, \"position\") === \"static\", he = (t) => g(t, \"position\") === \"fixed\", Y = (t) => [\":popover-open\", \":modal\"].some((e) => {\n try {\n return Ee(t, e);\n } catch {\n return !1;\n }\n}), Z = (t) => {\n const e = te(), n = u(t) ? getComputedStyle(t) : t;\n return n.transform !== \"none\" || n.perspective !== \"none\" || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || [\"transform\", \"perspective\", \"filter\"].some(\n (o) => (n.willChange || \"\").includes(o)\n ) || [\"paint\", \"layout\", \"strict\", \"content\"].some(\n (o) => (n.contain || \"\").includes(o)\n );\n}, ye = (t) => {\n let e = A(t);\n for (; u(e) && !z(e); ) {\n if (Z(e))\n return e;\n if (Y(e))\n return null;\n e = A(e);\n }\n return null;\n}, z = (t) => [\"html\", \"body\", \"#document\"].includes(ge(t)), B = (t) => {\n if (!m(t) || he(t))\n return null;\n let e = t.offsetParent;\n return S(t) === e && (e = e.ownerDocument.body), e;\n}, No = (t) => {\n const e = ve(t);\n if (!l(t) || Y(t))\n return e;\n if (!m(t)) {\n let o = A(t);\n for (; o && !z(o); ) {\n if (u(o) && !M(o))\n return o;\n o = A(o);\n }\n return e;\n }\n let n = B(t);\n for (; n && be(n) && M(n); )\n n = B(n);\n return n && z(n) && M(n) && !Z(n) ? e : n || ye(t) || e;\n}, we = (t) => {\n if (!m(t)) return !1;\n const { width: e, height: n } = w(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, Co = (t, e, n) => {\n const o = m(e), s = w(\n t,\n o && we(e)\n ), r = { x: 0, y: 0 };\n if (o) {\n const a = w(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 F = 0, H = 0;\nconst y = /* @__PURE__ */ new Map(), Ae = (t, e) => {\n let n = e ? F : H;\n if (e) {\n const o = Ae(t), s = y.get(o) || /* @__PURE__ */ new Map();\n y.has(o) || y.set(o, s), O(s) && !s.has(e) ? (s.set(e, n), F += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n y.has(o) ? n = y.get(o) : (y.set(o, n), H += 1);\n }\n return n;\n}, Lo = (t) => {\n const e = [\"HTML\", \"BODY\"];\n let { parentNode: n } = t;\n if (!m(n))\n for (; n && !e.includes(n.nodeName) && (n = A(n), !m(n)); )\n ;\n const {\n offsetLeft: o,\n offsetTop: s,\n offsetParent: r\n } = n, { top: a, left: i } = n.getBoundingClientRect(), { top: f, left: c, width: p, height: E } = t.getBoundingClientRect(), _ = s + (f - a), $ = o + (c - i);\n return {\n offsetTop: _,\n offsetLeft: $,\n offsetWidth: p,\n offsetHeight: E,\n offsetParent: r\n };\n}, Se = (t) => Array.isArray(t) || !1, Mo = (t) => l(t) && t.nodeName === \"CANVAS\" || !1, Te = (t) => m(t) && !!t.shadowRoot || !1, Do = (t) => {\n if (!l(t)) return !1;\n const { top: e, bottom: n } = w(t), { clientHeight: o } = S(t);\n return e <= o && n >= 0;\n}, Oo = (t) => {\n if (!u(t)) return !1;\n const { clientWidth: e, clientHeight: n } = S(t), { top: o, left: s, bottom: r, right: a } = w(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, xo = (t) => Se(t) && t.every(u) || !1, zo = (t) => typeof t == \"function\" || !1, Io = (t) => b(t) && t.constructor.name === \"HTMLCollection\" || !1, Po = (t) => m(t) && t.tagName === \"IMG\" || !1, Bo = (t) => {\n if (!k(t)) return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Fo = (t) => b(t) && t.constructor.name === \"WeakMap\" || !1, Ho = (t) => l(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some(\n (e) => t.constructor.name.includes(e)\n) || !1, Vo = (t) => b(t) && t.constructor.name === \"NodeList\" || !1, Uo = (t) => S(t).dir === \"rtl\", Wo = (t) => l(t) && t.constructor.name.includes(\"SVG\") || !1, ke = (t, e) => !t || !e ? null : t.closest(e) || ke(t.getRootNode().host, e) || null, Ro = (t, e) => u(t) ? t : (u(e) ? e : d()).querySelector(t), Ne = (t, e) => (l(e) ? e : d()).getElementsByTagName(\n t\n), Qo = (t) => [...Ne(\"*\", t)].filter(Te), jo = (t, e) => d(e).getElementById(t), Go = (t, e) => (e && l(e) ? e : d()).getElementsByClassName(\n t\n);\nexport {\n Xn as ArrayFrom,\n V as DOMContentLoadedEvent,\n st as DOMMouseScrollEvent,\n D as Data,\n ro as Float32ArrayFrom,\n co as Float64ArrayFrom,\n N as ObjectAssign,\n T as ObjectEntries,\n go as ObjectFromEntries,\n lo as ObjectHasOwn,\n fo as ObjectKeys,\n po as ObjectValues,\n ho as Timer,\n X as abortEvent,\n qn as addClass,\n An as addEventListener,\n _t as animationDelay,\n Zt as animationDuration,\n C as animationEndEvent,\n U as animationName,\n Le as ariaChecked,\n De as ariaDescribedBy,\n Me as ariaDescription,\n Oe as ariaExpanded,\n xe as ariaHasPopup,\n J as ariaHidden,\n ze as ariaLabel,\n Ie as ariaLabelledBy,\n Pe as ariaModal,\n Be as ariaPressed,\n Fe as ariaSelected,\n Ve as ariaValueMax,\n He as ariaValueMin,\n Ue as ariaValueNow,\n We as ariaValueText,\n tt as beforeunloadEvent,\n Tn as bezierEasings,\n et as blurEvent,\n I as camelCase,\n eo as capitalize,\n nt as changeEvent,\n ke as closest,\n ot as contextmenuEvent,\n mo as createCustomEvent,\n se as createElement,\n re as createElementNS,\n q as dispatchEvent,\n no as distinct,\n _n as documentBody,\n $n as documentElement,\n Jn as documentHead,\n Qe as dragEvent,\n Ye as dragendEvent,\n Ge as dragenterEvent,\n Ke as dragleaveEvent,\n qe as dragoverEvent,\n je as dragstartEvent,\n oo as emulateAnimationEnd,\n so as emulateTransitionEnd,\n rt as errorEvent,\n ao as focus,\n ct as focusEvent,\n tn as focusEvents,\n Yt as focusableSelector,\n at as focusinEvent,\n it as focusoutEvent,\n ut as gesturechangeEvent,\n lt as gestureendEvent,\n dt as gesturestartEvent,\n j as getAttribute,\n Wn as getAttributeNS,\n w as getBoundingClientRect,\n Qo as getCustomElements,\n d as getDocument,\n So as getDocumentBody,\n S as getDocumentElement,\n To as getDocumentHead,\n ce as getElementAnimationDelay,\n ae as getElementAnimationDuration,\n jo as getElementById,\n g as getElementStyle,\n ie as getElementTransitionDelay,\n ue as getElementTransitionDuration,\n Go as getElementsByClassName,\n Ne as getElementsByTagName,\n to as getInstance,\n ge as getNodeName,\n ko as getNodeScroll,\n No as getOffsetParent,\n A as getParentNode,\n Co as getRectRelativeToOffsetParent,\n Lo as getSVGOffset,\n Ae as getUID,\n ve as getWindow,\n oe as hasAttribute,\n Rn as hasAttributeNS,\n Zn as hasClass,\n pe as hasFocusTrap,\n zn as isApple,\n Se as isArray,\n Mo as isCanvas,\n Te as isCustomElement,\n K as isDocument,\n u as isElement,\n Do as isElementInScrollRange,\n Oo as isElementInViewport,\n xo as isElementsArray,\n In as isFirefox,\n zo as isFunction,\n Io as isHTMLCollection,\n m as isHTMLElement,\n Po as isHTMLImageElement,\n Bo as isJSON,\n O as isMap,\n Ho as isMedia,\n xn as isMobile,\n l as isNode,\n Vo as isNodeList,\n le as isNumber,\n b as isObject,\n Uo as isRTL,\n Wo as isSVGElement,\n we as isScaledElement,\n me as isShadowRoot,\n k as isString,\n be as isTableElement,\n Fo as isWeakMap,\n te as isWebKit,\n G as isWindow,\n io as kebabCase,\n nn as keyAlt,\n on as keyArrowDown,\n rn as keyArrowLeft,\n cn as keyArrowRight,\n sn as keyArrowUp,\n an as keyBackspace,\n un as keyCapsLock,\n ln as keyControl,\n dn as keyDelete,\n fn as keyEnter,\n gn as keyEscape,\n mn as keyInsert,\n vn as keyMeta,\n pn as keyNumpadEnter,\n bn as keyPause,\n En as keyScrollLock,\n hn as keyShift,\n yn as keySpace,\n wn as keyTab,\n en as keyboardEventKeys,\n ft as keydownEvent,\n pt as keypressEvent,\n gt as keyupEvent,\n mt as loadEvent,\n Ze as loadstartEvent,\n Ee as matches,\n $e as mouseClickEvents,\n Je as mouseHoverEvents,\n _e as mouseSwipeEvents,\n vt as mouseclickEvent,\n bt as mousedblclickEvent,\n Et as mousedownEvent,\n wt as mouseenterEvent,\n yt as mousehoverEvent,\n St as mouseinEvent,\n At as mouseleaveEvent,\n Nt as mousemoveEvent,\n Tt as mouseoutEvent,\n kt as mouseoverEvent,\n ht as mouseupEvent,\n Ct as mousewheelEvent,\n Lt as moveEvent,\n Re as nativeEvents,\n ee as noop,\n uo as normalizeOptions,\n P as normalizeValue,\n Q as off,\n kn as offsetHeight,\n Nn as offsetWidth,\n R as on,\n ne as one,\n Mt as orientationchangeEvent,\n vo as passiveHandler,\n Dt as pointercancelEvent,\n Ot as pointerdownEvent,\n xt as pointerleaveEvent,\n zt as pointermoveEvent,\n It as pointerupEvent,\n Ro as querySelector,\n de as querySelectorAll,\n Pt as readystatechangeEvent,\n bo as reflow,\n Gn as removeAttribute,\n Kn as removeAttributeNS,\n Yn as removeClass,\n Sn as removeEventListener,\n Bt as resetEvent,\n Ft as resizeEvent,\n Wt as scrollEvent,\n Cn as scrollHeight,\n Ln as scrollWidth,\n Ht as selectEvent,\n Vt as selectendEvent,\n Ut as selectstartEvent,\n Qn as setAttribute,\n jn as setAttributeNS,\n Eo as setElementStyle,\n Rt as submitEvent,\n Pn as support3DTransform,\n Vn as supportAnimation,\n Bn as supportPassive,\n Hn as supportTouch,\n Fn as supportTransform,\n Un as supportTransition,\n Mn as tabindex,\n yo as toLowerCase,\n wo as toUpperCase,\n Ao as toggleFocusTrap,\n Xe as touchEvents,\n Gt as touchcancelEvent,\n Kt as touchendEvent,\n jt as touchmoveEvent,\n Qt as touchstartEvent,\n Jt as transitionDelay,\n $t as transitionDuration,\n L as transitionEndEvent,\n W as transitionProperty,\n qt as unloadEvent,\n On as userAgent,\n Dn as userAgentData,\n Ce as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const g = \"2.0.8\", e = {}, f = (t) => {\n const { type: n, currentTarget: c } = t;\n e[n].forEach((a, s) => {\n c === s && a.forEach((o, i) => {\n i.apply(s, [t]), typeof o == \"object\" && o.once && r(s, n, i, o);\n });\n });\n}, E = (t, n, c, a) => {\n e[n] || (e[n] = /* @__PURE__ */ new Map());\n const s = e[n];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(\n t\n ), { size: i } = o;\n o.set(c, a), i || t.addEventListener(\n n,\n f,\n a\n );\n}, r = (t, n, c, a) => {\n const s = e[n], o = s && s.get(t), i = o && o.get(c), d = i !== void 0 ? i : a;\n o && o.has(c) && o.delete(c), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[n], (!o || !o.size) && t.removeEventListener(\n n,\n f,\n d\n );\n}, M = E, p = r;\nexport {\n E as addListener,\n f as globalListener,\n p as off,\n M as on,\n e as registry,\n r as removeListener,\n g as version\n};\n//# sourceMappingURL=event-listener.mjs.map\n","import { version } from \"../package.json\";\n\nconst Version = version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport {\n Data,\n isElement,\n isString,\n normalizeOptions,\n ObjectKeys,\n querySelector,\n} 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: Element;\n declare options?: BaseOptions;\n\n /**\n * @param target `Element` or selector string\n * @param config component instance options\n */\n constructor(target: Element | string, config?: BaseOptions) {\n let element: Element | null;\n\n try {\n if (isElement(target)) {\n element = target as Element;\n } else if (isString(target)) {\n element = querySelector(target);\n // istanbul ignore else @preserve\n if (!element) throw Error(`\"${target}\" is not a valid selector.`);\n } else {\n throw Error(`your target is not an instance of HTMLElement.`);\n }\n } catch (e) {\n throw Error(`${this.name} Error: ${(e as Error).message}`);\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else @preserve */\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 = this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, \"bs\")\n : /* istanbul ignore next @preserve */ {};\n\n Data.set(element, this.name, this);\n }\n\n // istanbul ignore next @preserve\n get version() {\n return Version;\n }\n\n // istanbul ignore next @preserve\n get name() {\n return \"BaseComponent\";\n }\n\n // istanbul ignore next @preserve\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n // istanbul ignore next @preserve coverage wise this isn't important\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":["De","Oe","J","Pe","Be","Fe","ct","at","it","ft","gt","vt","Et","yt","wt","At","Ot","zt","It","Qt","je","Yt","on","sn","rn","cn","gn","$t","Jt","L","W","zn","t","e","ee","R","n","o","Q","j","oe","Qn","Gn","qn","Yn","Zn","b","l","u","h","D","to","I","k","G","K","N","se","q","g","ie","ue","so","a","i","ao","P","T","uo","f","c","p","E","fo","mo","vo","bo","Eo","O","le","v","ho","yo","de","x","fe","pe","Ao","m","w","So","S","ko","me","A","ve","be","Ee","we","Co","F","H","y","Ae","Se","Do","zo","Vo","Uo","ke","Ro","Ne","jo","Go","r","d","Version","version","BaseComponent","target","config","element","isElement","isString","querySelector","prevInstance","Data","ObjectKeys","normalizeOptions","prop"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/dist/components/base-component-CQAH5ZXF.mjs b/dist/components/base-component-CQAH5ZXF.mjs new file mode 100644 index 00000000..6dc674cb --- /dev/null +++ b/dist/components/base-component-CQAH5ZXF.mjs @@ -0,0 +1,381 @@ +const de = "aria-describedby", he = "aria-expanded", V = "aria-hidden", fe = "aria-modal", ge = "aria-pressed", me = "aria-selected", pe = "focus", ye = "focusin", we = "focusout", be = "keydown", ve = "keyup", Ee = "click", Ae = "mousedown", Le = "hover", Te = "mouseenter", Ne = "mouseleave", Me = "pointerdown", xe = "pointermove", De = "pointerup", ke = "touchstart", Ce = "dragstart", $ = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]', je = "ArrowDown", ze = "ArrowUp", Be = "ArrowLeft", He = "ArrowRight", Pe = "Escape", I = "transitionDuration", q = "transitionDelay", T = "transitionend", F = "transitionProperty", Fe = () => { + const e = /(iPhone|iPod|iPad)/; + return navigator?.userAgentData?.brands.some( + (t) => e.test(t.brand) + ) || e.test( + navigator?.userAgent + ) || !1; +}, Se = () => { +}, G = (e, t, s, n) => { + const a = n || !1; + e.addEventListener( + t, + s, + a + ); +}, Q = (e, t, s, n) => { + const a = n || !1; + e.removeEventListener( + t, + s, + a + ); +}, S = (e, t) => e.getAttribute(t), U = (e, t) => e.hasAttribute(t), Oe = (e, t, s) => e.setAttribute(t, s), Re = (e, t) => e.removeAttribute(t), We = (e, ...t) => { + e.classList.add(...t); +}, Ve = (e, ...t) => { + e.classList.remove(...t); +}, $e = (e, t) => e.classList.contains(t), b = (e) => e != null && typeof e == "object" || !1, u = (e) => b(e) && typeof e.nodeType == "number" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some( + (t) => e.nodeType === t +) || !1, c = (e) => u(e) && e.nodeType === 1 || !1, m = /* @__PURE__ */ new Map(), y = { + data: m, + /** + * Sets web components data. + * + * @param element target element + * @param component the component's name or a unique key + * @param instance the component instance + */ + set: (e, t, s) => { + c(e) && (m.has(t) || m.set(t, /* @__PURE__ */ new Map()), m.get(t).set(e, s)); + }, + /** + * Returns all instances for specified component. + * + * @param component the component's name or a unique key + * @returns all the component instances + */ + getAllFor: (e) => m.get(e) || null, + /** + * Returns the instance associated with the target. + * + * @param element target element + * @param component the component's name or a unique key + * @returns the instance + */ + get: (e, t) => { + if (!c(e) || !t) return null; + const s = y.getAllFor(t); + return e && s && s.get(e) || null; + }, + /** + * Removes web components data. + * + * @param element target element + * @param component the component's name or a unique key + */ + remove: (e, t) => { + const s = y.getAllFor(t); + !s || !c(e) || (s.delete(e), s.size === 0 && m.delete(t)); + } +}, Ie = (e, t) => y.get(e, t), j = (e) => e?.trim().replace( + /(?:^\w|[A-Z]|\b\w)/g, + (t, s) => s === 0 ? t.toLowerCase() : t.toUpperCase() +).replace(/\s+/g, ""), x = (e) => typeof e == "string" || !1, O = (e) => b(e) && e.constructor.name === "Window" || !1, R = (e) => u(e) && e.nodeType === 9 || !1, d = (e) => R(e) ? e : u(e) ? e.ownerDocument : O(e) ? e.document : globalThis.document, D = (e, ...t) => Object.assign(e, ...t), Y = (e) => { + if (!e) return; + if (x(e)) + return d().createElement(e); + const { tagName: t } = e, s = Y(t); + if (!s) return; + const n = { ...e }; + return delete n.tagName, D(s, n); +}, Z = (e, t) => e.dispatchEvent(t), A = (e, t, s) => { + const n = getComputedStyle(e, s), a = t.replace("webkit", "Webkit").replace(/([A-Z])/g, "-$1").toLowerCase(); + return n.getPropertyValue(a); +}, J = (e) => { + const t = A(e, F), s = A(e, q), n = s.includes("ms") ? 1 : 1e3, a = t && t !== "none" ? parseFloat(s) * n : 0; + return Number.isNaN(a) ? 0 : a; +}, K = (e) => { + const t = A(e, F), s = A(e, I), n = s.includes("ms") ? 1 : 1e3, a = t && t !== "none" ? parseFloat(s) * n : 0; + return Number.isNaN(a) ? 0 : a; +}, qe = (e, t) => { + let s = 0; + const n = new Event(T), a = K(e), o = J(e); + if (a) { + const r = (l) => { + l.target === e && (t.apply(e, [l]), e.removeEventListener(T, r), s = 1); + }; + e.addEventListener(T, r), setTimeout(() => { + s || Z(e, n); + }, a + o + 17); + } else + t.apply(e, [n]); +}, Ge = (e, t) => e.focus(t), z = (e) => ["true", !0].includes(e) ? !0 : ["false", !1].includes(e) ? !1 : ["null", "", null, void 0].includes(e) ? null : e !== "" && !Number.isNaN(+e) ? +e : e, E = (e) => Object.entries(e), _ = (e, t, s, n) => { + if (!c(e)) return t; + const a = { ...s }, o = { ...e.dataset }, r = { ...t }, l = {}, h = "title"; + return E(o).forEach(([i, f]) => { + const v = typeof i == "string" && i.includes(n) ? j(i.replace(n, "")) : j(i); + l[v] = z(f); + }), E(a).forEach(([i, f]) => { + a[i] = z(f); + }), E(t).forEach(([i, f]) => { + i in a ? r[i] = a[i] : i in l ? r[i] = l[i] : r[i] = i === h ? S(e, h) : f; + }), r; +}, B = (e) => Object.keys(e), Qe = (e, t) => { + const s = new CustomEvent(e, { + cancelable: !0, + bubbles: !0 + }); + return b(t) && D(s, t), s; +}, Ue = { passive: !0 }, Ye = (e) => e.offsetHeight, Ze = (e, t) => { + E(t).forEach(([s, n]) => { + if (n && x(s) && s.includes("--")) + e.style.setProperty(s, n); + else { + const a = {}; + a[s] = n, D(e.style, a); + } + }); +}, N = (e) => b(e) && e.constructor.name === "Map" || !1, X = (e) => typeof e == "number" || !1, g = /* @__PURE__ */ new Map(), Je = { + /** + * Sets a new timeout timer for an element, or element -> key association. + * + * @param element target element + * @param callback the callback + * @param delay the execution delay + * @param key a unique key + */ + set: (e, t, s, n) => { + c(e) && (n && n.length ? (g.has(e) || g.set(e, /* @__PURE__ */ new Map()), g.get(e).set(n, setTimeout(t, s))) : g.set(e, setTimeout(t, s))); + }, + /** + * Returns the timer associated with the target. + * + * @param element target element + * @param key a unique + * @returns the timer + */ + get: (e, t) => { + if (!c(e)) return null; + const s = g.get(e); + return t && s && N(s) ? s.get(t) || null : X(s) ? s : null; + }, + /** + * Clears the element's timer. + * + * @param element target element + * @param key a unique key + */ + clear: (e, t) => { + if (!c(e)) return; + const s = g.get(e); + t && t.length && N(s) ? (clearTimeout(s.get(t)), s.delete(t), s.size === 0 && g.delete(e)) : (clearTimeout(s), g.delete(e)); + } +}, Ke = (e) => e.toLowerCase(), ee = (e, t) => (u(t) ? t : d()).querySelectorAll(e), M = /* @__PURE__ */ new Map(); +function te(e) { + const { shiftKey: t, code: s } = e, n = d(this), a = [ + ...ee($, this) + ].filter( + (l) => !U(l, "disabled") && !S(l, V) + ); + if (!a.length) return; + const o = a[0], r = a[a.length - 1]; + s === "Tab" && (t && n.activeElement === o ? (r.focus(), e.preventDefault()) : !t && n.activeElement === r && (o.focus(), e.preventDefault())); +} +const se = (e) => M.has(e) === !0, _e = (e) => { + const t = se(e); + (t ? Q : G)(e, "keydown", te), t ? M.delete(e) : M.set(e, !0); +}, k = (e) => c(e) && "offsetWidth" in e || !1, L = (e, t) => { + const { width: s, height: n, top: a, right: o, bottom: r, left: l } = e.getBoundingClientRect(); + let h = 1, i = 1; + if (t && k(e)) { + const { offsetWidth: f, offsetHeight: v } = e; + h = f > 0 ? Math.round(s) / f : 1, i = v > 0 ? Math.round(n) / v : 1; + } + return { + width: s / h, + height: n / i, + top: a / i, + right: o / h, + bottom: r / i, + left: l / h, + x: l / h, + y: a / i + }; +}, Xe = (e) => d(e).body, C = (e) => d(e).documentElement, et = (e) => { + const t = O(e), s = t ? e.scrollX : e.scrollLeft, n = t ? e.scrollY : e.scrollTop; + return { x: s, y: n }; +}, ne = (e) => u(e) && e.constructor.name === "ShadowRoot" || !1, tt = (e) => e.nodeName === "HTML" ? e : c(e) && e.assignedSlot || u(e) && e.parentNode || ne(e) && e.host || C(e), st = (e) => e ? R(e) ? e.defaultView : u(e) ? e?.ownerDocument?.defaultView : e : window, nt = (e) => u(e) && ["TABLE", "TD", "TH"].includes(e.nodeName) || !1, at = (e, t) => e.matches(t), ae = (e) => { + if (!k(e)) return !1; + const { width: t, height: s } = L(e), { offsetWidth: n, offsetHeight: a } = e; + return Math.round(t) !== n || Math.round(s) !== a; +}, ot = (e, t, s) => { + const n = k(t), a = L( + e, + n && ae(t) + ), o = { x: 0, y: 0 }; + if (n) { + const r = L(t, !0); + o.x = r.x + t.clientLeft, o.y = r.y + t.clientTop; + } + return { + x: a.left + s.x - o.x, + y: a.top + s.y - o.y, + width: a.width, + height: a.height + }; +}; +let H = 0, P = 0; +const p = /* @__PURE__ */ new Map(), oe = (e, t) => { + let s = t ? H : P; + if (t) { + const n = oe(e), a = p.get(n) || /* @__PURE__ */ new Map(); + p.has(n) || p.set(n, a), N(a) && !a.has(t) ? (a.set(t, s), H += 1) : s = a.get(t); + } else { + const n = e.id || e; + p.has(n) ? s = p.get(n) : (p.set(n, s), P += 1); + } + return s; +}, rt = (e) => Array.isArray(e) || !1, it = (e) => { + if (!u(e)) return !1; + const { top: t, bottom: s } = L(e), { clientHeight: n } = C(e); + return t <= n && s >= 0; +}, lt = (e) => typeof e == "function" || !1, ct = (e) => b(e) && e.constructor.name === "NodeList" || !1, ut = (e) => C(e).dir === "rtl", re = (e, t) => !e || !t ? null : e.closest(t) || re(e.getRootNode().host, t) || null, ie = (e, t) => c(e) ? e : (c(t) ? t : d()).querySelector(e), dt = (e, t) => (u(t) ? t : d()).getElementsByTagName( + e +), ht = (e, t) => d(t).getElementById(e), ft = (e, t) => (t && u(t) ? t : d()).getElementsByClassName( + e +), w = {}, W = (e) => { + const { type: t, currentTarget: s } = e; + w[t].forEach((n, a) => { + s === a && n.forEach((o, r) => { + r.apply(a, [e]), typeof o == "object" && o.once && le(a, t, r, o); + }); + }); +}, gt = (e, t, s, n) => { + w[t] || (w[t] = /* @__PURE__ */ new Map()); + const a = w[t]; + a.has(e) || a.set(e, /* @__PURE__ */ new Map()); + const o = a.get( + e + ), { size: r } = o; + o.set(s, n), r || e.addEventListener( + t, + W, + n + ); +}, le = (e, t, s, n) => { + const a = w[t], o = a && a.get(e), r = o && o.get(s), l = r !== void 0 ? r : n; + o && o.has(s) && o.delete(s), a && (!o || !o.size) && a.delete(e), (!a || !a.size) && delete w[t], (!o || !o.size) && e.removeEventListener( + t, + W, + l + ); +}, ce = "5.1.0", ue = ce; +class mt { + /** + * @param target `Element` or selector string + * @param config component instance options + */ + constructor(t, s) { + let n; + try { + if (c(t)) + n = t; + else if (x(t)) { + if (n = ie(t), !n) throw Error(`"${t}" is not a valid selector.`); + } else + throw Error("your target is not an instance of HTMLElement."); + } catch (o) { + throw Error(`${this.name} Error: ${o.message}`); + } + const a = y.get(n, this.name); + a && a._toggleEventListeners(), this.element = n, this.options = this.defaults && B(this.defaults).length ? _(n, this.defaults, s || {}, "bs") : {}, y.set(n, this.name, this); + } + get version() { + return ue; + } + get name() { + return "BaseComponent"; + } + get defaults() { + return {}; + } + _toggleEventListeners = () => { + }; + dispose() { + y.remove(this.element, this.name), B(this).forEach((t) => { + delete this[t]; + }); + } +} +export { + Xe as $, + Ne as A, + mt as B, + Se as C, + it as D, + gt as E, + Ze as F, + ft as G, + he as H, + De as I, + U as J, + A as K, + L, + Ge as M, + D as N, + Me as O, + Ae as P, + Oe as Q, + ie as R, + C as S, + pe as T, + ut as U, + je as V, + ze as W, + Pe as X, + Ve as Y, + $e as Z, + ve as _, + ge as a, + Re as a0, + V as a1, + fe as a2, + _e as a3, + st as a4, + Y as a5, + dt as a6, + ht as a7, + me as a8, + ye as a9, + we as aa, + et as ab, + ot as ac, + Ke as ad, + lt as ae, + ct as af, + rt as ag, + u as ah, + tt as ai, + ne as aj, + nt as ak, + oe as al, + de as am, + Le as an, + Fe as ao, + We as b, + at as c, + d, + ee as e, + Ye as f, + Ue as g, + Je as h, + ke as i, + Ce as j, + re as k, + S as l, + Qe as m, + Be as n, + He as o, + be as p, + Z as q, + le as r, + qe as s, + Ie as t, + K as u, + Ee as v, + Te as w, + k as x, + x as y, + xe as z +}; +//# sourceMappingURL=base-component-CQAH5ZXF.mjs.map diff --git a/dist/components/base-component-CQAH5ZXF.mjs.map b/dist/components/base-component-CQAH5ZXF.mjs.map new file mode 100644 index 00000000..5e3088d7 --- /dev/null +++ b/dist/components/base-component-CQAH5ZXF.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"base-component-CQAH5ZXF.mjs","sources":["../../node_modules/.pnpm/@thednp+shorty@https+++codeload.github.com+thednp+shorty+tar.gz+6d62cceb75a6b1cd3a73cced7a052ef03ae826b2/node_modules/@thednp/shorty/dist/shorty.mjs","../../node_modules/.pnpm/@thednp+event-listener@2.0.8/node_modules/@thednp/event-listener/dist/event-listener.mjs","../../src/version.ts","../../src/components/base-component.ts"],"sourcesContent":["const Ce = \"2.0.8\", Le = \"aria-checked\", Me = \"aria-description\", De = \"aria-describedby\", Oe = \"aria-expanded\", xe = \"aria-haspopup\", J = \"aria-hidden\", ze = \"aria-label\", Ie = \"aria-labelledby\", Pe = \"aria-modal\", Be = \"aria-pressed\", Fe = \"aria-selected\", He = \"aria-valuemin\", Ve = \"aria-valuemax\", Ue = \"aria-valuenow\", We = \"aria-valuetext\", X = \"abort\", tt = \"beforeunload\", et = \"blur\", nt = \"change\", ot = \"contextmenu\", V = \"DOMContentLoaded\", st = \"DOMMouseScroll\", rt = \"error\", ct = \"focus\", at = \"focusin\", it = \"focusout\", ut = \"gesturechange\", lt = \"gestureend\", dt = \"gesturestart\", ft = \"keydown\", pt = \"keypress\", gt = \"keyup\", mt = \"load\", vt = \"click\", bt = \"dblclick\", Et = \"mousedown\", ht = \"mouseup\", yt = \"hover\", wt = \"mouseenter\", At = \"mouseleave\", St = \"mousein\", Tt = \"mouseout\", kt = \"mouseover\", Nt = \"mousemove\", Ct = \"mousewheel\", Lt = \"move\", Mt = \"orientationchange\", Dt = \"pointercancel\", Ot = \"pointerdown\", xt = \"pointerleave\", zt = \"pointermove\", It = \"pointerup\", Pt = \"readystatechange\", Bt = \"reset\", Ft = \"resize\", Ht = \"select\", Vt = \"selectend\", Ut = \"selectstart\", Wt = \"scroll\", Rt = \"submit\", Qt = \"touchstart\", jt = \"touchmove\", Gt = \"touchcancel\", Kt = \"touchend\", qt = \"unload\", Re = {\n DOMContentLoaded: V,\n DOMMouseScroll: st,\n abort: X,\n beforeunload: tt,\n blur: et,\n change: nt,\n click: vt,\n contextmenu: ot,\n dblclick: bt,\n error: rt,\n focus: ct,\n focusin: at,\n focusout: it,\n gesturechange: ut,\n gestureend: lt,\n gesturestart: dt,\n hover: yt,\n keydown: ft,\n keypress: pt,\n keyup: gt,\n load: mt,\n mousedown: Et,\n mousemove: Nt,\n mousein: St,\n mouseout: Tt,\n mouseenter: wt,\n mouseleave: At,\n mouseover: kt,\n mouseup: ht,\n mousewheel: Ct,\n move: Lt,\n orientationchange: Mt,\n pointercancel: Dt,\n pointerdown: Ot,\n pointerleave: xt,\n pointermove: zt,\n pointerup: It,\n readystatechange: Pt,\n reset: Bt,\n resize: Ft,\n scroll: Wt,\n select: Ht,\n selectend: Vt,\n selectstart: Ut,\n submit: Rt,\n touchcancel: Gt,\n touchend: Kt,\n touchmove: jt,\n touchstart: Qt,\n unload: qt\n}, Qe = \"drag\", je = \"dragstart\", Ge = \"dragenter\", Ke = \"dragleave\", qe = \"dragover\", Ye = \"dragend\", Ze = \"loadstart\", _e = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, $e = { down: \"mousedown\", up: \"mouseup\" }, Je = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"], Xe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, tn = { in: \"focusin\", out: \"focusout\" }, Yt = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]', en = {\n Backspace: \"Backspace\",\n Tab: \"Tab\",\n Enter: \"Enter\",\n Shift: \"Shift\",\n Control: \"Control\",\n Alt: \"Alt\",\n Pause: \"Pause\",\n CapsLock: \"CapsLock\",\n Escape: \"Escape\",\n Scape: \"Space\",\n ArrowLeft: \"ArrowLeft\",\n ArrowUp: \"ArrowUp\",\n ArrowRight: \"ArrowRight\",\n ArrowDown: \"ArrowDown\",\n Insert: \"Insert\",\n Delete: \"Delete\",\n Meta: \"Meta\",\n ContextMenu: \"ContextMenu\",\n ScrollLock: \"ScrollLock\"\n}, nn = \"Alt\", on = \"ArrowDown\", sn = \"ArrowUp\", rn = \"ArrowLeft\", cn = \"ArrowRight\", an = \"Backspace\", un = \"CapsLock\", ln = \"Control\", dn = \"Delete\", fn = \"Enter\", pn = \"NumpadEnter\", gn = \"Escape\", mn = \"Insert\", vn = \"Meta\", bn = \"Pause\", En = \"ScrollLock\", hn = \"Shift\", yn = \"Space\", wn = \"Tab\", Zt = \"animationDuration\", _t = \"animationDelay\", U = \"animationName\", C = \"animationend\", $t = \"transitionDuration\", Jt = \"transitionDelay\", L = \"transitionend\", W = \"transitionProperty\", An = \"addEventListener\", Sn = \"removeEventListener\", Tn = {\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}, kn = \"offsetHeight\", Nn = \"offsetWidth\", Cn = \"scrollHeight\", Ln = \"scrollWidth\", Mn = \"tabindex\", Dn = navigator.userAgentData, { userAgent: Xt } = navigator, On = Xt, xn = () => {\n const t = /iPhone|iPad|iPod|Android/i;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(navigator?.userAgent) || !1;\n}, zn = () => {\n const t = /(iPhone|iPod|iPad)/;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(\n navigator?.userAgent\n ) || !1;\n}, In = () => navigator?.userAgent?.includes(\"Firefox\") || !1, te = () => typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\"), Pn = () => [\"webkitPerspective\", \"perspective\"].some((t) => t in document.head.style), ee = () => {\n}, R = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(\n e,\n n,\n s\n );\n}, Q = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(\n e,\n n,\n s\n );\n}, ne = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Q(t, e, s, o));\n };\n R(t, e, s, o);\n}, Bn = () => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n ne(document, V, ee, e);\n } catch {\n }\n return t;\n}, Fn = () => [\"webkitTransform\", \"transform\"].some((t) => t in document.head.style), Hn = () => \"ontouchstart\" in window || \"msMaxTouchPoints\" in navigator, Vn = () => [\"webkitAnimation\", \"animation\"].some((t) => t in document.head.style), Un = () => [\"webkitTransition\", \"transition\"].some((t) => t in document.head.style), j = (t, e) => t.getAttribute(e), Wn = (t, e, n) => e.getAttributeNS(t, n), oe = (t, e) => t.hasAttribute(e), Rn = (t, e, n) => e.hasAttributeNS(t, n), Qn = (t, e, n) => t.setAttribute(e, n), jn = (t, e, n, o) => e.setAttributeNS(t, n, o), Gn = (t, e) => t.removeAttribute(e), Kn = (t, e, n) => e.removeAttributeNS(t, n), qn = (t, ...e) => {\n t.classList.add(...e);\n}, Yn = (t, ...e) => {\n t.classList.remove(...e);\n}, Zn = (t, e) => t.classList.contains(e), { body: _n } = document, { documentElement: $n } = document, { head: Jn } = document, Xn = (t) => Array.from(t), b = (t) => t != null && typeof t == \"object\" || !1, l = (t) => b(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some(\n (e) => t.nodeType === e\n) || !1, u = (t) => l(t) && t.nodeType === 1 || !1, h = /* @__PURE__ */ new Map(), D = {\n data: h,\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 h.has(e) || h.set(e, /* @__PURE__ */ new Map()), h.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) => h.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 = D.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 = D.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && h.delete(e));\n }\n}, to = (t, e) => D.get(t, e), eo = (t) => t?.charAt(0).toUpperCase() + t?.slice(1), I = (t) => t?.trim().replace(\n /(?:^\\w|[A-Z]|\\b\\w)/g,\n (e, n) => n === 0 ? e.toLowerCase() : e.toUpperCase()\n).replace(/\\s+/g, \"\"), k = (t) => typeof t == \"string\" || !1, G = (t) => b(t) && t.constructor.name === \"Window\" || !1, K = (t) => l(t) && t.nodeType === 9 || !1, d = (t) => K(t) ? t : l(t) ? t.ownerDocument : G(t) ? t.document : globalThis.document, N = (t, ...e) => Object.assign(t, ...e), se = (t) => {\n if (!t) return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = se(e);\n if (!n) return;\n const o = { ...t };\n return delete o.tagName, N(n, o);\n}, re = (t, e) => {\n if (!t || !e) return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = re(t, n);\n if (!o) return;\n const s = { ...e };\n return delete s.tagName, N(o, s);\n}, q = (t, e) => t.dispatchEvent(e), no = (t, e, n) => n.indexOf(t) === e, g = (t, e, n) => {\n const o = getComputedStyle(t, n), s = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return o.getPropertyValue(s);\n}, ce = (t) => {\n const e = g(t, U), n = g(t, _t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ae = (t) => {\n const e = g(t, U), n = g(t, Zt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, oo = (t, e) => {\n let n = 0;\n const o = new Event(C), s = ae(t), r = ce(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), 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}, ie = (t) => {\n const e = g(t, W), n = g(t, Jt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ue = (t) => {\n const e = g(t, W), n = g(t, $t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, so = (t, e) => {\n let n = 0;\n const o = new Event(L), s = ue(t), r = ie(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(L, a), n = 1);\n };\n t.addEventListener(L, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ro = (t) => Float32Array.from(Array.from(t)), co = (t) => Float64Array.from(Array.from(t)), ao = (t, e) => t.focus(e), io = (t) => t?.trim().replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/\\s+/g, \"-\").toLowerCase(), P = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, T = (t) => Object.entries(t), uo = (t, e, n, o) => {\n if (!u(t)) return e;\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, i = {}, f = \"title\";\n return T(r).forEach(([c, p]) => {\n const E = o && typeof c == \"string\" && c.includes(o) ? I(c.replace(o, \"\")) : I(c);\n i[E] = P(p);\n }), T(s).forEach(([c, p]) => {\n s[c] = P(p);\n }), T(e).forEach(([c, p]) => {\n c in s ? a[c] = s[c] : c in i ? a[c] = i[c] : a[c] = c === f ? j(t, f) : p;\n }), a;\n}, lo = (t, e) => b(t) && (Object.hasOwn(t, e) || e in t), fo = (t) => Object.keys(t), po = (t) => Object.values(t), go = (t) => Object.fromEntries(t), mo = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return b(e) && N(n, e), n;\n}, vo = { passive: !0 }, bo = (t) => t.offsetHeight, Eo = (t, e) => {\n T(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, N(t.style, s);\n }\n });\n}, O = (t) => b(t) && t.constructor.name === \"Map\" || !1, le = (t) => typeof t == \"number\" || !1, v = /* @__PURE__ */ new Map(), ho = {\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 ? (v.has(t) || v.set(t, /* @__PURE__ */ new Map()), v.get(t).set(o, setTimeout(e, n))) : v.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 = v.get(t);\n return e && n && O(n) ? n.get(e) || null : le(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 = v.get(t);\n e && e.length && O(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && v.delete(t)) : (clearTimeout(n), v.delete(t));\n }\n}, yo = (t) => t.toLowerCase(), wo = (t) => t.toUpperCase(), de = (t, e) => (l(e) ? e : d()).querySelectorAll(t), x = /* @__PURE__ */ new Map();\nfunction fe(t) {\n const { shiftKey: e, code: n } = t, o = d(this), s = [\n ...de(Yt, this)\n ].filter(\n (i) => !oe(i, \"disabled\") && !j(i, J)\n );\n if (!s.length) return;\n const r = s[0], a = s[s.length - 1];\n n === \"Tab\" && (e && o.activeElement === r ? (a.focus(), t.preventDefault()) : !e && o.activeElement === a && (r.focus(), t.preventDefault()));\n}\nconst pe = (t) => x.has(t) === !0, Ao = (t) => {\n const e = pe(t);\n (e ? Q : R)(t, \"keydown\", fe), e ? x.delete(t) : x.set(t, !0);\n}, m = (t) => u(t) && \"offsetWidth\" in t || !1, w = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: i } = t.getBoundingClientRect();\n let f = 1, c = 1;\n if (e && m(t)) {\n const { offsetWidth: p, offsetHeight: E } = t;\n f = p > 0 ? Math.round(n) / p : 1, c = E > 0 ? Math.round(o) / E : 1;\n }\n return {\n width: n / f,\n height: o / c,\n top: s / c,\n right: r / f,\n bottom: a / c,\n left: i / f,\n x: i / f,\n y: s / c\n };\n}, So = (t) => d(t).body, S = (t) => d(t).documentElement, To = (t) => d(t).head, ge = (t) => l(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\", ko = (t) => {\n const e = G(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, me = (t) => l(t) && t.constructor.name === \"ShadowRoot\" || !1, A = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || l(t) && t.parentNode || me(t) && t.host || S(t), ve = (t) => t ? K(t) ? t.defaultView : l(t) ? t?.ownerDocument?.defaultView : t : window, be = (t) => l(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, Ee = (t, e) => t.matches(e), M = (t) => g(t, \"position\") === \"static\", he = (t) => g(t, \"position\") === \"fixed\", Y = (t) => [\":popover-open\", \":modal\"].some((e) => {\n try {\n return Ee(t, e);\n } catch {\n return !1;\n }\n}), Z = (t) => {\n const e = te(), n = u(t) ? getComputedStyle(t) : t;\n return n.transform !== \"none\" || n.perspective !== \"none\" || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || [\"transform\", \"perspective\", \"filter\"].some(\n (o) => (n.willChange || \"\").includes(o)\n ) || [\"paint\", \"layout\", \"strict\", \"content\"].some(\n (o) => (n.contain || \"\").includes(o)\n );\n}, ye = (t) => {\n let e = A(t);\n for (; u(e) && !z(e); ) {\n if (Z(e))\n return e;\n if (Y(e))\n return null;\n e = A(e);\n }\n return null;\n}, z = (t) => [\"html\", \"body\", \"#document\"].includes(ge(t)), B = (t) => {\n if (!m(t) || he(t))\n return null;\n let e = t.offsetParent;\n return S(t) === e && (e = e.ownerDocument.body), e;\n}, No = (t) => {\n const e = ve(t);\n if (!l(t) || Y(t))\n return e;\n if (!m(t)) {\n let o = A(t);\n for (; o && !z(o); ) {\n if (u(o) && !M(o))\n return o;\n o = A(o);\n }\n return e;\n }\n let n = B(t);\n for (; n && be(n) && M(n); )\n n = B(n);\n return n && z(n) && M(n) && !Z(n) ? e : n || ye(t) || e;\n}, we = (t) => {\n if (!m(t)) return !1;\n const { width: e, height: n } = w(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, Co = (t, e, n) => {\n const o = m(e), s = w(\n t,\n o && we(e)\n ), r = { x: 0, y: 0 };\n if (o) {\n const a = w(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 F = 0, H = 0;\nconst y = /* @__PURE__ */ new Map(), Ae = (t, e) => {\n let n = e ? F : H;\n if (e) {\n const o = Ae(t), s = y.get(o) || /* @__PURE__ */ new Map();\n y.has(o) || y.set(o, s), O(s) && !s.has(e) ? (s.set(e, n), F += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n y.has(o) ? n = y.get(o) : (y.set(o, n), H += 1);\n }\n return n;\n}, Lo = (t) => {\n const e = [\"HTML\", \"BODY\"];\n let { parentNode: n } = t;\n if (!m(n))\n for (; n && !e.includes(n.nodeName) && (n = A(n), !m(n)); )\n ;\n const {\n offsetLeft: o,\n offsetTop: s,\n offsetParent: r\n } = n, { top: a, left: i } = n.getBoundingClientRect(), { top: f, left: c, width: p, height: E } = t.getBoundingClientRect(), _ = s + (f - a), $ = o + (c - i);\n return {\n offsetTop: _,\n offsetLeft: $,\n offsetWidth: p,\n offsetHeight: E,\n offsetParent: r\n };\n}, Se = (t) => Array.isArray(t) || !1, Mo = (t) => l(t) && t.nodeName === \"CANVAS\" || !1, Te = (t) => m(t) && !!t.shadowRoot || !1, Do = (t) => {\n if (!l(t)) return !1;\n const { top: e, bottom: n } = w(t), { clientHeight: o } = S(t);\n return e <= o && n >= 0;\n}, Oo = (t) => {\n if (!u(t)) return !1;\n const { clientWidth: e, clientHeight: n } = S(t), { top: o, left: s, bottom: r, right: a } = w(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, xo = (t) => Se(t) && t.every(u) || !1, zo = (t) => typeof t == \"function\" || !1, Io = (t) => b(t) && t.constructor.name === \"HTMLCollection\" || !1, Po = (t) => m(t) && t.tagName === \"IMG\" || !1, Bo = (t) => {\n if (!k(t)) return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Fo = (t) => b(t) && t.constructor.name === \"WeakMap\" || !1, Ho = (t) => l(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some(\n (e) => t.constructor.name.includes(e)\n) || !1, Vo = (t) => b(t) && t.constructor.name === \"NodeList\" || !1, Uo = (t) => S(t).dir === \"rtl\", Wo = (t) => l(t) && t.constructor.name.includes(\"SVG\") || !1, ke = (t, e) => !t || !e ? null : t.closest(e) || ke(t.getRootNode().host, e) || null, Ro = (t, e) => u(t) ? t : (u(e) ? e : d()).querySelector(t), Ne = (t, e) => (l(e) ? e : d()).getElementsByTagName(\n t\n), Qo = (t) => [...Ne(\"*\", t)].filter(Te), jo = (t, e) => d(e).getElementById(t), Go = (t, e) => (e && l(e) ? e : d()).getElementsByClassName(\n t\n);\nexport {\n Xn as ArrayFrom,\n V as DOMContentLoadedEvent,\n st as DOMMouseScrollEvent,\n D as Data,\n ro as Float32ArrayFrom,\n co as Float64ArrayFrom,\n N as ObjectAssign,\n T as ObjectEntries,\n go as ObjectFromEntries,\n lo as ObjectHasOwn,\n fo as ObjectKeys,\n po as ObjectValues,\n ho as Timer,\n X as abortEvent,\n qn as addClass,\n An as addEventListener,\n _t as animationDelay,\n Zt as animationDuration,\n C as animationEndEvent,\n U as animationName,\n Le as ariaChecked,\n De as ariaDescribedBy,\n Me as ariaDescription,\n Oe as ariaExpanded,\n xe as ariaHasPopup,\n J as ariaHidden,\n ze as ariaLabel,\n Ie as ariaLabelledBy,\n Pe as ariaModal,\n Be as ariaPressed,\n Fe as ariaSelected,\n Ve as ariaValueMax,\n He as ariaValueMin,\n Ue as ariaValueNow,\n We as ariaValueText,\n tt as beforeunloadEvent,\n Tn as bezierEasings,\n et as blurEvent,\n I as camelCase,\n eo as capitalize,\n nt as changeEvent,\n ke as closest,\n ot as contextmenuEvent,\n mo as createCustomEvent,\n se as createElement,\n re as createElementNS,\n q as dispatchEvent,\n no as distinct,\n _n as documentBody,\n $n as documentElement,\n Jn as documentHead,\n Qe as dragEvent,\n Ye as dragendEvent,\n Ge as dragenterEvent,\n Ke as dragleaveEvent,\n qe as dragoverEvent,\n je as dragstartEvent,\n oo as emulateAnimationEnd,\n so as emulateTransitionEnd,\n rt as errorEvent,\n ao as focus,\n ct as focusEvent,\n tn as focusEvents,\n Yt as focusableSelector,\n at as focusinEvent,\n it as focusoutEvent,\n ut as gesturechangeEvent,\n lt as gestureendEvent,\n dt as gesturestartEvent,\n j as getAttribute,\n Wn as getAttributeNS,\n w as getBoundingClientRect,\n Qo as getCustomElements,\n d as getDocument,\n So as getDocumentBody,\n S as getDocumentElement,\n To as getDocumentHead,\n ce as getElementAnimationDelay,\n ae as getElementAnimationDuration,\n jo as getElementById,\n g as getElementStyle,\n ie as getElementTransitionDelay,\n ue as getElementTransitionDuration,\n Go as getElementsByClassName,\n Ne as getElementsByTagName,\n to as getInstance,\n ge as getNodeName,\n ko as getNodeScroll,\n No as getOffsetParent,\n A as getParentNode,\n Co as getRectRelativeToOffsetParent,\n Lo as getSVGOffset,\n Ae as getUID,\n ve as getWindow,\n oe as hasAttribute,\n Rn as hasAttributeNS,\n Zn as hasClass,\n pe as hasFocusTrap,\n zn as isApple,\n Se as isArray,\n Mo as isCanvas,\n Te as isCustomElement,\n K as isDocument,\n u as isElement,\n Do as isElementInScrollRange,\n Oo as isElementInViewport,\n xo as isElementsArray,\n In as isFirefox,\n zo as isFunction,\n Io as isHTMLCollection,\n m as isHTMLElement,\n Po as isHTMLImageElement,\n Bo as isJSON,\n O as isMap,\n Ho as isMedia,\n xn as isMobile,\n l as isNode,\n Vo as isNodeList,\n le as isNumber,\n b as isObject,\n Uo as isRTL,\n Wo as isSVGElement,\n we as isScaledElement,\n me as isShadowRoot,\n k as isString,\n be as isTableElement,\n Fo as isWeakMap,\n te as isWebKit,\n G as isWindow,\n io as kebabCase,\n nn as keyAlt,\n on as keyArrowDown,\n rn as keyArrowLeft,\n cn as keyArrowRight,\n sn as keyArrowUp,\n an as keyBackspace,\n un as keyCapsLock,\n ln as keyControl,\n dn as keyDelete,\n fn as keyEnter,\n gn as keyEscape,\n mn as keyInsert,\n vn as keyMeta,\n pn as keyNumpadEnter,\n bn as keyPause,\n En as keyScrollLock,\n hn as keyShift,\n yn as keySpace,\n wn as keyTab,\n en as keyboardEventKeys,\n ft as keydownEvent,\n pt as keypressEvent,\n gt as keyupEvent,\n mt as loadEvent,\n Ze as loadstartEvent,\n Ee as matches,\n $e as mouseClickEvents,\n Je as mouseHoverEvents,\n _e as mouseSwipeEvents,\n vt as mouseclickEvent,\n bt as mousedblclickEvent,\n Et as mousedownEvent,\n wt as mouseenterEvent,\n yt as mousehoverEvent,\n St as mouseinEvent,\n At as mouseleaveEvent,\n Nt as mousemoveEvent,\n Tt as mouseoutEvent,\n kt as mouseoverEvent,\n ht as mouseupEvent,\n Ct as mousewheelEvent,\n Lt as moveEvent,\n Re as nativeEvents,\n ee as noop,\n uo as normalizeOptions,\n P as normalizeValue,\n Q as off,\n kn as offsetHeight,\n Nn as offsetWidth,\n R as on,\n ne as one,\n Mt as orientationchangeEvent,\n vo as passiveHandler,\n Dt as pointercancelEvent,\n Ot as pointerdownEvent,\n xt as pointerleaveEvent,\n zt as pointermoveEvent,\n It as pointerupEvent,\n Ro as querySelector,\n de as querySelectorAll,\n Pt as readystatechangeEvent,\n bo as reflow,\n Gn as removeAttribute,\n Kn as removeAttributeNS,\n Yn as removeClass,\n Sn as removeEventListener,\n Bt as resetEvent,\n Ft as resizeEvent,\n Wt as scrollEvent,\n Cn as scrollHeight,\n Ln as scrollWidth,\n Ht as selectEvent,\n Vt as selectendEvent,\n Ut as selectstartEvent,\n Qn as setAttribute,\n jn as setAttributeNS,\n Eo as setElementStyle,\n Rt as submitEvent,\n Pn as support3DTransform,\n Vn as supportAnimation,\n Bn as supportPassive,\n Hn as supportTouch,\n Fn as supportTransform,\n Un as supportTransition,\n Mn as tabindex,\n yo as toLowerCase,\n wo as toUpperCase,\n Ao as toggleFocusTrap,\n Xe as touchEvents,\n Gt as touchcancelEvent,\n Kt as touchendEvent,\n jt as touchmoveEvent,\n Qt as touchstartEvent,\n Jt as transitionDelay,\n $t as transitionDuration,\n L as transitionEndEvent,\n W as transitionProperty,\n qt as unloadEvent,\n On as userAgent,\n Dn as userAgentData,\n Ce as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const g = \"2.0.8\", e = {}, f = (t) => {\n const { type: n, currentTarget: c } = t;\n e[n].forEach((a, s) => {\n c === s && a.forEach((o, i) => {\n i.apply(s, [t]), typeof o == \"object\" && o.once && r(s, n, i, o);\n });\n });\n}, E = (t, n, c, a) => {\n e[n] || (e[n] = /* @__PURE__ */ new Map());\n const s = e[n];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(\n t\n ), { size: i } = o;\n o.set(c, a), i || t.addEventListener(\n n,\n f,\n a\n );\n}, r = (t, n, c, a) => {\n const s = e[n], o = s && s.get(t), i = o && o.get(c), d = i !== void 0 ? i : a;\n o && o.has(c) && o.delete(c), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[n], (!o || !o.size) && t.removeEventListener(\n n,\n f,\n d\n );\n}, M = E, p = r;\nexport {\n E as addListener,\n f as globalListener,\n p as off,\n M as on,\n e as registry,\n r as removeListener,\n g as version\n};\n//# sourceMappingURL=event-listener.mjs.map\n","import { version } from \"../package.json\";\n\nconst Version = version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport {\n Data,\n isElement,\n isString,\n normalizeOptions,\n ObjectKeys,\n querySelector,\n} 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: Element;\n declare options?: BaseOptions;\n\n /**\n * @param target `Element` or selector string\n * @param config component instance options\n */\n constructor(target: Element | string, config?: BaseOptions) {\n let element: Element | null;\n\n try {\n if (isElement(target)) {\n element = target as Element;\n } else if (isString(target)) {\n element = querySelector(target);\n // istanbul ignore else @preserve\n if (!element) throw Error(`\"${target}\" is not a valid selector.`);\n } else {\n throw Error(`your target is not an instance of HTMLElement.`);\n }\n } catch (e) {\n throw Error(`${this.name} Error: ${(e as Error).message}`);\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else @preserve */\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 = this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, \"bs\")\n : /* istanbul ignore next @preserve */ {};\n\n Data.set(element, this.name, this);\n }\n\n // istanbul ignore next @preserve\n get version() {\n return Version;\n }\n\n // istanbul ignore next @preserve\n get name() {\n return \"BaseComponent\";\n }\n\n // istanbul ignore next @preserve\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n // istanbul ignore next @preserve coverage wise this isn't important\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":["De","Oe","J","Pe","Be","Fe","ct","at","it","ft","gt","vt","Et","yt","wt","At","Ot","zt","It","Qt","je","Yt","on","sn","rn","cn","gn","$t","Jt","L","W","zn","t","e","ee","R","n","o","s","j","oe","Qn","Gn","qn","Yn","Zn","l","u","h","D","to","I","k","G","K","N","se","q","g","ie","ue","so","r","a","i","ao","P","T","uo","f","c","p","E","fo","mo","vo","bo","Eo","O","le","v","ho","yo","de","x","fe","pe","Ao","m","w","So","S","ko","me","A","ve","be","Ee","we","Co","F","H","y","Ae","Se","Do","zo","Vo","Uo","ke","Ro","Ne","jo","Go","d","Version","version","BaseComponent","target","config","element","isElement","isString","querySelector","prevInstance","Data","ObjectKeys","normalizeOptions","prop"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/dist/components/base-component-DaZCwW-u.js b/dist/components/base-component-DaZCwW-u.js deleted file mode 100644 index ca6b8e51..00000000 --- a/dist/components/base-component-DaZCwW-u.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";const K="aria-describedby",I="aria-expanded",R="aria-hidden",X="aria-modal",J="aria-pressed",ee="aria-selected",te="focus",ne="focusin",oe="focusout",se="keydown",re="keyup",ie="click",ae="mousedown",le="hover",ue="mouseenter",ce="mouseleave",de="pointerdown",he="pointermove",fe="pointerup",me="touchstart",ge="dragstart",pe='a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]',ye="ArrowDown",we="ArrowUp",be="ArrowLeft",ve="ArrowRight",Ee="Escape",Ae="transitionDuration",Ne="transitionDelay",D="transitionend",j="transitionProperty",Te=()=>{const e=/(iPhone|iPod|iPad)/;return navigator?.userAgentData?.brands.some(t=>e.test(t.brand))||e.test(navigator?.userAgent)||!1},Le=()=>{},xe=(e,t,n,o)=>{const s=o||!1;e.addEventListener(t,n,s)},De=(e,t,n,o)=>{const s=o||!1;e.removeEventListener(t,n,s)},C=(e,t)=>e.getAttribute(t),F=(e,t)=>e.hasAttribute(t),Me=(e,t,n)=>e.setAttribute(t,n),ke=(e,t)=>e.removeAttribute(t),Ce=(e,...t)=>{e.classList.add(...t)},Se=(e,...t)=>{e.classList.remove(...t)},ze=(e,t)=>e.classList.contains(t),v=e=>e!=null&&typeof e=="object"||!1,c=e=>v(e)&&typeof e.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(t=>e.nodeType===t)||!1,u=e=>c(e)&&e.nodeType===1||!1,g=new Map,y={data:g,set:(e,t,n)=>{u(e)&&(g.has(t)||g.set(t,new Map),g.get(t).set(e,n))},getAllFor:e=>g.get(e)||null,get:(e,t)=>{if(!u(e)||!t)return null;const n=y.getAllFor(t);return e&&n&&n.get(e)||null},remove:(e,t)=>{const n=y.getAllFor(t);!n||!u(e)||(n.delete(e),n.size===0&&g.delete(t))}},Be=(e,t)=>y.get(e,t),N=e=>typeof e=="string"||!1,H=e=>v(e)&&e.constructor.name==="Window"||!1,q=e=>c(e)&&e.nodeType===9||!1,d=e=>q(e)?e:c(e)?e.ownerDocument:H(e)?e.document:globalThis.document,T=(e,...t)=>Object.assign(e,...t),$=e=>{if(!e)return;if(N(e))return d().createElement(e);const{tagName:t}=e,n=$(t);if(!n)return;const o={...e};return delete o.tagName,T(n,o)},O=(e,t)=>e.dispatchEvent(t),w=(e,t,n)=>{const o=getComputedStyle(e,n),s=t.replace("webkit","Webkit").replace(/([A-Z])/g,"-$1").toLowerCase();return o.getPropertyValue(s)},Pe=e=>{const t=w(e,j),n=w(e,Ne),o=n.includes("ms")?1:1e3,s=t&&t!=="none"?parseFloat(n)*o:0;return Number.isNaN(s)?0:s},V=e=>{const t=w(e,j),n=w(e,Ae),o=n.includes("ms")?1:1e3,s=t&&t!=="none"?parseFloat(n)*o:0;return Number.isNaN(s)?0:s},Re=(e,t)=>{let n=0;const o=new Event(D),s=V(e),i=Pe(e);if(s){const a=l=>{l.target===e&&(t.apply(e,[l]),e.removeEventListener(D,a),n=1)};e.addEventListener(D,a),setTimeout(()=>{n||O(e,o)},s+i+17)}else t.apply(e,[o])},je=(e,t)=>e.focus(t),S=e=>["true",!0].includes(e)?!0:["false",!1].includes(e)?!1:["null","",null,void 0].includes(e)?null:e!==""&&!Number.isNaN(+e)?+e:e,A=e=>Object.entries(e),W=e=>e.toLowerCase(),Fe=(e,t,n,o)=>{if(!u(e))return t;const s={...n},i={...e.dataset},a={...t},l={},h="title";return A(i).forEach(([r,f])=>{const E=typeof r=="string"&&r.includes(o)?r.replace(o,"").replace(/[A-Z]/g,_=>W(_)):r;l[E]=S(f)}),A(s).forEach(([r,f])=>{s[r]=S(f)}),A(t).forEach(([r,f])=>{r in s?a[r]=s[r]:r in l?a[r]=l[r]:a[r]=r===h?C(e,h):f}),a},z=e=>Object.keys(e),He=(e,t)=>{const n=new CustomEvent(e,{cancelable:!0,bubbles:!0});return v(t)&&T(n,t),n},qe={passive:!0},$e=e=>e.offsetHeight,Oe=(e,t)=>{A(t).forEach(([n,o])=>{if(o&&N(n)&&n.includes("--"))e.style.setProperty(n,o);else{const s={};s[n]=o,T(e.style,s)}})},M=e=>v(e)&&e.constructor.name==="Map"||!1,Ve=e=>typeof e=="number"||!1,m=new Map,We={set:(e,t,n,o)=>{u(e)&&(o&&o.length?(m.has(e)||m.set(e,new Map),m.get(e).set(o,setTimeout(t,n))):m.set(e,setTimeout(t,n)))},get:(e,t)=>{if(!u(e))return null;const n=m.get(e);return t&&n&&M(n)?n.get(t)||null:Ve(n)?n:null},clear:(e,t)=>{if(!u(e))return;const n=m.get(e);t&&t.length&&M(n)?(clearTimeout(n.get(t)),n.delete(t),n.size===0&&m.delete(e)):(clearTimeout(n),m.delete(e))}},G=(e,t)=>(c(t)?t:d()).querySelectorAll(e),k=new Map;function Ge(e){const{shiftKey:t,code:n}=e,o=d(this),s=[...G(pe,this)].filter(l=>!F(l,"disabled")&&!C(l,R));if(!s.length)return;const i=s[0],a=s[s.length-1];n==="Tab"&&(t&&o.activeElement===i?(a.focus(),e.preventDefault()):!t&&o.activeElement===a&&(i.focus(),e.preventDefault()))}const Ze=e=>k.has(e)===!0,Qe=e=>{const t=Ze(e);(t?De:xe)(e,"keydown",Ge),t?k.delete(e):k.set(e,!0)},L=e=>u(e)&&"offsetWidth"in e||!1,b=(e,t)=>{const{width:n,height:o,top:s,right:i,bottom:a,left:l}=e.getBoundingClientRect();let h=1,r=1;if(t&&L(e)){const{offsetWidth:f,offsetHeight:E}=e;h=f>0?Math.round(n)/f:1,r=E>0?Math.round(o)/E:1}return{width:n/h,height:o/r,top:s/r,right:i/h,bottom:a/r,left:l/h,x:l/h,y:s/r}},Ue=e=>d(e).body,x=e=>d(e).documentElement,Ye=e=>{const t=H(e),n=t?e.scrollX:e.scrollLeft,o=t?e.scrollY:e.scrollTop;return{x:n,y:o}},Z=e=>c(e)&&e.constructor.name==="ShadowRoot"||!1,_e=e=>e.nodeName==="HTML"?e:u(e)&&e.assignedSlot||c(e)&&e.parentNode||Z(e)&&e.host||x(e),Ke=e=>e?q(e)?e.defaultView:c(e)?e?.ownerDocument?.defaultView:e:window,Ie=e=>c(e)&&["TABLE","TD","TH"].includes(e.nodeName)||!1,Xe=(e,t)=>e.matches(t),Je=e=>{if(!L(e))return!1;const{width:t,height:n}=b(e),{offsetWidth:o,offsetHeight:s}=e;return Math.round(t)!==o||Math.round(n)!==s},et=(e,t,n)=>{const o=L(t),s=b(e,o&&Je(t)),i={x:0,y:0};if(o){const a=b(t,!0);i.x=a.x+t.clientLeft,i.y=a.y+t.clientTop}return{x:s.left+n.x-i.x,y:s.top+n.y-i.y,width:s.width,height:s.height}};let B=0,P=0;const p=new Map,Q=(e,t)=>{let n=t?B:P;if(t){const o=Q(e),s=p.get(o)||new Map;p.has(o)||p.set(o,s),M(s)&&!s.has(t)?(s.set(t,n),B+=1):n=s.get(t)}else{const o=e.id||e;p.has(o)?n=p.get(o):(p.set(o,n),P+=1)}return n},tt=e=>Array.isArray(e)||!1,nt=e=>{if(!c(e))return!1;const{top:t,bottom:n}=b(e),{clientHeight:o}=x(e);return t<=o&&n>=0},ot=e=>typeof e=="function"||!1,st=e=>v(e)&&e.constructor.name==="NodeList"||!1,rt=e=>x(e).dir==="rtl",U=(e,t)=>!e||!t?null:e.closest(t)||U(e.getRootNode().host,t)||null,Y=(e,t)=>u(e)?e:(u(t)?t:d()).querySelector(e),it=(e,t)=>(c(t)?t:d()).getElementsByTagName(e),at=(e,t)=>(t&&c(t)?t:d()).getElementsByClassName(e),lt="5.1.0",ut=lt;class ct{constructor(t,n){let o;try{if(u(t))o=t;else if(N(t)){if(o=Y(t),!o)throw Error(`"${t}" is not a valid selector.`)}else throw Error("your target is not an instance of HTMLElement.")}catch(i){throw Error(`${this.name} Error: ${i.message}`)}const s=y.get(o,this.name);s&&s._toggleEventListeners(),this.element=o,this.options=this.defaults&&z(this.defaults).length?Fe(o,this.defaults,n||{},"bs"):{},y.set(o,this.name,this)}get version(){return ut}get name(){return"BaseComponent"}get defaults(){return{}}_toggleEventListeners=()=>{};dispose(){y.remove(this.element,this.name),z(this).forEach(t=>{delete this[t]})}}exports.$=R;exports.A=_e;exports.Ae=Q;exports.Ao=Qe;exports.BaseComponent=ct;exports.Be=J;exports.Co=et;exports.De=K;exports.Do=nt;exports.Dt=de;exports.Ee=Xe;exports.Eo=$e;exports.Fe=ee;exports.Gn=ke;exports.Go=at;exports.N=T;exports.Ne=it;exports.Oe=I;exports.Pe=X;exports.Qn=Me;exports.Ro=Y;exports.Rt=me;exports.S=x;exports.Se=tt;exports.So=Ue;exports.Uo=rt;exports.Vo=st;exports.Yn=ze;exports.Zn=Se;exports.at=oe;exports.be=Ie;exports.bo=qe;exports.bt=ae;exports.cn=ve;exports.ct=ne;exports.d=d;exports.de=G;exports.dt=se;exports.g=w;exports.gn=Ee;exports.ho=Oe;exports.ht=le;exports.ie=V;exports.io=je;exports.j=C;exports.je=ge;exports.k=N;exports.ke=U;exports.ko=Ye;exports.l=c;exports.m=L;exports.me=Z;exports.mt=ie;exports.ne=F;exports.oe=$;exports.on=ye;exports.pt=re;exports.q=O;exports.qn=Ce;exports.rn=be;exports.ro=Re;exports.rt=te;exports.sn=we;exports.te=Le;exports.to=Be;exports.ue=W;exports.ve=Ke;exports.vo=He;exports.w=b;exports.wt=ce;exports.xt=he;exports.yo=We;exports.yt=ue;exports.zn=Te;exports.zo=ot;exports.zt=fe; -//# sourceMappingURL=base-component-DaZCwW-u.js.map diff --git a/dist/components/base-component-DaZCwW-u.js.map b/dist/components/base-component-DaZCwW-u.js.map deleted file mode 100644 index a508a2e5..00000000 --- a/dist/components/base-component-DaZCwW-u.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"base-component-DaZCwW-u.js","sources":["../../node_modules/.pnpm/@thednp+shorty@https+++codeload.github.com+thednp+shorty+tar.gz+309d581b370f747cb15531ca6c201def3827e05c/node_modules/@thednp/shorty/dist/shorty.mjs","../../src/version.ts","../../src/components/base-component.ts"],"sourcesContent":["const Ce = \"2.0.8\", Le = \"aria-checked\", Me = \"aria-description\", De = \"aria-describedby\", Oe = \"aria-expanded\", xe = \"aria-haspopup\", $ = \"aria-hidden\", ze = \"aria-label\", Ie = \"aria-labelledby\", Pe = \"aria-modal\", Be = \"aria-pressed\", Fe = \"aria-selected\", He = \"aria-valuemin\", Ve = \"aria-valuemax\", Ue = \"aria-valuenow\", We = \"aria-valuetext\", J = \"abort\", X = \"beforeunload\", tt = \"blur\", et = \"change\", nt = \"contextmenu\", V = \"DOMContentLoaded\", ot = \"DOMMouseScroll\", st = \"error\", rt = \"focus\", ct = \"focusin\", at = \"focusout\", it = \"gesturechange\", ut = \"gestureend\", lt = \"gesturestart\", dt = \"keydown\", ft = \"keypress\", pt = \"keyup\", gt = \"load\", mt = \"click\", vt = \"dblclick\", bt = \"mousedown\", Et = \"mouseup\", ht = \"hover\", yt = \"mouseenter\", wt = \"mouseleave\", At = \"mousein\", St = \"mouseout\", Tt = \"mouseover\", kt = \"mousemove\", Nt = \"mousewheel\", Ct = \"move\", Lt = \"orientationchange\", Mt = \"pointercancel\", Dt = \"pointerdown\", Ot = \"pointerleave\", xt = \"pointermove\", zt = \"pointerup\", It = \"readystatechange\", Pt = \"reset\", Bt = \"resize\", Ft = \"select\", Ht = \"selectend\", Vt = \"selectstart\", Ut = \"scroll\", Wt = \"submit\", Rt = \"touchstart\", Qt = \"touchmove\", jt = \"touchcancel\", Gt = \"touchend\", Kt = \"unload\", Re = {\n DOMContentLoaded: V,\n DOMMouseScroll: ot,\n abort: J,\n beforeunload: X,\n blur: tt,\n change: et,\n click: mt,\n contextmenu: nt,\n dblclick: vt,\n error: st,\n focus: rt,\n focusin: ct,\n focusout: at,\n gesturechange: it,\n gestureend: ut,\n gesturestart: lt,\n hover: ht,\n keydown: dt,\n keypress: ft,\n keyup: pt,\n load: gt,\n mousedown: bt,\n mousemove: kt,\n mousein: At,\n mouseout: St,\n mouseenter: yt,\n mouseleave: wt,\n mouseover: Tt,\n mouseup: Et,\n mousewheel: Nt,\n move: Ct,\n orientationchange: Lt,\n pointercancel: Mt,\n pointerdown: Dt,\n pointerleave: Ot,\n pointermove: xt,\n pointerup: zt,\n readystatechange: It,\n reset: Pt,\n resize: Bt,\n scroll: Ut,\n select: Ft,\n selectend: Ht,\n selectstart: Vt,\n submit: Wt,\n touchcancel: jt,\n touchend: Gt,\n touchmove: Qt,\n touchstart: Rt,\n unload: Kt\n}, Qe = \"drag\", je = \"dragstart\", Ge = \"dragenter\", Ke = \"dragleave\", qe = \"dragover\", Ze = \"dragend\", Ye = \"loadstart\", _e = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, $e = { down: \"mousedown\", up: \"mouseup\" }, Je = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"], Xe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, tn = { in: \"focusin\", out: \"focusout\" }, qt = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]', en = {\n Backspace: \"Backspace\",\n Tab: \"Tab\",\n Enter: \"Enter\",\n Shift: \"Shift\",\n Control: \"Control\",\n Alt: \"Alt\",\n Pause: \"Pause\",\n CapsLock: \"CapsLock\",\n Escape: \"Escape\",\n Scape: \"Space\",\n ArrowLeft: \"ArrowLeft\",\n ArrowUp: \"ArrowUp\",\n ArrowRight: \"ArrowRight\",\n ArrowDown: \"ArrowDown\",\n Insert: \"Insert\",\n Delete: \"Delete\",\n Meta: \"Meta\",\n ContextMenu: \"ContextMenu\",\n ScrollLock: \"ScrollLock\"\n}, nn = \"Alt\", on = \"ArrowDown\", sn = \"ArrowUp\", rn = \"ArrowLeft\", cn = \"ArrowRight\", an = \"Backspace\", un = \"CapsLock\", ln = \"Control\", dn = \"Delete\", fn = \"Enter\", pn = \"NumpadEnter\", gn = \"Escape\", mn = \"Insert\", vn = \"Meta\", bn = \"Pause\", En = \"ScrollLock\", hn = \"Shift\", yn = \"Space\", wn = \"Tab\", Zt = \"animationDuration\", Yt = \"animationDelay\", U = \"animationName\", L = \"animationend\", _t = \"transitionDuration\", $t = \"transitionDelay\", M = \"transitionend\", W = \"transitionProperty\", An = \"addEventListener\", Sn = \"removeEventListener\", Tn = {\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}, kn = \"offsetHeight\", Nn = \"offsetWidth\", Cn = \"scrollHeight\", Ln = \"scrollWidth\", Mn = \"tabindex\", Dn = navigator.userAgentData, { userAgent: Jt } = navigator, On = Jt, xn = () => {\n const t = /iPhone|iPad|iPod|Android/i;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(navigator?.userAgent) || !1;\n}, zn = () => {\n const t = /(iPhone|iPod|iPad)/;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(\n navigator?.userAgent\n ) || !1;\n}, In = () => navigator?.userAgent?.includes(\"Firefox\") || !1, Xt = () => typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\"), Pn = () => [\"webkitPerspective\", \"perspective\"].some((t) => t in document.head.style), te = () => {\n}, R = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(\n e,\n n,\n s\n );\n}, Q = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(\n e,\n n,\n s\n );\n}, ee = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Q(t, e, s, o));\n };\n R(t, e, s, o);\n}, Bn = () => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n ee(document, V, te, e);\n } catch {\n }\n return t;\n}, Fn = () => [\"webkitTransform\", \"transform\"].some((t) => t in document.head.style), Hn = () => \"ontouchstart\" in window || \"msMaxTouchPoints\" in navigator, Vn = () => [\"webkitAnimation\", \"animation\"].some((t) => t in document.head.style), Un = () => [\"webkitTransition\", \"transition\"].some((t) => t in document.head.style), j = (t, e) => t.getAttribute(e), Wn = (t, e, n) => e.getAttributeNS(t, n), ne = (t, e) => t.hasAttribute(e), Rn = (t, e, n) => e.hasAttributeNS(t, n), Qn = (t, e, n) => t.setAttribute(e, n), jn = (t, e, n, o) => e.setAttributeNS(t, n, o), Gn = (t, e) => t.removeAttribute(e), Kn = (t, e, n) => e.removeAttributeNS(t, n), qn = (t, ...e) => {\n t.classList.add(...e);\n}, Zn = (t, ...e) => {\n t.classList.remove(...e);\n}, Yn = (t, e) => t.classList.contains(e), { body: _n } = document, { documentElement: $n } = document, { head: Jn } = document, Xn = (t) => Array.from(t), b = (t) => t != null && typeof t == \"object\" || !1, l = (t) => b(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some(\n (e) => t.nodeType === e\n) || !1, u = (t) => l(t) && t.nodeType === 1 || !1, h = /* @__PURE__ */ new Map(), O = {\n data: h,\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 h.has(e) || h.set(e, /* @__PURE__ */ new Map()), h.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) => h.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 = O.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 = O.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && h.delete(e));\n }\n}, to = (t, e) => O.get(t, e), eo = (t) => t?.charAt(0).toUpperCase() + t?.slice(1), no = (t) => t?.trim().replace(\n /(?:^\\w|[A-Z]|\\b\\w)/g,\n (e, n) => n === 0 ? e.toLowerCase() : e.toUpperCase()\n).replace(/\\s+/g, \"\"), k = (t) => typeof t == \"string\" || !1, G = (t) => b(t) && t.constructor.name === \"Window\" || !1, K = (t) => l(t) && t.nodeType === 9 || !1, d = (t) => K(t) ? t : l(t) ? t.ownerDocument : G(t) ? t.document : globalThis.document, N = (t, ...e) => Object.assign(t, ...e), oe = (t) => {\n if (!t) return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = oe(e);\n if (!n) return;\n const o = { ...t };\n return delete o.tagName, N(n, o);\n}, se = (t, e) => {\n if (!t || !e) return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = se(t, n);\n if (!o) return;\n const s = { ...e };\n return delete s.tagName, N(o, s);\n}, q = (t, e) => t.dispatchEvent(e), oo = (t, e, n) => n.indexOf(t) === e, g = (t, e, n) => {\n const o = getComputedStyle(t, n), s = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return o.getPropertyValue(s);\n}, re = (t) => {\n const e = g(t, U), n = g(t, Yt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ce = (t) => {\n const e = g(t, U), n = g(t, Zt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, so = (t, e) => {\n let n = 0;\n const o = new Event(L), s = ce(t), r = re(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(L, a), n = 1);\n };\n t.addEventListener(L, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ae = (t) => {\n const e = g(t, W), n = g(t, $t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ie = (t) => {\n const e = g(t, W), n = g(t, _t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ro = (t, e) => {\n let n = 0;\n const o = new Event(M), s = ie(t), r = ae(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(M, a), n = 1);\n };\n t.addEventListener(M, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, co = (t) => Float32Array.from(Array.from(t)), ao = (t) => Float64Array.from(Array.from(t)), io = (t, e) => t.focus(e), uo = (t) => t?.trim().replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/\\s+/g, \"-\").toLowerCase(), P = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, T = (t) => Object.entries(t), ue = (t) => t.toLowerCase(), lo = (t, e, n, o) => {\n if (!u(t)) return e;\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, i = {}, f = \"title\";\n return T(r).forEach(([c, p]) => {\n const E = o && typeof c == \"string\" && c.includes(o) ? c.replace(o, \"\").replace(\n /[A-Z]/g,\n (C) => ue(C)\n ) : c;\n i[E] = P(p);\n }), T(s).forEach(([c, p]) => {\n s[c] = P(p);\n }), T(e).forEach(([c, p]) => {\n c in s ? a[c] = s[c] : c in i ? a[c] = i[c] : a[c] = c === f ? j(t, f) : p;\n }), a;\n}, fo = (t, e) => b(t) && (Object.hasOwn(t, e) || e in t), po = (t) => Object.keys(t), go = (t) => Object.values(t), mo = (t) => Object.fromEntries(t), vo = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return b(e) && N(n, e), n;\n}, bo = { passive: !0 }, Eo = (t) => t.offsetHeight, ho = (t, e) => {\n T(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, N(t.style, s);\n }\n });\n}, x = (t) => b(t) && t.constructor.name === \"Map\" || !1, le = (t) => typeof t == \"number\" || !1, v = /* @__PURE__ */ new Map(), yo = {\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 ? (v.has(t) || v.set(t, /* @__PURE__ */ new Map()), v.get(t).set(o, setTimeout(e, n))) : v.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 = v.get(t);\n return e && n && x(n) ? n.get(e) || null : le(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 = v.get(t);\n e && e.length && x(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && v.delete(t)) : (clearTimeout(n), v.delete(t));\n }\n}, wo = (t) => t.toUpperCase(), de = (t, e) => (l(e) ? e : d()).querySelectorAll(t), z = /* @__PURE__ */ new Map();\nfunction fe(t) {\n const { shiftKey: e, code: n } = t, o = d(this), s = [\n ...de(qt, this)\n ].filter(\n (i) => !ne(i, \"disabled\") && !j(i, $)\n );\n if (!s.length) return;\n const r = s[0], a = s[s.length - 1];\n n === \"Tab\" && (e && o.activeElement === r ? (a.focus(), t.preventDefault()) : !e && o.activeElement === a && (r.focus(), t.preventDefault()));\n}\nconst pe = (t) => z.has(t) === !0, Ao = (t) => {\n const e = pe(t);\n (e ? Q : R)(t, \"keydown\", fe), e ? z.delete(t) : z.set(t, !0);\n}, m = (t) => u(t) && \"offsetWidth\" in t || !1, w = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: i } = t.getBoundingClientRect();\n let f = 1, c = 1;\n if (e && m(t)) {\n const { offsetWidth: p, offsetHeight: E } = t;\n f = p > 0 ? Math.round(n) / p : 1, c = E > 0 ? Math.round(o) / E : 1;\n }\n return {\n width: n / f,\n height: o / c,\n top: s / c,\n right: r / f,\n bottom: a / c,\n left: i / f,\n x: i / f,\n y: s / c\n };\n}, So = (t) => d(t).body, S = (t) => d(t).documentElement, To = (t) => d(t).head, ge = (t) => l(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\", ko = (t) => {\n const e = G(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, me = (t) => l(t) && t.constructor.name === \"ShadowRoot\" || !1, A = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || l(t) && t.parentNode || me(t) && t.host || S(t), ve = (t) => t ? K(t) ? t.defaultView : l(t) ? t?.ownerDocument?.defaultView : t : window, be = (t) => l(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, Ee = (t, e) => t.matches(e), D = (t) => g(t, \"position\") === \"static\", he = (t) => g(t, \"position\") === \"fixed\", Z = (t) => [\":popover-open\", \":modal\"].some((e) => {\n try {\n return Ee(t, e);\n } catch {\n return !1;\n }\n}), Y = (t) => {\n const e = Xt(), n = u(t) ? getComputedStyle(t) : t;\n return n.transform !== \"none\" || n.perspective !== \"none\" || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || [\"transform\", \"perspective\", \"filter\"].some(\n (o) => (n.willChange || \"\").includes(o)\n ) || [\"paint\", \"layout\", \"strict\", \"content\"].some(\n (o) => (n.contain || \"\").includes(o)\n );\n}, ye = (t) => {\n let e = A(t);\n for (; u(e) && !I(e); ) {\n if (Y(e))\n return e;\n if (Z(e))\n return null;\n e = A(e);\n }\n return null;\n}, I = (t) => [\"html\", \"body\", \"#document\"].includes(ge(t)), B = (t) => {\n if (!m(t) || he(t))\n return null;\n let e = t.offsetParent;\n return S(t) === e && (e = e.ownerDocument.body), e;\n}, No = (t) => {\n const e = ve(t);\n if (!l(t) || Z(t))\n return e;\n if (!m(t)) {\n let o = A(t);\n for (; o && !I(o); ) {\n if (u(o) && !D(o))\n return o;\n o = A(o);\n }\n return e;\n }\n let n = B(t);\n for (; n && be(n) && D(n); )\n n = B(n);\n return n && I(n) && D(n) && !Y(n) ? e : n || ye(t) || e;\n}, we = (t) => {\n if (!m(t)) return !1;\n const { width: e, height: n } = w(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, Co = (t, e, n) => {\n const o = m(e), s = w(\n t,\n o && we(e)\n ), r = { x: 0, y: 0 };\n if (o) {\n const a = w(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 F = 0, H = 0;\nconst y = /* @__PURE__ */ new Map(), Ae = (t, e) => {\n let n = e ? F : H;\n if (e) {\n const o = Ae(t), s = y.get(o) || /* @__PURE__ */ new Map();\n y.has(o) || y.set(o, s), x(s) && !s.has(e) ? (s.set(e, n), F += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n y.has(o) ? n = y.get(o) : (y.set(o, n), H += 1);\n }\n return n;\n}, Lo = (t) => {\n const e = [\"HTML\", \"BODY\"];\n let { parentNode: n } = t;\n if (!m(n))\n for (; n && !e.includes(n.nodeName) && (n = A(n), !m(n)); )\n ;\n const {\n offsetLeft: o,\n offsetTop: s,\n offsetParent: r\n } = n, { top: a, left: i } = n.getBoundingClientRect(), { top: f, left: c, width: p, height: E } = t.getBoundingClientRect(), C = s + (f - a), _ = o + (c - i);\n return {\n offsetTop: C,\n offsetLeft: _,\n offsetWidth: p,\n offsetHeight: E,\n offsetParent: r\n };\n}, Se = (t) => Array.isArray(t) || !1, Mo = (t) => l(t) && t.nodeName === \"CANVAS\" || !1, Te = (t) => m(t) && !!t.shadowRoot || !1, Do = (t) => {\n if (!l(t)) return !1;\n const { top: e, bottom: n } = w(t), { clientHeight: o } = S(t);\n return e <= o && n >= 0;\n}, Oo = (t) => {\n if (!u(t)) return !1;\n const { clientWidth: e, clientHeight: n } = S(t), { top: o, left: s, bottom: r, right: a } = w(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, xo = (t) => Se(t) && t.every(u) || !1, zo = (t) => typeof t == \"function\" || !1, Io = (t) => b(t) && t.constructor.name === \"HTMLCollection\" || !1, Po = (t) => m(t) && t.tagName === \"IMG\" || !1, Bo = (t) => {\n if (!k(t)) return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Fo = (t) => b(t) && t.constructor.name === \"WeakMap\" || !1, Ho = (t) => l(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some(\n (e) => t.constructor.name.includes(e)\n) || !1, Vo = (t) => b(t) && t.constructor.name === \"NodeList\" || !1, Uo = (t) => S(t).dir === \"rtl\", Wo = (t) => l(t) && t.constructor.name.includes(\"SVG\") || !1, ke = (t, e) => !t || !e ? null : t.closest(e) || ke(t.getRootNode().host, e) || null, Ro = (t, e) => u(t) ? t : (u(e) ? e : d()).querySelector(t), Ne = (t, e) => (l(e) ? e : d()).getElementsByTagName(\n t\n), Qo = (t) => [...Ne(\"*\", t)].filter(Te), jo = (t, e) => d(e).getElementById(t), Go = (t, e) => (e && l(e) ? e : d()).getElementsByClassName(\n t\n);\nexport {\n Xn as ArrayFrom,\n V as DOMContentLoadedEvent,\n ot as DOMMouseScrollEvent,\n O as Data,\n co as Float32ArrayFrom,\n ao as Float64ArrayFrom,\n N as ObjectAssign,\n T as ObjectEntries,\n mo as ObjectFromEntries,\n fo as ObjectHasOwn,\n po as ObjectKeys,\n go as ObjectValues,\n yo as Timer,\n J as abortEvent,\n qn as addClass,\n An as addEventListener,\n Yt as animationDelay,\n Zt as animationDuration,\n L as animationEndEvent,\n U as animationName,\n Le as ariaChecked,\n De as ariaDescribedBy,\n Me as ariaDescription,\n Oe as ariaExpanded,\n xe as ariaHasPopup,\n $ as ariaHidden,\n ze as ariaLabel,\n Ie as ariaLabelledBy,\n Pe as ariaModal,\n Be as ariaPressed,\n Fe as ariaSelected,\n Ve as ariaValueMax,\n He as ariaValueMin,\n Ue as ariaValueNow,\n We as ariaValueText,\n X as beforeunloadEvent,\n Tn as bezierEasings,\n tt as blurEvent,\n no as camelCase,\n eo as capitalize,\n et as changeEvent,\n ke as closest,\n nt as contextmenuEvent,\n vo as createCustomEvent,\n oe as createElement,\n se as createElementNS,\n q as dispatchEvent,\n oo as distinct,\n _n as documentBody,\n $n as documentElement,\n Jn as documentHead,\n Qe as dragEvent,\n Ze as dragendEvent,\n Ge as dragenterEvent,\n Ke as dragleaveEvent,\n qe as dragoverEvent,\n je as dragstartEvent,\n so as emulateAnimationEnd,\n ro as emulateTransitionEnd,\n st as errorEvent,\n io as focus,\n rt as focusEvent,\n tn as focusEvents,\n qt as focusableSelector,\n ct as focusinEvent,\n at as focusoutEvent,\n it as gesturechangeEvent,\n ut as gestureendEvent,\n lt as gesturestartEvent,\n j as getAttribute,\n Wn as getAttributeNS,\n w as getBoundingClientRect,\n Qo as getCustomElements,\n d as getDocument,\n So as getDocumentBody,\n S as getDocumentElement,\n To as getDocumentHead,\n re as getElementAnimationDelay,\n ce as getElementAnimationDuration,\n jo as getElementById,\n g as getElementStyle,\n ae as getElementTransitionDelay,\n ie as getElementTransitionDuration,\n Go as getElementsByClassName,\n Ne as getElementsByTagName,\n to as getInstance,\n ge as getNodeName,\n ko as getNodeScroll,\n No as getOffsetParent,\n A as getParentNode,\n Co as getRectRelativeToOffsetParent,\n Lo as getSVGOffset,\n Ae as getUID,\n ve as getWindow,\n ne as hasAttribute,\n Rn as hasAttributeNS,\n Yn as hasClass,\n pe as hasFocusTrap,\n zn as isApple,\n Se as isArray,\n Mo as isCanvas,\n Te as isCustomElement,\n K as isDocument,\n u as isElement,\n Do as isElementInScrollRange,\n Oo as isElementInViewport,\n xo as isElementsArray,\n In as isFirefox,\n zo as isFunction,\n Io as isHTMLCollection,\n m as isHTMLElement,\n Po as isHTMLImageElement,\n Bo as isJSON,\n x as isMap,\n Ho as isMedia,\n xn as isMobile,\n l as isNode,\n Vo as isNodeList,\n le as isNumber,\n b as isObject,\n Uo as isRTL,\n Wo as isSVGElement,\n we as isScaledElement,\n me as isShadowRoot,\n k as isString,\n be as isTableElement,\n Fo as isWeakMap,\n Xt as isWebKit,\n G as isWindow,\n uo as kebabCase,\n nn as keyAlt,\n on as keyArrowDown,\n rn as keyArrowLeft,\n cn as keyArrowRight,\n sn as keyArrowUp,\n an as keyBackspace,\n un as keyCapsLock,\n ln as keyControl,\n dn as keyDelete,\n fn as keyEnter,\n gn as keyEscape,\n mn as keyInsert,\n vn as keyMeta,\n pn as keyNumpadEnter,\n bn as keyPause,\n En as keyScrollLock,\n hn as keyShift,\n yn as keySpace,\n wn as keyTab,\n en as keyboardEventKeys,\n dt as keydownEvent,\n ft as keypressEvent,\n pt as keyupEvent,\n gt as loadEvent,\n Ye as loadstartEvent,\n Ee as matches,\n $e as mouseClickEvents,\n Je as mouseHoverEvents,\n _e as mouseSwipeEvents,\n mt as mouseclickEvent,\n vt as mousedblclickEvent,\n bt as mousedownEvent,\n yt as mouseenterEvent,\n ht as mousehoverEvent,\n At as mouseinEvent,\n wt as mouseleaveEvent,\n kt as mousemoveEvent,\n St as mouseoutEvent,\n Tt as mouseoverEvent,\n Et as mouseupEvent,\n Nt as mousewheelEvent,\n Ct as moveEvent,\n Re as nativeEvents,\n te as noop,\n lo as normalizeOptions,\n P as normalizeValue,\n Q as off,\n kn as offsetHeight,\n Nn as offsetWidth,\n R as on,\n ee as one,\n Lt as orientationchangeEvent,\n bo as passiveHandler,\n Mt as pointercancelEvent,\n Dt as pointerdownEvent,\n Ot as pointerleaveEvent,\n xt as pointermoveEvent,\n zt as pointerupEvent,\n Ro as querySelector,\n de as querySelectorAll,\n It as readystatechangeEvent,\n Eo as reflow,\n Gn as removeAttribute,\n Kn as removeAttributeNS,\n Zn as removeClass,\n Sn as removeEventListener,\n Pt as resetEvent,\n Bt as resizeEvent,\n Ut as scrollEvent,\n Cn as scrollHeight,\n Ln as scrollWidth,\n Ft as selectEvent,\n Ht as selectendEvent,\n Vt as selectstartEvent,\n Qn as setAttribute,\n jn as setAttributeNS,\n ho as setElementStyle,\n Wt as submitEvent,\n Pn as support3DTransform,\n Vn as supportAnimation,\n Bn as supportPassive,\n Hn as supportTouch,\n Fn as supportTransform,\n Un as supportTransition,\n Mn as tabindex,\n ue as toLowerCase,\n wo as toUpperCase,\n Ao as toggleFocusTrap,\n Xe as touchEvents,\n jt as touchcancelEvent,\n Gt as touchendEvent,\n Qt as touchmoveEvent,\n Rt as touchstartEvent,\n $t as transitionDelay,\n _t as transitionDuration,\n M as transitionEndEvent,\n W as transitionProperty,\n Kt as unloadEvent,\n On as userAgent,\n Dn as userAgentData,\n Ce as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","import { version } from \"../package.json\";\n\nconst Version = version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport {\n Data,\n isElement,\n isString,\n normalizeOptions,\n ObjectKeys,\n querySelector,\n} 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: Element;\n declare options?: BaseOptions;\n\n /**\n * @param target `Element` or selector string\n * @param config component instance options\n */\n constructor(target: Element | string, config?: BaseOptions) {\n let element: Element | null;\n\n try {\n if (isElement(target)) {\n element = target as Element;\n } else if (isString(target)) {\n element = querySelector(target);\n // istanbul ignore else @preserve\n if (!element) throw Error(`\"${target}\" is not a valid selector.`);\n } else {\n throw Error(`your target is not an instance of HTMLElement.`);\n }\n } catch (e) {\n throw Error(`${this.name} Error: ${(e as Error).message}`);\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else @preserve */\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 = this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, \"bs\")\n // istanbul ignore next @preserve\n : {};\n\n Data.set(element, this.name, this);\n }\n\n // istanbul ignore next @preserve\n get version() {\n return Version;\n }\n\n // istanbul ignore next @preserve\n get name() {\n return \"BaseComponent\";\n }\n\n // istanbul ignore next @preserve\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n // istanbul ignore next @preserve coverage wise this isn't important\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":["De","Oe","$","Pe","Be","Fe","rt","ct","at","dt","pt","mt","bt","ht","yt","wt","Dt","xt","zt","Rt","je","qt","on","sn","rn","cn","gn","_t","$t","M","W","zn","t","e","te","R","Q","j","ne","Qn","Gn","qn","Zn","Yn","b","l","h","O","to","k","G","K","N","oe","q","g","ae","ie","ro","r","i","io","P","T","ue","lo","f","c","p","C","po","vo","bo","Eo","ho","x","le","v","yo","de","z","fe","pe","Ao","m","w","So","S","ko","me","A","ve","be","Ee","we","Co","F","H","y","Ae","Se","Do","zo","Vo","Uo","ke","Ro","Ne","Go","Version","version","BaseComponent","target","config","element","isElement","isString","querySelector","prevInstance","Data","ObjectKeys","normalizeOptions","prop"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/dist/components/base-component-Jx2aafTJ.mjs b/dist/components/base-component-Jx2aafTJ.mjs deleted file mode 100644 index 9e474571..00000000 --- a/dist/components/base-component-Jx2aafTJ.mjs +++ /dev/null @@ -1,352 +0,0 @@ -const ue = "aria-describedby", ce = "aria-expanded", W = "aria-hidden", de = "aria-modal", he = "aria-pressed", fe = "aria-selected", ge = "focus", me = "focusin", pe = "focusout", ye = "keydown", we = "keyup", be = "click", ve = "mousedown", Ee = "hover", Ae = "mouseenter", Te = "mouseleave", Ne = "pointerdown", Le = "pointermove", xe = "pointerup", Me = "touchstart", De = "dragstart", O = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]', ke = "ArrowDown", Ce = "ArrowUp", He = "ArrowLeft", Pe = "ArrowRight", Be = "Escape", V = "transitionDuration", $ = "transitionDelay", T = "transitionend", F = "transitionProperty", Fe = () => { - const e = /(iPhone|iPod|iPad)/; - return navigator?.userAgentData?.brands.some( - (t) => e.test(t.brand) - ) || e.test( - navigator?.userAgent - ) || !1; -}, Re = () => { -}, q = (e, t, s, n) => { - const a = n || !1; - e.addEventListener( - t, - s, - a - ); -}, G = (e, t, s, n) => { - const a = n || !1; - e.removeEventListener( - t, - s, - a - ); -}, R = (e, t) => e.getAttribute(t), Z = (e, t) => e.hasAttribute(t), Se = (e, t, s) => e.setAttribute(t, s), je = (e, t) => e.removeAttribute(t), ze = (e, ...t) => { - e.classList.add(...t); -}, We = (e, ...t) => { - e.classList.remove(...t); -}, Oe = (e, t) => e.classList.contains(t), w = (e) => e != null && typeof e == "object" || !1, c = (e) => w(e) && typeof e.nodeType == "number" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some( - (t) => e.nodeType === t -) || !1, u = (e) => c(e) && e.nodeType === 1 || !1, m = /* @__PURE__ */ new Map(), y = { - data: m, - /** - * Sets web components data. - * - * @param element target element - * @param component the component's name or a unique key - * @param instance the component instance - */ - set: (e, t, s) => { - u(e) && (m.has(t) || m.set(t, /* @__PURE__ */ new Map()), m.get(t).set(e, s)); - }, - /** - * Returns all instances for specified component. - * - * @param component the component's name or a unique key - * @returns all the component instances - */ - getAllFor: (e) => m.get(e) || null, - /** - * Returns the instance associated with the target. - * - * @param element target element - * @param component the component's name or a unique key - * @returns the instance - */ - get: (e, t) => { - if (!u(e) || !t) return null; - const s = y.getAllFor(t); - return e && s && s.get(e) || null; - }, - /** - * Removes web components data. - * - * @param element target element - * @param component the component's name or a unique key - */ - remove: (e, t) => { - const s = y.getAllFor(t); - !s || !u(e) || (s.delete(e), s.size === 0 && m.delete(t)); - } -}, Ve = (e, t) => y.get(e, t), x = (e) => typeof e == "string" || !1, S = (e) => w(e) && e.constructor.name === "Window" || !1, j = (e) => c(e) && e.nodeType === 9 || !1, g = (e) => j(e) ? e : c(e) ? e.ownerDocument : S(e) ? e.document : globalThis.document, M = (e, ...t) => Object.assign(e, ...t), _ = (e) => { - if (!e) return; - if (x(e)) - return g().createElement(e); - const { tagName: t } = e, s = _(t); - if (!s) return; - const n = { ...e }; - return delete n.tagName, M(s, n); -}, K = (e, t) => e.dispatchEvent(t), E = (e, t, s) => { - const n = getComputedStyle(e, s), a = t.replace("webkit", "Webkit").replace(/([A-Z])/g, "-$1").toLowerCase(); - return n.getPropertyValue(a); -}, Q = (e) => { - const t = E(e, F), s = E(e, $), n = s.includes("ms") ? 1 : 1e3, a = t && t !== "none" ? parseFloat(s) * n : 0; - return Number.isNaN(a) ? 0 : a; -}, U = (e) => { - const t = E(e, F), s = E(e, V), n = s.includes("ms") ? 1 : 1e3, a = t && t !== "none" ? parseFloat(s) * n : 0; - return Number.isNaN(a) ? 0 : a; -}, $e = (e, t) => { - let s = 0; - const n = new Event(T), a = U(e), r = Q(e); - if (a) { - const i = (l) => { - l.target === e && (t.apply(e, [l]), e.removeEventListener(T, i), s = 1); - }; - e.addEventListener(T, i), setTimeout(() => { - s || K(e, n); - }, a + r + 17); - } else - t.apply(e, [n]); -}, qe = (e, t) => e.focus(t), C = (e) => ["true", !0].includes(e) ? !0 : ["false", !1].includes(e) ? !1 : ["null", "", null, void 0].includes(e) ? null : e !== "" && !Number.isNaN(+e) ? +e : e, v = (e) => Object.entries(e), Y = (e) => e.toLowerCase(), I = (e, t, s, n) => { - if (!u(e)) return t; - const a = { ...s }, r = { ...e.dataset }, i = { ...t }, l = {}, d = "title"; - return v(r).forEach(([o, h]) => { - const b = typeof o == "string" && o.includes(n) ? o.replace(n, "").replace( - /[A-Z]/g, - (z) => Y(z) - ) : o; - l[b] = C(h); - }), v(a).forEach(([o, h]) => { - a[o] = C(h); - }), v(t).forEach(([o, h]) => { - o in a ? i[o] = a[o] : o in l ? i[o] = l[o] : i[o] = o === d ? R(e, d) : h; - }), i; -}, H = (e) => Object.keys(e), Ge = (e, t) => { - const s = new CustomEvent(e, { - cancelable: !0, - bubbles: !0 - }); - return w(t) && M(s, t), s; -}, Ze = { passive: !0 }, _e = (e) => e.offsetHeight, Ke = (e, t) => { - v(t).forEach(([s, n]) => { - if (n && x(s) && s.includes("--")) - e.style.setProperty(s, n); - else { - const a = {}; - a[s] = n, M(e.style, a); - } - }); -}, N = (e) => w(e) && e.constructor.name === "Map" || !1, X = (e) => typeof e == "number" || !1, f = /* @__PURE__ */ new Map(), Qe = { - /** - * Sets a new timeout timer for an element, or element -> key association. - * - * @param element target element - * @param callback the callback - * @param delay the execution delay - * @param key a unique key - */ - set: (e, t, s, n) => { - u(e) && (n && n.length ? (f.has(e) || f.set(e, /* @__PURE__ */ new Map()), f.get(e).set(n, setTimeout(t, s))) : f.set(e, setTimeout(t, s))); - }, - /** - * Returns the timer associated with the target. - * - * @param element target element - * @param key a unique - * @returns the timer - */ - get: (e, t) => { - if (!u(e)) return null; - const s = f.get(e); - return t && s && N(s) ? s.get(t) || null : X(s) ? s : null; - }, - /** - * Clears the element's timer. - * - * @param element target element - * @param key a unique key - */ - clear: (e, t) => { - if (!u(e)) return; - const s = f.get(e); - t && t.length && N(s) ? (clearTimeout(s.get(t)), s.delete(t), s.size === 0 && f.delete(e)) : (clearTimeout(s), f.delete(e)); - } -}, J = (e, t) => (c(t) ? t : g()).querySelectorAll(e), L = /* @__PURE__ */ new Map(); -function ee(e) { - const { shiftKey: t, code: s } = e, n = g(this), a = [ - ...J(O, this) - ].filter( - (l) => !Z(l, "disabled") && !R(l, W) - ); - if (!a.length) return; - const r = a[0], i = a[a.length - 1]; - s === "Tab" && (t && n.activeElement === r ? (i.focus(), e.preventDefault()) : !t && n.activeElement === i && (r.focus(), e.preventDefault())); -} -const te = (e) => L.has(e) === !0, Ue = (e) => { - const t = te(e); - (t ? G : q)(e, "keydown", ee), t ? L.delete(e) : L.set(e, !0); -}, D = (e) => u(e) && "offsetWidth" in e || !1, A = (e, t) => { - const { width: s, height: n, top: a, right: r, bottom: i, left: l } = e.getBoundingClientRect(); - let d = 1, o = 1; - if (t && D(e)) { - const { offsetWidth: h, offsetHeight: b } = e; - d = h > 0 ? Math.round(s) / h : 1, o = b > 0 ? Math.round(n) / b : 1; - } - return { - width: s / d, - height: n / o, - top: a / o, - right: r / d, - bottom: i / o, - left: l / d, - x: l / d, - y: a / o - }; -}, Ye = (e) => g(e).body, k = (e) => g(e).documentElement, Ie = (e) => { - const t = S(e), s = t ? e.scrollX : e.scrollLeft, n = t ? e.scrollY : e.scrollTop; - return { x: s, y: n }; -}, se = (e) => c(e) && e.constructor.name === "ShadowRoot" || !1, Xe = (e) => e.nodeName === "HTML" ? e : u(e) && e.assignedSlot || c(e) && e.parentNode || se(e) && e.host || k(e), Je = (e) => e ? j(e) ? e.defaultView : c(e) ? e?.ownerDocument?.defaultView : e : window, et = (e) => c(e) && ["TABLE", "TD", "TH"].includes(e.nodeName) || !1, tt = (e, t) => e.matches(t), ne = (e) => { - if (!D(e)) return !1; - const { width: t, height: s } = A(e), { offsetWidth: n, offsetHeight: a } = e; - return Math.round(t) !== n || Math.round(s) !== a; -}, st = (e, t, s) => { - const n = D(t), a = A( - e, - n && ne(t) - ), r = { x: 0, y: 0 }; - if (n) { - const i = A(t, !0); - r.x = i.x + t.clientLeft, r.y = i.y + t.clientTop; - } - return { - x: a.left + s.x - r.x, - y: a.top + s.y - r.y, - width: a.width, - height: a.height - }; -}; -let P = 0, B = 0; -const p = /* @__PURE__ */ new Map(), ae = (e, t) => { - let s = t ? P : B; - if (t) { - const n = ae(e), a = p.get(n) || /* @__PURE__ */ new Map(); - p.has(n) || p.set(n, a), N(a) && !a.has(t) ? (a.set(t, s), P += 1) : s = a.get(t); - } else { - const n = e.id || e; - p.has(n) ? s = p.get(n) : (p.set(n, s), B += 1); - } - return s; -}, nt = (e) => Array.isArray(e) || !1, at = (e) => { - if (!c(e)) return !1; - const { top: t, bottom: s } = A(e), { clientHeight: n } = k(e); - return t <= n && s >= 0; -}, ot = (e) => typeof e == "function" || !1, rt = (e) => w(e) && e.constructor.name === "NodeList" || !1, it = (e) => k(e).dir === "rtl", oe = (e, t) => !e || !t ? null : e.closest(t) || oe(e.getRootNode().host, t) || null, re = (e, t) => u(e) ? e : (u(t) ? t : g()).querySelector(e), lt = (e, t) => (c(t) ? t : g()).getElementsByTagName( - e -), ut = (e, t) => (t && c(t) ? t : g()).getElementsByClassName( - e -), ie = "5.1.0", le = ie; -class ct { - /** - * @param target `Element` or selector string - * @param config component instance options - */ - constructor(t, s) { - let n; - try { - if (u(t)) - n = t; - else if (x(t)) { - if (n = re(t), !n) throw Error(`"${t}" is not a valid selector.`); - } else - throw Error("your target is not an instance of HTMLElement."); - } catch (r) { - throw Error(`${this.name} Error: ${r.message}`); - } - const a = y.get(n, this.name); - a && a._toggleEventListeners(), this.element = n, this.options = this.defaults && H(this.defaults).length ? I(n, this.defaults, s || {}, "bs") : {}, y.set(n, this.name, this); - } - get version() { - return le; - } - get name() { - return "BaseComponent"; - } - get defaults() { - return {}; - } - _toggleEventListeners = () => { - }; - dispose() { - y.remove(this.element, this.name), H(this).forEach((t) => { - delete this[t]; - }); - } -} -export { - W as $, - x as A, - ct as B, - Re as C, - at as D, - tt as E, - Ke as F, - ut as G, - Z as H, - qe as I, - E as J, - A as K, - ge as L, - we as M, - M as N, - ce as O, - ve as P, - Se as Q, - re as R, - k as S, - ke as T, - it as U, - Ce as V, - Be as W, - je as X, - Oe as Y, - We as Z, - Ye as _, - he as a, - de as a0, - Ue as a1, - Je as a2, - _ as a3, - lt as a4, - fe as a5, - me as a6, - pe as a7, - Ie as a8, - st as a9, - Y as aa, - ot as ab, - rt as ac, - nt as ad, - c as ae, - Xe as af, - se as ag, - et as ah, - ae as ai, - Ee as aj, - Fe as ak, - ue as al, - ze as b, - J as c, - g as d, - _e as e, - D as f, - Ae as g, - Ze as h, - U as i, - R as j, - Ne as k, - Me as l, - be as m, - De as n, - ye as o, - oe as p, - K as q, - $e as r, - Pe as s, - Ve as t, - He as u, - Ge as v, - Te as w, - Le as x, - Qe as y, - xe as z -}; -//# sourceMappingURL=base-component-Jx2aafTJ.mjs.map diff --git a/dist/components/base-component-Jx2aafTJ.mjs.map b/dist/components/base-component-Jx2aafTJ.mjs.map deleted file mode 100644 index 0006bd52..00000000 --- a/dist/components/base-component-Jx2aafTJ.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"base-component-Jx2aafTJ.mjs","sources":["../../node_modules/.pnpm/@thednp+shorty@https+++codeload.github.com+thednp+shorty+tar.gz+309d581b370f747cb15531ca6c201def3827e05c/node_modules/@thednp/shorty/dist/shorty.mjs","../../src/version.ts","../../src/components/base-component.ts"],"sourcesContent":["const Ce = \"2.0.8\", Le = \"aria-checked\", Me = \"aria-description\", De = \"aria-describedby\", Oe = \"aria-expanded\", xe = \"aria-haspopup\", $ = \"aria-hidden\", ze = \"aria-label\", Ie = \"aria-labelledby\", Pe = \"aria-modal\", Be = \"aria-pressed\", Fe = \"aria-selected\", He = \"aria-valuemin\", Ve = \"aria-valuemax\", Ue = \"aria-valuenow\", We = \"aria-valuetext\", J = \"abort\", X = \"beforeunload\", tt = \"blur\", et = \"change\", nt = \"contextmenu\", V = \"DOMContentLoaded\", ot = \"DOMMouseScroll\", st = \"error\", rt = \"focus\", ct = \"focusin\", at = \"focusout\", it = \"gesturechange\", ut = \"gestureend\", lt = \"gesturestart\", dt = \"keydown\", ft = \"keypress\", pt = \"keyup\", gt = \"load\", mt = \"click\", vt = \"dblclick\", bt = \"mousedown\", Et = \"mouseup\", ht = \"hover\", yt = \"mouseenter\", wt = \"mouseleave\", At = \"mousein\", St = \"mouseout\", Tt = \"mouseover\", kt = \"mousemove\", Nt = \"mousewheel\", Ct = \"move\", Lt = \"orientationchange\", Mt = \"pointercancel\", Dt = \"pointerdown\", Ot = \"pointerleave\", xt = \"pointermove\", zt = \"pointerup\", It = \"readystatechange\", Pt = \"reset\", Bt = \"resize\", Ft = \"select\", Ht = \"selectend\", Vt = \"selectstart\", Ut = \"scroll\", Wt = \"submit\", Rt = \"touchstart\", Qt = \"touchmove\", jt = \"touchcancel\", Gt = \"touchend\", Kt = \"unload\", Re = {\n DOMContentLoaded: V,\n DOMMouseScroll: ot,\n abort: J,\n beforeunload: X,\n blur: tt,\n change: et,\n click: mt,\n contextmenu: nt,\n dblclick: vt,\n error: st,\n focus: rt,\n focusin: ct,\n focusout: at,\n gesturechange: it,\n gestureend: ut,\n gesturestart: lt,\n hover: ht,\n keydown: dt,\n keypress: ft,\n keyup: pt,\n load: gt,\n mousedown: bt,\n mousemove: kt,\n mousein: At,\n mouseout: St,\n mouseenter: yt,\n mouseleave: wt,\n mouseover: Tt,\n mouseup: Et,\n mousewheel: Nt,\n move: Ct,\n orientationchange: Lt,\n pointercancel: Mt,\n pointerdown: Dt,\n pointerleave: Ot,\n pointermove: xt,\n pointerup: zt,\n readystatechange: It,\n reset: Pt,\n resize: Bt,\n scroll: Ut,\n select: Ft,\n selectend: Ht,\n selectstart: Vt,\n submit: Wt,\n touchcancel: jt,\n touchend: Gt,\n touchmove: Qt,\n touchstart: Rt,\n unload: Kt\n}, Qe = \"drag\", je = \"dragstart\", Ge = \"dragenter\", Ke = \"dragleave\", qe = \"dragover\", Ze = \"dragend\", Ye = \"loadstart\", _e = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, $e = { down: \"mousedown\", up: \"mouseup\" }, Je = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"], Xe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, tn = { in: \"focusin\", out: \"focusout\" }, qt = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]', en = {\n Backspace: \"Backspace\",\n Tab: \"Tab\",\n Enter: \"Enter\",\n Shift: \"Shift\",\n Control: \"Control\",\n Alt: \"Alt\",\n Pause: \"Pause\",\n CapsLock: \"CapsLock\",\n Escape: \"Escape\",\n Scape: \"Space\",\n ArrowLeft: \"ArrowLeft\",\n ArrowUp: \"ArrowUp\",\n ArrowRight: \"ArrowRight\",\n ArrowDown: \"ArrowDown\",\n Insert: \"Insert\",\n Delete: \"Delete\",\n Meta: \"Meta\",\n ContextMenu: \"ContextMenu\",\n ScrollLock: \"ScrollLock\"\n}, nn = \"Alt\", on = \"ArrowDown\", sn = \"ArrowUp\", rn = \"ArrowLeft\", cn = \"ArrowRight\", an = \"Backspace\", un = \"CapsLock\", ln = \"Control\", dn = \"Delete\", fn = \"Enter\", pn = \"NumpadEnter\", gn = \"Escape\", mn = \"Insert\", vn = \"Meta\", bn = \"Pause\", En = \"ScrollLock\", hn = \"Shift\", yn = \"Space\", wn = \"Tab\", Zt = \"animationDuration\", Yt = \"animationDelay\", U = \"animationName\", L = \"animationend\", _t = \"transitionDuration\", $t = \"transitionDelay\", M = \"transitionend\", W = \"transitionProperty\", An = \"addEventListener\", Sn = \"removeEventListener\", Tn = {\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}, kn = \"offsetHeight\", Nn = \"offsetWidth\", Cn = \"scrollHeight\", Ln = \"scrollWidth\", Mn = \"tabindex\", Dn = navigator.userAgentData, { userAgent: Jt } = navigator, On = Jt, xn = () => {\n const t = /iPhone|iPad|iPod|Android/i;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(navigator?.userAgent) || !1;\n}, zn = () => {\n const t = /(iPhone|iPod|iPad)/;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(\n navigator?.userAgent\n ) || !1;\n}, In = () => navigator?.userAgent?.includes(\"Firefox\") || !1, Xt = () => typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\"), Pn = () => [\"webkitPerspective\", \"perspective\"].some((t) => t in document.head.style), te = () => {\n}, R = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(\n e,\n n,\n s\n );\n}, Q = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(\n e,\n n,\n s\n );\n}, ee = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Q(t, e, s, o));\n };\n R(t, e, s, o);\n}, Bn = () => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n ee(document, V, te, e);\n } catch {\n }\n return t;\n}, Fn = () => [\"webkitTransform\", \"transform\"].some((t) => t in document.head.style), Hn = () => \"ontouchstart\" in window || \"msMaxTouchPoints\" in navigator, Vn = () => [\"webkitAnimation\", \"animation\"].some((t) => t in document.head.style), Un = () => [\"webkitTransition\", \"transition\"].some((t) => t in document.head.style), j = (t, e) => t.getAttribute(e), Wn = (t, e, n) => e.getAttributeNS(t, n), ne = (t, e) => t.hasAttribute(e), Rn = (t, e, n) => e.hasAttributeNS(t, n), Qn = (t, e, n) => t.setAttribute(e, n), jn = (t, e, n, o) => e.setAttributeNS(t, n, o), Gn = (t, e) => t.removeAttribute(e), Kn = (t, e, n) => e.removeAttributeNS(t, n), qn = (t, ...e) => {\n t.classList.add(...e);\n}, Zn = (t, ...e) => {\n t.classList.remove(...e);\n}, Yn = (t, e) => t.classList.contains(e), { body: _n } = document, { documentElement: $n } = document, { head: Jn } = document, Xn = (t) => Array.from(t), b = (t) => t != null && typeof t == \"object\" || !1, l = (t) => b(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some(\n (e) => t.nodeType === e\n) || !1, u = (t) => l(t) && t.nodeType === 1 || !1, h = /* @__PURE__ */ new Map(), O = {\n data: h,\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 h.has(e) || h.set(e, /* @__PURE__ */ new Map()), h.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) => h.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 = O.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 = O.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && h.delete(e));\n }\n}, to = (t, e) => O.get(t, e), eo = (t) => t?.charAt(0).toUpperCase() + t?.slice(1), no = (t) => t?.trim().replace(\n /(?:^\\w|[A-Z]|\\b\\w)/g,\n (e, n) => n === 0 ? e.toLowerCase() : e.toUpperCase()\n).replace(/\\s+/g, \"\"), k = (t) => typeof t == \"string\" || !1, G = (t) => b(t) && t.constructor.name === \"Window\" || !1, K = (t) => l(t) && t.nodeType === 9 || !1, d = (t) => K(t) ? t : l(t) ? t.ownerDocument : G(t) ? t.document : globalThis.document, N = (t, ...e) => Object.assign(t, ...e), oe = (t) => {\n if (!t) return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = oe(e);\n if (!n) return;\n const o = { ...t };\n return delete o.tagName, N(n, o);\n}, se = (t, e) => {\n if (!t || !e) return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = se(t, n);\n if (!o) return;\n const s = { ...e };\n return delete s.tagName, N(o, s);\n}, q = (t, e) => t.dispatchEvent(e), oo = (t, e, n) => n.indexOf(t) === e, g = (t, e, n) => {\n const o = getComputedStyle(t, n), s = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return o.getPropertyValue(s);\n}, re = (t) => {\n const e = g(t, U), n = g(t, Yt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ce = (t) => {\n const e = g(t, U), n = g(t, Zt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, so = (t, e) => {\n let n = 0;\n const o = new Event(L), s = ce(t), r = re(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(L, a), n = 1);\n };\n t.addEventListener(L, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ae = (t) => {\n const e = g(t, W), n = g(t, $t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ie = (t) => {\n const e = g(t, W), n = g(t, _t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ro = (t, e) => {\n let n = 0;\n const o = new Event(M), s = ie(t), r = ae(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(M, a), n = 1);\n };\n t.addEventListener(M, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, co = (t) => Float32Array.from(Array.from(t)), ao = (t) => Float64Array.from(Array.from(t)), io = (t, e) => t.focus(e), uo = (t) => t?.trim().replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/\\s+/g, \"-\").toLowerCase(), P = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, T = (t) => Object.entries(t), ue = (t) => t.toLowerCase(), lo = (t, e, n, o) => {\n if (!u(t)) return e;\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, i = {}, f = \"title\";\n return T(r).forEach(([c, p]) => {\n const E = o && typeof c == \"string\" && c.includes(o) ? c.replace(o, \"\").replace(\n /[A-Z]/g,\n (C) => ue(C)\n ) : c;\n i[E] = P(p);\n }), T(s).forEach(([c, p]) => {\n s[c] = P(p);\n }), T(e).forEach(([c, p]) => {\n c in s ? a[c] = s[c] : c in i ? a[c] = i[c] : a[c] = c === f ? j(t, f) : p;\n }), a;\n}, fo = (t, e) => b(t) && (Object.hasOwn(t, e) || e in t), po = (t) => Object.keys(t), go = (t) => Object.values(t), mo = (t) => Object.fromEntries(t), vo = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return b(e) && N(n, e), n;\n}, bo = { passive: !0 }, Eo = (t) => t.offsetHeight, ho = (t, e) => {\n T(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, N(t.style, s);\n }\n });\n}, x = (t) => b(t) && t.constructor.name === \"Map\" || !1, le = (t) => typeof t == \"number\" || !1, v = /* @__PURE__ */ new Map(), yo = {\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 ? (v.has(t) || v.set(t, /* @__PURE__ */ new Map()), v.get(t).set(o, setTimeout(e, n))) : v.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 = v.get(t);\n return e && n && x(n) ? n.get(e) || null : le(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 = v.get(t);\n e && e.length && x(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && v.delete(t)) : (clearTimeout(n), v.delete(t));\n }\n}, wo = (t) => t.toUpperCase(), de = (t, e) => (l(e) ? e : d()).querySelectorAll(t), z = /* @__PURE__ */ new Map();\nfunction fe(t) {\n const { shiftKey: e, code: n } = t, o = d(this), s = [\n ...de(qt, this)\n ].filter(\n (i) => !ne(i, \"disabled\") && !j(i, $)\n );\n if (!s.length) return;\n const r = s[0], a = s[s.length - 1];\n n === \"Tab\" && (e && o.activeElement === r ? (a.focus(), t.preventDefault()) : !e && o.activeElement === a && (r.focus(), t.preventDefault()));\n}\nconst pe = (t) => z.has(t) === !0, Ao = (t) => {\n const e = pe(t);\n (e ? Q : R)(t, \"keydown\", fe), e ? z.delete(t) : z.set(t, !0);\n}, m = (t) => u(t) && \"offsetWidth\" in t || !1, w = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: i } = t.getBoundingClientRect();\n let f = 1, c = 1;\n if (e && m(t)) {\n const { offsetWidth: p, offsetHeight: E } = t;\n f = p > 0 ? Math.round(n) / p : 1, c = E > 0 ? Math.round(o) / E : 1;\n }\n return {\n width: n / f,\n height: o / c,\n top: s / c,\n right: r / f,\n bottom: a / c,\n left: i / f,\n x: i / f,\n y: s / c\n };\n}, So = (t) => d(t).body, S = (t) => d(t).documentElement, To = (t) => d(t).head, ge = (t) => l(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\", ko = (t) => {\n const e = G(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, me = (t) => l(t) && t.constructor.name === \"ShadowRoot\" || !1, A = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || l(t) && t.parentNode || me(t) && t.host || S(t), ve = (t) => t ? K(t) ? t.defaultView : l(t) ? t?.ownerDocument?.defaultView : t : window, be = (t) => l(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, Ee = (t, e) => t.matches(e), D = (t) => g(t, \"position\") === \"static\", he = (t) => g(t, \"position\") === \"fixed\", Z = (t) => [\":popover-open\", \":modal\"].some((e) => {\n try {\n return Ee(t, e);\n } catch {\n return !1;\n }\n}), Y = (t) => {\n const e = Xt(), n = u(t) ? getComputedStyle(t) : t;\n return n.transform !== \"none\" || n.perspective !== \"none\" || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || [\"transform\", \"perspective\", \"filter\"].some(\n (o) => (n.willChange || \"\").includes(o)\n ) || [\"paint\", \"layout\", \"strict\", \"content\"].some(\n (o) => (n.contain || \"\").includes(o)\n );\n}, ye = (t) => {\n let e = A(t);\n for (; u(e) && !I(e); ) {\n if (Y(e))\n return e;\n if (Z(e))\n return null;\n e = A(e);\n }\n return null;\n}, I = (t) => [\"html\", \"body\", \"#document\"].includes(ge(t)), B = (t) => {\n if (!m(t) || he(t))\n return null;\n let e = t.offsetParent;\n return S(t) === e && (e = e.ownerDocument.body), e;\n}, No = (t) => {\n const e = ve(t);\n if (!l(t) || Z(t))\n return e;\n if (!m(t)) {\n let o = A(t);\n for (; o && !I(o); ) {\n if (u(o) && !D(o))\n return o;\n o = A(o);\n }\n return e;\n }\n let n = B(t);\n for (; n && be(n) && D(n); )\n n = B(n);\n return n && I(n) && D(n) && !Y(n) ? e : n || ye(t) || e;\n}, we = (t) => {\n if (!m(t)) return !1;\n const { width: e, height: n } = w(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, Co = (t, e, n) => {\n const o = m(e), s = w(\n t,\n o && we(e)\n ), r = { x: 0, y: 0 };\n if (o) {\n const a = w(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 F = 0, H = 0;\nconst y = /* @__PURE__ */ new Map(), Ae = (t, e) => {\n let n = e ? F : H;\n if (e) {\n const o = Ae(t), s = y.get(o) || /* @__PURE__ */ new Map();\n y.has(o) || y.set(o, s), x(s) && !s.has(e) ? (s.set(e, n), F += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n y.has(o) ? n = y.get(o) : (y.set(o, n), H += 1);\n }\n return n;\n}, Lo = (t) => {\n const e = [\"HTML\", \"BODY\"];\n let { parentNode: n } = t;\n if (!m(n))\n for (; n && !e.includes(n.nodeName) && (n = A(n), !m(n)); )\n ;\n const {\n offsetLeft: o,\n offsetTop: s,\n offsetParent: r\n } = n, { top: a, left: i } = n.getBoundingClientRect(), { top: f, left: c, width: p, height: E } = t.getBoundingClientRect(), C = s + (f - a), _ = o + (c - i);\n return {\n offsetTop: C,\n offsetLeft: _,\n offsetWidth: p,\n offsetHeight: E,\n offsetParent: r\n };\n}, Se = (t) => Array.isArray(t) || !1, Mo = (t) => l(t) && t.nodeName === \"CANVAS\" || !1, Te = (t) => m(t) && !!t.shadowRoot || !1, Do = (t) => {\n if (!l(t)) return !1;\n const { top: e, bottom: n } = w(t), { clientHeight: o } = S(t);\n return e <= o && n >= 0;\n}, Oo = (t) => {\n if (!u(t)) return !1;\n const { clientWidth: e, clientHeight: n } = S(t), { top: o, left: s, bottom: r, right: a } = w(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, xo = (t) => Se(t) && t.every(u) || !1, zo = (t) => typeof t == \"function\" || !1, Io = (t) => b(t) && t.constructor.name === \"HTMLCollection\" || !1, Po = (t) => m(t) && t.tagName === \"IMG\" || !1, Bo = (t) => {\n if (!k(t)) return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Fo = (t) => b(t) && t.constructor.name === \"WeakMap\" || !1, Ho = (t) => l(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some(\n (e) => t.constructor.name.includes(e)\n) || !1, Vo = (t) => b(t) && t.constructor.name === \"NodeList\" || !1, Uo = (t) => S(t).dir === \"rtl\", Wo = (t) => l(t) && t.constructor.name.includes(\"SVG\") || !1, ke = (t, e) => !t || !e ? null : t.closest(e) || ke(t.getRootNode().host, e) || null, Ro = (t, e) => u(t) ? t : (u(e) ? e : d()).querySelector(t), Ne = (t, e) => (l(e) ? e : d()).getElementsByTagName(\n t\n), Qo = (t) => [...Ne(\"*\", t)].filter(Te), jo = (t, e) => d(e).getElementById(t), Go = (t, e) => (e && l(e) ? e : d()).getElementsByClassName(\n t\n);\nexport {\n Xn as ArrayFrom,\n V as DOMContentLoadedEvent,\n ot as DOMMouseScrollEvent,\n O as Data,\n co as Float32ArrayFrom,\n ao as Float64ArrayFrom,\n N as ObjectAssign,\n T as ObjectEntries,\n mo as ObjectFromEntries,\n fo as ObjectHasOwn,\n po as ObjectKeys,\n go as ObjectValues,\n yo as Timer,\n J as abortEvent,\n qn as addClass,\n An as addEventListener,\n Yt as animationDelay,\n Zt as animationDuration,\n L as animationEndEvent,\n U as animationName,\n Le as ariaChecked,\n De as ariaDescribedBy,\n Me as ariaDescription,\n Oe as ariaExpanded,\n xe as ariaHasPopup,\n $ as ariaHidden,\n ze as ariaLabel,\n Ie as ariaLabelledBy,\n Pe as ariaModal,\n Be as ariaPressed,\n Fe as ariaSelected,\n Ve as ariaValueMax,\n He as ariaValueMin,\n Ue as ariaValueNow,\n We as ariaValueText,\n X as beforeunloadEvent,\n Tn as bezierEasings,\n tt as blurEvent,\n no as camelCase,\n eo as capitalize,\n et as changeEvent,\n ke as closest,\n nt as contextmenuEvent,\n vo as createCustomEvent,\n oe as createElement,\n se as createElementNS,\n q as dispatchEvent,\n oo as distinct,\n _n as documentBody,\n $n as documentElement,\n Jn as documentHead,\n Qe as dragEvent,\n Ze as dragendEvent,\n Ge as dragenterEvent,\n Ke as dragleaveEvent,\n qe as dragoverEvent,\n je as dragstartEvent,\n so as emulateAnimationEnd,\n ro as emulateTransitionEnd,\n st as errorEvent,\n io as focus,\n rt as focusEvent,\n tn as focusEvents,\n qt as focusableSelector,\n ct as focusinEvent,\n at as focusoutEvent,\n it as gesturechangeEvent,\n ut as gestureendEvent,\n lt as gesturestartEvent,\n j as getAttribute,\n Wn as getAttributeNS,\n w as getBoundingClientRect,\n Qo as getCustomElements,\n d as getDocument,\n So as getDocumentBody,\n S as getDocumentElement,\n To as getDocumentHead,\n re as getElementAnimationDelay,\n ce as getElementAnimationDuration,\n jo as getElementById,\n g as getElementStyle,\n ae as getElementTransitionDelay,\n ie as getElementTransitionDuration,\n Go as getElementsByClassName,\n Ne as getElementsByTagName,\n to as getInstance,\n ge as getNodeName,\n ko as getNodeScroll,\n No as getOffsetParent,\n A as getParentNode,\n Co as getRectRelativeToOffsetParent,\n Lo as getSVGOffset,\n Ae as getUID,\n ve as getWindow,\n ne as hasAttribute,\n Rn as hasAttributeNS,\n Yn as hasClass,\n pe as hasFocusTrap,\n zn as isApple,\n Se as isArray,\n Mo as isCanvas,\n Te as isCustomElement,\n K as isDocument,\n u as isElement,\n Do as isElementInScrollRange,\n Oo as isElementInViewport,\n xo as isElementsArray,\n In as isFirefox,\n zo as isFunction,\n Io as isHTMLCollection,\n m as isHTMLElement,\n Po as isHTMLImageElement,\n Bo as isJSON,\n x as isMap,\n Ho as isMedia,\n xn as isMobile,\n l as isNode,\n Vo as isNodeList,\n le as isNumber,\n b as isObject,\n Uo as isRTL,\n Wo as isSVGElement,\n we as isScaledElement,\n me as isShadowRoot,\n k as isString,\n be as isTableElement,\n Fo as isWeakMap,\n Xt as isWebKit,\n G as isWindow,\n uo as kebabCase,\n nn as keyAlt,\n on as keyArrowDown,\n rn as keyArrowLeft,\n cn as keyArrowRight,\n sn as keyArrowUp,\n an as keyBackspace,\n un as keyCapsLock,\n ln as keyControl,\n dn as keyDelete,\n fn as keyEnter,\n gn as keyEscape,\n mn as keyInsert,\n vn as keyMeta,\n pn as keyNumpadEnter,\n bn as keyPause,\n En as keyScrollLock,\n hn as keyShift,\n yn as keySpace,\n wn as keyTab,\n en as keyboardEventKeys,\n dt as keydownEvent,\n ft as keypressEvent,\n pt as keyupEvent,\n gt as loadEvent,\n Ye as loadstartEvent,\n Ee as matches,\n $e as mouseClickEvents,\n Je as mouseHoverEvents,\n _e as mouseSwipeEvents,\n mt as mouseclickEvent,\n vt as mousedblclickEvent,\n bt as mousedownEvent,\n yt as mouseenterEvent,\n ht as mousehoverEvent,\n At as mouseinEvent,\n wt as mouseleaveEvent,\n kt as mousemoveEvent,\n St as mouseoutEvent,\n Tt as mouseoverEvent,\n Et as mouseupEvent,\n Nt as mousewheelEvent,\n Ct as moveEvent,\n Re as nativeEvents,\n te as noop,\n lo as normalizeOptions,\n P as normalizeValue,\n Q as off,\n kn as offsetHeight,\n Nn as offsetWidth,\n R as on,\n ee as one,\n Lt as orientationchangeEvent,\n bo as passiveHandler,\n Mt as pointercancelEvent,\n Dt as pointerdownEvent,\n Ot as pointerleaveEvent,\n xt as pointermoveEvent,\n zt as pointerupEvent,\n Ro as querySelector,\n de as querySelectorAll,\n It as readystatechangeEvent,\n Eo as reflow,\n Gn as removeAttribute,\n Kn as removeAttributeNS,\n Zn as removeClass,\n Sn as removeEventListener,\n Pt as resetEvent,\n Bt as resizeEvent,\n Ut as scrollEvent,\n Cn as scrollHeight,\n Ln as scrollWidth,\n Ft as selectEvent,\n Ht as selectendEvent,\n Vt as selectstartEvent,\n Qn as setAttribute,\n jn as setAttributeNS,\n ho as setElementStyle,\n Wt as submitEvent,\n Pn as support3DTransform,\n Vn as supportAnimation,\n Bn as supportPassive,\n Hn as supportTouch,\n Fn as supportTransform,\n Un as supportTransition,\n Mn as tabindex,\n ue as toLowerCase,\n wo as toUpperCase,\n Ao as toggleFocusTrap,\n Xe as touchEvents,\n jt as touchcancelEvent,\n Gt as touchendEvent,\n Qt as touchmoveEvent,\n Rt as touchstartEvent,\n $t as transitionDelay,\n _t as transitionDuration,\n M as transitionEndEvent,\n W as transitionProperty,\n Kt as unloadEvent,\n On as userAgent,\n Dn as userAgentData,\n Ce as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","import { version } from \"../package.json\";\n\nconst Version = version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport {\n Data,\n isElement,\n isString,\n normalizeOptions,\n ObjectKeys,\n querySelector,\n} 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: Element;\n declare options?: BaseOptions;\n\n /**\n * @param target `Element` or selector string\n * @param config component instance options\n */\n constructor(target: Element | string, config?: BaseOptions) {\n let element: Element | null;\n\n try {\n if (isElement(target)) {\n element = target as Element;\n } else if (isString(target)) {\n element = querySelector(target);\n // istanbul ignore else @preserve\n if (!element) throw Error(`\"${target}\" is not a valid selector.`);\n } else {\n throw Error(`your target is not an instance of HTMLElement.`);\n }\n } catch (e) {\n throw Error(`${this.name} Error: ${(e as Error).message}`);\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else @preserve */\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 = this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, \"bs\")\n // istanbul ignore next @preserve\n : {};\n\n Data.set(element, this.name, this);\n }\n\n // istanbul ignore next @preserve\n get version() {\n return Version;\n }\n\n // istanbul ignore next @preserve\n get name() {\n return \"BaseComponent\";\n }\n\n // istanbul ignore next @preserve\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n // istanbul ignore next @preserve coverage wise this isn't important\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":["De","Oe","$","Pe","Be","Fe","rt","ct","at","dt","pt","mt","bt","ht","yt","wt","Dt","xt","zt","Rt","je","qt","on","sn","rn","cn","gn","_t","$t","M","W","zn","t","e","te","R","n","o","s","Q","j","ne","Qn","Gn","qn","Zn","Yn","b","l","h","O","to","k","G","K","d","N","oe","q","g","ae","ie","ro","a","i","io","P","T","ue","lo","f","c","p","E","C","po","vo","bo","Eo","ho","x","le","v","yo","de","z","fe","pe","Ao","m","w","So","S","ko","me","A","ve","be","Ee","we","Co","F","H","y","Ae","Se","Do","zo","Vo","Uo","ke","Ro","Ne","Go","Version","version","BaseComponent","target","config","element","isElement","isString","querySelector","prevInstance","Data","ObjectKeys","normalizeOptions","prop"],"mappings":"AAAK,MAA6DA,KAAK,oBAAoBC,KAAK,iBAAuCC,IAAI,eAA0DC,KAAK,cAAcC,KAAK,gBAAgBC,KAAK,iBAAwPC,KAAK,SAASC,KAAK,WAAWC,KAAK,YAA0EC,KAAK,WAA4BC,KAAK,SAAsBC,KAAK,SAA0BC,KAAK,aAA6BC,KAAK,SAASC,KAAK,cAAcC,KAAK,cAAmKC,KAAK,eAAoCC,KAAK,eAAeC,KAAK,aAAsJC,KAAK,cAmD1mCC,KAAK,aAUuBC,IAAK,qFAoBlCC,KAAK,aAAaC,KAAK,WAAWC,KAAK,aAAaC,KAAK,cAAkHC,KAAK,UAAyMC,IAAK,sBAAsBC,IAAK,mBAAmBC,IAAI,iBAAiBC,IAAI,sBA+BjdC,KAAK,MAAM;AACZ,QAAMC,IAAI;AACV,SAAO,WAAW,eAAe,OAAO;AAAA,IACtC,CAACC,MAAMD,EAAE,KAAKC,EAAE,KAAK;AAAA,EACtB,KAAID,EAAE;AAAA,IACL,WAAW;AAAA,EACZ,KAAI;AACP,GAA2PE,KAAK,MAAM;AACtQ,GAAGC,IAAI,CAACH,GAAGC,GAAGG,GAAGC,MAAM;AACrB,QAAMC,IAAID,KAAK;AACf,EAAAL,EAAE;AAAA,IACAC;AAAA,IACAG;AAAA,IACAE;AAAA,EACD;AACH,GAAGC,IAAI,CAACP,GAAGC,GAAGG,GAAGC,MAAM;AACrB,QAAMC,IAAID,KAAK;AACf,EAAAL,EAAE;AAAA,IACAC;AAAA,IACAG;AAAA,IACAE;AAAA,EACD;AACH,GAesUE,IAAI,CAACR,GAAGC,MAAMD,EAAE,aAAaC,CAAC,GAA6CQ,IAAK,CAACT,GAAGC,MAAMD,EAAE,aAAaC,CAAC,GAA6CS,KAAK,CAACV,GAAGC,GAAGG,MAAMJ,EAAE,aAAaC,GAAGG,CAAC,GAAmDO,KAAK,CAACX,GAAGC,MAAMD,EAAE,gBAAgBC,CAAC,GAAgDW,KAAK,CAACZ,MAAMC,MAAM;AACvpB,EAAAD,EAAE,UAAU,IAAI,GAAGC,CAAC;AACtB,GAAGY,KAAK,CAACb,MAAMC,MAAM;AACnB,EAAAD,EAAE,UAAU,OAAO,GAAGC,CAAC;AACzB,GAAGa,KAAK,CAACd,GAAGC,MAAMD,EAAE,UAAU,SAASC,CAAC,GAAoHc,IAAI,CAACf,MAAMA,KAAK,QAAQ,OAAOA,KAAK,YAAY,IAAIgB,IAAI,CAAChB,MAAMe,EAAEf,CAAC,KAAK,OAAOA,EAAE,YAAY,YAAY,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE;AAAA,EACtS,CAACC,MAAMD,EAAE,aAAaC;AACxB,KAAK,IAAI,IAAI,CAACD,MAAMgB,EAAEhB,CAAC,KAAKA,EAAE,aAAa,KAAK,IAAIiB,IAAoB,oBAAI,IAAG,GAAIC,IAAI;AAAA,EACrF,MAAMD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQN,KAAK,CAACjB,GAAGC,GAAGG,MAAM;AAChB,IAAK,EAAEJ,CAAC,MACRiB,EAAE,IAAIhB,CAAC,KAAKgB,EAAE,IAAIhB,GAAmB,oBAAI,IAAK,CAAA,GAAGgB,EAAE,IAAIhB,CAAC,EAAE,IAAID,GAAGI,CAAC;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,WAAW,CAACJ,MAAMiB,EAAE,IAAIjB,CAAC,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ9B,KAAK,CAACA,GAAGC,MAAM;AACb,QAAI,CAAC,EAAED,CAAC,KAAK,CAACC,EAAG,QAAO;AACxB,UAAMG,IAAIc,EAAE,UAAUjB,CAAC;AACvB,WAAOD,KAAKI,KAAKA,EAAE,IAAIJ,CAAC,KAAK;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,QAAQ,CAACA,GAAGC,MAAM;AAChB,UAAMG,IAAIc,EAAE,UAAUjB,CAAC;AACvB,KAACG,KAAK,CAAC,EAAEJ,CAAC,MAAMI,EAAE,OAAOJ,CAAC,GAAGI,EAAE,SAAS,KAAKa,EAAE,OAAOhB,CAAC;AAAA,EAC3D;AACA,GAAGkB,KAAK,CAACnB,GAAGC,MAAMiB,EAAE,IAAIlB,GAAGC,CAAC,GAGLmB,IAAI,CAACpB,MAAM,OAAOA,KAAK,YAAY,IAAIqB,IAAI,CAACrB,MAAMe,EAAEf,CAAC,KAAKA,EAAE,YAAY,SAAS,YAAY,IAAIsB,IAAI,CAACtB,MAAMgB,EAAEhB,CAAC,KAAKA,EAAE,aAAa,KAAK,IAAIuB,IAAI,CAACvB,MAAMsB,EAAEtB,CAAC,IAAIA,IAAIgB,EAAEhB,CAAC,IAAIA,EAAE,gBAAgBqB,EAAErB,CAAC,IAAIA,EAAE,WAAW,WAAW,UAAUwB,IAAI,CAACxB,MAAMC,MAAM,OAAO,OAAOD,GAAG,GAAGC,CAAC,GAAGwB,IAAK,CAACzB,MAAM;AAC9S,MAAI,CAACA,EAAG;AACR,MAAIoB,EAAEpB,CAAC;AACL,WAAOuB,EAAC,EAAG,cAAcvB,CAAC;AAC5B,QAAM,EAAE,SAASC,EAAG,IAAGD,GAAGI,IAAIqB,EAAGxB,CAAC;AAClC,MAAI,CAACG,EAAG;AACR,QAAMC,IAAI,EAAE,GAAGL,EAAG;AAClB,SAAO,OAAOK,EAAE,SAASmB,EAAEpB,GAAGC,CAAC;AACjC,GAQGqB,IAAI,CAAC1B,GAAGC,MAAMD,EAAE,cAAcC,CAAC,GAAyC0B,IAAI,CAAC3B,GAAGC,GAAGG,MAAM;AAC1F,QAAMC,IAAI,iBAAiBL,GAAGI,CAAC,GAAGE,IAAIL,EAAE,QAAQ,UAAU,QAAQ,EAAE,QAAQ,YAAY,KAAK,EAAE,YAAa;AAC5G,SAAOI,EAAE,iBAAiBC,CAAC;AAC7B,GAkBGsB,IAAK,CAAC5B,MAAM;AACb,QAAMC,IAAI0B,EAAE3B,GAAGF,CAAC,GAAGM,IAAIuB,EAAE3B,GAAGJ,CAAE,GAAGS,IAAID,EAAE,SAAS,IAAI,IAAI,IAAI,KAAKE,IAAIL,KAAKA,MAAM,SAAS,WAAWG,CAAC,IAAIC,IAAI;AAC7G,SAAO,OAAO,MAAMC,CAAC,IAAI,IAAIA;AAC/B,GAAGuB,IAAK,CAAC7B,MAAM;AACb,QAAMC,IAAI0B,EAAE3B,GAAGF,CAAC,GAAGM,IAAIuB,EAAE3B,GAAGL,CAAE,GAAGU,IAAID,EAAE,SAAS,IAAI,IAAI,IAAI,KAAKE,IAAIL,KAAKA,MAAM,SAAS,WAAWG,CAAC,IAAIC,IAAI;AAC7G,SAAO,OAAO,MAAMC,CAAC,IAAI,IAAIA;AAC/B,GAAGwB,KAAK,CAAC9B,GAAGC,MAAM;AAChB,MAAIG,IAAI;AACR,QAAMC,IAAI,IAAI,MAAMR,CAAC,GAAGS,IAAIuB,EAAG7B,CAAC,GAAG,IAAI4B,EAAG5B,CAAC;AAC3C,MAAIM,GAAG;AACL,UAAMyB,IAAI,CAACC,MAAM;AACf,MAAAA,EAAE,WAAWhC,MAAMC,EAAE,MAAMD,GAAG,CAACgC,CAAC,CAAC,GAAGhC,EAAE,oBAAoBH,GAAGkC,CAAC,GAAG3B,IAAI;AAAA,IACtE;AACD,IAAAJ,EAAE,iBAAiBH,GAAGkC,CAAC,GAAG,WAAW,MAAM;AACzC,MAAA3B,KAAKsB,EAAE1B,GAAGK,CAAC;AAAA,IACjB,GAAOC,IAAI,IAAI,EAAE;AAAA,EACd;AACC,IAAAL,EAAE,MAAMD,GAAG,CAACK,CAAC,CAAC;AAClB,GAA+F4B,KAAK,CAACjC,GAAGC,MAAMD,EAAE,MAAMC,CAAC,GAAiGiC,IAAI,CAAClC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAASA,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,SAASA,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,MAAM,MAAM,EAAE,SAASA,CAAC,IAAI,OAAOA,MAAM,MAAM,CAAC,OAAO,MAAM,CAACA,CAAC,IAAI,CAACA,IAAIA,GAAGmC,IAAI,CAACnC,MAAM,OAAO,QAAQA,CAAC,GAAGoC,IAAK,CAACpC,MAAMA,EAAE,YAAW,GAAIqC,IAAK,CAACrC,GAAGC,GAAGG,GAAGC,MAAM;AAC1c,MAAI,CAAC,EAAEL,CAAC,EAAG,QAAOC;AAClB,QAAMK,IAAI,EAAE,GAAGF,EAAG,GAAE,IAAI,EAAE,GAAGJ,EAAE,QAAS,GAAE+B,IAAI,EAAE,GAAG9B,EAAC,GAAI+B,IAAI,CAAA,GAAIM,IAAI;AACpE,SAAOH,EAAE,CAAC,EAAE,QAAQ,CAAC,CAACI,GAAGC,CAAC,MAAM;AAC9B,UAAMC,IAAS,OAAOF,KAAK,YAAYA,EAAE,SAASlC,CAAC,IAAIkC,EAAE,QAAQlC,GAAG,EAAE,EAAE;AAAA,MACtE;AAAA,MACA,CAACqC,MAAMN,EAAGM,CAAC;AAAA,IACjB,IAAQH;AACJ,IAAAP,EAAES,CAAC,IAAIP,EAAEM,CAAC;AAAA,EACd,CAAG,GAAGL,EAAE7B,CAAC,EAAE,QAAQ,CAAC,CAACiC,GAAGC,CAAC,MAAM;AAC3B,IAAAlC,EAAEiC,CAAC,IAAIL,EAAEM,CAAC;AAAA,EACd,CAAG,GAAGL,EAAElC,CAAC,EAAE,QAAQ,CAAC,CAACsC,GAAGC,CAAC,MAAM;AAC3B,IAAAD,KAAKjC,IAAIyB,EAAEQ,CAAC,IAAIjC,EAAEiC,CAAC,IAAIA,KAAKP,IAAID,EAAEQ,CAAC,IAAIP,EAAEO,CAAC,IAAIR,EAAEQ,CAAC,IAAIA,MAAMD,IAAI9B,EAAER,GAAGsC,CAAC,IAAIE;AAAA,EAC1E,CAAA,GAAGT;AACN,GAA2DY,IAAK,CAAC3C,MAAM,OAAO,KAAKA,CAAC,GAAoE4C,KAAK,CAAC5C,GAAGC,MAAM;AACrK,QAAMG,IAAI,IAAI,YAAYJ,GAAG;AAAA,IAC3B,YAAY;AAAA,IACZ,SAAS;AAAA,EACb,CAAG;AACD,SAAOe,EAAEd,CAAC,KAAKuB,EAAEpB,GAAGH,CAAC,GAAGG;AAC1B,GAAGyC,KAAK,EAAE,SAAS,GAAE,GAAIC,KAAK,CAAC9C,MAAMA,EAAE,cAAc+C,KAAK,CAAC/C,GAAGC,MAAM;AAClE,EAAAkC,EAAElC,CAAC,EAAE,QAAQ,CAAC,CAACG,GAAGC,CAAC,MAAM;AACvB,QAAIA,KAAKe,EAAEhB,CAAC,KAAKA,EAAE,SAAS,IAAI;AAC9B,MAAAJ,EAAE,MAAM,YAAYI,GAAGC,CAAC;AAAA,SACrB;AACH,YAAMC,IAAI,CAAE;AACZ,MAAAA,EAAEF,CAAC,IAAIC,GAAGmB,EAAExB,EAAE,OAAOM,CAAC;AAAA,IAC5B;AAAA,EACA,CAAG;AACH,GAAG0C,IAAI,CAAChD,MAAMe,EAAEf,CAAC,KAAKA,EAAE,YAAY,SAAS,SAAS,IAAIiD,IAAK,CAACjD,MAAM,OAAOA,KAAK,YAAY,IAAIkD,IAAoB,oBAAI,IAAK,GAAEC,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASpI,KAAK,CAACnD,GAAGC,GAAGG,GAAGC,MAAM;AACnB,MAAEL,CAAC,MAAMK,KAAKA,EAAE,UAAU6C,EAAE,IAAIlD,CAAC,KAAKkD,EAAE,IAAIlD,GAAmB,oBAAI,IAAK,CAAA,GAAGkD,EAAE,IAAIlD,CAAC,EAAE,IAAIK,GAAG,WAAWJ,GAAGG,CAAC,CAAC,KAAK8C,EAAE,IAAIlD,GAAG,WAAWC,GAAGG,CAAC,CAAC;AAAA,EAC1I;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQD,KAAK,CAACJ,GAAGC,MAAM;AACb,QAAI,CAAC,EAAED,CAAC,EAAG,QAAO;AAClB,UAAMI,IAAI8C,EAAE,IAAIlD,CAAC;AACjB,WAAOC,KAAKG,KAAK4C,EAAE5C,CAAC,IAAIA,EAAE,IAAIH,CAAC,KAAK,OAAOgD,EAAG7C,CAAC,IAAIA,IAAI;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,OAAO,CAACJ,GAAGC,MAAM;AACf,QAAI,CAAC,EAAED,CAAC,EAAG;AACX,UAAMI,IAAI8C,EAAE,IAAIlD,CAAC;AACjB,IAAAC,KAAKA,EAAE,UAAU+C,EAAE5C,CAAC,KAAK,aAAaA,EAAE,IAAIH,CAAC,CAAC,GAAGG,EAAE,OAAOH,CAAC,GAAGG,EAAE,SAAS,KAAK8C,EAAE,OAAOlD,CAAC,MAAM,aAAaI,CAAC,GAAG8C,EAAE,OAAOlD,CAAC;AAAA,EAC7H;AACA,GAAgCoD,IAAK,CAACpD,GAAGC,OAAOe,EAAEf,CAAC,IAAIA,IAAIsB,EAAG,GAAE,iBAAiBvB,CAAC,GAAGqD,IAAoB,oBAAI,IAAG;AAChH,SAASC,GAAGtD,GAAG;AACb,QAAM,EAAE,UAAUC,GAAG,MAAMG,EAAC,IAAKJ,GAAGK,IAAIkB,EAAE,IAAI,GAAGjB,IAAI;AAAA,IACnD,GAAG8C,EAAG/D,GAAI,IAAI;AAAA,EAClB,EAAI;AAAA,IACA,CAAC2C,MAAM,CAACvB,EAAGuB,GAAG,UAAU,KAAK,CAACxB,EAAEwB,GAAG9D,CAAC;AAAA,EACrC;AACD,MAAI,CAACoC,EAAE,OAAQ;AACf,QAAM,IAAIA,EAAE,CAAC,GAAGyB,IAAIzB,EAAEA,EAAE,SAAS,CAAC;AAClC,EAAAF,MAAM,UAAUH,KAAKI,EAAE,kBAAkB,KAAK0B,EAAE,MAAO,GAAE/B,EAAE,eAAgB,KAAI,CAACC,KAAKI,EAAE,kBAAkB0B,MAAM,EAAE,SAAS/B,EAAE,eAAc;AAC5I;AACK,MAACuD,KAAK,CAACvD,MAAMqD,EAAE,IAAIrD,CAAC,MAAM,IAAIwD,KAAK,CAACxD,MAAM;AAC7C,QAAMC,IAAIsD,GAAGvD,CAAC;AACd,GAACC,IAAIM,IAAIJ,GAAGH,GAAG,WAAWsD,EAAE,GAAGrD,IAAIoD,EAAE,OAAOrD,CAAC,IAAIqD,EAAE,IAAIrD,GAAG,EAAE;AAC9D,GAAGyD,IAAI,CAACzD,MAAM,EAAEA,CAAC,KAAK,iBAAiBA,KAAK,IAAI0D,IAAI,CAAC1D,GAAGC,MAAM;AAC5D,QAAM,EAAE,OAAOG,GAAG,QAAQC,GAAG,KAAKC,GAAG,OAAO,GAAG,QAAQyB,GAAG,MAAMC,EAAG,IAAGhC,EAAE,sBAAuB;AAC/F,MAAIsC,IAAI,GAAGC,IAAI;AACf,MAAItC,KAAKwD,EAAEzD,CAAC,GAAG;AACb,UAAM,EAAE,aAAawC,GAAG,cAAcC,EAAG,IAAGzC;AAC5C,IAAAsC,IAAIE,IAAI,IAAI,KAAK,MAAMpC,CAAC,IAAIoC,IAAI,GAAGD,IAAIE,IAAI,IAAI,KAAK,MAAMpC,CAAC,IAAIoC,IAAI;AAAA,EACvE;AACE,SAAO;AAAA,IACL,OAAOrC,IAAIkC;AAAA,IACX,QAAQjC,IAAIkC;AAAA,IACZ,KAAKjC,IAAIiC;AAAA,IACT,OAAO,IAAID;AAAA,IACX,QAAQP,IAAIQ;AAAA,IACZ,MAAMP,IAAIM;AAAA,IACV,GAAGN,IAAIM;AAAA,IACP,GAAGhC,IAAIiC;AAAA,EACR;AACH,GAAGoB,KAAK,CAAC3D,MAAMuB,EAAEvB,CAAC,EAAE,MAAM4D,IAAI,CAAC5D,MAAMuB,EAAEvB,CAAC,EAAE,iBAA2G6D,KAAK,CAAC7D,MAAM;AAC/J,QAAMC,IAAIoB,EAAErB,CAAC,GAAGI,IAAIH,IAAID,EAAE,UAAUA,EAAE,YAAYK,IAAIJ,IAAID,EAAE,UAAUA,EAAE;AACxE,SAAO,EAAE,GAAGI,GAAG,GAAGC,EAAG;AACvB,GAAGyD,KAAK,CAAC9D,MAAMgB,EAAEhB,CAAC,KAAKA,EAAE,YAAY,SAAS,gBAAgB,IAAI+D,KAAI,CAAC/D,MAAMA,EAAE,aAAa,SAASA,IAAI,EAAEA,CAAC,KAAKA,EAAE,gBAAgBgB,EAAEhB,CAAC,KAAKA,EAAE,cAAc8D,GAAG9D,CAAC,KAAKA,EAAE,QAAQ4D,EAAE5D,CAAC,GAAGgE,KAAK,CAAChE,MAAMA,IAAIsB,EAAEtB,CAAC,IAAIA,EAAE,cAAcgB,EAAEhB,CAAC,IAAIA,GAAG,eAAe,cAAcA,IAAI,QAAQiE,KAAK,CAACjE,MAAMgB,EAAEhB,CAAC,KAAK,CAAC,SAAS,MAAM,IAAI,EAAE,SAASA,EAAE,QAAQ,KAAK,IAAIkE,KAAK,CAAClE,GAAGC,MAAMD,EAAE,QAAQC,CAAC,GA6C3WkE,KAAK,CAACnE,MAAM;AACb,MAAI,CAACyD,EAAEzD,CAAC,EAAG,QAAO;AAClB,QAAM,EAAE,OAAOC,GAAG,QAAQG,EAAG,IAAGsD,EAAE1D,CAAC,GAAG,EAAE,aAAaK,GAAG,cAAcC,EAAG,IAAGN;AAC5E,SAAO,KAAK,MAAMC,CAAC,MAAMI,KAAK,KAAK,MAAMD,CAAC,MAAME;AAClD,GAAG8D,KAAK,CAACpE,GAAGC,GAAGG,MAAM;AACnB,QAAMC,IAAIoD,EAAExD,CAAC,GAAGK,IAAIoD;AAAA,IAClB1D;AAAA,IACAK,KAAK8D,GAAGlE,CAAC;AAAA,EACV,GAAE,IAAI,EAAE,GAAG,GAAG,GAAG,EAAG;AACrB,MAAII,GAAG;AACL,UAAM0B,IAAI2B,EAAEzD,GAAG,EAAE;AACjB,MAAE,IAAI8B,EAAE,IAAI9B,EAAE,YAAY,EAAE,IAAI8B,EAAE,IAAI9B,EAAE;AAAA,EAC5C;AACE,SAAO;AAAA,IACL,GAAGK,EAAE,OAAOF,EAAE,IAAI,EAAE;AAAA,IACpB,GAAGE,EAAE,MAAMF,EAAE,IAAI,EAAE;AAAA,IACnB,OAAOE,EAAE;AAAA,IACT,QAAQA,EAAE;AAAA,EACX;AACH;AACA,IAAI+D,IAAI,GAAGC,IAAI;AACV,MAACC,IAAoB,oBAAI,IAAK,GAAEC,KAAK,CAACxE,GAAGC,MAAM;AAClD,MAAIG,IAAIH,IAAIoE,IAAIC;AAChB,MAAIrE,GAAG;AACL,UAAMI,IAAImE,GAAGxE,CAAC,GAAGM,IAAIiE,EAAE,IAAIlE,CAAC,KAAqB,oBAAI,IAAK;AAC1D,IAAAkE,EAAE,IAAIlE,CAAC,KAAKkE,EAAE,IAAIlE,GAAGC,CAAC,GAAG0C,EAAE1C,CAAC,KAAK,CAACA,EAAE,IAAIL,CAAC,KAAKK,EAAE,IAAIL,GAAGG,CAAC,GAAGiE,KAAK,KAAKjE,IAAIE,EAAE,IAAIL,CAAC;AAAA,EACpF,OAAS;AACL,UAAMI,IAAIL,EAAE,MAAMA;AAClB,IAAAuE,EAAE,IAAIlE,CAAC,IAAID,IAAImE,EAAE,IAAIlE,CAAC,KAAKkE,EAAE,IAAIlE,GAAGD,CAAC,GAAGkE,KAAK;AAAA,EACjD;AACE,SAAOlE;AACT,GAkBGqE,KAAK,CAACzE,MAAM,MAAM,QAAQA,CAAC,KAAK,IAAiG0E,KAAK,CAAC1E,MAAM;AAC9I,MAAI,CAACgB,EAAEhB,CAAC,EAAG,QAAO;AAClB,QAAM,EAAE,KAAKC,GAAG,QAAQG,EAAC,IAAKsD,EAAE1D,CAAC,GAAG,EAAE,cAAcK,EAAC,IAAKuD,EAAE5D,CAAC;AAC7D,SAAOC,KAAKI,KAAKD,KAAK;AACxB,GAI0CuE,KAAK,CAAC3E,MAAM,OAAOA,KAAK,cAAc,IAUvE4E,KAAK,CAAC5E,MAAMe,EAAEf,CAAC,KAAKA,EAAE,YAAY,SAAS,cAAc,IAAI6E,KAAK,CAAC7E,MAAM4D,EAAE5D,CAAC,EAAE,QAAQ,OAAqE8E,KAAK,CAAC9E,GAAGC,MAAM,CAACD,KAAK,CAACC,IAAI,OAAOD,EAAE,QAAQC,CAAC,KAAK6E,GAAG9E,EAAE,YAAa,EAAC,MAAMC,CAAC,KAAK,MAAM8E,KAAK,CAAC/E,GAAGC,MAAM,EAAED,CAAC,IAAIA,KAAK,EAAEC,CAAC,IAAIA,IAAIsB,EAAC,GAAI,cAAcvB,CAAC,GAAGgF,KAAK,CAAChF,GAAGC,OAAOe,EAAEf,CAAC,IAAIA,IAAIsB,EAAC,GAAI;AAAA,EACrVvB;AACF,GAAkFiF,KAAK,CAACjF,GAAGC,OAAOA,KAAKe,EAAEf,CAAC,IAAIA,IAAIsB,EAAG,GAAE;AAAA,EACrHvB;AACF,iBCndMkF,KAAUC;ACahB,MAAqBC,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjC,YAAYC,GAA0BC,GAAsB;AACtD,QAAAC;AAEA,QAAA;AACE,UAAAC,EAAUH,CAAM;AACR,QAAAE,IAAAF;AAAA,eACDI,EAASJ,CAAM;AAGxB,YAFAE,IAAUG,GAAcL,CAAM,GAE1B,CAACE,EAAS,OAAM,MAAM,IAAIF,CAAM,4BAA4B;AAAA;AAEhE,cAAM,MAAM,gDAAgD;AAAA,aAEvDpF,GAAG;AACV,YAAM,MAAM,GAAG,KAAK,IAAI,WAAYA,EAAY,OAAO,EAAE;AAAA,IAAA;AAG3D,UAAM0F,IAAeC,EAAK,IAAiBL,GAAS,KAAK,IAAI;AAE7D,IAAII,KAGFA,EAAa,sBAAsB,GAGrC,KAAK,UAAUJ,GACf,KAAK,UAAU,KAAK,YAAYM,EAAW,KAAK,QAAQ,EAAE,SACtDC,EAAiBP,GAAS,KAAK,UAAUD,KAAU,CAAI,GAAA,IAAI,IAE3D,CAAC,GAELM,EAAK,IAAIL,GAAS,KAAK,MAAM,IAAI;AAAA,EAAA;AAAA,EAInC,IAAI,UAAU;AACL,WAAAL;AAAA,EAAA;AAAA,EAIT,IAAI,OAAO;AACF,WAAA;AAAA,EAAA;AAAA,EAIT,IAAI,WAAW;AACb,WAAO,CAAC;AAAA,EAAA;AAAA,EAKV,wBAAwB,MAAM;AAAA,EAE9B;AAAA,EAGA,UAAU;AACRU,IAAAA,EAAK,OAAoB,KAAK,SAAS,KAAK,IAAI,GAChDC,EAAW,IAAI,EAAE,QAAQ,CAACE,MAAS;AACjC,aAAO,KAAKA,CAAI;AAAA,IAAA,CACjB;AAAA,EAAA;AAEL;","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/dist/components/button.cjs b/dist/components/button.cjs index 4657155a..a43f4b60 100644 --- a/dist/components/button.cjs +++ b/dist/components/button.cjs @@ -1,2 +1,2 @@ -"use strict";const t=require("./base-component-DaZCwW-u.js"),c=require("./event-listener-BQdA_KAC.js"),i=require("./activeClass-CxJYQAGN.js"),l=require("./dataBsToggle-Dj-Ng54N.js"),u="button",a="Button",g=`[${l.dataBsToggle}="${u}"]`,v=n=>t.to(n,a),b=n=>new r(n);class r extends t.BaseComponent{static selector=g;static init=b;static getInstance=v;constructor(s){super(s);const{element:e}=this;this.isActive=t.Yn(e,i.activeClass),t.Qn(e,t.Be,String(!!this.isActive)),this._toggleEventListeners(!0)}get name(){return a}toggle=s=>{s&&s.preventDefault();const{element:e,isActive:o}=this;!t.Yn(e,"disabled")&&!t.j(e,"disabled")&&((o?t.Zn:t.qn)(e,i.activeClass),t.Qn(e,t.Be,o?"false":"true"),this.isActive=t.Yn(e,i.activeClass))};_toggleEventListeners=s=>{(s?c.E:c.r)(this.element,t.mt,this.toggle)};dispose(){this._toggleEventListeners(),super.dispose()}}module.exports=r; +"use strict";const t=require("./base-component-CEXwoid1.js"),i=require("./activeClass-CxJYQAGN.js"),r=require("./dataBsToggle-Dj-Ng54N.js"),l=require("./isDisabled-CST_xG4K.js"),u="button",c="Button",g=`[${r.dataBsToggle}="${u}"]`,v=n=>t.to(n,c),b=n=>new a(n);class a extends t.BaseComponent{static selector=g;static init=b;static getInstance=v;constructor(s){super(s);const{element:e}=this;this.isActive=t.Zn(e,i.activeClass),t.Qn(e,t.Be,String(!!this.isActive)),this._toggleEventListeners(!0)}get name(){return c}toggle=s=>{s&&s.preventDefault();const{element:e,isActive:o}=this;l.isDisabled(e)||((o?t.Yn:t.qn)(e,i.activeClass),t.Qn(e,t.Be,o?"false":"true"),this.isActive=t.Zn(e,i.activeClass))};_toggleEventListeners=s=>{(s?t.E:t.r)(this.element,t.vt,this.toggle)};dispose(){this._toggleEventListeners(),super.dispose()}}module.exports=a; //# sourceMappingURL=button.cjs.map diff --git a/dist/components/button.cjs.map b/dist/components/button.cjs.map index 84c3d461..62d54218 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 addClass,\n ariaPressed,\n getAttribute,\n getInstance,\n hasClass,\n mouseclickEvent,\n removeClass,\n setAttribute,\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: Element) =>\n getInstance'}),l=e=>n.to(e,t.popoverComponent),c=e=>new p(e);class p extends t.Tooltip{static selector=r;static init=c;static getInstance=l;static styleTip=t.styleTip;constructor(s,o){super(s,o)}get name(){return t.popoverComponent}get defaults(){return a}show=()=>{super.show();const{options:s,btn:o}=this;s.dismissible&&o&&setTimeout(()=>n.io(o),17)}}module.exports=p; +"use strict";const n=require("./base-component-CEXwoid1.js"),i=require("./dataBsToggle-Dj-Ng54N.js"),t=require("./tooltip-DMsoGjJu.js"),r=`[${i.dataBsToggle}="${t.popoverString}"],[data-tip="${t.popoverString}"]`,a=n.N({},t.tooltipDefaults,{template:t.getTipTemplate(t.popoverString),content:"",dismissible:!1,btnClose:''}),l=e=>n.to(e,t.popoverComponent),c=e=>new p(e);class p extends t.Tooltip{static selector=r;static init=c;static getInstance=l;static styleTip=t.styleTip;constructor(s,o){super(s,o)}get name(){return t.popoverComponent}get defaults(){return a}show=()=>{super.show();const{options:s,btn:o}=this;s.dismissible&&o&&setTimeout(()=>n.ao(o),17)}}module.exports=p; //# sourceMappingURL=popover.cjs.map diff --git a/dist/components/popover.cjs.map b/dist/components/popover.cjs.map index 73342db9..341677f0 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 { focus, getInstance, ObjectAssign } 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 =\n `[${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 */\nconst getPopoverInstance = (element: Element) =>\n getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: Element) => 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: Element | 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 @preserve\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","styleTip","target","config","options","btn","focus"],"mappings":"wIAiBMA,EACJ,IAAIC,cAAY,KAAKC,EAAAA,aAAa,iBAAiBA,EAAa,aAAA,KAE5DC,EAAkCC,EAAAA,EAAa,CAAC,EAAGC,kBAAiB,CACxE,SAAUC,iBAAeJ,eAAa,EACtC,QAAS,GACT,YAAa,GACb,SAAU,wDACZ,CAAC,EAMKK,EAAsBC,GAC1BC,KAAqBD,EAASE,EAAAA,gBAAgB,EAK1CC,EAAuBH,GAAqB,IAAII,EAAQJ,CAAO,EAKrE,MAAqBI,UAAgBC,EAAAA,OAAQ,CAC3C,OAAO,SAAWb,EAClB,OAAO,KAAOW,EACd,OAAO,YAAcJ,EACrB,OAAO,SAAWO,EAAA,SAOlB,YAAYC,EAA0BC,EAAkC,CACtE,MAAMD,EAAQC,CAAM,CAAA,CAKtB,IAAI,MAAO,CACF,OAAAN,EAAA,gBAAA,CAKT,IAAI,UAAW,CACN,OAAAP,CAAA,CAIT,KAAO,IAAM,CACX,MAAM,KAAK,EAEL,KAAA,CAAE,QAAAc,EAAS,IAAAC,CAAA,EAAQ,KAErBD,EAAQ,aAAeC,GAAK,WAAW,IAAMC,KAAMD,CAAG,EAAG,EAAE,CACjE,CACF"} \ 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 { focus, getInstance, ObjectAssign } 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 =\n `[${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 */\nconst getPopoverInstance = (element: Element) =>\n getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: Element) => 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: Element | 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 @preserve\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","styleTip","target","config","options","btn","focus"],"mappings":"wIAiBMA,EACJ,IAAIC,cAAY,KAAKC,EAAAA,aAAa,iBAAiBA,EAAa,aAAA,KAE5DC,EAAkCC,EAAAA,EAAa,CAAC,EAAGC,kBAAiB,CACxE,SAAUC,iBAAeJ,eAAa,EACtC,QAAS,GACT,YAAa,GACb,SAAU,wDACZ,CAAC,EAMKK,EAAsBC,GAC1BC,KAAqBD,EAASE,EAAAA,gBAAgB,EAK1CC,EAAuBH,GAAqB,IAAII,EAAQJ,CAAO,EAKrE,MAAqBI,UAAgBC,EAAAA,OAAQ,CAC3C,OAAO,SAAWb,EAClB,OAAO,KAAOW,EACd,OAAO,YAAcJ,EACrB,OAAO,SAAWO,EAAA,SAOlB,YAAYC,EAA0BC,EAAkC,CACtE,MAAMD,EAAQC,CAAM,CAAA,CAKtB,IAAI,MAAO,CACF,OAAAN,EAAA,gBAAA,CAKT,IAAI,UAAW,CACN,OAAAP,CAAA,CAIT,KAAO,IAAM,CACX,MAAM,KAAK,EAEL,KAAA,CAAE,QAAAc,EAAS,IAAAC,CAAA,EAAQ,KAErBD,EAAQ,aAAeC,GAAK,WAAW,IAAMC,KAAMD,CAAG,EAAG,EAAE,CACjE,CACF"} \ No newline at end of file diff --git a/dist/components/popover.mjs b/dist/components/popover.mjs index 76410aa5..5e535e17 100644 --- a/dist/components/popover.mjs +++ b/dist/components/popover.mjs @@ -1,17 +1,17 @@ -import { N as i, I as p, t as n } from "./base-component-Jx2aafTJ.mjs"; +import { N as p, t as i, M as n } from "./base-component-CQAH5ZXF.mjs"; import { d as r } from "./dataBsToggle-B84TS15h.mjs"; -import { T as l, s as c, p as a, a as e, g as m, t as u } from "./tooltip-Cxy40RjE.mjs"; -const b = `[${r}="${e}"],[data-tip="${e}"]`, f = i({}, u, { - template: m(e), +import { g as l, p as e, t as c, T as m, a, s as u } from "./tooltip-ClBo4cww.mjs"; +const b = `[${r}="${e}"],[data-tip="${e}"]`, f = p({}, c, { + template: l(e), content: "", dismissible: !1, btnClose: '' -}), g = (t) => n(t, a), d = (t) => new T(t); -class T extends l { +}), g = (t) => i(t, a), d = (t) => new T(t); +class T extends m { static selector = b; static init = d; static getInstance = g; - static styleTip = c; + static styleTip = u; /** * @param target the target element * @param config the instance options @@ -34,7 +34,7 @@ class T extends l { show = () => { super.show(); const { options: o, btn: s } = this; - o.dismissible && s && setTimeout(() => p(s), 17); + o.dismissible && s && setTimeout(() => n(s), 17); }; } export { diff --git a/dist/components/popover.mjs.map b/dist/components/popover.mjs.map index ed0a5e69..b936b471 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 { focus, getInstance, ObjectAssign } 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 =\n `[${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 */\nconst getPopoverInstance = (element: Element) =>\n getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: Element) => 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: Element | 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 @preserve\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","styleTip","target","config","options","btn","focus"],"mappings":";;;AAiBA,MAAMA,IACJ,IAAIC,CAAY,KAAKC,CAAa,iBAAiBA,CAAa,MAE5DC,IAAkCC,EAAa,CAAC,GAAGC,GAAiB;AAAA,EACxE,UAAUC,EAAeJ,CAAa;AAAA,EACtC,SAAS;AAAA,EACT,aAAa;AAAA,EACb,UAAU;AACZ,CAAC,GAMKK,IAAqB,CAACC,MAC1BC,EAAqBD,GAASE,CAAgB,GAK1CC,IAAsB,CAACH,MAAqB,IAAII,EAAQJ,CAAO;AAKrE,MAAqBI,UAAgBC,EAAQ;AAAA,EAC3C,OAAO,WAAWb;AAAA,EAClB,OAAO,OAAOW;AAAA,EACd,OAAO,cAAcJ;AAAA,EACrB,OAAO,WAAWO;AAAA;AAAA;AAAA;AAAA;AAAA,EAOlB,YAAYC,GAA0BC,GAAkC;AACtE,UAAMD,GAAQC,CAAM;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAKtB,IAAI,OAAO;AACF,WAAAN;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAKT,IAAI,WAAW;AACN,WAAAP;AAAA,EAAA;AAAA,EAIT,OAAO,MAAM;AACX,UAAM,KAAK;AAEL,UAAA,EAAE,SAAAc,GAAS,KAAAC,EAAA,IAAQ;AAErB,IAAAD,EAAQ,eAAeC,KAAK,WAAW,MAAMC,EAAMD,CAAG,GAAG,EAAE;AAAA,EACjE;AACF;"} \ 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 { focus, getInstance, ObjectAssign } 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 =\n `[${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 */\nconst getPopoverInstance = (element: Element) =>\n getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: Element) => 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: Element | 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 @preserve\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","styleTip","target","config","options","btn","focus"],"mappings":";;;AAiBA,MAAMA,IACJ,IAAIC,CAAY,KAAKC,CAAa,iBAAiBA,CAAa,MAE5DC,IAAkCC,EAAa,CAAC,GAAGC,GAAiB;AAAA,EACxE,UAAUC,EAAeJ,CAAa;AAAA,EACtC,SAAS;AAAA,EACT,aAAa;AAAA,EACb,UAAU;AACZ,CAAC,GAMKK,IAAqB,CAACC,MAC1BC,EAAqBD,GAASE,CAAgB,GAK1CC,IAAsB,CAACH,MAAqB,IAAII,EAAQJ,CAAO;AAKrE,MAAqBI,UAAgBC,EAAQ;AAAA,EAC3C,OAAO,WAAWb;AAAA,EAClB,OAAO,OAAOW;AAAA,EACd,OAAO,cAAcJ;AAAA,EACrB,OAAO,WAAWO;AAAA;AAAA;AAAA;AAAA;AAAA,EAOlB,YAAYC,GAA0BC,GAAkC;AACtE,UAAMD,GAAQC,CAAM;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAKtB,IAAI,OAAO;AACF,WAAAN;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAKT,IAAI,WAAW;AACN,WAAAP;AAAA,EAAA;AAAA,EAIT,OAAO,MAAM;AACX,UAAM,KAAK;AAEL,UAAA,EAAE,SAAAc,GAAS,KAAAC,EAAA,IAAQ;AAErB,IAAAD,EAAQ,eAAeC,KAAK,WAAW,MAAMC,EAAMD,CAAG,GAAG,EAAE;AAAA,EACjE;AACF;"} \ No newline at end of file diff --git a/dist/components/popupContainer-B1-dZ_ye.js b/dist/components/popupContainer-B1-dZ_ye.js new file mode 100644 index 00000000..bbde616e --- /dev/null +++ b/dist/components/popupContainer-B1-dZ_ye.js @@ -0,0 +1,2 @@ +"use strict";const p=require("./base-component-CEXwoid1.js"),c="modal",d="offcanvas",e=p.se({tagName:"div",className:"popup-container"}),f=(n,o)=>{const s=p.l(o)&&o.nodeName==="BODY",l=p.l(o)&&!s?o:e,a=s?o:p.So(n);p.l(n)&&(l===e&&a.append(e),l.append(n))},i=(n,o)=>{const s=p.l(o)&&o.nodeName==="BODY",l=p.l(o)&&!s?o:e;p.l(n)&&(n.remove(),l===e&&!e.children.length&&e.remove())},v=(n,o)=>{const s=p.l(o)&&o.nodeName!=="BODY"?o:e;return p.l(n)&&s.contains(n)};exports.appendPopup=f;exports.hasPopup=v;exports.modalString=c;exports.offcanvasString=d;exports.removePopup=i; +//# sourceMappingURL=popupContainer-B1-dZ_ye.js.map diff --git a/dist/components/popupContainer-CSoNJ-n6.js.map b/dist/components/popupContainer-B1-dZ_ye.js.map similarity index 97% rename from dist/components/popupContainer-CSoNJ-n6.js.map rename to dist/components/popupContainer-B1-dZ_ye.js.map index cd391de0..a6d4eab5 100644 --- a/dist/components/popupContainer-CSoNJ-n6.js.map +++ b/dist/components/popupContainer-B1-dZ_ye.js.map @@ -1 +1 @@ -{"version":3,"file":"popupContainer-CSoNJ-n6.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 { createElement, getDocumentBody, isNode } from \"@thednp/shorty\";\n\n// the default container for Modal, Offcanvas, Popover and Tooltip\nconst popupContainer = createElement({\n tagName: \"div\",\n className: \"popup-container\",\n}) as HTMLElement;\n\nconst appendPopup = (target: Element, customContainer?: ParentNode) => {\n const containerIsBody = isNode(customContainer) &&\n customContainer.nodeName === \"BODY\";\n const lookup = isNode(customContainer) && !containerIsBody\n ? customContainer\n : popupContainer;\n const BODY = containerIsBody ? customContainer : getDocumentBody(target);\n\n // istanbul ignore else @preserve\n if (isNode(target)) {\n if (lookup === popupContainer) {\n BODY.append(popupContainer);\n }\n lookup.append(target);\n }\n};\n\nconst removePopup = (target: Element, customContainer?: ParentNode) => {\n const containerIsBody = isNode(customContainer) &&\n customContainer.nodeName === \"BODY\";\n const lookup = isNode(customContainer) && !containerIsBody\n ? customContainer\n : popupContainer;\n\n // istanbul ignore else @preserve\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: Element, customContainer?: ParentNode) => {\n const lookup = isNode(customContainer) && customContainer.nodeName !== \"BODY\"\n ? customContainer\n : popupContainer;\n return isNode(target) && lookup.contains(target);\n};\n\nexport { appendPopup, hasPopup, popupContainer, removePopup };\n"],"names":["modalString","offcanvasString","popupContainer","createElement","appendPopup","target","customContainer","containerIsBody","isNode","lookup","BODY","getDocumentBody","removePopup","hasPopup"],"mappings":"6DACMA,EAAc,QCAdC,EAAkB,YCElBC,EAAiBC,EAAAA,GAAc,CACnC,QAAS,MACT,UAAW,iBACb,CAAC,EAEKC,EAAc,CAACC,EAAiBC,IAAiC,CACrE,MAAMC,EAAkBC,EAAAA,EAAOF,CAAe,GAC5CA,EAAgB,WAAa,OACzBG,EAASD,EAAAA,EAAOF,CAAe,GAAK,CAACC,EACvCD,EACAJ,EACEQ,EAAOH,EAAkBD,EAAkBK,EAAAA,GAAgBN,CAAM,EAGnEG,EAAAA,EAAOH,CAAM,IACXI,IAAWP,GACbQ,EAAK,OAAOR,CAAc,EAE5BO,EAAO,OAAOJ,CAAM,EAExB,EAEMO,EAAc,CAACP,EAAiBC,IAAiC,CACrE,MAAMC,EAAkBC,EAAAA,EAAOF,CAAe,GAC5CA,EAAgB,WAAa,OACzBG,EAASD,EAAAA,EAAOF,CAAe,GAAK,CAACC,EACvCD,EACAJ,EAGAM,EAAAA,EAAOH,CAAM,IACfA,EAAO,OAAO,EAEVI,IAAWP,GAAkB,CAACA,EAAe,SAAS,QACxDA,EAAe,OAAO,EAG5B,EAEMW,EAAW,CAACR,EAAiBC,IAAiC,CAClE,MAAMG,EAASD,EAAO,EAAAF,CAAe,GAAKA,EAAgB,WAAa,OACnEA,EACAJ,EACJ,OAAOM,EAAO,EAAAH,CAAM,GAAKI,EAAO,SAASJ,CAAM,CACjD"} \ No newline at end of file +{"version":3,"file":"popupContainer-B1-dZ_ye.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 { createElement, getDocumentBody, isNode } from \"@thednp/shorty\";\n\n// the default container for Modal, Offcanvas, Popover and Tooltip\nconst popupContainer = createElement({\n tagName: \"div\",\n className: \"popup-container\",\n}) as HTMLElement;\n\nconst appendPopup = (target: Element, customContainer?: ParentNode) => {\n const containerIsBody = isNode(customContainer) &&\n customContainer.nodeName === \"BODY\";\n const lookup = isNode(customContainer) && !containerIsBody\n ? customContainer\n : popupContainer;\n const BODY = containerIsBody ? customContainer : getDocumentBody(target);\n\n // istanbul ignore else @preserve\n if (isNode(target)) {\n if (lookup === popupContainer) {\n BODY.append(popupContainer);\n }\n lookup.append(target);\n }\n};\n\nconst removePopup = (target: Element, customContainer?: ParentNode) => {\n const containerIsBody = isNode(customContainer) &&\n customContainer.nodeName === \"BODY\";\n const lookup = isNode(customContainer) && !containerIsBody\n ? customContainer\n : popupContainer;\n\n // istanbul ignore else @preserve\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: Element, customContainer?: ParentNode) => {\n const lookup = isNode(customContainer) && customContainer.nodeName !== \"BODY\"\n ? customContainer\n : popupContainer;\n return isNode(target) && lookup.contains(target);\n};\n\nexport { appendPopup, hasPopup, popupContainer, removePopup };\n"],"names":["modalString","offcanvasString","popupContainer","createElement","appendPopup","target","customContainer","containerIsBody","isNode","lookup","BODY","getDocumentBody","removePopup","hasPopup"],"mappings":"6DACMA,EAAc,QCAdC,EAAkB,YCElBC,EAAiBC,EAAAA,GAAc,CACnC,QAAS,MACT,UAAW,iBACb,CAAC,EAEKC,EAAc,CAACC,EAAiBC,IAAiC,CACrE,MAAMC,EAAkBC,EAAAA,EAAOF,CAAe,GAC5CA,EAAgB,WAAa,OACzBG,EAASD,EAAAA,EAAOF,CAAe,GAAK,CAACC,EACvCD,EACAJ,EACEQ,EAAOH,EAAkBD,EAAkBK,EAAAA,GAAgBN,CAAM,EAGnEG,EAAAA,EAAOH,CAAM,IACXI,IAAWP,GACbQ,EAAK,OAAOR,CAAc,EAE5BO,EAAO,OAAOJ,CAAM,EAExB,EAEMO,EAAc,CAACP,EAAiBC,IAAiC,CACrE,MAAMC,EAAkBC,EAAAA,EAAOF,CAAe,GAC5CA,EAAgB,WAAa,OACzBG,EAASD,EAAAA,EAAOF,CAAe,GAAK,CAACC,EACvCD,EACAJ,EAGAM,EAAAA,EAAOH,CAAM,IACfA,EAAO,OAAO,EAEVI,IAAWP,GAAkB,CAACA,EAAe,SAAS,QACxDA,EAAe,OAAO,EAG5B,EAEMW,EAAW,CAACR,EAAiBC,IAAiC,CAClE,MAAMG,EAASD,EAAO,EAAAF,CAAe,GAAKA,EAAgB,WAAa,OACnEA,EACAJ,EACJ,OAAOM,EAAO,EAAAH,CAAM,GAAKI,EAAO,SAASJ,CAAM,CACjD"} \ No newline at end of file diff --git a/dist/components/popupContainer-CgZsH2ur.mjs b/dist/components/popupContainer-BvxACdvn.mjs similarity index 71% rename from dist/components/popupContainer-CgZsH2ur.mjs rename to dist/components/popupContainer-BvxACdvn.mjs index ba097d8e..dd579679 100644 --- a/dist/components/popupContainer-CgZsH2ur.mjs +++ b/dist/components/popupContainer-BvxACdvn.mjs @@ -1,22 +1,22 @@ -import { a3 as c, ae as s, _ as f } from "./base-component-Jx2aafTJ.mjs"; +import { a5 as c, ah as s, $ as f } from "./base-component-CQAH5ZXF.mjs"; const v = "modal", B = "offcanvas", a = c({ tagName: "div", className: "popup-container" -}), i = (p, o) => { +}), h = (p, o) => { const n = s(o) && o.nodeName === "BODY", e = s(o) && !n ? o : a, d = n ? o : f(p); s(p) && (e === a && d.append(a), e.append(p)); -}, N = (p, o) => { +}, i = (p, o) => { const n = s(o) && o.nodeName === "BODY", e = s(o) && !n ? o : a; s(p) && (p.remove(), e === a && !a.children.length && a.remove()); -}, h = (p, o) => { +}, N = (p, o) => { const n = s(o) && o.nodeName !== "BODY" ? o : a; return s(p) && n.contains(p); }; export { - i as a, - h, + h as a, + N as h, v as m, B as o, - N as r + i as r }; -//# sourceMappingURL=popupContainer-CgZsH2ur.mjs.map +//# sourceMappingURL=popupContainer-BvxACdvn.mjs.map diff --git a/dist/components/popupContainer-CgZsH2ur.mjs.map b/dist/components/popupContainer-BvxACdvn.mjs.map similarity index 97% rename from dist/components/popupContainer-CgZsH2ur.mjs.map rename to dist/components/popupContainer-BvxACdvn.mjs.map index 1c12e46d..e4f335bb 100644 --- a/dist/components/popupContainer-CgZsH2ur.mjs.map +++ b/dist/components/popupContainer-BvxACdvn.mjs.map @@ -1 +1 @@ -{"version":3,"file":"popupContainer-CgZsH2ur.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 { createElement, getDocumentBody, isNode } from \"@thednp/shorty\";\n\n// the default container for Modal, Offcanvas, Popover and Tooltip\nconst popupContainer = createElement({\n tagName: \"div\",\n className: \"popup-container\",\n}) as HTMLElement;\n\nconst appendPopup = (target: Element, customContainer?: ParentNode) => {\n const containerIsBody = isNode(customContainer) &&\n customContainer.nodeName === \"BODY\";\n const lookup = isNode(customContainer) && !containerIsBody\n ? customContainer\n : popupContainer;\n const BODY = containerIsBody ? customContainer : getDocumentBody(target);\n\n // istanbul ignore else @preserve\n if (isNode(target)) {\n if (lookup === popupContainer) {\n BODY.append(popupContainer);\n }\n lookup.append(target);\n }\n};\n\nconst removePopup = (target: Element, customContainer?: ParentNode) => {\n const containerIsBody = isNode(customContainer) &&\n customContainer.nodeName === \"BODY\";\n const lookup = isNode(customContainer) && !containerIsBody\n ? customContainer\n : popupContainer;\n\n // istanbul ignore else @preserve\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: Element, customContainer?: ParentNode) => {\n const lookup = isNode(customContainer) && customContainer.nodeName !== \"BODY\"\n ? customContainer\n : popupContainer;\n return isNode(target) && lookup.contains(target);\n};\n\nexport { appendPopup, hasPopup, popupContainer, removePopup };\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;AAAA,EACnC,SAAS;AAAA,EACT,WAAW;AACb,CAAC,GAEKC,IAAc,CAACC,GAAiBC,MAAiC;AACrE,QAAMC,IAAkBC,EAAOF,CAAe,KAC5CA,EAAgB,aAAa,QACzBG,IAASD,EAAOF,CAAe,KAAK,CAACC,IACvCD,IACAJ,GACEQ,IAAOH,IAAkBD,IAAkBK,EAAgBN,CAAM;AAGnE,EAAAG,EAAOH,CAAM,MACXI,MAAWP,KACbQ,EAAK,OAAOR,CAAc,GAE5BO,EAAO,OAAOJ,CAAM;AAExB,GAEMO,IAAc,CAACP,GAAiBC,MAAiC;AACrE,QAAMC,IAAkBC,EAAOF,CAAe,KAC5CA,EAAgB,aAAa,QACzBG,IAASD,EAAOF,CAAe,KAAK,CAACC,IACvCD,IACAJ;AAGA,EAAAM,EAAOH,CAAM,MACfA,EAAO,OAAO,GAEVI,MAAWP,KAAkB,CAACA,EAAe,SAAS,UACxDA,EAAe,OAAO;AAG5B,GAEMW,IAAW,CAACR,GAAiBC,MAAiC;AAClE,QAAMG,IAASD,EAAOF,CAAe,KAAKA,EAAgB,aAAa,SACnEA,IACAJ;AACJ,SAAOM,EAAOH,CAAM,KAAKI,EAAO,SAASJ,CAAM;AACjD;"} \ No newline at end of file +{"version":3,"file":"popupContainer-BvxACdvn.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 { createElement, getDocumentBody, isNode } from \"@thednp/shorty\";\n\n// the default container for Modal, Offcanvas, Popover and Tooltip\nconst popupContainer = createElement({\n tagName: \"div\",\n className: \"popup-container\",\n}) as HTMLElement;\n\nconst appendPopup = (target: Element, customContainer?: ParentNode) => {\n const containerIsBody = isNode(customContainer) &&\n customContainer.nodeName === \"BODY\";\n const lookup = isNode(customContainer) && !containerIsBody\n ? customContainer\n : popupContainer;\n const BODY = containerIsBody ? customContainer : getDocumentBody(target);\n\n // istanbul ignore else @preserve\n if (isNode(target)) {\n if (lookup === popupContainer) {\n BODY.append(popupContainer);\n }\n lookup.append(target);\n }\n};\n\nconst removePopup = (target: Element, customContainer?: ParentNode) => {\n const containerIsBody = isNode(customContainer) &&\n customContainer.nodeName === \"BODY\";\n const lookup = isNode(customContainer) && !containerIsBody\n ? customContainer\n : popupContainer;\n\n // istanbul ignore else @preserve\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: Element, customContainer?: ParentNode) => {\n const lookup = isNode(customContainer) && customContainer.nodeName !== \"BODY\"\n ? customContainer\n : popupContainer;\n return isNode(target) && lookup.contains(target);\n};\n\nexport { appendPopup, hasPopup, popupContainer, removePopup };\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;AAAA,EACnC,SAAS;AAAA,EACT,WAAW;AACb,CAAC,GAEKC,IAAc,CAACC,GAAiBC,MAAiC;AACrE,QAAMC,IAAkBC,EAAOF,CAAe,KAC5CA,EAAgB,aAAa,QACzBG,IAASD,EAAOF,CAAe,KAAK,CAACC,IACvCD,IACAJ,GACEQ,IAAOH,IAAkBD,IAAkBK,EAAgBN,CAAM;AAGnE,EAAAG,EAAOH,CAAM,MACXI,MAAWP,KACbQ,EAAK,OAAOR,CAAc,GAE5BO,EAAO,OAAOJ,CAAM;AAExB,GAEMO,IAAc,CAACP,GAAiBC,MAAiC;AACrE,QAAMC,IAAkBC,EAAOF,CAAe,KAC5CA,EAAgB,aAAa,QACzBG,IAASD,EAAOF,CAAe,KAAK,CAACC,IACvCD,IACAJ;AAGA,EAAAM,EAAOH,CAAM,MACfA,EAAO,OAAO,GAEVI,MAAWP,KAAkB,CAACA,EAAe,SAAS,UACxDA,EAAe,OAAO;AAG5B,GAEMW,IAAW,CAACR,GAAiBC,MAAiC;AAClE,QAAMG,IAASD,EAAOF,CAAe,KAAKA,EAAgB,aAAa,SACnEA,IACAJ;AACJ,SAAOM,EAAOH,CAAM,KAAKI,EAAO,SAASJ,CAAM;AACjD;"} \ No newline at end of file diff --git a/dist/components/popupContainer-CSoNJ-n6.js b/dist/components/popupContainer-CSoNJ-n6.js deleted file mode 100644 index eb222cfe..00000000 --- a/dist/components/popupContainer-CSoNJ-n6.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";const p=require("./base-component-DaZCwW-u.js"),c="modal",d="offcanvas",e=p.oe({tagName:"div",className:"popup-container"}),f=(n,o)=>{const l=p.l(o)&&o.nodeName==="BODY",s=p.l(o)&&!l?o:e,a=l?o:p.So(n);p.l(n)&&(s===e&&a.append(e),s.append(n))},i=(n,o)=>{const l=p.l(o)&&o.nodeName==="BODY",s=p.l(o)&&!l?o:e;p.l(n)&&(n.remove(),s===e&&!e.children.length&&e.remove())},v=(n,o)=>{const l=p.l(o)&&o.nodeName!=="BODY"?o:e;return p.l(n)&&l.contains(n)};exports.appendPopup=f;exports.hasPopup=v;exports.modalString=c;exports.offcanvasString=d;exports.removePopup=i; -//# sourceMappingURL=popupContainer-CSoNJ-n6.js.map diff --git a/dist/components/scrollspy.cjs b/dist/components/scrollspy.cjs index ae7f1977..28e3b036 100644 --- a/dist/components/scrollspy.cjs +++ b/dist/components/scrollspy.cjs @@ -1,2 +1,2 @@ -"use strict";const s=require("./base-component-DaZCwW-u.js"),q=require("./index-DlQfhTUb.js"),p=require("./activeClass-CxJYQAGN.js"),w="scrollspy",C="ScrollSpy",A='[data-bs-spy="scroll"]',x={offset:10,target:void 0},L=t=>s.to(t,C),Y=t=>new I(t),S=s.vo(`activate.bs.${w}`),R=t=>{const{target:e,scrollTarget:o,options:r,itemsLength:i,scrollHeight:n,element:l,_observer:c}=t,{offset:a}=r,g=o!==l,f=e&&s.Ne("A",e),b=s.d(l),m=o.scrollHeight;if(t.scrollTop=o.scrollTop,f&&(m!==n||i!==f.length)){let v,u,h,d;t.items=[],t.targets=[],t.offsets=[],t.scrollHeight=m,t.maxScroll=t.scrollHeight-B(t),Array.from(f).forEach(y=>{v=s.j(y,"href"),u=v?.slice(1),h=u?.length?b.getElementById(u):null,h&&(t.items.push(y),t.targets.push(h),d=c?.getEntry(h)?.boundingClientRect||s.w(h),t.offsets.push((g?d.top+t.scrollTop:h.offsetTop)-a))}),t.itemsLength=t.items.length}},H=({targets:t,scrollTarget:e,element:o,_observer:r},i)=>{i?e===o?t?.forEach(n=>r.observe(n)):r.observe(o):r.disconnect()},k=t=>t.scrollHeight,B=({element:t,scrollTarget:e})=>e!==t?e.clientHeight:s.w(t).height,E=t=>{Array.from(s.Ne("A",t)).forEach(e=>{s.Yn(e,p.activeClass)&&s.Zn(e,p.activeClass)})},T=(t,e)=>{const{target:o,element:r}=t;s.m(o)&&E(o),t.activeItem=e,s.qn(e,p.activeClass);const i=[];let n=e;for(;n!==s.So(r);)n=n.parentElement,(s.Yn(n,"nav")||s.Yn(n,"dropdown-menu"))&&i.push(n);i.forEach(l=>{const c=l.previousElementSibling;c&&!s.Yn(c,p.activeClass)&&s.qn(c,p.activeClass)}),S.relatedTarget=e,s.q(r,S)};class I extends s.BaseComponent{static selector=A;static init=Y;static getInstance=L;constructor(e,o){super(e,o);const{element:r,options:i}=this,n=s.Ro(i.target,s.d(r));n&&(this.target=n,this.scrollTarget=r.clientHeight{requestAnimationFrame(()=>{l.some(c=>c.isVisible)&&this.refresh()})},{root:this.scrollTarget}),H(this,!0))}get name(){return C}get defaults(){return x}refresh=()=>{const{target:e}=this;if(!s.m(e)||e.offsetHeight===0)return;R(this);const{scrollTop:o,maxScroll:r,itemsLength:i,items:n,activeItem:l}=this;if(o>=r){const a=n[i-1];l!==a&&T(this,a);return}const{offsets:c}=this;if(l&&o0){this.activeItem=null,e&&E(e);return}n.forEach((a,g)=>{l!==a&&o>=c[g]&&(typeof c[g+1]>"u"||oe.to(r,y),D=r=>new d(r),b=e.mo(`activate.bs.${A}`),j=r=>{const{target:t,_itemsLength:n,_observables:s}=r,o=e.Ne("A",t),c=e.d(t);!o.length||n===s.size||(s.clear(),Array.from(o).forEach(l=>{const i=e.j(l,"href")?.slice(1),h=i?.length?c.getElementById(i):null;h&&!q.isDisabled(l)&&r._observables.set(h,l)}),r._itemsLength=r._observables.size)},T=r=>{Array.from(e.Ne("A",r)).forEach(t=>{e.Zn(t,g.activeClass)&&e.Yn(t,g.activeClass)})},_=(r,t)=>{const{target:n,element:s}=r;T(n),r._activeItem=t,e.qn(t,g.activeClass);let o=t;for(;o!==n;)if(o=o.parentElement,["nav","dropdown-menu","list-group"].some(c=>e.Zn(o,c))){const c=o.previousElementSibling;c&&!e.Zn(c,g.activeClass)&&e.qn(c,g.activeClass)}b.relatedTarget=t,e.q(s,b)},p=(r,t)=>{const{scrollTarget:n,element:s,options:o}=r;return(n!==s?e.w(t).top+n.scrollTop:t.offsetTop)-(o.offset||10)};class d extends e.BaseComponent{static selector=w;static init=D;static getInstance=H;constructor(t,n){super(t,n);const{element:s,options:o}=this,c=e.Ro(o.target,e.d(s));c&&(this.target=c,this.scrollTarget=s.clientHeight{requestAnimationFrame(()=>this.refresh())},{root:this.scrollTarget}),this._toggleEventListeners(!0))}get name(){return y}get defaults(){return x}refresh=()=>{const{target:t,scrollTarget:n}=this;if(!t||t.offsetHeight===0)return;j(this);const{_itemsLength:s,_observables:o,_activeItem:c}=this;if(!s)return;const l=o.entries().toArray(),{scrollTop:i,scrollHeight:h,clientHeight:S}=n;if(i>=h-S){const a=l[s-1]?.[1];c!==a&&_(this,a);return}const f=l[0]?.[0]?p(this,l[0][0]):null;if(f!==null&&i0){this._activeItem=null,T(t);return}for(let a=0;a=C&&(m===null||i{const n=e.ke(t.target,L),s=n&&e.j(n,"href")?.slice(1),o=s&&e.jo(s,this.target);o&&(this.scrollTarget.scrollTo({top:o.offsetTop,behavior:"smooth"}),t.preventDefault())};_toggleEventListeners=t=>{const{target:n,_observables:s,_observer:o,_scrollTo:c}=this;(t?e.E:e.r)(n,e.vt,c),t?s?.forEach((i,h)=>o.observe(h)):o.disconnect()};dispose(){this._toggleEventListeners(),super.dispose()}}module.exports=d; //# sourceMappingURL=scrollspy.cjs.map diff --git a/dist/components/scrollspy.cjs.map b/dist/components/scrollspy.cjs.map index e2a7651f..a2c4f2c5 100644 --- a/dist/components/scrollspy.cjs.map +++ b/dist/components/scrollspy.cjs.map @@ -1 +1 @@ -{"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 addClass,\n createCustomEvent,\n dispatchEvent,\n getAttribute,\n getBoundingClientRect,\n getDocument,\n getDocumentBody,\n getDocumentElement,\n getElementsByTagName,\n getInstance,\n hasClass,\n isHTMLElement,\n querySelector,\n removeClass,\n} from \"@thednp/shorty\";\n\nimport PositionObserver from \"@thednp/position-observer\";\n\nimport activeClass from \"../strings/activeClass\";\nimport scrollspyString from \"../strings/scrollspyString\";\nimport scrollspyComponent from \"../strings/scrollspyComponent\";\n\nimport BaseComponent from \"./base-component\";\nimport { ScrollSpyEvent, ScrollSpyOptions } from \"../interface/scrollspy\";\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: Partial = {\n offset: 10,\n target: undefined,\n};\n\ntype ScrollSpyEventProps = {\n relatedTarget: HTMLElement;\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: Element) =>\n getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: Element) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent<\n ScrollSpyEventProps,\n ScrollSpyEvent\n>(`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 {\n target,\n scrollTarget,\n options,\n itemsLength,\n scrollHeight,\n element,\n _observer,\n } = self;\n const { offset } = options;\n const isRoot = scrollTarget !== element;\n\n const links = target && getElementsByTagName(\"A\", target);\n const doc = getDocument(element);\n const scrollHEIGHT = scrollTarget.scrollHeight;\n\n self.scrollTop = scrollTarget.scrollTop;\n\n // only update items/offsets once or with each mutation\n // istanbul ignore else @preserve\n if (\n links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)\n ) {\n let href: string | null;\n let ref: string | undefined;\n let targetItem: HTMLElement | null;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.targets = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n Array.from(links).forEach((link) => {\n href = getAttribute(link, \"href\");\n ref = href?.slice(1);\n targetItem = ref?.length ? doc.getElementById(ref) : null;\n\n if (targetItem) {\n self.items.push(link);\n self.targets.push(targetItem);\n rect = _observer?.getEntry(targetItem)?.boundingClientRect ||\n getBoundingClientRect(targetItem);\n self.offsets.push(\n (isRoot ? rect.top + self.scrollTop : targetItem.offsetTop) - offset,\n );\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Toggles on/off the component observer.\n *\n * @param self the ScrollSpy instance\n * @param add when `true`, listener is added\n */\nconst toggleObservers = (\n { targets, scrollTarget, element, _observer }: ScrollSpy,\n add?: boolean,\n) => {\n if (add) {\n if (scrollTarget === element) {\n targets?.forEach((targetItem) => _observer.observe(targetItem));\n } else {\n _observer.observe(element);\n }\n } else _observer.disconnect();\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: Element) => {\n return scrollTarget.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 scrollTarget !== element\n ? scrollTarget.clientHeight\n : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: Element) => {\n Array.from(getElementsByTagName(\"A\", target)).forEach(\n (item) => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n },\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\n // istanbul ignore else @preserve\n if (isHTMLElement(target)) clear(target);\n\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\")) {\n parents.push(parentItem);\n }\n }\n\n parents.forEach((menuItem) => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n // istanbul ignore else @preserve\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 element: HTMLElement;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare targets: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n declare _observer: PositionObserver;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(\n target: Element | string,\n config?: Partial,\n ) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // get target\n const spyTarget = querySelector(\n options.target,\n getDocument(element),\n );\n\n // invalidate\n if (!spyTarget) return;\n this.target = spyTarget;\n\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight\n ? element\n : getDocumentElement(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // run an initial burst, we need to know the targets\n this.refresh();\n\n // create observer\n this._observer = new PositionObserver((entries) => {\n requestAnimationFrame(() => {\n // istanbul ignore else @preserve\n if (entries.some((entry) => entry.isVisible)) {\n this.refresh();\n }\n });\n }, {\n root: this.scrollTarget,\n });\n\n // add event handlers\n toggleObservers(this, true);\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 // check if target is visible and invalidate\n // istanbul ignore if @preserve\n if (!isHTMLElement(target) || target.offsetHeight === 0) return;\n\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 @preserve\n if (activeItem !== newActiveItem) activate(this, newActiveItem);\n return;\n }\n\n const { offsets } = this;\n\n // istanbul ignore else @preserve\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n // istanbul ignore else @preserve\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 /** Removes `ScrollSpy` from the target element. */\n dispose() {\n const clone = { ...this };\n toggleObservers(clone);\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","_observer","offset","isRoot","links","getElementsByTagName","doc","getDocument","scrollHEIGHT","href","ref","targetItem","rect","getOffsetHeight","link","getAttribute","getBoundingClientRect","toggleObservers","targets","add","getScrollHeight","clear","item","hasClass","activeClass","removeClass","activate","isHTMLElement","addClass","parents","parentItem","getDocumentBody","menuItem","parentLink","dispatchEvent","BaseComponent","config","spyTarget","querySelector","getDocumentElement","PositionObserver","entries","entry","scrollTop","maxScroll","items","activeItem","newActiveItem","offsets","i","clone"],"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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n getAttribute,\n getBoundingClientRect,\n getDocument,\n getDocumentElement,\n getElementById,\n getElementsByTagName,\n getInstance,\n hasClass,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n removeClass,\n} from \"@thednp/shorty\";\n\nimport PositionObserver from \"@thednp/position-observer\";\nimport { addListener, removeListener } from \"@thednp/event-listener\";\n\nimport activeClass from \"~/strings/activeClass\";\nimport scrollspyString from \"~/strings/scrollspyString\";\nimport scrollspyComponent from \"~/strings/scrollspyComponent\";\nimport isDisabled from \"~/util/isDisabled\";\nimport BaseComponent from \"./base-component\";\nimport { ScrollSpyEvent, ScrollSpyOptions } from \"~/interface/scrollspy\";\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\nconst scrollSpyAnchorSelector = \"[href]\";\n\nconst scrollspyDefaults: Partial = {\n offset: 10,\n target: undefined,\n};\n\ntype ScrollSpyEventProps = {\n relatedTarget: HTMLElement;\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: Element) =>\n getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: Element) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent<\n ScrollSpyEventProps,\n ScrollSpyEvent\n>(`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 {\n target,\n _itemsLength,\n _observables,\n } = self;\n\n const links = getElementsByTagName(\"A\", target);\n const doc = getDocument(target);\n\n // only update items once or with each mutation\n // istanbul ignore else @preserve\n if (!links.length || _itemsLength === _observables.size) return;\n // reset arrays & update\n _observables.clear();\n\n Array.from(links).forEach((link) => {\n const hash = getAttribute(link, \"href\")?.slice(1);\n const targetItem = hash?.length ? doc.getElementById(hash) : null;\n\n if (targetItem && !isDisabled(link)) {\n self._observables.set(targetItem, link);\n }\n });\n self._itemsLength = self._observables.size;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: Element) => {\n Array.from(getElementsByTagName(\"A\", target)).forEach(\n (item) => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n },\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\n // istanbul ignore else @preserve\n clear(target);\n\n self._activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n let parentItem = item;\n while (parentItem !== target) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (\n [\"nav\", \"dropdown-menu\", \"list-group\"].some((c) =>\n hasClass(parentItem, c)\n )\n ) {\n const parentLink = parentItem.previousElementSibling as\n | HTMLElement\n | null;\n\n // istanbul ignore else @preserve\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n }\n }\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\nconst getOffset = (self: ScrollSpy, target: HTMLElement) => {\n const { scrollTarget, element, options } = self;\n\n return (scrollTarget !== element\n ? getBoundingClientRect(target).top + scrollTarget.scrollTop\n : target.offsetTop) - (options.offset as number || 10);\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 element: HTMLElement;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement;\n declare scrollTarget: HTMLElement;\n declare _itemsLength: number;\n declare _activeItem: HTMLElement | null;\n declare _observables: Map;\n declare _observer: PositionObserver; //| IntersectionObserver;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(\n target: Element | string,\n config?: Partial,\n ) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // get target\n const spyTarget = querySelector(\n options.target,\n getDocument(element),\n );\n\n // invalidate\n if (!spyTarget) return;\n this.target = spyTarget;\n\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight\n ? element\n : getDocumentElement(element);\n this._observables = new Map();\n\n // run an initial burst, we need to know the targets\n this.refresh();\n // updateSpyTargets(this);\n\n // create observer\n this._observer = new PositionObserver(() => {\n requestAnimationFrame(() => this.refresh());\n }, {\n root: this.scrollTarget,\n });\n\n // add event handlers\n this._toggleEventListeners(true);\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, scrollTarget } = this;\n // check if target is visible and invalidate\n // istanbul ignore if @preserve\n if (!target || target.offsetHeight === 0) return;\n\n updateSpyTargets(this);\n const { _itemsLength, _observables, _activeItem } = this;\n\n // istanbul ignore if @preserve\n if (!_itemsLength) return;\n const entries = _observables.entries().toArray();\n\n const { scrollTop, scrollHeight, clientHeight } = scrollTarget;\n\n if (scrollTop >= scrollHeight - clientHeight) {\n const newActiveItem = entries[_itemsLength - 1]?.[1];\n\n // istanbul ignore else @preserve\n if (_activeItem !== newActiveItem) activate(this, newActiveItem);\n return;\n }\n\n const firstOffset = entries[0]?.[0]\n ? getOffset(this, entries[0][0])\n : /* istanbul ignore next */ null;\n if (\n firstOffset !== null && scrollTop < firstOffset &&\n firstOffset > 0\n ) {\n this._activeItem = null;\n clear(target);\n return;\n }\n\n for (let i = 0; i < _itemsLength; i += 1) {\n const [targetItem, item] = entries[i];\n const offsetTop = getOffset(this, targetItem);\n const nextTarget = entries[i + 1]?.[0];\n const nextOffsetTop = nextTarget\n ? getOffset(this, nextTarget)\n : /* istanbul ignore next */ null;\n\n // istanbul ignore else @preserve\n if (\n _activeItem !== item &&\n scrollTop >= offsetTop &&\n (nextOffsetTop === null || scrollTop < nextOffsetTop)\n ) {\n activate(this, item);\n break;\n }\n }\n };\n\n /**\n * This method provides an event handle\n * for scrollspy\n * @param e the event listener object\n */\n _scrollTo = (e: MouseEvent) => {\n const item = closest(e.target, scrollSpyAnchorSelector);\n const hash = item && getAttribute(item, \"href\")?.slice(1);\n const targetItem = hash && getElementById(hash, this.target);\n\n // istanbul ignore else @preserve\n if (targetItem) {\n this.scrollTarget.scrollTo({\n top: targetItem.offsetTop,\n behavior: \"smooth\",\n });\n e.preventDefault();\n }\n };\n\n /**\n * Toggles on/off the component observer.\n *\n * @param self the ScrollSpy instance\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (\n add?: boolean,\n ) => {\n const { target, _observables, _observer, _scrollTo } = this;\n const action = add ? addListener : removeListener;\n action(target, mouseclickEvent, _scrollTo);\n\n if (add) {\n _observables?.forEach((_, targetItem) => _observer.observe(targetItem));\n } else _observer.disconnect();\n };\n\n /** Removes `ScrollSpy` from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n"],"names":["scrollspyString","scrollspyComponent","scrollspySelector","scrollSpyAnchorSelector","scrollspyDefaults","getScrollSpyInstance","element","getInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","createCustomEvent","updateSpyTargets","self","target","_itemsLength","_observables","links","getElementsByTagName","doc","getDocument","link","hash","getAttribute","targetItem","isDisabled","clear","item","hasClass","activeClass","removeClass","activate","addClass","parentItem","parentLink","dispatchEvent","getOffset","scrollTarget","options","getBoundingClientRect","BaseComponent","config","spyTarget","querySelector","getDocumentElement","PositionObserver","_activeItem","entries","scrollTop","scrollHeight","clientHeight","newActiveItem","firstOffset","i","offsetTop","nextTarget","nextOffsetTop","e","closest","getElementById","add","_observer","_scrollTo","addListener","removeListener","mouseclickEvent","_"],"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 048af6f4..788983c0 100644 --- a/dist/components/scrollspy.d.ts +++ b/dist/components/scrollspy.d.ts @@ -1,4 +1,5 @@ import { default as default_2 } from '@thednp/position-observer'; +import { MouseEvent as MouseEvent_2 } from '@thednp/shorty'; /** Returns a new `BaseComponent` instance. */ declare class BaseComponent { @@ -29,16 +30,11 @@ declare class ScrollSpy extends BaseComponent { static getInstance: (element: Element) => ScrollSpy | null; element: HTMLElement; options: ScrollSpyOptions; - target: HTMLElement | null; + target: HTMLElement; scrollTarget: HTMLElement; - scrollTop: number; - maxScroll: number; - scrollHeight: number; - activeItem: HTMLElement | null; - items: HTMLElement[]; - targets: HTMLElement[]; - itemsLength: number; - offsets: number[]; + _itemsLength: number; + _activeItem: HTMLElement | null; + _observables: Map; _observer: default_2; /** * @param target the target element @@ -55,6 +51,19 @@ declare class ScrollSpy extends BaseComponent { get defaults(): Partial; /** Updates all items. */ refresh: () => void; + /** + * This method provides an event handle + * for scrollspy + * @param e the event listener object + */ + _scrollTo: (e: MouseEvent_2) => void; + /** + * Toggles on/off the component observer. + * + * @param self the ScrollSpy instance + * @param add when `true`, listener is added + */ + _toggleEventListeners: (add?: boolean) => void; /** Removes `ScrollSpy` from the target element. */ dispose(): void; } @@ -63,6 +72,8 @@ export default ScrollSpy; declare interface ScrollSpyOptions extends BaseOptions { offset: number; target: HTMLElement | string; + threshold: number | number[]; + rootMargin: string; } export { } diff --git a/dist/components/scrollspy.mjs b/dist/components/scrollspy.mjs index 4dd4c29d..b4afdc3f 100644 --- a/dist/components/scrollspy.mjs +++ b/dist/components/scrollspy.mjs @@ -1,106 +1,126 @@ -import { B as R, R as q, d as I, S as B, f as b, t as k, v as O, a4 as w, j as Y, K as A, Y as p, Z, b as v, _ as j, q as D } from "./base-component-Jx2aafTJ.mjs"; -import { E as F } from "./index-DinhT6Jq.mjs"; -import { a as g } from "./activeClass-iqaD75Su.mjs"; -const G = "scrollspy", C = "ScrollSpy", K = '[data-bs-spy="scroll"]', N = { +import { B as H, t as k, R as x, d as T, S as C, a6 as S, l as d, Z as p, Y as q, b, m as B, q as D, L as O, k as j, a7 as z, E as R, r as Y, v as Z } from "./base-component-CQAH5ZXF.mjs"; +import { v as F } from "./index-DXF8ibvt.mjs"; +import { a as f } from "./activeClass-iqaD75Su.mjs"; +import { i as M } from "./isDisabled-bThyhy2g.mjs"; +const N = "scrollspy", I = "ScrollSpy", $ = '[data-bs-spy="scroll"]', G = "[href]", J = { offset: 10, target: void 0 -}, V = (t) => k(t, C), _ = (t) => new M(t), H = O(`activate.bs.${G}`), $ = (t) => { +}, K = (o) => k(o, I), P = (o) => new U(o), _ = B(`activate.bs.${N}`), Q = (o) => { const { - target: e, - scrollTarget: s, - options: o, - itemsLength: c, - scrollHeight: r, - element: i, - _observer: n - } = t, { offset: l } = o, h = s !== i, f = e && w("A", e), L = I(i), u = s.scrollHeight; - if (t.scrollTop = s.scrollTop, f && (u !== r || c !== f.length)) { - let d, m, a, y; - t.items = [], t.targets = [], t.offsets = [], t.scrollHeight = u, t.maxScroll = t.scrollHeight - J(t), Array.from(f).forEach((S) => { - d = Y(S, "href"), m = d?.slice(1), a = m?.length ? L.getElementById(m) : null, a && (t.items.push(S), t.targets.push(a), y = n?.getEntry(a)?.boundingClientRect || A(a), t.offsets.push( - (h ? y.top + t.scrollTop : a.offsetTop) - l - )); - }), t.itemsLength = t.items.length; - } -}, T = ({ targets: t, scrollTarget: e, element: s, _observer: o }, c) => { - c ? e === s ? t?.forEach((r) => o.observe(r)) : o.observe(s) : o.disconnect(); -}, z = (t) => t.scrollHeight, J = ({ element: t, scrollTarget: e }) => e !== t ? e.clientHeight : A(t).height, x = (t) => { - Array.from(w("A", t)).forEach( - (e) => { - p(e, g) && Z(e, g); + target: t, + _itemsLength: r, + _observables: e + } = o, s = S("A", t), n = T(t); + !s.length || r === e.size || (e.clear(), Array.from(s).forEach((l) => { + const c = d(l, "href")?.slice(1), i = c?.length ? n.getElementById(c) : null; + i && !M(l) && o._observables.set(i, l); + }), o._itemsLength = o._observables.size); +}, E = (o) => { + Array.from(S("A", o)).forEach( + (t) => { + p(t, f) && q(t, f); } ); -}, E = (t, e) => { - const { target: s, element: o } = t; - b(s) && x(s), t.activeItem = e, v(e, g); - const c = []; - let r = e; - for (; r !== j(o); ) - r = r.parentElement, (p(r, "nav") || p(r, "dropdown-menu")) && c.push(r); - c.forEach((i) => { - const n = i.previousElementSibling; - n && !p(n, g) && v(n, g); - }), H.relatedTarget = e, D(o, H); +}, y = (o, t) => { + const { target: r, element: e } = o; + E(r), o._activeItem = t, b(t, f); + let s = t; + for (; s !== r; ) + if (s = s.parentElement, ["nav", "dropdown-menu", "list-group"].some( + (n) => p(s, n) + )) { + const n = s.previousElementSibling; + n && !p(n, f) && b(n, f); + } + _.relatedTarget = t, D(e, _); +}, g = (o, t) => { + const { scrollTarget: r, element: e, options: s } = o; + return (r !== e ? O(t).top + r.scrollTop : t.offsetTop) - (s.offset || 10); }; -class M extends R { - static selector = K; - static init = _; - static getInstance = V; +class U extends H { + static selector = $; + static init = P; + static getInstance = K; /** * @param target the target element * @param config the instance options */ - constructor(e, s) { - super(e, s); - const { element: o, options: c } = this, r = q( - c.target, - I(o) + constructor(t, r) { + super(t, r); + const { element: e, options: s } = this, n = x( + s.target, + T(e) ); - r && (this.target = r, this.scrollTarget = o.clientHeight < o.scrollHeight ? o : B(o), this.scrollHeight = z(this.scrollTarget), this.refresh(), this._observer = new F((i) => { - requestAnimationFrame(() => { - i.some((n) => n.isVisible) && this.refresh(); - }); + n && (this.target = n, this.scrollTarget = e.clientHeight < e.scrollHeight ? e : C(e), this._observables = /* @__PURE__ */ new Map(), this.refresh(), this._observer = new F(() => { + requestAnimationFrame(() => this.refresh()); }, { root: this.scrollTarget - }), T(this, !0)); + }), this._toggleEventListeners(!0)); } /** * Returns component name string. */ get name() { - return C; + return I; } /** * Returns component default options. */ get defaults() { - return N; + return J; } refresh = () => { - const { target: e } = this; - if (!b(e) || e.offsetHeight === 0) return; - $(this); - const { scrollTop: s, maxScroll: o, itemsLength: c, items: r, activeItem: i } = this; - if (s >= o) { - const l = r[c - 1]; - i !== l && E(this, l); + const { target: t, scrollTarget: r } = this; + if (!t || t.offsetHeight === 0) return; + Q(this); + const { _itemsLength: e, _observables: s, _activeItem: n } = this; + if (!e) return; + const l = s.entries().toArray(), { scrollTop: c, scrollHeight: i, clientHeight: A } = r; + if (c >= i - A) { + const a = l[e - 1]?.[1]; + n !== a && y(this, a); return; } - const { offsets: n } = this; - if (i && s < n[0] && n[0] > 0) { - this.activeItem = null, e && x(e); + const h = l[0]?.[0] ? g(this, l[0][0]) : null; + if (h !== null && c < h && h > 0) { + this._activeItem = null, E(t); return; } - r.forEach((l, h) => { - i !== l && s >= n[h] && (typeof n[h + 1] > "u" || s < n[h + 1]) && E(this, l); - }); + for (let a = 0; a < e; a += 1) { + const [L, m] = l[a], w = g(this, L), u = l[a + 1]?.[0], v = u ? g(this, u) : null; + if (n !== m && c >= w && (v === null || c < v)) { + y(this, m); + break; + } + } + }; + /** + * This method provides an event handle + * for scrollspy + * @param e the event listener object + */ + _scrollTo = (t) => { + const r = j(t.target, G), e = r && d(r, "href")?.slice(1), s = e && z(e, this.target); + s && (this.scrollTarget.scrollTo({ + top: s.offsetTop, + behavior: "smooth" + }), t.preventDefault()); + }; + /** + * Toggles on/off the component observer. + * + * @param self the ScrollSpy instance + * @param add when `true`, listener is added + */ + _toggleEventListeners = (t) => { + const { target: r, _observables: e, _observer: s, _scrollTo: n } = this; + (t ? R : Y)(r, Z, n), t ? e?.forEach((c, i) => s.observe(i)) : s.disconnect(); }; dispose() { - const e = { ...this }; - T(e), super.dispose(); + this._toggleEventListeners(), super.dispose(); } } export { - M as default + U as default }; //# sourceMappingURL=scrollspy.mjs.map diff --git a/dist/components/scrollspy.mjs.map b/dist/components/scrollspy.mjs.map index 9b43d243..51747267 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 addClass,\n createCustomEvent,\n dispatchEvent,\n getAttribute,\n getBoundingClientRect,\n getDocument,\n getDocumentBody,\n getDocumentElement,\n getElementsByTagName,\n getInstance,\n hasClass,\n isHTMLElement,\n querySelector,\n removeClass,\n} from \"@thednp/shorty\";\n\nimport PositionObserver from \"@thednp/position-observer\";\n\nimport activeClass from \"../strings/activeClass\";\nimport scrollspyString from \"../strings/scrollspyString\";\nimport scrollspyComponent from \"../strings/scrollspyComponent\";\n\nimport BaseComponent from \"./base-component\";\nimport { ScrollSpyEvent, ScrollSpyOptions } from \"../interface/scrollspy\";\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: Partial = {\n offset: 10,\n target: undefined,\n};\n\ntype ScrollSpyEventProps = {\n relatedTarget: HTMLElement;\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: Element) =>\n getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: Element) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent<\n ScrollSpyEventProps,\n ScrollSpyEvent\n>(`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 {\n target,\n scrollTarget,\n options,\n itemsLength,\n scrollHeight,\n element,\n _observer,\n } = self;\n const { offset } = options;\n const isRoot = scrollTarget !== element;\n\n const links = target && getElementsByTagName(\"A\", target);\n const doc = getDocument(element);\n const scrollHEIGHT = scrollTarget.scrollHeight;\n\n self.scrollTop = scrollTarget.scrollTop;\n\n // only update items/offsets once or with each mutation\n // istanbul ignore else @preserve\n if (\n links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)\n ) {\n let href: string | null;\n let ref: string | undefined;\n let targetItem: HTMLElement | null;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.targets = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n Array.from(links).forEach((link) => {\n href = getAttribute(link, \"href\");\n ref = href?.slice(1);\n targetItem = ref?.length ? doc.getElementById(ref) : null;\n\n if (targetItem) {\n self.items.push(link);\n self.targets.push(targetItem);\n rect = _observer?.getEntry(targetItem)?.boundingClientRect ||\n getBoundingClientRect(targetItem);\n self.offsets.push(\n (isRoot ? rect.top + self.scrollTop : targetItem.offsetTop) - offset,\n );\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Toggles on/off the component observer.\n *\n * @param self the ScrollSpy instance\n * @param add when `true`, listener is added\n */\nconst toggleObservers = (\n { targets, scrollTarget, element, _observer }: ScrollSpy,\n add?: boolean,\n) => {\n if (add) {\n if (scrollTarget === element) {\n targets?.forEach((targetItem) => _observer.observe(targetItem));\n } else {\n _observer.observe(element);\n }\n } else _observer.disconnect();\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: Element) => {\n return scrollTarget.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 scrollTarget !== element\n ? scrollTarget.clientHeight\n : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: Element) => {\n Array.from(getElementsByTagName(\"A\", target)).forEach(\n (item) => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n },\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\n // istanbul ignore else @preserve\n if (isHTMLElement(target)) clear(target);\n\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\")) {\n parents.push(parentItem);\n }\n }\n\n parents.forEach((menuItem) => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n // istanbul ignore else @preserve\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 element: HTMLElement;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare targets: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n declare _observer: PositionObserver;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(\n target: Element | string,\n config?: Partial,\n ) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // get target\n const spyTarget = querySelector(\n options.target,\n getDocument(element),\n );\n\n // invalidate\n if (!spyTarget) return;\n this.target = spyTarget;\n\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight\n ? element\n : getDocumentElement(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // run an initial burst, we need to know the targets\n this.refresh();\n\n // create observer\n this._observer = new PositionObserver((entries) => {\n requestAnimationFrame(() => {\n // istanbul ignore else @preserve\n if (entries.some((entry) => entry.isVisible)) {\n this.refresh();\n }\n });\n }, {\n root: this.scrollTarget,\n });\n\n // add event handlers\n toggleObservers(this, true);\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 // check if target is visible and invalidate\n // istanbul ignore if @preserve\n if (!isHTMLElement(target) || target.offsetHeight === 0) return;\n\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 @preserve\n if (activeItem !== newActiveItem) activate(this, newActiveItem);\n return;\n }\n\n const { offsets } = this;\n\n // istanbul ignore else @preserve\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n // istanbul ignore else @preserve\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 /** Removes `ScrollSpy` from the target element. */\n dispose() {\n const clone = { ...this };\n toggleObservers(clone);\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","_observer","offset","isRoot","links","getElementsByTagName","doc","getDocument","scrollHEIGHT","href","ref","targetItem","rect","getOffsetHeight","link","getAttribute","getBoundingClientRect","toggleObservers","targets","add","getScrollHeight","clear","item","hasClass","activeClass","removeClass","activate","isHTMLElement","addClass","parents","parentItem","getDocumentBody","menuItem","parentLink","dispatchEvent","BaseComponent","config","spyTarget","querySelector","getDocumentElement","PositionObserver","entries","entry","scrollTop","maxScroll","items","activeItem","newActiveItem","offsets","i","clone"],"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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n getAttribute,\n getBoundingClientRect,\n getDocument,\n getDocumentElement,\n getElementById,\n getElementsByTagName,\n getInstance,\n hasClass,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n removeClass,\n} from \"@thednp/shorty\";\n\nimport PositionObserver from \"@thednp/position-observer\";\nimport { addListener, removeListener } from \"@thednp/event-listener\";\n\nimport activeClass from \"~/strings/activeClass\";\nimport scrollspyString from \"~/strings/scrollspyString\";\nimport scrollspyComponent from \"~/strings/scrollspyComponent\";\nimport isDisabled from \"~/util/isDisabled\";\nimport BaseComponent from \"./base-component\";\nimport { ScrollSpyEvent, ScrollSpyOptions } from \"~/interface/scrollspy\";\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\nconst scrollSpyAnchorSelector = \"[href]\";\n\nconst scrollspyDefaults: Partial = {\n offset: 10,\n target: undefined,\n};\n\ntype ScrollSpyEventProps = {\n relatedTarget: HTMLElement;\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: Element) =>\n getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: Element) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent<\n ScrollSpyEventProps,\n ScrollSpyEvent\n>(`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 {\n target,\n _itemsLength,\n _observables,\n } = self;\n\n const links = getElementsByTagName(\"A\", target);\n const doc = getDocument(target);\n\n // only update items once or with each mutation\n // istanbul ignore else @preserve\n if (!links.length || _itemsLength === _observables.size) return;\n // reset arrays & update\n _observables.clear();\n\n Array.from(links).forEach((link) => {\n const hash = getAttribute(link, \"href\")?.slice(1);\n const targetItem = hash?.length ? doc.getElementById(hash) : null;\n\n if (targetItem && !isDisabled(link)) {\n self._observables.set(targetItem, link);\n }\n });\n self._itemsLength = self._observables.size;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: Element) => {\n Array.from(getElementsByTagName(\"A\", target)).forEach(\n (item) => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n },\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\n // istanbul ignore else @preserve\n clear(target);\n\n self._activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n let parentItem = item;\n while (parentItem !== target) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (\n [\"nav\", \"dropdown-menu\", \"list-group\"].some((c) =>\n hasClass(parentItem, c)\n )\n ) {\n const parentLink = parentItem.previousElementSibling as\n | HTMLElement\n | null;\n\n // istanbul ignore else @preserve\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n }\n }\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\nconst getOffset = (self: ScrollSpy, target: HTMLElement) => {\n const { scrollTarget, element, options } = self;\n\n return (scrollTarget !== element\n ? getBoundingClientRect(target).top + scrollTarget.scrollTop\n : target.offsetTop) - (options.offset as number || 10);\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 element: HTMLElement;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement;\n declare scrollTarget: HTMLElement;\n declare _itemsLength: number;\n declare _activeItem: HTMLElement | null;\n declare _observables: Map;\n declare _observer: PositionObserver; //| IntersectionObserver;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(\n target: Element | string,\n config?: Partial,\n ) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // get target\n const spyTarget = querySelector(\n options.target,\n getDocument(element),\n );\n\n // invalidate\n if (!spyTarget) return;\n this.target = spyTarget;\n\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight\n ? element\n : getDocumentElement(element);\n this._observables = new Map();\n\n // run an initial burst, we need to know the targets\n this.refresh();\n // updateSpyTargets(this);\n\n // create observer\n this._observer = new PositionObserver(() => {\n requestAnimationFrame(() => this.refresh());\n }, {\n root: this.scrollTarget,\n });\n\n // add event handlers\n this._toggleEventListeners(true);\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, scrollTarget } = this;\n // check if target is visible and invalidate\n // istanbul ignore if @preserve\n if (!target || target.offsetHeight === 0) return;\n\n updateSpyTargets(this);\n const { _itemsLength, _observables, _activeItem } = this;\n\n // istanbul ignore if @preserve\n if (!_itemsLength) return;\n const entries = _observables.entries().toArray();\n\n const { scrollTop, scrollHeight, clientHeight } = scrollTarget;\n\n if (scrollTop >= scrollHeight - clientHeight) {\n const newActiveItem = entries[_itemsLength - 1]?.[1];\n\n // istanbul ignore else @preserve\n if (_activeItem !== newActiveItem) activate(this, newActiveItem);\n return;\n }\n\n const firstOffset = entries[0]?.[0]\n ? getOffset(this, entries[0][0])\n : /* istanbul ignore next */ null;\n if (\n firstOffset !== null && scrollTop < firstOffset &&\n firstOffset > 0\n ) {\n this._activeItem = null;\n clear(target);\n return;\n }\n\n for (let i = 0; i < _itemsLength; i += 1) {\n const [targetItem, item] = entries[i];\n const offsetTop = getOffset(this, targetItem);\n const nextTarget = entries[i + 1]?.[0];\n const nextOffsetTop = nextTarget\n ? getOffset(this, nextTarget)\n : /* istanbul ignore next */ null;\n\n // istanbul ignore else @preserve\n if (\n _activeItem !== item &&\n scrollTop >= offsetTop &&\n (nextOffsetTop === null || scrollTop < nextOffsetTop)\n ) {\n activate(this, item);\n break;\n }\n }\n };\n\n /**\n * This method provides an event handle\n * for scrollspy\n * @param e the event listener object\n */\n _scrollTo = (e: MouseEvent) => {\n const item = closest(e.target, scrollSpyAnchorSelector);\n const hash = item && getAttribute(item, \"href\")?.slice(1);\n const targetItem = hash && getElementById(hash, this.target);\n\n // istanbul ignore else @preserve\n if (targetItem) {\n this.scrollTarget.scrollTo({\n top: targetItem.offsetTop,\n behavior: \"smooth\",\n });\n e.preventDefault();\n }\n };\n\n /**\n * Toggles on/off the component observer.\n *\n * @param self the ScrollSpy instance\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (\n add?: boolean,\n ) => {\n const { target, _observables, _observer, _scrollTo } = this;\n const action = add ? addListener : removeListener;\n action(target, mouseclickEvent, _scrollTo);\n\n if (add) {\n _observables?.forEach((_, targetItem) => _observer.observe(targetItem));\n } else _observer.disconnect();\n };\n\n /** Removes `ScrollSpy` from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n"],"names":["scrollspyString","scrollspyComponent","scrollspySelector","scrollSpyAnchorSelector","scrollspyDefaults","getScrollSpyInstance","element","getInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","createCustomEvent","updateSpyTargets","self","target","_itemsLength","_observables","links","getElementsByTagName","doc","getDocument","link","hash","getAttribute","targetItem","isDisabled","clear","item","hasClass","activeClass","removeClass","activate","addClass","parentItem","c","parentLink","dispatchEvent","getOffset","scrollTarget","options","getBoundingClientRect","BaseComponent","config","spyTarget","querySelector","getDocumentElement","PositionObserver","_activeItem","entries","scrollTop","scrollHeight","clientHeight","newActiveItem","firstOffset","i","offsetTop","nextTarget","nextOffsetTop","e","closest","getElementById","add","_observer","_scrollTo","addListener","removeListener","mouseclickEvent","_"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/tab.cjs b/dist/components/tab.cjs index 94910d2b..b0f3cdac 100644 --- a/dist/components/tab.cjs +++ b/dist/components/tab.cjs @@ -1,2 +1,2 @@ -"use strict";const t=require("./base-component-DaZCwW-u.js"),m=require("./event-listener-BQdA_KAC.js"),v=require("./collapsingClass-CLblascz.js"),c=require("./activeClass-CxJYQAGN.js"),h=require("./fadeClass-Co6nOzNJ.js"),u=require("./showClass-D_Ms1FgG.js"),T=require("./dropdownClasses-CnEyz_iw.js"),P=require("./dataBsToggle-Dj-Ng54N.js"),p=require("./getTargetElement-CXAsWuzD.js"),f="tab",k="Tab",q=`[${P.dataBsToggle}="${f}"]`,L=o=>t.to(o,k),B=o=>new M(o),C=t.vo(`show.bs.${f}`),E=t.vo(`shown.bs.${f}`),b=t.vo(`hide.bs.${f}`),H=t.vo(`hidden.bs.${f}`),d=new Map,Y=o=>{const{tabContent:n,nav:e}=o;n&&t.Yn(n,v.collapsingClass)&&(n.style.height="",t.Zn(n,v.collapsingClass)),e&&t.yo.clear(e)},x=o=>{const{element:n,tabContent:e,content:s,nav:l}=o,{tab:a}=t.m(l)&&d.get(l)||{tab:null};if(e&&s&&t.Yn(s,h.fadeClass)){const{currentHeight:i,nextHeight:r}=d.get(n)||{currentHeight:0,nextHeight:0};i!==r?setTimeout(()=>{e.style.height=`${r}px`,t.Eo(e),t.ro(e,()=>Y(o))},50):Y(o)}else l&&t.yo.clear(l);E.relatedTarget=a,t.q(n,E)},$=o=>{const{element:n,content:e,tabContent:s,nav:l}=o,{tab:a,content:i}=l&&d.get(l)||{tab:null,content:null};let r=0;if(s&&e&&t.Yn(e,h.fadeClass)&&([i,e].forEach(g=>{g&&t.qn(g,"overflow-hidden")}),r=i?i.scrollHeight:0),C.relatedTarget=a,H.relatedTarget=n,t.q(n,C),!C.defaultPrevented){if(e&&t.qn(e,c.activeClass),i&&t.Zn(i,c.activeClass),s&&e&&t.Yn(e,h.fadeClass)){const g=e.scrollHeight;d.set(n,{currentHeight:r,nextHeight:g,tab:null,content:null}),t.qn(s,v.collapsingClass),s.style.height=`${r}px`,t.Eo(s),[i,e].forEach(w=>{w&&t.Zn(w,"overflow-hidden")})}e&&e&&t.Yn(e,h.fadeClass)?setTimeout(()=>{t.qn(e,u.showClass),t.ro(e,()=>{x(o)})},1):(e&&t.qn(e,u.showClass),x(o)),a&&t.q(a,H)}},y=o=>{const{nav:n}=o;if(!t.m(n))return{tab:null,content:null};const e=t.Go(c.activeClass,n);let s=null;e.length===1&&!T.dropdownMenuClasses.some(a=>t.Yn(e[0].parentElement,a))?[s]=e:e.length>1&&(s=e[e.length-1]);const l=t.m(s)?p.getTargetElement(s):null;return{tab:s,content:l}},Z=o=>{if(!t.m(o))return null;const n=t.ke(o,`.${T.dropdownMenuClasses.join(",.")}`);return n?t.Ro(`.${T.dropdownMenuClasses[0]}-toggle`,n):null},D=o=>{const n=L(o.target);o.preventDefault(),n&&n.show()};class M extends t.BaseComponent{static selector=q;static init=B;static getInstance=L;constructor(n){super(n);const{element:e}=this,s=p.getTargetElement(e);if(!s)return;const l=t.ke(e,".nav"),a=t.ke(s,".tab-content");this.nav=l,this.content=s,this.tabContent=a,this.dropdown=Z(e);const{tab:i}=y(this);if(l&&!i){const r=t.Ro(q,l),g=r&&p.getTargetElement(r);g&&(t.qn(r,c.activeClass),t.qn(g,u.showClass),t.qn(g,c.activeClass),t.Qn(e,t.Fe,"true"))}this._toggleEventListeners(!0)}get name(){return k}show(){const{element:n,content:e,nav:s,dropdown:l}=this;if(s&&t.yo.get(s)||t.Yn(n,c.activeClass))return;const{tab:a,content:i}=y(this);if(s&&a&&d.set(s,{tab:a,content:i,currentHeight:0,nextHeight:0}),b.relatedTarget=n,!t.m(a)||(t.q(a,b),b.defaultPrevented))return;t.qn(n,c.activeClass),t.Qn(n,t.Fe,"true");const r=t.m(a)&&Z(a);if(r&&t.Yn(r,c.activeClass)&&t.Zn(r,c.activeClass),s){const g=()=>{a&&(t.Zn(a,c.activeClass),t.Qn(a,t.Fe,"false")),l&&!t.Yn(l,c.activeClass)&&t.qn(l,c.activeClass)};i&&(t.Yn(i,h.fadeClass)||e&&t.Yn(e,h.fadeClass))?t.yo.set(s,g,1):g()}i&&(t.Zn(i,u.showClass),t.Yn(i,h.fadeClass)?t.ro(i,()=>$(this)):$(this))}_toggleEventListeners=n=>{(n?m.E:m.r)(this.element,t.mt,D)};dispose(){this._toggleEventListeners(),super.dispose()}}module.exports=M; +"use strict";const t=require("./base-component-CEXwoid1.js"),v=require("./collapsingClass-CLblascz.js"),c=require("./activeClass-CxJYQAGN.js"),h=require("./fadeClass-Co6nOzNJ.js"),u=require("./showClass-D_Ms1FgG.js"),m=require("./dropdownClasses-CnEyz_iw.js"),y=require("./dataBsToggle-Dj-Ng54N.js"),T=require("./getTargetElement-BJtPWRez.js"),f="tab",Y="Tab",p=`[${y.dataBsToggle}="${f}"]`,M=o=>t.to(o,Y),B=o=>new P(o),C=t.mo(`show.bs.${f}`),q=t.mo(`shown.bs.${f}`),b=t.mo(`hide.bs.${f}`),E=t.mo(`hidden.bs.${f}`),d=new Map,H=o=>{const{tabContent:n,nav:e}=o;n&&t.Zn(n,v.collapsingClass)&&(n.style.height="",t.Yn(n,v.collapsingClass)),e&&t.ho.clear(e)},Z=o=>{const{element:n,tabContent:e,content:s,nav:l}=o,{tab:a}=t.m(l)&&d.get(l)||{tab:null};if(e&&s&&t.Zn(s,h.fadeClass)){const{currentHeight:i,nextHeight:r}=d.get(n)||{currentHeight:0,nextHeight:0};i!==r?setTimeout(()=>{e.style.height=`${r}px`,t.bo(e),t.so(e,()=>H(o))},50):H(o)}else l&&t.ho.clear(l);q.relatedTarget=a,t.q(n,q)},x=o=>{const{element:n,content:e,tabContent:s,nav:l}=o,{tab:a,content:i}=l&&d.get(l)||{tab:null,content:null};let r=0;if(s&&e&&t.Zn(e,h.fadeClass)&&([i,e].forEach(g=>{g&&t.qn(g,"overflow-hidden")}),r=i?i.scrollHeight:0),C.relatedTarget=a,E.relatedTarget=n,t.q(n,C),!C.defaultPrevented){if(e&&t.qn(e,c.activeClass),i&&t.Yn(i,c.activeClass),s&&e&&t.Zn(e,h.fadeClass)){const g=e.scrollHeight;d.set(n,{currentHeight:r,nextHeight:g,tab:null,content:null}),t.qn(s,v.collapsingClass),s.style.height=`${r}px`,t.bo(s),[i,e].forEach(w=>{w&&t.Yn(w,"overflow-hidden")})}e&&e&&t.Zn(e,h.fadeClass)?setTimeout(()=>{t.qn(e,u.showClass),t.so(e,()=>{Z(o)})},1):(e&&t.qn(e,u.showClass),Z(o)),a&&t.q(a,E)}},$=o=>{const{nav:n}=o;if(!t.m(n))return{tab:null,content:null};const e=t.Go(c.activeClass,n);let s=null;e.length===1&&!m.dropdownMenuClasses.some(a=>t.Zn(e[0].parentElement,a))?[s]=e:e.length>1&&(s=e[e.length-1]);const l=t.m(s)?T.getTargetElement(s):null;return{tab:s,content:l}},k=o=>{if(!t.m(o))return null;const n=t.ke(o,`.${m.dropdownMenuClasses.join(",.")}`);return n?t.Ro(`.${m.dropdownMenuClasses[0]}-toggle`,n):null},D=o=>{const n=t.ke(o.target,p),e=n&&M(n);e&&(o.preventDefault(),e.show())};class P extends t.BaseComponent{static selector=p;static init=B;static getInstance=M;constructor(n){super(n);const{element:e}=this,s=T.getTargetElement(e);if(!s)return;const l=t.ke(e,".nav"),a=t.ke(s,".tab-content");this.nav=l,this.content=s,this.tabContent=a,this.dropdown=k(e);const{tab:i}=$(this);if(l&&!i){const r=t.Ro(p,l),g=r&&T.getTargetElement(r);g&&(t.qn(r,c.activeClass),t.qn(g,u.showClass),t.qn(g,c.activeClass),t.Qn(e,t.Fe,"true"))}this._toggleEventListeners(!0)}get name(){return Y}show(){const{element:n,content:e,nav:s,dropdown:l}=this;if(s&&t.ho.get(s)||t.Zn(n,c.activeClass))return;const{tab:a,content:i}=$(this);if(s&&a&&d.set(s,{tab:a,content:i,currentHeight:0,nextHeight:0}),b.relatedTarget=n,!t.m(a)||(t.q(a,b),b.defaultPrevented))return;t.qn(n,c.activeClass),t.Qn(n,t.Fe,"true");const r=t.m(a)&&k(a);if(r&&t.Zn(r,c.activeClass)&&t.Yn(r,c.activeClass),s){const g=()=>{a&&(t.Yn(a,c.activeClass),t.Qn(a,t.Fe,"false")),l&&!t.Zn(l,c.activeClass)&&t.qn(l,c.activeClass)};i&&(t.Zn(i,h.fadeClass)||e&&t.Zn(e,h.fadeClass))?t.ho.set(s,g,1):g()}i&&(t.Yn(i,u.showClass),t.Zn(i,h.fadeClass)?t.so(i,()=>x(this)):x(this))}_toggleEventListeners=n=>{(n?t.E:t.r)(this.element,t.vt,D)};dispose(){this._toggleEventListeners(),super.dispose()}}module.exports=P; //# sourceMappingURL=tab.cjs.map diff --git a/dist/components/tab.cjs.map b/dist/components/tab.cjs.map index 90c79ade..597c1307 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 addClass,\n ariaSelected,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getElementsByClassName,\n getInstance,\n hasClass,\n isHTMLElement,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n reflow,\n removeClass,\n setAttribute,\n Timer,\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: Element) =>\n getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: Element) => new Tab(element);\n\ntype TabEventProps = {\n relatedTarget: Element & EventTarget | undefined;\n};\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(\n `show.bs.${tabString}`,\n);\nconst shownTabEvent = createCustomEvent(\n `shown.bs.${tabString}`,\n);\nconst hideTabEvent = createCustomEvent(\n `hide.bs.${tabString}`,\n);\nconst hiddenTabEvent = createCustomEvent(\n `hidden.bs.${tabString}`,\n);\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 @preserve\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = \"\";\n removeClass(tabContent, collapsingClass);\n }\n\n // istanbul ignore else @preserve\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)) ||\n // istanbul ignore next @preserve\n { tab: null };\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) ||\n // istanbul ignore next @preserve\n { currentHeight: 0, nextHeight: 0 };\n // istanbul ignore else @preserve: vitest won't validate this branch\n if (currentHeight !== nextHeight) {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n } else {\n triggerTabEnd(self);\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)) ||\n // istanbul ignore next @preserve\n { tab: null, content: null };\n let currentHeight = 0;\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\n if (c) addClass(c, \"overflow-hidden\");\n });\n currentHeight = content\n ? content.scrollHeight\n : /* istanbul ignore next @preserve */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element as HTMLElement;\n dispatchEvent(element, showTabEvent);\n\n // istanbul ignore if @preserve\n if (showTabEvent.defaultPrevented) return;\n // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, activeClass);\n // istanbul ignore else @preserve\n if (content) removeClass(content, activeClass);\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, {\n currentHeight,\n nextHeight,\n tab: null,\n content: null,\n });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\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 // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n // istanbul ignore else @preserve\n if (tab) dispatchEvent(tab, hiddenTabEvent);\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 = (\n self: Tab,\n): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n // istanbul ignore next @preserve\n if (!isHTMLElement(nav)) {\n return { tab: null, content: null };\n }\n\n const activeTabs = getElementsByClassName(\n activeClass,\n nav,\n );\n let tab: HTMLElement | null = null;\n // istanbul ignore else @preserve\n if (\n activeTabs.length === 1 &&\n !dropdownClasses.some((c) =>\n hasClass(activeTabs[0].parentElement as HTMLElement, c)\n )\n ) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab) ? getTargetElement(tab) : 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) => {\n // istanbul ignore next @preserve\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(\",.\")}`);\n return dropdown\n ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown)\n : 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: MouseEvent) => {\n const self = getTabInstance(e.target);\n e.preventDefault();\n\n // istanbul ignore else @preserve\n if (self) self.show();\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 element: HTMLElement;\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: Element | 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 @preserve\n if (!content) return;\n\n const nav = closest(element, \".nav\");\n const container = closest(\n content as HTMLElement,\n \".tab-content\",\n );\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element as HTMLElement);\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 @preserve\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 * 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 @preserve\n if ((nav && Timer.get(nav)) || hasClass(element, activeClass)) return;\n const { tab, content } = getActiveTab(this);\n\n // istanbul ignore else @preserve\n if (nav && tab) {\n tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n }\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element as HTMLElement;\n\n // istanbul ignore if @preserve\n if (!isHTMLElement(tab)) return;\n\n dispatchEvent(tab, hideTabEvent);\n\n // istanbul ignore else @preserve\n if (hideTabEvent.defaultPrevented) return;\n\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 @preserve\n if (nav) {\n const toggleTab = () => {\n // istanbul ignore else @preserve\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, \"false\");\n }\n if (dropdown && !hasClass(dropdown, activeClass)) {\n addClass(dropdown, activeClass);\n }\n };\n\n if (\n content &&\n (hasClass(content, fadeClass) ||\n (nextContent && hasClass(nextContent, fadeClass)))\n ) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n // istanbul ignore else @preserve\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 * 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","c","addClass","activeClass","showClass","getActiveTab","activeTabs","getElementsByClassName","dropdownClasses","getTargetElement","getParentDropdown","dropdown","closest","querySelector","tabClickHandler","e","BaseComponent","target","container","firstTab","firstTabContent","setAttribute","ariaSelected","activeDropdown","toggleTab","add","addListener","removeListener","mouseclickEvent"],"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 addClass,\n ariaSelected,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getElementsByClassName,\n getInstance,\n hasClass,\n isHTMLElement,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n reflow,\n removeClass,\n setAttribute,\n Timer,\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\";\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: Element) =>\n getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: Element) => new Tab(element);\n\ntype TabEventProps = {\n relatedTarget: Element & EventTarget | undefined;\n};\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(\n `show.bs.${tabString}`,\n);\nconst shownTabEvent = createCustomEvent(\n `shown.bs.${tabString}`,\n);\nconst hideTabEvent = createCustomEvent(\n `hide.bs.${tabString}`,\n);\nconst hiddenTabEvent = createCustomEvent(\n `hidden.bs.${tabString}`,\n);\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 @preserve\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = \"\";\n removeClass(tabContent, collapsingClass);\n }\n\n // istanbul ignore else @preserve\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)) ||\n // istanbul ignore next @preserve\n { tab: null };\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) ||\n // istanbul ignore next @preserve\n { currentHeight: 0, nextHeight: 0 };\n // istanbul ignore else @preserve: vitest won't validate this branch\n if (currentHeight !== nextHeight) {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n } else {\n triggerTabEnd(self);\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)) ||\n // istanbul ignore next @preserve\n { tab: null, content: null };\n let currentHeight = 0;\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\n if (c) addClass(c, \"overflow-hidden\");\n });\n currentHeight = content\n ? content.scrollHeight\n : /* istanbul ignore next @preserve */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element as HTMLElement;\n dispatchEvent(element, showTabEvent);\n\n // istanbul ignore if @preserve\n if (showTabEvent.defaultPrevented) return;\n // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, activeClass);\n // istanbul ignore else @preserve\n if (content) removeClass(content, activeClass);\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, {\n currentHeight,\n nextHeight,\n tab: null,\n content: null,\n });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\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 // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n // istanbul ignore else @preserve\n if (tab) dispatchEvent(tab, hiddenTabEvent);\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 = (\n self: Tab,\n): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n // istanbul ignore next @preserve\n if (!isHTMLElement(nav)) {\n return { tab: null, content: null };\n }\n\n const activeTabs = getElementsByClassName(\n activeClass,\n nav,\n );\n let tab: HTMLElement | null = null;\n // istanbul ignore else @preserve\n if (\n activeTabs.length === 1 &&\n !dropdownClasses.some((c) =>\n hasClass(activeTabs[0].parentElement as HTMLElement, c)\n )\n ) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab) ? getTargetElement(tab) : 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) => {\n // istanbul ignore next @preserve\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(\",.\")}`);\n return dropdown\n ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown)\n : 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: MouseEvent) => {\n const element = closest(e.target, tabSelector);\n const self = element && getTabInstance(element);\n\n // istanbul ignore if @preserve\n if (!self) return;\n e.preventDefault();\n self.show();\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 element: HTMLElement;\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: Element | 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 @preserve\n if (!content) return;\n\n const nav = closest(element, \".nav\");\n const container = closest(\n content as HTMLElement,\n \".tab-content\",\n );\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 @preserve\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 * 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 @preserve\n if ((nav && Timer.get(nav)) || hasClass(element, activeClass)) return;\n const { tab, content } = getActiveTab(this);\n\n // istanbul ignore else @preserve\n if (nav && tab) {\n tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n }\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element as HTMLElement;\n\n // istanbul ignore if @preserve\n if (!isHTMLElement(tab)) return;\n\n dispatchEvent(tab, hideTabEvent);\n\n // istanbul ignore else @preserve\n if (hideTabEvent.defaultPrevented) return;\n\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 @preserve\n if (nav) {\n const toggleTab = () => {\n // istanbul ignore else @preserve\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, \"false\");\n }\n if (dropdown && !hasClass(dropdown, activeClass)) {\n addClass(dropdown, activeClass);\n }\n };\n\n if (\n content &&\n (hasClass(content, fadeClass) ||\n (nextContent && hasClass(nextContent, fadeClass)))\n ) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n // istanbul ignore else @preserve\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 * 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","c","addClass","activeClass","showClass","getActiveTab","activeTabs","getElementsByClassName","dropdownClasses","getTargetElement","getParentDropdown","dropdown","closest","querySelector","tabClickHandler","e","BaseComponent","target","container","firstTab","firstTabContent","setAttribute","ariaSelected","activeDropdown","toggleTab","add","addListener","removeListener","mouseclickEvent"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/tab.mjs b/dist/components/tab.mjs index 06a189d7..24a45a8c 100644 --- a/dist/components/tab.mjs +++ b/dist/components/tab.mjs @@ -1,38 +1,37 @@ -import { B as A, p as $, R, b as g, Q as C, y as p, Y as l, f as d, q as v, Z as b, r as B, t as F, v as w, e as Y, G as z, a5 as E, m as J } from "./base-component-Jx2aafTJ.mjs"; -import { E as K, r as N } from "./event-listener-CUwvA4j6.mjs"; -import { c as y } from "./collapsingClass-BxKtDBMH.mjs"; +import { B as A, t as F, k as p, x as d, R, G as z, Z as l, b as g, Q as E, a8 as x, h as v, m as C, q as T, Y as b, s as D, f as Y, E as J, r as K, v as N } from "./base-component-CQAH5ZXF.mjs"; +import { c as k } from "./collapsingClass-BxKtDBMH.mjs"; import { a as c } from "./activeClass-iqaD75Su.mjs"; import { f as h } from "./fadeClass-CLIYI_zn.mjs"; -import { s as T } from "./showClass-C8hdJfjQ.mjs"; +import { s as w } from "./showClass-C8hdJfjQ.mjs"; import { d as P } from "./dropdownClasses-CdCdZ-PX.mjs"; import { d as O } from "./dataBsToggle-B84TS15h.mjs"; -import { g as k } from "./getTargetElement-Bv0W3Fir.mjs"; -const m = "tab", Z = "Tab", I = `[${O}="${m}"]`, j = (s) => F(s, Z), U = (s) => new W(s), H = w( +import { g as y } from "./getTargetElement-v_1VfmtN.mjs"; +const m = "tab", Z = "Tab", B = `[${O}="${m}"]`, j = (s) => F(s, Z), U = (s) => new W(s), H = C( `show.bs.${m}` -), L = w( +), L = C( `shown.bs.${m}` -), x = w( +), $ = C( `hide.bs.${m}` -), S = w( +), S = C( `hidden.bs.${m}` ), u = /* @__PURE__ */ new Map(), _ = (s) => { const { tabContent: e, nav: t } = s; - e && l(e, y) && (e.style.height = "", b(e, y)), t && p.clear(t); + e && l(e, k) && (e.style.height = "", b(e, k)), t && v.clear(t); }, q = (s) => { const { element: e, tabContent: t, content: n, nav: i } = s, { tab: o } = d(i) && u.get(i) || { tab: null }; if (t && n && l(n, h)) { const { currentHeight: a, nextHeight: r } = u.get(e) || { currentHeight: 0, nextHeight: 0 }; a !== r ? setTimeout(() => { - t.style.height = `${r}px`, Y(t), B(t, () => _(s)); + t.style.height = `${r}px`, Y(t), D(t, () => _(s)); }, 50) : _(s); - } else i && p.clear(i); - L.relatedTarget = o, v(e, L); + } else i && v.clear(i); + L.relatedTarget = o, T(e, L); }, G = (s) => { const { element: e, content: t, tabContent: n, nav: i } = s, { tab: o, content: a } = i && u.get(i) || { tab: null, content: null }; let r = 0; if (n && t && l(t, h) && ([a, t].forEach((f) => { f && g(f, "overflow-hidden"); - }), r = a ? a.scrollHeight : 0), H.relatedTarget = o, S.relatedTarget = e, v(e, H), !H.defaultPrevented) { + }), r = a ? a.scrollHeight : 0), H.relatedTarget = o, S.relatedTarget = e, T(e, H), !H.defaultPrevented) { if (t && g(t, c), a && b(a, c), n && t && l(t, h)) { const f = t.scrollHeight; u.set(e, { @@ -40,15 +39,15 @@ const m = "tab", Z = "Tab", I = `[${O}="${m}"]`, j = (s) => F(s, Z), U = (s) => nextHeight: f, tab: null, content: null - }), g(n, y), n.style.height = `${r}px`, Y(n), [a, t].forEach((D) => { - D && b(D, "overflow-hidden"); + }), g(n, k), n.style.height = `${r}px`, Y(n), [a, t].forEach((I) => { + I && b(I, "overflow-hidden"); }); } t && t && l(t, h) ? setTimeout(() => { - g(t, T), B(t, () => { + g(t, w), D(t, () => { q(s); }); - }, 1) : (t && g(t, T), q(s)), o && v(o, S); + }, 1) : (t && g(t, w), q(s)), o && T(o, S); } }, M = (s) => { const { nav: e } = s; @@ -62,33 +61,33 @@ const m = "tab", Z = "Tab", I = `[${O}="${m}"]`, j = (s) => F(s, Z), U = (s) => t.length === 1 && !P.some( (o) => l(t[0].parentElement, o) ) ? [n] = t : t.length > 1 && (n = t[t.length - 1]); - const i = d(n) ? k(n) : null; + const i = d(n) ? y(n) : null; return { tab: n, content: i }; }, Q = (s) => { if (!d(s)) return null; - const e = $(s, `.${P.join(",.")}`); + const e = p(s, `.${P.join(",.")}`); return e ? R(`.${P[0]}-toggle`, e) : null; }, V = (s) => { - const e = j(s.target); - s.preventDefault(), e && e.show(); + const e = p(s.target, B), t = e && j(e); + t && (s.preventDefault(), t.show()); }; class W extends A { - static selector = I; + static selector = B; static init = U; static getInstance = j; constructor(e) { super(e); - const { element: t } = this, n = k(t); + const { element: t } = this, n = y(t); if (!n) return; - const i = $(t, ".nav"), o = $( + const i = p(t, ".nav"), o = p( n, ".tab-content" ); this.nav = i, this.content = n, this.tabContent = o, this.dropdown = Q(t); const { tab: a } = M(this); if (i && !a) { - const r = R(I, i), f = r && k(r); - f && (g(r, c), g(f, T), g(f, c), C(t, E, "true")); + const r = R(B, i), f = r && y(r); + f && (g(r, c), g(f, w), g(f, c), E(t, x, "true")); } this._toggleEventListeners(!0); } @@ -100,18 +99,18 @@ class W extends A { } show() { const { element: e, content: t, nav: n, dropdown: i } = this; - if (n && p.get(n) || l(e, c)) return; + if (n && v.get(n) || l(e, c)) return; const { tab: o, content: a } = M(this); - if (n && o && u.set(n, { tab: o, content: a, currentHeight: 0, nextHeight: 0 }), x.relatedTarget = e, !d(o) || (v(o, x), x.defaultPrevented)) return; - g(e, c), C(e, E, "true"); + if (n && o && u.set(n, { tab: o, content: a, currentHeight: 0, nextHeight: 0 }), $.relatedTarget = e, !d(o) || (T(o, $), $.defaultPrevented)) return; + g(e, c), E(e, x, "true"); const r = d(o) && Q(o); if (r && l(r, c) && b(r, c), n) { const f = () => { - o && (b(o, c), C(o, E, "false")), i && !l(i, c) && g(i, c); + o && (b(o, c), E(o, x, "false")), i && !l(i, c) && g(i, c); }; - a && (l(a, h) || t && l(t, h)) ? p.set(n, f, 1) : f(); + a && (l(a, h) || t && l(t, h)) ? v.set(n, f, 1) : f(); } - a && (b(a, T), l(a, h) ? B(a, () => G(this)) : G(this)); + a && (b(a, w), l(a, h) ? D(a, () => G(this)) : G(this)); } /** * Toggles on/off the `click` event listener. @@ -119,7 +118,7 @@ class W extends A { * @param add when `true`, event listener is added */ _toggleEventListeners = (e) => { - (e ? K : N)(this.element, J, V); + (e ? J : K)(this.element, N, V); }; dispose() { this._toggleEventListeners(), super.dispose(); diff --git a/dist/components/tab.mjs.map b/dist/components/tab.mjs.map index ebbf51ac..eeca8b89 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 addClass,\n ariaSelected,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getElementsByClassName,\n getInstance,\n hasClass,\n isHTMLElement,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n reflow,\n removeClass,\n setAttribute,\n Timer,\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: Element) =>\n getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: Element) => new Tab(element);\n\ntype TabEventProps = {\n relatedTarget: Element & EventTarget | undefined;\n};\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(\n `show.bs.${tabString}`,\n);\nconst shownTabEvent = createCustomEvent(\n `shown.bs.${tabString}`,\n);\nconst hideTabEvent = createCustomEvent(\n `hide.bs.${tabString}`,\n);\nconst hiddenTabEvent = createCustomEvent(\n `hidden.bs.${tabString}`,\n);\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 @preserve\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = \"\";\n removeClass(tabContent, collapsingClass);\n }\n\n // istanbul ignore else @preserve\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)) ||\n // istanbul ignore next @preserve\n { tab: null };\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) ||\n // istanbul ignore next @preserve\n { currentHeight: 0, nextHeight: 0 };\n // istanbul ignore else @preserve: vitest won't validate this branch\n if (currentHeight !== nextHeight) {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n } else {\n triggerTabEnd(self);\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)) ||\n // istanbul ignore next @preserve\n { tab: null, content: null };\n let currentHeight = 0;\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\n if (c) addClass(c, \"overflow-hidden\");\n });\n currentHeight = content\n ? content.scrollHeight\n : /* istanbul ignore next @preserve */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element as HTMLElement;\n dispatchEvent(element, showTabEvent);\n\n // istanbul ignore if @preserve\n if (showTabEvent.defaultPrevented) return;\n // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, activeClass);\n // istanbul ignore else @preserve\n if (content) removeClass(content, activeClass);\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, {\n currentHeight,\n nextHeight,\n tab: null,\n content: null,\n });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\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 // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n // istanbul ignore else @preserve\n if (tab) dispatchEvent(tab, hiddenTabEvent);\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 = (\n self: Tab,\n): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n // istanbul ignore next @preserve\n if (!isHTMLElement(nav)) {\n return { tab: null, content: null };\n }\n\n const activeTabs = getElementsByClassName(\n activeClass,\n nav,\n );\n let tab: HTMLElement | null = null;\n // istanbul ignore else @preserve\n if (\n activeTabs.length === 1 &&\n !dropdownClasses.some((c) =>\n hasClass(activeTabs[0].parentElement as HTMLElement, c)\n )\n ) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab) ? getTargetElement(tab) : 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) => {\n // istanbul ignore next @preserve\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(\",.\")}`);\n return dropdown\n ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown)\n : 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: MouseEvent) => {\n const self = getTabInstance(e.target);\n e.preventDefault();\n\n // istanbul ignore else @preserve\n if (self) self.show();\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 element: HTMLElement;\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: Element | 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 @preserve\n if (!content) return;\n\n const nav = closest(element, \".nav\");\n const container = closest(\n content as HTMLElement,\n \".tab-content\",\n );\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element as HTMLElement);\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 @preserve\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 * 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 @preserve\n if ((nav && Timer.get(nav)) || hasClass(element, activeClass)) return;\n const { tab, content } = getActiveTab(this);\n\n // istanbul ignore else @preserve\n if (nav && tab) {\n tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n }\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element as HTMLElement;\n\n // istanbul ignore if @preserve\n if (!isHTMLElement(tab)) return;\n\n dispatchEvent(tab, hideTabEvent);\n\n // istanbul ignore else @preserve\n if (hideTabEvent.defaultPrevented) return;\n\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 @preserve\n if (nav) {\n const toggleTab = () => {\n // istanbul ignore else @preserve\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, \"false\");\n }\n if (dropdown && !hasClass(dropdown, activeClass)) {\n addClass(dropdown, activeClass);\n }\n };\n\n if (\n content &&\n (hasClass(content, fadeClass) ||\n (nextContent && hasClass(nextContent, fadeClass)))\n ) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n // istanbul ignore else @preserve\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 * 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","c","addClass","activeClass","showClass","getActiveTab","activeTabs","getElementsByClassName","dropdownClasses","getTargetElement","getParentDropdown","dropdown","closest","querySelector","tabClickHandler","e","BaseComponent","target","container","firstTab","firstTabContent","setAttribute","ariaSelected","activeDropdown","toggleTab","add","addListener","removeListener","mouseclickEvent"],"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 addClass,\n ariaSelected,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getElementsByClassName,\n getInstance,\n hasClass,\n isHTMLElement,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n reflow,\n removeClass,\n setAttribute,\n Timer,\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\";\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: Element) =>\n getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: Element) => new Tab(element);\n\ntype TabEventProps = {\n relatedTarget: Element & EventTarget | undefined;\n};\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(\n `show.bs.${tabString}`,\n);\nconst shownTabEvent = createCustomEvent(\n `shown.bs.${tabString}`,\n);\nconst hideTabEvent = createCustomEvent(\n `hide.bs.${tabString}`,\n);\nconst hiddenTabEvent = createCustomEvent(\n `hidden.bs.${tabString}`,\n);\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 @preserve\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = \"\";\n removeClass(tabContent, collapsingClass);\n }\n\n // istanbul ignore else @preserve\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)) ||\n // istanbul ignore next @preserve\n { tab: null };\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) ||\n // istanbul ignore next @preserve\n { currentHeight: 0, nextHeight: 0 };\n // istanbul ignore else @preserve: vitest won't validate this branch\n if (currentHeight !== nextHeight) {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n } else {\n triggerTabEnd(self);\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)) ||\n // istanbul ignore next @preserve\n { tab: null, content: null };\n let currentHeight = 0;\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\n if (c) addClass(c, \"overflow-hidden\");\n });\n currentHeight = content\n ? content.scrollHeight\n : /* istanbul ignore next @preserve */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element as HTMLElement;\n dispatchEvent(element, showTabEvent);\n\n // istanbul ignore if @preserve\n if (showTabEvent.defaultPrevented) return;\n // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, activeClass);\n // istanbul ignore else @preserve\n if (content) removeClass(content, activeClass);\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, {\n currentHeight,\n nextHeight,\n tab: null,\n content: null,\n });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\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 // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n // istanbul ignore else @preserve\n if (tab) dispatchEvent(tab, hiddenTabEvent);\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 = (\n self: Tab,\n): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n // istanbul ignore next @preserve\n if (!isHTMLElement(nav)) {\n return { tab: null, content: null };\n }\n\n const activeTabs = getElementsByClassName(\n activeClass,\n nav,\n );\n let tab: HTMLElement | null = null;\n // istanbul ignore else @preserve\n if (\n activeTabs.length === 1 &&\n !dropdownClasses.some((c) =>\n hasClass(activeTabs[0].parentElement as HTMLElement, c)\n )\n ) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab) ? getTargetElement(tab) : 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) => {\n // istanbul ignore next @preserve\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(\",.\")}`);\n return dropdown\n ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown)\n : 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: MouseEvent) => {\n const element = closest(e.target, tabSelector);\n const self = element && getTabInstance(element);\n\n // istanbul ignore if @preserve\n if (!self) return;\n e.preventDefault();\n self.show();\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 element: HTMLElement;\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: Element | 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 @preserve\n if (!content) return;\n\n const nav = closest(element, \".nav\");\n const container = closest(\n content as HTMLElement,\n \".tab-content\",\n );\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 @preserve\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 * 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 @preserve\n if ((nav && Timer.get(nav)) || hasClass(element, activeClass)) return;\n const { tab, content } = getActiveTab(this);\n\n // istanbul ignore else @preserve\n if (nav && tab) {\n tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n }\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element as HTMLElement;\n\n // istanbul ignore if @preserve\n if (!isHTMLElement(tab)) return;\n\n dispatchEvent(tab, hideTabEvent);\n\n // istanbul ignore else @preserve\n if (hideTabEvent.defaultPrevented) return;\n\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 @preserve\n if (nav) {\n const toggleTab = () => {\n // istanbul ignore else @preserve\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, \"false\");\n }\n if (dropdown && !hasClass(dropdown, activeClass)) {\n addClass(dropdown, activeClass);\n }\n };\n\n if (\n content &&\n (hasClass(content, fadeClass) ||\n (nextContent && hasClass(nextContent, fadeClass)))\n ) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n // istanbul ignore else @preserve\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 * 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","c","addClass","activeClass","showClass","getActiveTab","activeTabs","getElementsByClassName","dropdownClasses","getTargetElement","getParentDropdown","dropdown","closest","querySelector","tabClickHandler","e","BaseComponent","target","container","firstTab","firstTabContent","setAttribute","ariaSelected","activeDropdown","toggleTab","add","addListener","removeListener","mouseclickEvent"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/toast.cjs b/dist/components/toast.cjs index d5f08902..77c5c82e 100644 --- a/dist/components/toast.cjs +++ b/dist/components/toast.cjs @@ -1,2 +1,2 @@ -"use strict";const t=require("./base-component-DaZCwW-u.js"),m=require("./event-listener-BQdA_KAC.js"),l=require("./fadeClass-Co6nOzNJ.js"),h=require("./showClass-D_Ms1FgG.js"),S=require("./dataBsDismiss-CMHF7If_.js"),b=require("./dataBsToggle-Dj-Ng54N.js"),C=require("./getTargetElement-CXAsWuzD.js"),a="toast",p="Toast",Z=`.${a}`,B=`[${S.dataBsDismiss}="${a}"]`,q=`[${b.dataBsToggle}="${a}"]`,r="showing",v="hide",D={animation:!0,autohide:!0,delay:5e3},g=o=>t.to(o,p),L=o=>new E(o),u=t.vo(`show.bs.${a}`),k=t.vo(`shown.bs.${a}`),f=t.vo(`hide.bs.${a}`),I=t.vo(`hidden.bs.${a}`),w=o=>{const{element:e,options:s}=o;t.Zn(e,r),t.yo.clear(e,r),t.q(e,k),s.autohide&&t.yo.set(e,()=>o.hide(),s.delay,a)},T=o=>{const{element:e}=o;t.Zn(e,r),t.Zn(e,h.showClass),t.qn(e,v),t.yo.clear(e,a),t.q(e,I)},Y=o=>{const{element:e,options:s}=o;t.qn(e,r),s.animation?(t.Eo(e),t.ro(e,()=>T(o))):T(o)},_=o=>{const{element:e,options:s}=o;t.yo.set(e,()=>{t.Zn(e,v),t.Eo(e),t.qn(e,h.showClass),t.qn(e,r),s.animation?t.ro(e,()=>w(o)):w(o)},17,r)},x=o=>{const{target:e}=o,s=e&&t.ke(e,q),n=s&&C.getTargetElement(s),i=n&&g(n);i&&(s&&s.tagName==="A"&&o.preventDefault(),i.relatedTarget=s,i.show())},H=o=>{const e=o.target,s=g(e),{type:n,relatedTarget:i}=o;!s||e===i||e.contains(i)||([t.yt,t.ct].includes(n)?t.yo.clear(e,a):t.yo.set(e,()=>s.hide(),s.options.delay,a))};class E extends t.BaseComponent{static selector=Z;static init=L;static getInstance=g;constructor(e,s){super(e,s);const{element:n,options:i}=this;i.animation&&!t.Yn(n,l.fadeClass)?t.qn(n,l.fadeClass):!i.animation&&t.Yn(n,l.fadeClass)&&t.Zn(n,l.fadeClass),this.dismiss=t.Ro(B,n),this.triggers=[...t.de(q,t.d(n))].filter(c=>C.getTargetElement(c)===n),this._toggleEventListeners(!0)}get name(){return p}get defaults(){return D}get isShown(){return t.Yn(this.element,h.showClass)}show=()=>{const{element:e,isShown:s}=this;!e||s||(t.q(e,u),u.defaultPrevented||_(this))};hide=()=>{const{element:e,isShown:s}=this;!e||!s||(t.q(e,f),f.defaultPrevented||Y(this))};_toggleEventListeners=e=>{const s=e?m.E:m.r,{element:n,triggers:i,dismiss:c,options:y,hide:$}=this;c&&s(c,t.mt,$),y.autohide&&[t.ct,t.at,t.yt,t.wt].forEach(d=>s(n,d,H)),i.length&&i.forEach(d=>s(d,t.mt,x))};dispose(){const{element:e,isShown:s}=this;this._toggleEventListeners(),t.yo.clear(e,a),s&&t.Zn(e,h.showClass),super.dispose()}}module.exports=E; +"use strict";const t=require("./base-component-CEXwoid1.js"),h=require("./fadeClass-Co6nOzNJ.js"),d=require("./showClass-D_Ms1FgG.js"),$=require("./dataBsDismiss-CMHF7If_.js"),S=require("./dataBsToggle-Dj-Ng54N.js"),T=require("./getTargetElement-BJtPWRez.js"),D=require("./isDisabled-CST_xG4K.js"),a="toast",C="Toast",Y=`.${a}`,B=`[${$.dataBsDismiss}="${a}"]`,p=`[${S.dataBsToggle}="${a}"]`,r="showing",q="hide",y={animation:!0,autohide:!0,delay:5e3},g=o=>t.to(o,C),k=o=>new v(o),m=t.mo(`show.bs.${a}`),I=t.mo(`shown.bs.${a}`),u=t.mo(`hide.bs.${a}`),L=t.mo(`hidden.bs.${a}`),f=o=>{const{element:e,options:s}=o;t.Yn(e,r),t.ho.clear(e,r),t.q(e,I),s.autohide&&t.ho.set(e,()=>o.hide(),s.delay,a)},w=o=>{const{element:e}=o;t.Yn(e,r),t.Yn(e,d.showClass),t.qn(e,q),t.ho.clear(e,a),t.q(e,L)},Z=o=>{const{element:e,options:s}=o;t.qn(e,r),s.animation?(t.bo(e),t.so(e,()=>w(o))):w(o)},_=o=>{const{element:e,options:s}=o;t.ho.set(e,()=>{t.Yn(e,q),t.bo(e),t.qn(e,d.showClass),t.qn(e,r),s.animation?t.so(e,()=>f(o)):f(o)},17,r)},x=o=>{const{target:e}=o,s=e&&t.ke(e,p),n=s&&T.getTargetElement(s),i=n&&g(n);i&&(s&&s.tagName==="A"&&o.preventDefault(),i.relatedTarget=s,i.show())},A=o=>{const e=o.target,s=g(e),{type:n,relatedTarget:i}=o;!s||e===i||e.contains(i)||([t.wt,t.at].includes(n)?t.ho.clear(e,a):t.ho.set(e,()=>s.hide(),s.options.delay,a))};class v extends t.BaseComponent{static selector=Y;static init=k;static getInstance=g;constructor(e,s){super(e,s);const{element:n,options:i}=this;i.animation&&!t.Zn(n,h.fadeClass)?t.qn(n,h.fadeClass):!i.animation&&t.Zn(n,h.fadeClass)&&t.Yn(n,h.fadeClass),this.dismiss=t.Ro(B,n),this.triggers=[...t.de(p,t.d(n))].filter(c=>T.getTargetElement(c)===n),this._toggleEventListeners(!0)}get name(){return C}get defaults(){return y}get isShown(){return t.Zn(this.element,d.showClass)}show=()=>{const{element:e,isShown:s}=this;!e||s||(t.q(e,m),m.defaultPrevented||_(this))};hide=()=>{const{element:e,isShown:s}=this;!e||!s||(t.q(e,u),u.defaultPrevented||Z(this))};_toggleEventListeners=e=>{const s=e?t.E:t.r,{element:n,triggers:i,dismiss:c,options:E,hide:b}=this;c&&s(c,t.vt,b),E.autohide&&[t.at,t.it,t.wt,t.At].forEach(l=>s(n,l,A)),i.length&&i.forEach(l=>{D.isDisabled(l)||s(l,t.vt,x)})};dispose(){const{element:e,isShown:s}=this;this._toggleEventListeners(),t.ho.clear(e,a),s&&t.Yn(e,d.showClass),super.dispose()}}module.exports=v; //# sourceMappingURL=toast.cjs.map diff --git a/dist/components/toast.cjs.map b/dist/components/toast.cjs.map index 522de57c..1d5ece9b 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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n focusinEvent,\n focusoutEvent,\n getDocument,\n getInstance,\n hasClass,\n mouseclickEvent,\n mouseenterEvent,\n MouseEvent,\n mouseleaveEvent,\n querySelector,\n querySelectorAll,\n reflow,\n removeClass,\n Timer,\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 { ToastEvent, ToastOptions } 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: Element) =>\n getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: Element) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent, ToastEvent>(\n `show.bs.${toastString}`,\n);\nconst shownToastEvent = createCustomEvent, ToastEvent>(\n `shown.bs.${toastString}`,\n);\nconst hideToastEvent = createCustomEvent, ToastEvent>(\n `hide.bs.${toastString}`,\n);\nconst hiddenToastEvent = createCustomEvent, ToastEvent>(\n `hidden.bs.${toastString}`,\n);\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 @preserve\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 as HTMLElement);\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 as HTMLElement);\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 * 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 if @preserve\n if (!self) return;\n // istanbul ignore else @preserve\n if (trigger && trigger.tagName === \"A\") e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\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;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n // istanbul ignore if @preserve: a solid filter is required\n if (\n !self || element === relatedTarget ||\n element.contains(relatedTarget as Node)\n ) return;\n\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// 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 element: HTMLElement;\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: Element | 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)) {\n addClass(element, fadeClass);\n } else if (!options.animation && hasClass(element, fadeClass)) {\n removeClass(element, fadeClass);\n }\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [\n ...querySelectorAll(\n toastToggleSelector,\n getDocument(element),\n ),\n ].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 if @preserve\n if (!element || isShown) return;\n\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) showToast(this);\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n // istanbul ignore if @preserve\n if (!element || !isShown) return;\n\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) hideToast(this);\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 @preserve\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n // istanbul ignore else @preserve\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(\n (e) => action(element, e, interactiveToastHandler),\n );\n }\n // istanbul ignore else @preserve\n if (triggers.length) {\n triggers.forEach((btn) =>\n action(btn, mouseclickEvent, toastClickHandler)\n );\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n this._toggleEventListeners();\n Timer.clear(element, toastString);\n\n if (isShown) removeClass(element, showClass);\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","toastClickHandler","e","target","trigger","closest","getTargetElement","interactiveToastHandler","type","relatedTarget","mouseenterEvent","focusinEvent","BaseComponent","config","hasClass","fadeClass","querySelector","querySelectorAll","getDocument","btn","isShown","add","action","addListener","removeListener","triggers","dismiss","hide","mouseclickEvent","focusoutEvent","mouseleaveEvent"],"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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n focusinEvent,\n focusoutEvent,\n getDocument,\n getInstance,\n hasClass,\n mouseclickEvent,\n mouseenterEvent,\n MouseEvent,\n mouseleaveEvent,\n querySelector,\n querySelectorAll,\n reflow,\n removeClass,\n Timer,\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 isDisabled from \"~/util/isDisabled\";\nimport BaseComponent from \"./base-component\";\nimport { ToastEvent, ToastOptions } 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: Element) =>\n getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: Element) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent, ToastEvent>(\n `show.bs.${toastString}`,\n);\nconst shownToastEvent = createCustomEvent, ToastEvent>(\n `shown.bs.${toastString}`,\n);\nconst hideToastEvent = createCustomEvent, ToastEvent>(\n `hide.bs.${toastString}`,\n);\nconst hiddenToastEvent = createCustomEvent, ToastEvent>(\n `hidden.bs.${toastString}`,\n);\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 @preserve\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 as HTMLElement);\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 as HTMLElement);\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 * 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 if @preserve\n if (!self) return;\n // istanbul ignore else @preserve\n if (trigger && trigger.tagName === \"A\") e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\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;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n // istanbul ignore if @preserve: a solid filter is required\n if (\n !self || element === relatedTarget ||\n element.contains(relatedTarget as Node)\n ) return;\n\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// 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 element: HTMLElement;\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: Element | 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)) {\n addClass(element, fadeClass);\n } else if (!options.animation && hasClass(element, fadeClass)) {\n removeClass(element, fadeClass);\n }\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [\n ...querySelectorAll(\n toastToggleSelector,\n getDocument(element),\n ),\n ].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 if @preserve\n if (!element || isShown) return;\n\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) showToast(this);\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n // istanbul ignore if @preserve\n if (!element || !isShown) return;\n\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) hideToast(this);\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 @preserve\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n // istanbul ignore else @preserve\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(\n (e) => action(element, e, interactiveToastHandler),\n );\n }\n // istanbul ignore else @preserve\n if (triggers.length) {\n triggers.forEach((btn) => {\n if (!isDisabled(btn)) action(btn, mouseclickEvent, toastClickHandler);\n });\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n this._toggleEventListeners();\n Timer.clear(element, toastString);\n\n if (isShown) removeClass(element, showClass);\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","toastClickHandler","e","target","trigger","closest","getTargetElement","interactiveToastHandler","type","relatedTarget","mouseenterEvent","focusinEvent","BaseComponent","config","hasClass","fadeClass","querySelector","querySelectorAll","getDocument","btn","isShown","add","action","addListener","removeListener","triggers","dismiss","hide","mouseclickEvent","focusoutEvent","mouseleaveEvent","isDisabled"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/toast.mjs b/dist/components/toast.mjs index 314e33ab..f8b6b5d4 100644 --- a/dist/components/toast.mjs +++ b/dist/components/toast.mjs @@ -1,51 +1,51 @@ -import { B as x, Y as u, b as l, Z as r, R as H, c as P, d as R, q as d, a6 as S, a7 as Y, g as y, w as Z, y as i, t as A, v as f, e as b, r as B, m as T, p as N } from "./base-component-Jx2aafTJ.mjs"; -import { E as j, r as z } from "./event-listener-CUwvA4j6.mjs"; +import { B as q, t as x, Z as u, b as l, Y as r, R as H, e as P, d as R, q as f, m as p, h as i, f as S, s as b, E as Y, r as Z, v as T, a9 as D, aa as N, w as k, A as j, k as z } from "./base-component-CQAH5ZXF.mjs"; import { f as m } from "./fadeClass-CLIYI_zn.mjs"; import { s as g } from "./showClass-C8hdJfjQ.mjs"; import { d as F } from "./dataBsDismiss-DdNPQYa-.mjs"; import { d as G } from "./dataBsToggle-B84TS15h.mjs"; -import { g as D } from "./getTargetElement-Bv0W3Fir.mjs"; -const a = "toast", k = "Toast", J = `.${a}`, K = `[${F}="${a}"]`, I = `[${G}="${a}"]`, c = "showing", L = "hide", M = { +import { g as y } from "./getTargetElement-v_1VfmtN.mjs"; +import { i as J } from "./isDisabled-bThyhy2g.mjs"; +const a = "toast", B = "Toast", K = `.${a}`, M = `[${F}="${a}"]`, A = `[${G}="${a}"]`, c = "showing", I = "hide", O = { animation: !0, autohide: !0, delay: 5e3 -}, w = (e) => A(e, k), O = (e) => new st(e), v = f( +}, w = (e) => x(e, B), Q = (e) => new et(e), v = p( `show.bs.${a}` -), Q = f( +), U = p( `shown.bs.${a}` -), E = f( +), E = p( `hide.bs.${a}` -), U = f( +), V = p( `hidden.bs.${a}` ), C = (e) => { const { element: t, options: s } = e; - r(t, c), i.clear(t, c), d(t, Q), s.autohide && i.set(t, () => e.hide(), s.delay, a); + r(t, c), i.clear(t, c), f(t, U), s.autohide && i.set(t, () => e.hide(), s.delay, a); }, $ = (e) => { const { element: t } = e; - r(t, c), r(t, g), l(t, L), i.clear(t, a), d(t, U); -}, V = (e) => { - const { element: t, options: s } = e; - l(t, c), s.animation ? (b(t), B(t, () => $(e))) : $(e); + r(t, c), r(t, g), l(t, I), i.clear(t, a), f(t, V); }, W = (e) => { + const { element: t, options: s } = e; + l(t, c), s.animation ? (S(t), b(t, () => $(e))) : $(e); +}, X = (e) => { const { element: t, options: s } = e; i.set( t, () => { - r(t, L), b(t), l(t, g), l(t, c), s.animation ? B(t, () => C(e)) : C(e); + r(t, I), S(t), l(t, g), l(t, c), s.animation ? b(t, () => C(e)) : C(e); }, 17, c ); -}, X = (e) => { - const { target: t } = e, s = t && N(t, I), o = s && D(s), n = o && w(o); - n && (s && s.tagName === "A" && e.preventDefault(), n.relatedTarget = s, n.show()); }, tt = (e) => { + const { target: t } = e, s = t && z(t, A), o = s && y(s), n = o && w(o); + n && (s && s.tagName === "A" && e.preventDefault(), n.relatedTarget = s, n.show()); +}, st = (e) => { const t = e.target, s = w(t), { type: o, relatedTarget: n } = e; - !s || t === n || t.contains(n) || ([y, S].includes(o) ? i.clear(t, a) : i.set(t, () => s.hide(), s.options.delay, a)); + !s || t === n || t.contains(n) || ([k, D].includes(o) ? i.clear(t, a) : i.set(t, () => s.hide(), s.options.delay, a)); }; -class st extends x { - static selector = J; - static init = O; +class et extends q { + static selector = K; + static init = Q; static getInstance = w; /** * @param target the target `.toast` element @@ -54,26 +54,26 @@ class st extends x { constructor(t, s) { super(t, s); const { element: o, options: n } = this; - n.animation && !u(o, m) ? l(o, m) : !n.animation && u(o, m) && r(o, m), this.dismiss = H(K, o), this.triggers = [ + n.animation && !u(o, m) ? l(o, m) : !n.animation && u(o, m) && r(o, m), this.dismiss = H(M, o), this.triggers = [ ...P( - I, + A, R(o) ) ].filter( - (h) => D(h) === o + (h) => y(h) === o ), this._toggleEventListeners(!0); } /** * Returns component name string. */ get name() { - return k; + return B; } /** * Returns component default options. */ get defaults() { - return M; + return O; } /** * Returns *true* when toast is visible. @@ -83,11 +83,11 @@ class st extends x { } show = () => { const { element: t, isShown: s } = this; - !t || s || (d(t, v), v.defaultPrevented || W(this)); + !t || s || (f(t, v), v.defaultPrevented || X(this)); }; hide = () => { const { element: t, isShown: s } = this; - !t || !s || (d(t, E), E.defaultPrevented || V(this)); + !t || !s || (f(t, E), E.defaultPrevented || W(this)); }; /** * Toggles on/off the `click` event listener. @@ -95,12 +95,12 @@ class st extends x { * @param add when `true`, it will add the listener */ _toggleEventListeners = (t) => { - const s = t ? j : z, { element: o, triggers: n, dismiss: h, options: _, hide: q } = this; - h && s(h, T, q), _.autohide && [S, Y, y, Z].forEach( - (p) => s(o, p, tt) - ), n.length && n.forEach( - (p) => s(p, T, X) - ); + const s = t ? Y : Z, { element: o, triggers: n, dismiss: h, options: L, hide: _ } = this; + h && s(h, T, _), L.autohide && [D, N, k, j].forEach( + (d) => s(o, d, st) + ), n.length && n.forEach((d) => { + J(d) || s(d, T, tt); + }); }; dispose() { const { element: t, isShown: s } = this; @@ -108,6 +108,6 @@ class st extends x { } } export { - st as default + et as default }; //# sourceMappingURL=toast.mjs.map diff --git a/dist/components/toast.mjs.map b/dist/components/toast.mjs.map index 48c9cc97..f633adba 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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n focusinEvent,\n focusoutEvent,\n getDocument,\n getInstance,\n hasClass,\n mouseclickEvent,\n mouseenterEvent,\n MouseEvent,\n mouseleaveEvent,\n querySelector,\n querySelectorAll,\n reflow,\n removeClass,\n Timer,\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 { ToastEvent, ToastOptions } 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: Element) =>\n getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: Element) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent, ToastEvent>(\n `show.bs.${toastString}`,\n);\nconst shownToastEvent = createCustomEvent, ToastEvent>(\n `shown.bs.${toastString}`,\n);\nconst hideToastEvent = createCustomEvent, ToastEvent>(\n `hide.bs.${toastString}`,\n);\nconst hiddenToastEvent = createCustomEvent, ToastEvent>(\n `hidden.bs.${toastString}`,\n);\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 @preserve\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 as HTMLElement);\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 as HTMLElement);\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 * 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 if @preserve\n if (!self) return;\n // istanbul ignore else @preserve\n if (trigger && trigger.tagName === \"A\") e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\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;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n // istanbul ignore if @preserve: a solid filter is required\n if (\n !self || element === relatedTarget ||\n element.contains(relatedTarget as Node)\n ) return;\n\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// 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 element: HTMLElement;\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: Element | 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)) {\n addClass(element, fadeClass);\n } else if (!options.animation && hasClass(element, fadeClass)) {\n removeClass(element, fadeClass);\n }\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [\n ...querySelectorAll(\n toastToggleSelector,\n getDocument(element),\n ),\n ].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 if @preserve\n if (!element || isShown) return;\n\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) showToast(this);\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n // istanbul ignore if @preserve\n if (!element || !isShown) return;\n\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) hideToast(this);\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 @preserve\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n // istanbul ignore else @preserve\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(\n (e) => action(element, e, interactiveToastHandler),\n );\n }\n // istanbul ignore else @preserve\n if (triggers.length) {\n triggers.forEach((btn) =>\n action(btn, mouseclickEvent, toastClickHandler)\n );\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n this._toggleEventListeners();\n Timer.clear(element, toastString);\n\n if (isShown) removeClass(element, showClass);\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","toastClickHandler","target","trigger","closest","getTargetElement","interactiveToastHandler","type","relatedTarget","mouseenterEvent","focusinEvent","BaseComponent","config","hasClass","fadeClass","querySelector","querySelectorAll","getDocument","btn","isShown","add","action","addListener","removeListener","triggers","dismiss","hide","mouseclickEvent","focusoutEvent","mouseleaveEvent","e"],"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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n focusinEvent,\n focusoutEvent,\n getDocument,\n getInstance,\n hasClass,\n mouseclickEvent,\n mouseenterEvent,\n MouseEvent,\n mouseleaveEvent,\n querySelector,\n querySelectorAll,\n reflow,\n removeClass,\n Timer,\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 isDisabled from \"~/util/isDisabled\";\nimport BaseComponent from \"./base-component\";\nimport { ToastEvent, ToastOptions } 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: Element) =>\n getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: Element) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent, ToastEvent>(\n `show.bs.${toastString}`,\n);\nconst shownToastEvent = createCustomEvent, ToastEvent>(\n `shown.bs.${toastString}`,\n);\nconst hideToastEvent = createCustomEvent, ToastEvent>(\n `hide.bs.${toastString}`,\n);\nconst hiddenToastEvent = createCustomEvent, ToastEvent>(\n `hidden.bs.${toastString}`,\n);\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 @preserve\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 as HTMLElement);\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 as HTMLElement);\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 * 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 if @preserve\n if (!self) return;\n // istanbul ignore else @preserve\n if (trigger && trigger.tagName === \"A\") e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\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;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n // istanbul ignore if @preserve: a solid filter is required\n if (\n !self || element === relatedTarget ||\n element.contains(relatedTarget as Node)\n ) return;\n\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// 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 element: HTMLElement;\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: Element | 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)) {\n addClass(element, fadeClass);\n } else if (!options.animation && hasClass(element, fadeClass)) {\n removeClass(element, fadeClass);\n }\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [\n ...querySelectorAll(\n toastToggleSelector,\n getDocument(element),\n ),\n ].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 if @preserve\n if (!element || isShown) return;\n\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) showToast(this);\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n // istanbul ignore if @preserve\n if (!element || !isShown) return;\n\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) hideToast(this);\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 @preserve\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n // istanbul ignore else @preserve\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(\n (e) => action(element, e, interactiveToastHandler),\n );\n }\n // istanbul ignore else @preserve\n if (triggers.length) {\n triggers.forEach((btn) => {\n if (!isDisabled(btn)) action(btn, mouseclickEvent, toastClickHandler);\n });\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n this._toggleEventListeners();\n Timer.clear(element, toastString);\n\n if (isShown) removeClass(element, showClass);\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","toastClickHandler","target","trigger","closest","getTargetElement","interactiveToastHandler","type","relatedTarget","mouseenterEvent","focusinEvent","BaseComponent","config","hasClass","fadeClass","querySelector","querySelectorAll","getDocument","btn","isShown","add","action","addListener","removeListener","triggers","dismiss","hide","mouseclickEvent","focusoutEvent","mouseleaveEvent","e","isDisabled"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/tooltip-Cxy40RjE.mjs b/dist/components/tooltip-ClBo4cww.mjs similarity index 59% rename from dist/components/tooltip-Cxy40RjE.mjs rename to dist/components/tooltip-ClBo4cww.mjs index abfc0eaf..22dc2c3c 100644 --- a/dist/components/tooltip-Cxy40RjE.mjs +++ b/dist/components/tooltip-ClBo4cww.mjs @@ -1,9 +1,8 @@ -import { U as xt, a8 as Dt, F as ct, S as jt, J as q, K as zt, a9 as It, f as C, v as Y, aa as Q, q as U, A as qt, ab as Yt, ac as Qt, ad as Ut, ae as Vt, a3 as j, Q as st, R as et, b as N, Y as I, af as Zt, ag as Gt, ah as Jt, d as ft, B as Kt, t as Ht, ai as Xt, N as te, H as St, a2 as ee, I as oe, y as L, r as ht, Z as se, aj as ie, P as ne, g as ae, w as le, l as Nt, m as dt, L as re, a6 as ce, a7 as he, ak as de, p as gt, j as pe, X as Lt, al as Wt, h as At } from "./base-component-Jx2aafTJ.mjs"; -import { E as mt, r as ut } from "./event-listener-CUwvA4j6.mjs"; -import { E as fe } from "./index-DinhT6Jq.mjs"; +import { U as xt, ab as Dt, F as ct, S as jt, K as I, L as zt, ac as qt, x as C, m as Q, ad as Y, q as U, y as It, ae as Qt, af as Yt, ag as Ut, ah as Zt, a5 as j, Q as st, R as et, b as N, Z as q, ai as Gt, aj as Jt, ak as Kt, d as ft, B as Vt, t as Ht, al as Xt, N as te, J as St, l as ee, a0 as Nt, a4 as oe, M as se, h as A, am as At, k as gt, E as mt, s as ht, g as Lt, i as Wt, Y as ie, an as ne, r as ut, P as ae, w as le, A as re, v as dt, T as ce, a9 as he, aa as de, ao as pe } from "./base-component-CQAH5ZXF.mjs"; +import { v as fe } from "./index-DXF8ibvt.mjs"; import { d as me } from "./dataBsToggle-B84TS15h.mjs"; import { s as pt } from "./showClass-C8hdJfjQ.mjs"; -import { a as ue, h as ge, m as bt, o as vt, r as be } from "./popupContainer-CgZsH2ur.mjs"; +import { h as ue, a as ge, m as bt, o as vt, r as be } from "./popupContainer-BvxACdvn.mjs"; import { f as $t } from "./fadeClass-CLIYI_zn.mjs"; const ot = "popover", ve = "Popover", v = "tooltip", $e = (s) => { const t = s === v, e = t ? `${s}-inner` : `${s}-body`, o = t ? "" : `

`, n = `
`, a = `
`; @@ -26,19 +25,19 @@ const ot = "popover", ve = "Popover", v = "tooltip", $e = (s) => { }); const { offsetWidth: m, offsetHeight: f } = o, { clientWidth: u, clientHeight: E, offsetWidth: O } = jt(e); let { placement: i } = h; - const { clientWidth: g, offsetWidth: V } = n, d = q( + const { clientWidth: g, offsetWidth: Z } = n, d = I( n, "position" - ) === "fixed", Z = Math.abs(d ? g - V : u - O), x = p && d ? Z : 0, w = u - (p ? 0 : Z) - 1, it = s._observer.getEntry(e), { + ) === "fixed", G = Math.abs(d ? g - Z : u - O), x = p && d ? G : 0, w = u - (p ? 0 : G) - 1, it = s._observer.getEntry(e), { width: l, height: b, - left: G, - right: Ft, - top: J + left: J, + right: Mt, + top: K } = it?.boundingClientRect || zt(e, !0), { - x: K, - y: A - } = It( + x: V, + y: W + } = qt( e, a, { x: $, y: c } @@ -49,23 +48,23 @@ const ot = "popover", ve = "Popover", v = "tooltip", $e = (s) => { right: "", bottom: "" }); - let H = 0, _ = "", T = 0, nt = "", B = "", X = "", at = ""; + let H = 0, R = "", T = 0, nt = "", B = "", X = "", at = ""; const S = r.offsetWidth || 0, y = r.offsetHeight || 0, lt = S / 2; - let k = J - f - y < 0, F = J + f + b + y >= E, M = G - m - S < x, D = G + m + l + S >= w; + let _ = K - f - y < 0, M = K + f + b + y >= E, F = J - m - S < x, D = J + m + l + S >= w; const tt = ["left", "right"], rt = ["top", "bottom"]; - k = tt.includes(i) ? J + b / 2 - f / 2 - y < 0 : k, F = tt.includes(i) ? J + f / 2 + b / 2 + y >= E : F, M = rt.includes(i) ? G + l / 2 - m / 2 < x : M, D = rt.includes(i) ? G + m / 2 + l / 2 >= w : D, i = tt.includes(i) && M && D ? "top" : i, i = i === "top" && k ? "bottom" : i, i = i === "bottom" && F ? "top" : i, i = i === "left" && M ? "right" : i, i = i === "right" && D ? "left" : i, o.className.includes(i) || (o.className = o.className.replace( + _ = tt.includes(i) ? K + b / 2 - f / 2 - y < 0 : _, M = tt.includes(i) ? K + f / 2 + b / 2 + y >= E : M, F = rt.includes(i) ? J + l / 2 - m / 2 < x : F, D = rt.includes(i) ? J + m / 2 + l / 2 >= w : D, i = tt.includes(i) && F && D ? "top" : i, i = i === "top" && _ ? "bottom" : i, i = i === "bottom" && M ? "top" : i, i = i === "left" && F ? "right" : i, i = i === "right" && D ? "left" : i, o.className.includes(i) || (o.className = o.className.replace( t, Bt[i] - )), tt.includes(i) ? (i === "left" ? T = K - m - S : T = K + l + S, k && F ? (H = 0, _ = 0, B = A + b / 2 - y / 2) : k ? (H = A, _ = "", B = b / 2 - S) : F ? (H = A - f + b, _ = "", B = f - b / 2 - S) : (H = A - f / 2 + b / 2, B = f / 2 - y / 2)) : rt.includes(i) && (i === "top" ? H = A - f - y : H = A + b + y, M ? (T = 0, X = K + l / 2 - lt) : D ? (T = "auto", nt = 0, at = l / 2 + w - Ft - lt) : (T = K - m / 2 + l / 2, X = m / 2 - lt)), ct(o, { + )), tt.includes(i) ? (i === "left" ? T = V - m - S : T = V + l + S, _ && M ? (H = 0, R = 0, B = W + b / 2 - y / 2) : _ ? (H = W, R = "", B = b / 2 - S) : M ? (H = W - f + b, R = "", B = f - b / 2 - S) : (H = W - f / 2 + b / 2, B = f / 2 - y / 2)) : rt.includes(i) && (i === "top" ? H = W - f - y : H = W + b + y, F ? (T = 0, X = V + l / 2 - lt) : D ? (T = "auto", nt = 0, at = l / 2 + w - Mt - lt) : (T = V - m / 2 + l / 2, X = m / 2 - lt)), ct(o, { top: `${H}px`, - bottom: _ === "" ? "" : `${_}px`, + bottom: R === "" ? "" : `${R}px`, left: T === "auto" ? T : `${T}px`, right: nt !== "" ? `${nt}px` : "" }), C(r) && (B !== "" && (r.style.top = `${B}px`), X !== "" ? r.style.left = `${X}px` : at !== "" && (r.style.right = `${at}px`)); - const Mt = Y( - `updated.bs.${Q(s.name)}` + const Ft = Q( + `updated.bs.${Y(s.name)}` ); - U(e, Mt); + U(e, Ft); }); }, Tt = { template: $e(v), @@ -80,15 +79,15 @@ const ot = "popover", ve = "Popover", v = "tooltip", $e = (s) => { content: "", dismissible: !1, btnClose: "" -}, Ot = "data-original-title", W = "Tooltip", P = (s, t, e) => { - if (qt(t) && t.length) { +}, Ot = "data-original-title", L = "Tooltip", P = (s, t, e) => { + if (It(t) && t.length) { let o = t.trim(); - Yt(e) && (o = e(o)); + Qt(e) && (o = e(o)); const a = new DOMParser().parseFromString(o, "text/html"); s.append(...a.body.childNodes); - } else C(t) ? s.append(t) : (Qt(t) || Ut(t) && t.every(Vt)) && s.append(...t); + } else C(t) ? s.append(t) : (Yt(t) || Ut(t) && t.every(Zt)) && s.append(...t); }, we = (s) => { - const t = s.name === W, { id: e, element: o, options: n } = s, { + const t = s.name === L, { id: e, element: o, options: n } = s, { title: a, placement: h, template: r, @@ -101,19 +100,19 @@ const ot = "popover", ve = "Popover", v = "tooltip", $e = (s) => { } = n, E = t ? v : ot, O = { ...Bt }; let i = [], g = []; xt(o) && (O.left = "end", O.right = "start"); - const V = `bs-${E}-${O[h]}`; - let R; + const Z = `bs-${E}-${O[h]}`; + let k; if (C(r)) - R = r; + k = r; else { const l = j("div"); - P(l, r, c), R = l.firstChild; + P(l, r, c), k = l.firstChild; } - if (!C(R)) return; - s.tooltip = R.cloneNode(!0); + if (!C(k)) return; + s.tooltip = k.cloneNode(!0); const { tooltip: d } = s; st(d, "id", e), st(d, "role", v); - const Z = t ? `${v}-inner` : `${ot}-body`, x = t ? null : et(`.${ot}-header`, d), w = et(`.${Z}`, d); + const G = t ? `${v}-inner` : `${ot}-body`, x = t ? null : et(`.${ot}-header`, d), w = et(`.${G}`, d); s.arrow = et( `.${E}-arrow`, d @@ -143,59 +142,59 @@ const ot = "popover", ve = "Popover", v = "tooltip", $e = (s) => { const l = j("div"); P(l, u, c), g = [...g, l.firstChild]; } - t ? a && w && P(w, a, c) : (a && x && P(x, i, c), f && w && P(w, g, c), s.btn = et(".btn-close", d) || void 0), N(d, "position-absolute"), N(it, "position-absolute"), I(d, E) || N(d, E), p && !I(d, $t) && N(d, $t), $ && !I(d, $) && N(d, $), I(d, V) || N(d, V); + t ? a && w && P(w, a, c) : (a && x && P(x, i, c), f && w && P(w, g, c), s.btn = et(".btn-close", d) || void 0), N(d, "position-absolute"), N(it, "position-absolute"), q(d, E) || N(d, E), p && !q(d, $t) && N(d, $t), $ && !q(d, $) && N(d, $), q(d, Z) || N(d, Z); }, Te = (s) => { const t = ["HTML", "BODY"], e = []; let { parentNode: o } = s; for (; o && !t.includes(o.nodeName); ) - o = Zt(o), Gt(o) || Jt(o) || e.push(o); - return e.find((n, a) => (q(n, "position") !== "relative" || q(n, "position") === "relative" && n.offsetHeight !== n.scrollHeight) && e.slice(a + 1).every( - (h) => q(h, "position") === "static" + o = Gt(o), Jt(o) || Kt(o) || e.push(o); + return e.find((n, a) => (I(n, "position") !== "relative" || I(n, "position") === "relative" && n.offsetHeight !== n.scrollHeight) && e.slice(a + 1).every( + (h) => I(h, "position") === "static" ) ? n : null) || ft(s).body; -}, ye = `[${me}="${v}"],[data-tip="${v}"]`, Rt = "title"; -let yt = (s) => Ht(s, W); +}, ye = `[${me}="${v}"],[data-tip="${v}"]`, kt = "title"; +let yt = (s) => Ht(s, L); const Pe = (s) => new xe(s), Ce = (s) => { const { element: t, tooltip: e, container: o } = s; - Lt(t, Wt), be( + Nt(t, At), be( e, o ); }, z = (s) => { const { tooltip: t, container: e } = s; - return t && ge(t, e); + return t && ue(t, e); }, Ee = (s, t) => { const { element: e } = s; - s._toggleEventListeners(), St(e, Ot) && s.name === W && kt(s), t && t(); -}, _t = (s, t) => { + s._toggleEventListeners(), St(e, Ot) && s.name === L && _t(s), t && t(); +}, Rt = (s, t) => { const e = t ? mt : ut, { element: o } = s; e( ft(o), - Nt, + Wt, s.handleTouch, - At + Lt ); }, Pt = (s) => { - const { element: t } = s, e = Y( - `shown.bs.${Q(s.name)}` + const { element: t } = s, e = Q( + `shown.bs.${Y(s.name)}` ); - _t(s, !0), U(t, e), L.clear(t, "in"); + Rt(s, !0), U(t, e), A.clear(t, "in"); }, Ct = (s) => { - const { element: t } = s, e = Y( - `hidden.bs.${Q(s.name)}` + const { element: t } = s, e = Q( + `hidden.bs.${Y(s.name)}` ); - _t(s), Ce(s), U(t, e), L.clear(t, "out"); + Rt(s), Ce(s), U(t, e), A.clear(t, "out"); }, Et = (s, t) => { const e = t ? mt : ut, { element: o, tooltip: n } = s, a = gt(o, `.${bt}`), h = gt(o, `.${vt}`); t ? [o, n].forEach((r) => s._observer.observe(r)) : s._observer.disconnect(), a && e(a, `hide.bs.${bt}`, s.handleHide), h && e(h, `hide.bs.${vt}`, s.handleHide); -}, kt = (s, t) => { - const e = [Ot, Rt], { element: o } = s; +}, _t = (s, t) => { + const e = [Ot, kt], { element: o } = s; st( o, e[t ? 0 : 1], - t || pe(o, e[0]) || "" - ), Lt(o, e[t ? 1 : 0]); + t || ee(o, e[0]) || "" + ), Nt(o, e[t ? 1 : 0]); }; -class xe extends Kt { +class xe extends Vt { static selector = ye; static init = Pe; static getInstance = yt; @@ -206,24 +205,22 @@ class xe extends Kt { */ constructor(t, e) { super(t, e); - const { element: o } = this, n = this.name === W, a = n ? v : ot, h = n ? W : ve; + const { element: o } = this, n = this.name === L, a = n ? v : ot, h = n ? L : ve; yt = (c) => Ht(c, h), this.enabled = !0, this.id = `${a}-${Xt(o, a)}`; const { options: r } = this; if (!r.title && n || !n && !r.content) return; - te(Tt, { titleAttr: "" }), St(o, Rt) && n && typeof r.title == "string" && kt(this, r.title); + te(Tt, { titleAttr: "" }), St(o, kt) && n && typeof r.title == "string" && _t(this, r.title); const p = Te(o), $ = ["sticky", "fixed", "relative"].some( - (c) => q(p, "position") === c - ) ? p : ee(o); - this.container = p, this.offsetParent = $, we(this), this.tooltip && (this._observer = new fe((c) => { - c.some((m) => m.isVisible) && this.update(); - }), this._toggleEventListeners(!0)); + (c) => I(p, "position") === c + ) ? p : oe(o); + this.container = p, this.offsetParent = $, we(this), this.tooltip && (this._observer = new fe(() => this.update()), this._toggleEventListeners(!0)); } /** * Returns component name string. */ get name() { - return W; + return L; } /** * Returns component default options. @@ -231,17 +228,17 @@ class xe extends Kt { get defaults() { return Tt; } - handleFocus = () => oe(this.element); + handleFocus = () => se(this.element); handleShow = () => this.show(); show() { - const { options: t, tooltip: e, element: o, container: n, id: a } = this, { animation: h } = t, r = L.get(o, "out"); - L.clear(o, "out"), e && !r && !z(this) && L.set( + const { options: t, tooltip: e, element: o, container: n, id: a } = this, { animation: h } = t, r = A.get(o, "out"); + A.clear(o, "out"), e && !r && !z(this) && A.set( o, () => { - const p = Y( - `show.bs.${Q(this.name)}` + const p = Q( + `show.bs.${Y(this.name)}` ); - U(o, p), p.defaultPrevented || (ue(e, n), st(o, Wt, `#${a}`), this.update(), Et(this, !0), I(e, pt) || N(e, pt), h ? ht(e, () => Pt(this)) : Pt(this)); + U(o, p), p.defaultPrevented || (ge(e, n), st(o, At, `#${a}`), this.update(), Et(this, !0), q(e, pt) || N(e, pt), h ? ht(e, () => Pt(this)) : Pt(this)); }, 17, "in" @@ -250,13 +247,13 @@ class xe extends Kt { handleHide = () => this.hide(); hide() { const { options: t, tooltip: e, element: o } = this, { animation: n, delay: a } = t; - L.clear(o, "in"), e && z(this) && L.set( + A.clear(o, "in"), e && z(this) && A.set( o, () => { - const h = Y( - `hide.bs.${Q(this.name)}` + const h = Q( + `hide.bs.${Y(this.name)}` ); - U(o, h), h.defaultPrevented || (this.update(), se(e, pt), Et(this), n ? ht(e, () => Ct(this)) : Ct(this)); + U(o, h), h.defaultPrevented || (this.update(), ie(e, pt), Et(this), n ? ht(e, () => Ct(this)) : Ct(this)); }, a + 17, "out" @@ -296,14 +293,14 @@ class xe extends Kt { * @param add when `true`, event listeners are added */ _toggleEventListeners = (t) => { - const e = t ? mt : ut, { element: o, options: n, btn: a } = this, { trigger: h } = n, p = !!(this.name !== W && n.dismissible); + const e = t ? mt : ut, { element: o, options: n, btn: a } = this, { trigger: h } = n, p = !!(this.name !== L && n.dismissible); h.includes("manual") || (this.enabled = !!t, h.split(" ").forEach((c) => { - c === ie ? (e(o, ne, this.handleShow), e(o, ae, this.handleShow), p || (e(o, le, this.handleHide), e( + c === ne ? (e(o, ae, this.handleShow), e(o, le, this.handleShow), p || (e(o, re, this.handleHide), e( ft(o), - Nt, + Wt, this.handleTouch, - At - ))) : c === dt ? e(o, c, p ? this.handleShow : this.toggle) : c === re && (e(o, ce, this.handleShow), p || e(o, he, this.handleHide), de() && e(o, dt, this.handleFocus)), p && a && e(a, dt, this.handleHide); + Lt + ))) : c === dt ? e(o, c, p ? this.handleShow : this.toggle) : c === ce && (e(o, he, this.handleShow), p || e(o, de, this.handleHide), pe() && e(o, dt, this.handleFocus)), p && a && e(a, dt, this.handleHide); })); }; dispose() { @@ -316,10 +313,10 @@ class xe extends Kt { } export { xe as T, - ot as a, + ve as a, $e as g, - ve as p, + ot as p, wt as s, Tt as t }; -//# sourceMappingURL=tooltip-Cxy40RjE.mjs.map +//# sourceMappingURL=tooltip-ClBo4cww.mjs.map diff --git a/dist/components/tooltip-ClBo4cww.mjs.map b/dist/components/tooltip-ClBo4cww.mjs.map new file mode 100644 index 00000000..ee3db536 --- /dev/null +++ b/dist/components/tooltip-ClBo4cww.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"tooltip-ClBo4cww.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 `
${\n header + arrow + body\n }
`;\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 createCustomEvent,\n dispatchEvent,\n getBoundingClientRect,\n getDocumentElement,\n getElementStyle,\n getNodeScroll,\n getRectRelativeToOffsetParent,\n isHTMLElement,\n isRTL,\n setElementStyle,\n toLowerCase,\n} from \"@thednp/shorty\";\n\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: Tooltip) => {\n requestAnimationFrame(() => {\n const tipClasses = /\\b(top|bottom|start|end)+/;\n const { element, tooltip, container, offsetParent, options, arrow } = self;\n\n // istanbul ignore if @preserve\n if (!tooltip) return;\n const RTL = isRTL(element);\n const { x: scrollLeft, y: scrollTop } = getNodeScroll(offsetParent);\n\n // reset tooltip style (top: 0, left: 0 works best)\n setElementStyle(tooltip, {\n top: \"\",\n left: \"\",\n right: \"\",\n bottom: \"\",\n });\n const { offsetWidth: tipWidth, offsetHeight: tipHeight } = tooltip;\n const { clientWidth: htmlcw, clientHeight: htmlch, offsetWidth: htmlow } =\n getDocumentElement(element);\n let { placement } = options;\n const { clientWidth: parentCWidth, offsetWidth: parentOWidth } = container;\n const parentPosition = getElementStyle(\n container,\n \"position\",\n );\n const fixedParent = parentPosition === \"fixed\";\n const scrollbarWidth = fixedParent\n ? Math.abs(parentCWidth - parentOWidth)\n : Math.abs(htmlcw - htmlow);\n const leftBoundry = RTL && fixedParent\n ? /* istanbul ignore next @preserve */ scrollbarWidth\n : 0;\n const rightBoundry = htmlcw - (!RTL ? scrollbarWidth : 0) - 1;\n\n // reuse observer entry bounding box\n const observerEntry = self._observer.getEntry(element);\n const {\n width: elemWidth,\n height: elemHeight,\n left: elemRectLeft,\n right: elemRectRight,\n top: elemRectTop,\n } = observerEntry?.boundingClientRect ||\n getBoundingClientRect(element, true);\n\n const {\n x: elemOffsetLeft,\n y: elemOffsetTop,\n } = getRectRelativeToOffsetParent(\n element,\n offsetParent,\n { x: scrollLeft, y: scrollTop },\n );\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.offsetWidth || 0;\n const arrowHeight = arrow.offsetHeight || 0;\n const arrowAdjust = arrowWidth / 2;\n\n // check placement\n let topExceed = elemRectTop - tipHeight - arrowHeight < 0;\n let bottomExceed =\n elemRectTop + tipHeight + elemHeight + arrowHeight >= htmlch;\n let leftExceed = elemRectLeft - tipWidth - arrowWidth < leftBoundry;\n let rightExceed =\n 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)\n ? elemRectLeft + elemWidth / 2 - tipWidth / 2 < leftBoundry\n : 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\n ? \"top\"\n : 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\n ? \"left\"\n // istanbul ignore next @preserve\n : placement;\n\n // update tooltip/popover class\n // istanbul ignore else @preserve\n if (!tooltip.className.includes(placement)) {\n tooltip.className = tooltip.className.replace(\n tipClasses,\n tipClassPositions[placement],\n );\n }\n\n // compute tooltip / popover coordinates\n // istanbul ignore else @preserve\n if (horizontals.includes(placement)) {\n // secondary|side positions\n if (placement === \"left\") {\n // LEFT\n leftPosition = elemOffsetLeft - tipWidth - arrowWidth;\n } else {\n // RIGHT\n leftPosition = elemOffsetLeft + elemWidth + arrowWidth;\n }\n\n // adjust top and arrow\n if (topExceed && bottomExceed) {\n topPosition = 0;\n bottomPosition = 0;\n arrowTop = elemOffsetTop + elemHeight / 2 - arrowHeight / 2;\n } else if (topExceed) {\n topPosition = elemOffsetTop;\n bottomPosition = \"\";\n arrowTop = elemHeight / 2 - arrowWidth;\n } else if (bottomExceed) {\n topPosition = elemOffsetTop - tipHeight + elemHeight;\n bottomPosition = \"\";\n arrowTop = tipHeight - elemHeight / 2 - arrowWidth;\n } else {\n topPosition = elemOffsetTop - tipHeight / 2 + elemHeight / 2;\n arrowTop = tipHeight / 2 - arrowHeight / 2;\n }\n } else if (verticals.includes(placement)) {\n if (placement === \"top\") {\n topPosition = elemOffsetTop - tipHeight - arrowHeight;\n } else {\n // BOTTOM\n topPosition = elemOffsetTop + elemHeight + arrowHeight;\n }\n\n // adjust left | right and also the arrow\n if (leftExceed) {\n leftPosition = 0;\n arrowLeft = elemOffsetLeft + elemWidth / 2 - arrowAdjust;\n } else if (rightExceed) {\n leftPosition = \"auto\";\n rightPosition = 0;\n arrowRight = elemWidth / 2 + rightBoundry - elemRectRight - arrowAdjust;\n } else {\n leftPosition = elemOffsetLeft - 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 @preserve\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<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `updated.bs.${toLowerCase(self.name)}`,\n );\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 {\n isArray,\n isFunction,\n isHTMLElement,\n isNode,\n isNodeList,\n isString,\n} 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 = (\n element: HTMLElement,\n content: Node[] | Node | string,\n sanitizeFn?: (s: string) => string,\n) => {\n // istanbul ignore else @preserve\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 (\n isNodeList(content) || (isArray(content) && content.every(isNode))\n ) {\n element.append(...[...content]);\n }\n};\nexport default setHtml;\n","import {\n addClass,\n createElement,\n hasClass,\n isHTMLElement,\n isRTL,\n querySelector,\n setAttribute,\n} 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 {\n title,\n placement,\n template,\n animation,\n customClass,\n sanitizeFn,\n dismissible,\n content,\n btnClose,\n } = 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 /* istanbul ignore if @preserve */\n if (!isHTMLElement(tooltipTemplate)) return;\n\n // set popover markup\n self.tooltip = tooltipTemplate.cloneNode(true) as HTMLElement;\n const { tooltip } = self;\n\n // set id and role attributes\n setAttribute(tooltip, \"id\", id);\n setAttribute(tooltip, \"role\", tooltipString);\n\n const bodyClass = isTooltip\n ? `${tooltipString}-inner`\n : `${popoverString}-body`;\n const tooltipHeader = isTooltip\n ? null\n : querySelector(`.${popoverString}-header`, tooltip);\n const tooltipBody = querySelector(`.${bodyClass}`, tooltip);\n\n // set arrow and enable access for styleTip\n self.arrow = querySelector(\n `.${tipString}-arrow`,\n tooltip,\n ) 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)) {\n 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 @preserve\n if (tooltipHeader) tooltipHeader.remove();\n if (isHTMLElement(btnClose)) {\n 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 @preserve\n if (!isTooltip) {\n // istanbul ignore else @preserve\n if (title && tooltipHeader) {\n setHtml(tooltipHeader, titleParts, sanitizeFn);\n }\n // istanbul ignore else @preserve\n if (content && tooltipBody) {\n setHtml(tooltipBody, contentParts, sanitizeFn);\n }\n // set btn\n self.btn = querySelector(\".btn-close\", tooltip) ||\n undefined;\n } else if (title && tooltipBody) setHtml(tooltipBody, title, sanitizeFn);\n\n // Bootstrap 5.2.x\n addClass(tooltip, \"position-absolute\");\n addClass(arrow, \"position-absolute\");\n\n // set popover animation and placement\n // istanbul ignore else @preserve\n if (!hasClass(tooltip, tipString)) addClass(tooltip, tipString);\n // istanbul ignore else @preserve\n if (animation && !hasClass(tooltip, fadeClass)) {\n addClass(tooltip, fadeClass);\n }\n // istanbul ignore else @preserve\n if (customClass && !hasClass(tooltip, customClass)) {\n addClass(tooltip, customClass);\n }\n // istanbul ignore else @preserve\n if (!hasClass(tooltip, placementClass)) addClass(tooltip, placementClass);\n};\n\nexport default createTip;\n","import {\n getDocument,\n getElementStyle,\n getParentNode,\n isShadowRoot,\n isTableElement,\n} 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: Element) => {\n const majorBlockTags = [\"HTML\", \"BODY\"];\n const containers: HTMLElement[] = [];\n let { parentNode } = element;\n\n while (parentNode && !majorBlockTags.includes(parentNode.nodeName)) {\n parentNode = getParentNode(parentNode) as HTMLElement;\n // istanbul ignore else @preserve\n if (!(isShadowRoot(parentNode) || isTableElement(parentNode))) {\n containers.push(parentNode as HTMLElement);\n }\n }\n\n return (\n containers.find((c, i) => {\n if (\n ((getElementStyle(c, \"position\") !== \"relative\" ||\n getElementStyle(c, \"position\") === \"relative\" &&\n c.offsetHeight !== c.scrollHeight) &&\n containers.slice(i + 1).every((r) =>\n getElementStyle(r, \"position\") === \"static\"\n ))\n ) {\n return c;\n }\n return null;\n }) ||\n /* istanbul ignore next: optional guard */\n getDocument(element).body\n );\n};\n\nexport default getElementContainer;\n","/* Native JavaScript for Bootstrap 5 | Tooltip\n---------------------------------------------- */\nimport {\n addClass,\n ariaDescribedBy,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n focus,\n focusEvent,\n focusinEvent,\n focusoutEvent,\n getAttribute,\n getDocument,\n getElementStyle,\n getInstance,\n getUID,\n getWindow,\n hasAttribute,\n hasClass,\n isApple,\n mouseclickEvent,\n mousedownEvent,\n mouseenterEvent,\n mousehoverEvent,\n mouseleaveEvent,\n ObjectAssign,\n passiveHandler,\n removeAttribute,\n removeClass,\n setAttribute,\n Timer,\n toLowerCase,\n TouchEvent,\n touchstartEvent,\n} from \"@thednp/shorty\";\n\nimport { addListener, removeListener } from \"@thednp/event-listener\";\nimport PositionObserver from \"@thednp/position-observer\";\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, hasPopup, removePopup } from \"~/util/popupContainer\";\nimport getElementContainer from \"~/util/getElementContainer\";\nimport tooltipDefaults from \"~/util/tooltipDefaults\";\nimport BaseComponent from \"./base-component\";\nimport type { TooltipEvent, TooltipOptions } from \"~/interface/tooltip\";\nimport type { PopoverEvent, PopoverOptions } from \"~/interface/popover\";\n\n// TOOLTIP PRIVATE GC\n// ==================\nconst tooltipSelector =\n `[${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 */\nlet getTooltipInstance = (element: Element) =>\n getInstance(element, tooltipComponent);\n\n/**\n * A `Tooltip` initialization callback.\n */\nconst tooltipInitCallback = (element: Element) => 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 } = self;\n removeAttribute(element, ariaDescribedBy);\n removePopup(\n tooltip,\n container,\n );\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 } = self;\n\n return tooltip &&\n hasPopup(tooltip, container);\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 @preserve\n if (\n hasAttribute(element, dataOriginalTitle) && self.name === tooltipComponent\n ) {\n toggleTooltipTitle(self);\n }\n // istanbul ignore else @preserve\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(\n getDocument(element),\n touchstartEvent,\n self.handleTouch,\n 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<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `shown.bs.${toLowerCase(self.name)}`,\n );\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<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `hidden.bs.${toLowerCase(self.name)}`,\n );\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, tooltip } = self;\n const parentModal = closest(element, `.${modalString}`);\n const parentOffcanvas = closest(element, `.${offcanvasString}`);\n\n if (add) {\n [element, tooltip]\n .forEach((target) => self._observer.observe(target));\n } else self._observer.disconnect();\n\n // dismiss tooltips inside modal / offcanvas\n if (parentModal) {\n action(parentModal, `hide.bs.${modalString}`, self.handleHide);\n }\n if (parentOffcanvas) {\n action(parentOffcanvas, `hide.bs.${offcanvasString}`, self.handleHide);\n }\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 ||\n getAttribute(element, titleAtt[0]) ||\n // istanbul ignore next @preserve\n \"\",\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 element: Element & HTMLOrSVGElement;\n declare options: TooltipOptions;\n declare btn?: HTMLElement;\n declare tooltip: HTMLElement;\n declare container: HTMLElement;\n declare offsetParent: Element | Window;\n declare arrow: HTMLElement;\n declare enabled: boolean;\n declare id: string;\n declare _observer: PositionObserver;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: Element | 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 @preserve: this is to set Popover too\n getTooltipInstance = (elem: Element) =>\n 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 // istanbul ignore else @preserve\n if (((!options.title && isTooltip) || (!isTooltip && !options.content))) {\n return;\n }\n\n // reset default options\n ObjectAssign(tooltipDefaults, { titleAttr: \"\" });\n\n // set title attributes and add event listeners\n // istanbul ignore else @preserve\n if (\n hasAttribute(element, titleAttr) && isTooltip &&\n typeof options.title === \"string\"\n ) {\n toggleTooltipTitle(this, options.title);\n }\n\n // set containers\n const container = getElementContainer(element);\n const offsetParent = [\"sticky\", \"fixed\", \"relative\"].some(\n (position) =>\n getElementStyle(container, \"position\") ===\n position,\n )\n ? container\n : getWindow(element);\n\n this.container = container;\n this.offsetParent = offsetParent;\n\n // create tooltip here\n createTip(this);\n\n /* istanbul ignore if @preserve */\n if (!this.tooltip) return;\n\n // create observer\n this._observer = new PositionObserver(() => this.update());\n\n // attach events\n this._toggleEventListeners(true);\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 // istanbul ignore next @preserve - impossible to test without Apple device\n handleFocus = () => focus(this.element as HTMLElement);\n /** Shows the tooltip. */\n handleShow = () => this.show();\n show() {\n const { options, tooltip, element, container, id } = this;\n const { animation } = options;\n const outTimer = Timer.get(element, \"out\");\n\n Timer.clear(element, \"out\");\n\n if (tooltip && !outTimer && !hasTip(this)) {\n Timer.set(\n element,\n () => {\n const showTooltipEvent = createCustomEvent<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `show.bs.${toLowerCase(this.name)}`,\n );\n dispatchEvent(element, showTooltipEvent);\n\n // istanbul ignore else @preserve\n if (!showTooltipEvent.defaultPrevented) {\n // append to container\n appendPopup(tooltip, container);\n\n setAttribute(element, ariaDescribedBy, `#${id}`);\n\n this.update();\n toggleTooltipOpenHandlers(this, true);\n\n // istanbul ignore else @preserve\n if (!hasClass(tooltip, showClass)) addClass(tooltip, showClass);\n // istanbul ignore else @preserve\n if (animation) {\n 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 @preserve\n if (tooltip && hasTip(this)) {\n Timer.set(\n element,\n () => {\n const hideTooltipEvent = createCustomEvent<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `hide.bs.${toLowerCase(this.name)}`,\n );\n dispatchEvent(element, hideTooltipEvent);\n\n // istanbul ignore else @preserve\n if (!hideTooltipEvent.defaultPrevented) {\n this.update();\n removeClass(tooltip, showClass);\n toggleTooltipOpenHandlers(this);\n\n // istanbul ignore else @preserve\n if (animation) {\n 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 @preserve\n if (!enabled) {\n this._toggleEventListeners(true);\n this.enabled = !enabled;\n }\n }\n\n /** Disables the tooltip. */\n disable() {\n const { tooltip, enabled } = this;\n // istanbul ignore else @preserve\n if (enabled) {\n if (tooltip && hasTip(this)) this.hide();\n this._toggleEventListeners();\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 if @preserve\n if (\n (tooltip && tooltip.contains(target)) ||\n target === element ||\n (target && element.contains(target))\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\n ? true\n : false;\n\n // istanbul ignore else @preserve\n if (!trigger.includes(\"manual\")) {\n this.enabled = !!add;\n\n const triggerOptions = trigger.split(\" \");\n\n triggerOptions.forEach((tr) => {\n // istanbul ignore else @preserve\n if (tr === mousehoverEvent) {\n action(element, mousedownEvent, this.handleShow);\n action(element, mouseenterEvent, this.handleShow);\n\n // istanbul ignore else @preserve\n if (!dismissible) {\n action(element, mouseleaveEvent, this.handleHide);\n action(\n getDocument(element),\n touchstartEvent,\n this.handleTouch,\n passiveHandler,\n );\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 @preserve\n if (!dismissible) action(element, focusoutEvent, this.handleHide);\n // istanbul ignore else @preserve\n if (isApple()) {\n action(element, mouseclickEvent, this.handleFocus);\n }\n }\n // istanbul ignore else @preserve\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 = () =>\n setTimeout(\n () => disposeTooltipComplete(clone, () => super.dispose()),\n 17,\n );\n\n if (options.animation && hasTip(clone)) {\n this.options.delay = 0; // reset delay\n this.hide();\n emulateTransitionEnd(tooltip, 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","offsetParent","options","RTL","isRTL","scrollLeft","scrollTop","getNodeScroll","setElementStyle","tipWidth","tipHeight","htmlcw","htmlch","htmlow","getDocumentElement","placement","parentCWidth","parentOWidth","fixedParent","getElementStyle","scrollbarWidth","leftBoundry","rightBoundry","observerEntry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","getBoundingClientRect","elemOffsetLeft","elemOffsetTop","getRectRelativeToOffsetParent","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","tipPositions","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","removeAttribute","ariaDescribedBy","removePopup","hasTip","hasPopup","disposeTooltipComplete","callback","hasAttribute","toggleTooltipTitle","toggleTooltipAction","add","action","addListener","removeListener","touchstartEvent","passiveHandler","tooltipShownAction","shownTooltipEvent","Timer","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","parentModal","closest","modalString","parentOffcanvas","offcanvasString","target","titleAtt","getAttribute","BaseComponent","config","tipComponent","elem","getUID","ObjectAssign","position","getWindow","PositionObserver","focus","outTimer","showTooltipEvent","appendPopup","showClass","emulateTransitionEnd","delay","hideTooltipEvent","removeClass","enabled","btn","trigger","tr","mousehoverEvent","mousedownEvent","mouseenterEvent","mouseleaveEvent","mouseclickEvent","focusEvent","focusinEvent","focusoutEvent","isApple","clone"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/tooltip-Cxy40RjE.mjs.map b/dist/components/tooltip-Cxy40RjE.mjs.map deleted file mode 100644 index 1eba1429..00000000 --- a/dist/components/tooltip-Cxy40RjE.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"tooltip-Cxy40RjE.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 `
${\n header + arrow + body\n }
`;\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 createCustomEvent,\n dispatchEvent,\n getBoundingClientRect,\n getDocumentElement,\n getElementStyle,\n getNodeScroll,\n getRectRelativeToOffsetParent,\n isHTMLElement,\n isRTL,\n setElementStyle,\n toLowerCase,\n} from \"@thednp/shorty\";\n\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: Tooltip) => {\n requestAnimationFrame(() => {\n const tipClasses = /\\b(top|bottom|start|end)+/;\n const { element, tooltip, container, offsetParent, options, arrow } = self;\n\n // istanbul ignore if @preserve\n if (!tooltip) return;\n const RTL = isRTL(element);\n const { x: scrollLeft, y: scrollTop } = getNodeScroll(offsetParent);\n\n // reset tooltip style (top: 0, left: 0 works best)\n setElementStyle(tooltip, {\n top: \"\",\n left: \"\",\n right: \"\",\n bottom: \"\",\n });\n const { offsetWidth: tipWidth, offsetHeight: tipHeight } = tooltip;\n const { clientWidth: htmlcw, clientHeight: htmlch, offsetWidth: htmlow } =\n getDocumentElement(element);\n let { placement } = options;\n const { clientWidth: parentCWidth, offsetWidth: parentOWidth } = container;\n const parentPosition = getElementStyle(\n container,\n \"position\",\n );\n const fixedParent = parentPosition === \"fixed\";\n const scrollbarWidth = fixedParent\n ? Math.abs(parentCWidth - parentOWidth)\n : Math.abs(htmlcw - htmlow);\n const leftBoundry = RTL && fixedParent\n ? /* istanbul ignore next @preserve */ scrollbarWidth\n : 0;\n const rightBoundry = htmlcw - (!RTL ? scrollbarWidth : 0) - 1;\n\n // reuse observer entry bounding box\n const observerEntry = self._observer.getEntry(element);\n const {\n width: elemWidth,\n height: elemHeight,\n left: elemRectLeft,\n right: elemRectRight,\n top: elemRectTop,\n } = observerEntry?.boundingClientRect ||\n getBoundingClientRect(element, true);\n\n const {\n x: elemOffsetLeft,\n y: elemOffsetTop,\n } = getRectRelativeToOffsetParent(\n element,\n offsetParent,\n { x: scrollLeft, y: scrollTop },\n );\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.offsetWidth || 0;\n const arrowHeight = arrow.offsetHeight || 0;\n const arrowAdjust = arrowWidth / 2;\n\n // check placement\n let topExceed = elemRectTop - tipHeight - arrowHeight < 0;\n let bottomExceed =\n elemRectTop + tipHeight + elemHeight + arrowHeight >= htmlch;\n let leftExceed = elemRectLeft - tipWidth - arrowWidth < leftBoundry;\n let rightExceed =\n 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)\n ? elemRectLeft + elemWidth / 2 - tipWidth / 2 < leftBoundry\n : 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\n ? \"top\"\n : 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\n ? \"left\"\n // istanbul ignore next @preserve\n : placement;\n\n // update tooltip/popover class\n // istanbul ignore else @preserve\n if (!tooltip.className.includes(placement)) {\n tooltip.className = tooltip.className.replace(\n tipClasses,\n tipClassPositions[placement],\n );\n }\n\n // compute tooltip / popover coordinates\n // istanbul ignore else @preserve\n if (horizontals.includes(placement)) {\n // secondary|side positions\n if (placement === \"left\") {\n // LEFT\n leftPosition = elemOffsetLeft - tipWidth - arrowWidth;\n } else {\n // RIGHT\n leftPosition = elemOffsetLeft + elemWidth + arrowWidth;\n }\n\n // adjust top and arrow\n if (topExceed && bottomExceed) {\n topPosition = 0;\n bottomPosition = 0;\n arrowTop = elemOffsetTop + elemHeight / 2 - arrowHeight / 2;\n } else if (topExceed) {\n topPosition = elemOffsetTop;\n bottomPosition = \"\";\n arrowTop = elemHeight / 2 - arrowWidth;\n } else if (bottomExceed) {\n topPosition = elemOffsetTop - tipHeight + elemHeight;\n bottomPosition = \"\";\n arrowTop = tipHeight - elemHeight / 2 - arrowWidth;\n } else {\n topPosition = elemOffsetTop - tipHeight / 2 + elemHeight / 2;\n arrowTop = tipHeight / 2 - arrowHeight / 2;\n }\n } else if (verticals.includes(placement)) {\n if (placement === \"top\") {\n topPosition = elemOffsetTop - tipHeight - arrowHeight;\n } else {\n // BOTTOM\n topPosition = elemOffsetTop + elemHeight + arrowHeight;\n }\n\n // adjust left | right and also the arrow\n if (leftExceed) {\n leftPosition = 0;\n arrowLeft = elemOffsetLeft + elemWidth / 2 - arrowAdjust;\n } else if (rightExceed) {\n leftPosition = \"auto\";\n rightPosition = 0;\n arrowRight = elemWidth / 2 + rightBoundry - elemRectRight - arrowAdjust;\n } else {\n leftPosition = elemOffsetLeft - 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 @preserve\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<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `updated.bs.${toLowerCase(self.name)}`,\n );\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 {\n isArray,\n isFunction,\n isHTMLElement,\n isNode,\n isNodeList,\n isString,\n} 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 = (\n element: HTMLElement,\n content: Node[] | Node | string,\n sanitizeFn?: (s: string) => string,\n) => {\n // istanbul ignore else @preserve\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 (\n isNodeList(content) || (isArray(content) && content.every(isNode))\n ) {\n element.append(...[...content]);\n }\n};\nexport default setHtml;\n","import {\n addClass,\n createElement,\n hasClass,\n isHTMLElement,\n isRTL,\n querySelector,\n setAttribute,\n} 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 {\n title,\n placement,\n template,\n animation,\n customClass,\n sanitizeFn,\n dismissible,\n content,\n btnClose,\n } = 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 /* istanbul ignore if @preserve */\n if (!isHTMLElement(tooltipTemplate)) return;\n\n // set popover markup\n self.tooltip = tooltipTemplate.cloneNode(true) as HTMLElement;\n const { tooltip } = self;\n\n // set id and role attributes\n setAttribute(tooltip, \"id\", id);\n setAttribute(tooltip, \"role\", tooltipString);\n\n const bodyClass = isTooltip\n ? `${tooltipString}-inner`\n : `${popoverString}-body`;\n const tooltipHeader = isTooltip\n ? null\n : querySelector(`.${popoverString}-header`, tooltip);\n const tooltipBody = querySelector(`.${bodyClass}`, tooltip);\n\n // set arrow and enable access for styleTip\n self.arrow = querySelector(\n `.${tipString}-arrow`,\n tooltip,\n ) 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)) {\n 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 @preserve\n if (tooltipHeader) tooltipHeader.remove();\n if (isHTMLElement(btnClose)) {\n 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 @preserve\n if (!isTooltip) {\n // istanbul ignore else @preserve\n if (title && tooltipHeader) {\n setHtml(tooltipHeader, titleParts, sanitizeFn);\n }\n // istanbul ignore else @preserve\n if (content && tooltipBody) {\n setHtml(tooltipBody, contentParts, sanitizeFn);\n }\n // set btn\n self.btn = querySelector(\".btn-close\", tooltip) ||\n undefined;\n } else if (title && tooltipBody) setHtml(tooltipBody, title, sanitizeFn);\n\n // Bootstrap 5.2.x\n addClass(tooltip, \"position-absolute\");\n addClass(arrow, \"position-absolute\");\n\n // set popover animation and placement\n // istanbul ignore else @preserve\n if (!hasClass(tooltip, tipString)) addClass(tooltip, tipString);\n // istanbul ignore else @preserve\n if (animation && !hasClass(tooltip, fadeClass)) {\n addClass(tooltip, fadeClass);\n }\n // istanbul ignore else @preserve\n if (customClass && !hasClass(tooltip, customClass)) {\n addClass(tooltip, customClass);\n }\n // istanbul ignore else @preserve\n if (!hasClass(tooltip, placementClass)) addClass(tooltip, placementClass);\n};\n\nexport default createTip;\n","import {\n getDocument,\n getElementStyle,\n getParentNode,\n isShadowRoot,\n isTableElement,\n} 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: Element) => {\n const majorBlockTags = [\"HTML\", \"BODY\"];\n const containers: HTMLElement[] = [];\n let { parentNode } = element;\n\n while (parentNode && !majorBlockTags.includes(parentNode.nodeName)) {\n parentNode = getParentNode(parentNode) as HTMLElement;\n // istanbul ignore else @preserve\n if (!(isShadowRoot(parentNode) || isTableElement(parentNode))) {\n containers.push(parentNode as HTMLElement);\n }\n }\n\n return (\n containers.find((c, i) => {\n if (\n ((getElementStyle(c, \"position\") !== \"relative\" ||\n getElementStyle(c, \"position\") === \"relative\" &&\n c.offsetHeight !== c.scrollHeight) &&\n containers.slice(i + 1).every((r) =>\n getElementStyle(r, \"position\") === \"static\"\n ))\n ) {\n return c;\n }\n return null;\n }) ||\n /* istanbul ignore next: optional guard */\n getDocument(element).body\n );\n};\n\nexport default getElementContainer;\n","/* Native JavaScript for Bootstrap 5 | Tooltip\n---------------------------------------------- */\nimport {\n addClass,\n ariaDescribedBy,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n focus,\n focusEvent,\n focusinEvent,\n focusoutEvent,\n getAttribute,\n getDocument,\n getElementStyle,\n getInstance,\n getUID,\n getWindow,\n hasAttribute,\n hasClass,\n isApple,\n mouseclickEvent,\n mousedownEvent,\n mouseenterEvent,\n mousehoverEvent,\n mouseleaveEvent,\n ObjectAssign,\n passiveHandler,\n removeAttribute,\n removeClass,\n setAttribute,\n Timer,\n toLowerCase,\n TouchEvent,\n touchstartEvent,\n} from \"@thednp/shorty\";\n\nimport { addListener, removeListener } from \"@thednp/event-listener\";\nimport PositionObserver from \"@thednp/position-observer\";\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, hasPopup, removePopup } from \"../util/popupContainer\";\nimport getElementContainer from \"../util/getElementContainer\";\nimport tooltipDefaults from \"../util/tooltipDefaults\";\nimport BaseComponent from \"./base-component\";\nimport type { TooltipEvent, TooltipOptions } from \"../interface/tooltip\";\nimport type { PopoverEvent, PopoverOptions } from \"../interface/popover\";\n\n// TOOLTIP PRIVATE GC\n// ==================\nconst tooltipSelector =\n `[${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 */\nlet getTooltipInstance = (element: Element) =>\n getInstance(element, tooltipComponent);\n\n/**\n * A `Tooltip` initialization callback.\n */\nconst tooltipInitCallback = (element: Element) => 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 } = self;\n removeAttribute(element, ariaDescribedBy);\n removePopup(\n tooltip,\n container,\n );\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 } = self;\n\n return tooltip &&\n hasPopup(tooltip, container);\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 @preserve\n if (\n hasAttribute(element, dataOriginalTitle) && self.name === tooltipComponent\n ) {\n toggleTooltipTitle(self);\n }\n // istanbul ignore else @preserve\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(\n getDocument(element),\n touchstartEvent,\n self.handleTouch,\n 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<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `shown.bs.${toLowerCase(self.name)}`,\n );\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<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `hidden.bs.${toLowerCase(self.name)}`,\n );\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, tooltip } = self;\n const parentModal = closest(element, `.${modalString}`);\n const parentOffcanvas = closest(element, `.${offcanvasString}`);\n\n if (add) {\n [element, tooltip]\n .forEach((target) => self._observer.observe(target));\n } else self._observer.disconnect();\n\n // dismiss tooltips inside modal / offcanvas\n if (parentModal) {\n action(parentModal, `hide.bs.${modalString}`, self.handleHide);\n }\n if (parentOffcanvas) {\n action(parentOffcanvas, `hide.bs.${offcanvasString}`, self.handleHide);\n }\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 ||\n getAttribute(element, titleAtt[0]) ||\n // istanbul ignore next @preserve\n \"\",\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 element: Element & HTMLOrSVGElement;\n declare options: TooltipOptions;\n declare btn?: HTMLElement;\n declare tooltip: HTMLElement;\n declare container: HTMLElement;\n declare offsetParent: Element | Window;\n declare arrow: HTMLElement;\n declare enabled: boolean;\n declare id: string;\n declare _observer: PositionObserver;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: Element | 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 @preserve: this is to set Popover too\n getTooltipInstance = (elem: Element) =>\n 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 // istanbul ignore else @preserve\n if (((!options.title && isTooltip) || (!isTooltip && !options.content))) {\n return;\n }\n\n // reset default options\n ObjectAssign(tooltipDefaults, { titleAttr: \"\" });\n\n // set title attributes and add event listeners\n // istanbul ignore else @preserve\n if (\n hasAttribute(element, titleAttr) && isTooltip &&\n typeof options.title === \"string\"\n ) {\n toggleTooltipTitle(this, options.title);\n }\n\n // set containers\n const container = getElementContainer(element);\n const offsetParent = [\"sticky\", \"fixed\", \"relative\"].some(\n (position) =>\n getElementStyle(container, \"position\") ===\n position,\n )\n ? container\n : getWindow(element);\n\n this.container = container;\n this.offsetParent = offsetParent;\n\n // create tooltip here\n createTip(this);\n\n /* istanbul ignore if @preserve */\n if (!this.tooltip) return;\n\n // create observer\n this._observer = new PositionObserver((entries) => {\n /* istanbul ignore else */\n if (!entries.some((entry) => entry.isVisible)) return;\n this.update();\n });\n\n // attach events\n this._toggleEventListeners(true);\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 // istanbul ignore next @preserve - impossible to test without Apple device\n handleFocus = () => focus(this.element as HTMLElement);\n /** Shows the tooltip. */\n handleShow = () => this.show();\n show() {\n const { options, tooltip, element, container, id } = this;\n const { animation } = options;\n const outTimer = Timer.get(element, \"out\");\n\n Timer.clear(element, \"out\");\n\n if (tooltip && !outTimer && !hasTip(this)) {\n Timer.set(\n element,\n () => {\n const showTooltipEvent = createCustomEvent<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `show.bs.${toLowerCase(this.name)}`,\n );\n dispatchEvent(element, showTooltipEvent);\n\n // istanbul ignore else @preserve\n if (!showTooltipEvent.defaultPrevented) {\n // append to container\n appendPopup(tooltip, container);\n\n setAttribute(element, ariaDescribedBy, `#${id}`);\n\n this.update();\n toggleTooltipOpenHandlers(this, true);\n\n // istanbul ignore else @preserve\n if (!hasClass(tooltip, showClass)) addClass(tooltip, showClass);\n // istanbul ignore else @preserve\n if (animation) {\n 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 @preserve\n if (tooltip && hasTip(this)) {\n Timer.set(\n element,\n () => {\n const hideTooltipEvent = createCustomEvent<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `hide.bs.${toLowerCase(this.name)}`,\n );\n dispatchEvent(element, hideTooltipEvent);\n\n // istanbul ignore else @preserve\n if (!hideTooltipEvent.defaultPrevented) {\n this.update();\n removeClass(tooltip, showClass);\n toggleTooltipOpenHandlers(this);\n\n // istanbul ignore else @preserve\n if (animation) {\n 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 @preserve\n if (!enabled) {\n this._toggleEventListeners(true);\n this.enabled = !enabled;\n }\n }\n\n /** Disables the tooltip. */\n disable() {\n const { tooltip, enabled } = this;\n // istanbul ignore else @preserve\n if (enabled) {\n if (tooltip && hasTip(this)) this.hide();\n this._toggleEventListeners();\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 if @preserve\n if (\n (tooltip && tooltip.contains(target)) ||\n target === element ||\n (target && element.contains(target))\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\n ? true\n : false;\n\n // istanbul ignore else @preserve\n if (!trigger.includes(\"manual\")) {\n this.enabled = !!add;\n\n const triggerOptions = trigger.split(\" \");\n\n triggerOptions.forEach((tr) => {\n // istanbul ignore else @preserve\n if (tr === mousehoverEvent) {\n action(element, mousedownEvent, this.handleShow);\n action(element, mouseenterEvent, this.handleShow);\n\n // istanbul ignore else @preserve\n if (!dismissible) {\n action(element, mouseleaveEvent, this.handleHide);\n action(\n getDocument(element),\n touchstartEvent,\n this.handleTouch,\n passiveHandler,\n );\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 @preserve\n if (!dismissible) action(element, focusoutEvent, this.handleHide);\n // istanbul ignore else @preserve\n if (isApple()) {\n action(element, mouseclickEvent, this.handleFocus);\n }\n }\n // istanbul ignore else @preserve\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 = () =>\n setTimeout(\n () => disposeTooltipComplete(clone, () => super.dispose()),\n 17,\n );\n\n if (options.animation && hasTip(clone)) {\n this.options.delay = 0; // reset delay\n this.hide();\n emulateTransitionEnd(tooltip, 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","offsetParent","options","RTL","isRTL","scrollLeft","scrollTop","getNodeScroll","setElementStyle","tipWidth","tipHeight","htmlcw","htmlch","htmlow","getDocumentElement","placement","parentCWidth","parentOWidth","fixedParent","getElementStyle","scrollbarWidth","leftBoundry","rightBoundry","observerEntry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","getBoundingClientRect","elemOffsetLeft","elemOffsetTop","getRectRelativeToOffsetParent","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","tipPositions","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","removeAttribute","ariaDescribedBy","removePopup","hasTip","hasPopup","disposeTooltipComplete","callback","hasAttribute","toggleTooltipTitle","toggleTooltipAction","add","action","addListener","removeListener","touchstartEvent","passiveHandler","tooltipShownAction","shownTooltipEvent","Timer","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","parentModal","closest","modalString","parentOffcanvas","offcanvasString","target","titleAtt","getAttribute","BaseComponent","config","tipComponent","elem","getUID","ObjectAssign","position","getWindow","PositionObserver","entries","entry","focus","outTimer","showTooltipEvent","appendPopup","showClass","emulateTransitionEnd","delay","hideTooltipEvent","removeClass","enabled","btn","trigger","tr","mousehoverEvent","mousedownEvent","mouseenterEvent","mouseleaveEvent","mouseclickEvent","focusEvent","focusinEvent","focusoutEvent","isApple","clone"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/tooltip-DKh6RNNg.js b/dist/components/tooltip-DKh6RNNg.js deleted file mode 100644 index 138ab6c6..00000000 --- a/dist/components/tooltip-DKh6RNNg.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";const t=require("./base-component-DaZCwW-u.js"),W=require("./event-listener-BQdA_KAC.js"),Tt=require("./index-DlQfhTUb.js"),wt=require("./dataBsToggle-Dj-Ng54N.js"),et=require("./showClass-D_Ms1FgG.js"),S=require("./popupContainer-CSoNJ-n6.js"),st=require("./fadeClass-Co6nOzNJ.js"),F="popover",ct="Popover",T="tooltip",ht=s=>{const e=s===T,o=e?`${s}-inner`:`${s}-body`,i=e?"":`

`,l=`
`,r=`
`;return`
${i+l+r}
`},dt={top:"top",bottom:"bottom",left:"start",right:"end"},ot=s=>{requestAnimationFrame(()=>{const e=/\b(top|bottom|start|end)+/,{element:o,tooltip:i,container:l,offsetParent:r,options:d,arrow:c}=s;if(!i)return;const f=t.Uo(o),{x:w,y:h}=t.ko(r);t.ho(i,{top:"",left:"",right:"",bottom:""});const{offsetWidth:u,offsetHeight:m}=i,{clientWidth:g,clientHeight:E,offsetWidth:A}=t.S(o);let{placement:n}=d;const{clientWidth:b,offsetWidth:z}=l,p=t.g(l,"position")==="fixed",Q=Math.abs(p?b-z:g-A),q=f&&p?Q:0,$=g-(f?0:Q)-1,Z=s._observer.getEntry(o),{width:a,height:v,left:j,right:bt,top:I}=Z?.boundingClientRect||t.w(o,!0),{x:G,y:R}=t.Co(o,r,{x:w,y:h});t.ho(c,{top:"",left:"",right:"",bottom:""});let x=0,O="",y=0,J="",L="",U="",K="";const H=c.offsetWidth||0,C=c.offsetHeight||0,X=H/2;let _=I-m-C<0,k=I+m+v+C>=E,D=j-u-H=$;const V=["left","right"],tt=["top","bottom"];_=V.includes(n)?I+v/2-m/2-C<0:_,k=V.includes(n)?I+m/2+v/2+C>=E:k,D=tt.includes(n)?j+a/2-u/2=$:M,n=V.includes(n)&&D&&M?"top":n,n=n==="top"&&_?"bottom":n,n=n==="bottom"&&k?"top":n,n=n==="left"&&D?"right":n,n=n==="right"&&M?"left":n,i.className.includes(n)||(i.className=i.className.replace(e,dt[n])),V.includes(n)?(n==="left"?y=G-u-H:y=G+a+H,_&&k?(x=0,O=0,L=R+v/2-C/2):_?(x=R,O="",L=v/2-H):k?(x=R-m+v,O="",L=m-v/2-H):(x=R-m/2+v/2,L=m/2-C/2)):tt.includes(n)&&(n==="top"?x=R-m-C:x=R+v+C,D?(y=0,U=G+a/2-X):M?(y="auto",J=0,K=a/2+$-bt-X):(y=G-u/2+a/2,U=u/2-X)),t.ho(i,{top:`${x}px`,bottom:O===""?"":`${O}px`,left:y==="auto"?y:`${y}px`,right:J!==""?`${J}px`:""}),t.m(c)&&(L!==""&&(c.style.top=`${L}px`),U!==""?c.style.left=`${U}px`:K!==""&&(c.style.right=`${K}px`));const vt=t.vo(`updated.bs.${t.ue(s.name)}`);t.q(o,vt)})},it={template:ht(T),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",N="Tooltip",P=(s,e,o)=>{if(t.k(e)&&e.length){let i=e.trim();t.zo(o)&&(i=o(i));const r=new DOMParser().parseFromString(i,"text/html");s.append(...r.body.childNodes)}else t.m(e)?s.append(e):(t.Vo(e)||t.Se(e)&&e.every(t.l))&&s.append(...e)},$t=s=>{const e=s.name===N,{id:o,element:i,options:l}=s,{title:r,placement:d,template:c,animation:f,customClass:w,sanitizeFn:h,dismissible:u,content:m,btnClose:g}=l,E=e?T:F,A={...dt};let n=[],b=[];t.Uo(i)&&(A.left="end",A.right="start");const z=`bs-${E}-${A[d]}`;let B;if(t.m(c))B=c;else{const a=t.oe("div");P(a,c,h),B=a.firstChild}if(!t.m(B))return;s.tooltip=B.cloneNode(!0);const{tooltip:p}=s;t.Qn(p,"id",o),t.Qn(p,"role",T);const Q=e?`${T}-inner`:`${F}-body`,q=e?null:t.Ro(`.${F}-header`,p),$=t.Ro(`.${Q}`,p);s.arrow=t.Ro(`.${E}-arrow`,p);const{arrow:Z}=s;if(t.m(r))n=[r.cloneNode(!0)];else{const a=t.oe("div");P(a,r,h),n=[...a.childNodes]}if(t.m(m))b=[m.cloneNode(!0)];else{const a=t.oe("div");P(a,m,h),b=[...a.childNodes]}if(u)if(r)if(t.m(g))n=[...n,g.cloneNode(!0)];else{const a=t.oe("div");P(a,g,h),n=[...n,a.firstChild]}else if(q&&q.remove(),t.m(g))b=[...b,g.cloneNode(!0)];else{const a=t.oe("div");P(a,g,h),b=[...b,a.firstChild]}e?r&&$&&P($,r,h):(r&&q&&P(q,n,h),m&&$&&P($,b,h),s.btn=t.Ro(".btn-close",p)||void 0),t.qn(p,"position-absolute"),t.qn(Z,"position-absolute"),t.Yn(p,E)||t.qn(p,E),f&&!t.Yn(p,st.fadeClass)&&t.qn(p,st.fadeClass),w&&!t.Yn(p,w)&&t.qn(p,w),t.Yn(p,z)||t.qn(p,z)},yt=s=>{const e=["HTML","BODY"],o=[];let{parentNode:i}=s;for(;i&&!e.includes(i.nodeName);)i=t.A(i),t.me(i)||t.be(i)||o.push(i);return o.find((l,r)=>(t.g(l,"position")!=="relative"||t.g(l,"position")==="relative"&&l.offsetHeight!==l.scrollHeight)&&o.slice(r+1).every(d=>t.g(d,"position")==="static")?l:null)||t.d(s).body},Ct=`[${wt.dataBsToggle}="${T}"],[data-tip="${T}"]`,ft="title";let nt=s=>t.to(s,N);const Pt=s=>new gt(s),Et=s=>{const{element:e,tooltip:o,container:i}=s;t.Gn(e,t.De),S.removePopup(o,i)},Y=s=>{const{tooltip:e,container:o}=s;return e&&S.hasPopup(e,o)},qt=(s,e)=>{const{element:o}=s;s._toggleEventListeners(),t.ne(o,pt)&&s.name===N&&ut(s),e&&e()},mt=(s,e)=>{const o=e?W.E:W.r,{element:i}=s;o(t.d(i),t.Rt,s.handleTouch,t.bo)},lt=s=>{const{element:e}=s,o=t.vo(`shown.bs.${t.ue(s.name)}`);mt(s,!0),t.q(e,o),t.yo.clear(e,"in")},rt=s=>{const{element:e}=s,o=t.vo(`hidden.bs.${t.ue(s.name)}`);mt(s),Et(s),t.q(e,o),t.yo.clear(e,"out")},at=(s,e)=>{const o=e?W.E:W.r,{element:i,tooltip:l}=s,r=t.ke(i,`.${S.modalString}`),d=t.ke(i,`.${S.offcanvasString}`);e?[i,l].forEach(c=>s._observer.observe(c)):s._observer.disconnect(),r&&o(r,`hide.bs.${S.modalString}`,s.handleHide),d&&o(d,`hide.bs.${S.offcanvasString}`,s.handleHide)},ut=(s,e)=>{const o=[pt,ft],{element:i}=s;t.Qn(i,o[e?0:1],e||t.j(i,o[0])||""),t.Gn(i,o[e?1:0])};class gt extends t.BaseComponent{static selector=Ct;static init=Pt;static getInstance=nt;static styleTip=ot;constructor(e,o){super(e,o);const{element:i}=this,l=this.name===N,r=l?T:F,d=l?N:ct;nt=h=>t.to(h,d),this.enabled=!0,this.id=`${r}-${t.Ae(i,r)}`;const{options:c}=this;if(!c.title&&l||!l&&!c.content)return;t.N(it,{titleAttr:""}),t.ne(i,ft)&&l&&typeof c.title=="string"&&ut(this,c.title);const f=yt(i),w=["sticky","fixed","relative"].some(h=>t.g(f,"position")===h)?f:t.ve(i);this.container=f,this.offsetParent=w,$t(this),this.tooltip&&(this._observer=new Tt.E(h=>{h.some(u=>u.isVisible)&&this.update()}),this._toggleEventListeners(!0))}get name(){return N}get defaults(){return it}handleFocus=()=>t.io(this.element);handleShow=()=>this.show();show(){const{options:e,tooltip:o,element:i,container:l,id:r}=this,{animation:d}=e,c=t.yo.get(i,"out");t.yo.clear(i,"out"),o&&!c&&!Y(this)&&t.yo.set(i,()=>{const f=t.vo(`show.bs.${t.ue(this.name)}`);t.q(i,f),f.defaultPrevented||(S.appendPopup(o,l),t.Qn(i,t.De,`#${r}`),this.update(),at(this,!0),t.Yn(o,et.showClass)||t.qn(o,et.showClass),d?t.ro(o,()=>lt(this)):lt(this))},17,"in")}handleHide=()=>this.hide();hide(){const{options:e,tooltip:o,element:i}=this,{animation:l,delay:r}=e;t.yo.clear(i,"in"),o&&Y(this)&&t.yo.set(i,()=>{const d=t.vo(`hide.bs.${t.ue(this.name)}`);t.q(i,d),d.defaultPrevented||(this.update(),t.Zn(o,et.showClass),at(this),l?t.ro(o,()=>rt(this)):rt(this))},r+17,"out")}update=()=>{ot(this)};toggle=()=>{const{tooltip:e}=this;e&&!Y(this)?this.show():this.hide()};enable(){const{enabled:e}=this;e||(this._toggleEventListeners(!0),this.enabled=!e)}disable(){const{tooltip:e,enabled:o}=this;o&&(e&&Y(this)&&this.hide(),this._toggleEventListeners(),this.enabled=!o)}toggleEnabled(){this.enabled?this.disable():this.enable()}handleTouch=({target:e})=>{const{tooltip:o,element:i}=this;o&&o.contains(e)||e===i||e&&i.contains(e)||this.hide()};_toggleEventListeners=e=>{const o=e?W.E:W.r,{element:i,options:l,btn:r}=this,{trigger:d}=l,f=!!(this.name!==N&&l.dismissible);d.includes("manual")||(this.enabled=!!e,d.split(" ").forEach(h=>{h===t.ht?(o(i,t.bt,this.handleShow),o(i,t.yt,this.handleShow),f||(o(i,t.wt,this.handleHide),o(t.d(i),t.Rt,this.handleTouch,t.bo))):h===t.mt?o(i,h,f?this.handleShow:this.toggle):h===t.rt&&(o(i,t.ct,this.handleShow),f||o(i,t.at,this.handleHide),t.zn()&&o(i,t.mt,this.handleFocus)),f&&r&&o(r,t.mt,this.handleHide)}))};dispose(){const{tooltip:e,options:o}=this,i={...this,name:this.name},l=()=>setTimeout(()=>qt(i,()=>super.dispose()),17);o.animation&&Y(i)?(this.options.delay=0,this.hide(),t.ro(e,l)):l()}}exports.Tooltip=gt;exports.getTipTemplate=ht;exports.popoverComponent=ct;exports.popoverString=F;exports.styleTip=ot;exports.tooltipDefaults=it; -//# sourceMappingURL=tooltip-DKh6RNNg.js.map diff --git a/dist/components/tooltip-DKh6RNNg.js.map b/dist/components/tooltip-DKh6RNNg.js.map deleted file mode 100644 index c9cf8131..00000000 --- a/dist/components/tooltip-DKh6RNNg.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"tooltip-DKh6RNNg.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 `
${\n header + arrow + body\n }
`;\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 createCustomEvent,\n dispatchEvent,\n getBoundingClientRect,\n getDocumentElement,\n getElementStyle,\n getNodeScroll,\n getRectRelativeToOffsetParent,\n isHTMLElement,\n isRTL,\n setElementStyle,\n toLowerCase,\n} from \"@thednp/shorty\";\n\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: Tooltip) => {\n requestAnimationFrame(() => {\n const tipClasses = /\\b(top|bottom|start|end)+/;\n const { element, tooltip, container, offsetParent, options, arrow } = self;\n\n // istanbul ignore if @preserve\n if (!tooltip) return;\n const RTL = isRTL(element);\n const { x: scrollLeft, y: scrollTop } = getNodeScroll(offsetParent);\n\n // reset tooltip style (top: 0, left: 0 works best)\n setElementStyle(tooltip, {\n top: \"\",\n left: \"\",\n right: \"\",\n bottom: \"\",\n });\n const { offsetWidth: tipWidth, offsetHeight: tipHeight } = tooltip;\n const { clientWidth: htmlcw, clientHeight: htmlch, offsetWidth: htmlow } =\n getDocumentElement(element);\n let { placement } = options;\n const { clientWidth: parentCWidth, offsetWidth: parentOWidth } = container;\n const parentPosition = getElementStyle(\n container,\n \"position\",\n );\n const fixedParent = parentPosition === \"fixed\";\n const scrollbarWidth = fixedParent\n ? Math.abs(parentCWidth - parentOWidth)\n : Math.abs(htmlcw - htmlow);\n const leftBoundry = RTL && fixedParent\n ? /* istanbul ignore next @preserve */ scrollbarWidth\n : 0;\n const rightBoundry = htmlcw - (!RTL ? scrollbarWidth : 0) - 1;\n\n // reuse observer entry bounding box\n const observerEntry = self._observer.getEntry(element);\n const {\n width: elemWidth,\n height: elemHeight,\n left: elemRectLeft,\n right: elemRectRight,\n top: elemRectTop,\n } = observerEntry?.boundingClientRect ||\n getBoundingClientRect(element, true);\n\n const {\n x: elemOffsetLeft,\n y: elemOffsetTop,\n } = getRectRelativeToOffsetParent(\n element,\n offsetParent,\n { x: scrollLeft, y: scrollTop },\n );\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.offsetWidth || 0;\n const arrowHeight = arrow.offsetHeight || 0;\n const arrowAdjust = arrowWidth / 2;\n\n // check placement\n let topExceed = elemRectTop - tipHeight - arrowHeight < 0;\n let bottomExceed =\n elemRectTop + tipHeight + elemHeight + arrowHeight >= htmlch;\n let leftExceed = elemRectLeft - tipWidth - arrowWidth < leftBoundry;\n let rightExceed =\n 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)\n ? elemRectLeft + elemWidth / 2 - tipWidth / 2 < leftBoundry\n : 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\n ? \"top\"\n : 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\n ? \"left\"\n // istanbul ignore next @preserve\n : placement;\n\n // update tooltip/popover class\n // istanbul ignore else @preserve\n if (!tooltip.className.includes(placement)) {\n tooltip.className = tooltip.className.replace(\n tipClasses,\n tipClassPositions[placement],\n );\n }\n\n // compute tooltip / popover coordinates\n // istanbul ignore else @preserve\n if (horizontals.includes(placement)) {\n // secondary|side positions\n if (placement === \"left\") {\n // LEFT\n leftPosition = elemOffsetLeft - tipWidth - arrowWidth;\n } else {\n // RIGHT\n leftPosition = elemOffsetLeft + elemWidth + arrowWidth;\n }\n\n // adjust top and arrow\n if (topExceed && bottomExceed) {\n topPosition = 0;\n bottomPosition = 0;\n arrowTop = elemOffsetTop + elemHeight / 2 - arrowHeight / 2;\n } else if (topExceed) {\n topPosition = elemOffsetTop;\n bottomPosition = \"\";\n arrowTop = elemHeight / 2 - arrowWidth;\n } else if (bottomExceed) {\n topPosition = elemOffsetTop - tipHeight + elemHeight;\n bottomPosition = \"\";\n arrowTop = tipHeight - elemHeight / 2 - arrowWidth;\n } else {\n topPosition = elemOffsetTop - tipHeight / 2 + elemHeight / 2;\n arrowTop = tipHeight / 2 - arrowHeight / 2;\n }\n } else if (verticals.includes(placement)) {\n if (placement === \"top\") {\n topPosition = elemOffsetTop - tipHeight - arrowHeight;\n } else {\n // BOTTOM\n topPosition = elemOffsetTop + elemHeight + arrowHeight;\n }\n\n // adjust left | right and also the arrow\n if (leftExceed) {\n leftPosition = 0;\n arrowLeft = elemOffsetLeft + elemWidth / 2 - arrowAdjust;\n } else if (rightExceed) {\n leftPosition = \"auto\";\n rightPosition = 0;\n arrowRight = elemWidth / 2 + rightBoundry - elemRectRight - arrowAdjust;\n } else {\n leftPosition = elemOffsetLeft - 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 @preserve\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<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `updated.bs.${toLowerCase(self.name)}`,\n );\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 {\n isArray,\n isFunction,\n isHTMLElement,\n isNode,\n isNodeList,\n isString,\n} 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 = (\n element: HTMLElement,\n content: Node[] | Node | string,\n sanitizeFn?: (s: string) => string,\n) => {\n // istanbul ignore else @preserve\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 (\n isNodeList(content) || (isArray(content) && content.every(isNode))\n ) {\n element.append(...[...content]);\n }\n};\nexport default setHtml;\n","import {\n addClass,\n createElement,\n hasClass,\n isHTMLElement,\n isRTL,\n querySelector,\n setAttribute,\n} 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 {\n title,\n placement,\n template,\n animation,\n customClass,\n sanitizeFn,\n dismissible,\n content,\n btnClose,\n } = 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 /* istanbul ignore if @preserve */\n if (!isHTMLElement(tooltipTemplate)) return;\n\n // set popover markup\n self.tooltip = tooltipTemplate.cloneNode(true) as HTMLElement;\n const { tooltip } = self;\n\n // set id and role attributes\n setAttribute(tooltip, \"id\", id);\n setAttribute(tooltip, \"role\", tooltipString);\n\n const bodyClass = isTooltip\n ? `${tooltipString}-inner`\n : `${popoverString}-body`;\n const tooltipHeader = isTooltip\n ? null\n : querySelector(`.${popoverString}-header`, tooltip);\n const tooltipBody = querySelector(`.${bodyClass}`, tooltip);\n\n // set arrow and enable access for styleTip\n self.arrow = querySelector(\n `.${tipString}-arrow`,\n tooltip,\n ) 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)) {\n 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 @preserve\n if (tooltipHeader) tooltipHeader.remove();\n if (isHTMLElement(btnClose)) {\n 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 @preserve\n if (!isTooltip) {\n // istanbul ignore else @preserve\n if (title && tooltipHeader) {\n setHtml(tooltipHeader, titleParts, sanitizeFn);\n }\n // istanbul ignore else @preserve\n if (content && tooltipBody) {\n setHtml(tooltipBody, contentParts, sanitizeFn);\n }\n // set btn\n self.btn = querySelector(\".btn-close\", tooltip) ||\n undefined;\n } else if (title && tooltipBody) setHtml(tooltipBody, title, sanitizeFn);\n\n // Bootstrap 5.2.x\n addClass(tooltip, \"position-absolute\");\n addClass(arrow, \"position-absolute\");\n\n // set popover animation and placement\n // istanbul ignore else @preserve\n if (!hasClass(tooltip, tipString)) addClass(tooltip, tipString);\n // istanbul ignore else @preserve\n if (animation && !hasClass(tooltip, fadeClass)) {\n addClass(tooltip, fadeClass);\n }\n // istanbul ignore else @preserve\n if (customClass && !hasClass(tooltip, customClass)) {\n addClass(tooltip, customClass);\n }\n // istanbul ignore else @preserve\n if (!hasClass(tooltip, placementClass)) addClass(tooltip, placementClass);\n};\n\nexport default createTip;\n","import {\n getDocument,\n getElementStyle,\n getParentNode,\n isShadowRoot,\n isTableElement,\n} 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: Element) => {\n const majorBlockTags = [\"HTML\", \"BODY\"];\n const containers: HTMLElement[] = [];\n let { parentNode } = element;\n\n while (parentNode && !majorBlockTags.includes(parentNode.nodeName)) {\n parentNode = getParentNode(parentNode) as HTMLElement;\n // istanbul ignore else @preserve\n if (!(isShadowRoot(parentNode) || isTableElement(parentNode))) {\n containers.push(parentNode as HTMLElement);\n }\n }\n\n return (\n containers.find((c, i) => {\n if (\n ((getElementStyle(c, \"position\") !== \"relative\" ||\n getElementStyle(c, \"position\") === \"relative\" &&\n c.offsetHeight !== c.scrollHeight) &&\n containers.slice(i + 1).every((r) =>\n getElementStyle(r, \"position\") === \"static\"\n ))\n ) {\n return c;\n }\n return null;\n }) ||\n /* istanbul ignore next: optional guard */\n getDocument(element).body\n );\n};\n\nexport default getElementContainer;\n","/* Native JavaScript for Bootstrap 5 | Tooltip\n---------------------------------------------- */\nimport {\n addClass,\n ariaDescribedBy,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n focus,\n focusEvent,\n focusinEvent,\n focusoutEvent,\n getAttribute,\n getDocument,\n getElementStyle,\n getInstance,\n getUID,\n getWindow,\n hasAttribute,\n hasClass,\n isApple,\n mouseclickEvent,\n mousedownEvent,\n mouseenterEvent,\n mousehoverEvent,\n mouseleaveEvent,\n ObjectAssign,\n passiveHandler,\n removeAttribute,\n removeClass,\n setAttribute,\n Timer,\n toLowerCase,\n TouchEvent,\n touchstartEvent,\n} from \"@thednp/shorty\";\n\nimport { addListener, removeListener } from \"@thednp/event-listener\";\nimport PositionObserver from \"@thednp/position-observer\";\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, hasPopup, removePopup } from \"../util/popupContainer\";\nimport getElementContainer from \"../util/getElementContainer\";\nimport tooltipDefaults from \"../util/tooltipDefaults\";\nimport BaseComponent from \"./base-component\";\nimport type { TooltipEvent, TooltipOptions } from \"../interface/tooltip\";\nimport type { PopoverEvent, PopoverOptions } from \"../interface/popover\";\n\n// TOOLTIP PRIVATE GC\n// ==================\nconst tooltipSelector =\n `[${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 */\nlet getTooltipInstance = (element: Element) =>\n getInstance(element, tooltipComponent);\n\n/**\n * A `Tooltip` initialization callback.\n */\nconst tooltipInitCallback = (element: Element) => 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 } = self;\n removeAttribute(element, ariaDescribedBy);\n removePopup(\n tooltip,\n container,\n );\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 } = self;\n\n return tooltip &&\n hasPopup(tooltip, container);\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 @preserve\n if (\n hasAttribute(element, dataOriginalTitle) && self.name === tooltipComponent\n ) {\n toggleTooltipTitle(self);\n }\n // istanbul ignore else @preserve\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(\n getDocument(element),\n touchstartEvent,\n self.handleTouch,\n 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<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `shown.bs.${toLowerCase(self.name)}`,\n );\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<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `hidden.bs.${toLowerCase(self.name)}`,\n );\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, tooltip } = self;\n const parentModal = closest(element, `.${modalString}`);\n const parentOffcanvas = closest(element, `.${offcanvasString}`);\n\n if (add) {\n [element, tooltip]\n .forEach((target) => self._observer.observe(target));\n } else self._observer.disconnect();\n\n // dismiss tooltips inside modal / offcanvas\n if (parentModal) {\n action(parentModal, `hide.bs.${modalString}`, self.handleHide);\n }\n if (parentOffcanvas) {\n action(parentOffcanvas, `hide.bs.${offcanvasString}`, self.handleHide);\n }\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 ||\n getAttribute(element, titleAtt[0]) ||\n // istanbul ignore next @preserve\n \"\",\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 element: Element & HTMLOrSVGElement;\n declare options: TooltipOptions;\n declare btn?: HTMLElement;\n declare tooltip: HTMLElement;\n declare container: HTMLElement;\n declare offsetParent: Element | Window;\n declare arrow: HTMLElement;\n declare enabled: boolean;\n declare id: string;\n declare _observer: PositionObserver;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: Element | 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 @preserve: this is to set Popover too\n getTooltipInstance = (elem: Element) =>\n 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 // istanbul ignore else @preserve\n if (((!options.title && isTooltip) || (!isTooltip && !options.content))) {\n return;\n }\n\n // reset default options\n ObjectAssign(tooltipDefaults, { titleAttr: \"\" });\n\n // set title attributes and add event listeners\n // istanbul ignore else @preserve\n if (\n hasAttribute(element, titleAttr) && isTooltip &&\n typeof options.title === \"string\"\n ) {\n toggleTooltipTitle(this, options.title);\n }\n\n // set containers\n const container = getElementContainer(element);\n const offsetParent = [\"sticky\", \"fixed\", \"relative\"].some(\n (position) =>\n getElementStyle(container, \"position\") ===\n position,\n )\n ? container\n : getWindow(element);\n\n this.container = container;\n this.offsetParent = offsetParent;\n\n // create tooltip here\n createTip(this);\n\n /* istanbul ignore if @preserve */\n if (!this.tooltip) return;\n\n // create observer\n this._observer = new PositionObserver((entries) => {\n /* istanbul ignore else */\n if (!entries.some((entry) => entry.isVisible)) return;\n this.update();\n });\n\n // attach events\n this._toggleEventListeners(true);\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 // istanbul ignore next @preserve - impossible to test without Apple device\n handleFocus = () => focus(this.element as HTMLElement);\n /** Shows the tooltip. */\n handleShow = () => this.show();\n show() {\n const { options, tooltip, element, container, id } = this;\n const { animation } = options;\n const outTimer = Timer.get(element, \"out\");\n\n Timer.clear(element, \"out\");\n\n if (tooltip && !outTimer && !hasTip(this)) {\n Timer.set(\n element,\n () => {\n const showTooltipEvent = createCustomEvent<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `show.bs.${toLowerCase(this.name)}`,\n );\n dispatchEvent(element, showTooltipEvent);\n\n // istanbul ignore else @preserve\n if (!showTooltipEvent.defaultPrevented) {\n // append to container\n appendPopup(tooltip, container);\n\n setAttribute(element, ariaDescribedBy, `#${id}`);\n\n this.update();\n toggleTooltipOpenHandlers(this, true);\n\n // istanbul ignore else @preserve\n if (!hasClass(tooltip, showClass)) addClass(tooltip, showClass);\n // istanbul ignore else @preserve\n if (animation) {\n 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 @preserve\n if (tooltip && hasTip(this)) {\n Timer.set(\n element,\n () => {\n const hideTooltipEvent = createCustomEvent<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `hide.bs.${toLowerCase(this.name)}`,\n );\n dispatchEvent(element, hideTooltipEvent);\n\n // istanbul ignore else @preserve\n if (!hideTooltipEvent.defaultPrevented) {\n this.update();\n removeClass(tooltip, showClass);\n toggleTooltipOpenHandlers(this);\n\n // istanbul ignore else @preserve\n if (animation) {\n 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 @preserve\n if (!enabled) {\n this._toggleEventListeners(true);\n this.enabled = !enabled;\n }\n }\n\n /** Disables the tooltip. */\n disable() {\n const { tooltip, enabled } = this;\n // istanbul ignore else @preserve\n if (enabled) {\n if (tooltip && hasTip(this)) this.hide();\n this._toggleEventListeners();\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 if @preserve\n if (\n (tooltip && tooltip.contains(target)) ||\n target === element ||\n (target && element.contains(target))\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\n ? true\n : false;\n\n // istanbul ignore else @preserve\n if (!trigger.includes(\"manual\")) {\n this.enabled = !!add;\n\n const triggerOptions = trigger.split(\" \");\n\n triggerOptions.forEach((tr) => {\n // istanbul ignore else @preserve\n if (tr === mousehoverEvent) {\n action(element, mousedownEvent, this.handleShow);\n action(element, mouseenterEvent, this.handleShow);\n\n // istanbul ignore else @preserve\n if (!dismissible) {\n action(element, mouseleaveEvent, this.handleHide);\n action(\n getDocument(element),\n touchstartEvent,\n this.handleTouch,\n passiveHandler,\n );\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 @preserve\n if (!dismissible) action(element, focusoutEvent, this.handleHide);\n // istanbul ignore else @preserve\n if (isApple()) {\n action(element, mouseclickEvent, this.handleFocus);\n }\n }\n // istanbul ignore else @preserve\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 = () =>\n setTimeout(\n () => disposeTooltipComplete(clone, () => super.dispose()),\n 17,\n );\n\n if (options.animation && hasTip(clone)) {\n this.options.delay = 0; // reset delay\n this.hide();\n emulateTransitionEnd(tooltip, 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","offsetParent","options","RTL","isRTL","scrollLeft","scrollTop","getNodeScroll","setElementStyle","tipWidth","tipHeight","htmlcw","htmlch","htmlow","getDocumentElement","placement","parentCWidth","parentOWidth","fixedParent","getElementStyle","scrollbarWidth","leftBoundry","rightBoundry","observerEntry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","getBoundingClientRect","elemOffsetLeft","elemOffsetTop","getRectRelativeToOffsetParent","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","tipPositions","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","removeAttribute","ariaDescribedBy","removePopup","hasTip","hasPopup","disposeTooltipComplete","callback","hasAttribute","toggleTooltipTitle","toggleTooltipAction","add","action","addListener","removeListener","touchstartEvent","passiveHandler","tooltipShownAction","shownTooltipEvent","Timer","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","parentModal","closest","modalString","parentOffcanvas","offcanvasString","target","titleAtt","getAttribute","BaseComponent","config","tipComponent","elem","getUID","ObjectAssign","position","getWindow","PositionObserver","entries","entry","focus","outTimer","showTooltipEvent","appendPopup","showClass","emulateTransitionEnd","delay","hideTooltipEvent","removeClass","enabled","btn","trigger","tr","mousehoverEvent","mousedownEvent","mouseenterEvent","mouseleaveEvent","mouseclickEvent","focusEvent","focusinEvent","focusoutEvent","isApple","clone"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/tooltip-DMsoGjJu.js b/dist/components/tooltip-DMsoGjJu.js new file mode 100644 index 00000000..c1b38183 --- /dev/null +++ b/dist/components/tooltip-DMsoGjJu.js @@ -0,0 +1,2 @@ +"use strict";const t=require("./base-component-CEXwoid1.js"),vt=require("./index-CxumdV5N.js"),Tt=require("./dataBsToggle-Dj-Ng54N.js"),tt=require("./showClass-D_Ms1FgG.js"),S=require("./popupContainer-B1-dZ_ye.js"),it=require("./fadeClass-Co6nOzNJ.js"),Q="popover",rt="Popover",T="tooltip",ct=s=>{const e=s===T,o=e?`${s}-inner`:`${s}-body`,i=e?"":`

`,l=`
`,a=`
`;return`
${i+l+a}
`},ht={top:"top",bottom:"bottom",left:"start",right:"end"},et=s=>{requestAnimationFrame(()=>{const e=/\b(top|bottom|start|end)+/,{element:o,tooltip:i,container:l,offsetParent:a,options:d,arrow:c}=s;if(!i)return;const f=t.Uo(o),{x:w,y:h}=t.ko(a);t.Eo(i,{top:"",left:"",right:"",bottom:""});const{offsetWidth:u,offsetHeight:m}=i,{clientWidth:g,clientHeight:P,offsetWidth:L}=t.S(o);let{placement:n}=d;const{clientWidth:b,offsetWidth:F}=l,p=t.g(l,"position")==="fixed",Z=Math.abs(p?b-F:g-L),x=f&&p?Z:0,$=g-(f?0:Z)-1,Y=s._observer.getEntry(o),{width:r,height:v,left:z,right:gt,top:j}=Y?.boundingClientRect||t.w(o,!0),{x:I,y:W}=t.Co(o,a,{x:w,y:h});t.Eo(c,{top:"",left:"",right:"",bottom:""});let q=0,B="",C=0,V="",A="",G="",J="";const H=c.offsetWidth||0,y=c.offsetHeight||0,K=H/2;let O=j-m-y<0,_=j+m+v+y>=P,k=z-u-H=$;const U=["left","right"],X=["top","bottom"];O=U.includes(n)?j+v/2-m/2-y<0:O,_=U.includes(n)?j+m/2+v/2+y>=P:_,k=X.includes(n)?z+r/2-u/2=$:D,n=U.includes(n)&&k&&D?"top":n,n=n==="top"&&O?"bottom":n,n=n==="bottom"&&_?"top":n,n=n==="left"&&k?"right":n,n=n==="right"&&D?"left":n,i.className.includes(n)||(i.className=i.className.replace(e,ht[n])),U.includes(n)?(n==="left"?C=I-u-H:C=I+r+H,O&&_?(q=0,B=0,A=W+v/2-y/2):O?(q=W,B="",A=v/2-H):_?(q=W-m+v,B="",A=m-v/2-H):(q=W-m/2+v/2,A=m/2-y/2)):X.includes(n)&&(n==="top"?q=W-m-y:q=W+v+y,k?(C=0,G=I+r/2-K):D?(C="auto",V=0,J=r/2+$-gt-K):(C=I-u/2+r/2,G=u/2-K)),t.Eo(i,{top:`${q}px`,bottom:B===""?"":`${B}px`,left:C==="auto"?C:`${C}px`,right:V!==""?`${V}px`:""}),t.m(c)&&(A!==""&&(c.style.top=`${A}px`),G!==""?c.style.left=`${G}px`:J!==""&&(c.style.right=`${J}px`));const bt=t.mo(`updated.bs.${t.yo(s.name)}`);t.q(o,bt)})},ot={template:ct(T),title:"",customClass:"",trigger:"hover focus",placement:"top",sanitizeFn:void 0,animation:!0,delay:200,container:document.body,content:"",dismissible:!1,btnClose:""},dt="data-original-title",N="Tooltip",E=(s,e,o)=>{if(t.k(e)&&e.length){let i=e.trim();t.zo(o)&&(i=o(i));const a=new DOMParser().parseFromString(i,"text/html");s.append(...a.body.childNodes)}else t.m(e)?s.append(e):(t.Vo(e)||t.Se(e)&&e.every(t.l))&&s.append(...e)},wt=s=>{const e=s.name===N,{id:o,element:i,options:l}=s,{title:a,placement:d,template:c,animation:f,customClass:w,sanitizeFn:h,dismissible:u,content:m,btnClose:g}=l,P=e?T:Q,L={...ht};let n=[],b=[];t.Uo(i)&&(L.left="end",L.right="start");const F=`bs-${P}-${L[d]}`;let R;if(t.m(c))R=c;else{const r=t.se("div");E(r,c,h),R=r.firstChild}if(!t.m(R))return;s.tooltip=R.cloneNode(!0);const{tooltip:p}=s;t.Qn(p,"id",o),t.Qn(p,"role",T);const Z=e?`${T}-inner`:`${Q}-body`,x=e?null:t.Ro(`.${Q}-header`,p),$=t.Ro(`.${Z}`,p);s.arrow=t.Ro(`.${P}-arrow`,p);const{arrow:Y}=s;if(t.m(a))n=[a.cloneNode(!0)];else{const r=t.se("div");E(r,a,h),n=[...r.childNodes]}if(t.m(m))b=[m.cloneNode(!0)];else{const r=t.se("div");E(r,m,h),b=[...r.childNodes]}if(u)if(a)if(t.m(g))n=[...n,g.cloneNode(!0)];else{const r=t.se("div");E(r,g,h),n=[...n,r.firstChild]}else if(x&&x.remove(),t.m(g))b=[...b,g.cloneNode(!0)];else{const r=t.se("div");E(r,g,h),b=[...b,r.firstChild]}e?a&&$&&E($,a,h):(a&&x&&E(x,n,h),m&&$&&E($,b,h),s.btn=t.Ro(".btn-close",p)||void 0),t.qn(p,"position-absolute"),t.qn(Y,"position-absolute"),t.Zn(p,P)||t.qn(p,P),f&&!t.Zn(p,it.fadeClass)&&t.qn(p,it.fadeClass),w&&!t.Zn(p,w)&&t.qn(p,w),t.Zn(p,F)||t.qn(p,F)},$t=s=>{const e=["HTML","BODY"],o=[];let{parentNode:i}=s;for(;i&&!e.includes(i.nodeName);)i=t.A(i),t.me(i)||t.be(i)||o.push(i);return o.find((l,a)=>(t.g(l,"position")!=="relative"||t.g(l,"position")==="relative"&&l.offsetHeight!==l.scrollHeight)&&o.slice(a+1).every(d=>t.g(d,"position")==="static")?l:null)||t.d(s).body},Ct=`[${Tt.dataBsToggle}="${T}"],[data-tip="${T}"]`,pt="title";let st=s=>t.to(s,N);const yt=s=>new ut(s),Et=s=>{const{element:e,tooltip:o,container:i}=s;t.Gn(e,t.De),S.removePopup(o,i)},M=s=>{const{tooltip:e,container:o}=s;return e&&S.hasPopup(e,o)},Pt=(s,e)=>{const{element:o}=s;s._toggleEventListeners(),t.oe(o,dt)&&s.name===N&&mt(s),e&&e()},ft=(s,e)=>{const o=e?t.E:t.r,{element:i}=s;o(t.d(i),t.Qt,s.handleTouch,t.vo)},nt=s=>{const{element:e}=s,o=t.mo(`shown.bs.${t.yo(s.name)}`);ft(s,!0),t.q(e,o),t.ho.clear(e,"in")},lt=s=>{const{element:e}=s,o=t.mo(`hidden.bs.${t.yo(s.name)}`);ft(s),Et(s),t.q(e,o),t.ho.clear(e,"out")},at=(s,e)=>{const o=e?t.E:t.r,{element:i,tooltip:l}=s,a=t.ke(i,`.${S.modalString}`),d=t.ke(i,`.${S.offcanvasString}`);e?[i,l].forEach(c=>s._observer.observe(c)):s._observer.disconnect(),a&&o(a,`hide.bs.${S.modalString}`,s.handleHide),d&&o(d,`hide.bs.${S.offcanvasString}`,s.handleHide)},mt=(s,e)=>{const o=[dt,pt],{element:i}=s;t.Qn(i,o[e?0:1],e||t.j(i,o[0])||""),t.Gn(i,o[e?1:0])};class ut extends t.BaseComponent{static selector=Ct;static init=yt;static getInstance=st;static styleTip=et;constructor(e,o){super(e,o);const{element:i}=this,l=this.name===N,a=l?T:Q,d=l?N:rt;st=h=>t.to(h,d),this.enabled=!0,this.id=`${a}-${t.Ae(i,a)}`;const{options:c}=this;if(!c.title&&l||!l&&!c.content)return;t.N(ot,{titleAttr:""}),t.oe(i,pt)&&l&&typeof c.title=="string"&&mt(this,c.title);const f=$t(i),w=["sticky","fixed","relative"].some(h=>t.g(f,"position")===h)?f:t.ve(i);this.container=f,this.offsetParent=w,wt(this),this.tooltip&&(this._observer=new vt.v(()=>this.update()),this._toggleEventListeners(!0))}get name(){return N}get defaults(){return ot}handleFocus=()=>t.ao(this.element);handleShow=()=>this.show();show(){const{options:e,tooltip:o,element:i,container:l,id:a}=this,{animation:d}=e,c=t.ho.get(i,"out");t.ho.clear(i,"out"),o&&!c&&!M(this)&&t.ho.set(i,()=>{const f=t.mo(`show.bs.${t.yo(this.name)}`);t.q(i,f),f.defaultPrevented||(S.appendPopup(o,l),t.Qn(i,t.De,`#${a}`),this.update(),at(this,!0),t.Zn(o,tt.showClass)||t.qn(o,tt.showClass),d?t.so(o,()=>nt(this)):nt(this))},17,"in")}handleHide=()=>this.hide();hide(){const{options:e,tooltip:o,element:i}=this,{animation:l,delay:a}=e;t.ho.clear(i,"in"),o&&M(this)&&t.ho.set(i,()=>{const d=t.mo(`hide.bs.${t.yo(this.name)}`);t.q(i,d),d.defaultPrevented||(this.update(),t.Yn(o,tt.showClass),at(this),l?t.so(o,()=>lt(this)):lt(this))},a+17,"out")}update=()=>{et(this)};toggle=()=>{const{tooltip:e}=this;e&&!M(this)?this.show():this.hide()};enable(){const{enabled:e}=this;e||(this._toggleEventListeners(!0),this.enabled=!e)}disable(){const{tooltip:e,enabled:o}=this;o&&(e&&M(this)&&this.hide(),this._toggleEventListeners(),this.enabled=!o)}toggleEnabled(){this.enabled?this.disable():this.enable()}handleTouch=({target:e})=>{const{tooltip:o,element:i}=this;o&&o.contains(e)||e===i||e&&i.contains(e)||this.hide()};_toggleEventListeners=e=>{const o=e?t.E:t.r,{element:i,options:l,btn:a}=this,{trigger:d}=l,f=!!(this.name!==N&&l.dismissible);d.includes("manual")||(this.enabled=!!e,d.split(" ").forEach(h=>{h===t.yt?(o(i,t.Et,this.handleShow),o(i,t.wt,this.handleShow),f||(o(i,t.At,this.handleHide),o(t.d(i),t.Qt,this.handleTouch,t.vo))):h===t.vt?o(i,h,f?this.handleShow:this.toggle):h===t.ct&&(o(i,t.at,this.handleShow),f||o(i,t.it,this.handleHide),t.zn()&&o(i,t.vt,this.handleFocus)),f&&a&&o(a,t.vt,this.handleHide)}))};dispose(){const{tooltip:e,options:o}=this,i={...this,name:this.name},l=()=>setTimeout(()=>Pt(i,()=>super.dispose()),17);o.animation&&M(i)?(this.options.delay=0,this.hide(),t.so(e,l)):l()}}exports.Tooltip=ut;exports.getTipTemplate=ct;exports.popoverComponent=rt;exports.popoverString=Q;exports.styleTip=et;exports.tooltipDefaults=ot; +//# sourceMappingURL=tooltip-DMsoGjJu.js.map diff --git a/dist/components/tooltip-DMsoGjJu.js.map b/dist/components/tooltip-DMsoGjJu.js.map new file mode 100644 index 00000000..53983391 --- /dev/null +++ b/dist/components/tooltip-DMsoGjJu.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tooltip-DMsoGjJu.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 `
${\n header + arrow + body\n }
`;\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 createCustomEvent,\n dispatchEvent,\n getBoundingClientRect,\n getDocumentElement,\n getElementStyle,\n getNodeScroll,\n getRectRelativeToOffsetParent,\n isHTMLElement,\n isRTL,\n setElementStyle,\n toLowerCase,\n} from \"@thednp/shorty\";\n\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: Tooltip) => {\n requestAnimationFrame(() => {\n const tipClasses = /\\b(top|bottom|start|end)+/;\n const { element, tooltip, container, offsetParent, options, arrow } = self;\n\n // istanbul ignore if @preserve\n if (!tooltip) return;\n const RTL = isRTL(element);\n const { x: scrollLeft, y: scrollTop } = getNodeScroll(offsetParent);\n\n // reset tooltip style (top: 0, left: 0 works best)\n setElementStyle(tooltip, {\n top: \"\",\n left: \"\",\n right: \"\",\n bottom: \"\",\n });\n const { offsetWidth: tipWidth, offsetHeight: tipHeight } = tooltip;\n const { clientWidth: htmlcw, clientHeight: htmlch, offsetWidth: htmlow } =\n getDocumentElement(element);\n let { placement } = options;\n const { clientWidth: parentCWidth, offsetWidth: parentOWidth } = container;\n const parentPosition = getElementStyle(\n container,\n \"position\",\n );\n const fixedParent = parentPosition === \"fixed\";\n const scrollbarWidth = fixedParent\n ? Math.abs(parentCWidth - parentOWidth)\n : Math.abs(htmlcw - htmlow);\n const leftBoundry = RTL && fixedParent\n ? /* istanbul ignore next @preserve */ scrollbarWidth\n : 0;\n const rightBoundry = htmlcw - (!RTL ? scrollbarWidth : 0) - 1;\n\n // reuse observer entry bounding box\n const observerEntry = self._observer.getEntry(element);\n const {\n width: elemWidth,\n height: elemHeight,\n left: elemRectLeft,\n right: elemRectRight,\n top: elemRectTop,\n } = observerEntry?.boundingClientRect ||\n getBoundingClientRect(element, true);\n\n const {\n x: elemOffsetLeft,\n y: elemOffsetTop,\n } = getRectRelativeToOffsetParent(\n element,\n offsetParent,\n { x: scrollLeft, y: scrollTop },\n );\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.offsetWidth || 0;\n const arrowHeight = arrow.offsetHeight || 0;\n const arrowAdjust = arrowWidth / 2;\n\n // check placement\n let topExceed = elemRectTop - tipHeight - arrowHeight < 0;\n let bottomExceed =\n elemRectTop + tipHeight + elemHeight + arrowHeight >= htmlch;\n let leftExceed = elemRectLeft - tipWidth - arrowWidth < leftBoundry;\n let rightExceed =\n 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)\n ? elemRectLeft + elemWidth / 2 - tipWidth / 2 < leftBoundry\n : 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\n ? \"top\"\n : 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\n ? \"left\"\n // istanbul ignore next @preserve\n : placement;\n\n // update tooltip/popover class\n // istanbul ignore else @preserve\n if (!tooltip.className.includes(placement)) {\n tooltip.className = tooltip.className.replace(\n tipClasses,\n tipClassPositions[placement],\n );\n }\n\n // compute tooltip / popover coordinates\n // istanbul ignore else @preserve\n if (horizontals.includes(placement)) {\n // secondary|side positions\n if (placement === \"left\") {\n // LEFT\n leftPosition = elemOffsetLeft - tipWidth - arrowWidth;\n } else {\n // RIGHT\n leftPosition = elemOffsetLeft + elemWidth + arrowWidth;\n }\n\n // adjust top and arrow\n if (topExceed && bottomExceed) {\n topPosition = 0;\n bottomPosition = 0;\n arrowTop = elemOffsetTop + elemHeight / 2 - arrowHeight / 2;\n } else if (topExceed) {\n topPosition = elemOffsetTop;\n bottomPosition = \"\";\n arrowTop = elemHeight / 2 - arrowWidth;\n } else if (bottomExceed) {\n topPosition = elemOffsetTop - tipHeight + elemHeight;\n bottomPosition = \"\";\n arrowTop = tipHeight - elemHeight / 2 - arrowWidth;\n } else {\n topPosition = elemOffsetTop - tipHeight / 2 + elemHeight / 2;\n arrowTop = tipHeight / 2 - arrowHeight / 2;\n }\n } else if (verticals.includes(placement)) {\n if (placement === \"top\") {\n topPosition = elemOffsetTop - tipHeight - arrowHeight;\n } else {\n // BOTTOM\n topPosition = elemOffsetTop + elemHeight + arrowHeight;\n }\n\n // adjust left | right and also the arrow\n if (leftExceed) {\n leftPosition = 0;\n arrowLeft = elemOffsetLeft + elemWidth / 2 - arrowAdjust;\n } else if (rightExceed) {\n leftPosition = \"auto\";\n rightPosition = 0;\n arrowRight = elemWidth / 2 + rightBoundry - elemRectRight - arrowAdjust;\n } else {\n leftPosition = elemOffsetLeft - 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 @preserve\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<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `updated.bs.${toLowerCase(self.name)}`,\n );\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 {\n isArray,\n isFunction,\n isHTMLElement,\n isNode,\n isNodeList,\n isString,\n} 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 = (\n element: HTMLElement,\n content: Node[] | Node | string,\n sanitizeFn?: (s: string) => string,\n) => {\n // istanbul ignore else @preserve\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 (\n isNodeList(content) || (isArray(content) && content.every(isNode))\n ) {\n element.append(...[...content]);\n }\n};\nexport default setHtml;\n","import {\n addClass,\n createElement,\n hasClass,\n isHTMLElement,\n isRTL,\n querySelector,\n setAttribute,\n} 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 {\n title,\n placement,\n template,\n animation,\n customClass,\n sanitizeFn,\n dismissible,\n content,\n btnClose,\n } = 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 /* istanbul ignore if @preserve */\n if (!isHTMLElement(tooltipTemplate)) return;\n\n // set popover markup\n self.tooltip = tooltipTemplate.cloneNode(true) as HTMLElement;\n const { tooltip } = self;\n\n // set id and role attributes\n setAttribute(tooltip, \"id\", id);\n setAttribute(tooltip, \"role\", tooltipString);\n\n const bodyClass = isTooltip\n ? `${tooltipString}-inner`\n : `${popoverString}-body`;\n const tooltipHeader = isTooltip\n ? null\n : querySelector(`.${popoverString}-header`, tooltip);\n const tooltipBody = querySelector(`.${bodyClass}`, tooltip);\n\n // set arrow and enable access for styleTip\n self.arrow = querySelector(\n `.${tipString}-arrow`,\n tooltip,\n ) 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)) {\n 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 @preserve\n if (tooltipHeader) tooltipHeader.remove();\n if (isHTMLElement(btnClose)) {\n 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 @preserve\n if (!isTooltip) {\n // istanbul ignore else @preserve\n if (title && tooltipHeader) {\n setHtml(tooltipHeader, titleParts, sanitizeFn);\n }\n // istanbul ignore else @preserve\n if (content && tooltipBody) {\n setHtml(tooltipBody, contentParts, sanitizeFn);\n }\n // set btn\n self.btn = querySelector(\".btn-close\", tooltip) ||\n undefined;\n } else if (title && tooltipBody) setHtml(tooltipBody, title, sanitizeFn);\n\n // Bootstrap 5.2.x\n addClass(tooltip, \"position-absolute\");\n addClass(arrow, \"position-absolute\");\n\n // set popover animation and placement\n // istanbul ignore else @preserve\n if (!hasClass(tooltip, tipString)) addClass(tooltip, tipString);\n // istanbul ignore else @preserve\n if (animation && !hasClass(tooltip, fadeClass)) {\n addClass(tooltip, fadeClass);\n }\n // istanbul ignore else @preserve\n if (customClass && !hasClass(tooltip, customClass)) {\n addClass(tooltip, customClass);\n }\n // istanbul ignore else @preserve\n if (!hasClass(tooltip, placementClass)) addClass(tooltip, placementClass);\n};\n\nexport default createTip;\n","import {\n getDocument,\n getElementStyle,\n getParentNode,\n isShadowRoot,\n isTableElement,\n} 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: Element) => {\n const majorBlockTags = [\"HTML\", \"BODY\"];\n const containers: HTMLElement[] = [];\n let { parentNode } = element;\n\n while (parentNode && !majorBlockTags.includes(parentNode.nodeName)) {\n parentNode = getParentNode(parentNode) as HTMLElement;\n // istanbul ignore else @preserve\n if (!(isShadowRoot(parentNode) || isTableElement(parentNode))) {\n containers.push(parentNode as HTMLElement);\n }\n }\n\n return (\n containers.find((c, i) => {\n if (\n ((getElementStyle(c, \"position\") !== \"relative\" ||\n getElementStyle(c, \"position\") === \"relative\" &&\n c.offsetHeight !== c.scrollHeight) &&\n containers.slice(i + 1).every((r) =>\n getElementStyle(r, \"position\") === \"static\"\n ))\n ) {\n return c;\n }\n return null;\n }) ||\n /* istanbul ignore next: optional guard */\n getDocument(element).body\n );\n};\n\nexport default getElementContainer;\n","/* Native JavaScript for Bootstrap 5 | Tooltip\n---------------------------------------------- */\nimport {\n addClass,\n ariaDescribedBy,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n focus,\n focusEvent,\n focusinEvent,\n focusoutEvent,\n getAttribute,\n getDocument,\n getElementStyle,\n getInstance,\n getUID,\n getWindow,\n hasAttribute,\n hasClass,\n isApple,\n mouseclickEvent,\n mousedownEvent,\n mouseenterEvent,\n mousehoverEvent,\n mouseleaveEvent,\n ObjectAssign,\n passiveHandler,\n removeAttribute,\n removeClass,\n setAttribute,\n Timer,\n toLowerCase,\n TouchEvent,\n touchstartEvent,\n} from \"@thednp/shorty\";\n\nimport { addListener, removeListener } from \"@thednp/event-listener\";\nimport PositionObserver from \"@thednp/position-observer\";\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, hasPopup, removePopup } from \"~/util/popupContainer\";\nimport getElementContainer from \"~/util/getElementContainer\";\nimport tooltipDefaults from \"~/util/tooltipDefaults\";\nimport BaseComponent from \"./base-component\";\nimport type { TooltipEvent, TooltipOptions } from \"~/interface/tooltip\";\nimport type { PopoverEvent, PopoverOptions } from \"~/interface/popover\";\n\n// TOOLTIP PRIVATE GC\n// ==================\nconst tooltipSelector =\n `[${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 */\nlet getTooltipInstance = (element: Element) =>\n getInstance(element, tooltipComponent);\n\n/**\n * A `Tooltip` initialization callback.\n */\nconst tooltipInitCallback = (element: Element) => 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 } = self;\n removeAttribute(element, ariaDescribedBy);\n removePopup(\n tooltip,\n container,\n );\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 } = self;\n\n return tooltip &&\n hasPopup(tooltip, container);\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 @preserve\n if (\n hasAttribute(element, dataOriginalTitle) && self.name === tooltipComponent\n ) {\n toggleTooltipTitle(self);\n }\n // istanbul ignore else @preserve\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(\n getDocument(element),\n touchstartEvent,\n self.handleTouch,\n 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<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `shown.bs.${toLowerCase(self.name)}`,\n );\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<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `hidden.bs.${toLowerCase(self.name)}`,\n );\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, tooltip } = self;\n const parentModal = closest(element, `.${modalString}`);\n const parentOffcanvas = closest(element, `.${offcanvasString}`);\n\n if (add) {\n [element, tooltip]\n .forEach((target) => self._observer.observe(target));\n } else self._observer.disconnect();\n\n // dismiss tooltips inside modal / offcanvas\n if (parentModal) {\n action(parentModal, `hide.bs.${modalString}`, self.handleHide);\n }\n if (parentOffcanvas) {\n action(parentOffcanvas, `hide.bs.${offcanvasString}`, self.handleHide);\n }\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 ||\n getAttribute(element, titleAtt[0]) ||\n // istanbul ignore next @preserve\n \"\",\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 element: Element & HTMLOrSVGElement;\n declare options: TooltipOptions;\n declare btn?: HTMLElement;\n declare tooltip: HTMLElement;\n declare container: HTMLElement;\n declare offsetParent: Element | Window;\n declare arrow: HTMLElement;\n declare enabled: boolean;\n declare id: string;\n declare _observer: PositionObserver;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(target: Element | 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 @preserve: this is to set Popover too\n getTooltipInstance = (elem: Element) =>\n 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 // istanbul ignore else @preserve\n if (((!options.title && isTooltip) || (!isTooltip && !options.content))) {\n return;\n }\n\n // reset default options\n ObjectAssign(tooltipDefaults, { titleAttr: \"\" });\n\n // set title attributes and add event listeners\n // istanbul ignore else @preserve\n if (\n hasAttribute(element, titleAttr) && isTooltip &&\n typeof options.title === \"string\"\n ) {\n toggleTooltipTitle(this, options.title);\n }\n\n // set containers\n const container = getElementContainer(element);\n const offsetParent = [\"sticky\", \"fixed\", \"relative\"].some(\n (position) =>\n getElementStyle(container, \"position\") ===\n position,\n )\n ? container\n : getWindow(element);\n\n this.container = container;\n this.offsetParent = offsetParent;\n\n // create tooltip here\n createTip(this);\n\n /* istanbul ignore if @preserve */\n if (!this.tooltip) return;\n\n // create observer\n this._observer = new PositionObserver(() => this.update());\n\n // attach events\n this._toggleEventListeners(true);\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 // istanbul ignore next @preserve - impossible to test without Apple device\n handleFocus = () => focus(this.element as HTMLElement);\n /** Shows the tooltip. */\n handleShow = () => this.show();\n show() {\n const { options, tooltip, element, container, id } = this;\n const { animation } = options;\n const outTimer = Timer.get(element, \"out\");\n\n Timer.clear(element, \"out\");\n\n if (tooltip && !outTimer && !hasTip(this)) {\n Timer.set(\n element,\n () => {\n const showTooltipEvent = createCustomEvent<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `show.bs.${toLowerCase(this.name)}`,\n );\n dispatchEvent(element, showTooltipEvent);\n\n // istanbul ignore else @preserve\n if (!showTooltipEvent.defaultPrevented) {\n // append to container\n appendPopup(tooltip, container);\n\n setAttribute(element, ariaDescribedBy, `#${id}`);\n\n this.update();\n toggleTooltipOpenHandlers(this, true);\n\n // istanbul ignore else @preserve\n if (!hasClass(tooltip, showClass)) addClass(tooltip, showClass);\n // istanbul ignore else @preserve\n if (animation) {\n 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 @preserve\n if (tooltip && hasTip(this)) {\n Timer.set(\n element,\n () => {\n const hideTooltipEvent = createCustomEvent<\n Record,\n TooltipEvent | PopoverEvent\n >(\n `hide.bs.${toLowerCase(this.name)}`,\n );\n dispatchEvent(element, hideTooltipEvent);\n\n // istanbul ignore else @preserve\n if (!hideTooltipEvent.defaultPrevented) {\n this.update();\n removeClass(tooltip, showClass);\n toggleTooltipOpenHandlers(this);\n\n // istanbul ignore else @preserve\n if (animation) {\n 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 @preserve\n if (!enabled) {\n this._toggleEventListeners(true);\n this.enabled = !enabled;\n }\n }\n\n /** Disables the tooltip. */\n disable() {\n const { tooltip, enabled } = this;\n // istanbul ignore else @preserve\n if (enabled) {\n if (tooltip && hasTip(this)) this.hide();\n this._toggleEventListeners();\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 if @preserve\n if (\n (tooltip && tooltip.contains(target)) ||\n target === element ||\n (target && element.contains(target))\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\n ? true\n : false;\n\n // istanbul ignore else @preserve\n if (!trigger.includes(\"manual\")) {\n this.enabled = !!add;\n\n const triggerOptions = trigger.split(\" \");\n\n triggerOptions.forEach((tr) => {\n // istanbul ignore else @preserve\n if (tr === mousehoverEvent) {\n action(element, mousedownEvent, this.handleShow);\n action(element, mouseenterEvent, this.handleShow);\n\n // istanbul ignore else @preserve\n if (!dismissible) {\n action(element, mouseleaveEvent, this.handleHide);\n action(\n getDocument(element),\n touchstartEvent,\n this.handleTouch,\n passiveHandler,\n );\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 @preserve\n if (!dismissible) action(element, focusoutEvent, this.handleHide);\n // istanbul ignore else @preserve\n if (isApple()) {\n action(element, mouseclickEvent, this.handleFocus);\n }\n }\n // istanbul ignore else @preserve\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 = () =>\n setTimeout(\n () => disposeTooltipComplete(clone, () => super.dispose()),\n 17,\n );\n\n if (options.animation && hasTip(clone)) {\n this.options.delay = 0; // reset delay\n this.hide();\n emulateTransitionEnd(tooltip, 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","offsetParent","options","RTL","isRTL","scrollLeft","scrollTop","getNodeScroll","setElementStyle","tipWidth","tipHeight","htmlcw","htmlch","htmlow","getDocumentElement","placement","parentCWidth","parentOWidth","fixedParent","getElementStyle","scrollbarWidth","leftBoundry","rightBoundry","observerEntry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","getBoundingClientRect","elemOffsetLeft","elemOffsetTop","getRectRelativeToOffsetParent","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","tipPositions","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","removeAttribute","ariaDescribedBy","removePopup","hasTip","hasPopup","disposeTooltipComplete","callback","hasAttribute","toggleTooltipTitle","toggleTooltipAction","add","action","addListener","removeListener","touchstartEvent","passiveHandler","tooltipShownAction","shownTooltipEvent","Timer","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","parentModal","closest","modalString","parentOffcanvas","offcanvasString","target","titleAtt","getAttribute","BaseComponent","config","tipComponent","elem","getUID","ObjectAssign","position","getWindow","PositionObserver","focus","outTimer","showTooltipEvent","appendPopup","showClass","emulateTransitionEnd","delay","hideTooltipEvent","removeClass","enabled","btn","trigger","tr","mousehoverEvent","mousedownEvent","mouseenterEvent","mouseleaveEvent","mouseclickEvent","focusEvent","focusinEvent","focusoutEvent","isApple","clone"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/tooltip.cjs b/dist/components/tooltip.cjs index cd3e3a85..0a8d0aec 100644 --- a/dist/components/tooltip.cjs +++ b/dist/components/tooltip.cjs @@ -1,2 +1,2 @@ -"use strict";require("./base-component-DaZCwW-u.js");require("./event-listener-BQdA_KAC.js");require("./index-DlQfhTUb.js");require("./dataBsToggle-Dj-Ng54N.js");const e=require("./tooltip-DKh6RNNg.js");require("./showClass-D_Ms1FgG.js");require("./popupContainer-CSoNJ-n6.js");module.exports=e.Tooltip; +"use strict";require("./base-component-CEXwoid1.js");require("./index-CxumdV5N.js");require("./dataBsToggle-Dj-Ng54N.js");const e=require("./tooltip-DMsoGjJu.js");require("./showClass-D_Ms1FgG.js");require("./popupContainer-B1-dZ_ye.js");module.exports=e.Tooltip; //# sourceMappingURL=tooltip.cjs.map diff --git a/dist/components/tooltip.mjs b/dist/components/tooltip.mjs index ed405b90..ed4306ec 100644 --- a/dist/components/tooltip.mjs +++ b/dist/components/tooltip.mjs @@ -1,11 +1,10 @@ -import "./base-component-Jx2aafTJ.mjs"; -import "./event-listener-CUwvA4j6.mjs"; -import "./index-DinhT6Jq.mjs"; +import "./base-component-CQAH5ZXF.mjs"; +import "./index-DXF8ibvt.mjs"; import "./dataBsToggle-B84TS15h.mjs"; -import { T as f } from "./tooltip-Cxy40RjE.mjs"; +import { T as e } from "./tooltip-ClBo4cww.mjs"; import "./showClass-C8hdJfjQ.mjs"; -import "./popupContainer-CgZsH2ur.mjs"; +import "./popupContainer-BvxACdvn.mjs"; export { - f as default + e as default }; //# sourceMappingURL=tooltip.mjs.map diff --git a/dist/components/tooltip.mjs.map b/dist/components/tooltip.mjs.map index c606ac44..05174b08 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/css/theme.css b/docs/assets/css/theme.css index 7a40c511..ed7d2411 100644 --- a/docs/assets/css/theme.css +++ b/docs/assets/css/theme.css @@ -1,3 +1,7 @@ +:root { + --bs-font-sans-serif: Arial, system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; +} + /* carousel */ #myCarousel .carousel-inner > .carousel-item > .item-bg { position: absolute; @@ -42,7 +46,12 @@ svg.carousel-control-next-icon { height: auto; } +section { + margin-bottom: 3rem; +} + h2 { + margin-top: 3rem; letter-spacing: -3px; font-size: 56px; font-weight: bold; diff --git a/docs/assets/js/bootstrap-native.js b/docs/assets/js/bootstrap-native.js index 3d50cf89..45635bd3 100644 --- a/docs/assets/js/bootstrap-native.js +++ b/docs/assets/js/bootstrap-native.js @@ -1,2 +1,2 @@ -var BSN=function(R){"use strict";const Ls="aria-describedby",fe="aria-expanded",Yt="aria-hidden",ge="aria-modal",_s="aria-pressed",Ie="aria-selected",Le="focus",_e="focusin",Os="focusout",ue="keydown",Ro="keyup",k="click",Ns="mousedown",Bo="hover",pe="mouseenter",Oe="mouseleave",Fo="pointerdown",Wo="pointermove",jo="pointerup",Ne="touchstart",zo="dragstart",Vo='a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]',Me="ArrowDown",Re="ArrowUp",Ms="ArrowLeft",Rs="ArrowRight",Be="Escape",Ko="transitionDuration",qo="transitionDelay",Fe="transitionend",Bs="transitionProperty",Xo=()=>{const e=/(iPhone|iPod|iPad)/;return navigator?.userAgentData?.brands.some(t=>e.test(t.brand))||e.test(navigator?.userAgent)||!1},me=()=>{},Yo=(e,t,s,n)=>{const o=n||!1;e.addEventListener(t,s,o)},Uo=(e,t,s,n)=>{const o=n||!1;e.removeEventListener(t,s,o)},tt=(e,t)=>e.getAttribute(t),Ut=(e,t)=>e.hasAttribute(t),I=(e,t,s)=>e.setAttribute(t,s),Ct=(e,t)=>e.removeAttribute(t),h=(e,...t)=>{e.classList.add(...t)},v=(e,...t)=>{e.classList.remove(...t)},f=(e,t)=>e.classList.contains(t),Gt=e=>e!=null&&typeof e=="object"||!1,D=e=>Gt(e)&&typeof e.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(t=>e.nodeType===t)||!1,U=e=>D(e)&&e.nodeType===1||!1,Rt=new Map,St={data:Rt,set:(e,t,s)=>{U(e)&&(Rt.has(t)||Rt.set(t,new Map),Rt.get(t).set(e,s))},getAllFor:e=>Rt.get(e)||null,get:(e,t)=>{if(!U(e)||!t)return null;const s=St.getAllFor(t);return e&&s&&s.get(e)||null},remove:(e,t)=>{const s=St.getAllFor(t);!s||!U(e)||(s.delete(e),s.size===0&&Rt.delete(t))}},F=(e,t)=>St.get(e,t),Zt=e=>typeof e=="string"||!1,Fs=e=>Gt(e)&&e.constructor.name==="Window"||!1,Ws=e=>D(e)&&e.nodeType===9||!1,w=e=>Ws(e)?e:D(e)?e.ownerDocument:Fs(e)?e.document:globalThis.document,it=(e,...t)=>Object.assign(e,...t),ft=e=>{if(!e)return;if(Zt(e))return w().createElement(e);const{tagName:t}=e,s=ft(t);if(!s)return;const n={...e};return delete n.tagName,it(s,n)},b=(e,t)=>e.dispatchEvent(t),W=(e,t,s)=>{const n=getComputedStyle(e,s),o=t.replace("webkit","Webkit").replace(/([A-Z])/g,"-$1").toLowerCase();return n.getPropertyValue(o)},Go=e=>{const t=W(e,Bs),s=W(e,qo),n=s.includes("ms")?1:1e3,o=t&&t!=="none"?parseFloat(s)*n:0;return Number.isNaN(o)?0:o},Qt=e=>{const t=W(e,Bs),s=W(e,Ko),n=s.includes("ms")?1:1e3,o=t&&t!=="none"?parseFloat(s)*n:0;return Number.isNaN(o)?0:o},H=(e,t)=>{let s=0;const n=new Event(Fe),o=Qt(e),i=Go(e);if(o){const r=c=>{c.target===e&&(t.apply(e,[c]),e.removeEventListener(Fe,r),s=1)};e.addEventListener(Fe,r),setTimeout(()=>{s||b(e,n)},o+i+17)}else t.apply(e,[n])},rt=(e,t)=>e.focus(t),js=e=>["true",!0].includes(e)?!0:["false",!1].includes(e)?!1:["null","",null,void 0].includes(e)?null:e!==""&&!Number.isNaN(+e)?+e:e,ve=e=>Object.entries(e),Bt=e=>e.toLowerCase(),Zo=(e,t,s,n)=>{if(!U(e))return t;const o={...s},i={...e.dataset},r={...t},c={},a="title";return ve(i).forEach(([l,d])=>{const p=typeof l=="string"&&l.includes(n)?l.replace(n,"").replace(/[A-Z]/g,T=>Bt(T)):l;c[p]=js(d)}),ve(o).forEach(([l,d])=>{o[l]=js(d)}),ve(t).forEach(([l,d])=>{l in o?r[l]=o[l]:l in c?r[l]=c[l]:r[l]=l===a?tt(e,a):d}),r},zs=e=>Object.keys(e),E=(e,t)=>{const s=new CustomEvent(e,{cancelable:!0,bubbles:!0});return Gt(t)&&it(s,t),s},Jt={passive:!0},Ht=e=>e.offsetHeight,x=(e,t)=>{ve(t).forEach(([s,n])=>{if(n&&Zt(s)&&s.includes("--"))e.style.setProperty(s,n);else{const o={};o[s]=n,it(e.style,o)}})},We=e=>Gt(e)&&e.constructor.name==="Map"||!1,Qo=e=>typeof e=="number"||!1,gt=new Map,g={set:(e,t,s,n)=>{U(e)&&(n&&n.length?(gt.has(e)||gt.set(e,new Map),gt.get(e).set(n,setTimeout(t,s))):gt.set(e,setTimeout(t,s)))},get:(e,t)=>{if(!U(e))return null;const s=gt.get(e);return t&&s&&We(s)?s.get(t)||null:Qo(s)?s:null},clear:(e,t)=>{if(!U(e))return;const s=gt.get(e);t&&t.length&&We(s)?(clearTimeout(s.get(t)),s.delete(t),s.size===0&>.delete(e)):(clearTimeout(s),gt.delete(e))}},G=(e,t)=>(D(t)?t:w()).querySelectorAll(e),je=new Map;function Jo(e){const{shiftKey:t,code:s}=e,n=w(this),o=[...G(Vo,this)].filter(c=>!Ut(c,"disabled")&&!tt(c,Yt));if(!o.length)return;const i=o[0],r=o[o.length-1];s==="Tab"&&(t&&n.activeElement===i?(r.focus(),e.preventDefault()):!t&&n.activeElement===r&&(i.focus(),e.preventDefault()))}const ti=e=>je.has(e)===!0,be=e=>{const t=ti(e);(t?Uo:Yo)(e,"keydown",Jo),t?je.delete(e):je.set(e,!0)},C=e=>U(e)&&"offsetWidth"in e||!1,ut=(e,t)=>{const{width:s,height:n,top:o,right:i,bottom:r,left:c}=e.getBoundingClientRect();let a=1,l=1;if(t&&C(e)){const{offsetWidth:d,offsetHeight:p}=e;a=d>0?Math.round(s)/d:1,l=p>0?Math.round(n)/p:1}return{width:s/a,height:n/l,top:o/l,right:i/a,bottom:r/l,left:c/a,x:c/a,y:o/l}},pt=e=>w(e).body,ct=e=>w(e).documentElement,ei=e=>{const t=Fs(e),s=t?e.scrollX:e.scrollLeft,n=t?e.scrollY:e.scrollTop;return{x:s,y:n}},Vs=e=>D(e)&&e.constructor.name==="ShadowRoot"||!1,si=e=>e.nodeName==="HTML"?e:U(e)&&e.assignedSlot||D(e)&&e.parentNode||Vs(e)&&e.host||ct(e),Ks=e=>e?Ws(e)?e.defaultView:D(e)?e?.ownerDocument?.defaultView:e:window,ni=e=>D(e)&&["TABLE","TD","TH"].includes(e.nodeName)||!1,qs=(e,t)=>e.matches(t),oi=e=>{if(!C(e))return!1;const{width:t,height:s}=ut(e),{offsetWidth:n,offsetHeight:o}=e;return Math.round(t)!==n||Math.round(s)!==o},ii=(e,t,s)=>{const n=C(t),o=ut(e,n&&oi(t)),i={x:0,y:0};if(n){const r=ut(t,!0);i.x=r.x+t.clientLeft,i.y=r.y+t.clientTop}return{x:o.left+s.x-i.x,y:o.top+s.y-i.y,width:o.width,height:o.height}};let Xs=0,Ys=0;const Ft=new Map,Us=(e,t)=>{let s=t?Xs:Ys;if(t){const n=Us(e),o=Ft.get(n)||new Map;Ft.has(n)||Ft.set(n,o),We(o)&&!o.has(t)?(o.set(t,s),Xs+=1):s=o.get(t)}else{const n=e.id||e;Ft.has(n)?s=Ft.get(n):(Ft.set(n,s),Ys+=1)}return s},ri=e=>Array.isArray(e)||!1,Gs=e=>{if(!D(e))return!1;const{top:t,bottom:s}=ut(e),{clientHeight:n}=ct(e);return t<=n&&s>=0},ci=e=>typeof e=="function"||!1,ai=e=>Gt(e)&&e.constructor.name==="NodeList"||!1,mt=e=>ct(e).dir==="rtl",L=(e,t)=>!e||!t?null:e.closest(t)||L(e.getRootNode().host,t)||null,P=(e,t)=>U(e)?e:(U(t)?t:w()).querySelector(e),ze=(e,t)=>(D(t)?t:w()).getElementsByTagName(e),at=(e,t)=>(t&&D(t)?t:w()).getElementsByClassName(e),Wt={},Zs=e=>{const{type:t,currentTarget:s}=e;Wt[t].forEach((n,o)=>{s===o&&n.forEach((i,r)=>{r.apply(o,[e]),typeof i=="object"&&i.once&&N(o,t,r,i)})})},O=(e,t,s,n)=>{Wt[t]||(Wt[t]=new Map);const o=Wt[t];o.has(e)||o.set(e,new Map);const i=o.get(e),{size:r}=i;i.set(s,n),r||e.addEventListener(t,Zs,n)},N=(e,t,s,n)=>{const o=Wt[t],i=o&&o.get(e),r=i&&i.get(s),c=r!==void 0?r:n;i&&i.has(s)&&i.delete(s),o&&(!i||!i.size)&&o.delete(e),(!o||!o.size)&&delete Wt[t],(!i||!i.size)&&e.removeEventListener(t,Zs,c)},M="fade",u="show",we="data-bs-dismiss",Ee="alert",Qs="Alert",li="5.1.0";class et{constructor(t,s){let n;try{if(U(t))n=t;else if(Zt(t)){if(n=P(t),!n)throw Error(`"${t}" is not a valid selector.`)}else throw Error("your target is not an instance of HTMLElement.")}catch(i){throw Error(`${this.name} Error: ${i.message}`)}const o=St.get(n,this.name);o&&o._toggleEventListeners(),this.element=n,this.options=this.defaults&&zs(this.defaults).length?Zo(n,this.defaults,s||{},"bs"):{},St.set(n,this.name,this)}get version(){return li}get name(){return"BaseComponent"}get defaults(){return{}}_toggleEventListeners=()=>{};dispose(){St.remove(this.element,this.name),zs(this).forEach(t=>{delete this[t]})}}const di=`.${Ee}`,hi=`[${we}="${Ee}"]`,fi=e=>F(e,Qs),gi=e=>new Ve(e),Js=E(`close.bs.${Ee}`),ui=E(`closed.bs.${Ee}`),tn=e=>{const{element:t}=e;b(t,ui),e._toggleEventListeners(),e.dispose(),t.remove()};class Ve extends et{static selector=di;static init=gi;static getInstance=fi;dismiss;constructor(t){super(t),this.dismiss=P(hi,this.element),this._toggleEventListeners(!0)}get name(){return Qs}close=()=>{const{element:t}=this;t&&f(t,u)&&(b(t,Js),Js.defaultPrevented||(v(t,u),f(t,M)?H(t,()=>tn(this)):tn(this)))};_toggleEventListeners=t=>{const s=t?O:N,{dismiss:n,close:o}=this;n&&s(n,k,o)};dispose(){this._toggleEventListeners(),super.dispose()}}const $="active",ot="data-bs-toggle",pi="button",en="Button",mi=`[${ot}="${pi}"]`,vi=e=>F(e,en),bi=e=>new Ke(e);class Ke extends et{static selector=mi;static init=bi;static getInstance=vi;constructor(t){super(t);const{element:s}=this;this.isActive=f(s,$),I(s,_s,String(!!this.isActive)),this._toggleEventListeners(!0)}get name(){return en}toggle=t=>{t&&t.preventDefault();const{element:s,isActive:n}=this;!f(s,"disabled")&&!tt(s,"disabled")&&((n?v:h)(s,$),I(s,_s,n?"false":"true"),this.isActive=f(s,$))};_toggleEventListeners=t=>{(t?O:N)(this.element,k,this.toggle)};dispose(){this._toggleEventListeners(),super.dispose()}}const qe="data-bs-target",xt="carousel",sn="Carousel",nn="data-bs-parent",wi="data-bs-container",V=e=>{const t=[qe,nn,wi,"href"],s=w(e);return t.map(n=>{const o=tt(e,n);return o?n===nn?L(e,o):P(o,s):null}).filter(n=>n)[0]},te=`[data-bs-ride="${xt}"]`,Z=`${xt}-item`,Xe="data-bs-slide-to",vt="data-bs-slide",bt="paused",on={pause:"hover",keyboard:!1,touch:!0,interval:5e3},lt=e=>F(e,sn),Ei=e=>new Je(e);let ee=0,Te=0,Ye=0;const Ue=E(`slide.bs.${xt}`),Ge=E(`slid.bs.${xt}`),rn=e=>{const{index:t,direction:s,element:n,slides:o,options:i}=e;if(e.isAnimating){const r=Qe(e),c=s==="left"?"next":"prev",a=s==="left"?"start":"end";h(o[t],$),v(o[t],`${Z}-${c}`),v(o[t],`${Z}-${a}`),v(o[r],$),v(o[r],`${Z}-${a}`),b(n,Ge),g.clear(n,vt),e.cycle&&!w(n).hidden&&i.interval&&!e.isPaused&&e.cycle()}};function Ti(){const e=lt(this);e&&!e.isPaused&&!g.get(this,bt)&&h(this,bt)}function $i(){const e=lt(this);e&&e.isPaused&&!g.get(this,bt)&&e.cycle()}function yi(e){e.preventDefault();const t=L(this,te)||V(this),s=lt(t);if(s&&!s.isAnimating){const n=+(tt(this,Xe)||0);this&&!f(this,$)&&!Number.isNaN(n)&&s.to(n)}}function Ci(e){e.preventDefault();const t=L(this,te)||V(this),s=lt(t);if(s&&!s.isAnimating){const n=tt(this,vt);n==="next"?s.next():n==="prev"&&s.prev()}}const Si=({code:e,target:t})=>{const s=w(t),[n]=[...G(te,s)].filter(i=>Gs(i)),o=lt(n);if(o&&!o.isAnimating&&!/textarea|input/i.test(t.nodeName)){const i=mt(n);e===(i?Rs:Ms)?o.prev():e===(i?Ms:Rs)&&o.next()}};function cn(e){const{target:t}=e,s=lt(this);s&&s.isTouch&&(s.indicator&&!s.indicator.contains(t)||!s.controls.includes(t))&&(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault())}function Hi(e){const{target:t}=e,s=lt(this);if(s&&!s.isAnimating&&!s.isTouch){const{controls:n,indicators:o}=s;[...n,...o].every(i=>i===t||i.contains(t))||(ee=e.pageX,this.contains(t)&&(s.isTouch=!0,an(s,!0)))}}const xi=e=>{Te=e.pageX},Pi=e=>{const{target:t}=e,s=w(t),n=[...G(te,s)].map(o=>lt(o)).find(o=>o.isTouch);if(n){const{element:o,index:i}=n,r=mt(o);Ye=e.pageX,n.isTouch=!1,an(n),!s.getSelection()?.toString().length&&o.contains(t)&&Math.abs(ee-Ye)>120&&(Teee&&n.to(i+(r?1:-1))),ee=0,Te=0,Ye=0}},Ze=(e,t)=>{const{indicators:s}=e;[...s].forEach(n=>v(n,$)),e.indicators[t]&&h(s[t],$)},an=(e,t)=>{const{element:s}=e,n=t?O:N;n(w(s),Wo,xi,Jt),n(w(s),jo,Pi,Jt)},Qe=e=>{const{slides:t,element:s}=e,n=P(`.${Z}.${$}`,s);return C(n)?[...t].indexOf(n):-1};class Je extends et{static selector=te;static init=Ei;static getInstance=lt;constructor(t,s){super(t,s);const{element:n}=this;this.direction=mt(n)?"right":"left",this.isTouch=!1,this.slides=at(Z,n);const{slides:o}=this;if(o.length>=2){const i=Qe(this),r=[...o].find(l=>qs(l,`.${Z}-next,.${Z}-next`));this.index=i;const c=w(n);this.controls=[...G(`[${vt}]`,n),...G(`[${vt}][${qe}="#${n.id}"]`,c)].filter((l,d,p)=>d===p.indexOf(l)),this.indicator=P(`.${xt}-indicators`,n),this.indicators=[...this.indicator?G(`[${Xe}]`,this.indicator):[],...G(`[${Xe}][${qe}="#${n.id}"]`,c)].filter((l,d,p)=>d===p.indexOf(l));const{options:a}=this;this.options.interval=a.interval===!0?on.interval:a.interval,r?this.index=[...o].indexOf(r):i<0&&(this.index=0,h(o[0],$),this.indicators.length&&Ze(this,0)),this.indicators.length&&Ze(this,this.index),this._toggleEventListeners(!0),a.interval&&this.cycle()}}get name(){return sn}get defaults(){return on}get isPaused(){return f(this.element,bt)}get isAnimating(){return P(`.${Z}-next,.${Z}-prev`,this.element)!==null}cycle(){const{element:t,options:s,isPaused:n,index:o}=this;g.clear(t,xt),n&&(g.clear(t,bt),v(t,bt)),g.set(t,()=>{this.element&&!this.isPaused&&!this.isTouch&&Gs(t)&&this.to(o+1)},s.interval,xt)}pause(){const{element:t,options:s}=this;!this.isPaused&&s.interval&&(h(t,bt),g.set(t,()=>{},1,bt))}next(){this.isAnimating||this.to(this.index+1)}prev(){this.isAnimating||this.to(this.index-1)}to(t){const{element:s,slides:n,options:o}=this,i=Qe(this),r=mt(s);let c=t;if(!this.isAnimating&&i!==c&&!g.get(s,vt)){ic||i===n.length-1&&c===0)&&(this.direction=r?"left":"right");const{direction:a}=this;c<0?c=n.length-1:c>=n.length&&(c=0);const l=a==="left"?"next":"prev",d=a==="left"?"start":"end",p={relatedTarget:n[c],from:i,to:c,direction:a};it(Ue,p),it(Ge,p),b(s,Ue),Ue.defaultPrevented||(this.index=c,Ze(this,c),Qt(n[c])&&f(s,"slide")?g.set(s,()=>{h(n[c],`${Z}-${l}`),Ht(n[c]),h(n[c],`${Z}-${d}`),h(n[i],`${Z}-${d}`),H(n[c],()=>this.slides&&this.slides.length&&rn(this))},0,vt):(h(n[c],$),v(n[i],$),g.set(s,()=>{g.clear(s,vt),s&&o.interval&&!this.isPaused&&this.cycle(),b(s,Ge)},0,vt)))}}_toggleEventListeners=t=>{const{element:s,options:n,slides:o,controls:i,indicators:r}=this,{touch:c,pause:a,interval:l,keyboard:d}=n,p=t?O:N;a&&l&&(p(s,pe,Ti),p(s,Oe,$i)),c&&o.length>2&&(p(s,Fo,Hi,Jt),p(s,Ne,cn,{passive:!1}),p(s,zo,cn,{passive:!1})),i.length&&i.forEach(T=>{T&&p(T,k,Ci)}),r.length&&r.forEach(T=>{p(T,k,yi)}),d&&p(w(s),ue,Si)};dispose(){const{isAnimating:t}=this,s={...this,isAnimating:t};this._toggleEventListeners(),super.dispose(),s.isAnimating&&H(s.slides[s.index],()=>{rn(s)})}}const Pt="collapsing",K="collapse",ln="Collapse",Di=`.${K}`,dn=`[${ot}="${K}"]`,Ai={parent:null},$e=e=>F(e,ln),ki=e=>new ts(e),hn=E(`show.bs.${K}`),Ii=E(`shown.bs.${K}`),fn=E(`hide.bs.${K}`),Li=E(`hidden.bs.${K}`),_i=e=>{const{element:t,parent:s,triggers:n}=e;b(t,hn),hn.defaultPrevented||(g.set(t,me,17),s&&g.set(s,me,17),h(t,Pt),v(t,K),x(t,{height:`${t.scrollHeight}px`}),H(t,()=>{g.clear(t),s&&g.clear(s),n.forEach(o=>I(o,fe,"true")),v(t,Pt),h(t,K),h(t,u),x(t,{height:""}),b(t,Ii)}))},gn=e=>{const{element:t,parent:s,triggers:n}=e;b(t,fn),fn.defaultPrevented||(g.set(t,me,17),s&&g.set(s,me,17),x(t,{height:`${t.scrollHeight}px`}),v(t,K),v(t,u),h(t,Pt),Ht(t),x(t,{height:"0px"}),H(t,()=>{g.clear(t),s&&g.clear(s),n.forEach(o=>I(o,fe,"false")),v(t,Pt),h(t,K),x(t,{height:""}),b(t,Li)}))},Oi=e=>{const{target:t}=e,s=t&&L(t,dn),n=s&&V(s),o=n&&$e(n);o&&o.toggle(),s&&s.tagName==="A"&&e.preventDefault()};class ts extends et{static selector=Di;static init=ki;static getInstance=$e;constructor(t,s){super(t,s);const{element:n,options:o}=this,i=w(n);this.triggers=[...G(dn,i)].filter(r=>V(r)===n),this.parent=C(o.parent)?o.parent:Zt(o.parent)?V(n)||P(o.parent,i):null,this._toggleEventListeners(!0)}get name(){return ln}get defaults(){return Ai}hide(){const{triggers:t,element:s}=this;g.get(s)||(gn(this),t.length&&t.forEach(n=>h(n,`${K}d`)))}show(){const{element:t,parent:s,triggers:n}=this;let o,i;s&&(o=[...G(`.${K}.${u}`,s)].find(r=>$e(r)),i=o&&$e(o)),(!s||!g.get(s))&&!g.get(t)&&(i&&o!==t&&(gn(i),i.triggers.forEach(r=>{h(r,`${K}d`)})),_i(this),n.length&&n.forEach(r=>v(r,`${K}d`)))}toggle(){f(this.element,u)?this.hide():this.show()}_toggleEventListeners=t=>{const s=t?O:N,{triggers:n}=this;n.length&&n.forEach(o=>s(o,k,Oi))};dispose(){this._toggleEventListeners(),super.dispose()}}const Dt=["dropdown","dropup","dropstart","dropend"],un="Dropdown",pn="dropdown-menu",mn=e=>{const t=L(e,"A");return e.tagName==="A"&&Ut(e,"href")&&tt(e,"href").slice(-1)==="#"||t&&Ut(t,"href")&&tt(t,"href").slice(-1)==="#"},[st,es,ss,ns]=Dt,vn=`[${ot}="${st}"]`,jt=e=>F(e,un),Ni=e=>new rs(e),Mi=`${pn}-end`,bn=[st,es],wn=[ss,ns],En=["A","BUTTON"],Ri={offset:5,display:"dynamic"},os=E(`show.bs.${st}`),Tn=E(`shown.bs.${st}`),is=E(`hide.bs.${st}`),$n=E(`hidden.bs.${st}`),yn=E(`updated.bs.${st}`),Cn=e=>{const{element:t,menu:s,parentElement:n,options:o}=e,{offset:i}=o;if(W(s,"position")!=="static"){const r=mt(t),c=f(s,Mi);["margin","top","bottom","left","right"].forEach(z=>{const Ot={};Ot[z]="",x(s,Ot)});let l=Dt.find(z=>f(n,z))||st;const d={dropdown:[i,0,0],dropup:[0,0,i],dropstart:r?[-1,0,0,i]:[-1,i,0],dropend:r?[-1,i,0]:[-1,0,0,i]},p={dropdown:{top:"100%"},dropup:{top:"auto",bottom:"100%"},dropstart:r?{left:"100%",right:"auto"}:{left:"auto",right:"100%"},dropend:r?{left:"auto",right:"100%"}:{left:"100%",right:"auto"},menuStart:r?{right:"0",left:"auto"}:{right:"auto",left:"0"},menuEnd:r?{right:"auto",left:"0"}:{right:"0",left:"auto"}},{offsetWidth:T,offsetHeight:_}=s,{clientWidth:q,clientHeight:j}=ct(t),{left:m,top:B,width:Lt,height:_t}=ut(t),S=m-T-i<0,Tt=m+T+Lt+i>=q,ht=B+_+i>=j,nt=B+_+_t+i>=j,Vt=B-_-i<0,y=(!r&&c||r&&!c)&&m+Lt-T<0,X=(r&&c||!r&&!c)&&m+T>=q;if(wn.includes(l)&&S&&Tt&&(l=st),l===ss&&(r?Tt:S)&&(l=ns),l===ns&&(r?S:Tt)&&(l=ss),l===es&&Vt&&!nt&&(l=st),l===st&&nt&&!Vt&&(l=es),wn.includes(l)&&ht&&it(p[l],{top:"auto",bottom:0}),bn.includes(l)&&(y||X)){let z={left:"auto",right:"auto"};!y&&X&&!r&&(z={left:"auto",right:0}),y&&!X&&r&&(z={left:0,right:"auto"}),z&&it(p[l],z)}const Kt=d[l];x(s,{...p[l],margin:`${Kt.map(z=>z&&`${z}px`).join(" ")}`}),bn.includes(l)&&c&&c&&x(s,p[!r&&y||r&&X?"menuStart":"menuEnd"]),b(n,yn)}},Bi=e=>Array.from(e.children).map(t=>{if(t&&En.includes(t.tagName))return t;const{firstElementChild:s}=t;return s&&En.includes(s.tagName)?s:null}).filter(t=>t),Sn=e=>{const{element:t,options:s,menu:n}=e,o=e.open?O:N,i=w(t);o(i,k,Hn),o(i,Le,Hn),o(i,ue,Wi),o(i,Ro,ji),s.display==="dynamic"&&(e.open?e._observer.observe(n):e._observer.disconnect())},ye=e=>{const t=[...Dt,"btn-group","input-group"].map(s=>at(`${s} ${u}`,w(e))).find(s=>s.length);if(t&&t.length)return[...t[0].children].find(s=>Dt.some(n=>n===tt(s,ot)))},Hn=e=>{const{target:t,type:s}=e;if(!C(t))return;const n=ye(t),o=n&&jt(n);if(!o)return;const{parentElement:i,menu:r}=o,c=i&&i.contains(t)&&(t.tagName==="form"||L(t,"form")!==null);[k,Ns].includes(s)&&mn(t)&&e.preventDefault(),!c&&s!==Le&&t!==n&&t!==r&&o.hide()},Fi=e=>{const{target:t}=e,s=t&&L(t,vn),n=s&&jt(s);n&&(e.stopPropagation(),n.toggle(),s&&mn(s)&&e.preventDefault())},Wi=e=>{[Me,Re].includes(e.code)&&e.preventDefault()};function ji(e){const{code:t}=e,s=ye(this);if(!s)return;const n=jt(s),{activeElement:o}=w(s);if(!n||!o)return;const{menu:i,open:r}=n,c=Bi(i);if(c&&c.length&&[Me,Re].includes(t)){let a=c.indexOf(o);o===s?a=0:t===Re?a=a>1?a-1:0:t===Me&&(a=azi(i.target),{threshold:1}),this._toggleEventListeners(!0))}get name(){return un}get defaults(){return Ri}toggle(){this.open?this.hide():this.show()}show(){const{element:t,open:s,menu:n,parentElement:o}=this;if(s)return;const i=ye(t),r=i&&jt(i);r&&r.hide(),[os,Tn,yn].forEach(c=>{c.relatedTarget=t}),b(o,os),!os.defaultPrevented&&(h(n,u),h(o,u),I(t,fe,"true"),Cn(this),this.open=!s,rt(t),Sn(this),b(o,Tn))}hide(){const{element:t,open:s,menu:n,parentElement:o}=this;s&&([is,$n].forEach(i=>{i.relatedTarget=t}),b(o,is),!is.defaultPrevented&&(v(n,u),v(o,u),I(t,fe,"false"),this.open=!s,Sn(this),b(o,$n)))}_toggleEventListeners=t=>{(t?O:N)(this.element,k,Fi)};dispose(){this.open&&this.hide(),this._toggleEventListeners(),super.dispose()}}const Y="modal",cs="Modal",as="Offcanvas",Vi="fixed-top",Ki="fixed-bottom",xn="sticky-top",Pn="position-sticky",Dn=e=>[...at(Vi,e),...at(Ki,e),...at(xn,e),...at(Pn,e),...at("is-fixed",e)],qi=e=>{const t=pt(e);x(t,{paddingRight:"",overflow:""});const s=Dn(t);s.length&&s.forEach(n=>{x(n,{paddingRight:"",marginRight:""})})},An=e=>{const{clientWidth:t}=ct(e),{innerWidth:s}=Ks(e);return Math.abs(s-t)},kn=(e,t)=>{const s=pt(e),n=parseInt(W(s,"paddingRight"),10),i=W(s,"overflow")==="hidden"&&n?0:An(e),r=Dn(s);t&&(x(s,{overflow:"hidden",paddingRight:`${n+i}px`}),r.length&&r.forEach(c=>{const a=W(c,"paddingRight");if(c.style.paddingRight=`${parseInt(a,10)+i}px`,[xn,Pn].some(l=>f(c,l))){const l=W(c,"marginRight");c.style.marginRight=`${parseInt(l,10)-i}px`}}))},Q="offcanvas",wt=ft({tagName:"div",className:"popup-container"}),In=(e,t)=>{const s=D(t)&&t.nodeName==="BODY",n=D(t)&&!s?t:wt,o=s?t:pt(e);D(e)&&(n===wt&&o.append(wt),n.append(e))},Ln=(e,t)=>{const s=D(t)&&t.nodeName==="BODY",n=D(t)&&!s?t:wt;D(e)&&(e.remove(),n===wt&&!wt.children.length&&wt.remove())},ls=(e,t)=>{const s=D(t)&&t.nodeName!=="BODY"?t:wt;return D(e)&&s.contains(e)},_n="backdrop",On=`${Y}-${_n}`,Nn=`${Q}-${_n}`,Mn=`.${Y}.${u}`,ds=`.${Q}.${u}`,A=ft("div"),At=e=>P(`${Mn},${ds}`,w(e)),hs=e=>{const t=e?On:Nn;[On,Nn].forEach(s=>{v(A,s)}),h(A,t)},Rn=(e,t,s)=>{hs(s),In(A,pt(e)),t&&h(A,M)},Bn=()=>{f(A,u)||(h(A,u),Ht(A))},Ce=()=>{v(A,u)},Fn=e=>{At(e)||(v(A,M),Ln(A,pt(e)),qi(e))},Wn=e=>C(e)&&W(e,"visibility")!=="hidden"&&e.offsetParent!==null,Xi=`.${Y}`,jn=`[${ot}="${Y}"]`,Yi=`[${we}="${Y}"]`,zn=`${Y}-static`,Ui={backdrop:!0,keyboard:!0},se=e=>F(e,cs),Gi=e=>new gs(e),Se=E(`show.bs.${Y}`),Vn=E(`shown.bs.${Y}`),fs=E(`hide.bs.${Y}`),Kn=E(`hidden.bs.${Y}`),qn=e=>{const{element:t}=e,s=An(t),{clientHeight:n,scrollHeight:o}=ct(t),{clientHeight:i,scrollHeight:r}=t,c=i!==r;if(!c&&s){const l={[mt(t)?"paddingLeft":"paddingRight"]:`${s}px`};x(t,l)}kn(t,c||n!==o)},Xn=(e,t)=>{const s=t?O:N,{element:n}=e;s(n,k,Ji),s(w(n),ue,Qi),t?e._observer.observe(n):e._observer.disconnect()},Yn=e=>{const{triggers:t,element:s,relatedTarget:n}=e;Fn(s),x(s,{paddingRight:"",display:""}),Xn(e);const o=Se.relatedTarget||t.find(Wn);o&&rt(o),Kn.relatedTarget=n||void 0,b(s,Kn),be(s)},Un=e=>{const{element:t,relatedTarget:s}=e;rt(t),Xn(e,!0),Vn.relatedTarget=s||void 0,b(t,Vn),be(t)},Gn=e=>{const{element:t,hasFade:s}=e;x(t,{display:"block"}),qn(e),At(t)||x(pt(t),{overflow:"hidden"}),h(t,u),Ct(t,Yt),I(t,ge,"true"),s?H(t,()=>Un(e)):Un(e)},Zn=e=>{const{element:t,options:s,hasFade:n}=e;s.backdrop&&n&&f(A,u)&&!At(t)?(Ce(),H(A,()=>Yn(e))):Yn(e)},Zi=e=>{const{target:t}=e,s=t&&L(t,jn),n=s&&V(s),o=n&&se(n);o&&(s&&s.tagName==="A"&&e.preventDefault(),o.relatedTarget=s,o.toggle())},Qi=({code:e,target:t})=>{const s=P(Mn,w(t)),n=s&&se(s);if(!n)return;const{options:o}=n;o.keyboard&&e===Be&&f(s,u)&&(n.relatedTarget=null,n.hide())},Ji=e=>{const{currentTarget:t}=e,s=t&&se(t);if(!s||!t||g.get(t))return;const{options:n,isStatic:o,modalDialog:i}=s,{backdrop:r}=n,{target:c}=e,a=w(t)?.getSelection()?.toString().length,l=i.contains(c),d=c&&L(c,Yi);o&&!l?g.set(t,()=>{h(t,zn),H(i,()=>tr(s))},17):(d||!a&&!o&&!l&&r)&&(s.relatedTarget=d||null,s.hide(),e.preventDefault())},tr=e=>{const{element:t,modalDialog:s}=e,n=(Qt(s)||0)+17;v(t,zn),g.set(t,()=>g.clear(t),n)};class gs extends et{static selector=Xi;static init=Gi;static getInstance=se;constructor(t,s){super(t,s);const{element:n}=this,o=P(`.${Y}-dialog`,n);o&&(this.modalDialog=o,this.triggers=[...G(jn,w(n))].filter(i=>V(i)===n),this.isStatic=this.options.backdrop==="static",this.hasFade=f(n,M),this.relatedTarget=null,this._observer=new ResizeObserver(()=>this.update()),this._toggleEventListeners(!0))}get name(){return cs}get defaults(){return Ui}toggle(){f(this.element,u)?this.hide():this.show()}show(){const{element:t,options:s,hasFade:n,relatedTarget:o}=this,{backdrop:i}=s;let r=0;if(f(t,u)||(Se.relatedTarget=o||void 0,b(t,Se),Se.defaultPrevented))return;const c=At(t);if(c&&c!==t){const a=se(c)||F(c,as);a&&a.hide()}i?(ls(A)?hs(!0):Rn(t,n,!0),r=Qt(A),Bn(),setTimeout(()=>Gn(this),r)):(Gn(this),c&&f(A,u)&&Ce())}hide(){const{element:t,hasFade:s,relatedTarget:n}=this;f(t,u)&&(fs.relatedTarget=n||void 0,b(t,fs),!fs.defaultPrevented&&(v(t,u),I(t,Yt,"true"),Ct(t,ge),s?H(t,()=>Zn(this)):Zn(this)))}update=()=>{f(this.element,u)&&qn(this)};_toggleEventListeners=t=>{const s=t?O:N,{triggers:n}=this;n.length&&n.forEach(o=>s(o,k,Zi))};dispose(){const t={...this},{modalDialog:s,hasFade:n}=t,o=()=>setTimeout(()=>super.dispose(),17);this.hide(),this._toggleEventListeners(),n?H(s,o):o()}}const er=`.${Q}`,us=`[${ot}="${Q}"]`,sr=`[${we}="${Q}"]`,He=`${Q}-toggling`,nr={backdrop:!0,keyboard:!0,scroll:!1},ne=e=>F(e,as),or=e=>new ms(e),xe=E(`show.bs.${Q}`),Qn=E(`shown.bs.${Q}`),ps=E(`hide.bs.${Q}`),Jn=E(`hidden.bs.${Q}`),ir=e=>{const{element:t}=e,{clientHeight:s,scrollHeight:n}=ct(t);kn(t,s!==n)},to=(e,t)=>{const s=t?O:N,n=w(e.element);s(n,ue,lr),s(n,k,ar)},eo=e=>{const{element:t,options:s}=e;s.scroll||(ir(e),x(pt(t),{overflow:"hidden"})),h(t,He),h(t,u),x(t,{visibility:"visible"}),H(t,()=>dr(e))},rr=e=>{const{element:t,options:s}=e,n=At(t);t.blur(),!n&&s.backdrop&&f(A,u)&&Ce(),H(t,()=>hr(e))},cr=e=>{const t=L(e.target,us),s=t&&V(t),n=s&&ne(s);n&&(n.relatedTarget=t,n.toggle(),t?.tagName==="A"&&e.preventDefault())},ar=e=>{const{target:t}=e,s=P(ds,w(t));if(!s)return;const n=P(sr,s),o=ne(s);if(!o)return;const{options:i,triggers:r}=o,{backdrop:c}=i,a=L(t,us),l=w(s).getSelection();A.contains(t)&&c==="static"||(!(l&&l.toString().length)&&(!s.contains(t)&&c&&(!a||r.includes(t))||n&&n.contains(t))&&(o.relatedTarget=n&&n.contains(t)?n:void 0,o.hide()),a&&a.tagName==="A"&&e.preventDefault())},lr=({code:e,target:t})=>{const s=P(ds,w(t)),n=s&&ne(s);n&&n.options.keyboard&&e===Be&&(n.relatedTarget=void 0,n.hide())},dr=e=>{const{element:t}=e;v(t,He),Ct(t,Yt),I(t,ge,"true"),I(t,"role","dialog"),b(t,Qn),to(e,!0),rt(t),be(t)},hr=e=>{const{element:t,triggers:s}=e;I(t,Yt,"true"),Ct(t,ge),Ct(t,"role"),x(t,{visibility:""});const n=xe.relatedTarget||s.find(Wn);n&&rt(n),Fn(t),b(t,Jn),v(t,He),be(t),At(t)||to(e)};class ms extends et{static selector=er;static init=or;static getInstance=ne;constructor(t,s){super(t,s);const{element:n}=this;this.triggers=[...G(us,w(n))].filter(o=>V(o)===n),this.relatedTarget=void 0,this._toggleEventListeners(!0)}get name(){return as}get defaults(){return nr}toggle(){f(this.element,u)?this.hide():this.show()}show(){const{element:t,options:s,relatedTarget:n}=this;let o=0;if(f(t,u)||(xe.relatedTarget=n||void 0,Qn.relatedTarget=n||void 0,b(t,xe),xe.defaultPrevented))return;const i=At(t);if(i&&i!==t){const r=ne(i)||F(i,cs);r&&r.hide()}s.backdrop?(ls(A)?hs():Rn(t,!0),o=Qt(A),Bn(),setTimeout(()=>eo(this),o)):(eo(this),i&&f(A,u)&&Ce())}hide(){const{element:t,relatedTarget:s}=this;f(t,u)&&(ps.relatedTarget=s||void 0,Jn.relatedTarget=s||void 0,b(t,ps),!ps.defaultPrevented&&(h(t,He),v(t,u),rr(this)))}_toggleEventListeners=t=>{const s=t?O:N;this.triggers.forEach(n=>s(n,k,cr))};dispose(){const{element:t}=this,s=f(t,u),n=()=>setTimeout(()=>super.dispose(),1);this.hide(),this._toggleEventListeners(),s?H(t,n):n()}}const kt="popover",vs="Popover",dt="tooltip",so=e=>{const t=e===dt,s=t?`${e}-inner`:`${e}-body`,n=t?"":`

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

`,o=`
`,i=`
`;return`
${n+o+i}
`},co={top:"top",bottom:"bottom",left:"start",right:"end"},ws=e=>{requestAnimationFrame(()=>{const t=/\b(top|bottom|start|end)+/,{element:s,tooltip:n,container:o,offsetParent:i,options:r,arrow:c}=e;if(!n)return;const a=pt(s),{x:l,y:f}=ni(i);A(n,{top:"",left:"",right:"",bottom:""});const{offsetWidth:g,offsetHeight:T}=n,{clientWidth:B,clientHeight:Z,offsetWidth:st}=at(s);let{placement:m}=r;const{clientWidth:q,offsetWidth:Lt}=o,C=F(o,"position")==="fixed",Et=Math.abs(C?q-Lt:B-st),ft=a&&C?Et:0,nt=B-(a?0:Et)-1,Kt=e._observer.getEntry(s),{width:y,height:K,left:Vt,right:W,top:Nt}=Kt?.boundingClientRect||At(s,!0),{x:xe,y:qt}=ci(s,i,{x:l,y:f});A(c,{top:"",left:"",right:"",bottom:""});let Mt=0,ae="",Tt=0,Is="",Yt="",He="",ks="";const Bt=c.offsetWidth||0,$t=c.offsetHeight||0,Ls=Bt/2;let le=Nt-T-$t<0,de=Nt+T+K+$t>=Z,he=Vt-g-Bt=nt;const Ie=["left","right"],Os=["top","bottom"];le=Ie.includes(m)?Nt+K/2-T/2-$t<0:le,de=Ie.includes(m)?Nt+T/2+K/2+$t>=Z:de,he=Os.includes(m)?Vt+y/2-g/2=nt:fe,m=Ie.includes(m)&&he&&fe?"top":m,m=m==="top"&&le?"bottom":m,m=m==="bottom"&&de?"top":m,m=m==="left"&&he?"right":m,m=m==="right"&&fe?"left":m,n.className.includes(m)||(n.className=n.className.replace(t,co[m])),Ie.includes(m)?(m==="left"?Tt=xe-g-Bt:Tt=xe+y+Bt,le&&de?(Mt=0,ae=0,Yt=qt+K/2-$t/2):le?(Mt=qt,ae="",Yt=K/2-Bt):de?(Mt=qt-T+K,ae="",Yt=T-K/2-Bt):(Mt=qt-T/2+K/2,Yt=T/2-$t/2)):Os.includes(m)&&(m==="top"?Mt=qt-T-$t:Mt=qt+K+$t,he?(Tt=0,He=xe+y/2-Ls):fe?(Tt="auto",Is=0,ks=y/2+nt-W-Ls):(Tt=xe-g/2+y/2,He=g/2-Ls)),A(n,{top:`${Mt}px`,bottom:ae===""?"":`${ae}px`,left:Tt==="auto"?Tt:`${Tt}px`,right:Is!==""?`${Is}px`:""}),_(c)&&(Yt!==""&&(c.style.top=`${Yt}px`),He!==""?c.style.left=`${He}px`:ks!==""&&(c.style.right=`${ks}px`));const Qr=E(`updated.bs.${te(e.name)}`);w(s,Qr)})},Es={template:ro(ht),title:"",customClass:"",trigger:"hover focus",placement:"top",sanitizeFn:void 0,animation:!0,delay:200,container:document.body,content:"",dismissible:!1,btnClose:""},pr=e=>e!=null&&typeof e=="object"||!1,mr=e=>pr(e)&&typeof e.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(t=>e.nodeType===t)||!1,ao=e=>mr(e)&&e.nodeType===1||!1,vr=e=>typeof e=="function"||!1,br="1.0.2",lo="PositionObserver Error";class ho{entries;static version=br;_tick;_root;_callback;constructor(t,s){if(!vr(t))throw new Error(`${lo}: ${t} is not a function.`);this.entries=new Map,this._callback=t,this._root=ao(s?.root)?s.root:document?.documentElement,this._tick=0}observe=t=>{if(!ao(t))throw new Error(`${lo}: ${t} is not an instance of Element.`);this._root.contains(t)&&this._new(t).then(s=>{s&&!this.getEntry(t)&&this.entries.set(t,s),this._tick||(this._tick=requestAnimationFrame(this._runCallback))})};unobserve=t=>{this.entries.has(t)&&this.entries.delete(t)};_runCallback=()=>{if(!this.entries.size)return;const t=new Promise(s=>{const n=[];this.entries.forEach(({target:o,boundingClientRect:i})=>{this._root.contains(o)&&this._new(o).then(({boundingClientRect:r,isIntersecting:c})=>{if(!c)return;const{left:a,top:l,bottom:f,right:g}=r;if(i.top!==l||i.left!==a||i.right!==g||i.bottom!==f){const T={target:o,boundingClientRect:r};this.entries.set(o,T),n.push(T)}})}),s(n)});this._tick=requestAnimationFrame(async()=>{const s=await t;s.length&&this._callback(s,this),this._runCallback()})};_new=t=>new Promise(s=>{new IntersectionObserver(([n],o)=>{o.disconnect(),s(n)}).observe(t)});getEntry=t=>this.entries.get(t);disconnect=()=>{cancelAnimationFrame(this._tick),this.entries.clear(),this._tick=0}}const fo="data-original-title",kt="Tooltip",wt=(e,t,s)=>{if(Qt(t)&&t.length){let n=t.trim();li(s)&&(n=s(n));const i=new DOMParser().parseFromString(n,"text/html");e.append(...i.body.childNodes)}else _(t)?e.append(t):(di(t)||ai(t)&&t.every(P))&&e.append(...t)},wr=e=>{const t=e.name===kt,{id:s,element:n,options:o}=e,{title:i,placement:r,template:c,animation:a,customClass:l,sanitizeFn:f,dismissible:g,content:T,btnClose:B}=o,Z=t?ht:It,st={...co};let m=[],q=[];pt(n)&&(st.left="end",st.right="start");const Lt=`bs-${Z}-${st[r]}`;let Ot;if(_(c))Ot=c;else{const y=gt("div");wt(y,c,f),Ot=y.firstChild}if(!_(Ot))return;e.tooltip=Ot.cloneNode(!0);const{tooltip:C}=e;k(C,"id",s),k(C,"role",ht);const Et=t?`${ht}-inner`:`${It}-body`,ft=t?null:D(`.${It}-header`,C),nt=D(`.${Et}`,C);e.arrow=D(`.${Z}-arrow`,C);const{arrow:Kt}=e;if(_(i))m=[i.cloneNode(!0)];else{const y=gt("div");wt(y,i,f),m=[...y.childNodes]}if(_(T))q=[T.cloneNode(!0)];else{const y=gt("div");wt(y,T,f),q=[...y.childNodes]}if(g)if(i)if(_(B))m=[...m,B.cloneNode(!0)];else{const y=gt("div");wt(y,B,f),m=[...m,y.firstChild]}else if(ft&&ft.remove(),_(B))q=[...q,B.cloneNode(!0)];else{const y=gt("div");wt(y,B,f),q=[...q,y.firstChild]}t?i&&nt&&wt(nt,i,f):(i&&ft&&wt(ft,m,f),T&&nt&&wt(nt,q,f),e.btn=D(".btn-close",C)||void 0),d(C,"position-absolute"),d(Kt,"position-absolute"),h(C,Z)||d(C,Z),a&&!h(C,N)&&d(C,N),l&&!h(C,l)&&d(C,l),h(C,Lt)||d(C,Lt)},Er=e=>{const t=["HTML","BODY"],s=[];let{parentNode:n}=e;for(;n&&!t.includes(n.nodeName);)n=oi(n),Us(n)||ii(n)||s.push(n);return s.find((o,i)=>(F(o,"position")!=="relative"||F(o,"position")==="relative"&&o.offsetHeight!==o.scrollHeight)&&s.slice(i+1).every(r=>F(r,"position")==="static")?o:null)||b(e).body},Tr=`[${it}="${ht}"],[data-tip="${ht}"]`,go="title";let uo=e=>R(e,kt);const $r=e=>new _e(e),yr=e=>{const{element:t,tooltip:s,container:n}=e;yt(t,Ns),Mn(s,n)},ie=e=>{const{tooltip:t,container:s}=e;return t&&ds(t,s)},Cr=(e,t)=>{const{element:s}=e;e._toggleEventListeners(),Xt(s,fo)&&e.name===kt&&wo(e),t&&t()},po=(e,t)=>{const s=t?L:O,{element:n}=e;s(b(n),Me,e.handleTouch,Jt)},mo=e=>{const{element:t}=e,s=E(`shown.bs.${te(e.name)}`);po(e,!0),w(t,s),u.clear(t,"in")},vo=e=>{const{element:t}=e,s=E(`hidden.bs.${te(e.name)}`);po(e),yr(e),w(t,s),u.clear(t,"out")},bo=(e,t)=>{const s=t?L:O,{element:n,tooltip:o}=e,i=x(n,`.${V}`),r=x(n,`.${G}`);t?[n,o].forEach(c=>e._observer.observe(c)):e._observer.disconnect(),i&&s(i,`hide.bs.${V}`,e.handleHide),r&&s(r,`hide.bs.${G}`,e.handleHide)},wo=(e,t)=>{const s=[fo,go],{element:n}=e;k(n,s[t?0:1],t||Y(n,s[0])||""),yt(n,s[t?1:0])};class _e extends J{static selector=Tr;static init=$r;static getInstance=uo;static styleTip=ws;constructor(t,s){super(t,s);const{element:n}=this,o=this.name===kt,i=o?ht:It,r=o?kt:bs;uo=f=>R(f,r),this.enabled=!0,this.id=`${i}-${Js(n,i)}`;const{options:c}=this;if(!c.title&&o||!o&&!c.content)return;rt(Es,{titleAttr:""}),Xt(n,go)&&o&&typeof c.title=="string"&&wo(this,c.title);const a=Er(n),l=["sticky","fixed","relative"].some(f=>F(a,"position")===f)?a:Xs(n);this.container=a,this.offsetParent=l,wr(this),this.tooltip&&(this._observer=new ho(()=>this.update()),this._toggleEventListeners(!0))}get name(){return kt}get defaults(){return Es}handleFocus=()=>ct(this.element);handleShow=()=>this.show();show(){const{options:t,tooltip:s,element:n,container:o,id:i}=this,{animation:r}=t,c=u.get(n,"out");u.clear(n,"out"),s&&!c&&!ie(this)&&u.set(n,()=>{const a=E(`show.bs.${te(this.name)}`);w(n,a),a.defaultPrevented||(Nn(s,o),k(n,Ns,`#${i}`),this.update(),bo(this,!0),h(s,p)||d(s,p),r?S(s,()=>mo(this)):mo(this))},17,"in")}handleHide=()=>this.hide();hide(){const{options:t,tooltip:s,element:n}=this,{animation:o,delay:i}=t;u.clear(n,"in"),s&&ie(this)&&u.set(n,()=>{const r=E(`hide.bs.${te(this.name)}`);w(n,r),r.defaultPrevented||(this.update(),v(s,p),bo(this),o?S(s,()=>vo(this)):vo(this))},i+17,"out")}update=()=>{ws(this)};toggle=()=>{const{tooltip:t}=this;t&&!ie(this)?this.show():this.hide()};enable(){const{enabled:t}=this;t||(this._toggleEventListeners(!0),this.enabled=!t)}disable(){const{tooltip:t,enabled:s}=this;s&&(t&&ie(this)&&this.hide(),this._toggleEventListeners(),this.enabled=!s)}toggleEnabled(){this.enabled?this.disable():this.enable()}handleTouch=({target:t})=>{const{tooltip:s,element:n}=this;s&&s.contains(t)||t===n||t&&n.contains(t)||this.hide()};_toggleEventListeners=t=>{const s=t?L:O,{element:n,options:o,btn:i}=this,{trigger:r}=o,a=!!(this.name!==kt&&o.dismissible);r.includes("manual")||(this.enabled=!!t,r.split(" ").forEach(f=>{f===Wo?(s(n,Rs,this.handleShow),s(n,me,this.handleShow),a||(s(n,Ne,this.handleHide),s(b(n),Me,this.handleTouch,Jt))):f===I?s(n,f,a?this.handleShow:this.toggle):f===Le&&(s(n,Oe,this.handleShow),a||s(n,Bs,this.handleHide),Xo()&&s(n,I,this.handleFocus)),a&&i&&s(i,I,this.handleHide)}))};dispose(){const{tooltip:t,options:s}=this,n={...this,name:this.name},o=()=>setTimeout(()=>Cr(n,()=>super.dispose()),17);s.animation&&ie(n)?(this.options.delay=0,this.hide(),S(t,o)):o()}}const Sr=`[${it}="${It}"],[data-tip="${It}"]`,Ar=rt({},Es,{template:ro(It),content:"",dismissible:!1,btnClose:''}),Dr=e=>R(e,bs),Pr=e=>new Ts(e);class Ts extends _e{static selector=Sr;static init=Pr;static getInstance=Dr;static styleTip=ws;constructor(t,s){super(t,s)}get name(){return bs}get defaults(){return Ar}show=()=>{super.show();const{options:t,btn:s}=this;t.dismissible&&s&&setTimeout(()=>ct(s),17)}}const _r="scrollspy",Eo="ScrollSpy",xr='[data-bs-spy="scroll"]',Hr="[href]",Ir={offset:10,target:void 0},kr=e=>R(e,Eo),Lr=e=>new ys(e),To=E(`activate.bs.${_r}`),Or=e=>{const{target:t,_itemsLength:s,_observables:n}=e,o=Ke("A",t),i=b(t);!o.length||s===n.size||(n.clear(),Array.from(o).forEach(r=>{const c=Y(r,"href")?.slice(1),a=c?.length?i.getElementById(c):null;a&&!ot(r)&&e._observables.set(a,r)}),e._itemsLength=e._observables.size)},$o=e=>{Array.from(Ke("A",e)).forEach(t=>{h(t,$)&&v(t,$)})},yo=(e,t)=>{const{target:s,element:n}=e;$o(s),e._activeItem=t,d(t,$);let o=t;for(;o!==s;)if(o=o.parentElement,["nav","dropdown-menu","list-group"].some(i=>h(o,i))){const i=o.previousElementSibling;i&&!h(i,$)&&d(i,$)}To.relatedTarget=t,w(n,To)},$s=(e,t)=>{const{scrollTarget:s,element:n,options:o}=e;return(s!==n?At(t).top+s.scrollTop:t.offsetTop)-(o.offset||10)};class ys extends J{static selector=xr;static init=Lr;static getInstance=kr;constructor(t,s){super(t,s);const{element:n,options:o}=this,i=D(o.target,b(n));i&&(this.target=i,this.scrollTarget=n.clientHeight{requestAnimationFrame(()=>this.refresh())},{root:this.scrollTarget}),this._toggleEventListeners(!0))}get name(){return Eo}get defaults(){return Ir}refresh=()=>{const{target:t,scrollTarget:s}=this;if(!t||t.offsetHeight===0)return;Or(this);const{_itemsLength:n,_observables:o,_activeItem:i}=this;if(!n)return;const r=o.entries().toArray(),{scrollTop:c,scrollHeight:a,clientHeight:l}=s;if(c>=a-l){const g=r[n-1]?.[1];i!==g&&yo(this,g);return}const f=r[0]?.[0]?$s(this,r[0][0]):null;if(f!==null&&c0){this._activeItem=null,$o(t);return}for(let g=0;g=Z&&(m===null||c{const s=x(t.target,Hr),n=s&&Y(s,"href")?.slice(1),o=n&&hi(n,this.target);o&&(this.scrollTarget.scrollTo({top:o.offsetTop,behavior:"smooth"}),t.preventDefault())};_toggleEventListeners=t=>{const{target:s,_observables:n,_observer:o,_scrollTo:i}=this;(t?L:O)(s,I,i),t?n?.forEach((c,a)=>o.observe(a)):o.disconnect()};dispose(){this._toggleEventListeners(),super.dispose()}}const re="tab",Co="Tab",Cs=`[${it}="${re}"]`,So=e=>R(e,Co),Nr=e=>new Ds(e),Ss=E(`show.bs.${re}`),Ao=E(`shown.bs.${re}`),As=E(`hide.bs.${re}`),Do=E(`hidden.bs.${re}`),ce=new Map,Po=e=>{const{tabContent:t,nav:s}=e;t&&h(t,_t)&&(t.style.height="",v(t,_t)),s&&u.clear(s)},_o=e=>{const{element:t,tabContent:s,content:n,nav:o}=e,{tab:i}=_(o)&&ce.get(o)||{tab:null};if(s&&n&&h(n,N)){const{currentHeight:r,nextHeight:c}=ce.get(t)||{currentHeight:0,nextHeight:0};r!==c?setTimeout(()=>{s.style.height=`${c}px`,St(s),S(s,()=>Po(e))},50):Po(e)}else o&&u.clear(o);Ao.relatedTarget=i,w(t,Ao)},xo=e=>{const{element:t,content:s,tabContent:n,nav:o}=e,{tab:i,content:r}=o&&ce.get(o)||{tab:null,content:null};let c=0;if(n&&s&&h(s,N)&&([r,s].forEach(a=>{a&&d(a,"overflow-hidden")}),c=r?r.scrollHeight:0),Ss.relatedTarget=i,Do.relatedTarget=t,w(t,Ss),!Ss.defaultPrevented){if(s&&d(s,$),r&&v(r,$),n&&s&&h(s,N)){const a=s.scrollHeight;ce.set(t,{currentHeight:c,nextHeight:a,tab:null,content:null}),d(n,_t),n.style.height=`${c}px`,St(n),[r,s].forEach(l=>{l&&v(l,"overflow-hidden")})}s&&s&&h(s,N)?setTimeout(()=>{d(s,p),S(s,()=>{_o(e)})},1):(s&&d(s,p),_o(e)),i&&w(i,Do)}},Ho=e=>{const{nav:t}=e;if(!_(t))return{tab:null,content:null};const s=lt($,t);let n=null;s.length===1&&!xt.some(i=>h(s[0].parentElement,i))?[n]=s:s.length>1&&(n=s[s.length-1]);const o=_(n)?j(n):null;return{tab:n,content:o}},Io=e=>{if(!_(e))return null;const t=x(e,`.${xt.join(",.")}`);return t?D(`.${xt[0]}-toggle`,t):null},Mr=e=>{const t=x(e.target,Cs),s=t&&So(t);s&&(e.preventDefault(),s.show())};class Ds extends J{static selector=Cs;static init=Nr;static getInstance=So;constructor(t){super(t);const{element:s}=this,n=j(s);if(!n)return;const o=x(s,".nav"),i=x(n,".tab-content");this.nav=o,this.content=n,this.tabContent=i,this.dropdown=Io(s);const{tab:r}=Ho(this);if(o&&!r){const c=D(Cs,o),a=c&&j(c);a&&(d(c,$),d(a,p),d(a,$),k(s,ke,"true"))}this._toggleEventListeners(!0)}get name(){return Co}show(){const{element:t,content:s,nav:n,dropdown:o}=this;if(n&&u.get(n)||h(t,$))return;const{tab:i,content:r}=Ho(this);if(n&&i&&ce.set(n,{tab:i,content:r,currentHeight:0,nextHeight:0}),As.relatedTarget=t,!_(i)||(w(i,As),As.defaultPrevented))return;d(t,$),k(t,ke,"true");const c=_(i)&&Io(i);if(c&&h(c,$)&&v(c,$),n){const a=()=>{i&&(v(i,$),k(i,ke,"false")),o&&!h(o,$)&&d(o,$)};r&&(h(r,N)||s&&h(s,N))?u.set(n,a,1):a()}r&&(v(r,p),h(r,N)?S(r,()=>xo(this)):xo(this))}_toggleEventListeners=t=>{(t?L:O)(this.element,I,Mr)};dispose(){this._toggleEventListeners(),super.dispose()}}const Q="toast",ko="Toast",Br=`.${Q}`,Rr=`[${Ee}="${Q}"]`,Lo=`[${it}="${Q}"]`,zt="showing",Oo="hide",Fr={animation:!0,autohide:!0,delay:5e3},Ps=e=>R(e,ko),Wr=e=>new _s(e),No=E(`show.bs.${Q}`),jr=E(`shown.bs.${Q}`),Mo=E(`hide.bs.${Q}`),zr=E(`hidden.bs.${Q}`),Bo=e=>{const{element:t,options:s}=e;v(t,zt),u.clear(t,zt),w(t,jr),s.autohide&&u.set(t,()=>e.hide(),s.delay,Q)},Ro=e=>{const{element:t}=e;v(t,zt),v(t,p),d(t,Oo),u.clear(t,Q),w(t,zr)},Kr=e=>{const{element:t,options:s}=e;d(t,zt),s.animation?(St(t),S(t,()=>Ro(e))):Ro(e)},Vr=e=>{const{element:t,options:s}=e;u.set(t,()=>{v(t,Oo),St(t),d(t,p),d(t,zt),s.animation?S(t,()=>Bo(e)):Bo(e)},17,zt)},qr=e=>{const{target:t}=e,s=t&&x(t,Lo),n=s&&j(s),o=n&&Ps(n);o&&(s&&s.tagName==="A"&&e.preventDefault(),o.relatedTarget=s,o.show())},Yr=e=>{const t=e.target,s=Ps(t),{type:n,relatedTarget:o}=e;!s||t===o||t.contains(o)||([me,Oe].includes(n)?u.clear(t,Q):u.set(t,()=>s.hide(),s.options.delay,Q))};class _s extends J{static selector=Br;static init=Wr;static getInstance=Ps;constructor(t,s){super(t,s);const{element:n,options:o}=this;o.animation&&!h(n,N)?d(n,N):!o.animation&&h(n,N)&&v(n,N),this.dismiss=D(Rr,n),this.triggers=[...X(Lo,b(n))].filter(i=>j(i)===n),this._toggleEventListeners(!0)}get name(){return ko}get defaults(){return Fr}get isShown(){return h(this.element,p)}show=()=>{const{element:t,isShown:s}=this;!t||s||(w(t,No),No.defaultPrevented||Vr(this))};hide=()=>{const{element:t,isShown:s}=this;!t||!s||(w(t,Mo),Mo.defaultPrevented||Kr(this))};_toggleEventListeners=t=>{const s=t?L:O,{element:n,triggers:o,dismiss:i,options:r,hide:c}=this;i&&s(i,I,c),r.autohide&&[Oe,Bs,me,Ne].forEach(a=>s(n,a,Yr)),o.length&&o.forEach(a=>{ot(a)||s(a,I,qr)})};dispose(){const{element:t,isShown:s}=this;this._toggleEventListeners(),u.clear(t,Q),s&&v(t,p),super.dispose()}}const xs=new Map;[Ve,qe,ts,es,cs,us,vs,Ts,ys,Ds,_s,_e].forEach(e=>xs.set(e.prototype.name,e));const Ur=(e,t)=>{[...t].forEach(s=>e(s))},Xr=(e,t)=>{const s=Ct.getAllFor(e);s&&[...s].forEach(([n,o])=>{t.contains(n)&&o.dispose()})},Hs=e=>{const t=e&&e.nodeName?e:document,s=[...Ke("*",t)];xs.forEach(n=>{const{init:o,selector:i}=n;Ur(o,s.filter(r=>Gs(r,i)))})},Gr=e=>{const t=e&&e.nodeName?e:document;xs.forEach(s=>{Xr(s.prototype.name,t)})};return document.body?Hs():L(document,"DOMContentLoaded",()=>Hs(),{once:!0}),M.Alert=Ve,M.Button=qe,M.Carousel=ts,M.Collapse=es,M.Dropdown=cs,M.Modal=us,M.Offcanvas=vs,M.Popover=Ts,M.ScrollSpy=ys,M.Tab=Ds,M.Toast=_s,M.Tooltip=_e,M.initCallback=Hs,M.removeDataAPI=Gr,Object.defineProperty(M,Symbol.toStringTag,{value:"Module"}),M}({}); //# sourceMappingURL=bootstrap-native.js.map diff --git a/docs/assets/js/bootstrap-native.js.map b/docs/assets/js/bootstrap-native.js.map index b5da591f..7d3c1d42 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@https+++codeload.github.com+thednp+shorty+tar.gz+309d581b370f747cb15531ca6c201def3827e05c/node_modules/@thednp/shorty/dist/shorty.mjs","../node_modules/.pnpm/@thednp+event-listener@2.0.8/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","../node_modules/.pnpm/@thednp+position-observer@https+++codeload.github.com+thednp+position-observer+tar.gz+d693d53_hyk7lpzuqi6vnifksl6nzudy5a/node_modules/@thednp/position-observer/dist/index.mjs","../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 Ce = \"2.0.8\", Le = \"aria-checked\", Me = \"aria-description\", De = \"aria-describedby\", Oe = \"aria-expanded\", xe = \"aria-haspopup\", $ = \"aria-hidden\", ze = \"aria-label\", Ie = \"aria-labelledby\", Pe = \"aria-modal\", Be = \"aria-pressed\", Fe = \"aria-selected\", He = \"aria-valuemin\", Ve = \"aria-valuemax\", Ue = \"aria-valuenow\", We = \"aria-valuetext\", J = \"abort\", X = \"beforeunload\", tt = \"blur\", et = \"change\", nt = \"contextmenu\", V = \"DOMContentLoaded\", ot = \"DOMMouseScroll\", st = \"error\", rt = \"focus\", ct = \"focusin\", at = \"focusout\", it = \"gesturechange\", ut = \"gestureend\", lt = \"gesturestart\", dt = \"keydown\", ft = \"keypress\", pt = \"keyup\", gt = \"load\", mt = \"click\", vt = \"dblclick\", bt = \"mousedown\", Et = \"mouseup\", ht = \"hover\", yt = \"mouseenter\", wt = \"mouseleave\", At = \"mousein\", St = \"mouseout\", Tt = \"mouseover\", kt = \"mousemove\", Nt = \"mousewheel\", Ct = \"move\", Lt = \"orientationchange\", Mt = \"pointercancel\", Dt = \"pointerdown\", Ot = \"pointerleave\", xt = \"pointermove\", zt = \"pointerup\", It = \"readystatechange\", Pt = \"reset\", Bt = \"resize\", Ft = \"select\", Ht = \"selectend\", Vt = \"selectstart\", Ut = \"scroll\", Wt = \"submit\", Rt = \"touchstart\", Qt = \"touchmove\", jt = \"touchcancel\", Gt = \"touchend\", Kt = \"unload\", Re = {\n DOMContentLoaded: V,\n DOMMouseScroll: ot,\n abort: J,\n beforeunload: X,\n blur: tt,\n change: et,\n click: mt,\n contextmenu: nt,\n dblclick: vt,\n error: st,\n focus: rt,\n focusin: ct,\n focusout: at,\n gesturechange: it,\n gestureend: ut,\n gesturestart: lt,\n hover: ht,\n keydown: dt,\n keypress: ft,\n keyup: pt,\n load: gt,\n mousedown: bt,\n mousemove: kt,\n mousein: At,\n mouseout: St,\n mouseenter: yt,\n mouseleave: wt,\n mouseover: Tt,\n mouseup: Et,\n mousewheel: Nt,\n move: Ct,\n orientationchange: Lt,\n pointercancel: Mt,\n pointerdown: Dt,\n pointerleave: Ot,\n pointermove: xt,\n pointerup: zt,\n readystatechange: It,\n reset: Pt,\n resize: Bt,\n scroll: Ut,\n select: Ft,\n selectend: Ht,\n selectstart: Vt,\n submit: Wt,\n touchcancel: jt,\n touchend: Gt,\n touchmove: Qt,\n touchstart: Rt,\n unload: Kt\n}, Qe = \"drag\", je = \"dragstart\", Ge = \"dragenter\", Ke = \"dragleave\", qe = \"dragover\", Ze = \"dragend\", Ye = \"loadstart\", _e = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, $e = { down: \"mousedown\", up: \"mouseup\" }, Je = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"], Xe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, tn = { in: \"focusin\", out: \"focusout\" }, qt = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]', en = {\n Backspace: \"Backspace\",\n Tab: \"Tab\",\n Enter: \"Enter\",\n Shift: \"Shift\",\n Control: \"Control\",\n Alt: \"Alt\",\n Pause: \"Pause\",\n CapsLock: \"CapsLock\",\n Escape: \"Escape\",\n Scape: \"Space\",\n ArrowLeft: \"ArrowLeft\",\n ArrowUp: \"ArrowUp\",\n ArrowRight: \"ArrowRight\",\n ArrowDown: \"ArrowDown\",\n Insert: \"Insert\",\n Delete: \"Delete\",\n Meta: \"Meta\",\n ContextMenu: \"ContextMenu\",\n ScrollLock: \"ScrollLock\"\n}, nn = \"Alt\", on = \"ArrowDown\", sn = \"ArrowUp\", rn = \"ArrowLeft\", cn = \"ArrowRight\", an = \"Backspace\", un = \"CapsLock\", ln = \"Control\", dn = \"Delete\", fn = \"Enter\", pn = \"NumpadEnter\", gn = \"Escape\", mn = \"Insert\", vn = \"Meta\", bn = \"Pause\", En = \"ScrollLock\", hn = \"Shift\", yn = \"Space\", wn = \"Tab\", Zt = \"animationDuration\", Yt = \"animationDelay\", U = \"animationName\", L = \"animationend\", _t = \"transitionDuration\", $t = \"transitionDelay\", M = \"transitionend\", W = \"transitionProperty\", An = \"addEventListener\", Sn = \"removeEventListener\", Tn = {\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}, kn = \"offsetHeight\", Nn = \"offsetWidth\", Cn = \"scrollHeight\", Ln = \"scrollWidth\", Mn = \"tabindex\", Dn = navigator.userAgentData, { userAgent: Jt } = navigator, On = Jt, xn = () => {\n const t = /iPhone|iPad|iPod|Android/i;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(navigator?.userAgent) || !1;\n}, zn = () => {\n const t = /(iPhone|iPod|iPad)/;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(\n navigator?.userAgent\n ) || !1;\n}, In = () => navigator?.userAgent?.includes(\"Firefox\") || !1, Xt = () => typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\"), Pn = () => [\"webkitPerspective\", \"perspective\"].some((t) => t in document.head.style), te = () => {\n}, R = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(\n e,\n n,\n s\n );\n}, Q = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(\n e,\n n,\n s\n );\n}, ee = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Q(t, e, s, o));\n };\n R(t, e, s, o);\n}, Bn = () => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n ee(document, V, te, e);\n } catch {\n }\n return t;\n}, Fn = () => [\"webkitTransform\", \"transform\"].some((t) => t in document.head.style), Hn = () => \"ontouchstart\" in window || \"msMaxTouchPoints\" in navigator, Vn = () => [\"webkitAnimation\", \"animation\"].some((t) => t in document.head.style), Un = () => [\"webkitTransition\", \"transition\"].some((t) => t in document.head.style), j = (t, e) => t.getAttribute(e), Wn = (t, e, n) => e.getAttributeNS(t, n), ne = (t, e) => t.hasAttribute(e), Rn = (t, e, n) => e.hasAttributeNS(t, n), Qn = (t, e, n) => t.setAttribute(e, n), jn = (t, e, n, o) => e.setAttributeNS(t, n, o), Gn = (t, e) => t.removeAttribute(e), Kn = (t, e, n) => e.removeAttributeNS(t, n), qn = (t, ...e) => {\n t.classList.add(...e);\n}, Zn = (t, ...e) => {\n t.classList.remove(...e);\n}, Yn = (t, e) => t.classList.contains(e), { body: _n } = document, { documentElement: $n } = document, { head: Jn } = document, Xn = (t) => Array.from(t), b = (t) => t != null && typeof t == \"object\" || !1, l = (t) => b(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some(\n (e) => t.nodeType === e\n) || !1, u = (t) => l(t) && t.nodeType === 1 || !1, h = /* @__PURE__ */ new Map(), O = {\n data: h,\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 h.has(e) || h.set(e, /* @__PURE__ */ new Map()), h.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) => h.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 = O.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 = O.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && h.delete(e));\n }\n}, to = (t, e) => O.get(t, e), eo = (t) => t?.charAt(0).toUpperCase() + t?.slice(1), no = (t) => t?.trim().replace(\n /(?:^\\w|[A-Z]|\\b\\w)/g,\n (e, n) => n === 0 ? e.toLowerCase() : e.toUpperCase()\n).replace(/\\s+/g, \"\"), k = (t) => typeof t == \"string\" || !1, G = (t) => b(t) && t.constructor.name === \"Window\" || !1, K = (t) => l(t) && t.nodeType === 9 || !1, d = (t) => K(t) ? t : l(t) ? t.ownerDocument : G(t) ? t.document : globalThis.document, N = (t, ...e) => Object.assign(t, ...e), oe = (t) => {\n if (!t) return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = oe(e);\n if (!n) return;\n const o = { ...t };\n return delete o.tagName, N(n, o);\n}, se = (t, e) => {\n if (!t || !e) return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = se(t, n);\n if (!o) return;\n const s = { ...e };\n return delete s.tagName, N(o, s);\n}, q = (t, e) => t.dispatchEvent(e), oo = (t, e, n) => n.indexOf(t) === e, g = (t, e, n) => {\n const o = getComputedStyle(t, n), s = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return o.getPropertyValue(s);\n}, re = (t) => {\n const e = g(t, U), n = g(t, Yt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ce = (t) => {\n const e = g(t, U), n = g(t, Zt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, so = (t, e) => {\n let n = 0;\n const o = new Event(L), s = ce(t), r = re(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(L, a), n = 1);\n };\n t.addEventListener(L, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ae = (t) => {\n const e = g(t, W), n = g(t, $t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ie = (t) => {\n const e = g(t, W), n = g(t, _t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ro = (t, e) => {\n let n = 0;\n const o = new Event(M), s = ie(t), r = ae(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(M, a), n = 1);\n };\n t.addEventListener(M, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, co = (t) => Float32Array.from(Array.from(t)), ao = (t) => Float64Array.from(Array.from(t)), io = (t, e) => t.focus(e), uo = (t) => t?.trim().replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/\\s+/g, \"-\").toLowerCase(), P = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, T = (t) => Object.entries(t), ue = (t) => t.toLowerCase(), lo = (t, e, n, o) => {\n if (!u(t)) return e;\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, i = {}, f = \"title\";\n return T(r).forEach(([c, p]) => {\n const E = o && typeof c == \"string\" && c.includes(o) ? c.replace(o, \"\").replace(\n /[A-Z]/g,\n (C) => ue(C)\n ) : c;\n i[E] = P(p);\n }), T(s).forEach(([c, p]) => {\n s[c] = P(p);\n }), T(e).forEach(([c, p]) => {\n c in s ? a[c] = s[c] : c in i ? a[c] = i[c] : a[c] = c === f ? j(t, f) : p;\n }), a;\n}, fo = (t, e) => b(t) && (Object.hasOwn(t, e) || e in t), po = (t) => Object.keys(t), go = (t) => Object.values(t), mo = (t) => Object.fromEntries(t), vo = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return b(e) && N(n, e), n;\n}, bo = { passive: !0 }, Eo = (t) => t.offsetHeight, ho = (t, e) => {\n T(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, N(t.style, s);\n }\n });\n}, x = (t) => b(t) && t.constructor.name === \"Map\" || !1, le = (t) => typeof t == \"number\" || !1, v = /* @__PURE__ */ new Map(), yo = {\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 ? (v.has(t) || v.set(t, /* @__PURE__ */ new Map()), v.get(t).set(o, setTimeout(e, n))) : v.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 = v.get(t);\n return e && n && x(n) ? n.get(e) || null : le(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 = v.get(t);\n e && e.length && x(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && v.delete(t)) : (clearTimeout(n), v.delete(t));\n }\n}, wo = (t) => t.toUpperCase(), de = (t, e) => (l(e) ? e : d()).querySelectorAll(t), z = /* @__PURE__ */ new Map();\nfunction fe(t) {\n const { shiftKey: e, code: n } = t, o = d(this), s = [\n ...de(qt, this)\n ].filter(\n (i) => !ne(i, \"disabled\") && !j(i, $)\n );\n if (!s.length) return;\n const r = s[0], a = s[s.length - 1];\n n === \"Tab\" && (e && o.activeElement === r ? (a.focus(), t.preventDefault()) : !e && o.activeElement === a && (r.focus(), t.preventDefault()));\n}\nconst pe = (t) => z.has(t) === !0, Ao = (t) => {\n const e = pe(t);\n (e ? Q : R)(t, \"keydown\", fe), e ? z.delete(t) : z.set(t, !0);\n}, m = (t) => u(t) && \"offsetWidth\" in t || !1, w = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: i } = t.getBoundingClientRect();\n let f = 1, c = 1;\n if (e && m(t)) {\n const { offsetWidth: p, offsetHeight: E } = t;\n f = p > 0 ? Math.round(n) / p : 1, c = E > 0 ? Math.round(o) / E : 1;\n }\n return {\n width: n / f,\n height: o / c,\n top: s / c,\n right: r / f,\n bottom: a / c,\n left: i / f,\n x: i / f,\n y: s / c\n };\n}, So = (t) => d(t).body, S = (t) => d(t).documentElement, To = (t) => d(t).head, ge = (t) => l(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\", ko = (t) => {\n const e = G(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, me = (t) => l(t) && t.constructor.name === \"ShadowRoot\" || !1, A = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || l(t) && t.parentNode || me(t) && t.host || S(t), ve = (t) => t ? K(t) ? t.defaultView : l(t) ? t?.ownerDocument?.defaultView : t : window, be = (t) => l(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, Ee = (t, e) => t.matches(e), D = (t) => g(t, \"position\") === \"static\", he = (t) => g(t, \"position\") === \"fixed\", Z = (t) => [\":popover-open\", \":modal\"].some((e) => {\n try {\n return Ee(t, e);\n } catch {\n return !1;\n }\n}), Y = (t) => {\n const e = Xt(), n = u(t) ? getComputedStyle(t) : t;\n return n.transform !== \"none\" || n.perspective !== \"none\" || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || [\"transform\", \"perspective\", \"filter\"].some(\n (o) => (n.willChange || \"\").includes(o)\n ) || [\"paint\", \"layout\", \"strict\", \"content\"].some(\n (o) => (n.contain || \"\").includes(o)\n );\n}, ye = (t) => {\n let e = A(t);\n for (; u(e) && !I(e); ) {\n if (Y(e))\n return e;\n if (Z(e))\n return null;\n e = A(e);\n }\n return null;\n}, I = (t) => [\"html\", \"body\", \"#document\"].includes(ge(t)), B = (t) => {\n if (!m(t) || he(t))\n return null;\n let e = t.offsetParent;\n return S(t) === e && (e = e.ownerDocument.body), e;\n}, No = (t) => {\n const e = ve(t);\n if (!l(t) || Z(t))\n return e;\n if (!m(t)) {\n let o = A(t);\n for (; o && !I(o); ) {\n if (u(o) && !D(o))\n return o;\n o = A(o);\n }\n return e;\n }\n let n = B(t);\n for (; n && be(n) && D(n); )\n n = B(n);\n return n && I(n) && D(n) && !Y(n) ? e : n || ye(t) || e;\n}, we = (t) => {\n if (!m(t)) return !1;\n const { width: e, height: n } = w(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, Co = (t, e, n) => {\n const o = m(e), s = w(\n t,\n o && we(e)\n ), r = { x: 0, y: 0 };\n if (o) {\n const a = w(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 F = 0, H = 0;\nconst y = /* @__PURE__ */ new Map(), Ae = (t, e) => {\n let n = e ? F : H;\n if (e) {\n const o = Ae(t), s = y.get(o) || /* @__PURE__ */ new Map();\n y.has(o) || y.set(o, s), x(s) && !s.has(e) ? (s.set(e, n), F += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n y.has(o) ? n = y.get(o) : (y.set(o, n), H += 1);\n }\n return n;\n}, Lo = (t) => {\n const e = [\"HTML\", \"BODY\"];\n let { parentNode: n } = t;\n if (!m(n))\n for (; n && !e.includes(n.nodeName) && (n = A(n), !m(n)); )\n ;\n const {\n offsetLeft: o,\n offsetTop: s,\n offsetParent: r\n } = n, { top: a, left: i } = n.getBoundingClientRect(), { top: f, left: c, width: p, height: E } = t.getBoundingClientRect(), C = s + (f - a), _ = o + (c - i);\n return {\n offsetTop: C,\n offsetLeft: _,\n offsetWidth: p,\n offsetHeight: E,\n offsetParent: r\n };\n}, Se = (t) => Array.isArray(t) || !1, Mo = (t) => l(t) && t.nodeName === \"CANVAS\" || !1, Te = (t) => m(t) && !!t.shadowRoot || !1, Do = (t) => {\n if (!l(t)) return !1;\n const { top: e, bottom: n } = w(t), { clientHeight: o } = S(t);\n return e <= o && n >= 0;\n}, Oo = (t) => {\n if (!u(t)) return !1;\n const { clientWidth: e, clientHeight: n } = S(t), { top: o, left: s, bottom: r, right: a } = w(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, xo = (t) => Se(t) && t.every(u) || !1, zo = (t) => typeof t == \"function\" || !1, Io = (t) => b(t) && t.constructor.name === \"HTMLCollection\" || !1, Po = (t) => m(t) && t.tagName === \"IMG\" || !1, Bo = (t) => {\n if (!k(t)) return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Fo = (t) => b(t) && t.constructor.name === \"WeakMap\" || !1, Ho = (t) => l(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some(\n (e) => t.constructor.name.includes(e)\n) || !1, Vo = (t) => b(t) && t.constructor.name === \"NodeList\" || !1, Uo = (t) => S(t).dir === \"rtl\", Wo = (t) => l(t) && t.constructor.name.includes(\"SVG\") || !1, ke = (t, e) => !t || !e ? null : t.closest(e) || ke(t.getRootNode().host, e) || null, Ro = (t, e) => u(t) ? t : (u(e) ? e : d()).querySelector(t), Ne = (t, e) => (l(e) ? e : d()).getElementsByTagName(\n t\n), Qo = (t) => [...Ne(\"*\", t)].filter(Te), jo = (t, e) => d(e).getElementById(t), Go = (t, e) => (e && l(e) ? e : d()).getElementsByClassName(\n t\n);\nexport {\n Xn as ArrayFrom,\n V as DOMContentLoadedEvent,\n ot as DOMMouseScrollEvent,\n O as Data,\n co as Float32ArrayFrom,\n ao as Float64ArrayFrom,\n N as ObjectAssign,\n T as ObjectEntries,\n mo as ObjectFromEntries,\n fo as ObjectHasOwn,\n po as ObjectKeys,\n go as ObjectValues,\n yo as Timer,\n J as abortEvent,\n qn as addClass,\n An as addEventListener,\n Yt as animationDelay,\n Zt as animationDuration,\n L as animationEndEvent,\n U as animationName,\n Le as ariaChecked,\n De as ariaDescribedBy,\n Me as ariaDescription,\n Oe as ariaExpanded,\n xe as ariaHasPopup,\n $ as ariaHidden,\n ze as ariaLabel,\n Ie as ariaLabelledBy,\n Pe as ariaModal,\n Be as ariaPressed,\n Fe as ariaSelected,\n Ve as ariaValueMax,\n He as ariaValueMin,\n Ue as ariaValueNow,\n We as ariaValueText,\n X as beforeunloadEvent,\n Tn as bezierEasings,\n tt as blurEvent,\n no as camelCase,\n eo as capitalize,\n et as changeEvent,\n ke as closest,\n nt as contextmenuEvent,\n vo as createCustomEvent,\n oe as createElement,\n se as createElementNS,\n q as dispatchEvent,\n oo as distinct,\n _n as documentBody,\n $n as documentElement,\n Jn as documentHead,\n Qe as dragEvent,\n Ze as dragendEvent,\n Ge as dragenterEvent,\n Ke as dragleaveEvent,\n qe as dragoverEvent,\n je as dragstartEvent,\n so as emulateAnimationEnd,\n ro as emulateTransitionEnd,\n st as errorEvent,\n io as focus,\n rt as focusEvent,\n tn as focusEvents,\n qt as focusableSelector,\n ct as focusinEvent,\n at as focusoutEvent,\n it as gesturechangeEvent,\n ut as gestureendEvent,\n lt as gesturestartEvent,\n j as getAttribute,\n Wn as getAttributeNS,\n w as getBoundingClientRect,\n Qo as getCustomElements,\n d as getDocument,\n So as getDocumentBody,\n S as getDocumentElement,\n To as getDocumentHead,\n re as getElementAnimationDelay,\n ce as getElementAnimationDuration,\n jo as getElementById,\n g as getElementStyle,\n ae as getElementTransitionDelay,\n ie as getElementTransitionDuration,\n Go as getElementsByClassName,\n Ne as getElementsByTagName,\n to as getInstance,\n ge as getNodeName,\n ko as getNodeScroll,\n No as getOffsetParent,\n A as getParentNode,\n Co as getRectRelativeToOffsetParent,\n Lo as getSVGOffset,\n Ae as getUID,\n ve as getWindow,\n ne as hasAttribute,\n Rn as hasAttributeNS,\n Yn as hasClass,\n pe as hasFocusTrap,\n zn as isApple,\n Se as isArray,\n Mo as isCanvas,\n Te as isCustomElement,\n K as isDocument,\n u as isElement,\n Do as isElementInScrollRange,\n Oo as isElementInViewport,\n xo as isElementsArray,\n In as isFirefox,\n zo as isFunction,\n Io as isHTMLCollection,\n m as isHTMLElement,\n Po as isHTMLImageElement,\n Bo as isJSON,\n x as isMap,\n Ho as isMedia,\n xn as isMobile,\n l as isNode,\n Vo as isNodeList,\n le as isNumber,\n b as isObject,\n Uo as isRTL,\n Wo as isSVGElement,\n we as isScaledElement,\n me as isShadowRoot,\n k as isString,\n be as isTableElement,\n Fo as isWeakMap,\n Xt as isWebKit,\n G as isWindow,\n uo as kebabCase,\n nn as keyAlt,\n on as keyArrowDown,\n rn as keyArrowLeft,\n cn as keyArrowRight,\n sn as keyArrowUp,\n an as keyBackspace,\n un as keyCapsLock,\n ln as keyControl,\n dn as keyDelete,\n fn as keyEnter,\n gn as keyEscape,\n mn as keyInsert,\n vn as keyMeta,\n pn as keyNumpadEnter,\n bn as keyPause,\n En as keyScrollLock,\n hn as keyShift,\n yn as keySpace,\n wn as keyTab,\n en as keyboardEventKeys,\n dt as keydownEvent,\n ft as keypressEvent,\n pt as keyupEvent,\n gt as loadEvent,\n Ye as loadstartEvent,\n Ee as matches,\n $e as mouseClickEvents,\n Je as mouseHoverEvents,\n _e as mouseSwipeEvents,\n mt as mouseclickEvent,\n vt as mousedblclickEvent,\n bt as mousedownEvent,\n yt as mouseenterEvent,\n ht as mousehoverEvent,\n At as mouseinEvent,\n wt as mouseleaveEvent,\n kt as mousemoveEvent,\n St as mouseoutEvent,\n Tt as mouseoverEvent,\n Et as mouseupEvent,\n Nt as mousewheelEvent,\n Ct as moveEvent,\n Re as nativeEvents,\n te as noop,\n lo as normalizeOptions,\n P as normalizeValue,\n Q as off,\n kn as offsetHeight,\n Nn as offsetWidth,\n R as on,\n ee as one,\n Lt as orientationchangeEvent,\n bo as passiveHandler,\n Mt as pointercancelEvent,\n Dt as pointerdownEvent,\n Ot as pointerleaveEvent,\n xt as pointermoveEvent,\n zt as pointerupEvent,\n Ro as querySelector,\n de as querySelectorAll,\n It as readystatechangeEvent,\n Eo as reflow,\n Gn as removeAttribute,\n Kn as removeAttributeNS,\n Zn as removeClass,\n Sn as removeEventListener,\n Pt as resetEvent,\n Bt as resizeEvent,\n Ut as scrollEvent,\n Cn as scrollHeight,\n Ln as scrollWidth,\n Ft as selectEvent,\n Ht as selectendEvent,\n Vt as selectstartEvent,\n Qn as setAttribute,\n jn as setAttributeNS,\n ho as setElementStyle,\n Wt as submitEvent,\n Pn as support3DTransform,\n Vn as supportAnimation,\n Bn as supportPassive,\n Hn as supportTouch,\n Fn as supportTransform,\n Un as supportTransition,\n Mn as tabindex,\n ue as toLowerCase,\n wo as toUpperCase,\n Ao as toggleFocusTrap,\n Xe as touchEvents,\n jt as touchcancelEvent,\n Gt as touchendEvent,\n Qt as touchmoveEvent,\n Rt as touchstartEvent,\n $t as transitionDelay,\n _t as transitionDuration,\n M as transitionEndEvent,\n W as transitionProperty,\n Kt as unloadEvent,\n On as userAgent,\n Dn as userAgentData,\n Ce as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const g = \"2.0.8\", e = {}, f = (t) => {\n const { type: n, currentTarget: c } = t;\n e[n].forEach((a, s) => {\n c === s && a.forEach((o, i) => {\n i.apply(s, [t]), typeof o == \"object\" && o.once && r(s, n, i, o);\n });\n });\n}, E = (t, n, c, a) => {\n e[n] || (e[n] = /* @__PURE__ */ new Map());\n const s = e[n];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(\n t\n ), { size: i } = o;\n o.set(c, a), i || t.addEventListener(\n n,\n f,\n a\n );\n}, r = (t, n, c, a) => {\n const s = e[n], o = s && s.get(t), i = o && o.get(c), d = i !== void 0 ? i : a;\n o && o.has(c) && o.delete(c), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[n], (!o || !o.size) && t.removeEventListener(\n n,\n f,\n d\n );\n}, M = E, p = r;\nexport {\n E as addListener,\n f as globalListener,\n p as off,\n M as on,\n e as registry,\n r as removeListener,\n g as version\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 {\n Data,\n isElement,\n isString,\n normalizeOptions,\n ObjectKeys,\n querySelector,\n} 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: Element;\n declare options?: BaseOptions;\n\n /**\n * @param target `Element` or selector string\n * @param config component instance options\n */\n constructor(target: Element | string, config?: BaseOptions) {\n let element: Element | null;\n\n try {\n if (isElement(target)) {\n element = target as Element;\n } else if (isString(target)) {\n element = querySelector(target);\n // istanbul ignore else @preserve\n if (!element) throw Error(`\"${target}\" is not a valid selector.`);\n } else {\n throw Error(`your target is not an instance of HTMLElement.`);\n }\n } catch (e) {\n throw Error(`${this.name} Error: ${(e as Error).message}`);\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else @preserve */\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 = this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, \"bs\")\n // istanbul ignore next @preserve\n : {};\n\n Data.set(element, this.name, this);\n }\n\n // istanbul ignore next @preserve\n get version() {\n return Version;\n }\n\n // istanbul ignore next @preserve\n get name() {\n return \"BaseComponent\";\n }\n\n // istanbul ignore next @preserve\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n // istanbul ignore next @preserve coverage wise this isn't important\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 createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getInstance,\n hasClass,\n mouseclickEvent,\n querySelector,\n removeClass,\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 */\nconst getAlertInstance = (element: Element) =>\n getInstance(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: Element) => new Alert(element);\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent, AlertEvent>(\n `close.bs.${alertString}`,\n);\nconst closedAlertEvent = createCustomEvent, AlertEvent>(\n `closed.bs.${alertString}`,\n);\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: Element | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector(\n alertDismissSelector,\n this.element,\n );\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 @preserve\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 @preserve\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 addClass,\n ariaPressed,\n getAttribute,\n getInstance,\n hasClass,\n mouseclickEvent,\n removeClass,\n setAttribute,\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: Element) =>\n getInstance',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n */\nconst getPopoverInstance = (element: Element) =>\n getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: Element) => 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: Element | 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 @preserve\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 addClass,\n createCustomEvent,\n dispatchEvent,\n getAttribute,\n getBoundingClientRect,\n getDocument,\n getDocumentBody,\n getDocumentElement,\n getElementsByTagName,\n getInstance,\n hasClass,\n isHTMLElement,\n querySelector,\n removeClass,\n} from \"@thednp/shorty\";\n\nimport PositionObserver from \"@thednp/position-observer\";\n\nimport activeClass from \"../strings/activeClass\";\nimport scrollspyString from \"../strings/scrollspyString\";\nimport scrollspyComponent from \"../strings/scrollspyComponent\";\n\nimport BaseComponent from \"./base-component\";\nimport { ScrollSpyEvent, ScrollSpyOptions } from \"../interface/scrollspy\";\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\n\nconst scrollspyDefaults: Partial = {\n offset: 10,\n target: undefined,\n};\n\ntype ScrollSpyEventProps = {\n relatedTarget: HTMLElement;\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: Element) =>\n getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: Element) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent<\n ScrollSpyEventProps,\n ScrollSpyEvent\n>(`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 {\n target,\n scrollTarget,\n options,\n itemsLength,\n scrollHeight,\n element,\n _observer,\n } = self;\n const { offset } = options;\n const isRoot = scrollTarget !== element;\n\n const links = target && getElementsByTagName(\"A\", target);\n const doc = getDocument(element);\n const scrollHEIGHT = scrollTarget.scrollHeight;\n\n self.scrollTop = scrollTarget.scrollTop;\n\n // only update items/offsets once or with each mutation\n // istanbul ignore else @preserve\n if (\n links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length)\n ) {\n let href: string | null;\n let ref: string | undefined;\n let targetItem: HTMLElement | null;\n let rect;\n\n // reset arrays & update\n self.items = [];\n self.targets = [];\n self.offsets = [];\n self.scrollHeight = scrollHEIGHT;\n self.maxScroll = self.scrollHeight - getOffsetHeight(self);\n\n Array.from(links).forEach((link) => {\n href = getAttribute(link, \"href\");\n ref = href?.slice(1);\n targetItem = ref?.length ? doc.getElementById(ref) : null;\n\n if (targetItem) {\n self.items.push(link);\n self.targets.push(targetItem);\n rect = _observer?.getEntry(targetItem)?.boundingClientRect ||\n getBoundingClientRect(targetItem);\n self.offsets.push(\n (isRoot ? rect.top + self.scrollTop : targetItem.offsetTop) - offset,\n );\n }\n });\n self.itemsLength = self.items.length;\n }\n};\n\n/**\n * Toggles on/off the component observer.\n *\n * @param self the ScrollSpy instance\n * @param add when `true`, listener is added\n */\nconst toggleObservers = (\n { targets, scrollTarget, element, _observer }: ScrollSpy,\n add?: boolean,\n) => {\n if (add) {\n if (scrollTarget === element) {\n targets?.forEach((targetItem) => _observer.observe(targetItem));\n } else {\n _observer.observe(element);\n }\n } else _observer.disconnect();\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: Element) => {\n return scrollTarget.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 scrollTarget !== element\n ? scrollTarget.clientHeight\n : getBoundingClientRect(element).height;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: Element) => {\n Array.from(getElementsByTagName(\"A\", target)).forEach(\n (item) => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n },\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\n // istanbul ignore else @preserve\n if (isHTMLElement(target)) clear(target);\n\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\")) {\n parents.push(parentItem);\n }\n }\n\n parents.forEach((menuItem) => {\n const parentLink = menuItem.previousElementSibling as HTMLElement | null;\n\n // istanbul ignore else @preserve\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 element: HTMLElement;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement | null;\n declare scrollTarget: HTMLElement;\n declare scrollTop: number;\n declare maxScroll: number;\n declare scrollHeight: number;\n declare activeItem: HTMLElement | null;\n declare items: HTMLElement[];\n declare targets: HTMLElement[];\n declare itemsLength: number;\n declare offsets: number[];\n declare _observer: PositionObserver;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(\n target: Element | string,\n config?: Partial,\n ) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // get target\n const spyTarget = querySelector(\n options.target,\n getDocument(element),\n );\n\n // invalidate\n if (!spyTarget) return;\n this.target = spyTarget;\n\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight\n ? element\n : getDocumentElement(element);\n this.scrollHeight = getScrollHeight(this.scrollTarget);\n\n // run an initial burst, we need to know the targets\n this.refresh();\n\n // create observer\n this._observer = new PositionObserver((entries) => {\n requestAnimationFrame(() => {\n // istanbul ignore else @preserve\n if (entries.some((entry) => entry.isVisible)) {\n this.refresh();\n }\n });\n }, {\n root: this.scrollTarget,\n });\n\n // add event handlers\n toggleObservers(this, true);\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 // check if target is visible and invalidate\n // istanbul ignore if @preserve\n if (!isHTMLElement(target) || target.offsetHeight === 0) return;\n\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 @preserve\n if (activeItem !== newActiveItem) activate(this, newActiveItem);\n return;\n }\n\n const { offsets } = this;\n\n // istanbul ignore else @preserve\n if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) {\n this.activeItem = null;\n // istanbul ignore else @preserve\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 /** Removes `ScrollSpy` from the target element. */\n dispose() {\n const clone = { ...this };\n toggleObservers(clone);\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 addClass,\n ariaSelected,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getElementsByClassName,\n getInstance,\n hasClass,\n isHTMLElement,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n reflow,\n removeClass,\n setAttribute,\n Timer,\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: Element) =>\n getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: Element) => new Tab(element);\n\ntype TabEventProps = {\n relatedTarget: Element & EventTarget | undefined;\n};\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(\n `show.bs.${tabString}`,\n);\nconst shownTabEvent = createCustomEvent(\n `shown.bs.${tabString}`,\n);\nconst hideTabEvent = createCustomEvent(\n `hide.bs.${tabString}`,\n);\nconst hiddenTabEvent = createCustomEvent(\n `hidden.bs.${tabString}`,\n);\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 @preserve\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = \"\";\n removeClass(tabContent, collapsingClass);\n }\n\n // istanbul ignore else @preserve\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)) ||\n // istanbul ignore next @preserve\n { tab: null };\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) ||\n // istanbul ignore next @preserve\n { currentHeight: 0, nextHeight: 0 };\n // istanbul ignore else @preserve: vitest won't validate this branch\n if (currentHeight !== nextHeight) {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n } else {\n triggerTabEnd(self);\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)) ||\n // istanbul ignore next @preserve\n { tab: null, content: null };\n let currentHeight = 0;\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\n if (c) addClass(c, \"overflow-hidden\");\n });\n currentHeight = content\n ? content.scrollHeight\n : /* istanbul ignore next @preserve */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element as HTMLElement;\n dispatchEvent(element, showTabEvent);\n\n // istanbul ignore if @preserve\n if (showTabEvent.defaultPrevented) return;\n // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, activeClass);\n // istanbul ignore else @preserve\n if (content) removeClass(content, activeClass);\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, {\n currentHeight,\n nextHeight,\n tab: null,\n content: null,\n });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\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 // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n // istanbul ignore else @preserve\n if (tab) dispatchEvent(tab, hiddenTabEvent);\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 = (\n self: Tab,\n): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n // istanbul ignore next @preserve\n if (!isHTMLElement(nav)) {\n return { tab: null, content: null };\n }\n\n const activeTabs = getElementsByClassName(\n activeClass,\n nav,\n );\n let tab: HTMLElement | null = null;\n // istanbul ignore else @preserve\n if (\n activeTabs.length === 1 &&\n !dropdownClasses.some((c) =>\n hasClass(activeTabs[0].parentElement as HTMLElement, c)\n )\n ) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab) ? getTargetElement(tab) : 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) => {\n // istanbul ignore next @preserve\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(\",.\")}`);\n return dropdown\n ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown)\n : 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: MouseEvent) => {\n const self = getTabInstance(e.target);\n e.preventDefault();\n\n // istanbul ignore else @preserve\n if (self) self.show();\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 element: HTMLElement;\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: Element | 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 @preserve\n if (!content) return;\n\n const nav = closest(element, \".nav\");\n const container = closest(\n content as HTMLElement,\n \".tab-content\",\n );\n\n this.nav = nav;\n this.content = content;\n this.tabContent = container;\n\n // event targets\n this.dropdown = getParentDropdown(element as HTMLElement);\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 @preserve\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 * 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 @preserve\n if ((nav && Timer.get(nav)) || hasClass(element, activeClass)) return;\n const { tab, content } = getActiveTab(this);\n\n // istanbul ignore else @preserve\n if (nav && tab) {\n tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n }\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element as HTMLElement;\n\n // istanbul ignore if @preserve\n if (!isHTMLElement(tab)) return;\n\n dispatchEvent(tab, hideTabEvent);\n\n // istanbul ignore else @preserve\n if (hideTabEvent.defaultPrevented) return;\n\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 @preserve\n if (nav) {\n const toggleTab = () => {\n // istanbul ignore else @preserve\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, \"false\");\n }\n if (dropdown && !hasClass(dropdown, activeClass)) {\n addClass(dropdown, activeClass);\n }\n };\n\n if (\n content &&\n (hasClass(content, fadeClass) ||\n (nextContent && hasClass(nextContent, fadeClass)))\n ) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n // istanbul ignore else @preserve\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 * 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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n focusinEvent,\n focusoutEvent,\n getDocument,\n getInstance,\n hasClass,\n mouseclickEvent,\n mouseenterEvent,\n MouseEvent,\n mouseleaveEvent,\n querySelector,\n querySelectorAll,\n reflow,\n removeClass,\n Timer,\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 { ToastEvent, ToastOptions } 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: Element) =>\n getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: Element) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent, ToastEvent>(\n `show.bs.${toastString}`,\n);\nconst shownToastEvent = createCustomEvent, ToastEvent>(\n `shown.bs.${toastString}`,\n);\nconst hideToastEvent = createCustomEvent, ToastEvent>(\n `hide.bs.${toastString}`,\n);\nconst hiddenToastEvent = createCustomEvent, ToastEvent>(\n `hidden.bs.${toastString}`,\n);\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 @preserve\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 as HTMLElement);\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 as HTMLElement);\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 * 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 if @preserve\n if (!self) return;\n // istanbul ignore else @preserve\n if (trigger && trigger.tagName === \"A\") e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\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;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n // istanbul ignore if @preserve: a solid filter is required\n if (\n !self || element === relatedTarget ||\n element.contains(relatedTarget as Node)\n ) return;\n\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// 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 element: HTMLElement;\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: Element | 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)) {\n addClass(element, fadeClass);\n } else if (!options.animation && hasClass(element, fadeClass)) {\n removeClass(element, fadeClass);\n }\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [\n ...querySelectorAll(\n toastToggleSelector,\n getDocument(element),\n ),\n ].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 if @preserve\n if (!element || isShown) return;\n\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) showToast(this);\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n // istanbul ignore if @preserve\n if (!element || !isShown) return;\n\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) hideToast(this);\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 @preserve\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n // istanbul ignore else @preserve\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(\n (e) => action(element, e, interactiveToastHandler),\n );\n }\n // istanbul ignore else @preserve\n if (triggers.length) {\n triggers.forEach((btn) =>\n action(btn, mouseclickEvent, toastClickHandler)\n );\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n this._toggleEventListeners();\n Timer.clear(element, toastString);\n\n if (isShown) removeClass(element, showClass);\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\ntype Component =\n | Alert\n | Button\n | Carousel\n | Collapse\n | Dropdown\n | Modal\n | Offcanvas\n | Popover\n | ScrollSpy\n | Tab\n | Toast\n | Tooltip;\n\n[\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Offcanvas,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip,\n].forEach((c) => componentsList.set(c.prototype.name, c));\n\n/**\n * Initialize all matched `Element`s for one component.\n *\n * @param callback\n * @param collection\n */\nconst initComponentDataAPI = (\n callback: (el: Element) => Component,\n collection: HTMLCollectionOf | Element[],\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)) {\n (instance as T & { dispose: () => void }).dispose();\n }\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(), {\n once: true,\n });\n}\n"],"names":["De","Oe","$","Pe","Be","Fe","rt","ct","at","dt","pt","mt","bt","ht","yt","wt","Dt","xt","zt","Rt","je","qt","on","sn","rn","cn","gn","_t","$t","M","W","zn","t","e","te","R","n","o","s","Q","j","ne","Qn","Gn","qn","Zn","Yn","b","l","u","h","O","to","k","G","K","d","N","oe","q","g","ae","ie","ro","r","a","i","io","P","T","ue","lo","f","c","p","E","C","po","vo","bo","Eo","ho","x","le","v","yo","de","z","fe","pe","Ao","m","w","So","S","ko","me","A","ve","be","Ee","we","Co","F","H","y","Ae","Se","Do","zo","Vo","Uo","ke","Ro","Ne","Go","fadeClass","showClass","dataBsDismiss","alertString","alertComponent","Version","BaseComponent","target","config","element","isElement","isString","querySelector","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","setAttribute","ariaPressed","isActive","getAttribute","addClass","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","activateCarouselIndicator","pointermoveEvent","passiveHandler","pointerupEvent","isHTMLElement","getElementsByClassName","activeIndex","transitionItem","matches","ar","isPaused","idx","next","eventProperties","ObjectAssign","getElementTransitionDuration","reflow","touch","pause","interval","keyboard","mouseenterEvent","mouseleaveEvent","pointerdownEvent","touchstartEvent","dragstartEvent","arrow","indicator","keydownEvent","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","getCurrentOpenDropdown","currentParent","type","isForm","mousedownEvent","dropdownClickHandler","keyArrowDown","keyArrowUp","activeElement","open","menuItems","focus","keyEscape","dropdownIntersectionHandler","entry","currentElement","currentInstance","modalString","modalComponent","offcanvasComponent","fixedTopClass","fixedBottomClass","stickyTopClass","positionStickyClass","getFixedItems","resetScrollbar","bd","getDocumentBody","fixedItems","fixed","measureScrollbar","innerWidth","getWindow","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","padStyle","toggleModalDismiss","modalDismissHandler","modalKeyHandler","afterModalHide","relatedTarget","focusElement","toggleFocusTrap","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","isOpen","popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","body","tipClassPositions","styleTip","tipClasses","tooltip","container","offsetParent","scrollLeft","scrollTop","getNodeScroll","tipWidth","tipHeight","htmlcw","htmlch","htmlow","placement","parentCWidth","parentOWidth","fixedParent","leftBoundry","rightBoundry","observerEntry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","elemOffsetLeft","elemOffsetTop","getRectRelativeToOffsetParent","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","tipPositions","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","tooltipHeader","tooltipBody","tempTitle","tempContent","tempBtn","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","tooltipSelector","titleAttr","getTooltipInstance","tooltipInitCallback","Tooltip","removeTooltip","ariaDescribedBy","hasTip","disposeTooltipComplete","toggleTooltipTitle","toggleTooltipAction","tooltipShownAction","shownTooltipEvent","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","parentModal","parentOffcanvas","titleAtt","tipComponent","elem","getUID","position","PositionObserver","entries","outTimer","showTooltipEvent","delay","hideTooltipEvent","enabled","tr","mousehoverEvent","focusinEvent","focusoutEvent","isApple","popoverSelector","popoverDefaults","getPopoverInstance","popoverInitCallback","Popover","scrollspyString","scrollspyComponent","scrollspySelector","scrollspyDefaults","getScrollSpyInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","updateSpyTargets","scrollTarget","itemsLength","_observer","isRoot","links","getElementsByTagName","scrollHEIGHT","href","ref","targetItem","rect","getOffsetHeight","link","toggleObservers","targets","getScrollHeight","clear","item","activate","parents","parentItem","menuItem","parentLink","spyTarget","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","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,52]} \ No newline at end of file +{"version":3,"file":"bootstrap-native.js","sources":["../node_modules/.pnpm/@thednp+shorty@https+++codeload.github.com+thednp+shorty+tar.gz+6d62cceb75a6b1cd3a73cced7a052ef03ae826b2/node_modules/@thednp/shorty/dist/shorty.mjs","../node_modules/.pnpm/@thednp+event-listener@2.0.8/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/util/isDisabled.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","../node_modules/.pnpm/@thednp+position-observer@https+++codeload.github.com+thednp+position-observer+tar.gz+ebeff80_vgonz6o4lt2qwgfhpqexzhhtle/node_modules/@thednp/position-observer/dist/index.mjs","../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 Ce = \"2.0.8\", Le = \"aria-checked\", Me = \"aria-description\", De = \"aria-describedby\", Oe = \"aria-expanded\", xe = \"aria-haspopup\", J = \"aria-hidden\", ze = \"aria-label\", Ie = \"aria-labelledby\", Pe = \"aria-modal\", Be = \"aria-pressed\", Fe = \"aria-selected\", He = \"aria-valuemin\", Ve = \"aria-valuemax\", Ue = \"aria-valuenow\", We = \"aria-valuetext\", X = \"abort\", tt = \"beforeunload\", et = \"blur\", nt = \"change\", ot = \"contextmenu\", V = \"DOMContentLoaded\", st = \"DOMMouseScroll\", rt = \"error\", ct = \"focus\", at = \"focusin\", it = \"focusout\", ut = \"gesturechange\", lt = \"gestureend\", dt = \"gesturestart\", ft = \"keydown\", pt = \"keypress\", gt = \"keyup\", mt = \"load\", vt = \"click\", bt = \"dblclick\", Et = \"mousedown\", ht = \"mouseup\", yt = \"hover\", wt = \"mouseenter\", At = \"mouseleave\", St = \"mousein\", Tt = \"mouseout\", kt = \"mouseover\", Nt = \"mousemove\", Ct = \"mousewheel\", Lt = \"move\", Mt = \"orientationchange\", Dt = \"pointercancel\", Ot = \"pointerdown\", xt = \"pointerleave\", zt = \"pointermove\", It = \"pointerup\", Pt = \"readystatechange\", Bt = \"reset\", Ft = \"resize\", Ht = \"select\", Vt = \"selectend\", Ut = \"selectstart\", Wt = \"scroll\", Rt = \"submit\", Qt = \"touchstart\", jt = \"touchmove\", Gt = \"touchcancel\", Kt = \"touchend\", qt = \"unload\", Re = {\n DOMContentLoaded: V,\n DOMMouseScroll: st,\n abort: X,\n beforeunload: tt,\n blur: et,\n change: nt,\n click: vt,\n contextmenu: ot,\n dblclick: bt,\n error: rt,\n focus: ct,\n focusin: at,\n focusout: it,\n gesturechange: ut,\n gestureend: lt,\n gesturestart: dt,\n hover: yt,\n keydown: ft,\n keypress: pt,\n keyup: gt,\n load: mt,\n mousedown: Et,\n mousemove: Nt,\n mousein: St,\n mouseout: Tt,\n mouseenter: wt,\n mouseleave: At,\n mouseover: kt,\n mouseup: ht,\n mousewheel: Ct,\n move: Lt,\n orientationchange: Mt,\n pointercancel: Dt,\n pointerdown: Ot,\n pointerleave: xt,\n pointermove: zt,\n pointerup: It,\n readystatechange: Pt,\n reset: Bt,\n resize: Ft,\n scroll: Wt,\n select: Ht,\n selectend: Vt,\n selectstart: Ut,\n submit: Rt,\n touchcancel: Gt,\n touchend: Kt,\n touchmove: jt,\n touchstart: Qt,\n unload: qt\n}, Qe = \"drag\", je = \"dragstart\", Ge = \"dragenter\", Ke = \"dragleave\", qe = \"dragover\", Ye = \"dragend\", Ze = \"loadstart\", _e = {\n start: \"mousedown\",\n end: \"mouseup\",\n move: \"mousemove\",\n cancel: \"mouseleave\"\n}, $e = { down: \"mousedown\", up: \"mouseup\" }, Je = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"], Xe = {\n start: \"touchstart\",\n end: \"touchend\",\n move: \"touchmove\",\n cancel: \"touchcancel\"\n}, tn = { in: \"focusin\", out: \"focusout\" }, Yt = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]', en = {\n Backspace: \"Backspace\",\n Tab: \"Tab\",\n Enter: \"Enter\",\n Shift: \"Shift\",\n Control: \"Control\",\n Alt: \"Alt\",\n Pause: \"Pause\",\n CapsLock: \"CapsLock\",\n Escape: \"Escape\",\n Scape: \"Space\",\n ArrowLeft: \"ArrowLeft\",\n ArrowUp: \"ArrowUp\",\n ArrowRight: \"ArrowRight\",\n ArrowDown: \"ArrowDown\",\n Insert: \"Insert\",\n Delete: \"Delete\",\n Meta: \"Meta\",\n ContextMenu: \"ContextMenu\",\n ScrollLock: \"ScrollLock\"\n}, nn = \"Alt\", on = \"ArrowDown\", sn = \"ArrowUp\", rn = \"ArrowLeft\", cn = \"ArrowRight\", an = \"Backspace\", un = \"CapsLock\", ln = \"Control\", dn = \"Delete\", fn = \"Enter\", pn = \"NumpadEnter\", gn = \"Escape\", mn = \"Insert\", vn = \"Meta\", bn = \"Pause\", En = \"ScrollLock\", hn = \"Shift\", yn = \"Space\", wn = \"Tab\", Zt = \"animationDuration\", _t = \"animationDelay\", U = \"animationName\", C = \"animationend\", $t = \"transitionDuration\", Jt = \"transitionDelay\", L = \"transitionend\", W = \"transitionProperty\", An = \"addEventListener\", Sn = \"removeEventListener\", Tn = {\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}, kn = \"offsetHeight\", Nn = \"offsetWidth\", Cn = \"scrollHeight\", Ln = \"scrollWidth\", Mn = \"tabindex\", Dn = navigator.userAgentData, { userAgent: Xt } = navigator, On = Xt, xn = () => {\n const t = /iPhone|iPad|iPod|Android/i;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(navigator?.userAgent) || !1;\n}, zn = () => {\n const t = /(iPhone|iPod|iPad)/;\n return navigator?.userAgentData?.brands.some(\n (e) => t.test(e.brand)\n ) || t.test(\n navigator?.userAgent\n ) || !1;\n}, In = () => navigator?.userAgent?.includes(\"Firefox\") || !1, te = () => typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\"), Pn = () => [\"webkitPerspective\", \"perspective\"].some((t) => t in document.head.style), ee = () => {\n}, R = (t, e, n, o) => {\n const s = o || !1;\n t.addEventListener(\n e,\n n,\n s\n );\n}, Q = (t, e, n, o) => {\n const s = o || !1;\n t.removeEventListener(\n e,\n n,\n s\n );\n}, ne = (t, e, n, o) => {\n const s = (r) => {\n (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), Q(t, e, s, o));\n };\n R(t, e, s, o);\n}, Bn = () => {\n let t = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get: () => (t = !0, t)\n });\n ne(document, V, ee, e);\n } catch {\n }\n return t;\n}, Fn = () => [\"webkitTransform\", \"transform\"].some((t) => t in document.head.style), Hn = () => \"ontouchstart\" in window || \"msMaxTouchPoints\" in navigator, Vn = () => [\"webkitAnimation\", \"animation\"].some((t) => t in document.head.style), Un = () => [\"webkitTransition\", \"transition\"].some((t) => t in document.head.style), j = (t, e) => t.getAttribute(e), Wn = (t, e, n) => e.getAttributeNS(t, n), oe = (t, e) => t.hasAttribute(e), Rn = (t, e, n) => e.hasAttributeNS(t, n), Qn = (t, e, n) => t.setAttribute(e, n), jn = (t, e, n, o) => e.setAttributeNS(t, n, o), Gn = (t, e) => t.removeAttribute(e), Kn = (t, e, n) => e.removeAttributeNS(t, n), qn = (t, ...e) => {\n t.classList.add(...e);\n}, Yn = (t, ...e) => {\n t.classList.remove(...e);\n}, Zn = (t, e) => t.classList.contains(e), { body: _n } = document, { documentElement: $n } = document, { head: Jn } = document, Xn = (t) => Array.from(t), b = (t) => t != null && typeof t == \"object\" || !1, l = (t) => b(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some(\n (e) => t.nodeType === e\n) || !1, u = (t) => l(t) && t.nodeType === 1 || !1, h = /* @__PURE__ */ new Map(), D = {\n data: h,\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 h.has(e) || h.set(e, /* @__PURE__ */ new Map()), h.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) => h.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 = D.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 = D.getAllFor(e);\n !n || !u(t) || (n.delete(t), n.size === 0 && h.delete(e));\n }\n}, to = (t, e) => D.get(t, e), eo = (t) => t?.charAt(0).toUpperCase() + t?.slice(1), I = (t) => t?.trim().replace(\n /(?:^\\w|[A-Z]|\\b\\w)/g,\n (e, n) => n === 0 ? e.toLowerCase() : e.toUpperCase()\n).replace(/\\s+/g, \"\"), k = (t) => typeof t == \"string\" || !1, G = (t) => b(t) && t.constructor.name === \"Window\" || !1, K = (t) => l(t) && t.nodeType === 9 || !1, d = (t) => K(t) ? t : l(t) ? t.ownerDocument : G(t) ? t.document : globalThis.document, N = (t, ...e) => Object.assign(t, ...e), se = (t) => {\n if (!t) return;\n if (k(t))\n return d().createElement(t);\n const { tagName: e } = t, n = se(e);\n if (!n) return;\n const o = { ...t };\n return delete o.tagName, N(n, o);\n}, re = (t, e) => {\n if (!t || !e) return;\n if (k(e))\n return d().createElementNS(t, e);\n const { tagName: n } = e, o = re(t, n);\n if (!o) return;\n const s = { ...e };\n return delete s.tagName, N(o, s);\n}, q = (t, e) => t.dispatchEvent(e), no = (t, e, n) => n.indexOf(t) === e, g = (t, e, n) => {\n const o = getComputedStyle(t, n), s = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return o.getPropertyValue(s);\n}, ce = (t) => {\n const e = g(t, U), n = g(t, _t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ae = (t) => {\n const e = g(t, U), n = g(t, Zt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, oo = (t, e) => {\n let n = 0;\n const o = new Event(C), s = ae(t), r = ce(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), 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}, ie = (t) => {\n const e = g(t, W), n = g(t, Jt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, ue = (t) => {\n const e = g(t, W), n = g(t, $t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n return Number.isNaN(s) ? 0 : s;\n}, so = (t, e) => {\n let n = 0;\n const o = new Event(L), s = ue(t), r = ie(t);\n if (s) {\n const a = (i) => {\n i.target === t && (e.apply(t, [i]), t.removeEventListener(L, a), n = 1);\n };\n t.addEventListener(L, a), setTimeout(() => {\n n || q(t, o);\n }, s + r + 17);\n } else\n e.apply(t, [o]);\n}, ro = (t) => Float32Array.from(Array.from(t)), co = (t) => Float64Array.from(Array.from(t)), ao = (t, e) => t.focus(e), io = (t) => t?.trim().replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/\\s+/g, \"-\").toLowerCase(), P = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, T = (t) => Object.entries(t), uo = (t, e, n, o) => {\n if (!u(t)) return e;\n const s = { ...n }, r = { ...t.dataset }, a = { ...e }, i = {}, f = \"title\";\n return T(r).forEach(([c, p]) => {\n const E = o && typeof c == \"string\" && c.includes(o) ? I(c.replace(o, \"\")) : I(c);\n i[E] = P(p);\n }), T(s).forEach(([c, p]) => {\n s[c] = P(p);\n }), T(e).forEach(([c, p]) => {\n c in s ? a[c] = s[c] : c in i ? a[c] = i[c] : a[c] = c === f ? j(t, f) : p;\n }), a;\n}, lo = (t, e) => b(t) && (Object.hasOwn(t, e) || e in t), fo = (t) => Object.keys(t), po = (t) => Object.values(t), go = (t) => Object.fromEntries(t), mo = (t, e) => {\n const n = new CustomEvent(t, {\n cancelable: !0,\n bubbles: !0\n });\n return b(e) && N(n, e), n;\n}, vo = { passive: !0 }, bo = (t) => t.offsetHeight, Eo = (t, e) => {\n T(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, N(t.style, s);\n }\n });\n}, O = (t) => b(t) && t.constructor.name === \"Map\" || !1, le = (t) => typeof t == \"number\" || !1, v = /* @__PURE__ */ new Map(), ho = {\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 ? (v.has(t) || v.set(t, /* @__PURE__ */ new Map()), v.get(t).set(o, setTimeout(e, n))) : v.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 = v.get(t);\n return e && n && O(n) ? n.get(e) || null : le(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 = v.get(t);\n e && e.length && O(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && v.delete(t)) : (clearTimeout(n), v.delete(t));\n }\n}, yo = (t) => t.toLowerCase(), wo = (t) => t.toUpperCase(), de = (t, e) => (l(e) ? e : d()).querySelectorAll(t), x = /* @__PURE__ */ new Map();\nfunction fe(t) {\n const { shiftKey: e, code: n } = t, o = d(this), s = [\n ...de(Yt, this)\n ].filter(\n (i) => !oe(i, \"disabled\") && !j(i, J)\n );\n if (!s.length) return;\n const r = s[0], a = s[s.length - 1];\n n === \"Tab\" && (e && o.activeElement === r ? (a.focus(), t.preventDefault()) : !e && o.activeElement === a && (r.focus(), t.preventDefault()));\n}\nconst pe = (t) => x.has(t) === !0, Ao = (t) => {\n const e = pe(t);\n (e ? Q : R)(t, \"keydown\", fe), e ? x.delete(t) : x.set(t, !0);\n}, m = (t) => u(t) && \"offsetWidth\" in t || !1, w = (t, e) => {\n const { width: n, height: o, top: s, right: r, bottom: a, left: i } = t.getBoundingClientRect();\n let f = 1, c = 1;\n if (e && m(t)) {\n const { offsetWidth: p, offsetHeight: E } = t;\n f = p > 0 ? Math.round(n) / p : 1, c = E > 0 ? Math.round(o) / E : 1;\n }\n return {\n width: n / f,\n height: o / c,\n top: s / c,\n right: r / f,\n bottom: a / c,\n left: i / f,\n x: i / f,\n y: s / c\n };\n}, So = (t) => d(t).body, S = (t) => d(t).documentElement, To = (t) => d(t).head, ge = (t) => l(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\", ko = (t) => {\n const e = G(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n return { x: n, y: o };\n}, me = (t) => l(t) && t.constructor.name === \"ShadowRoot\" || !1, A = (t) => t.nodeName === \"HTML\" ? t : u(t) && t.assignedSlot || l(t) && t.parentNode || me(t) && t.host || S(t), ve = (t) => t ? K(t) ? t.defaultView : l(t) ? t?.ownerDocument?.defaultView : t : window, be = (t) => l(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, Ee = (t, e) => t.matches(e), M = (t) => g(t, \"position\") === \"static\", he = (t) => g(t, \"position\") === \"fixed\", Y = (t) => [\":popover-open\", \":modal\"].some((e) => {\n try {\n return Ee(t, e);\n } catch {\n return !1;\n }\n}), Z = (t) => {\n const e = te(), n = u(t) ? getComputedStyle(t) : t;\n return n.transform !== \"none\" || n.perspective !== \"none\" || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || [\"transform\", \"perspective\", \"filter\"].some(\n (o) => (n.willChange || \"\").includes(o)\n ) || [\"paint\", \"layout\", \"strict\", \"content\"].some(\n (o) => (n.contain || \"\").includes(o)\n );\n}, ye = (t) => {\n let e = A(t);\n for (; u(e) && !z(e); ) {\n if (Z(e))\n return e;\n if (Y(e))\n return null;\n e = A(e);\n }\n return null;\n}, z = (t) => [\"html\", \"body\", \"#document\"].includes(ge(t)), B = (t) => {\n if (!m(t) || he(t))\n return null;\n let e = t.offsetParent;\n return S(t) === e && (e = e.ownerDocument.body), e;\n}, No = (t) => {\n const e = ve(t);\n if (!l(t) || Y(t))\n return e;\n if (!m(t)) {\n let o = A(t);\n for (; o && !z(o); ) {\n if (u(o) && !M(o))\n return o;\n o = A(o);\n }\n return e;\n }\n let n = B(t);\n for (; n && be(n) && M(n); )\n n = B(n);\n return n && z(n) && M(n) && !Z(n) ? e : n || ye(t) || e;\n}, we = (t) => {\n if (!m(t)) return !1;\n const { width: e, height: n } = w(t), { offsetWidth: o, offsetHeight: s } = t;\n return Math.round(e) !== o || Math.round(n) !== s;\n}, Co = (t, e, n) => {\n const o = m(e), s = w(\n t,\n o && we(e)\n ), r = { x: 0, y: 0 };\n if (o) {\n const a = w(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 F = 0, H = 0;\nconst y = /* @__PURE__ */ new Map(), Ae = (t, e) => {\n let n = e ? F : H;\n if (e) {\n const o = Ae(t), s = y.get(o) || /* @__PURE__ */ new Map();\n y.has(o) || y.set(o, s), O(s) && !s.has(e) ? (s.set(e, n), F += 1) : n = s.get(e);\n } else {\n const o = t.id || t;\n y.has(o) ? n = y.get(o) : (y.set(o, n), H += 1);\n }\n return n;\n}, Lo = (t) => {\n const e = [\"HTML\", \"BODY\"];\n let { parentNode: n } = t;\n if (!m(n))\n for (; n && !e.includes(n.nodeName) && (n = A(n), !m(n)); )\n ;\n const {\n offsetLeft: o,\n offsetTop: s,\n offsetParent: r\n } = n, { top: a, left: i } = n.getBoundingClientRect(), { top: f, left: c, width: p, height: E } = t.getBoundingClientRect(), _ = s + (f - a), $ = o + (c - i);\n return {\n offsetTop: _,\n offsetLeft: $,\n offsetWidth: p,\n offsetHeight: E,\n offsetParent: r\n };\n}, Se = (t) => Array.isArray(t) || !1, Mo = (t) => l(t) && t.nodeName === \"CANVAS\" || !1, Te = (t) => m(t) && !!t.shadowRoot || !1, Do = (t) => {\n if (!l(t)) return !1;\n const { top: e, bottom: n } = w(t), { clientHeight: o } = S(t);\n return e <= o && n >= 0;\n}, Oo = (t) => {\n if (!u(t)) return !1;\n const { clientWidth: e, clientHeight: n } = S(t), { top: o, left: s, bottom: r, right: a } = w(t, !0);\n return o >= 0 && s >= 0 && r <= n && a <= e;\n}, xo = (t) => Se(t) && t.every(u) || !1, zo = (t) => typeof t == \"function\" || !1, Io = (t) => b(t) && t.constructor.name === \"HTMLCollection\" || !1, Po = (t) => m(t) && t.tagName === \"IMG\" || !1, Bo = (t) => {\n if (!k(t)) return !1;\n try {\n JSON.parse(t);\n } catch {\n return !1;\n }\n return !0;\n}, Fo = (t) => b(t) && t.constructor.name === \"WeakMap\" || !1, Ho = (t) => l(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some(\n (e) => t.constructor.name.includes(e)\n) || !1, Vo = (t) => b(t) && t.constructor.name === \"NodeList\" || !1, Uo = (t) => S(t).dir === \"rtl\", Wo = (t) => l(t) && t.constructor.name.includes(\"SVG\") || !1, ke = (t, e) => !t || !e ? null : t.closest(e) || ke(t.getRootNode().host, e) || null, Ro = (t, e) => u(t) ? t : (u(e) ? e : d()).querySelector(t), Ne = (t, e) => (l(e) ? e : d()).getElementsByTagName(\n t\n), Qo = (t) => [...Ne(\"*\", t)].filter(Te), jo = (t, e) => d(e).getElementById(t), Go = (t, e) => (e && l(e) ? e : d()).getElementsByClassName(\n t\n);\nexport {\n Xn as ArrayFrom,\n V as DOMContentLoadedEvent,\n st as DOMMouseScrollEvent,\n D as Data,\n ro as Float32ArrayFrom,\n co as Float64ArrayFrom,\n N as ObjectAssign,\n T as ObjectEntries,\n go as ObjectFromEntries,\n lo as ObjectHasOwn,\n fo as ObjectKeys,\n po as ObjectValues,\n ho as Timer,\n X as abortEvent,\n qn as addClass,\n An as addEventListener,\n _t as animationDelay,\n Zt as animationDuration,\n C as animationEndEvent,\n U as animationName,\n Le as ariaChecked,\n De as ariaDescribedBy,\n Me as ariaDescription,\n Oe as ariaExpanded,\n xe as ariaHasPopup,\n J as ariaHidden,\n ze as ariaLabel,\n Ie as ariaLabelledBy,\n Pe as ariaModal,\n Be as ariaPressed,\n Fe as ariaSelected,\n Ve as ariaValueMax,\n He as ariaValueMin,\n Ue as ariaValueNow,\n We as ariaValueText,\n tt as beforeunloadEvent,\n Tn as bezierEasings,\n et as blurEvent,\n I as camelCase,\n eo as capitalize,\n nt as changeEvent,\n ke as closest,\n ot as contextmenuEvent,\n mo as createCustomEvent,\n se as createElement,\n re as createElementNS,\n q as dispatchEvent,\n no as distinct,\n _n as documentBody,\n $n as documentElement,\n Jn as documentHead,\n Qe as dragEvent,\n Ye as dragendEvent,\n Ge as dragenterEvent,\n Ke as dragleaveEvent,\n qe as dragoverEvent,\n je as dragstartEvent,\n oo as emulateAnimationEnd,\n so as emulateTransitionEnd,\n rt as errorEvent,\n ao as focus,\n ct as focusEvent,\n tn as focusEvents,\n Yt as focusableSelector,\n at as focusinEvent,\n it as focusoutEvent,\n ut as gesturechangeEvent,\n lt as gestureendEvent,\n dt as gesturestartEvent,\n j as getAttribute,\n Wn as getAttributeNS,\n w as getBoundingClientRect,\n Qo as getCustomElements,\n d as getDocument,\n So as getDocumentBody,\n S as getDocumentElement,\n To as getDocumentHead,\n ce as getElementAnimationDelay,\n ae as getElementAnimationDuration,\n jo as getElementById,\n g as getElementStyle,\n ie as getElementTransitionDelay,\n ue as getElementTransitionDuration,\n Go as getElementsByClassName,\n Ne as getElementsByTagName,\n to as getInstance,\n ge as getNodeName,\n ko as getNodeScroll,\n No as getOffsetParent,\n A as getParentNode,\n Co as getRectRelativeToOffsetParent,\n Lo as getSVGOffset,\n Ae as getUID,\n ve as getWindow,\n oe as hasAttribute,\n Rn as hasAttributeNS,\n Zn as hasClass,\n pe as hasFocusTrap,\n zn as isApple,\n Se as isArray,\n Mo as isCanvas,\n Te as isCustomElement,\n K as isDocument,\n u as isElement,\n Do as isElementInScrollRange,\n Oo as isElementInViewport,\n xo as isElementsArray,\n In as isFirefox,\n zo as isFunction,\n Io as isHTMLCollection,\n m as isHTMLElement,\n Po as isHTMLImageElement,\n Bo as isJSON,\n O as isMap,\n Ho as isMedia,\n xn as isMobile,\n l as isNode,\n Vo as isNodeList,\n le as isNumber,\n b as isObject,\n Uo as isRTL,\n Wo as isSVGElement,\n we as isScaledElement,\n me as isShadowRoot,\n k as isString,\n be as isTableElement,\n Fo as isWeakMap,\n te as isWebKit,\n G as isWindow,\n io as kebabCase,\n nn as keyAlt,\n on as keyArrowDown,\n rn as keyArrowLeft,\n cn as keyArrowRight,\n sn as keyArrowUp,\n an as keyBackspace,\n un as keyCapsLock,\n ln as keyControl,\n dn as keyDelete,\n fn as keyEnter,\n gn as keyEscape,\n mn as keyInsert,\n vn as keyMeta,\n pn as keyNumpadEnter,\n bn as keyPause,\n En as keyScrollLock,\n hn as keyShift,\n yn as keySpace,\n wn as keyTab,\n en as keyboardEventKeys,\n ft as keydownEvent,\n pt as keypressEvent,\n gt as keyupEvent,\n mt as loadEvent,\n Ze as loadstartEvent,\n Ee as matches,\n $e as mouseClickEvents,\n Je as mouseHoverEvents,\n _e as mouseSwipeEvents,\n vt as mouseclickEvent,\n bt as mousedblclickEvent,\n Et as mousedownEvent,\n wt as mouseenterEvent,\n yt as mousehoverEvent,\n St as mouseinEvent,\n At as mouseleaveEvent,\n Nt as mousemoveEvent,\n Tt as mouseoutEvent,\n kt as mouseoverEvent,\n ht as mouseupEvent,\n Ct as mousewheelEvent,\n Lt as moveEvent,\n Re as nativeEvents,\n ee as noop,\n uo as normalizeOptions,\n P as normalizeValue,\n Q as off,\n kn as offsetHeight,\n Nn as offsetWidth,\n R as on,\n ne as one,\n Mt as orientationchangeEvent,\n vo as passiveHandler,\n Dt as pointercancelEvent,\n Ot as pointerdownEvent,\n xt as pointerleaveEvent,\n zt as pointermoveEvent,\n It as pointerupEvent,\n Ro as querySelector,\n de as querySelectorAll,\n Pt as readystatechangeEvent,\n bo as reflow,\n Gn as removeAttribute,\n Kn as removeAttributeNS,\n Yn as removeClass,\n Sn as removeEventListener,\n Bt as resetEvent,\n Ft as resizeEvent,\n Wt as scrollEvent,\n Cn as scrollHeight,\n Ln as scrollWidth,\n Ht as selectEvent,\n Vt as selectendEvent,\n Ut as selectstartEvent,\n Qn as setAttribute,\n jn as setAttributeNS,\n Eo as setElementStyle,\n Rt as submitEvent,\n Pn as support3DTransform,\n Vn as supportAnimation,\n Bn as supportPassive,\n Hn as supportTouch,\n Fn as supportTransform,\n Un as supportTransition,\n Mn as tabindex,\n yo as toLowerCase,\n wo as toUpperCase,\n Ao as toggleFocusTrap,\n Xe as touchEvents,\n Gt as touchcancelEvent,\n Kt as touchendEvent,\n jt as touchmoveEvent,\n Qt as touchstartEvent,\n Jt as transitionDelay,\n $t as transitionDuration,\n L as transitionEndEvent,\n W as transitionProperty,\n qt as unloadEvent,\n On as userAgent,\n Dn as userAgentData,\n Ce as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","const g = \"2.0.8\", e = {}, f = (t) => {\n const { type: n, currentTarget: c } = t;\n e[n].forEach((a, s) => {\n c === s && a.forEach((o, i) => {\n i.apply(s, [t]), typeof o == \"object\" && o.once && r(s, n, i, o);\n });\n });\n}, E = (t, n, c, a) => {\n e[n] || (e[n] = /* @__PURE__ */ new Map());\n const s = e[n];\n s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n const o = s.get(\n t\n ), { size: i } = o;\n o.set(c, a), i || t.addEventListener(\n n,\n f,\n a\n );\n}, r = (t, n, c, a) => {\n const s = e[n], o = s && s.get(t), i = o && o.get(c), d = i !== void 0 ? i : a;\n o && o.has(c) && o.delete(c), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[n], (!o || !o.size) && t.removeEventListener(\n n,\n f,\n d\n );\n}, M = E, p = r;\nexport {\n E as addListener,\n f as globalListener,\n p as off,\n M as on,\n e as registry,\n r as removeListener,\n g as version\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 {\n Data,\n isElement,\n isString,\n normalizeOptions,\n ObjectKeys,\n querySelector,\n} 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: Element;\n declare options?: BaseOptions;\n\n /**\n * @param target `Element` or selector string\n * @param config component instance options\n */\n constructor(target: Element | string, config?: BaseOptions) {\n let element: Element | null;\n\n try {\n if (isElement(target)) {\n element = target as Element;\n } else if (isString(target)) {\n element = querySelector(target);\n // istanbul ignore else @preserve\n if (!element) throw Error(`\"${target}\" is not a valid selector.`);\n } else {\n throw Error(`your target is not an instance of HTMLElement.`);\n }\n } catch (e) {\n throw Error(`${this.name} Error: ${(e as Error).message}`);\n }\n\n const prevInstance = Data.get(element, this.name);\n /* istanbul ignore else @preserve */\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 = this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, \"bs\")\n : /* istanbul ignore next @preserve */ {};\n\n Data.set(element, this.name, this);\n }\n\n // istanbul ignore next @preserve\n get version() {\n return Version;\n }\n\n // istanbul ignore next @preserve\n get name() {\n return \"BaseComponent\";\n }\n\n // istanbul ignore next @preserve\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n // istanbul ignore next @preserve coverage wise this isn't important\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","import { getAttribute, hasClass } from \"@thednp/shorty\";\n\n/**\n * Check if interactive element is disabled.\n * @param target either a `
',\n});\n\n/**\n * Static method which returns an existing `Popover` instance associated\n * to a target `Element`.\n */\nconst getPopoverInstance = (element: Element) =>\n getInstance(element, popoverComponent);\n\n/**\n * A `Popover` initialization callback.\n */\nconst popoverInitCallback = (element: Element) => 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: Element | 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 @preserve\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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n getAttribute,\n getBoundingClientRect,\n getDocument,\n getDocumentElement,\n getElementById,\n getElementsByTagName,\n getInstance,\n hasClass,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n removeClass,\n} from \"@thednp/shorty\";\n\nimport PositionObserver from \"@thednp/position-observer\";\nimport { addListener, removeListener } from \"@thednp/event-listener\";\n\nimport activeClass from \"~/strings/activeClass\";\nimport scrollspyString from \"~/strings/scrollspyString\";\nimport scrollspyComponent from \"~/strings/scrollspyComponent\";\nimport isDisabled from \"~/util/isDisabled\";\nimport BaseComponent from \"./base-component\";\nimport { ScrollSpyEvent, ScrollSpyOptions } from \"~/interface/scrollspy\";\n\n// SCROLLSPY PRIVATE GC\n// ====================\nconst scrollspySelector = '[data-bs-spy=\"scroll\"]';\nconst scrollSpyAnchorSelector = \"[href]\";\n\nconst scrollspyDefaults: Partial = {\n offset: 10,\n target: undefined,\n};\n\ntype ScrollSpyEventProps = {\n relatedTarget: HTMLElement;\n};\n\n/**\n * Static method which returns an existing `ScrollSpy` instance associated\n * to a target `Element`.\n */\nconst getScrollSpyInstance = (element: Element) =>\n getInstance(element, scrollspyComponent);\n\n/**\n * A `ScrollSpy` initialization callback.\n */\nconst scrollspyInitCallback = (element: Element) => new ScrollSpy(element);\n\n// SCROLLSPY CUSTOM EVENT\n// ======================\nconst activateScrollSpy = createCustomEvent<\n ScrollSpyEventProps,\n ScrollSpyEvent\n>(`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 {\n target,\n _itemsLength,\n _observables,\n } = self;\n\n const links = getElementsByTagName(\"A\", target);\n const doc = getDocument(target);\n\n // only update items once or with each mutation\n // istanbul ignore else @preserve\n if (!links.length || _itemsLength === _observables.size) return;\n // reset arrays & update\n _observables.clear();\n\n Array.from(links).forEach((link) => {\n const hash = getAttribute(link, \"href\")?.slice(1);\n const targetItem = hash?.length ? doc.getElementById(hash) : null;\n\n if (targetItem && !isDisabled(link)) {\n self._observables.set(targetItem, link);\n }\n });\n self._itemsLength = self._observables.size;\n};\n\n/**\n * Clear all items of the target.\n *\n * @param target a single item\n */\nconst clear = (target: Element) => {\n Array.from(getElementsByTagName(\"A\", target)).forEach(\n (item) => {\n if (hasClass(item, activeClass)) removeClass(item, activeClass);\n },\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\n // istanbul ignore else @preserve\n clear(target);\n\n self._activeItem = item;\n addClass(item, activeClass);\n\n // activate all parents\n let parentItem = item;\n while (parentItem !== target) {\n parentItem = parentItem.parentElement as HTMLElement;\n if (\n [\"nav\", \"dropdown-menu\", \"list-group\"].some((c) =>\n hasClass(parentItem, c)\n )\n ) {\n const parentLink = parentItem.previousElementSibling as\n | HTMLElement\n | null;\n\n // istanbul ignore else @preserve\n if (parentLink && !hasClass(parentLink, activeClass)) {\n addClass(parentLink, activeClass);\n }\n }\n }\n\n // dispatch\n activateScrollSpy.relatedTarget = item;\n dispatchEvent(element, activateScrollSpy);\n};\n\nconst getOffset = (self: ScrollSpy, target: HTMLElement) => {\n const { scrollTarget, element, options } = self;\n\n return (scrollTarget !== element\n ? getBoundingClientRect(target).top + scrollTarget.scrollTop\n : target.offsetTop) - (options.offset as number || 10);\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 element: HTMLElement;\n declare options: ScrollSpyOptions;\n declare target: HTMLElement;\n declare scrollTarget: HTMLElement;\n declare _itemsLength: number;\n declare _activeItem: HTMLElement | null;\n declare _observables: Map;\n declare _observer: PositionObserver; //| IntersectionObserver;\n\n /**\n * @param target the target element\n * @param config the instance options\n */\n constructor(\n target: Element | string,\n config?: Partial,\n ) {\n super(target, config);\n\n // initialization element & options\n const { element, options } = this;\n\n // get target\n const spyTarget = querySelector(\n options.target,\n getDocument(element),\n );\n\n // invalidate\n if (!spyTarget) return;\n this.target = spyTarget;\n\n // set initial state\n this.scrollTarget = element.clientHeight < element.scrollHeight\n ? element\n : getDocumentElement(element);\n this._observables = new Map();\n\n // run an initial burst, we need to know the targets\n this.refresh();\n // updateSpyTargets(this);\n\n // create observer\n this._observer = new PositionObserver(() => {\n requestAnimationFrame(() => this.refresh());\n }, {\n root: this.scrollTarget,\n });\n\n // add event handlers\n this._toggleEventListeners(true);\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, scrollTarget } = this;\n // check if target is visible and invalidate\n // istanbul ignore if @preserve\n if (!target || target.offsetHeight === 0) return;\n\n updateSpyTargets(this);\n const { _itemsLength, _observables, _activeItem } = this;\n\n // istanbul ignore if @preserve\n if (!_itemsLength) return;\n const entries = _observables.entries().toArray();\n\n const { scrollTop, scrollHeight, clientHeight } = scrollTarget;\n\n if (scrollTop >= scrollHeight - clientHeight) {\n const newActiveItem = entries[_itemsLength - 1]?.[1];\n\n // istanbul ignore else @preserve\n if (_activeItem !== newActiveItem) activate(this, newActiveItem);\n return;\n }\n\n const firstOffset = entries[0]?.[0]\n ? getOffset(this, entries[0][0])\n : /* istanbul ignore next */ null;\n if (\n firstOffset !== null && scrollTop < firstOffset &&\n firstOffset > 0\n ) {\n this._activeItem = null;\n clear(target);\n return;\n }\n\n for (let i = 0; i < _itemsLength; i += 1) {\n const [targetItem, item] = entries[i];\n const offsetTop = getOffset(this, targetItem);\n const nextTarget = entries[i + 1]?.[0];\n const nextOffsetTop = nextTarget\n ? getOffset(this, nextTarget)\n : /* istanbul ignore next */ null;\n\n // istanbul ignore else @preserve\n if (\n _activeItem !== item &&\n scrollTop >= offsetTop &&\n (nextOffsetTop === null || scrollTop < nextOffsetTop)\n ) {\n activate(this, item);\n break;\n }\n }\n };\n\n /**\n * This method provides an event handle\n * for scrollspy\n * @param e the event listener object\n */\n _scrollTo = (e: MouseEvent) => {\n const item = closest(e.target, scrollSpyAnchorSelector);\n const hash = item && getAttribute(item, \"href\")?.slice(1);\n const targetItem = hash && getElementById(hash, this.target);\n\n // istanbul ignore else @preserve\n if (targetItem) {\n this.scrollTarget.scrollTo({\n top: targetItem.offsetTop,\n behavior: \"smooth\",\n });\n e.preventDefault();\n }\n };\n\n /**\n * Toggles on/off the component observer.\n *\n * @param self the ScrollSpy instance\n * @param add when `true`, listener is added\n */\n _toggleEventListeners = (\n add?: boolean,\n ) => {\n const { target, _observables, _observer, _scrollTo } = this;\n const action = add ? addListener : removeListener;\n action(target, mouseclickEvent, _scrollTo);\n\n if (add) {\n _observables?.forEach((_, targetItem) => _observer.observe(targetItem));\n } else _observer.disconnect();\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 addClass,\n ariaSelected,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getElementsByClassName,\n getInstance,\n hasClass,\n isHTMLElement,\n mouseclickEvent,\n MouseEvent,\n querySelector,\n reflow,\n removeClass,\n setAttribute,\n Timer,\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\";\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: Element) =>\n getInstance(element, tabComponent);\n\n/** A `Tab` initialization callback. */\nconst tabInitCallback = (element: Element) => new Tab(element);\n\ntype TabEventProps = {\n relatedTarget: Element & EventTarget | undefined;\n};\n\n// TAB CUSTOM EVENTS\n// =================\nconst showTabEvent = createCustomEvent(\n `show.bs.${tabString}`,\n);\nconst shownTabEvent = createCustomEvent(\n `shown.bs.${tabString}`,\n);\nconst hideTabEvent = createCustomEvent(\n `hide.bs.${tabString}`,\n);\nconst hiddenTabEvent = createCustomEvent(\n `hidden.bs.${tabString}`,\n);\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 @preserve\n if (tabContent && hasClass(tabContent, collapsingClass)) {\n tabContent.style.height = \"\";\n removeClass(tabContent, collapsingClass);\n }\n\n // istanbul ignore else @preserve\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)) ||\n // istanbul ignore next @preserve\n { tab: null };\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const { currentHeight, nextHeight } = tabPrivate.get(element) ||\n // istanbul ignore next @preserve\n { currentHeight: 0, nextHeight: 0 };\n // istanbul ignore else @preserve: vitest won't validate this branch\n if (currentHeight !== nextHeight) {\n // enables height animation\n setTimeout(() => {\n tabContent.style.height = `${nextHeight}px`;\n reflow(tabContent);\n emulateTransitionEnd(tabContent, () => triggerTabEnd(self));\n }, 50);\n } else {\n triggerTabEnd(self);\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)) ||\n // istanbul ignore next @preserve\n { tab: null, content: null };\n let currentHeight = 0;\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\n if (c) addClass(c, \"overflow-hidden\");\n });\n currentHeight = content\n ? content.scrollHeight\n : /* istanbul ignore next @preserve */ 0;\n }\n\n // update relatedTarget and dispatch event\n showTabEvent.relatedTarget = tab as HTMLElement | undefined;\n hiddenTabEvent.relatedTarget = element as HTMLElement;\n dispatchEvent(element, showTabEvent);\n\n // istanbul ignore if @preserve\n if (showTabEvent.defaultPrevented) return;\n // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, activeClass);\n // istanbul ignore else @preserve\n if (content) removeClass(content, activeClass);\n\n // istanbul ignore else @preserve\n if (tabContent && nextContent && hasClass(nextContent, fadeClass)) {\n const nextHeight = nextContent.scrollHeight;\n tabPrivate.set(element, {\n currentHeight,\n nextHeight,\n tab: null,\n content: null,\n });\n\n addClass(tabContent, collapsingClass);\n tabContent.style.height = `${currentHeight}px`;\n reflow(tabContent);\n [content, nextContent].forEach((c) => {\n // istanbul ignore else @preserve\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 // istanbul ignore else @preserve\n if (nextContent) addClass(nextContent, showClass);\n triggerTabShow(self);\n }\n\n // istanbul ignore else @preserve\n if (tab) dispatchEvent(tab, hiddenTabEvent);\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 = (\n self: Tab,\n): { tab: HTMLElement | null; content: HTMLElement | null } => {\n const { nav } = self;\n // istanbul ignore next @preserve\n if (!isHTMLElement(nav)) {\n return { tab: null, content: null };\n }\n\n const activeTabs = getElementsByClassName(\n activeClass,\n nav,\n );\n let tab: HTMLElement | null = null;\n // istanbul ignore else @preserve\n if (\n activeTabs.length === 1 &&\n !dropdownClasses.some((c) =>\n hasClass(activeTabs[0].parentElement as HTMLElement, c)\n )\n ) {\n [tab] = activeTabs;\n } else if (activeTabs.length > 1) {\n tab = activeTabs[activeTabs.length - 1];\n }\n const content = isHTMLElement(tab) ? getTargetElement(tab) : 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) => {\n // istanbul ignore next @preserve\n if (!isHTMLElement(element)) return null;\n const dropdown = closest(element, `.${dropdownClasses.join(\",.\")}`);\n return dropdown\n ? querySelector(`.${dropdownClasses[0]}-toggle`, dropdown)\n : 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: MouseEvent) => {\n const element = closest(e.target, tabSelector);\n const self = element && getTabInstance(element);\n\n // istanbul ignore if @preserve\n if (!self) return;\n e.preventDefault();\n self.show();\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 element: HTMLElement;\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: Element | 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 @preserve\n if (!content) return;\n\n const nav = closest(element, \".nav\");\n const container = closest(\n content as HTMLElement,\n \".tab-content\",\n );\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 @preserve\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 * 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 @preserve\n if ((nav && Timer.get(nav)) || hasClass(element, activeClass)) return;\n const { tab, content } = getActiveTab(this);\n\n // istanbul ignore else @preserve\n if (nav && tab) {\n tabPrivate.set(nav, { tab, content, currentHeight: 0, nextHeight: 0 });\n }\n\n // update relatedTarget and dispatch\n hideTabEvent.relatedTarget = element as HTMLElement;\n\n // istanbul ignore if @preserve\n if (!isHTMLElement(tab)) return;\n\n dispatchEvent(tab, hideTabEvent);\n\n // istanbul ignore else @preserve\n if (hideTabEvent.defaultPrevented) return;\n\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 @preserve\n if (nav) {\n const toggleTab = () => {\n // istanbul ignore else @preserve\n if (tab) {\n removeClass(tab, activeClass);\n setAttribute(tab, ariaSelected, \"false\");\n }\n if (dropdown && !hasClass(dropdown, activeClass)) {\n addClass(dropdown, activeClass);\n }\n };\n\n if (\n content &&\n (hasClass(content, fadeClass) ||\n (nextContent && hasClass(nextContent, fadeClass)))\n ) {\n Timer.set(nav, toggleTab, 1);\n } else toggleTab();\n }\n\n // istanbul ignore else @preserve\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 * 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 addClass,\n closest,\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n focusinEvent,\n focusoutEvent,\n getDocument,\n getInstance,\n hasClass,\n mouseclickEvent,\n mouseenterEvent,\n MouseEvent,\n mouseleaveEvent,\n querySelector,\n querySelectorAll,\n reflow,\n removeClass,\n Timer,\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 isDisabled from \"~/util/isDisabled\";\nimport BaseComponent from \"./base-component\";\nimport { ToastEvent, ToastOptions } 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: Element) =>\n getInstance(element, toastComponent);\n\n/**\n * A `Toast` initialization callback.\n */\nconst toastInitCallback = (element: Element) => new Toast(element);\n\n// TOAST CUSTOM EVENTS\n// ===================\nconst showToastEvent = createCustomEvent, ToastEvent>(\n `show.bs.${toastString}`,\n);\nconst shownToastEvent = createCustomEvent, ToastEvent>(\n `shown.bs.${toastString}`,\n);\nconst hideToastEvent = createCustomEvent, ToastEvent>(\n `hide.bs.${toastString}`,\n);\nconst hiddenToastEvent = createCustomEvent, ToastEvent>(\n `hidden.bs.${toastString}`,\n);\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 @preserve\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 as HTMLElement);\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 as HTMLElement);\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 * 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 if @preserve\n if (!self) return;\n // istanbul ignore else @preserve\n if (trigger && trigger.tagName === \"A\") e.preventDefault();\n self.relatedTarget = trigger;\n self.show();\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;\n const self = getToastInstance(element);\n const { type, relatedTarget } = e;\n\n // istanbul ignore if @preserve: a solid filter is required\n if (\n !self || element === relatedTarget ||\n element.contains(relatedTarget as Node)\n ) return;\n\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// 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 element: HTMLElement;\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: Element | 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)) {\n addClass(element, fadeClass);\n } else if (!options.animation && hasClass(element, fadeClass)) {\n removeClass(element, fadeClass);\n }\n\n // dismiss button\n this.dismiss = querySelector(toastDismissSelector, element);\n\n // toast can have multiple triggering elements\n this.triggers = [\n ...querySelectorAll(\n toastToggleSelector,\n getDocument(element),\n ),\n ].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 if @preserve\n if (!element || isShown) return;\n\n dispatchEvent(element, showToastEvent);\n if (!showToastEvent.defaultPrevented) showToast(this);\n };\n\n /** Hides the toast. */\n hide = () => {\n const { element, isShown } = this;\n\n // istanbul ignore if @preserve\n if (!element || !isShown) return;\n\n dispatchEvent(element, hideToastEvent);\n if (!hideToastEvent.defaultPrevented) hideToast(this);\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 @preserve\n if (dismiss) {\n action(dismiss, mouseclickEvent, hide);\n }\n\n // istanbul ignore else @preserve\n if (options.autohide) {\n [focusinEvent, focusoutEvent, mouseenterEvent, mouseleaveEvent].forEach(\n (e) => action(element, e, interactiveToastHandler),\n );\n }\n // istanbul ignore else @preserve\n if (triggers.length) {\n triggers.forEach((btn) => {\n if (!isDisabled(btn)) action(btn, mouseclickEvent, toastClickHandler);\n });\n }\n };\n\n /** Removes the `Toast` component from the target element. */\n dispose() {\n const { element, isShown } = this;\n this._toggleEventListeners();\n Timer.clear(element, toastString);\n\n if (isShown) removeClass(element, showClass);\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\ntype Component =\n | Alert\n | Button\n | Carousel\n | Collapse\n | Dropdown\n | Modal\n | Offcanvas\n | Popover\n | ScrollSpy\n | Tab\n | Toast\n | Tooltip;\n\n[\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Offcanvas,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip,\n].forEach((c) => componentsList.set(c.prototype.name, c));\n\n/**\n * Initialize all matched `Element`s for one component.\n *\n * @param callback\n * @param collection\n */\nconst initComponentDataAPI = (\n callback: (el: Element) => Component,\n collection: HTMLCollectionOf | Element[],\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)) {\n (instance as T & { dispose: () => void }).dispose();\n }\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(), {\n once: true,\n });\n}\n"],"names":["De","Oe","J","Pe","Be","Fe","ct","at","it","ft","gt","vt","Et","yt","wt","At","Ot","zt","It","Qt","je","Yt","on","sn","rn","cn","gn","$t","Jt","L","W","zn","t","e","ee","R","n","o","s","Q","j","oe","Qn","Gn","qn","Yn","Zn","b","l","u","h","D","to","I","k","G","K","d","N","se","q","g","ie","ue","so","r","a","i","ao","P","T","uo","f","c","p","E","fo","mo","vo","bo","Eo","O","le","v","ho","yo","de","x","fe","pe","Ao","m","w","So","S","ko","me","A","ve","be","Ee","we","Co","F","H","y","Ae","Se","Do","zo","Vo","Uo","ke","Ro","Ne","jo","Go","fadeClass","showClass","dataBsDismiss","alertString","alertComponent","Version","BaseComponent","target","config","element","isElement","isString","querySelector","prevInstance","Data","ObjectKeys","normalizeOptions","prop","isDisabled","hasClass","getAttribute","alertSelector","alertDismissSelector","getAlertInstance","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","removeClass","emulateTransitionEnd","add","action","addListener","removeListener","dismiss","close","mouseclickEvent","activeClass","dataBsToggle","buttonString","buttonComponent","buttonSelector","getButtonInstance","buttonInitCallback","Button","setAttribute","ariaPressed","isActive","addClass","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","activateCarouselIndicator","pointermoveEvent","passiveHandler","pointerupEvent","getElementsByClassName","activeIndex","transitionItem","matches","ar","isPaused","idx","next","eventProperties","ObjectAssign","getElementTransitionDuration","reflow","touch","pause","interval","keyboard","mouseenterEvent","mouseleaveEvent","pointerdownEvent","touchstartEvent","dragstartEvent","arrow","indicator","keydownEvent","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","isHTMLElement","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","getCurrentOpenDropdown","currentParent","type","isForm","mousedownEvent","dropdownClickHandler","keyArrowDown","keyArrowUp","activeElement","open","menuItems","focus","keyEscape","dropdownIntersectionHandler","entry","currentElement","currentInstance","modalString","modalComponent","offcanvasComponent","fixedTopClass","fixedBottomClass","stickyTopClass","positionStickyClass","getFixedItems","resetScrollbar","bd","getDocumentBody","fixedItems","fixed","measureScrollbar","innerWidth","getWindow","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","padStyle","toggleModalDismiss","modalDismissHandler","modalKeyHandler","afterModalHide","relatedTarget","focusElement","toggleFocusTrap","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","isOpen","popoverString","popoverComponent","tooltipString","getTipTemplate","tipType","isTooltip","bodyClass","header","body","tipClassPositions","styleTip","tipClasses","tooltip","container","offsetParent","scrollLeft","scrollTop","getNodeScroll","tipWidth","tipHeight","htmlcw","htmlch","htmlow","placement","parentCWidth","parentOWidth","fixedParent","leftBoundry","rightBoundry","observerEntry","elemWidth","elemHeight","elemRectLeft","elemRectRight","elemRectTop","elemOffsetLeft","elemOffsetTop","getRectRelativeToOffsetParent","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","tipPositions","titleParts","contentParts","placementClass","tooltipTemplate","htmlMarkup","tooltipHeader","tooltipBody","tempTitle","tempContent","tempBtn","getElementContainer","majorBlockTags","containers","parentNode","getParentNode","isShadowRoot","isTableElement","tooltipSelector","titleAttr","getTooltipInstance","tooltipInitCallback","Tooltip","removeTooltip","ariaDescribedBy","hasTip","disposeTooltipComplete","toggleTooltipTitle","toggleTooltipAction","tooltipShownAction","shownTooltipEvent","tooltipHiddenAction","hiddenTooltipEvent","toggleTooltipOpenHandlers","parentModal","parentOffcanvas","titleAtt","tipComponent","elem","getUID","position","PositionObserver","outTimer","showTooltipEvent","delay","hideTooltipEvent","enabled","tr","mousehoverEvent","focusinEvent","focusoutEvent","isApple","popoverSelector","popoverDefaults","getPopoverInstance","popoverInitCallback","Popover","scrollspyString","scrollspyComponent","scrollspySelector","scrollSpyAnchorSelector","scrollspyDefaults","getScrollSpyInstance","scrollspyInitCallback","ScrollSpy","activateScrollSpy","updateSpyTargets","_itemsLength","_observables","links","getElementsByTagName","link","hash","targetItem","clear","item","activate","parentItem","parentLink","getOffset","scrollTarget","spyTarget","_activeItem","entries","newActiveItem","firstOffset","offsetTop","nextTarget","nextOffsetTop","getElementById","_observer","_scrollTo","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","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,53]} \ No newline at end of file diff --git a/docs/index-dev.html b/docs/index-dev.html index 25eea9cd..fa48ceac 100644 --- a/docs/index-dev.html +++ b/docs/index-dev.html @@ -29,7 +29,7 @@ - + - +
This is the first item's accordion body. It is hidden by default, until the collapse plugin adds @@ -1064,11 +1064,11 @@

-

+

-

+
This is the second item's accordion body. It is hidden by default, until the collapse plugin adds the appropriate @@ -1079,12 +1079,12 @@

-

+

-

+
This is the third item's accordion body. It is hidden by default, until the collapse plugin adds the appropriate @@ -2625,15 +2625,16 @@

Popover Examples

Scrollspy

-

The ScrollSpy component inherits some of the layout and other requirements from - the original jQuery plugin in some cases, while in other cases a special markup is required. The component offers - public methods, the specific original event, and provides rich JavaScript and DATA APIs.

+

The ScrollSpy component inherits most of the layout and other requirements from + the original component. This component offers public methods, the specific original event, and provides rich JavaScript + and DATA APIs.

The component will initialize for each element with data-bs-spy="scroll" attribute, but will not work if - the above requirements are not met or the anchors don't reference the containers accordingly.

-

Our implementation uses our new PositionObserver which is - responsible for triggering the update of the menu items instead of the previously inneficient resize and - scroll event listeners.

+ the above requirements are not met or the anchors don't reference the containers accordingly. In addition, the component + will handle click to enable smooth scroll for your targets by default without any additional options.

+

This implementation uses the PositionObserver + which is responsible for triggering the update of the menu items instead of the previously inneficient resize + and scroll event listeners.

ScrollSpy Options

@@ -2643,7 +2644,7 @@

ScrollSpy Options

Name Type - Default + Default Description @@ -2659,10 +2660,9 @@

ScrollSpy Options

offset - number - 10 - Option to set a number of pixels as offset from top when calculating position of scroll. Can be set via - data-bs-offset="NUMBER" attribute or simply offset via JavaScript invokation. + - + - + This option has been removed in BSN v5.1. @@ -4037,14 +4037,69 @@

instance.dispose()

+
-
+ diff --git a/package.json b/package.json index c7185a86..9a89ffb3 100644 --- a/package.json +++ b/package.json @@ -78,6 +78,7 @@ "scripts": { "pre-test": "pnpm clean-coverage", "dev": "vite --open ./docs/index-dev.html --port 8577", + "serve": "vite --open ./docs/index.html --port 8577", "test": "pnpm pre-test && vitest --config vitest.config.mts", "test-ui": "pnpm pre-test && vitest --config vitest.config-ui.mts --browser=chrome", "clean-coverage": "rm -rf coverage .nyc_output", @@ -114,15 +115,15 @@ }, "devDependencies": { "@types/node": "^20.17.6", - "@vitest/browser": "^2.1.4", - "@vitest/coverage-istanbul": "^2.1.4", - "@vitest/ui": "^2.1.4", + "@vitest/browser": "^2.1.5", + "@vitest/coverage-istanbul": "^2.1.5", + "@vitest/ui": "^2.1.5", "playwright": "^1.48.2", "typescript": "^5.6.3", - "vite": "^5.4.10", + "vite": "^5.4.11", "vite-plugin-dts": "^4.3.0", "vite-plugin-strip-comments": "^0.0.1", - "vitest": "^2.1.4" + "vitest": "^2.1.5" }, "packageManager": "pnpm@8.6.12", "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7691a883..084f3b9e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,23 +13,23 @@ importers: version: 2.0.8 '@thednp/position-observer': specifier: github:thednp/position-observer - version: https://codeload.github.com/thednp/position-observer/tar.gz/d693d5387bed0966c0954c6c5a0e5dbc8e5cb67f + version: https://codeload.github.com/thednp/position-observer/tar.gz/ebeff80151b344684848fa5c5124c16f82254802 '@thednp/shorty': specifier: github:thednp/shorty - version: https://codeload.github.com/thednp/shorty/tar.gz/309d581b370f747cb15531ca6c201def3827e05c + version: https://codeload.github.com/thednp/shorty/tar.gz/6d62cceb75a6b1cd3a73cced7a052ef03ae826b2 devDependencies: '@types/node': specifier: ^20.17.6 version: 20.17.6 '@vitest/browser': - specifier: ^2.1.4 - version: 2.1.4(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.6.3)(vite@5.4.10(@types/node@20.17.6)(terser@5.33.0))(vitest@2.1.4) + specifier: ^2.1.5 + version: 2.1.5(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.6.3)(vite@5.4.11(@types/node@20.17.6))(vitest@2.1.5) '@vitest/coverage-istanbul': - specifier: ^2.1.4 - version: 2.1.4(vitest@2.1.4(@types/node@20.17.6)(@vitest/browser@2.1.4)(@vitest/ui@2.1.4)(msw@2.6.2(@types/node@20.17.6)(typescript@5.6.3))(terser@5.33.0)) + specifier: ^2.1.5 + version: 2.1.5(vitest@2.1.5) '@vitest/ui': - specifier: ^2.1.4 - version: 2.1.4(vitest@2.1.4) + specifier: ^2.1.5 + version: 2.1.5(vitest@2.1.5) playwright: specifier: ^1.48.2 version: 1.48.2 @@ -37,17 +37,17 @@ importers: specifier: ^5.6.3 version: 5.6.3 vite: - specifier: ^5.4.10 - version: 5.4.10(@types/node@20.17.6)(terser@5.33.0) + specifier: ^5.4.11 + version: 5.4.11(@types/node@20.17.6) vite-plugin-dts: specifier: ^4.3.0 - version: 4.3.0(@types/node@20.17.6)(rollup@4.24.4)(typescript@5.6.3)(vite@5.4.10(@types/node@20.17.6)(terser@5.33.0)) + version: 4.3.0(@types/node@20.17.6)(rollup@4.27.2)(typescript@5.6.3)(vite@5.4.11(@types/node@20.17.6)) vite-plugin-strip-comments: specifier: ^0.0.1 version: 0.0.1 vitest: - specifier: ^2.1.4 - version: 2.1.4(@types/node@20.17.6)(@vitest/browser@2.1.4)(@vitest/ui@2.1.4)(msw@2.6.2(@types/node@20.17.6)(typescript@5.6.3))(terser@5.33.0) + specifier: ^2.1.5 + version: 2.1.5(@types/node@20.17.6)(@vitest/browser@2.1.5)(@vitest/ui@2.1.5)(msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3)) packages: @@ -269,22 +269,22 @@ packages: cpu: [x64] os: [win32] - '@inquirer/confirm@5.0.1': - resolution: {integrity: sha512-6ycMm7k7NUApiMGfVc32yIPp28iPKxhGRMqoNDiUjq2RyTAkbs5Fx0TdzBqhabcKvniDdAAvHCmsRjnNfTsogw==} + '@inquirer/confirm@5.0.2': + resolution: {integrity: sha512-KJLUHOaKnNCYzwVbryj3TNBxyZIrr56fR5N45v6K9IPrbT6B7DcudBMfylkV1A8PUdJE15mybkEQyp2/ZUpxUA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/core@10.0.1': - resolution: {integrity: sha512-KKTgjViBQUi3AAssqjUFMnMO3CM3qwCHvePV9EW+zTKGKafFGFF01sc1yOIYjLJ7QU52G/FbzKc+c01WLzXmVQ==} + '@inquirer/core@10.1.0': + resolution: {integrity: sha512-I+ETk2AL+yAVbvuKx5AJpQmoaWhpiTFOg/UJb7ZkMAK4blmtG8ATh5ct+T/8xNld0CZG/2UhtkdMwpgvld92XQ==} engines: {node: '>=18'} - '@inquirer/figures@1.0.7': - resolution: {integrity: sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw==} + '@inquirer/figures@1.0.8': + resolution: {integrity: sha512-tKd+jsmhq21AP1LhexC0pPwsCxEhGgAkg28byjJAd+xhmIs8LUX8JbUc3vBf3PhLxWiB5EvyBE5X7JSPAqMAqg==} engines: {node: '>=18'} - '@inquirer/type@3.0.0': - resolution: {integrity: sha512-YYykfbw/lefC7yKj7nanzQXILM7r3suIvyFlCcMskc99axmsSewXWkAfXKwMbgxL76iAFVmRwmYdwNZNc8gjog==} + '@inquirer/type@3.0.1': + resolution: {integrity: sha512-+ksJMIy92sOAiAccGpcKZUc3bYO07cADnscIxHBknEm3uNts3movSmBofc1908BNy5edKscxYeAdaX1NXkHS6A==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -309,9 +309,6 @@ packages: resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} - '@jridgewell/source-map@0.3.6': - resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} - '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} @@ -331,8 +328,8 @@ packages: '@microsoft/tsdoc@0.15.0': resolution: {integrity: sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==} - '@mswjs/interceptors@0.36.10': - resolution: {integrity: sha512-GXrJgakgJW3DWKueebkvtYgGKkxA7s0u5B0P5syJM5rvQUnrpLPigvci8Hukl7yEM+sU06l+er2Fgvx/gmiRgg==} + '@mswjs/interceptors@0.37.0': + resolution: {integrity: sha512-lDiHQMCBV9qz8c7+zxaNFQtWWaSogTYkqJ3Pg+FGYYC76nsfSxkMQ0df8fojyz16E+w4vp57NLjN2muNG7LugQ==} engines: {node: '>=18'} '@open-draft/deferred-promise@2.2.0': @@ -360,93 +357,93 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.24.4': - resolution: {integrity: sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==} + '@rollup/rollup-android-arm-eabi@4.27.2': + resolution: {integrity: sha512-Tj+j7Pyzd15wAdSJswvs5CJzJNV+qqSUcr/aCD+jpQSBtXvGnV0pnrjoc8zFTe9fcKCatkpFpOO7yAzpO998HA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.24.4': - resolution: {integrity: sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==} + '@rollup/rollup-android-arm64@4.27.2': + resolution: {integrity: sha512-xsPeJgh2ThBpUqlLgRfiVYBEf/P1nWlWvReG+aBWfNv3XEBpa6ZCmxSVnxJgLgkNz4IbxpLy64h2gCmAAQLneQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.24.4': - resolution: {integrity: sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==} + '@rollup/rollup-darwin-arm64@4.27.2': + resolution: {integrity: sha512-KnXU4m9MywuZFedL35Z3PuwiTSn/yqRIhrEA9j+7OSkji39NzVkgxuxTYg5F8ryGysq4iFADaU5osSizMXhU2A==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.24.4': - resolution: {integrity: sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==} + '@rollup/rollup-darwin-x64@4.27.2': + resolution: {integrity: sha512-Hj77A3yTvUeCIx/Vi+4d4IbYhyTwtHj07lVzUgpUq9YpJSEiGJj4vXMKwzJ3w5zp5v3PFvpJNgc/J31smZey6g==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.24.4': - resolution: {integrity: sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==} + '@rollup/rollup-freebsd-arm64@4.27.2': + resolution: {integrity: sha512-RjgKf5C3xbn8gxvCm5VgKZ4nn0pRAIe90J0/fdHUsgztd3+Zesb2lm2+r6uX4prV2eUByuxJNdt647/1KPRq5g==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.24.4': - resolution: {integrity: sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==} + '@rollup/rollup-freebsd-x64@4.27.2': + resolution: {integrity: sha512-duq21FoXwQtuws+V9H6UZ+eCBc7fxSpMK1GQINKn3fAyd9DFYKPJNcUhdIKOrMFjLEJgQskoMoiuizMt+dl20g==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.24.4': - resolution: {integrity: sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==} + '@rollup/rollup-linux-arm-gnueabihf@4.27.2': + resolution: {integrity: sha512-6npqOKEPRZkLrMcvyC/32OzJ2srdPzCylJjiTJT2c0bwwSGm7nz2F9mNQ1WrAqCBZROcQn91Fno+khFhVijmFA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.24.4': - resolution: {integrity: sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==} + '@rollup/rollup-linux-arm-musleabihf@4.27.2': + resolution: {integrity: sha512-V9Xg6eXtgBtHq2jnuQwM/jr2mwe2EycnopO8cbOvpzFuySCGtKlPCI3Hj9xup/pJK5Q0388qfZZy2DqV2J8ftw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.24.4': - resolution: {integrity: sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==} + '@rollup/rollup-linux-arm64-gnu@4.27.2': + resolution: {integrity: sha512-uCFX9gtZJoQl2xDTpRdseYuNqyKkuMDtH6zSrBTA28yTfKyjN9hQ2B04N5ynR8ILCoSDOrG/Eg+J2TtJ1e/CSA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.24.4': - resolution: {integrity: sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==} + '@rollup/rollup-linux-arm64-musl@4.27.2': + resolution: {integrity: sha512-/PU9P+7Rkz8JFYDHIi+xzHabOu9qEWR07L5nWLIUsvserrxegZExKCi2jhMZRd0ATdboKylu/K5yAXbp7fYFvA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.24.4': - resolution: {integrity: sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==} + '@rollup/rollup-linux-powerpc64le-gnu@4.27.2': + resolution: {integrity: sha512-eCHmol/dT5odMYi/N0R0HC8V8QE40rEpkyje/ZAXJYNNoSfrObOvG/Mn+s1F/FJyB7co7UQZZf6FuWnN6a7f4g==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.24.4': - resolution: {integrity: sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==} + '@rollup/rollup-linux-riscv64-gnu@4.27.2': + resolution: {integrity: sha512-DEP3Njr9/ADDln3kNi76PXonLMSSMiCir0VHXxmGSHxCxDfQ70oWjHcJGfiBugzaqmYdTC7Y+8Int6qbnxPBIQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.24.4': - resolution: {integrity: sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==} + '@rollup/rollup-linux-s390x-gnu@4.27.2': + resolution: {integrity: sha512-NHGo5i6IE/PtEPh5m0yw5OmPMpesFnzMIS/lzvN5vknnC1sXM5Z/id5VgcNPgpD+wHmIcuYYgW+Q53v+9s96lQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.24.4': - resolution: {integrity: sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==} + '@rollup/rollup-linux-x64-gnu@4.27.2': + resolution: {integrity: sha512-PaW2DY5Tan+IFvNJGHDmUrORadbe/Ceh8tQxi8cmdQVCCYsLoQo2cuaSj+AU+YRX8M4ivS2vJ9UGaxfuNN7gmg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.24.4': - resolution: {integrity: sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==} + '@rollup/rollup-linux-x64-musl@4.27.2': + resolution: {integrity: sha512-dOlWEMg2gI91Qx5I/HYqOD6iqlJspxLcS4Zlg3vjk1srE67z5T2Uz91yg/qA8sY0XcwQrFzWWiZhMNERylLrpQ==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.24.4': - resolution: {integrity: sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==} + '@rollup/rollup-win32-arm64-msvc@4.27.2': + resolution: {integrity: sha512-euMIv/4x5Y2/ImlbGl88mwKNXDsvzbWUlT7DFky76z2keajCtcbAsN9LUdmk31hAoVmJJYSThgdA0EsPeTr1+w==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.24.4': - resolution: {integrity: sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==} + '@rollup/rollup-win32-ia32-msvc@4.27.2': + resolution: {integrity: sha512-RsnE6LQkUHlkC10RKngtHNLxb7scFykEbEwOFDjr3CeCMG+Rr+cKqlkKc2/wJ1u4u990urRHCbjz31x84PBrSQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.24.4': - resolution: {integrity: sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==} + '@rollup/rollup-win32-x64-msvc@4.27.2': + resolution: {integrity: sha512-foJM5vv+z2KQmn7emYdDLyTbkoO5bkHZE1oth2tWbQNGW7mX32d46Hz6T0MqXdWS2vBZhaEtHqdy9WYwGfiliA==} cpu: [x64] os: [win32] @@ -486,13 +483,13 @@ packages: resolution: {integrity: sha512-bZY04sWSn2YWAqcuY/fYy03ynARYHwn8xzYgdqqcHBXsBXhOc+bbWwHyLwW28XAA2NjzjMPZZAM3N5D09i+zEQ==} engines: {node: '>=16', pnpm: '>=8.6.0'} - '@thednp/position-observer@https://codeload.github.com/thednp/position-observer/tar.gz/d693d5387bed0966c0954c6c5a0e5dbc8e5cb67f': - resolution: {tarball: https://codeload.github.com/thednp/position-observer/tar.gz/d693d5387bed0966c0954c6c5a0e5dbc8e5cb67f} + '@thednp/position-observer@https://codeload.github.com/thednp/position-observer/tar.gz/ebeff80151b344684848fa5c5124c16f82254802': + resolution: {tarball: https://codeload.github.com/thednp/position-observer/tar.gz/ebeff80151b344684848fa5c5124c16f82254802} version: 1.0.2 engines: {node: '>=16', pnpm: '>=8.6.0'} - '@thednp/shorty@https://codeload.github.com/thednp/shorty/tar.gz/309d581b370f747cb15531ca6c201def3827e05c': - resolution: {tarball: https://codeload.github.com/thednp/shorty/tar.gz/309d581b370f747cb15531ca6c201def3827e05c} + '@thednp/shorty@https://codeload.github.com/thednp/shorty/tar.gz/6d62cceb75a6b1cd3a73cced7a052ef03ae826b2': + resolution: {tarball: https://codeload.github.com/thednp/shorty/tar.gz/6d62cceb75a6b1cd3a73cced7a052ef03ae826b2} version: 2.0.8 engines: {node: '>=16', pnpm: '>=8.6.0'} @@ -517,12 +514,12 @@ packages: '@types/tough-cookie@4.0.5': resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} - '@vitest/browser@2.1.4': - resolution: {integrity: sha512-89SrvShW6kWzmEYtBj5k1gBq88emoC2qrngw5hE1vNpRFteQ5/1URbKIVww391rIALTpzhhCt5yJt5tjLPZxYw==} + '@vitest/browser@2.1.5': + resolution: {integrity: sha512-JrpnxvkrjlBrF7oXbK/YytWVYfJIzWYeDKppANlUaisBKwDso+yXlWocAJrANx8gUxyirF355Yx80S+SKQqayg==} peerDependencies: playwright: '*' safaridriver: '*' - vitest: 2.1.4 + vitest: 2.1.5 webdriverio: '*' peerDependenciesMeta: playwright: @@ -532,16 +529,16 @@ packages: webdriverio: optional: true - '@vitest/coverage-istanbul@2.1.4': - resolution: {integrity: sha512-NLmfjzXnRSmLF/h4hYkzjvd7hZ85DRZzPUqXu0McPFCMczDfNmOjMoM3KaxjFaEmOc1YzX9HHbU/Rr9VO+35ow==} + '@vitest/coverage-istanbul@2.1.5': + resolution: {integrity: sha512-jJsS5jeHncmSvzMNE03F1pk8F9etmjzGmGyQnGMkdHdVek/bxK/3vo8Qr3e9XmVuDM3UZKOy1ObeQHgC2OxvHg==} peerDependencies: - vitest: 2.1.4 + vitest: 2.1.5 - '@vitest/expect@2.1.4': - resolution: {integrity: sha512-DOETT0Oh1avie/D/o2sgMHGrzYUFFo3zqESB2Hn70z6QB1HrS2IQ9z5DfyTqU8sg4Bpu13zZe9V4+UTNQlUeQA==} + '@vitest/expect@2.1.5': + resolution: {integrity: sha512-nZSBTW1XIdpZvEJyoP/Sy8fUg0b8od7ZpGDkTUcfJ7wz/VoZAFzFfLyxVxGFhUjJzhYqSbIpfMtl/+k/dpWa3Q==} - '@vitest/mocker@2.1.4': - resolution: {integrity: sha512-Ky/O1Lc0QBbutJdW0rqLeFNbuLEyS+mIPiNdlVlp2/yhJ0SbyYqObS5IHdhferJud8MbbwMnexg4jordE5cCoQ==} + '@vitest/mocker@2.1.5': + resolution: {integrity: sha512-XYW6l3UuBmitWqSUXTNXcVBUCRytDogBsWuNXQijc00dtnU/9OqpXWp4OJroVrad/gLIomAq9aW8yWDBtMthhQ==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 @@ -551,40 +548,40 @@ packages: vite: optional: true - '@vitest/pretty-format@2.1.4': - resolution: {integrity: sha512-L95zIAkEuTDbUX1IsjRl+vyBSLh3PwLLgKpghl37aCK9Jvw0iP+wKwIFhfjdUtA2myLgjrG6VU6JCFLv8q/3Ww==} + '@vitest/pretty-format@2.1.5': + resolution: {integrity: sha512-4ZOwtk2bqG5Y6xRGHcveZVr+6txkH7M2e+nPFd6guSoN638v/1XQ0K06eOpi0ptVU/2tW/pIU4IoPotY/GZ9fw==} - '@vitest/runner@2.1.4': - resolution: {integrity: sha512-sKRautINI9XICAMl2bjxQM8VfCMTB0EbsBc/EDFA57V6UQevEKY/TOPOF5nzcvCALltiLfXWbq4MaAwWx/YxIA==} + '@vitest/runner@2.1.5': + resolution: {integrity: sha512-pKHKy3uaUdh7X6p1pxOkgkVAFW7r2I818vHDthYLvUyjRfkKOU6P45PztOch4DZarWQne+VOaIMwA/erSSpB9g==} - '@vitest/snapshot@2.1.4': - resolution: {integrity: sha512-3Kab14fn/5QZRog5BPj6Rs8dc4B+mim27XaKWFWHWA87R56AKjHTGcBFKpvZKDzC4u5Wd0w/qKsUIio3KzWW4Q==} + '@vitest/snapshot@2.1.5': + resolution: {integrity: sha512-zmYw47mhfdfnYbuhkQvkkzYroXUumrwWDGlMjpdUr4jBd3HZiV2w7CQHj+z7AAS4VOtWxI4Zt4bWt4/sKcoIjg==} - '@vitest/spy@2.1.4': - resolution: {integrity: sha512-4JOxa+UAizJgpZfaCPKK2smq9d8mmjZVPMt2kOsg/R8QkoRzydHH1qHxIYNvr1zlEaFj4SXiaaJWxq/LPLKaLg==} + '@vitest/spy@2.1.5': + resolution: {integrity: sha512-aWZF3P0r3w6DiYTVskOYuhBc7EMc3jvn1TkBg8ttylFFRqNN2XGD7V5a4aQdk6QiUzZQ4klNBSpCLJgWNdIiNw==} - '@vitest/ui@2.1.4': - resolution: {integrity: sha512-Zd9e5oU063c+j9N9XzGJagCLNvG71x/2tOme3Js4JEZKX55zsgxhJwUgLI8hkN6NjMLpdJO8d7nVUUuPGAA58Q==} + '@vitest/ui@2.1.5': + resolution: {integrity: sha512-ERgKkDMTfngrZip6VG5h8L9B5D0AH/4+bga4yR1UzGH7c2cxv3LWogw2Dvuwr9cP3/iKDHYys7kIFLDKpxORTg==} peerDependencies: - vitest: 2.1.4 + vitest: 2.1.5 - '@vitest/utils@2.1.4': - resolution: {integrity: sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg==} + '@vitest/utils@2.1.5': + resolution: {integrity: sha512-yfj6Yrp0Vesw2cwJbP+cl04OC+IHFsuQsrsJBL9pyGeQXE56v1UAOQco+SR55Vf1nQzfV0QJg1Qum7AaWUwwYg==} - '@volar/language-core@2.4.9': - resolution: {integrity: sha512-t++GIrUeQnKCieZdY9e+Uar2VmTqOE4Z9KcEcdSHKmKZPuqpbbWow1YKe1i3HpU2s1JqLRVM8y/n87WKXyxJAg==} + '@volar/language-core@2.4.10': + resolution: {integrity: sha512-hG3Z13+nJmGaT+fnQzAkS0hjJRa2FCeqZt6Bd+oGNhUkQ+mTFsDETg5rqUTxyzIh5pSOGY7FHCWUS8G82AzLCA==} - '@volar/source-map@2.4.9': - resolution: {integrity: sha512-UGE+WgJwk64OcfBwBOBKIzmF+uNx4dC5GzOvaVsHbTBp/IVqeTVsGiO5CwBAt6l3vVXYbMuddG2DU8FEnBRxTg==} + '@volar/source-map@2.4.10': + resolution: {integrity: sha512-OCV+b5ihV0RF3A7vEvNyHPi4G4kFa6ukPmyVocmqm5QzOd8r5yAtiNvaPEjl8dNvgC/lj4JPryeeHLdXd62rWA==} - '@volar/typescript@2.4.9': - resolution: {integrity: sha512-Zmh3Bq8CFD6OANKYsi4vs/l7togwfjFH0kgrT12uAsDff2AJQjbEUKTVUnxmHbnbH2B9ja7Lb6Mu/Wj9wBuJlg==} + '@volar/typescript@2.4.10': + resolution: {integrity: sha512-F8ZtBMhSXyYKuBfGpYwqA5rsONnOwAVvjyE7KPYJ7wgZqo2roASqNWUnianOomJX5u1cxeRooHV59N0PhvEOgw==} - '@vue/compiler-core@3.5.12': - resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==} + '@vue/compiler-core@3.5.13': + resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} - '@vue/compiler-dom@3.5.12': - resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==} + '@vue/compiler-dom@3.5.13': + resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -597,8 +594,8 @@ packages: typescript: optional: true - '@vue/shared@3.5.12': - resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==} + '@vue/shared@3.5.13': + resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} acorn@8.14.0: resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} @@ -675,15 +672,12 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - caniuse-lite@1.0.30001678: - resolution: {integrity: sha512-RR+4U/05gNtps58PEBDZcPWTgEO2MBeoPZ96aQcjmfkBWRIDfN451fW2qyDA9/+HohLLIL5GqiMwA+IB1pWarw==} + caniuse-lite@1.0.30001680: + resolution: {integrity: sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==} chai@5.1.2: resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} @@ -712,9 +706,6 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - compare-versions@6.1.1: resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} @@ -764,8 +755,8 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - electron-to-chromium@1.5.52: - resolution: {integrity: sha512-xtoijJTZ+qeucLBDNztDOuQBE1ksqjvNjvqFoST3nGC7fSpqJ+X6BdTBaY5BHG+IhWWmpc6b/KfpeuEDupEPOQ==} + electron-to-chromium@1.5.62: + resolution: {integrity: sha512-t8c+zLmJHa9dJy96yBZRXGQYoiCEnHYgFwn1asvSPZSUdVxnB62A4RASd7k41ytG3ErFBA0TpHlKg9D9SQBmLg==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -777,6 +768,9 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -986,8 +980,8 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - mlly@1.7.2: - resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==} + mlly@1.7.3: + resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==} mrmime@2.0.0: resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} @@ -996,8 +990,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - msw@2.6.2: - resolution: {integrity: sha512-RdRgPvjfuzMIACkWv7VOVAeSRYMU3ofokLv1w0RsbFX960qnj/tFEyOFXY0G2GTUd9trA6rHuHciM/FKpBp6/A==} + msw@2.6.5: + resolution: {integrity: sha512-PnlnTpUlOrj441kYQzzFhzMzMCGFT6a2jKUBG7zSpLkYS5oh8Arrbc0dL8/rNAtxaoBy0EVs2mFqj2qdmWK7lQ==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -1071,16 +1065,16 @@ packages: engines: {node: '>=18'} hasBin: true - postcss@8.4.47: - resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} + postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + psl@1.10.0: + resolution: {integrity: sha512-KSKHEbjAnpUuAUserOq0FxGXCUrzC3WniuSJhvdbs102rL55266ZcHBqLWOsG30spQMlPdpy7icATiAQehg/iA==} punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} @@ -1110,8 +1104,8 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true - rollup@4.24.4: - resolution: {integrity: sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==} + rollup@4.27.2: + resolution: {integrity: sha512-KreA+PzWmk2yaFmZVwe6GB2uBD86nXl86OsDkt1bJS9p3vqWuEQ6HnJJ+j/mZi/q0920P99/MVRlB4L3crpF5w==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -1152,9 +1146,6 @@ packages: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -1169,8 +1160,8 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + std-env@3.8.0: + resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} strict-event-emitter@0.5.1: resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} @@ -1211,11 +1202,6 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - terser@5.33.0: - resolution: {integrity: sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==} - engines: {node: '>=10'} - hasBin: true - test-exclude@7.0.1: resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} engines: {node: '>=18'} @@ -1230,8 +1216,8 @@ packages: resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} engines: {node: '>=12.0.0'} - tinypool@1.0.1: - resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} + tinypool@1.0.2: + resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} engines: {node: ^18.0.0 || >=20.0.0} tinyrainbow@1.2.0: @@ -1254,8 +1240,8 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - type-fest@4.26.1: - resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} + type-fest@4.27.0: + resolution: {integrity: sha512-3IMSWgP7C5KSQqmo1wjhKrwsvXAtF33jO3QY+Uy++ia7hqvgSK6iXbbg5PbDBc1P2ZbNEDgejOrN4YooXvhwCw==} engines: {node: '>=16'} typescript@5.4.2: @@ -1294,8 +1280,8 @@ packages: url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - vite-node@2.1.4: - resolution: {integrity: sha512-kqa9v+oi4HwkG6g8ufRnb5AeplcRw8jUF6/7/Qz1qRQOXHImG8YnLbB+LLszENwFnoBl9xIf9nVdCFzNd7GQEg==} + vite-node@2.1.5: + resolution: {integrity: sha512-rd0QIgx74q4S1Rd56XIiL2cYEdyWn13cunYBIuqh9mpmQr7gGS0IxXoP8R6OaZtNQQLyXSWbd4rXKYUbhFpK5w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -1313,8 +1299,8 @@ packages: resolution: {integrity: sha512-P7EzXmL6uoCynzuEVknKI9YR+JnF9gHouPI88cz7QwYVCEnZlmX5rUXxW88+UDiieRt0MoBAUrYR5Chd9w9wtw==} engines: {deno: '>=2.0.4', node: '>=20', pnpm: '>=9.10.0'} - vite@5.4.10: - resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==} + vite@5.4.11: + resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -1344,15 +1330,15 @@ packages: terser: optional: true - vitest@2.1.4: - resolution: {integrity: sha512-eDjxbVAJw1UJJCHr5xr/xM86Zx+YxIEXGAR+bmnEID7z9qWfoxpHw0zdobz+TQAFOLT+nEXz3+gx6nUJ7RgmlQ==} + vitest@2.1.5: + resolution: {integrity: sha512-P4ljsdpuzRTPI/kbND2sDZ4VmieerR2c9szEZpjc+98Z9ebvnXmM5+0tHEKqYZumXqlvnmfWsjeFOjXVriDG7A==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 2.1.4 - '@vitest/ui': 2.1.4 + '@vitest/browser': 2.1.5 + '@vitest/ui': 2.1.5 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -1619,16 +1605,16 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@inquirer/confirm@5.0.1(@types/node@20.17.6)': + '@inquirer/confirm@5.0.2(@types/node@20.17.6)': dependencies: - '@inquirer/core': 10.0.1(@types/node@20.17.6) - '@inquirer/type': 3.0.0(@types/node@20.17.6) + '@inquirer/core': 10.1.0(@types/node@20.17.6) + '@inquirer/type': 3.0.1(@types/node@20.17.6) '@types/node': 20.17.6 - '@inquirer/core@10.0.1(@types/node@20.17.6)': + '@inquirer/core@10.1.0(@types/node@20.17.6)': dependencies: - '@inquirer/figures': 1.0.7 - '@inquirer/type': 3.0.0(@types/node@20.17.6) + '@inquirer/figures': 1.0.8 + '@inquirer/type': 3.0.1(@types/node@20.17.6) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -1639,9 +1625,9 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@inquirer/figures@1.0.7': {} + '@inquirer/figures@1.0.8': {} - '@inquirer/type@3.0.0(@types/node@20.17.6)': + '@inquirer/type@3.0.1(@types/node@20.17.6)': dependencies: '@types/node': 20.17.6 @@ -1666,12 +1652,6 @@ snapshots: '@jridgewell/set-array@1.2.1': {} - '@jridgewell/source-map@0.3.6': - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - optional: true - '@jridgewell/sourcemap-codec@1.5.0': {} '@jridgewell/trace-mapping@0.3.25': @@ -1714,7 +1694,7 @@ snapshots: '@microsoft/tsdoc@0.15.0': {} - '@mswjs/interceptors@0.36.10': + '@mswjs/interceptors@0.37.0': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -1737,66 +1717,66 @@ snapshots: '@polka/url@1.0.0-next.28': {} - '@rollup/pluginutils@5.1.3(rollup@4.24.4)': + '@rollup/pluginutils@5.1.3(rollup@4.27.2)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.24.4 + rollup: 4.27.2 - '@rollup/rollup-android-arm-eabi@4.24.4': + '@rollup/rollup-android-arm-eabi@4.27.2': optional: true - '@rollup/rollup-android-arm64@4.24.4': + '@rollup/rollup-android-arm64@4.27.2': optional: true - '@rollup/rollup-darwin-arm64@4.24.4': + '@rollup/rollup-darwin-arm64@4.27.2': optional: true - '@rollup/rollup-darwin-x64@4.24.4': + '@rollup/rollup-darwin-x64@4.27.2': optional: true - '@rollup/rollup-freebsd-arm64@4.24.4': + '@rollup/rollup-freebsd-arm64@4.27.2': optional: true - '@rollup/rollup-freebsd-x64@4.24.4': + '@rollup/rollup-freebsd-x64@4.27.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.24.4': + '@rollup/rollup-linux-arm-gnueabihf@4.27.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.24.4': + '@rollup/rollup-linux-arm-musleabihf@4.27.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.24.4': + '@rollup/rollup-linux-arm64-gnu@4.27.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.24.4': + '@rollup/rollup-linux-arm64-musl@4.27.2': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.24.4': + '@rollup/rollup-linux-powerpc64le-gnu@4.27.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.24.4': + '@rollup/rollup-linux-riscv64-gnu@4.27.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.24.4': + '@rollup/rollup-linux-s390x-gnu@4.27.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.24.4': + '@rollup/rollup-linux-x64-gnu@4.27.2': optional: true - '@rollup/rollup-linux-x64-musl@4.24.4': + '@rollup/rollup-linux-x64-musl@4.27.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.24.4': + '@rollup/rollup-win32-arm64-msvc@4.27.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.24.4': + '@rollup/rollup-win32-ia32-msvc@4.27.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.24.4': + '@rollup/rollup-win32-x64-msvc@4.27.2': optional: true '@rushstack/node-core-library@5.9.0(@types/node@20.17.6)': @@ -1850,11 +1830,11 @@ snapshots: '@thednp/event-listener@2.0.8': {} - '@thednp/position-observer@https://codeload.github.com/thednp/position-observer/tar.gz/d693d5387bed0966c0954c6c5a0e5dbc8e5cb67f': + '@thednp/position-observer@https://codeload.github.com/thednp/position-observer/tar.gz/ebeff80151b344684848fa5c5124c16f82254802': dependencies: - '@thednp/shorty': https://codeload.github.com/thednp/shorty/tar.gz/309d581b370f747cb15531ca6c201def3827e05c + '@thednp/shorty': https://codeload.github.com/thednp/shorty/tar.gz/6d62cceb75a6b1cd3a73cced7a052ef03ae826b2 - '@thednp/shorty@https://codeload.github.com/thednp/shorty/tar.gz/309d581b370f747cb15531ca6c201def3827e05c': {} + '@thednp/shorty@https://codeload.github.com/thednp/shorty/tar.gz/6d62cceb75a6b1cd3a73cced7a052ef03ae826b2': {} '@types/argparse@1.0.38': {} @@ -1872,17 +1852,17 @@ snapshots: '@types/tough-cookie@4.0.5': {} - '@vitest/browser@2.1.4(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.6.3)(vite@5.4.10(@types/node@20.17.6)(terser@5.33.0))(vitest@2.1.4)': + '@vitest/browser@2.1.5(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.6.3)(vite@5.4.11(@types/node@20.17.6))(vitest@2.1.5)': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) - '@vitest/mocker': 2.1.4(msw@2.6.2(@types/node@20.17.6)(typescript@5.6.3))(vite@5.4.10(@types/node@20.17.6)(terser@5.33.0)) - '@vitest/utils': 2.1.4 + '@vitest/mocker': 2.1.5(msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3))(vite@5.4.11(@types/node@20.17.6)) + '@vitest/utils': 2.1.5 magic-string: 0.30.12 - msw: 2.6.2(@types/node@20.17.6)(typescript@5.6.3) + msw: 2.6.5(@types/node@20.17.6)(typescript@5.6.3) sirv: 3.0.0 tinyrainbow: 1.2.0 - vitest: 2.1.4(@types/node@20.17.6)(@vitest/browser@2.1.4)(@vitest/ui@2.1.4)(msw@2.6.2(@types/node@20.17.6)(typescript@5.6.3))(terser@5.33.0) + vitest: 2.1.5(@types/node@20.17.6)(@vitest/browser@2.1.5)(@vitest/ui@2.1.5)(msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3)) ws: 8.18.0 optionalDependencies: playwright: 1.48.2 @@ -1893,7 +1873,7 @@ snapshots: - utf-8-validate - vite - '@vitest/coverage-istanbul@2.1.4(vitest@2.1.4(@types/node@20.17.6)(@vitest/browser@2.1.4)(@vitest/ui@2.1.4)(msw@2.6.2(@types/node@20.17.6)(typescript@5.6.3))(terser@5.33.0))': + '@vitest/coverage-istanbul@2.1.5(vitest@2.1.5)': dependencies: '@istanbuljs/schema': 0.1.3 debug: 4.3.7 @@ -1905,86 +1885,86 @@ snapshots: magicast: 0.3.5 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.4(@types/node@20.17.6)(@vitest/browser@2.1.4)(@vitest/ui@2.1.4)(msw@2.6.2(@types/node@20.17.6)(typescript@5.6.3))(terser@5.33.0) + vitest: 2.1.5(@types/node@20.17.6)(@vitest/browser@2.1.5)(@vitest/ui@2.1.5)(msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3)) transitivePeerDependencies: - supports-color - '@vitest/expect@2.1.4': + '@vitest/expect@2.1.5': dependencies: - '@vitest/spy': 2.1.4 - '@vitest/utils': 2.1.4 + '@vitest/spy': 2.1.5 + '@vitest/utils': 2.1.5 chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.4(msw@2.6.2(@types/node@20.17.6)(typescript@5.6.3))(vite@5.4.10(@types/node@20.17.6)(terser@5.33.0))': + '@vitest/mocker@2.1.5(msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3))(vite@5.4.11(@types/node@20.17.6))': dependencies: - '@vitest/spy': 2.1.4 + '@vitest/spy': 2.1.5 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: - msw: 2.6.2(@types/node@20.17.6)(typescript@5.6.3) - vite: 5.4.10(@types/node@20.17.6)(terser@5.33.0) + msw: 2.6.5(@types/node@20.17.6)(typescript@5.6.3) + vite: 5.4.11(@types/node@20.17.6) - '@vitest/pretty-format@2.1.4': + '@vitest/pretty-format@2.1.5': dependencies: tinyrainbow: 1.2.0 - '@vitest/runner@2.1.4': + '@vitest/runner@2.1.5': dependencies: - '@vitest/utils': 2.1.4 + '@vitest/utils': 2.1.5 pathe: 1.1.2 - '@vitest/snapshot@2.1.4': + '@vitest/snapshot@2.1.5': dependencies: - '@vitest/pretty-format': 2.1.4 + '@vitest/pretty-format': 2.1.5 magic-string: 0.30.12 pathe: 1.1.2 - '@vitest/spy@2.1.4': + '@vitest/spy@2.1.5': dependencies: tinyspy: 3.0.2 - '@vitest/ui@2.1.4(vitest@2.1.4)': + '@vitest/ui@2.1.5(vitest@2.1.5)': dependencies: - '@vitest/utils': 2.1.4 + '@vitest/utils': 2.1.5 fflate: 0.8.2 flatted: 3.3.1 pathe: 1.1.2 sirv: 3.0.0 tinyglobby: 0.2.10 tinyrainbow: 1.2.0 - vitest: 2.1.4(@types/node@20.17.6)(@vitest/browser@2.1.4)(@vitest/ui@2.1.4)(msw@2.6.2(@types/node@20.17.6)(typescript@5.6.3))(terser@5.33.0) + vitest: 2.1.5(@types/node@20.17.6)(@vitest/browser@2.1.5)(@vitest/ui@2.1.5)(msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3)) - '@vitest/utils@2.1.4': + '@vitest/utils@2.1.5': dependencies: - '@vitest/pretty-format': 2.1.4 + '@vitest/pretty-format': 2.1.5 loupe: 3.1.2 tinyrainbow: 1.2.0 - '@volar/language-core@2.4.9': + '@volar/language-core@2.4.10': dependencies: - '@volar/source-map': 2.4.9 + '@volar/source-map': 2.4.10 - '@volar/source-map@2.4.9': {} + '@volar/source-map@2.4.10': {} - '@volar/typescript@2.4.9': + '@volar/typescript@2.4.10': dependencies: - '@volar/language-core': 2.4.9 + '@volar/language-core': 2.4.10 path-browserify: 1.0.1 vscode-uri: 3.0.8 - '@vue/compiler-core@3.5.12': + '@vue/compiler-core@3.5.13': dependencies: '@babel/parser': 7.26.2 - '@vue/shared': 3.5.12 + '@vue/shared': 3.5.13 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.12': + '@vue/compiler-dom@3.5.13': dependencies: - '@vue/compiler-core': 3.5.12 - '@vue/shared': 3.5.12 + '@vue/compiler-core': 3.5.13 + '@vue/shared': 3.5.13 '@vue/compiler-vue2@2.7.16': dependencies: @@ -1993,10 +1973,10 @@ snapshots: '@vue/language-core@2.1.6(typescript@5.6.3)': dependencies: - '@volar/language-core': 2.4.9 - '@vue/compiler-dom': 3.5.12 + '@volar/language-core': 2.4.10 + '@vue/compiler-dom': 3.5.13 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.12 + '@vue/shared': 3.5.13 computeds: 0.0.1 minimatch: 9.0.5 muggle-string: 0.4.1 @@ -2004,7 +1984,7 @@ snapshots: optionalDependencies: typescript: 5.6.3 - '@vue/shared@3.5.12': {} + '@vue/shared@3.5.13': {} acorn@8.14.0: {} @@ -2069,17 +2049,14 @@ snapshots: browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001678 - electron-to-chromium: 1.5.52 + caniuse-lite: 1.0.30001680 + electron-to-chromium: 1.5.62 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) - buffer-from@1.1.2: - optional: true - cac@6.7.14: {} - caniuse-lite@1.0.30001678: {} + caniuse-lite@1.0.30001680: {} chai@5.1.2: dependencies: @@ -2110,9 +2087,6 @@ snapshots: color-name@1.1.4: {} - commander@2.20.3: - optional: true - compare-versions@6.1.1: {} computeds@0.0.1: {} @@ -2145,7 +2119,7 @@ snapshots: eastasianwidth@0.2.0: {} - electron-to-chromium@1.5.52: {} + electron-to-chromium@1.5.62: {} emoji-regex@8.0.0: {} @@ -2153,6 +2127,8 @@ snapshots: entities@4.5.0: {} + es-module-lexer@1.5.4: {} + esbuild@0.21.5: optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 @@ -2316,7 +2292,7 @@ snapshots: local-pkg@0.5.0: dependencies: - mlly: 1.7.2 + mlly: 1.7.3 pkg-types: 1.2.1 lodash@4.17.21: {} @@ -2359,7 +2335,7 @@ snapshots: minipass@7.1.2: {} - mlly@1.7.2: + mlly@1.7.3: dependencies: acorn: 8.14.0 pathe: 1.1.2 @@ -2370,13 +2346,13 @@ snapshots: ms@2.1.3: {} - msw@2.6.2(@types/node@20.17.6)(typescript@5.6.3): + msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3): dependencies: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.0.1(@types/node@20.17.6) - '@mswjs/interceptors': 0.36.10 + '@inquirer/confirm': 5.0.2(@types/node@20.17.6) + '@mswjs/interceptors': 0.37.0 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 @@ -2388,7 +2364,7 @@ snapshots: outvariant: 1.4.3 path-to-regexp: 6.3.0 strict-event-emitter: 0.5.1 - type-fest: 4.26.1 + type-fest: 4.27.0 yargs: 17.7.2 optionalDependencies: typescript: 5.6.3 @@ -2431,7 +2407,7 @@ snapshots: pkg-types@1.2.1: dependencies: confbox: 0.1.8 - mlly: 1.7.2 + mlly: 1.7.3 pathe: 1.1.2 playwright-core@1.48.2: {} @@ -2442,7 +2418,7 @@ snapshots: optionalDependencies: fsevents: 2.3.2 - postcss@8.4.47: + postcss@8.4.49: dependencies: nanoid: 3.3.7 picocolors: 1.1.1 @@ -2454,7 +2430,9 @@ snapshots: ansi-styles: 5.2.0 react-is: 17.0.2 - psl@1.9.0: {} + psl@1.10.0: + dependencies: + punycode: 2.3.1 punycode@2.3.1: {} @@ -2476,28 +2454,28 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - rollup@4.24.4: + rollup@4.27.2: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.24.4 - '@rollup/rollup-android-arm64': 4.24.4 - '@rollup/rollup-darwin-arm64': 4.24.4 - '@rollup/rollup-darwin-x64': 4.24.4 - '@rollup/rollup-freebsd-arm64': 4.24.4 - '@rollup/rollup-freebsd-x64': 4.24.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.24.4 - '@rollup/rollup-linux-arm-musleabihf': 4.24.4 - '@rollup/rollup-linux-arm64-gnu': 4.24.4 - '@rollup/rollup-linux-arm64-musl': 4.24.4 - '@rollup/rollup-linux-powerpc64le-gnu': 4.24.4 - '@rollup/rollup-linux-riscv64-gnu': 4.24.4 - '@rollup/rollup-linux-s390x-gnu': 4.24.4 - '@rollup/rollup-linux-x64-gnu': 4.24.4 - '@rollup/rollup-linux-x64-musl': 4.24.4 - '@rollup/rollup-win32-arm64-msvc': 4.24.4 - '@rollup/rollup-win32-ia32-msvc': 4.24.4 - '@rollup/rollup-win32-x64-msvc': 4.24.4 + '@rollup/rollup-android-arm-eabi': 4.27.2 + '@rollup/rollup-android-arm64': 4.27.2 + '@rollup/rollup-darwin-arm64': 4.27.2 + '@rollup/rollup-darwin-x64': 4.27.2 + '@rollup/rollup-freebsd-arm64': 4.27.2 + '@rollup/rollup-freebsd-x64': 4.27.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.27.2 + '@rollup/rollup-linux-arm-musleabihf': 4.27.2 + '@rollup/rollup-linux-arm64-gnu': 4.27.2 + '@rollup/rollup-linux-arm64-musl': 4.27.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.27.2 + '@rollup/rollup-linux-riscv64-gnu': 4.27.2 + '@rollup/rollup-linux-s390x-gnu': 4.27.2 + '@rollup/rollup-linux-x64-gnu': 4.27.2 + '@rollup/rollup-linux-x64-musl': 4.27.2 + '@rollup/rollup-win32-arm64-msvc': 4.27.2 + '@rollup/rollup-win32-ia32-msvc': 4.27.2 + '@rollup/rollup-win32-x64-msvc': 4.27.2 fsevents: 2.3.3 semver@6.3.1: {} @@ -2526,12 +2504,6 @@ snapshots: source-map-js@1.2.1: {} - source-map-support@0.5.21: - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - optional: true - source-map@0.6.1: {} sprintf-js@1.0.3: {} @@ -2540,7 +2512,7 @@ snapshots: statuses@2.0.1: {} - std-env@3.7.0: {} + std-env@3.8.0: {} strict-event-emitter@0.5.1: {} @@ -2578,14 +2550,6 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - terser@5.33.0: - dependencies: - '@jridgewell/source-map': 0.3.6 - acorn: 8.14.0 - commander: 2.20.3 - source-map-support: 0.5.21 - optional: true - test-exclude@7.0.1: dependencies: '@istanbuljs/schema': 0.1.3 @@ -2601,7 +2565,7 @@ snapshots: fdir: 6.4.2(picomatch@4.0.2) picomatch: 4.0.2 - tinypool@1.0.1: {} + tinypool@1.0.2: {} tinyrainbow@1.2.0: {} @@ -2611,14 +2575,14 @@ snapshots: tough-cookie@4.1.4: dependencies: - psl: 1.9.0 + psl: 1.10.0 punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 type-fest@0.21.3: {} - type-fest@4.26.1: {} + type-fest@4.27.0: {} typescript@5.4.2: {} @@ -2647,12 +2611,13 @@ snapshots: querystringify: 2.2.0 requires-port: 1.0.0 - vite-node@2.1.4(@types/node@20.17.6)(terser@5.33.0): + vite-node@2.1.5(@types/node@20.17.6): dependencies: cac: 6.7.14 debug: 4.3.7 + es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.4.10(@types/node@20.17.6)(terser@5.33.0) + vite: 5.4.11(@types/node@20.17.6) transitivePeerDependencies: - '@types/node' - less @@ -2664,11 +2629,11 @@ snapshots: - supports-color - terser - vite-plugin-dts@4.3.0(@types/node@20.17.6)(rollup@4.24.4)(typescript@5.6.3)(vite@5.4.10(@types/node@20.17.6)(terser@5.33.0)): + vite-plugin-dts@4.3.0(@types/node@20.17.6)(rollup@4.27.2)(typescript@5.6.3)(vite@5.4.11(@types/node@20.17.6)): dependencies: '@microsoft/api-extractor': 7.47.11(@types/node@20.17.6) - '@rollup/pluginutils': 5.1.3(rollup@4.24.4) - '@volar/typescript': 2.4.9 + '@rollup/pluginutils': 5.1.3(rollup@4.27.2) + '@volar/typescript': 2.4.10 '@vue/language-core': 2.1.6(typescript@5.6.3) compare-versions: 6.1.1 debug: 4.3.7 @@ -2677,7 +2642,7 @@ snapshots: magic-string: 0.30.12 typescript: 5.6.3 optionalDependencies: - vite: 5.4.10(@types/node@20.17.6)(terser@5.33.0) + vite: 5.4.11(@types/node@20.17.6) transitivePeerDependencies: - '@types/node' - rollup @@ -2685,42 +2650,41 @@ snapshots: vite-plugin-strip-comments@0.0.1: {} - vite@5.4.10(@types/node@20.17.6)(terser@5.33.0): + vite@5.4.11(@types/node@20.17.6): dependencies: esbuild: 0.21.5 - postcss: 8.4.47 - rollup: 4.24.4 + postcss: 8.4.49 + rollup: 4.27.2 optionalDependencies: '@types/node': 20.17.6 fsevents: 2.3.3 - terser: 5.33.0 - vitest@2.1.4(@types/node@20.17.6)(@vitest/browser@2.1.4)(@vitest/ui@2.1.4)(msw@2.6.2(@types/node@20.17.6)(typescript@5.6.3))(terser@5.33.0): + vitest@2.1.5(@types/node@20.17.6)(@vitest/browser@2.1.5)(@vitest/ui@2.1.5)(msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3)): dependencies: - '@vitest/expect': 2.1.4 - '@vitest/mocker': 2.1.4(msw@2.6.2(@types/node@20.17.6)(typescript@5.6.3))(vite@5.4.10(@types/node@20.17.6)(terser@5.33.0)) - '@vitest/pretty-format': 2.1.4 - '@vitest/runner': 2.1.4 - '@vitest/snapshot': 2.1.4 - '@vitest/spy': 2.1.4 - '@vitest/utils': 2.1.4 + '@vitest/expect': 2.1.5 + '@vitest/mocker': 2.1.5(msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3))(vite@5.4.11(@types/node@20.17.6)) + '@vitest/pretty-format': 2.1.5 + '@vitest/runner': 2.1.5 + '@vitest/snapshot': 2.1.5 + '@vitest/spy': 2.1.5 + '@vitest/utils': 2.1.5 chai: 5.1.2 debug: 4.3.7 expect-type: 1.1.0 magic-string: 0.30.12 pathe: 1.1.2 - std-env: 3.7.0 + std-env: 3.8.0 tinybench: 2.9.0 tinyexec: 0.3.1 - tinypool: 1.0.1 + tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.10(@types/node@20.17.6)(terser@5.33.0) - vite-node: 2.1.4(@types/node@20.17.6)(terser@5.33.0) + vite: 5.4.11(@types/node@20.17.6) + vite-node: 2.1.5(@types/node@20.17.6) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 20.17.6 - '@vitest/browser': 2.1.4(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.6.3)(vite@5.4.10(@types/node@20.17.6)(terser@5.33.0))(vitest@2.1.4) - '@vitest/ui': 2.1.4(vitest@2.1.4) + '@vitest/browser': 2.1.5(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.6.3)(vite@5.4.11(@types/node@20.17.6))(vitest@2.1.5) + '@vitest/ui': 2.1.5(vitest@2.1.5) transitivePeerDependencies: - less - lightningcss diff --git a/src/components/alert.ts b/src/components/alert.ts index 160df872..a5d76843 100644 --- a/src/components/alert.ts +++ b/src/components/alert.ts @@ -13,14 +13,15 @@ import { import { addListener, removeListener } from "@thednp/event-listener"; -import fadeClass from "../strings/fadeClass"; -import showClass from "../strings/showClass"; -import dataBsDismiss from "../strings/dataBsDismiss"; -import alertString from "../strings/alertString"; -import alertComponent from "../strings/alertComponent"; -import type { AlertEvent } from "../interface/alert"; +import fadeClass from "~/strings/fadeClass"; +import showClass from "~/strings/showClass"; +import dataBsDismiss from "~/strings/dataBsDismiss"; +import alertString from "~/strings/alertString"; +import alertComponent from "~/strings/alertComponent"; +import type { AlertEvent } from "~/interface/alert"; import BaseComponent from "./base-component"; +import isDisabled from "~/util/isDisabled"; // ALERT PRIVATE GC // ================ @@ -101,18 +102,17 @@ export default class Alert extends BaseComponent { close = () => { const { element } = this; - // istanbul ignore else @preserve - if (element && hasClass(element, showClass)) { - dispatchEvent(element, closeAlertEvent); + // istanbul ignore if @preserve + if (!element || !hasClass(element, showClass)) return; + dispatchEvent(element, closeAlertEvent); - if (!closeAlertEvent.defaultPrevented) { - removeClass(element, showClass); + if (closeAlertEvent.defaultPrevented) return; - if (hasClass(element, fadeClass)) { - emulateTransitionEnd(element, () => alertTransitionEnd(this)); - } else alertTransitionEnd(this); - } - } + removeClass(element, showClass); + + if (hasClass(element, fadeClass)) { + emulateTransitionEnd(element, () => alertTransitionEnd(this)); + } else alertTransitionEnd(this); }; /** * Toggle on / off the `click` event listener. @@ -123,7 +123,9 @@ export default class Alert extends BaseComponent { const action = add ? addListener : removeListener; const { dismiss, close } = this; // istanbul ignore else @preserve - if (dismiss) action(dismiss, mouseclickEvent, close); + if (dismiss && !isDisabled(dismiss)) { + action(dismiss, mouseclickEvent, close); + } }; /** Remove the component from target element. */ diff --git a/src/components/base-component.ts b/src/components/base-component.ts index 9d81e962..4734745a 100644 --- a/src/components/base-component.ts +++ b/src/components/base-component.ts @@ -9,8 +9,8 @@ import { querySelector, } from "@thednp/shorty"; -import type { BaseOptions } from "../interface/baseComponent"; -import Version from "../version"; +import type { BaseOptions } from "~/interface/baseComponent"; +import Version from "~/version"; /** Returns a new `BaseComponent` instance. */ export default class BaseComponent { @@ -49,8 +49,7 @@ export default class BaseComponent { this.element = element; this.options = this.defaults && ObjectKeys(this.defaults).length ? normalizeOptions(element, this.defaults, config || {}, "bs") - // istanbul ignore next @preserve - : {}; + : /* istanbul ignore next @preserve */ {}; Data.set(element, this.name, this); } diff --git a/src/components/button.ts b/src/components/button.ts index 887ca8b1..6d5281ab 100644 --- a/src/components/button.ts +++ b/src/components/button.ts @@ -3,7 +3,6 @@ import { addClass, ariaPressed, - getAttribute, getInstance, hasClass, mouseclickEvent, @@ -13,12 +12,12 @@ import { import { addListener, removeListener } from "@thednp/event-listener"; -import activeClass from "../strings/activeClass"; -import dataBsToggle from "../strings/dataBsToggle"; -import buttonString from "../strings/buttonString"; -import buttonComponent from "../strings/buttonComponent"; - +import activeClass from "~/strings/activeClass"; +import dataBsToggle from "~/strings/dataBsToggle"; +import buttonString from "~/strings/buttonString"; +import buttonComponent from "~/strings/buttonComponent"; import BaseComponent from "./base-component"; +import isDisabled from "~/util/isDisabled"; // BUTTON PRIVATE GC // ================= @@ -80,7 +79,7 @@ export default class Button extends BaseComponent { if (e) e.preventDefault(); const { element, isActive } = this; - if (!hasClass(element, "disabled") && !getAttribute(element, "disabled")) { + if (!isDisabled(element)) { const action = isActive ? removeClass : addClass; action(element, activeClass); setAttribute(element, ariaPressed, isActive ? "false" : "true"); diff --git a/src/components/carousel.ts b/src/components/carousel.ts index 10215bc6..8162cd4e 100644 --- a/src/components/carousel.ts +++ b/src/components/carousel.ts @@ -15,7 +15,6 @@ import { getInstance, hasClass, isElementInScrollRange, - isHTMLElement, isRTL, keyArrowLeft, keyArrowRight, @@ -27,6 +26,7 @@ import { ObjectAssign, passiveHandler, pointerdownEvent, + PointerEvent, pointermoveEvent, pointerupEvent, querySelector, @@ -40,13 +40,14 @@ import { import { addListener, removeListener } from "@thednp/event-listener"; -import activeClass from "../strings/activeClass"; -import dataBsTarget from "../strings/dataBsTarget"; -import carouselString from "../strings/carouselString"; -import carouselComponent from "../strings/carouselComponent"; -import getTargetElement from "../util/getTargetElement"; +import activeClass from "~/strings/activeClass"; +import dataBsTarget from "~/strings/dataBsTarget"; +import carouselString from "~/strings/carouselString"; +import carouselComponent from "~/strings/carouselComponent"; +import getTargetElement from "~/util/getTargetElement"; +import isDisabled from "~/util/isDisabled"; import BaseComponent from "./base-component"; -import type { CarouselEvent, CarouselOptions } from "../interface/carousel"; +import type { CarouselEvent, CarouselOptions } from "~/interface/carousel"; type CarouselEventProperties = { relatedTarget: EventTarget & HTMLElement; @@ -165,25 +166,25 @@ function carouselResumeHandler(this: HTMLElement) { function carouselIndicatorHandler(this: HTMLElement, e: MouseEvent) { e.preventDefault(); const element = closest(this, carouselSelector) || getTargetElement(this); - const self = getCarouselInstance(element as HTMLElement); + const self = element && getCarouselInstance(element); - // istanbul ignore else @preserve - if (self && !self.isAnimating) { - const newIndex = +( - getAttribute(this, dataBsSlideTo) || - // istanbul ignore next @preserve - 0 - ); + // istanbul ignore if @preserve + if (!self || self.isAnimating) return; - // istanbul ignore else @preserve - if ( - this && - !hasClass(this, activeClass) && // event target is not active - !Number.isNaN(newIndex) - ) { - // AND has the specific attribute - self.to(newIndex); // do the slide - } + const newIndex = +( + getAttribute(this, dataBsSlideTo) || + // istanbul ignore next @preserve + 0 + ); + + // istanbul ignore else @preserve + if ( + this && + !hasClass(this, activeClass) && // event target is not active + !Number.isNaN(newIndex) + ) { + // AND has the specific attribute + self.to(newIndex); // do the slide } } @@ -194,20 +195,19 @@ function carouselIndicatorHandler(this: HTMLElement, e: MouseEvent) { */ function carouselControlsHandler(this: HTMLElement, e: MouseEvent) { e.preventDefault(); - const element = closest(this, carouselSelector) || - (getTargetElement(this)); - const self = getCarouselInstance(element as HTMLElement); + const element = closest(this, carouselSelector) || getTargetElement(this); + const self = element && getCarouselInstance(element); - // istanbul ignore else @preserve - if (self && !self.isAnimating) { - const orientation = getAttribute(this, dataBsSlide); + // istanbul ignore if @preserve + if (!self || self.isAnimating) return; - // istanbul ignore else @preserve - if (orientation === "next") { - self.next(); - } else if (orientation === "prev") { - self.prev(); - } + const orientation = getAttribute(this, dataBsSlide); + + // istanbul ignore else @preserve + if (orientation === "next") { + self.next(); + } else if (orientation === "prev") { + self.prev(); } } @@ -225,15 +225,17 @@ const carouselKeyHandler = ( const self = getCarouselInstance(element); // istanbul ignore next @preserve - if (self && !self.isAnimating && !/textarea|input/i.test(target.nodeName)) { - const RTL = isRTL(element); - const arrowKeyNext = !RTL ? keyArrowRight : keyArrowLeft; - const arrowKeyPrev = !RTL ? keyArrowLeft : keyArrowRight; + if ( + !self || self.isAnimating || /textarea|input|select/i.test(target.nodeName) + ) return; - // istanbul ignore else @preserve - if (code === arrowKeyPrev) self.prev(); - else if (code === arrowKeyNext) self.next(); - } + const RTL = isRTL(element); + const arrowKeyNext = !RTL ? keyArrowRight : keyArrowLeft; + const arrowKeyPrev = !RTL ? keyArrowLeft : keyArrowRight; + + // istanbul ignore else @preserve + if (code === arrowKeyPrev) self.prev(); + else if (code === arrowKeyNext) self.next(); }; // CAROUSEL TOUCH HANDLERS @@ -254,7 +256,7 @@ function carouselDragHandler( if ( self && self.isTouch && - ((self.indicator && !self.indicator.contains(target as Node)) || + ((self.indicator && !self.indicator.contains(target)) || !self.controls.includes(target)) ) { e.stopImmediatePropagation(); @@ -270,27 +272,30 @@ function carouselDragHandler( * * @param e the `Event` object */ -function carouselPointerDownHandler(this: HTMLElement, e: PointerEvent) { +function carouselPointerDownHandler( + this: HTMLElement, + e: PointerEvent, +) { const { target } = e; const self = getCarouselInstance(this); // istanbul ignore else @preserve - if (self && !self.isAnimating && !self.isTouch) { - // filter pointer event on controls & indicators - const { controls, indicators } = self; - // istanbul ignore else @preserve - if ( - ![...controls, ...indicators].every((el) => - el === target || el.contains(target as Node) - ) - ) { - startX = e.pageX; + if (!self || self.isAnimating || self.isTouch) return; - // istanbul ignore else @preserve - if (this.contains(target as Node)) { - self.isTouch = true; - toggleCarouselTouchHandlers(self, true); - } + // filter pointer event on controls & indicators + const { controls, indicators } = self; + // istanbul ignore else @preserve + if ( + ![...controls, ...indicators].every((el) => + el === target || el.contains(target) + ) + ) { + startX = e.pageX; + + // istanbul ignore else @preserve + if (this.contains(target)) { + self.isTouch = true; + toggleCarouselTouchHandlers(self, true); } } } @@ -300,7 +305,7 @@ function carouselPointerDownHandler(this: HTMLElement, e: PointerEvent) { * * @param e */ -const carouselPointerMoveHandler = (e: PointerEvent) => { +const carouselPointerMoveHandler = (e: PointerEvent) => { currentX = e.pageX; }; @@ -309,42 +314,41 @@ const carouselPointerMoveHandler = (e: PointerEvent) => { * * @param e */ -const carouselPointerUpHandler = (e: PointerEvent) => { +const carouselPointerUpHandler = (e: PointerEvent) => { const { target } = e; - const doc = getDocument(target as Node); + const doc = getDocument(target); const self = [...querySelectorAll(carouselSelector, doc)] .map((c) => getCarouselInstance(c) as Carousel) .find((i) => i.isTouch) as Carousel; - // impossible to satisfy - // istanbul ignore else @preserve - if (self) { - const { element, index } = self; - const RTL = isRTL(element); - endX = e.pageX; + // istanbul ignore if @preserve + if (!self) return; - self.isTouch = false; - toggleCarouselTouchHandlers(self); + const { element, index } = self; + const RTL = isRTL(element); + endX = e.pageX; - if ( - !doc.getSelection()?.toString().length && - element.contains(target as HTMLElement) && - Math.abs(startX - endX) > 120 - ) { - // determine next index to slide to - // istanbul ignore else @preserve - if (currentX < startX) { - self.to(index + (RTL ? -1 : 1)); - } else if (currentX > startX) { - self.to(index + (RTL ? 1 : -1)); - } - } + self.isTouch = false; + toggleCarouselTouchHandlers(self); - // reset pointer position - startX = 0; - currentX = 0; - endX = 0; + if ( + !doc.getSelection()?.toString().length && + element.contains(target) && + Math.abs(startX - endX) > 120 + ) { + // determine next index to slide to + // istanbul ignore else @preserve + if (currentX < startX) { + self.to(index + (RTL ? -1 : 1)); + } else if (currentX > startX) { + self.to(index + (RTL ? 1 : -1)); + } } + + // reset pointer position + startX = 0; + currentX = 0; + endX = 0; }; // CAROUSEL PRIVATE METHODS @@ -394,8 +398,11 @@ const toggleCarouselTouchHandlers = (self: Carousel, add?: boolean) => { */ const getActiveIndex = (self: Carousel) => { const { slides, element } = self; - const activeItem = querySelector(`.${carouselItem}.${activeClass}`, element); - return isHTMLElement(activeItem) ? [...slides].indexOf(activeItem) : -1; + const activeItem = querySelector( + `.${carouselItem}.${activeClass}`, + element, + ); + return activeItem ? [...slides].indexOf(activeItem) : -1; }; // CAROUSEL DEFINITION @@ -436,68 +443,68 @@ export default class Carousel extends BaseComponent { // invalidate when not enough items // no need to go further - if (slides.length >= 2) { - const activeIndex = getActiveIndex(this); - // recover item from disposed instance - const transitionItem = [...slides].find((s) => - matches(s, `.${carouselItem}-next,.${carouselItem}-next`) - ); - this.index = activeIndex; + if (slides.length < 2) return; - // external controls must be within same document context - const doc = getDocument(element); + const activeIndex = getActiveIndex(this); + // recover item from disposed instance + const transitionItem = [...slides].find((s) => + matches(s, `.${carouselItem}-next`) + ); + this.index = activeIndex; - this.controls = [ - ...querySelectorAll(`[${dataBsSlide}]`, element), - ...querySelectorAll( - `[${dataBsSlide}][${dataBsTarget}="#${element.id}"]`, - doc, - ), - ].filter((c, i, ar) => i === ar.indexOf(c)); + // external controls must be within same document context + const doc = getDocument(element); - this.indicator = querySelector( - `.${carouselString}-indicators`, - element, - ); + this.controls = [ + ...querySelectorAll(`[${dataBsSlide}]`, element), + ...querySelectorAll( + `[${dataBsSlide}][${dataBsTarget}="#${element.id}"]`, + doc, + ), + ].filter((c, i, ar) => i === ar.indexOf(c)); + + this.indicator = querySelector( + `.${carouselString}-indicators`, + element, + ); - // a LIVE collection is preffered - this.indicators = [ - ...(this.indicator - ? querySelectorAll(`[${dataBsSlideTo}]`, this.indicator) - /* istanbul ignore next @preserve */ : []), - ...querySelectorAll( - `[${dataBsSlideTo}][${dataBsTarget}="#${element.id}"]`, - doc, - ), - ].filter((c, i, ar) => i === ar.indexOf(c)); - - // set JavaScript and DATA API options - const { options } = this; - - // don't use TRUE as interval, it's actually 0, use the default 5000ms better - this.options.interval = options.interval === true - ? carouselDefaults.interval - : options.interval; - - // set first slide active if none - // istanbul ignore next @preserve - impossible to test - if (transitionItem) { - this.index = [...slides].indexOf(transitionItem); - } else if (activeIndex < 0) { - this.index = 0; - addClass(slides[0], activeClass); - if (this.indicators.length) activateCarouselIndicator(this, 0); - } - - // istanbul ignore else @preserve - if (this.indicators.length) activateCarouselIndicator(this, this.index); - - // attach event handlers - this._toggleEventListeners(true); - - // start to cycle if interval is set - if (options.interval) this.cycle(); + // a LIVE collection is preffered + this.indicators = [ + ...(this.indicator + ? querySelectorAll(`[${dataBsSlideTo}]`, this.indicator) + /* istanbul ignore next @preserve */ : []), + ...querySelectorAll( + `[${dataBsSlideTo}][${dataBsTarget}="#${element.id}"]`, + doc, + ), + ].filter((c, i, ar) => i === ar.indexOf(c)); + + // set JavaScript and DATA API options + const { options } = this; + + // don't use TRUE as interval, it's actually 0, use the default 5000ms better + this.options.interval = options.interval === true + ? carouselDefaults.interval + : options.interval; + + // set first slide active if none + // istanbul ignore next @preserve - impossible to test + if (transitionItem) { + this.index = [...slides].indexOf(transitionItem); + } else if (activeIndex < 0) { + this.index = 0; + addClass(slides[0], activeClass); + if (this.indicators.length) activateCarouselIndicator(this, 0); } + + // istanbul ignore else @preserve + if (this.indicators.length) activateCarouselIndicator(this, this.index); + + // attach event handlers + this._toggleEventListeners(true); + + // start to cycle if interval is set + if (options.interval) this.cycle(); } /** @@ -564,17 +571,17 @@ export default class Carousel extends BaseComponent { pause() { const { element, options } = this; // istanbul ignore else @preserve - if (!this.isPaused && options.interval) { - addClass(element, pausedClass); - Timer.set( - element, - () => { - /* ESLint is now happy */ - }, - 1, - pausedClass, - ); - } + if (this.isPaused || !options.interval) return; + + addClass(element, pausedClass); + Timer.set( + element, + () => { + /* ESLint is now happy */ + }, + 1, + pausedClass, + ); } /** Slide to the next item. */ @@ -608,95 +615,95 @@ export default class Carousel extends BaseComponent { // first return if we're on the same item #227 // `to()` must be SPAM protected by Timer if ( - !this.isAnimating && activeItem !== next && - !Timer.get(element, dataBsSlide) + this.isAnimating || activeItem === next || + Timer.get(element, dataBsSlide) + ) return; + + // determine transition direction + // istanbul ignore else @preserve + if ( + activeItem < next || (activeItem === 0 && next === slides.length - 1) + ) { + this.direction = RTL ? "right" : "left"; // next + } else if ( + activeItem > next || (activeItem === slides.length - 1 && next === 0) ) { - // determine transition direction - // istanbul ignore else @preserve - if ( - activeItem < next || (activeItem === 0 && next === slides.length - 1) - ) { - this.direction = RTL ? "right" : "left"; // next - } else if ( - activeItem > next || (activeItem === slides.length - 1 && next === 0) - ) { - this.direction = RTL ? "left" : "right"; // prev - } - const { direction } = this; - - // find the right next index - if (next < 0) { - next = slides.length - 1; - } else if (next >= slides.length) { - next = 0; - } - - // orientation, class name, eventProperties - const orientation = direction === "left" ? "next" : "prev"; - const directionClass = direction === "left" ? "start" : "end"; - - const eventProperties = { - relatedTarget: slides[next], - from: activeItem, - to: next, - direction, - }; - - // update event properties - ObjectAssign(carouselSlideEvent, eventProperties); - ObjectAssign(carouselSlidEvent, eventProperties); - - // discontinue when prevented - dispatchEvent(element, carouselSlideEvent); - if (!carouselSlideEvent.defaultPrevented) { - // update index - this.index = next; - activateCarouselIndicator(this, next); + this.direction = RTL ? "left" : "right"; // prev + } + const { direction } = this; - if ( - getElementTransitionDuration(slides[next]) && - hasClass(element, "slide") - ) { - Timer.set( - element, - () => { - addClass(slides[next], `${carouselItem}-${orientation}`); - reflow(slides[next]); - addClass(slides[next], `${carouselItem}-${directionClass}`); - addClass(slides[activeItem], `${carouselItem}-${directionClass}`); - - // the instance might get diposed mid-animation - emulateTransitionEnd( - slides[next], - () => - this.slides && this.slides.length && - carouselTransitionEndHandler(this), - ); - }, - 0, - dataBsSlide, - ); - } else { - addClass(slides[next], activeClass); - removeClass(slides[activeItem], activeClass); - - Timer.set( - element, - () => { - Timer.clear(element, dataBsSlide); - // check for element, might have been disposed - // istanbul ignore else @preserve - if (element && options.interval && !this.isPaused) { - this.cycle(); - } - - dispatchEvent(element, carouselSlidEvent); - }, - 0, - dataBsSlide, + // find the right next index + if (next < 0) { + next = slides.length - 1; + } else if (next >= slides.length) { + next = 0; + } + + // orientation, class name, eventProperties + const orientation = direction === "left" ? "next" : "prev"; + const directionClass = direction === "left" ? "start" : "end"; + + const eventProperties = { + relatedTarget: slides[next], + from: activeItem, + to: next, + direction, + }; + + // update event properties + ObjectAssign(carouselSlideEvent, eventProperties); + ObjectAssign(carouselSlidEvent, eventProperties); + + // discontinue when prevented + dispatchEvent(element, carouselSlideEvent); + if (carouselSlideEvent.defaultPrevented) return; + + // update index + this.index = next; + activateCarouselIndicator(this, next); + + if ( + getElementTransitionDuration(slides[next]) && + hasClass(element, "slide") + ) { + Timer.set( + element, + () => { + addClass(slides[next], `${carouselItem}-${orientation}`); + reflow(slides[next]); + addClass(slides[next], `${carouselItem}-${directionClass}`); + addClass(slides[activeItem], `${carouselItem}-${directionClass}`); + + // the instance might get diposed mid-animation + emulateTransitionEnd( + slides[next], + () => + this.slides && this.slides.length && + carouselTransitionEndHandler(this), ); - } - } + }, + 0, + dataBsSlide, + ); + } else { + addClass(slides[next], activeClass); + removeClass(slides[activeItem], activeClass); + + Timer.set( + element, + () => { + Timer.clear(element, dataBsSlide); + // check for element, might have been disposed + // istanbul ignore else @preserve + if (element && options.interval && !this.isPaused) { + this.cycle(); + } + + dispatchEvent(element, carouselSlidEvent); + }, + 0, + dataBsSlide, + ); } } @@ -730,14 +737,19 @@ export default class Carousel extends BaseComponent { if (controls.length) { controls.forEach((arrow) => { // istanbul ignore else @preserve - if (arrow) action(arrow, mouseclickEvent, carouselControlsHandler); + if (!isDisabled(arrow)) { + action(arrow, mouseclickEvent, carouselControlsHandler); + } }); } // istanbul ignore else @preserve if (indicators.length) { indicators.forEach((indicator) => { - action(indicator, mouseclickEvent, carouselIndicatorHandler); + // istanbul ignore else @preserve + if (!isDisabled(indicator)) { + action(indicator, mouseclickEvent, carouselIndicatorHandler); + } }); } diff --git a/src/components/collapse.ts b/src/components/collapse.ts index 864442f7..efc110f9 100644 --- a/src/components/collapse.ts +++ b/src/components/collapse.ts @@ -26,15 +26,15 @@ import { import { addListener, removeListener } from "@thednp/event-listener"; -import dataBsToggle from "../strings/dataBsToggle"; -import collapsingClass from "../strings/collapsingClass"; -import showClass from "../strings/showClass"; -import collapseString from "../strings/collapseString"; -import collapseComponent from "../strings/collapseComponent"; - -import getTargetElement from "../util/getTargetElement"; +import dataBsToggle from "~/strings/dataBsToggle"; +import collapsingClass from "~/strings/collapsingClass"; +import showClass from "~/strings/showClass"; +import collapseString from "~/strings/collapseString"; +import collapseComponent from "~/strings/collapseComponent"; +import getTargetElement from "~/util/getTargetElement"; import BaseComponent from "./base-component"; -import type { CollapseEvent, CollapseOptions } from "../interface/collapse"; +import type { CollapseEvent, CollapseOptions } from "~/interface/collapse"; +import isDisabled from "~/util/isDisabled"; // COLLAPSE GC // =========== @@ -163,11 +163,13 @@ const collapseClickHandler = (e: MouseEvent) => { closest(target, collapseToggleSelector); const element = trigger && getTargetElement(trigger); const self = element && getCollapseInstance(element); - // istanbul ignore else @preserve - if (self) self.toggle(); + // istanbul ignore if @preserve + if (!self) return; + + self.toggle(); // event target is anchor link #398 - if (trigger && trigger.tagName === "A") e.preventDefault(); + if (trigger?.tagName === "A") e.preventDefault(); }; // COLLAPSE DEFINITION @@ -285,9 +287,11 @@ export default class Collapse extends BaseComponent { // istanbul ignore else @preserve if (triggers.length) { - triggers.forEach((btn) => - action(btn, mouseclickEvent, collapseClickHandler) - ); + triggers.forEach((btn) => { + if (!isDisabled(btn)) { + action(btn, mouseclickEvent, collapseClickHandler); + } + }); } }; diff --git a/src/components/dropdown.ts b/src/components/dropdown.ts index 42d75507..1fcc764c 100644 --- a/src/components/dropdown.ts +++ b/src/components/dropdown.ts @@ -36,15 +36,15 @@ import { import { addListener, removeListener } from "@thednp/event-listener"; -import showClass from "../strings/showClass"; -import dataBsToggle from "../strings/dataBsToggle"; -import dropdownClasses from "../strings/dropdownClasses"; -import dropdownComponent from "../strings/dropdownComponent"; -import dropdownMenuClass from "../strings/dropdownMenuClass"; - -import isEmptyAnchor from "../util/isEmptyAnchor"; +import showClass from "~/strings/showClass"; +import dataBsToggle from "~/strings/dataBsToggle"; +import dropdownClasses from "~/strings/dropdownClasses"; +import dropdownComponent from "~/strings/dropdownComponent"; +import dropdownMenuClass from "~/strings/dropdownMenuClass"; +import isEmptyAnchor from "~/util/isEmptyAnchor"; +import isDisabled from "~/util/isDisabled"; import BaseComponent from "./base-component"; -import type { DropdownEvent, DropdownOptions } from "../interface/dropdown"; +import type { DropdownEvent, DropdownOptions } from "~/interface/dropdown"; // DROPDOWN PRIVATE GC // =================== @@ -590,7 +590,10 @@ export default class Dropdown extends BaseComponent { */ _toggleEventListeners = (add?: boolean) => { const action = add ? addListener : removeListener; - action(this.element, mouseclickEvent, dropdownClickHandler); + + if (!isDisabled(this.element)) { + action(this.element, mouseclickEvent, dropdownClickHandler); + } }; /** Removes the `Dropdown` component from the target element. */ diff --git a/src/components/modal.ts b/src/components/modal.ts index 43821a67..dc5113a3 100644 --- a/src/components/modal.ts +++ b/src/components/modal.ts @@ -34,15 +34,15 @@ import { import { addListener, removeListener } from "@thednp/event-listener"; -import dataBsToggle from "../strings/dataBsToggle"; -import dataBsDismiss from "../strings/dataBsDismiss"; -import fadeClass from "../strings/fadeClass"; -import showClass from "../strings/showClass"; -import modalString from "../strings/modalString"; -import modalComponent from "../strings/modalComponent"; -import offcanvasComponent from "../strings/offcanvasComponent"; -import getTargetElement from "../util/getTargetElement"; -import { measureScrollbar, setScrollbar } from "../util/scrollbar"; +import dataBsToggle from "~/strings/dataBsToggle"; +import dataBsDismiss from "~/strings/dataBsDismiss"; +import fadeClass from "~/strings/fadeClass"; +import showClass from "~/strings/showClass"; +import modalString from "~/strings/modalString"; +import modalComponent from "~/strings/modalComponent"; +import offcanvasComponent from "~/strings/offcanvasComponent"; +import getTargetElement from "~/util/getTargetElement"; +import { measureScrollbar, setScrollbar } from "~/util/scrollbar"; import { appendOverlay, getCurrentOpen, @@ -52,11 +52,12 @@ import { removeOverlay, showOverlay, toggleOverlayType, -} from "../util/backdrop"; -import isVisible from "../util/isVisible"; +} from "~/util/backdrop"; +import isVisible from "~/util/isVisible"; +import { hasPopup } from "~/util/popupContainer"; +import isDisabled from "~/util/isDisabled"; import BaseComponent from "./base-component"; -import { ModalEvent, ModalOptions } from "../interface/modal"; -import { hasPopup } from "../util/popupContainer"; +import { ModalEvent, ModalOptions } from "~/interface/modal"; // MODAL PRIVATE GC // ================ @@ -497,7 +498,9 @@ export default class Modal extends BaseComponent { // istanbul ignore if @preserve if (!triggers.length) return; - triggers.forEach((btn) => action(btn, mouseclickEvent, modalClickHandler)); + triggers.forEach((btn) => { + if (!isDisabled(btn)) action(btn, mouseclickEvent, modalClickHandler); + }); }; /** Removes the `Modal` component from target element. */ diff --git a/src/components/offcanvas.ts b/src/components/offcanvas.ts index 02f02898..c3b89e6c 100644 --- a/src/components/offcanvas.ts +++ b/src/components/offcanvas.ts @@ -30,17 +30,17 @@ import { import { addListener, removeListener } from "@thednp/event-listener"; -import dataBsDismiss from "../strings/dataBsDismiss"; -import dataBsToggle from "../strings/dataBsToggle"; -import showClass from "../strings/showClass"; -import offcanvasString from "../strings/offcanvasString"; -import offcanvasComponent from "../strings/offcanvasComponent"; -import modalComponent from "../strings/modalComponent"; - -import getTargetElement from "../util/getTargetElement"; -import isVisible from "../util/isVisible"; -import { setScrollbar } from "../util/scrollbar"; -import { hasPopup } from "../util/popupContainer"; +import dataBsDismiss from "~/strings/dataBsDismiss"; +import dataBsToggle from "~/strings/dataBsToggle"; +import showClass from "~/strings/showClass"; +import offcanvasString from "~/strings/offcanvasString"; +import offcanvasComponent from "~/strings/offcanvasComponent"; +import modalComponent from "~/strings/modalComponent"; + +import getTargetElement from "~/util/getTargetElement"; +import isVisible from "~/util/isVisible"; +import { setScrollbar } from "~/util/scrollbar"; +import { hasPopup } from "~/util/popupContainer"; import { appendOverlay, getCurrentOpen, @@ -50,9 +50,10 @@ import { removeOverlay, showOverlay, toggleOverlayType, -} from "../util/backdrop"; +} from "~/util/backdrop"; +import isDisabled from "~/util/isDisabled"; import BaseComponent from "./base-component"; -import { OffcanvasEvent, OffcanvasOptions } from "../interface/offcanvas"; +import { OffcanvasEvent, OffcanvasOptions } from "~/interface/offcanvas"; // OFFCANVAS PRIVATE GC // ==================== @@ -447,9 +448,11 @@ export default class Offcanvas extends BaseComponent { */ _toggleEventListeners = (add?: boolean) => { const action = add ? addListener : removeListener; - this.triggers.forEach((btn) => - action(btn, mouseclickEvent, offcanvasTriggerHandler) - ); + this.triggers.forEach((btn) => { + if (!isDisabled(btn)) { + action(btn, mouseclickEvent, offcanvasTriggerHandler); + } + }); }; /** Removes the `Offcanvas` from the target element. */ diff --git a/src/components/popover.ts b/src/components/popover.ts index a850db86..26397ed7 100644 --- a/src/components/popover.ts +++ b/src/components/popover.ts @@ -2,16 +2,16 @@ ---------------------------------------------- */ import { focus, getInstance, ObjectAssign } from "@thednp/shorty"; -import dataBsToggle from "../strings/dataBsToggle"; -import popoverString from "../strings/popoverString"; -import popoverComponent from "../strings/popoverComponent"; +import dataBsToggle from "~/strings/dataBsToggle"; +import popoverString from "~/strings/popoverString"; +import popoverComponent from "~/strings/popoverComponent"; -import getTipTemplate from "../util/getTipTemplate"; -import styleTip from "../util/styleTip"; -import tooltipDefaults from "../util/tooltipDefaults"; +import getTipTemplate from "~/util/getTipTemplate"; +import styleTip from "~/util/styleTip"; +import tooltipDefaults from "~/util/tooltipDefaults"; import Tooltip from "./tooltip"; -import type { PopoverOptions /* , PopoverEvent */ } from "../interface/popover"; +import type { PopoverOptions /* , PopoverEvent */ } from "~/interface/popover"; // POPOVER PRIVATE GC // ================== diff --git a/src/components/scrollspy.ts b/src/components/scrollspy.ts index bbd2f72c..35fce91d 100644 --- a/src/components/scrollspy.ts +++ b/src/components/scrollspy.ts @@ -2,33 +2,37 @@ ------------------------------------------------ */ import { addClass, + closest, createCustomEvent, dispatchEvent, getAttribute, getBoundingClientRect, getDocument, - getDocumentBody, getDocumentElement, + getElementById, getElementsByTagName, getInstance, hasClass, - isHTMLElement, + mouseclickEvent, + MouseEvent, querySelector, removeClass, } from "@thednp/shorty"; import PositionObserver from "@thednp/position-observer"; +import { addListener, removeListener } from "@thednp/event-listener"; -import activeClass from "../strings/activeClass"; -import scrollspyString from "../strings/scrollspyString"; -import scrollspyComponent from "../strings/scrollspyComponent"; - +import activeClass from "~/strings/activeClass"; +import scrollspyString from "~/strings/scrollspyString"; +import scrollspyComponent from "~/strings/scrollspyComponent"; +import isDisabled from "~/util/isDisabled"; import BaseComponent from "./base-component"; -import { ScrollSpyEvent, ScrollSpyOptions } from "../interface/scrollspy"; +import { ScrollSpyEvent, ScrollSpyOptions } from "~/interface/scrollspy"; // SCROLLSPY PRIVATE GC // ==================== const scrollspySelector = '[data-bs-spy="scroll"]'; +const scrollSpyAnchorSelector = "[href]"; const scrollspyDefaults: Partial = { offset: 10, @@ -68,96 +72,28 @@ const activateScrollSpy = createCustomEvent< const updateSpyTargets = (self: ScrollSpy) => { const { target, - scrollTarget, - options, - itemsLength, - scrollHeight, - element, - _observer, + _itemsLength, + _observables, } = self; - const { offset } = options; - const isRoot = scrollTarget !== element; - - const links = target && getElementsByTagName("A", target); - const doc = getDocument(element); - const scrollHEIGHT = scrollTarget.scrollHeight; - self.scrollTop = scrollTarget.scrollTop; + const links = getElementsByTagName("A", target); + const doc = getDocument(target); - // only update items/offsets once or with each mutation + // only update items once or with each mutation // istanbul ignore else @preserve - if ( - links && (scrollHEIGHT !== scrollHeight || itemsLength !== links.length) - ) { - let href: string | null; - let ref: string | undefined; - let targetItem: HTMLElement | null; - let rect; - - // reset arrays & update - self.items = []; - self.targets = []; - self.offsets = []; - self.scrollHeight = scrollHEIGHT; - self.maxScroll = self.scrollHeight - getOffsetHeight(self); - - Array.from(links).forEach((link) => { - href = getAttribute(link, "href"); - ref = href?.slice(1); - targetItem = ref?.length ? doc.getElementById(ref) : null; - - if (targetItem) { - self.items.push(link); - self.targets.push(targetItem); - rect = _observer?.getEntry(targetItem)?.boundingClientRect || - getBoundingClientRect(targetItem); - self.offsets.push( - (isRoot ? rect.top + self.scrollTop : targetItem.offsetTop) - offset, - ); - } - }); - self.itemsLength = self.items.length; - } -}; + if (!links.length || _itemsLength === _observables.size) return; + // reset arrays & update + _observables.clear(); -/** - * Toggles on/off the component observer. - * - * @param self the ScrollSpy instance - * @param add when `true`, listener is added - */ -const toggleObservers = ( - { targets, scrollTarget, element, _observer }: ScrollSpy, - add?: boolean, -) => { - if (add) { - if (scrollTarget === element) { - targets?.forEach((targetItem) => _observer.observe(targetItem)); - } else { - _observer.observe(element); - } - } else _observer.disconnect(); -}; - -/** - * Returns the `scrollHeight` property of the scrolling element. - * - * @param scrollTarget the `ScrollSpy` instance - * @return `scrollTarget` height - */ -const getScrollHeight = (scrollTarget: Element) => { - return scrollTarget.scrollHeight; -}; + Array.from(links).forEach((link) => { + const hash = getAttribute(link, "href")?.slice(1); + const targetItem = hash?.length ? doc.getElementById(hash) : null; -/** - * Returns the height property of the scrolling element. - * - * @param params the `ScrollSpy` instance - */ -const getOffsetHeight = ({ element, scrollTarget }: ScrollSpy) => { - return scrollTarget !== element - ? scrollTarget.clientHeight - : getBoundingClientRect(element).height; + if (targetItem && !isDisabled(link)) { + self._observables.set(targetItem, link); + } + }); + self._itemsLength = self._observables.size; }; /** @@ -183,35 +119,44 @@ const activate = (self: ScrollSpy, item: HTMLElement) => { const { target, element } = self; // istanbul ignore else @preserve - if (isHTMLElement(target)) clear(target); + clear(target); - self.activeItem = item; + self._activeItem = item; addClass(item, activeClass); // activate all parents - const parents: HTMLElement[] = []; let parentItem = item; - while (parentItem !== getDocumentBody(element)) { + while (parentItem !== target) { parentItem = parentItem.parentElement as HTMLElement; - if (hasClass(parentItem, "nav") || hasClass(parentItem, "dropdown-menu")) { - parents.push(parentItem); - } - } - - parents.forEach((menuItem) => { - const parentLink = menuItem.previousElementSibling as HTMLElement | null; + if ( + ["nav", "dropdown-menu", "list-group"].some((c) => + hasClass(parentItem, c) + ) + ) { + const parentLink = parentItem.previousElementSibling as + | HTMLElement + | null; - // istanbul ignore else @preserve - if (parentLink && !hasClass(parentLink, activeClass)) { - addClass(parentLink, activeClass); + // istanbul ignore else @preserve + if (parentLink && !hasClass(parentLink, activeClass)) { + addClass(parentLink, activeClass); + } } - }); + } // dispatch activateScrollSpy.relatedTarget = item; dispatchEvent(element, activateScrollSpy); }; +const getOffset = (self: ScrollSpy, target: HTMLElement) => { + const { scrollTarget, element, options } = self; + + return (scrollTarget !== element + ? getBoundingClientRect(target).top + scrollTarget.scrollTop + : target.offsetTop) - (options.offset as number || 10); +}; + // SCROLLSPY DEFINITION // ==================== /** Returns a new `ScrollSpy` instance. */ @@ -221,17 +166,12 @@ export default class ScrollSpy extends BaseComponent { static getInstance = getScrollSpyInstance; declare element: HTMLElement; declare options: ScrollSpyOptions; - declare target: HTMLElement | null; + declare target: HTMLElement; declare scrollTarget: HTMLElement; - declare scrollTop: number; - declare maxScroll: number; - declare scrollHeight: number; - declare activeItem: HTMLElement | null; - declare items: HTMLElement[]; - declare targets: HTMLElement[]; - declare itemsLength: number; - declare offsets: number[]; - declare _observer: PositionObserver; + declare _itemsLength: number; + declare _activeItem: HTMLElement | null; + declare _observables: Map; + declare _observer: PositionObserver; //| IntersectionObserver; /** * @param target the target element @@ -260,25 +200,21 @@ export default class ScrollSpy extends BaseComponent { this.scrollTarget = element.clientHeight < element.scrollHeight ? element : getDocumentElement(element); - this.scrollHeight = getScrollHeight(this.scrollTarget); + this._observables = new Map(); // run an initial burst, we need to know the targets this.refresh(); + // updateSpyTargets(this); // create observer - this._observer = new PositionObserver((entries) => { - requestAnimationFrame(() => { - // istanbul ignore else @preserve - if (entries.some((entry) => entry.isVisible)) { - this.refresh(); - } - }); + this._observer = new PositionObserver(() => { + requestAnimationFrame(() => this.refresh()); }, { root: this.scrollTarget, }); // add event handlers - toggleObservers(this, true); + this._toggleEventListeners(true); } /* eslint-disable */ @@ -300,48 +236,101 @@ export default class ScrollSpy extends BaseComponent { // ======================== /** Updates all items. */ refresh = () => { - const { target } = this; + const { target, scrollTarget } = this; // check if target is visible and invalidate // istanbul ignore if @preserve - if (!isHTMLElement(target) || target.offsetHeight === 0) return; + if (!target || target.offsetHeight === 0) return; updateSpyTargets(this); + const { _itemsLength, _observables, _activeItem } = this; + + // istanbul ignore if @preserve + if (!_itemsLength) return; + const entries = _observables.entries().toArray(); - const { scrollTop, maxScroll, itemsLength, items, activeItem } = this; + const { scrollTop, scrollHeight, clientHeight } = scrollTarget; - if (scrollTop >= maxScroll) { - const newActiveItem = items[itemsLength - 1]; + if (scrollTop >= scrollHeight - clientHeight) { + const newActiveItem = entries[_itemsLength - 1]?.[1]; // istanbul ignore else @preserve - if (activeItem !== newActiveItem) activate(this, newActiveItem); + if (_activeItem !== newActiveItem) activate(this, newActiveItem); return; } - const { offsets } = this; - - // istanbul ignore else @preserve - if (activeItem && scrollTop < offsets[0] && offsets[0] > 0) { - this.activeItem = null; - // istanbul ignore else @preserve - if (target) clear(target); + const firstOffset = entries[0]?.[0] + ? getOffset(this, entries[0][0]) + : /* istanbul ignore next */ null; + if ( + firstOffset !== null && scrollTop < firstOffset && + firstOffset > 0 + ) { + this._activeItem = null; + clear(target); return; } - items.forEach((item, i) => { + for (let i = 0; i < _itemsLength; i += 1) { + const [targetItem, item] = entries[i]; + const offsetTop = getOffset(this, targetItem); + const nextTarget = entries[i + 1]?.[0]; + const nextOffsetTop = nextTarget + ? getOffset(this, nextTarget) + : /* istanbul ignore next */ null; + + // istanbul ignore else @preserve if ( - activeItem !== item && - scrollTop >= offsets[i] && - (typeof offsets[i + 1] === "undefined" || scrollTop < offsets[i + 1]) + _activeItem !== item && + scrollTop >= offsetTop && + (nextOffsetTop === null || scrollTop < nextOffsetTop) ) { activate(this, item); + break; } - }); + } + }; + + /** + * This method provides an event handle + * for scrollspy + * @param e the event listener object + */ + _scrollTo = (e: MouseEvent) => { + const item = closest(e.target, scrollSpyAnchorSelector); + const hash = item && getAttribute(item, "href")?.slice(1); + const targetItem = hash && getElementById(hash, this.target); + + // istanbul ignore else @preserve + if (targetItem) { + this.scrollTarget.scrollTo({ + top: targetItem.offsetTop, + behavior: "smooth", + }); + e.preventDefault(); + } + }; + + /** + * Toggles on/off the component observer. + * + * @param self the ScrollSpy instance + * @param add when `true`, listener is added + */ + _toggleEventListeners = ( + add?: boolean, + ) => { + const { target, _observables, _observer, _scrollTo } = this; + const action = add ? addListener : removeListener; + action(target, mouseclickEvent, _scrollTo); + + if (add) { + _observables?.forEach((_, targetItem) => _observer.observe(targetItem)); + } else _observer.disconnect(); }; /** Removes `ScrollSpy` from the target element. */ dispose() { - const clone = { ...this }; - toggleObservers(clone); + this._toggleEventListeners(); super.dispose(); } } diff --git a/src/components/tab.ts b/src/components/tab.ts index cc12802d..17cb0797 100644 --- a/src/components/tab.ts +++ b/src/components/tab.ts @@ -22,18 +22,17 @@ import { import { addListener, removeListener } from "@thednp/event-listener"; -import collapsingClass from "../strings/collapsingClass"; -import activeClass from "../strings/activeClass"; -import fadeClass from "../strings/fadeClass"; -import showClass from "../strings/showClass"; -import dropdownClasses from "../strings/dropdownClasses"; -import dataBsToggle from "../strings/dataBsToggle"; -import tabString from "../strings/tabString"; -import tabComponent from "../strings/tabComponent"; - -import getTargetElement from "../util/getTargetElement"; +import collapsingClass from "~/strings/collapsingClass"; +import activeClass from "~/strings/activeClass"; +import fadeClass from "~/strings/fadeClass"; +import showClass from "~/strings/showClass"; +import dropdownClasses from "~/strings/dropdownClasses"; +import dataBsToggle from "~/strings/dataBsToggle"; +import tabString from "~/strings/tabString"; +import tabComponent from "~/strings/tabComponent"; +import getTargetElement from "~/util/getTargetElement"; import BaseComponent from "./base-component"; -import type { /* TabOptions, */ TabEvent } from "../interface/tab"; +import type { /* TabOptions, */ TabEvent } from "~/interface/tab"; // TAB PRIVATE GC // ================ @@ -264,11 +263,13 @@ const getParentDropdown = (element?: HTMLElement) => { * @param e the `Event` object */ const tabClickHandler = (e: MouseEvent) => { - const self = getTabInstance(e.target); - e.preventDefault(); + const element = closest(e.target, tabSelector); + const self = element && getTabInstance(element); - // istanbul ignore else @preserve - if (self) self.show(); + // istanbul ignore if @preserve + if (!self) return; + e.preventDefault(); + self.show(); }; // TAB DEFINITION @@ -308,7 +309,7 @@ export default class Tab extends BaseComponent { this.tabContent = container; // event targets - this.dropdown = getParentDropdown(element as HTMLElement); + this.dropdown = getParentDropdown(element); // show first Tab instance of none is shown // suggested on #432 diff --git a/src/components/toast.ts b/src/components/toast.ts index 87addf15..037fd971 100644 --- a/src/components/toast.ts +++ b/src/components/toast.ts @@ -24,15 +24,16 @@ import { import { addListener, removeListener } from "@thednp/event-listener"; -import fadeClass from "../strings/fadeClass"; -import showClass from "../strings/showClass"; -import dataBsDismiss from "../strings/dataBsDismiss"; -import dataBsToggle from "../strings/dataBsToggle"; -import toastString from "../strings/toastString"; -import toastComponent from "../strings/toastComponent"; -import getTargetElement from "../util/getTargetElement"; +import fadeClass from "~/strings/fadeClass"; +import showClass from "~/strings/showClass"; +import dataBsDismiss from "~/strings/dataBsDismiss"; +import dataBsToggle from "~/strings/dataBsToggle"; +import toastString from "~/strings/toastString"; +import toastComponent from "~/strings/toastComponent"; +import getTargetElement from "~/util/getTargetElement"; +import isDisabled from "~/util/isDisabled"; import BaseComponent from "./base-component"; -import { ToastEvent, ToastOptions } from "../interface/toast"; +import { ToastEvent, ToastOptions } from "~/interface/toast"; // TOAST PRIVATE GC // ================ @@ -307,9 +308,9 @@ export default class Toast extends BaseComponent { } // istanbul ignore else @preserve if (triggers.length) { - triggers.forEach((btn) => - action(btn, mouseclickEvent, toastClickHandler) - ); + triggers.forEach((btn) => { + if (!isDisabled(btn)) action(btn, mouseclickEvent, toastClickHandler); + }); } }; diff --git a/src/components/tooltip.ts b/src/components/tooltip.ts index ce8ddbc9..91a06d9c 100644 --- a/src/components/tooltip.ts +++ b/src/components/tooltip.ts @@ -39,24 +39,24 @@ import { import { addListener, removeListener } from "@thednp/event-listener"; import PositionObserver from "@thednp/position-observer"; -import dataBsToggle from "../strings/dataBsToggle"; -import dataOriginalTitle from "../strings/dataOriginalTitle"; -import showClass from "../strings/showClass"; -import tooltipString from "../strings/tooltipString"; -import tooltipComponent from "../strings/tooltipComponent"; -import popoverString from "../strings/popoverString"; -import popoverComponent from "../strings/popoverComponent"; -import modalString from "../strings/modalString"; -import offcanvasString from "../strings/offcanvasString"; - -import styleTip from "../util/styleTip"; -import createTip from "../util/createTip"; -import { appendPopup, hasPopup, removePopup } from "../util/popupContainer"; -import getElementContainer from "../util/getElementContainer"; -import tooltipDefaults from "../util/tooltipDefaults"; +import dataBsToggle from "~/strings/dataBsToggle"; +import dataOriginalTitle from "~/strings/dataOriginalTitle"; +import showClass from "~/strings/showClass"; +import tooltipString from "~/strings/tooltipString"; +import tooltipComponent from "~/strings/tooltipComponent"; +import popoverString from "~/strings/popoverString"; +import popoverComponent from "~/strings/popoverComponent"; +import modalString from "~/strings/modalString"; +import offcanvasString from "~/strings/offcanvasString"; + +import styleTip from "~/util/styleTip"; +import createTip from "~/util/createTip"; +import { appendPopup, hasPopup, removePopup } from "~/util/popupContainer"; +import getElementContainer from "~/util/getElementContainer"; +import tooltipDefaults from "~/util/tooltipDefaults"; import BaseComponent from "./base-component"; -import type { TooltipEvent, TooltipOptions } from "../interface/tooltip"; -import type { PopoverEvent, PopoverOptions } from "../interface/popover"; +import type { TooltipEvent, TooltipOptions } from "~/interface/tooltip"; +import type { PopoverEvent, PopoverOptions } from "~/interface/popover"; // TOOLTIP PRIVATE GC // ================== @@ -311,11 +311,7 @@ export default class Tooltip extends BaseComponent { if (!this.tooltip) return; // create observer - this._observer = new PositionObserver((entries) => { - /* istanbul ignore else */ - if (!entries.some((entry) => entry.isVisible)) return; - this.update(); - }); + this._observer = new PositionObserver(() => this.update()); // attach events this._toggleEventListeners(true); diff --git a/src/interface/scrollspy.ts b/src/interface/scrollspy.ts index b5e6eff3..c8de2d07 100644 --- a/src/interface/scrollspy.ts +++ b/src/interface/scrollspy.ts @@ -4,6 +4,8 @@ import { BaseOptions } from "./baseComponent"; export interface ScrollSpyOptions extends BaseOptions { offset: number; target: HTMLElement | string; + threshold: number | number[]; + rootMargin: string; } export interface ScrollSpyEvent extends OriginalEvent { diff --git a/src/util/isDisabled.ts b/src/util/isDisabled.ts new file mode 100644 index 00000000..7942069c --- /dev/null +++ b/src/util/isDisabled.ts @@ -0,0 +1,13 @@ +import { getAttribute, hasClass } from "@thednp/shorty"; + +/** + * Check if interactive element is disabled. + * @param target either a `