import{P as O,c as P}from"./popper.min.js?5.3.8";import{b as u,E as r,d as S,B as L,S as i,f as E,n as g,M as T,h as A,c as D,j as M,i as R,g as v}from"./dom.min.js?5.3.8";const N="dropdown",I="bs.dropdown",p=`.${I}`,h=".data-api",B="Escape",y="Tab",H="ArrowUp",b="ArrowDown",$=2,V=`hide${p}`,K=`hidden${p}`,k=`show${p}`,x=`shown${p}`,C=`click${p}${h}`,w=`keydown${p}${h}`,j=`keyup${p}${h}`,_="show",U="dropup",W="dropend",Y="dropstart",G="dropup-center",J="dropdown-center",d='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',q=`${d}.${_}`,f=".dropdown-menu",Q=".navbar",F=".navbar-nav",z=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",X=u()?"top-end":"top-start",Z=u()?"top-start":"top-end",ee=u()?"bottom-end":"bottom-start",te=u()?"bottom-start":"bottom-end",ne=u()?"left-start":"right-start",oe=u()?"right-start":"left-start",se="top",re="bottom",ie={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},ae={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class s extends L{constructor(e,t){super(e,t),this._popper=null,this._parent=this._element.parentNode,this._menu=i.next(this._element,f)[0]||i.prev(this._element,f)[0]||i.findOne(f,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return ie}static get DefaultType(){return ae}static get NAME(){return N}toggle(){return this._isShown()?this.hide():this.show()}show(){if(E(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!r.trigger(this._element,k,e).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(F))for(const o of[].concat(...document.body.children))r.on(o,"mouseover",g);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(_),this._element.classList.add(_),r.trigger(this._element,x,e)}}hide(){if(E(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(e){if(!r.trigger(this._element,V,e).defaultPrevented){if("ontouchstart"in document.documentElement)for(const o of[].concat(...document.body.children))r.off(o,"mouseover",g);this._popper&&this._popper.destroy(),this._menu.classList.remove(_),this._element.classList.remove(_),this._element.setAttribute("aria-expanded","false"),T.removeDataAttribute(this._menu,"popper"),r.trigger(this._element,K,e)}}_getConfig(e){if(e=super._getConfig(e),typeof e.reference=="object"&&!A(e.reference)&&typeof e.reference.getBoundingClientRect!="function")throw new TypeError(`${N.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createPopper(){if(typeof O>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)");let e=this._element;this._config.reference==="parent"?e=this._parent:A(this._config.reference)?e=D(this._config.reference):typeof this._config.reference=="object"&&(e=this._config.reference);const t=this._getPopperConfig();this._popper=P(e,this._menu,t)}_isShown(){return this._menu.classList.contains(_)}_getPlacement(){const e=this._parent;if(e.classList.contains(W))return ne;if(e.classList.contains(Y))return oe;if(e.classList.contains(G))return se;if(e.classList.contains(J))return re;const t=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return e.classList.contains(U)?t?Z:X:t?te:ee}_detectNavbar(){return this._element.closest(Q)!==null}_getOffset(){const{offset:e}=this._config;return typeof e=="string"?e.split(",").map(t=>Number.parseInt(t,10)):typeof e=="function"?t=>e(t,this._element):e}_getPopperConfig(){const e={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(T.setDataAttribute(this._menu,"popper","static"),e.modifiers=[{name:"applyStyles",enabled:!1}]),{...e,...M(this._config.popperConfig,[void 0,e])}}_selectMenuItem({key:e,target:t}){const o=i.find(z,this._menu).filter(n=>R(n));o.length&&v(o,t,e===b,!o.includes(t)).focus()}static jQueryInterface(e){return this.each(function(){const t=s.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e]()}})}static clearMenus(e){if(e.button===$||e.type==="keyup"&&e.key!==y)return;const t=i.find(q);for(const o of t){const n=s.getInstance(o);if(!n||n._config.autoClose===!1)continue;const a=e.composedPath(),c=a.includes(n._menu);if(a.includes(n._element)||n._config.autoClose==="inside"&&!c||n._config.autoClose==="outside"&&c||n._menu.contains(e.target)&&(e.type==="keyup"&&e.key===y||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const m={relatedTarget:n._element};e.type==="click"&&(m.clickEvent=e),n._completeHide(m)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),o=e.key===B,n=[H,b].includes(e.key);if(!n&&!o||t&&!o)return;e.preventDefault();const a=this.matches(d)?this:i.prev(this,d)[0]||i.next(this,d)[0]||i.findOne(d,e.delegateTarget.parentNode),c=s.getOrCreateInstance(a);if(n){e.stopPropagation(),c.show(),c._selectMenuItem(e);return}c._isShown()&&(e.stopPropagation(),c.hide(),a.focus())}}if(r.on(document,w,d,s.dataApiKeydownHandler),r.on(document,w,f,s.dataApiKeydownHandler),r.on(document,C,s.clearMenus),r.on(document,j,s.clearMenus),r.on(document,C,d,function(l){l.preventDefault(),s.getOrCreateInstance(this).toggle()}),S(s),window.bootstrap=window.bootstrap||{},window.bootstrap.Dropdown=s,Joomla&&Joomla.getOptions){const l=Joomla.getOptions("bootstrap.dropdown");typeof l=="object"&&l!==null&&Object.keys(l).forEach(e=>{const t=l[e],o={interval:t.interval?t.interval:5e3,pause:t.pause?t.pause:"hover"},n=Array.from(document.querySelectorAll(e));n.length&&n.map(a=>new window.bootstrap.Dropdown(a,o))})}export{s as D};