@flexilla/alpine-dropdown 0.2.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn.js +177 -146
- package/dist/cdn.min.js +1 -1
- package/dist/module.cjs.js +177 -146
- package/dist/module.esm.js +177 -146
- package/package.json +3 -3
package/dist/cdn.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var J=Object.defineProperty,Q=(t,e,n)=>e in t?J(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,l=(t,e,n)=>Q(t,typeof e!="symbol"?e+"":e,n),V=Object.defineProperty,X=(t,e,n)=>e in t?V(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,m=(t,e,n)=>X(t,typeof e!="symbol"?e+"":e,n),Y="bottom",Z=({reference:t,popper:e})=>{if(!t||!e)throw new Error("Reference or popper element is null or undefined");let n=new WeakMap,i=r=>(n.has(r)||n.set(r,r.getBoundingClientRect()),n.get(r)),a=i(e),s=i(t);return{popperHeight:a.height,popperWidth:a.width,refHeight:s.height,refWidth:s.width,refLeft:s.left,refTop:s.top,refRight:s.right}},_=(t,e,n,i)=>{let a=n,s=i-(n+e);return a>=(t-e)/2&&s>=(t-e)/2},ee=(t,e,n,i)=>(t-e)/2<=n&&n+t/2+e/2<=i,te=(t,e,n,i,a)=>n>a-i?e()?window.innerHeight-a:n-a:t()?0:n+i,ne=(t,e,n,i)=>t<=i&&n-t<=e,ie=(t,e,n,i)=>n<=i&&-t<=e,se=(t,e,n,i,a,s)=>{let r=a-n-s,o=n-i,h=n+s-i+(a-n-s),c=r>=0?a-i:o>=0?n-i:n;return t()?0:e()?h:c},re=(t,e,n,i)=>t<=n&&e-t-i>=t,oe=(t,e)=>t>=e,ae=({placement:t,refWidth:e,refTop:n,refLeft:i,refHeight:a,popperWidth:s,popperHeight:r,windowHeight:o,windowWidth:h,offsetDistance:c})=>{let p=h-i-e,f=i,E=o-n-a,g=n,w=()=>te(()=>ie(n,a,r,o),()=>ne(n,a,r,o),n,a,r),b=()=>se(()=>re(i,h,s,e),()=>oe(i,s),i,s,h,e),I=()=>_(s,e,i,h)?i+e/2-s/2:b(),M=()=>ee(r,a,n,o)?n+a/2-r/2:w(),A=()=>i+s<=h?i:b(),k=()=>i+e-s>=0?i+e-s:b(),L=()=>n+r<=o?n:w(),q=()=>n+a-r>=0?n+a-r:w(),u=0,v=0,C=n-r-c,D=n+a+c,H=i-s-c,x=i+e+c,R=g>=r+c,N=E>=r+c,$=f>=s+c,K=p>=s+c;switch(t.startsWith("top")?v=R?C:N?D:Math.max(C,D):t.startsWith("bottom")?v=N?D:R?C:Math.max(D):t.startsWith("left")?u=$?H:K?x:Math.max(H,x):t.startsWith("right")&&(u=K?x:$?H:Math.max(x,H)),t){case"bottom":case"bottom-middle":case"top":case"top-middle":u=I();break;case"left":case"left-middle":case"right":case"right-middle":v=M();break;case"bottom-start":case"top-start":u=A();break;case"bottom-end":case"top-end":u=k();break;case"left-start":case"right-start":v=L();break;case"left-end":case"right-end":v=q();break}return{x:u,y:v}},T=class{constructor(e,n,i={}){m(this,"reference"),m(this,"popper"),m(this,"offsetDistance"),m(this,"placement"),m(this,"disableOnResize"),m(this,"disableOnScroll"),m(this,"onUpdate"),m(this,"isWindowEventsRegistered"),m(this,"validateElements",()=>{if(!(this.reference instanceof HTMLElement))throw new Error("Invalid HTMLElement for Reference Element");if(!(this.popper instanceof HTMLElement))throw new Error("Invalid HTMLElement for Popper");if(typeof this.offsetDistance!="number")throw new Error("OffsetDistance must be a number")}),m(this,"setPopperStyleProperty",(p,f)=>{this.popper.style.setProperty("--fx-popper-placement-x",`${p}px`),this.popper.style.setProperty("--fx-popper-placement-y",`${f}px`)}),m(this,"setInitialStyles",()=>{this.popper.style.setProperty("--fx-popper-placement-x",""),this.popper.style.setProperty("--fx-popper-placement-y","")}),m(this,"initPlacement",()=>{var p;this.validateElements(),this.setInitialStyles();let f=window.innerWidth,E=window.innerHeight,{popperHeight:g,popperWidth:w,refHeight:b,refWidth:I,refLeft:M,refTop:A}=Z({reference:this.reference,popper:this.popper}),{x:k,y:L}=ae({placement:this.placement,refWidth:I,refTop:A,refLeft:M,popperWidth:w,refHeight:b,popperHeight:g,windowHeight:E,windowWidth:f,offsetDistance:this.offsetDistance});this.setPopperStyleProperty(k,L),(p=this.onUpdate)==null||p.call(this,{x:k,y:L,placement:this.placement})}),m(this,"removeWindowEvents",()=>{this.isWindowEventsRegistered&&(!this.disableOnResize&&window.removeEventListener("resize",this.updatePosition),!this.disableOnScroll&&window.removeEventListener("scroll",this.updatePosition),this.isWindowEventsRegistered=!1)}),m(this,"attachWindowEvent",()=>{this.isWindowEventsRegistered&&this.removeWindowEvents(),this.disableOnResize||window.addEventListener("resize",this.updatePosition),this.disableOnScroll||window.addEventListener("scroll",this.updatePosition),this.isWindowEventsRegistered=!0}),m(this,"resetPosition",()=>{this.setInitialStyles()}),m(this,"updatePosition",()=>{this.initPlacement(),this.attachWindowEvent()}),m(this,"cleanupEvents",()=>{this.setInitialStyles(),this.removeWindowEvents()});let{offsetDistance:a=10,placement:s=Y,eventEffect:r={},onUpdate:o}=i;if(!(e instanceof HTMLElement))throw new Error("Invalid HTMLElement for Reference Element");if(!(n instanceof HTMLElement))throw new Error("Invalid HTMLElement for Popper");if(i.offsetDistance&&typeof i.offsetDistance!="number")throw new Error("OffsetDistance must be a number");let{disableOnResize:h,disableOnScroll:c}=r;this.isWindowEventsRegistered=!1,this.reference=e,this.popper=n,this.offsetDistance=a,this.placement=s,this.disableOnResize=h||!1,this.disableOnScroll=c||!1,this.onUpdate=o}setOptions({placement:e,offsetDistance:n}){this.placement=e,this.offsetDistance=n||this.offsetDistance,this.initPlacement(),this.attachWindowEvent()}},le=Object.defineProperty,he=(t,e,n)=>e in t?le(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,d=(t,e,n)=>he(t,typeof e!="symbol"?e+"":e,n),de=(t,e=document.body)=>e.querySelector(t),z=(t,e)=>{for(let[n,i]of Object.entries(e))t.setAttribute(n,i)},ce=({element:t,callback:e,type:n,keysCheck:i})=>{let a=getComputedStyle(t),s=a.transition;if(s!=="none"&&s!==""&&!i.includes(s)){let r="transitionend",o=()=>{t.removeEventListener(r,o),e()};t.addEventListener(r,o,{once:!0})}else e()},pe=({element:t,callback:e})=>{ce({element:t,callback:e,type:"transition",keysCheck:["all 0s ease 0s","all"]})},me=(t,e,n)=>{let i=new CustomEvent(e,{detail:n});t.dispatchEvent(i)},y=({state:t,trigger:e,popper:n})=>{let i=t==="open";z(n,{"data-state":t}),z(e,{"aria-expanded":`${i}`})},P=class{constructor({trigger:e,content:n,options:i={}}){d(this,"triggerElement"),d(this,"contentElement"),d(this,"triggerStrategy"),d(this,"placement"),d(this,"offsetDistance"),d(this,"preventFromCloseOutside"),d(this,"preventFromCloseInside"),d(this,"options"),d(this,"defaultState"),d(this,"popper"),d(this,"eventEffect"),d(this,"getElement",s=>typeof s=="string"?de(s):s instanceof HTMLElement?s:void 0),d(this,"handleDocumentClick",s=>{this.contentElement.getAttribute("data-state")==="open"&&(!this.triggerElement.contains(s.target)&&!this.preventFromCloseInside&&!this.preventFromCloseOutside?this.hide():!this.triggerElement.contains(s.target)&&!this.contentElement.contains(s.target)&&!this.preventFromCloseOutside?this.hide():!this.triggerElement.contains(s.target)&&!this.contentElement.contains(s.target)&&!this.preventFromCloseOutside?this.hide():!this.triggerElement.contains(s.target)&&this.contentElement.contains(s.target)&&!this.preventFromCloseInside&&this.hide())}),d(this,"handleKeyDown",s=>{s.preventDefault(),this.triggerStrategy!=="hover"&&s.key==="Escape"&&this.contentElement.getAttribute("data-state")==="open"&&(this.preventFromCloseOutside||this.hide())}),d(this,"toggleStateOnClick",()=>{(this.contentElement.dataset.state||"close")==="close"?(this.show(),this.triggerStrategy==="hover"&&this.addEventOnMouseEnter()):this.hide()}),d(this,"hideOnMouseLeaseTrigger",()=>{setTimeout(()=>{this.contentElement.matches(":hover")||this.hide()},150)}),d(this,"hideOnMouseLeave",()=>{setTimeout(()=>{this.triggerElement.matches(":hover")||this.hide()},150)}),d(this,"addEventOnMouseEnter",()=>{this.triggerElement.addEventListener("mouseleave",this.hideOnMouseLeaseTrigger),this.contentElement.addEventListener("mouseleave",this.hideOnMouseLeave)}),d(this,"showOnMouseEnter",()=>{this.show(),this.addEventOnMouseEnter()}),d(this,"setShowOptions",({placement:s,offsetDistance:r})=>{var o,h,c,p;this.popper.setOptions({placement:s,offsetDistance:r}),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("click",this.handleDocumentClick),(h=(o=this.options).beforeShow)==null||h.call(o),y({state:"open",popper:this.contentElement,trigger:this.triggerElement}),this.onToggleState(!1),(p=(c=this.options).onShow)==null||p.call(c)}),d(this,"setPopperOptions",({placement:s,offsetDistance:r})=>{this.popper.setOptions({placement:s,offsetDistance:r||this.offsetDistance})}),d(this,"setPopperTrigger",(s,r)=>{this.cleanup(),this.popper.setOptions({placement:r.placement||this.placement,offsetDistance:r.offsetDistance||this.offsetDistance}),this.triggerElement=s,this.triggerElement.addEventListener("click",this.toggleStateOnClick),this.triggerStrategy==="hover"&&this.triggerElement.addEventListener("mouseenter",this.showOnMouseEnter)}),d(this,"cleanup",()=>{this.triggerElement.removeEventListener("click",this.toggleStateOnClick),this.triggerStrategy==="hover"&&this.triggerElement.removeEventListener("mouseenter",this.showOnMouseEnter)});var a;if(this.contentElement=this.getElement(n),this.triggerElement=this.getElement(e),!(this.triggerElement instanceof HTMLElement))throw new Error("Trigger element must be a valid HTML element");if(!(this.contentElement instanceof HTMLElement))throw new Error("Content element must be a valid HTML element");this.options=i,this.triggerStrategy=this.options.triggerStrategy||"click",this.placement=this.options.placement||"bottom",this.offsetDistance=this.options.offsetDistance||6,this.preventFromCloseOutside=this.options.preventFromCloseOutside||!1,this.preventFromCloseInside=this.options.preventCloseFromInside||!1,this.defaultState=this.options.defaultState||"close",this.eventEffect=(a=this.options.popper)==null?void 0:a.eventEffect,this.popper=new T(this.triggerElement,this.contentElement,{placement:this.placement,offsetDistance:this.offsetDistance,eventEffect:this.eventEffect}),this.initInstance()}onToggleState(e){var n,i;(i=(n=this.options).onToggle)==null||i.call(n,{isHidden:e})}show(){var e,n,i,a;this.popper.updatePosition(),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("click",this.handleDocumentClick),(n=(e=this.options).beforeShow)==null||n.call(e),y({state:"open",popper:this.contentElement,trigger:this.triggerElement}),this.onToggleState(!1),(a=(i=this.options).onShow)==null||a.call(i)}hide(){var e,n,i;let a=!1;me(this.contentElement,"before-hide",{setExitAction:r=>{a=r}});let s=(i=(n=(e=this.options).beforeHide)==null?void 0:n.call(e))==null?void 0:i.cancelAction;a||s||(y({state:"close",popper:this.contentElement,trigger:this.triggerElement}),this.triggerStrategy==="click"&&document.removeEventListener("click",this.handleDocumentClick),document.removeEventListener("keydown",this.handleKeyDown),this.triggerStrategy==="hover"&&(this.triggerElement.removeEventListener("mouseleave",this.hideOnMouseLeaseTrigger),this.contentElement.removeEventListener("mouseleave",this.hideOnMouseLeave)),pe({element:this.contentElement,callback:()=>{var r,o;this.onToggleState(!0),this.popper.cleanupEvents(),(o=(r=this.options).onHide)==null||o.call(r)}}))}initInstance(){y({state:this.defaultState,popper:this.contentElement,trigger:this.triggerElement}),this.defaultState==="open"?this.show():y({state:"close",popper:this.contentElement,trigger:this.triggerElement}),this.triggerElement.addEventListener("click",this.toggleStateOnClick),this.triggerStrategy==="hover"&&this.triggerElement.addEventListener("mouseenter",this.showOnMouseEnter)}},W=(t,e=document.body)=>e.querySelector(t),O=(t,e=document.body)=>Array.from(e.querySelectorAll(t)),ge=t=>typeof t=="string"?W(t):t,fe=({containerElement:t,targetChildren:e="a:not([disabled]), button:not([disabled])",direction:n})=>{let i=!1,a=ge(t)||document.body,s=typeof e=="string"?O(e,a):e,r=o=>{if(o.preventDefault(),a.focus(),s.length===0)return;let h=o.key,c=document.activeElement,p=s.findIndex(g=>g===c);if(p===-1){h==="ArrowUp"||h==="ArrowLeft"?s[s.length-1].focus():s[0].focus();return}let f=g=>g>0?g-1:s.length-1,E=g=>g<s.length-1?g+1:0;switch(h){case"ArrowDown":o.preventDefault(),p=E(p);break;case"ArrowRight":break;case"ArrowUp":o.preventDefault(),p=f(p);break;case"ArrowLeft":break;case"Home":o.preventDefault(),p=0;break;case"End":o.preventDefault(),p=s.length-1;break;default:return}s[p]!==c&&s[p].focus()};return{make:()=>{i||(document.addEventListener("keydown",r),i=!0)},destroy:()=>{i&&(document.removeEventListener("keydown",r),i=!1)}}},U=(t,e,n)=>{let i=new CustomEvent(e,{detail:n});t.dispatchEvent(i)};function ue(t,e,n="move"){if(!(t instanceof HTMLElement))throw new Error("Source element must be an HTMLElement");if(!(e instanceof HTMLElement))throw new Error("Target element must be an HTMLElement");if(!["move","detachable"].includes(n))throw new Error(`Invalid teleport mode: ${n}. Must be "move" or "detachable".`);let i=document.createComment("teleporter-placeholder"),a=t.parentNode;return a?a.insertBefore(i,t):console.warn("Element has no parent; placeholder not inserted."),n==="move"?(t.parentNode&&e.appendChild(t),{append(){t.parentNode!==e&&e.appendChild(t)},remove(){i!=null&&i.parentNode&&t.parentNode&&i.parentNode.insertBefore(t,i)},restore(){i!=null&&i.parentNode&&t.parentNode!==a&&i.parentNode.insertBefore(t,i)}}):(t.parentNode&&e.appendChild(t),{append(){e.contains(t)||e.appendChild(t)},remove(){t.parentNode&&t.remove()},restore(){i!=null&&i.parentNode&&!t.parentNode&&i.parentNode.insertBefore(t,i)}})}var S=class{static initGlobalRegistry(){window.$flexillaInstances||(window.$flexillaInstances={})}static register(e,n,i){return this.initGlobalRegistry(),window.$flexillaInstances[e]||(window.$flexillaInstances[e]=[]),this.getInstance(e,n)||(window.$flexillaInstances[e].push({element:n,instance:i}),i)}static getInstance(e,n){var i,a;return this.initGlobalRegistry(),(a=(i=window.$flexillaInstances[e])==null?void 0:i.find(s=>s.element===n))==null?void 0:a.instance}static removeInstance(e,n){this.initGlobalRegistry(),window.$flexillaInstances[e]&&(window.$flexillaInstances[e]=window.$flexillaInstances[e].filter(i=>i.element!==n))}},ve={teleport:!0,teleportMode:"move"},F=class j{constructor(e,n={}){l(this,"triggerElement"),l(this,"contentElement"),l(this,"items",[]),l(this,"options"),l(this,"OverlayInstance"),l(this,"navigationKeys"),l(this,"keyObserver"),l(this,"subtriggerObserver"),l(this,"triggerStrategy"),l(this,"placement"),l(this,"offsetDistance"),l(this,"preventFromCloseOutside"),l(this,"preventFromCloseInside"),l(this,"defaultState"),l(this,"experimentalOptions"),l(this,"teleporter"),l(this,"updateSubtriggerAttr",(r,o)=>{o==="add"?(r.setAttribute("data-current-subtrigger",""),r.setAttribute("data-focus","active")):(r.removeAttribute("data-current-subtrigger"),r.removeAttribute("data-focus"))}),l(this,"updateObserverFor",r=>{let o=O("[data-dropdown-trigger]",this.contentElement);for(let h of o)r.observe(h,{attributes:!0,attributeFilter:["aria-expanded"]})}),l(this,"observeEl",()=>{this.keyObserver=new MutationObserver(r=>{for(let o of r)o.type==="attributes"&&o.attributeName==="aria-expanded"&&(o.target.getAttribute("aria-expanded")==="true"?this.navigationKeys.destroy():this.contentElement.dataset.state==="open"&&this.navigationKeys.make())}),this.updateObserverFor(this.keyObserver)}),l(this,"observeSubtriggers",()=>{this.subtriggerObserver=new MutationObserver(r=>{for(let o of r)if(o.type==="attributes"&&o.attributeName==="aria-expanded"){let h=o.target,c=h.getAttribute("aria-expanded");this.updateSubtriggerAttr(h,c==="true"?"add":"remove")}}),this.updateObserverFor(this.subtriggerObserver)}),l(this,"onToggle",({isHidden:r})=>{var o,h;(h=(o=this.options).onToggle)==null||h.call(o,{isHidden:r})}),l(this,"moveElOnInit",()=>{this.experimentalOptions.teleport&&(this.experimentalOptions.teleportMode==="detachable"?this.teleporter.remove():this.teleporter.append())}),l(this,"moveEl",()=>{this.experimentalOptions.teleport&&this.experimentalOptions.teleportMode==="detachable"&&this.teleporter.remove()}),l(this,"restoreEl",()=>{this.experimentalOptions.teleport&&this.experimentalOptions.teleportMode==="detachable"&&this.teleporter.append()}),l(this,"beforeShow",()=>{this.restoreEl(),this.contentElement.focus(),this.navigationKeys.make(),this.addArrowEvent()}),l(this,"beforeHide",()=>{this.contentElement.blur(),this.navigationKeys.destroy(),this.removeArrowEvent()}),l(this,"showHideOnArrow",r=>{r.preventDefault();let o=r.key,h=document.activeElement;if(h!=null&&h.hasAttribute("data-dropdown-trigger"))switch(o){case"ArrowRight":h.getAttribute("aria-expanded")!=="true"&&(h.click(),this.updateSubtriggerAttr(h,"add"));break;case"ArrowLeft":h.getAttribute("aria-expanded")==="true"&&(h.click(),this.updateSubtriggerAttr(h,"remove"));break;default:return}if(this.triggerElement.hasAttribute("data-current-subtrigger"))switch(o){case"ArrowLeft":this.triggerElement.click(),this.triggerElement.focus(),this.updateSubtriggerAttr(this.triggerElement,"remove");break;default:return}}),l(this,"addArrowEvent",()=>{document.addEventListener("keydown",this.showHideOnArrow)}),l(this,"removeArrowEvent",()=>{document.removeEventListener("keydown",this.showHideOnArrow)}),l(this,"onShow",()=>{var r,o;U(this.contentElement,"dropdown-show",{isHidden:!1}),(o=(r=this.options).onShow)==null||o.call(r),this.observeEl(),this.observeSubtriggers()}),l(this,"onHide",()=>{var r,o;U(this.contentElement,"dropdown-hide",{isHidden:!0}),(o=(r=this.options).onHide)==null||o.call(r),this.moveEl(),this.triggerElement.hasAttribute("data-current-subtrigger")&&this.updateSubtriggerAttr(this.triggerElement,"remove"),this.disconnectObserver()}),l(this,"show",()=>this.OverlayInstance.show()),l(this,"hide",()=>this.OverlayInstance.hide()),l(this,"setShowOptions",({placement:r,offsetDistance:o})=>{this.OverlayInstance.setShowOptions({placement:r,offsetDistance:o})}),l(this,"setOptions",({placement:r,offsetDistance:o})=>{this.OverlayInstance.setPopperOptions({placement:r,offsetDistance:o})}),l(this,"setPopperTrigger",(r,o)=>{this.OverlayInstance.setPopperTrigger(r,o)}),l(this,"disconnectObserver",()=>{this.keyObserver&&this.keyObserver.disconnect(),this.subtriggerObserver&&this.subtriggerObserver.disconnect()}),l(this,"cleanup",()=>{this.disconnectObserver(),this.OverlayInstance.cleanup(),S.removeInstance("dropdown",this.contentElement)});let i=typeof e=="string"?W(e):e;if(!(i instanceof HTMLElement))throw new Error("Invalid dropdown content element: Must provide either a valid HTMLElement or a selector string that resolves to an existing HTMLElement");if(!i.id)throw new Error("Dropdown content element must have an 'id' attribute for trigger association");this.contentElement=i;let a=S.getInstance("dropdown",this.contentElement);if(a)return a;let s=`[data-dropdown-trigger][data-dropdown-id=${this.contentElement.id}]`;if(this.triggerElement=W(s),!(this.triggerElement instanceof HTMLElement))throw new Error(`No valid trigger element found. Ensure a trigger element exists with attributes: data-dropdown-trigger and data-dropdown-id="${this.contentElement.id}"`);this.options=n,this.triggerStrategy=this.contentElement.dataset.triggerStrategy||this.options.triggerStrategy||"click",this.placement=this.contentElement.dataset.placement||this.options.placement||"bottom-start",this.offsetDistance=parseInt(`${this.contentElement.dataset.offsetDistance}`)||this.options.offsetDistance||6,this.preventFromCloseOutside=this.contentElement.hasAttribute("data-prevent-close-outside")||this.options.preventFromCloseOutside||!1,this.preventFromCloseInside=this.contentElement.hasAttribute("data-prevent-close-inside")||this.options.preventCloseFromInside||!1,this.defaultState=this.contentElement.dataset.defaultState||this.options.defaultState||"close",this.experimentalOptions=Object.assign({},ve,n.experimental),this.teleporter=ue(this.contentElement,document.body,this.experimentalOptions.teleportMode),this.OverlayInstance=new P({trigger:this.triggerElement,content:this.contentElement,options:{placement:this.placement,offsetDistance:this.offsetDistance,triggerStrategy:this.triggerStrategy,preventFromCloseOutside:this.preventFromCloseOutside,preventCloseFromInside:this.preventFromCloseInside,defaultState:this.defaultState,beforeShow:this.beforeShow,beforeHide:()=>{if(O("[data-dropdown-trigger][aria-expanded=true]",this.contentElement).length>=1)return{cancelAction:!0};this.beforeHide()},onShow:this.onShow,onHide:this.onHide,onToggle:({isHidden:r})=>{this.onToggle({isHidden:r})},popper:this.options.popper}}),this.moveElOnInit(),this.items=O("a:not([disabled]), button:not([disabled])",this.contentElement),this.navigationKeys=fe({containerElement:this.contentElement,targetChildren:this.items,direction:"up-down"}),S.register("dropdown",this.contentElement,this)}static init(e,n={}){new j(e,n)}};l(F,"autoInit",(t="[data-fx-dropdown]")=>{let e=O(t);for(let n of e)new F(n)});var B=F;function Ee(t){t.directive("dropdown",(e,{},{cleanup:n})=>{let i=new B(e);n(()=>{i.cleanup()})})}var G=Ee;document.addEventListener("alpine:init",()=>{G(window.Alpine)});})();
|
|
1
|
+
(()=>{var V=Object.defineProperty,X=(t,e,i)=>e in t?V(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,l=(t,e,i)=>X(t,typeof e!="symbol"?e+"":e,i),Y=Object.defineProperty,Z=(t,e,i)=>e in t?Y(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,m=(t,e,i)=>Z(t,typeof e!="symbol"?e+"":e,i),_="bottom",ee=({reference:t,popper:e})=>{if(!t||!e)throw new Error("Reference or popper element is null or undefined");let i=new WeakMap,n=r=>(i.has(r)||i.set(r,r.getBoundingClientRect()),i.get(r)),o=n(e),s=n(t);return{popperHeight:o.height,popperWidth:o.width,refHeight:s.height,refWidth:s.width,refLeft:s.left,refTop:s.top,refRight:s.right}},te=(t,e,i,n)=>{let o=i,s=n-(i+e);return o>=(t-e)/2&&s>=(t-e)/2},ie=(t,e,i,n)=>(t-e)/2<=i&&i+t/2+e/2<=n,ne=(t,e,i,n,o)=>i>o-n?e()?window.innerHeight-o:i-o:t()?0:i+n,se=(t,e,i,n)=>t<=n&&i-t<=e,re=(t,e,i,n)=>i<=n&&-t<=e,oe=(t,e,i,n,o,s)=>{let r=o-i-s,a=i-n,h=i+s-n+(o-i-s),c=r>=0?o-n:a>=0?i-n:i;return t()?0:e()?h:c},ae=(t,e,i,n)=>t<=i&&e-t-n>=t,le=(t,e)=>t>=e,he=({placement:t,refWidth:e,refTop:i,refLeft:n,refHeight:o,popperWidth:s,popperHeight:r,windowHeight:a,windowWidth:h,offsetDistance:c})=>{let p=h-n-e,f=n,w=a-i-o,g=i,b=()=>ne(()=>re(i,o,r,a),()=>se(i,o,r,a),i,o,r),y=()=>oe(()=>ae(n,h,s,e),()=>le(n,s),n,s,h,e),A=()=>te(s,e,n,h)?n+e/2-s/2:y(),I=()=>ie(r,o,i,a)?i+o/2-r/2:b(),M=()=>n+s<=h?n:y(),k=()=>n+e-s>=0?n+e-s:y(),L=()=>i+r<=a?i:b(),Q=()=>i+o-r>=0?i+o-r:b(),v=0,E=0,C=i-r-c,D=i+o+c,x=n-s-c,H=n+e+c,N=g>=r+c,$=w>=r+c,z=f>=s+c,K=p>=s+c;switch(t.startsWith("top")?E=N?C:$?D:Math.max(C,D):t.startsWith("bottom")?E=$?D:N?C:Math.max(D):t.startsWith("left")?v=z?x:K?H:Math.max(x,H):t.startsWith("right")&&(v=K?H:z?x:Math.max(H,x)),t){case"bottom":case"bottom-middle":case"top":case"top-middle":v=A();break;case"left":case"left-middle":case"right":case"right-middle":E=I();break;case"bottom-start":case"top-start":v=M();break;case"bottom-end":case"top-end":v=k();break;case"left-start":case"right-start":E=L();break;case"left-end":case"right-end":E=Q();break}return{x:v,y:E}},F=class{constructor(e,i,n={}){m(this,"reference"),m(this,"popper"),m(this,"offsetDistance"),m(this,"placement"),m(this,"disableOnResize"),m(this,"disableOnScroll"),m(this,"onUpdate"),m(this,"isWindowEventsRegistered"),m(this,"validateElements",()=>{if(!(this.reference instanceof HTMLElement))throw new Error("Invalid HTMLElement for Reference Element");if(!(this.popper instanceof HTMLElement))throw new Error("Invalid HTMLElement for Popper");if(typeof this.offsetDistance!="number")throw new Error("OffsetDistance must be a number")}),m(this,"setPopperStyleProperty",(p,f)=>{this.popper.style.setProperty("--fx-popper-placement-x",`${p}px`),this.popper.style.setProperty("--fx-popper-placement-y",`${f}px`)}),m(this,"setInitialStyles",()=>{this.popper.style.setProperty("--fx-popper-placement-x",""),this.popper.style.setProperty("--fx-popper-placement-y","")}),m(this,"initPlacement",()=>{var p;this.validateElements(),this.setInitialStyles();let f=window.innerWidth,w=window.innerHeight,{popperHeight:g,popperWidth:b,refHeight:y,refWidth:A,refLeft:I,refTop:M}=ee({reference:this.reference,popper:this.popper}),{x:k,y:L}=he({placement:this.placement,refWidth:A,refTop:M,refLeft:I,popperWidth:b,refHeight:y,popperHeight:g,windowHeight:w,windowWidth:f,offsetDistance:this.offsetDistance});this.setPopperStyleProperty(k,L),(p=this.onUpdate)==null||p.call(this,{x:k,y:L,placement:this.placement})}),m(this,"removeWindowEvents",()=>{this.isWindowEventsRegistered&&(!this.disableOnResize&&window.removeEventListener("resize",this.updatePosition),!this.disableOnScroll&&window.removeEventListener("scroll",this.updatePosition),this.isWindowEventsRegistered=!1)}),m(this,"attachWindowEvent",()=>{this.isWindowEventsRegistered&&this.removeWindowEvents(),this.disableOnResize||window.addEventListener("resize",this.updatePosition),this.disableOnScroll||window.addEventListener("scroll",this.updatePosition),this.isWindowEventsRegistered=!0}),m(this,"resetPosition",()=>{this.setInitialStyles()}),m(this,"updatePosition",()=>{this.initPlacement(),this.attachWindowEvent()}),m(this,"cleanupEvents",()=>{this.setInitialStyles(),this.removeWindowEvents()});let{offsetDistance:o=10,placement:s=_,eventEffect:r={},onUpdate:a}=n;if(!(e instanceof HTMLElement))throw new Error("Invalid HTMLElement for Reference Element");if(!(i instanceof HTMLElement))throw new Error("Invalid HTMLElement for Popper");if(n.offsetDistance&&typeof n.offsetDistance!="number")throw new Error("OffsetDistance must be a number");let{disableOnResize:h,disableOnScroll:c}=r;this.isWindowEventsRegistered=!1,this.reference=e,this.popper=i,this.offsetDistance=o,this.placement=s,this.disableOnResize=h||!1,this.disableOnScroll=c||!1,this.onUpdate=a}setOptions({placement:e,offsetDistance:i}){this.placement=e,this.offsetDistance=i||this.offsetDistance,this.initPlacement(),this.attachWindowEvent()}},de=Object.defineProperty,ce=(t,e,i)=>e in t?de(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,d=(t,e,i)=>ce(t,typeof e!="symbol"?e+"":e,i),pe=(t,e=document.body)=>e.querySelector(t),U=(t,e)=>{for(let[i,n]of Object.entries(e))t.setAttribute(i,n)},me=({element:t,callback:e,type:i,keysCheck:n})=>{let o=getComputedStyle(t),s=o.transition;if(s!=="none"&&s!==""&&!n.includes(s)){let r="transitionend",a=()=>{t.removeEventListener(r,a),e()};t.addEventListener(r,a,{once:!0})}else e()},ge=({element:t,callback:e})=>{me({element:t,callback:e,type:"transition",keysCheck:["all 0s ease 0s","all"]})},fe=(t,e,i)=>{let n=new CustomEvent(e,{detail:i});t.dispatchEvent(n)},O=({state:t,trigger:e,popper:i})=>{let n=t==="open";U(i,{"data-state":t}),U(e,{"aria-expanded":`${n}`})},P=class{constructor({trigger:e,content:i,options:n={}}){d(this,"triggerElement"),d(this,"contentElement"),d(this,"triggerStrategy"),d(this,"placement"),d(this,"offsetDistance"),d(this,"preventFromCloseOutside"),d(this,"preventFromCloseInside"),d(this,"options"),d(this,"defaultState"),d(this,"popper"),d(this,"eventEffect"),d(this,"getElement",s=>typeof s=="string"?pe(s):s instanceof HTMLElement?s:void 0),d(this,"handleDocumentClick",s=>{this.contentElement.getAttribute("data-state")==="open"&&(!this.triggerElement.contains(s.target)&&!this.preventFromCloseInside&&!this.preventFromCloseOutside?this.hide():!this.triggerElement.contains(s.target)&&!this.contentElement.contains(s.target)&&!this.preventFromCloseOutside?this.hide():!this.triggerElement.contains(s.target)&&!this.contentElement.contains(s.target)&&!this.preventFromCloseOutside?this.hide():!this.triggerElement.contains(s.target)&&this.contentElement.contains(s.target)&&!this.preventFromCloseInside&&this.hide())}),d(this,"handleKeyDown",s=>{s.preventDefault(),this.triggerStrategy!=="hover"&&s.key==="Escape"&&this.contentElement.getAttribute("data-state")==="open"&&(this.preventFromCloseOutside||this.hide())}),d(this,"toggleStateOnClick",()=>{(this.contentElement.dataset.state||"close")==="close"?(this.show(),this.triggerStrategy==="hover"&&this.addEventOnMouseEnter()):this.hide()}),d(this,"hideOnMouseLeaseTrigger",()=>{setTimeout(()=>{this.contentElement.matches(":hover")||this.hide()},150)}),d(this,"hideOnMouseLeave",()=>{setTimeout(()=>{this.triggerElement.matches(":hover")||this.hide()},150)}),d(this,"addEventOnMouseEnter",()=>{this.triggerElement.addEventListener("mouseleave",this.hideOnMouseLeaseTrigger),this.contentElement.addEventListener("mouseleave",this.hideOnMouseLeave)}),d(this,"showOnMouseEnter",()=>{this.show(),this.addEventOnMouseEnter()}),d(this,"setShowOptions",({placement:s,offsetDistance:r})=>{var a,h,c,p;this.popper.setOptions({placement:s,offsetDistance:r}),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("click",this.handleDocumentClick),(h=(a=this.options).beforeShow)==null||h.call(a),O({state:"open",popper:this.contentElement,trigger:this.triggerElement}),this.onToggleState(!1),(p=(c=this.options).onShow)==null||p.call(c)}),d(this,"setPopperOptions",({placement:s,offsetDistance:r})=>{this.popper.setOptions({placement:s,offsetDistance:r||this.offsetDistance})}),d(this,"setPopperTrigger",(s,r)=>{this.cleanup(),this.popper.setOptions({placement:r.placement||this.placement,offsetDistance:r.offsetDistance||this.offsetDistance}),this.triggerElement=s,this.triggerElement.addEventListener("click",this.toggleStateOnClick),this.triggerStrategy==="hover"&&this.triggerElement.addEventListener("mouseenter",this.showOnMouseEnter)}),d(this,"cleanup",()=>{this.triggerElement.removeEventListener("click",this.toggleStateOnClick),this.triggerStrategy==="hover"&&this.triggerElement.removeEventListener("mouseenter",this.showOnMouseEnter)});var o;if(this.contentElement=this.getElement(i),this.triggerElement=this.getElement(e),!(this.triggerElement instanceof HTMLElement))throw new Error("Trigger element must be a valid HTML element");if(!(this.contentElement instanceof HTMLElement))throw new Error("Content element must be a valid HTML element");this.options=n,this.triggerStrategy=this.options.triggerStrategy||"click",this.placement=this.options.placement||"bottom",this.offsetDistance=this.options.offsetDistance||6,this.preventFromCloseOutside=this.options.preventFromCloseOutside||!1,this.preventFromCloseInside=this.options.preventCloseFromInside||!1,this.defaultState=this.options.defaultState||"close",this.eventEffect=(o=this.options.popper)==null?void 0:o.eventEffect,this.popper=new F(this.triggerElement,this.contentElement,{placement:this.placement,offsetDistance:this.offsetDistance,eventEffect:this.eventEffect}),this.initInstance()}onToggleState(e){var i,n;(n=(i=this.options).onToggle)==null||n.call(i,{isHidden:e})}show(){var e,i,n,o;this.popper.updatePosition(),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("click",this.handleDocumentClick),(i=(e=this.options).beforeShow)==null||i.call(e),O({state:"open",popper:this.contentElement,trigger:this.triggerElement}),this.onToggleState(!1),(o=(n=this.options).onShow)==null||o.call(n)}hide(){var e,i,n;let o=!1;fe(this.contentElement,"before-hide",{setExitAction:r=>{o=r}});let s=(n=(i=(e=this.options).beforeHide)==null?void 0:i.call(e))==null?void 0:n.cancelAction;o||s||(O({state:"close",popper:this.contentElement,trigger:this.triggerElement}),this.triggerStrategy==="click"&&document.removeEventListener("click",this.handleDocumentClick),document.removeEventListener("keydown",this.handleKeyDown),this.triggerStrategy==="hover"&&(this.triggerElement.removeEventListener("mouseleave",this.hideOnMouseLeaseTrigger),this.contentElement.removeEventListener("mouseleave",this.hideOnMouseLeave)),ge({element:this.contentElement,callback:()=>{var r,a;this.onToggleState(!0),this.popper.cleanupEvents(),(a=(r=this.options).onHide)==null||a.call(r)}}))}initInstance(){O({state:this.defaultState,popper:this.contentElement,trigger:this.triggerElement}),this.defaultState==="open"?this.show():O({state:"close",popper:this.contentElement,trigger:this.triggerElement}),this.triggerElement.addEventListener("click",this.toggleStateOnClick),this.triggerStrategy==="hover"&&this.triggerElement.addEventListener("mouseenter",this.showOnMouseEnter)}},W=(t,e=document.body)=>e.querySelector(t),S=(t,e=document.body)=>Array.from(e.querySelectorAll(t)),ue=t=>typeof t=="string"?W(t):t,ve=({containerElement:t,targetChildren:e="a:not([disabled]), button:not([disabled])",direction:i})=>{let n=!1,o=ue(t)||document.body,s=typeof e=="string"?S(e,o):e,r=a=>{if(a.preventDefault(),o.focus(),s.length===0)return;let h=a.key,c=document.activeElement,p=s.findIndex(g=>g===c);if(p===-1){h==="ArrowUp"||h==="ArrowLeft"?s[s.length-1].focus():s[0].focus();return}let f=g=>g>0?g-1:s.length-1,w=g=>g<s.length-1?g+1:0;switch(h){case"ArrowDown":a.preventDefault(),p=w(p);break;case"ArrowRight":break;case"ArrowUp":a.preventDefault(),p=f(p);break;case"ArrowLeft":break;case"Home":a.preventDefault(),p=0;break;case"End":a.preventDefault(),p=s.length-1;break;default:return}s[p]!==c&&s[p].focus()};return{make:()=>{n||(document.addEventListener("keydown",r),n=!0)},destroy:()=>{n&&(document.removeEventListener("keydown",r),n=!1)}}},j=(t,e,i)=>{let n=new CustomEvent(e,{detail:i});t.dispatchEvent(n)};function Ee(t){let e=()=>{document.querySelector("[data-fx-component]:not([data-component-initialized])")?requestAnimationFrame(e):t()};e()}var q="data-fx-teleport-root",T="data-fx-teleported",we={append:()=>{},remove:()=>{},restore:()=>{}};function be(t,e,i="move"){var n;if(!(t instanceof HTMLElement))throw new Error("Source element must be an HTMLElement");if(!(e instanceof HTMLElement))throw new Error("Target element must be an HTMLElement");if(!["move","detachable"].includes(i))throw new Error(`Invalid teleport mode: ${i}. Must be "move" or "detachable".`);if((n=t.parentElement)!=null&&n.closest(`[${q}]`))return we;t.setAttribute(q,"");let o=document.createComment("teleporter-placeholder"),s=t.parentNode;return s&&s.insertBefore(o,t),i==="move"?(t.parentNode&&(e.appendChild(t),t.setAttribute(T,"")),{append(){t.parentNode!==e&&(e.appendChild(t),t.setAttribute(T,""))},remove(){o!=null&&o.parentNode&&t.parentNode&&o.parentNode.insertBefore(t,o)},restore(){o!=null&&o.parentNode&&t.parentNode!==s&&o.parentNode.insertBefore(t,o)}}):(t.parentNode&&(e.appendChild(t),t.setAttribute(T,"")),{append(){e.contains(t)||e.appendChild(t)},remove(){t.parentNode&&t.remove()},restore(){o!=null&&o.parentNode&&!t.parentNode&&o.parentNode.insertBefore(t,o)}})}var u=class{static initGlobalRegistry(){window.$flexillaInstances||(window.$flexillaInstances={})}static register(e,i,n){return this.initGlobalRegistry(),window.$flexillaInstances[e]||(window.$flexillaInstances[e]=[]),this.getInstance(e,i)||(window.$flexillaInstances[e].push({element:i,instance:n}),n)}static getInstance(e,i){var n,o;return this.initGlobalRegistry(),(o=(n=window.$flexillaInstances[e])==null?void 0:n.find(s=>s.element===i))==null?void 0:o.instance}static removeInstance(e,i){this.initGlobalRegistry(),window.$flexillaInstances[e]&&(window.$flexillaInstances[e]=window.$flexillaInstances[e].filter(n=>n.element!==i))}static setup(e){e.setAttribute("data-fx-component","fx")}static initialized(e){e.setAttribute("data-component-initialized","initialized")}},ye={teleport:!0,teleportMode:"move"},R=class B{constructor(e,i={}){l(this,"triggerElement"),l(this,"contentElement"),l(this,"items",[]),l(this,"options"),l(this,"OverlayInstance"),l(this,"navigationKeys"),l(this,"keyObserver"),l(this,"subtriggerObserver"),l(this,"triggerStrategy"),l(this,"placement"),l(this,"offsetDistance"),l(this,"preventFromCloseOutside"),l(this,"preventFromCloseInside"),l(this,"defaultState"),l(this,"experimentalOptions"),l(this,"teleporter"),l(this,"updateSubtriggerAttr",(r,a)=>{a==="add"?(r.setAttribute("data-current-subtrigger",""),r.setAttribute("data-focus","active")):(r.removeAttribute("data-current-subtrigger"),r.removeAttribute("data-focus"))}),l(this,"updateObserverFor",r=>{let a=S("[data-dropdown-trigger]",this.contentElement);for(let h of a)r.observe(h,{attributes:!0,attributeFilter:["aria-expanded"]})}),l(this,"observeEl",()=>{this.keyObserver=new MutationObserver(r=>{for(let a of r)a.type==="attributes"&&a.attributeName==="aria-expanded"&&(a.target.getAttribute("aria-expanded")==="true"?this.navigationKeys.destroy():this.contentElement.dataset.state==="open"&&this.navigationKeys.make())}),this.updateObserverFor(this.keyObserver)}),l(this,"observeSubtriggers",()=>{this.subtriggerObserver=new MutationObserver(r=>{for(let a of r)if(a.type==="attributes"&&a.attributeName==="aria-expanded"){let h=a.target,c=h.getAttribute("aria-expanded");this.updateSubtriggerAttr(h,c==="true"?"add":"remove")}}),this.updateObserverFor(this.subtriggerObserver)}),l(this,"onToggle",({isHidden:r})=>{var a,h;(h=(a=this.options).onToggle)==null||h.call(a,{isHidden:r})}),l(this,"moveElOnInit",()=>{this.experimentalOptions.teleport&&Ee(()=>{this.experimentalOptions.teleportMode==="detachable"?this.teleporter.remove():this.teleporter.append()})}),l(this,"moveEl",()=>{this.experimentalOptions.teleport&&this.experimentalOptions.teleportMode==="detachable"&&this.teleporter.remove()}),l(this,"restoreEl",()=>{this.experimentalOptions.teleport&&this.experimentalOptions.teleportMode==="detachable"&&this.teleporter.append()}),l(this,"beforeShow",()=>{this.restoreEl(),this.contentElement.focus(),this.navigationKeys.make(),this.addArrowEvent()}),l(this,"beforeHide",()=>{this.contentElement.blur(),this.navigationKeys.destroy(),this.removeArrowEvent()}),l(this,"showHideOnArrow",r=>{r.preventDefault();let a=r.key,h=document.activeElement;if(h!=null&&h.hasAttribute("data-dropdown-trigger"))switch(a){case"ArrowRight":h.getAttribute("aria-expanded")!=="true"&&(h.click(),this.updateSubtriggerAttr(h,"add"));break;case"ArrowLeft":h.getAttribute("aria-expanded")==="true"&&(h.click(),this.updateSubtriggerAttr(h,"remove"));break;default:return}if(this.triggerElement.hasAttribute("data-current-subtrigger"))switch(a){case"ArrowLeft":this.triggerElement.click(),this.triggerElement.focus(),this.updateSubtriggerAttr(this.triggerElement,"remove");break;default:return}}),l(this,"addArrowEvent",()=>{document.addEventListener("keydown",this.showHideOnArrow)}),l(this,"removeArrowEvent",()=>{document.removeEventListener("keydown",this.showHideOnArrow)}),l(this,"onShow",()=>{var r,a;j(this.contentElement,"dropdown-show",{isHidden:!1}),(a=(r=this.options).onShow)==null||a.call(r),this.observeEl(),this.observeSubtriggers()}),l(this,"onHide",()=>{var r,a;j(this.contentElement,"dropdown-hide",{isHidden:!0}),(a=(r=this.options).onHide)==null||a.call(r),this.moveEl(),this.triggerElement.hasAttribute("data-current-subtrigger")&&this.updateSubtriggerAttr(this.triggerElement,"remove"),this.disconnectObserver()}),l(this,"show",()=>this.OverlayInstance.show()),l(this,"hide",()=>this.OverlayInstance.hide()),l(this,"setShowOptions",({placement:r,offsetDistance:a})=>{this.OverlayInstance.setShowOptions({placement:r,offsetDistance:a})}),l(this,"setOptions",({placement:r,offsetDistance:a})=>{this.OverlayInstance.setPopperOptions({placement:r,offsetDistance:a})}),l(this,"setPopperTrigger",(r,a)=>{this.OverlayInstance.setPopperTrigger(r,a)}),l(this,"disconnectObserver",()=>{this.keyObserver&&this.keyObserver.disconnect(),this.subtriggerObserver&&this.subtriggerObserver.disconnect()}),l(this,"cleanup",()=>{this.disconnectObserver(),this.OverlayInstance.cleanup(),u.removeInstance("dropdown",this.contentElement)});let n=typeof e=="string"?W(e):e;if(!(n instanceof HTMLElement))throw new Error("Invalid dropdown content element: Must provide either a valid HTMLElement or a selector string that resolves to an existing HTMLElement");if(!n.id)throw new Error("Dropdown content element must have an 'id' attribute for trigger association");this.contentElement=n;let o=u.getInstance("dropdown",this.contentElement);if(o)return o;u.setup(this.contentElement);let s=`[data-dropdown-trigger][data-dropdown-id=${this.contentElement.id}]`;if(this.triggerElement=W(s),!(this.triggerElement instanceof HTMLElement))throw new Error(`No valid trigger element found. Ensure a trigger element exists with attributes: data-dropdown-trigger and data-dropdown-id="${this.contentElement.id}"`);this.options=i,this.triggerStrategy=this.contentElement.dataset.triggerStrategy||this.options.triggerStrategy||"click",this.placement=this.contentElement.dataset.placement||this.options.placement||"bottom-start",this.offsetDistance=parseInt(`${this.contentElement.dataset.offsetDistance}`)||this.options.offsetDistance||6,this.preventFromCloseOutside=this.contentElement.hasAttribute("data-prevent-close-outside")||this.options.preventFromCloseOutside||!1,this.preventFromCloseInside=this.contentElement.hasAttribute("data-prevent-close-inside")||this.options.preventCloseFromInside||!1,this.defaultState=this.contentElement.dataset.defaultState||this.options.defaultState||"close",this.experimentalOptions=Object.assign({},ye,i.experimental),this.teleporter=be(this.contentElement,document.body,this.experimentalOptions.teleportMode),this.OverlayInstance=new P({trigger:this.triggerElement,content:this.contentElement,options:{placement:this.placement,offsetDistance:this.offsetDistance,triggerStrategy:this.triggerStrategy,preventFromCloseOutside:this.preventFromCloseOutside,preventCloseFromInside:this.preventFromCloseInside,defaultState:this.defaultState,beforeShow:this.beforeShow,beforeHide:()=>{if(S("[data-dropdown-trigger][aria-expanded=true]",this.contentElement).length>=1)return{cancelAction:!0};this.beforeHide()},onShow:this.onShow,onHide:this.onHide,onToggle:({isHidden:r})=>{this.onToggle({isHidden:r})},popper:this.options.popper}}),this.moveElOnInit(),this.items=S("a:not([disabled]), button:not([disabled])",this.contentElement),this.navigationKeys=ve({containerElement:this.contentElement,targetChildren:this.items,direction:"up-down"}),u.register("dropdown",this.contentElement,this),u.initialized(this.contentElement)}static init(e,i={}){new B(e,i)}};l(R,"autoInit",(t="[data-fx-dropdown]")=>{let e=S(t);for(let i of e)new R(i)});var G=R;function Oe(t){t.directive("dropdown",(e,{},{cleanup:i})=>{let n=new G(e);i(()=>{n.cleanup()})})}var J=Oe;document.addEventListener("alpine:init",()=>{J(window.Alpine)});})();
|