@flexilla/alpine-dropdown 0.0.1 → 0.0.2

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 CHANGED
@@ -2,10 +2,10 @@
2
2
  // ../../node_modules/@flexilla/dropdown/dist/dropdown.js
3
3
  var j = Object.defineProperty;
4
4
  var q = (s, e, t) => e in s ? j(s, e, { enumerable: true, configurable: true, writable: true, value: t }) : s[e] = t;
5
- var l = (s, e, t) => q(s, typeof e != "symbol" ? e + "" : e, t);
5
+ var a = (s, e, t) => q(s, typeof e != "symbol" ? e + "" : e, t);
6
6
  var B = Object.defineProperty;
7
7
  var N = (s, e, t) => e in s ? B(s, e, { enumerable: true, configurable: true, writable: true, value: t }) : s[e] = t;
8
- var h = (s, e, t) => N(s, typeof e != "symbol" ? e + "" : e, t);
8
+ var l = (s, e, t) => N(s, typeof e != "symbol" ? e + "" : e, t);
9
9
  var J = "bottom";
10
10
  var Q = ({ reference: s, popper: e }) => {
11
11
  if (!s || !e)
@@ -33,8 +33,8 @@
33
33
  var ee = (s, e, t, n) => s <= n && t - s <= e;
34
34
  var te = (s, e, t, n) => t <= n && -s <= e;
35
35
  var ne = (s, e, t, n, o, i) => {
36
- const r = o - t - i, a = t - n, m = t + i - n + (o - t - i), d = r >= 0 ? o - n : a >= 0 ? t - n : t;
37
- return s() ? 0 : e() ? m : d;
36
+ const r = o - t - i, h = t - n, g = t + i - n + (o - t - i), d = r >= 0 ? o - n : h >= 0 ? t - n : t;
37
+ return s() ? 0 : e() ? g : d;
38
38
  };
39
39
  var se = (s, e, t, n) => s <= t && e - s - n >= s;
40
40
  var ie = (s, e) => s >= e;
@@ -46,27 +46,27 @@
46
46
  refHeight: o,
47
47
  popperWidth: i,
48
48
  popperHeight: r,
49
- windowHeight: a,
50
- windowWidth: m,
49
+ windowHeight: h,
50
+ windowWidth: g,
51
51
  offsetDistance: d
52
52
  }) => {
53
- const c = m - n - e, f = n, v = a - t - o, g = t, w = () => _(
54
- () => te(t, o, r, a),
55
- () => ee(t, o, r, a),
53
+ const c = g - n - e, f = n, v = h - t - o, m = t, w = () => _(
54
+ () => te(t, o, r, h),
55
+ () => ee(t, o, r, h),
56
56
  t,
57
57
  o,
58
58
  r
59
59
  ), y = () => ne(
60
- () => se(n, m, i, e),
60
+ () => se(n, g, i, e),
61
61
  () => ie(n, i),
62
62
  n,
63
63
  i,
64
- m,
64
+ g,
65
65
  e
66
- ), H = () => Y(i, e, n, m) ? n + e / 2 - i / 2 : y(), C = () => Z(r, o, t, a) ? t + o / 2 - r / 2 : w(), T = () => n + i <= m ? n : y(), O = () => n + e - i >= 0 ? n + e - i : y(), L = () => t + r <= a ? t : w(), G = () => t + o - r >= 0 ? t + o - r : w();
66
+ ), H = () => Y(i, e, n, g) ? n + e / 2 - i / 2 : y(), T = () => Z(r, o, t, h) ? t + o / 2 - r / 2 : w(), C = () => n + i <= g ? n : y(), O = () => n + e - i >= 0 ? n + e - i : y(), L = () => t + r <= h ? t : w(), G = () => t + o - r >= 0 ? t + o - r : w();
67
67
  let u = 0, E = 0;
68
- const M = t - r - d, k = t + o + d, I = n - i - d, D = n + e + d, P = g >= r + d, F = v >= r + d, R = f >= i + d, $ = c >= i + d;
69
- switch (s.startsWith("top") ? E = P ? M : F ? k : Math.max(M, k) : s.startsWith("bottom") ? E = F ? k : P ? M : Math.max(k) : s.startsWith("left") ? u = R ? I : $ ? D : Math.max(I, D) : s.startsWith("right") && (u = $ ? D : R ? I : Math.max(D, I)), s) {
68
+ const M = t - r - d, k = t + o + d, D = n - i - d, I = n + e + d, P = m >= r + d, F = v >= r + d, R = f >= i + d, $ = c >= i + d;
69
+ switch (s.startsWith("top") ? E = P ? M : F ? k : Math.max(M, k) : s.startsWith("bottom") ? E = F ? k : P ? M : Math.max(k) : s.startsWith("left") ? u = R ? D : $ ? I : Math.max(D, I) : s.startsWith("right") && (u = $ ? I : R ? D : Math.max(I, D)), s) {
70
70
  case "bottom":
71
71
  case "bottom-middle":
72
72
  case "top":
@@ -77,11 +77,11 @@
77
77
  case "left-middle":
78
78
  case "right":
79
79
  case "right-middle":
80
- E = C();
80
+ E = T();
81
81
  break;
82
82
  case "bottom-start":
83
83
  case "top-start":
84
- u = T();
84
+ u = C();
85
85
  break;
86
86
  case "bottom-end":
87
87
  case "top-end":
@@ -132,15 +132,15 @@
132
132
  }), p(this, "initPlacement", () => {
133
133
  var c;
134
134
  this.validateElements(), this.setInitialStyles();
135
- const f = window.innerWidth, v = window.innerHeight, { popperHeight: g, popperWidth: w, refHeight: y, refWidth: H, refLeft: C, refTop: T } = Q({ reference: this.reference, popper: this.popper }), { x: O, y: L } = oe(
135
+ const f = window.innerWidth, v = window.innerHeight, { popperHeight: m, popperWidth: w, refHeight: y, refWidth: H, refLeft: T, refTop: C } = Q({ reference: this.reference, popper: this.popper }), { x: O, y: L } = oe(
136
136
  {
137
137
  placement: this.placement,
138
138
  refWidth: H,
139
- refTop: T,
140
- refLeft: C,
139
+ refTop: C,
140
+ refLeft: T,
141
141
  popperWidth: w,
142
142
  refHeight: y,
143
- popperHeight: g,
143
+ popperHeight: m,
144
144
  windowHeight: v,
145
145
  windowWidth: f,
146
146
  offsetDistance: this.offsetDistance
@@ -162,7 +162,7 @@
162
162
  offsetDistance: o = 10,
163
163
  placement: i = J,
164
164
  eventEffect: r = {},
165
- onUpdate: a
165
+ onUpdate: h
166
166
  } = n;
167
167
  if (!(e instanceof HTMLElement))
168
168
  throw new Error("Invalid HTMLElement for Reference Element");
@@ -170,8 +170,8 @@
170
170
  throw new Error("Invalid HTMLElement for Popper");
171
171
  if (n.offsetDistance && typeof n.offsetDistance != "number")
172
172
  throw new Error("OffsetDistance must be a number");
173
- const { disableOnResize: m, disableOnScroll: d } = r;
174
- this.isWindowEventsRegistered = false, this.reference = e, this.popper = t, this.offsetDistance = o, this.placement = i, this.disableOnResize = m || false, this.disableOnScroll = d || false, this.onUpdate = a;
173
+ const { disableOnResize: g, disableOnScroll: d } = r;
174
+ this.isWindowEventsRegistered = false, this.reference = e, this.popper = t, this.offsetDistance = o, this.placement = i, this.disableOnResize = g || false, this.disableOnScroll = d || false, this.onUpdate = h;
175
175
  }
176
176
  /**
177
177
  * Updates popper configuration and recalculates position
@@ -197,10 +197,10 @@
197
197
  }) => {
198
198
  const o = getComputedStyle(s), i = o.transition;
199
199
  if (i !== "none" && i !== "" && !n.includes(i)) {
200
- const r = "transitionend", a = () => {
201
- s.removeEventListener(r, a), e();
200
+ const r = "transitionend", h = () => {
201
+ s.removeEventListener(r, h), e();
202
202
  };
203
- s.addEventListener(r, a, { once: true });
203
+ s.addEventListener(r, h, { once: true });
204
204
  } else
205
205
  e();
206
206
  };
@@ -216,10 +216,11 @@
216
216
  });
217
217
  };
218
218
  var b = ({ state: s, trigger: e, popper: t }) => {
219
+ const n = s === "open";
219
220
  A(t, {
220
221
  "data-state": s
221
222
  }), A(e, {
222
- "aria-expanded": `${s}`
223
+ "aria-expanded": `${n}`
223
224
  });
224
225
  };
225
226
  var ce = class {
@@ -229,43 +230,47 @@
229
230
  * @param {string | HTMLElement} params.trigger - The trigger element selector or HTMLElement
230
231
  * @param {string | HTMLElement} params.content - The content element selector or HTMLElement
231
232
  * @param {OverlayOptions} [params.options] - Configuration options for the overlay
232
- * @throws {Error} When trigger or content elements are invalid
233
233
  */
234
234
  constructor({ trigger: e, content: t, options: n = {} }) {
235
- h(this, "triggerElement"), h(this, "contentElement"), h(this, "triggerStrategy"), h(this, "placement"), h(this, "offsetDistance"), h(this, "preventFromCloseOutside"), h(this, "preventFromCloseInside"), h(this, "options"), h(this, "defaultState"), h(this, "popper"), h(this, "eventEffect"), h(this, "getElement", (i) => typeof i == "string" ? ae(i) : i instanceof HTMLElement ? i : void 0), h(this, "handleDocumentClick", (i) => {
235
+ l(this, "triggerElement"), l(this, "contentElement"), l(this, "triggerStrategy"), l(this, "placement"), l(this, "offsetDistance"), l(this, "preventFromCloseOutside"), l(this, "preventFromCloseInside"), l(this, "options"), l(this, "defaultState"), l(this, "popper"), l(this, "eventEffect"), l(this, "getElement", (i) => typeof i == "string" ? ae(i) : i instanceof HTMLElement ? i : void 0), l(this, "handleDocumentClick", (i) => {
236
236
  this.contentElement.getAttribute("data-state") === "open" && (!this.triggerElement.contains(i.target) && !this.preventFromCloseInside && !this.preventFromCloseOutside ? this.hide() : !this.triggerElement.contains(i.target) && !this.contentElement.contains(i.target) && !this.preventFromCloseOutside ? this.hide() : !this.triggerElement.contains(i.target) && !this.contentElement.contains(i.target) && !this.preventFromCloseOutside ? this.hide() : !this.triggerElement.contains(i.target) && this.contentElement.contains(i.target) && !this.preventFromCloseInside && this.hide());
237
- }), h(this, "handleKeyDown", (i) => {
237
+ }), l(this, "handleKeyDown", (i) => {
238
238
  i.preventDefault(), this.triggerStrategy !== "hover" && i.key === "Escape" && this.contentElement.getAttribute("data-state") === "open" && (this.preventFromCloseOutside || this.hide());
239
- }), h(this, "toggleStateOnClick", () => {
239
+ }), l(this, "toggleStateOnClick", () => {
240
240
  (this.contentElement.dataset.state || "close") === "close" ? (this.show(), this.triggerStrategy === "hover" && this.addEventOnMouseEnter()) : this.hide();
241
- }), h(this, "hideOnMouseLeaseTrigger", () => {
241
+ }), l(this, "hideOnMouseLeaseTrigger", () => {
242
242
  setTimeout(() => {
243
243
  this.contentElement.matches(":hover") || this.hide();
244
244
  }, 150);
245
- }), h(this, "hideOnMouseLeave", () => {
245
+ }), l(this, "hideOnMouseLeave", () => {
246
246
  setTimeout(() => {
247
247
  this.triggerElement.matches(":hover") || this.hide();
248
248
  }, 150);
249
- }), h(this, "addEventOnMouseEnter", () => {
249
+ }), l(this, "addEventOnMouseEnter", () => {
250
250
  this.triggerElement.addEventListener("mouseleave", this.hideOnMouseLeaseTrigger), this.contentElement.addEventListener("mouseleave", this.hideOnMouseLeave);
251
- }), h(this, "showOnMouseEnter", () => {
251
+ }), l(this, "showOnMouseEnter", () => {
252
252
  this.show(), this.addEventOnMouseEnter();
253
- }), h(this, "setShowOptions", ({ placement: i, offsetDistance: r }) => {
254
- var a, m, d, c;
253
+ }), l(this, "setShowOptions", ({ placement: i, offsetDistance: r }) => {
254
+ var h, g, d, c;
255
255
  this.popper.setOptions({
256
256
  placement: i,
257
257
  offsetDistance: r
258
- }), document.addEventListener("keydown", this.handleKeyDown), document.addEventListener("click", this.handleDocumentClick), (m = (a = this.options).beforeShow) == null || m.call(a), b({
258
+ }), document.addEventListener("keydown", this.handleKeyDown), document.addEventListener("click", this.handleDocumentClick), (g = (h = this.options).beforeShow) == null || g.call(h), b({
259
259
  state: "open",
260
260
  popper: this.contentElement,
261
261
  trigger: this.triggerElement
262
262
  }), this.onToggleState(false), (c = (d = this.options).onShow) == null || c.call(d);
263
- }), h(this, "setPopperOptions", ({ placement: i, offsetDistance: r }) => {
263
+ }), l(this, "setPopperOptions", ({ placement: i, offsetDistance: r }) => {
264
264
  this.popper.setOptions({
265
265
  placement: i,
266
- offsetDistance: r
266
+ offsetDistance: r || this.offsetDistance
267
267
  });
268
- }), h(this, "cleanup", () => {
268
+ }), l(this, "setPopperTrigger", (i, r) => {
269
+ this.cleanup(), this.popper.setOptions({
270
+ placement: r.placement || this.placement,
271
+ offsetDistance: r.offsetDistance || this.offsetDistance
272
+ }), this.triggerElement = i, this.triggerElement.addEventListener("click", this.toggleStateOnClick), this.triggerStrategy === "hover" && this.triggerElement.addEventListener("mouseenter", this.showOnMouseEnter);
273
+ }), l(this, "cleanup", () => {
269
274
  this.triggerElement.removeEventListener("click", this.toggleStateOnClick), this.triggerStrategy === "hover" && this.triggerElement.removeEventListener("mouseenter", this.showOnMouseEnter);
270
275
  });
271
276
  var o;
@@ -334,32 +339,32 @@
334
339
  var de = (s) => typeof s == "string" ? W(s) : s;
335
340
  var pe = ({ containerElement: s, targetChildren: e = "a:not([disabled]), button:not([disabled])", direction: t }) => {
336
341
  let n = false;
337
- const o = de(s) || document.body, i = typeof e == "string" ? U(e, o) : e, r = (a) => {
338
- if (a.preventDefault(), o.focus(), i.length === 0)
342
+ const o = de(s) || document.body, i = typeof e == "string" ? U(e, o) : e, r = (h) => {
343
+ if (h.preventDefault(), o.focus(), i.length === 0)
339
344
  return;
340
- const m = a.key, d = document.activeElement;
341
- let c = i.findIndex((g) => g === d);
345
+ const g = h.key, d = document.activeElement;
346
+ let c = i.findIndex((m) => m === d);
342
347
  if (c === -1) {
343
- m === "ArrowUp" || m === "ArrowLeft" ? i[i.length - 1].focus() : i[0].focus();
348
+ g === "ArrowUp" || g === "ArrowLeft" ? i[i.length - 1].focus() : i[0].focus();
344
349
  return;
345
350
  }
346
- const f = (g) => g > 0 ? g - 1 : i.length - 1, v = (g) => g < i.length - 1 ? g + 1 : 0;
347
- switch (m) {
351
+ const f = (m) => m > 0 ? m - 1 : i.length - 1, v = (m) => m < i.length - 1 ? m + 1 : 0;
352
+ switch (g) {
348
353
  case "ArrowDown":
349
- a.preventDefault(), c = v(c);
354
+ h.preventDefault(), c = v(c);
350
355
  break;
351
356
  case "ArrowRight":
352
357
  break;
353
358
  case "ArrowUp":
354
- a.preventDefault(), c = f(c);
359
+ h.preventDefault(), c = f(c);
355
360
  break;
356
361
  case "ArrowLeft":
357
362
  break;
358
363
  case "Home":
359
- a.preventDefault(), c = 0;
364
+ h.preventDefault(), c = 0;
360
365
  break;
361
366
  case "End":
362
- a.preventDefault(), c = i.length - 1;
367
+ h.preventDefault(), c = i.length - 1;
363
368
  break;
364
369
  default:
365
370
  return;
@@ -406,49 +411,55 @@
406
411
  * @throws {Error} If provided elements are not valid HTMLElements
407
412
  */
408
413
  constructor(e, t = {}) {
409
- l(this, "triggerElement");
410
- l(this, "contentElement");
411
- l(this, "options");
412
- l(this, "OverlayInstance");
413
- l(this, "navigationKeys");
414
- l(this, "triggerStrategy");
415
- l(this, "placement");
416
- l(this, "offsetDistance");
417
- l(this, "preventFromCloseOutside");
418
- l(this, "preventFromCloseInside");
419
- l(this, "defaultState");
420
- l(this, "onToggle", ({ isHidden: e2 }) => {
414
+ a(this, "triggerElement");
415
+ a(this, "contentElement");
416
+ a(this, "options");
417
+ a(this, "OverlayInstance");
418
+ a(this, "navigationKeys");
419
+ a(this, "triggerStrategy");
420
+ a(this, "placement");
421
+ a(this, "offsetDistance");
422
+ a(this, "preventFromCloseOutside");
423
+ a(this, "preventFromCloseInside");
424
+ a(this, "defaultState");
425
+ a(this, "onToggle", ({ isHidden: e2 }) => {
421
426
  var t2, n2;
422
427
  (n2 = (t2 = this.options).onToggle) == null || n2.call(t2, { isHidden: e2 });
423
428
  });
424
- l(this, "beforeShow", () => {
429
+ a(this, "beforeShow", () => {
425
430
  this.contentElement.focus(), this.navigationKeys.make();
426
431
  });
427
- l(this, "beforeHide", () => {
432
+ a(this, "beforeHide", () => {
428
433
  this.contentElement.blur(), this.navigationKeys.destroy();
429
434
  });
430
- l(this, "onShow", () => {
435
+ a(this, "onShow", () => {
431
436
  var e2, t2;
432
437
  K(this.contentElement, "dropdown-show", {
433
438
  isHidden: false
434
439
  }), (t2 = (e2 = this.options).onShow) == null || t2.call(e2);
435
440
  });
436
- l(this, "onHide", () => {
441
+ a(this, "onHide", () => {
437
442
  var e2, t2;
438
443
  K(this.contentElement, "dropdown-hide", {
439
444
  isHidden: true
440
445
  }), (t2 = (e2 = this.options).onHide) == null || t2.call(e2);
441
446
  });
442
- l(this, "show", () => {
447
+ a(this, "show", () => {
443
448
  this.OverlayInstance.show();
444
449
  });
445
- l(this, "hide", () => {
450
+ a(this, "hide", () => {
446
451
  this.OverlayInstance.hide();
447
452
  });
448
- l(this, "setShowOptions", ({ placement: e2, offsetDistance: t2 }) => {
453
+ a(this, "setShowOptions", ({ placement: e2, offsetDistance: t2 }) => {
449
454
  this.OverlayInstance.setShowOptions({ placement: e2, offsetDistance: t2 });
450
455
  });
451
- l(this, "cleanup", () => {
456
+ a(this, "setOptions", ({ placement: e2, offsetDistance: t2 }) => {
457
+ this.OverlayInstance.setPopperOptions({ placement: e2, offsetDistance: t2 });
458
+ });
459
+ a(this, "setPopperTrigger", (e2, t2) => {
460
+ this.OverlayInstance.setPopperTrigger(e2, t2);
461
+ });
462
+ a(this, "cleanup", () => {
452
463
  this.OverlayInstance.cleanup(), x.removeInstance("dropdown", this.contentElement);
453
464
  });
454
465
  const n = typeof e == "string" ? W(e) : e;
@@ -500,7 +511,7 @@
500
511
  new S2(e, t);
501
512
  }
502
513
  };
503
- l(S, "autoInit", (e = "[data-fx-dropdown]") => {
514
+ a(S, "autoInit", (e = "[data-fx-dropdown]") => {
504
515
  const t = U(e);
505
516
  for (const n of t)
506
517
  new S(n);
package/dist/cdn.min.js CHANGED
@@ -1 +1 @@
1
- (()=>{var J=Object.defineProperty,Q=(n,e,t)=>e in n?J(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,h=(n,e,t)=>Q(n,typeof e!="symbol"?e+"":e,t),V=Object.defineProperty,X=(n,e,t)=>e in n?V(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,l=(n,e,t)=>X(n,typeof e!="symbol"?e+"":e,t),Y="bottom",Z=({reference:n,popper:e})=>{if(!n||!e)throw new Error("Reference or popper element is null or undefined");let t=new WeakMap,i=r=>(t.has(r)||t.set(r,r.getBoundingClientRect()),t.get(r)),o=i(e),s=i(n);return{popperHeight:o.height,popperWidth:o.width,refHeight:s.height,refWidth:s.width,refLeft:s.left,refTop:s.top,refRight:s.right}},_=Object.defineProperty,ee=(n,e,t)=>e in n?_(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,m=(n,e,t)=>ee(n,typeof e!="symbol"?e+"":e,t),te=(n,e,t,i)=>{let o=t,s=i-(t+e);return o>=(n-e)/2&&s>=(n-e)/2},ne=(n,e,t,i)=>(n-e)/2<=t&&t+n/2+e/2<=i,ie=(n,e,t,i,o)=>t>o-i?e()?window.innerHeight-o:t-o:n()?0:t+i,se=(n,e,t,i)=>n<=i&&t-n<=e,oe=(n,e,t,i)=>t<=i&&-n<=e,re=(n,e,t,i,o,s)=>{let r=o-t-s,a=t-i,c=t+s-i+(o-t-s),p=r>=0?o-i:a>=0?t-i:t;return n()?0:e()?c:p},ae=(n,e,t,i)=>n<=t&&e-n-i>=n,le=(n,e)=>n>=e,he=({placement:n,refWidth:e,refTop:t,refLeft:i,refHeight:o,popperWidth:s,popperHeight:r,windowHeight:a,windowWidth:c,offsetDistance:p})=>{let d=c-i-e,f=i,E=a-t-o,g=t,w=()=>ie(()=>oe(t,o,r,a),()=>se(t,o,r,a),t,o,r),y=()=>re(()=>ae(i,c,s,e),()=>le(i,s),i,s,c,e),I=()=>te(s,e,i,c)?i+e/2-s/2:y(),C=()=>ne(r,o,t,a)?t+o/2-r/2:w(),T=()=>i+s<=c?i:y(),O=()=>i+e-s>=0?i+e-s:y(),L=()=>t+r<=a?t:w(),N=()=>t+o-r>=0?t+o-r:w(),u=0,v=0,M=t-r-p,D=t+o+p,H=i-s-p,k=i+e+p,R=g>=r+p,$=E>=r+p,A=f>=s+p,K=d>=s+p;switch(n.startsWith("top")?v=R?M:$?D:Math.max(M,D):n.startsWith("bottom")?v=$?D:R?M:Math.max(D):n.startsWith("left")?u=A?H:K?k:Math.max(H,k):n.startsWith("right")&&(u=K?k:A?H:Math.max(k,H)),n){case"bottom":case"bottom-middle":case"top":case"top-middle":u=I();break;case"left":case"left-middle":case"right":case"right-middle":v=C();break;case"bottom-start":case"top-start":u=T();break;case"bottom-end":case"top-end":u=O();break;case"left-start":case"right-start":v=L();break;case"left-end":case"right-end":v=N();break}return{x:u,y:v}},x=class{constructor(e,t,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",(d,f)=>{this.popper.style.setProperty("--fx-popper-placement-x",`${d}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 d;this.validateElements(),this.setInitialStyles();let f=window.innerWidth,E=window.innerHeight,{popperHeight:g,popperWidth:w,refHeight:y,refWidth:I,refLeft:C,refTop:T}=Z({reference:this.reference,popper:this.popper}),{x:O,y:L}=he({placement:this.placement,refWidth:I,refTop:T,refLeft:C,popperWidth:w,refHeight:y,popperHeight:g,windowHeight:E,windowWidth:f,offsetDistance:this.offsetDistance});this.setPopperStyleProperty(O,L),(d=this.onUpdate)==null||d.call(this,{x:O,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=Y,eventEffect:r={},onUpdate:a}=i;if(!(e instanceof HTMLElement))throw new Error("Invalid HTMLElement for Reference Element");if(!(t 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:c,disableOnScroll:p}=r;this.isWindowEventsRegistered=!1,this.reference=e,this.popper=t,this.offsetDistance=o,this.placement=s,this.disableOnResize=c||!1,this.disableOnScroll=p||!1,this.onUpdate=a}setOptions({placement:e,offsetDistance:t}){this.placement=e,this.offsetDistance=t||this.offsetDistance,this.initPlacement(),this.attachWindowEvent()}},ce=(n,e=document.body)=>e.querySelector(n),z=(n,e)=>{for(let[t,i]of Object.entries(e))n.setAttribute(t,i)},de=({element:n,callback:e,type:t,keysCheck:i})=>{let o=getComputedStyle(n),s=o.transition;if(s!=="none"&&s!==""&&!i.includes(s)){let r="transitionend",a=()=>{n.removeEventListener(r,a),e()};n.addEventListener(r,a,{once:!0})}else e()},pe=({element:n,callback:e})=>{de({element:n,callback:e,type:"transition",keysCheck:["all 0s ease 0s","all"]})},b=({state:n,trigger:e,popper:t})=>{z(t,{"data-state":n}),z(e,{"aria-expanded":`${n}`})},W=class{constructor({trigger:e,content:t,options:i={}}){l(this,"triggerElement"),l(this,"contentElement"),l(this,"triggerStrategy"),l(this,"placement"),l(this,"offsetDistance"),l(this,"preventFromCloseOutside"),l(this,"preventFromCloseInside"),l(this,"options"),l(this,"defaultState"),l(this,"popper"),l(this,"eventEffect"),l(this,"getElement",s=>typeof s=="string"?ce(s):s instanceof HTMLElement?s:void 0),l(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())}),l(this,"handleKeyDown",s=>{s.preventDefault(),this.triggerStrategy!=="hover"&&s.key==="Escape"&&this.contentElement.getAttribute("data-state")==="open"&&(this.preventFromCloseOutside||this.hide())}),l(this,"toggleStateOnClick",()=>{(this.contentElement.dataset.state||"close")==="close"?(this.show(),this.triggerStrategy==="hover"&&this.addEventOnMouseEnter()):this.hide()}),l(this,"hideOnMouseLeaseTrigger",()=>{setTimeout(()=>{this.contentElement.matches(":hover")||this.hide()},150)}),l(this,"hideOnMouseLeave",()=>{setTimeout(()=>{this.triggerElement.matches(":hover")||this.hide()},150)}),l(this,"addEventOnMouseEnter",()=>{this.triggerElement.addEventListener("mouseleave",this.hideOnMouseLeaseTrigger),this.contentElement.addEventListener("mouseleave",this.hideOnMouseLeave)}),l(this,"showOnMouseEnter",()=>{this.show(),this.addEventOnMouseEnter()}),l(this,"setShowOptions",({placement:s,offsetDistance:r})=>{var a,c,p,d;this.popper.setOptions({placement:s,offsetDistance:r}),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("click",this.handleDocumentClick),(c=(a=this.options).beforeShow)==null||c.call(a),b({state:"open",popper:this.contentElement,trigger:this.triggerElement}),this.onToggleState(!1),(d=(p=this.options).onShow)==null||d.call(p)}),l(this,"setPopperOptions",({placement:s,offsetDistance:r})=>{this.popper.setOptions({placement:s,offsetDistance:r})}),l(this,"cleanup",()=>{this.triggerElement.removeEventListener("click",this.toggleStateOnClick),this.triggerStrategy==="hover"&&this.triggerElement.removeEventListener("mouseenter",this.showOnMouseEnter)});var o;if(this.contentElement=this.getElement(t),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=(o=this.options.popper)==null?void 0:o.eventEffect,this.popper=new x(this.triggerElement,this.contentElement,{placement:this.placement,offsetDistance:this.offsetDistance,eventEffect:this.eventEffect}),this.initInstance()}onToggleState(e){var t,i;(i=(t=this.options).onToggle)==null||i.call(t,{isHidden:e})}show(){var e,t,i,o;this.popper.updatePosition(),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("click",this.handleDocumentClick),(t=(e=this.options).beforeShow)==null||t.call(e),b({state:"open",popper:this.contentElement,trigger:this.triggerElement}),this.onToggleState(!1),(o=(i=this.options).onShow)==null||o.call(i)}hide(){var e,t;(t=(e=this.options).beforeHide)==null||t.call(e),b({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 i,o;this.onToggleState(!0),this.popper.cleanupEvents(),(o=(i=this.options).onHide)==null||o.call(i)}})}initInstance(){b({state:this.defaultState,popper:this.contentElement,trigger:this.triggerElement}),this.defaultState==="open"?this.show():b({state:"close",popper:this.contentElement,trigger:this.triggerElement}),this.triggerElement.addEventListener("click",this.toggleStateOnClick),this.triggerStrategy==="hover"&&this.triggerElement.addEventListener("mouseenter",this.showOnMouseEnter)}},P=(n,e=document.body)=>e.querySelector(n),j=(n,e=document.body)=>Array.from(e.querySelectorAll(n)),me=n=>typeof n=="string"?P(n):n,ge=({containerElement:n,targetChildren:e="a:not([disabled]), button:not([disabled])",direction:t})=>{let i=!1,o=me(n)||document.body,s=typeof e=="string"?j(e,o):e,r=a=>{if(a.preventDefault(),o.focus(),s.length===0)return;let c=a.key,p=document.activeElement,d=s.findIndex(g=>g===p);if(d===-1){c==="ArrowUp"||c==="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(c){case"ArrowDown":a.preventDefault(),d=E(d);break;case"ArrowRight":break;case"ArrowUp":a.preventDefault(),d=f(d);break;case"ArrowLeft":break;case"Home":a.preventDefault(),d=0;break;case"End":a.preventDefault(),d=s.length-1;break;default:return}s[d]!==p&&s[d].focus()};return{make:()=>{i||(document.addEventListener("keydown",r),i=!0)},destroy:()=>{i&&(document.removeEventListener("keydown",r),i=!1)}}},U=(n,e,t)=>{let i=new CustomEvent(e,{detail:t});n.dispatchEvent(i)},S=class{static initGlobalRegistry(){window.$flexillaInstances||(window.$flexillaInstances={})}static register(e,t,i){return this.initGlobalRegistry(),window.$flexillaInstances[e]||(window.$flexillaInstances[e]=[]),this.getInstance(e,t)||(window.$flexillaInstances[e].push({element:t,instance:i}),i)}static getInstance(e,t){var i,o;return this.initGlobalRegistry(),(o=(i=window.$flexillaInstances[e])==null?void 0:i.find(s=>s.element===t))==null?void 0:o.instance}static removeInstance(e,t){this.initGlobalRegistry(),window.$flexillaInstances[e]&&(window.$flexillaInstances[e]=window.$flexillaInstances[e].filter(i=>i.element!==t))}},F=class G{constructor(e,t={}){h(this,"triggerElement"),h(this,"contentElement"),h(this,"options"),h(this,"OverlayInstance"),h(this,"navigationKeys"),h(this,"triggerStrategy"),h(this,"placement"),h(this,"offsetDistance"),h(this,"preventFromCloseOutside"),h(this,"preventFromCloseInside"),h(this,"defaultState"),h(this,"onToggle",({isHidden:r})=>{var a,c;(c=(a=this.options).onToggle)==null||c.call(a,{isHidden:r})}),h(this,"beforeShow",()=>{this.contentElement.focus(),this.navigationKeys.make()}),h(this,"beforeHide",()=>{this.contentElement.blur(),this.navigationKeys.destroy()}),h(this,"onShow",()=>{var r,a;U(this.contentElement,"dropdown-show",{isHidden:!1}),(a=(r=this.options).onShow)==null||a.call(r)}),h(this,"onHide",()=>{var r,a;U(this.contentElement,"dropdown-hide",{isHidden:!0}),(a=(r=this.options).onHide)==null||a.call(r)}),h(this,"show",()=>{this.OverlayInstance.show()}),h(this,"hide",()=>{this.OverlayInstance.hide()}),h(this,"setShowOptions",({placement:r,offsetDistance:a})=>{this.OverlayInstance.setShowOptions({placement:r,offsetDistance:a})}),h(this,"cleanup",()=>{this.OverlayInstance.cleanup(),S.removeInstance("dropdown",this.contentElement)});let i=typeof e=="string"?P(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 o=S.getInstance("dropdown",this.contentElement);if(o)return o;let s=`[data-dropdown-trigger][data-dropdown-id=${this.contentElement.id}]`;if(this.triggerElement=P(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=t,this.triggerStrategy=this.options.triggerStrategy||this.contentElement.dataset.triggerStrategy||"click",this.placement=this.options.placement||this.contentElement.dataset.placement||"bottom-start",this.offsetDistance=this.options.offsetDistance||parseInt(`${this.contentElement.dataset.offsetDistance}`)|6,this.preventFromCloseOutside=this.options.preventFromCloseOutside||this.contentElement.hasAttribute("data-prevent-close-outside")||!1,this.preventFromCloseInside=this.options.preventCloseFromInside||this.contentElement.hasAttribute("data-prevent-close-inside")||!1,this.defaultState=this.options.defaultState||this.contentElement.dataset.defaultState||"close",this.OverlayInstance=new W({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:this.beforeHide,onShow:this.onShow,onHide:this.onHide,onToggle:({isHidden:r})=>{this.onToggle({isHidden:r})},popper:this.options.popper}}),this.navigationKeys=ge({containerElement:this.contentElement,targetChildren:"a:not([disabled]), button:not([disabled])",direction:"up-down"}),S.register("dropdown",this.contentElement,this)}static init(e,t={}){new G(e,t)}};h(F,"autoInit",(n="[data-fx-dropdown]")=>{let e=j(n);for(let t of e)new F(t)});var q=F;function fe(n){n.directive("dropdown",(e,{},{cleanup:t})=>{let i=new q(e);t(()=>{i.cleanup()})})}var B=fe;document.addEventListener("alpine:init",()=>{B(window.Alpine)});})();
1
+ (()=>{var J=Object.defineProperty,Q=(n,e,t)=>e in n?J(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,h=(n,e,t)=>Q(n,typeof e!="symbol"?e+"":e,t),V=Object.defineProperty,X=(n,e,t)=>e in n?V(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,l=(n,e,t)=>X(n,typeof e!="symbol"?e+"":e,t),Y="bottom",Z=({reference:n,popper:e})=>{if(!n||!e)throw new Error("Reference or popper element is null or undefined");let t=new WeakMap,i=o=>(t.has(o)||t.set(o,o.getBoundingClientRect()),t.get(o)),r=i(e),s=i(n);return{popperHeight:r.height,popperWidth:r.width,refHeight:s.height,refWidth:s.width,refLeft:s.left,refTop:s.top,refRight:s.right}},_=Object.defineProperty,ee=(n,e,t)=>e in n?_(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,m=(n,e,t)=>ee(n,typeof e!="symbol"?e+"":e,t),te=(n,e,t,i)=>{let r=t,s=i-(t+e);return r>=(n-e)/2&&s>=(n-e)/2},ne=(n,e,t,i)=>(n-e)/2<=t&&t+n/2+e/2<=i,ie=(n,e,t,i,r)=>t>r-i?e()?window.innerHeight-r:t-r:n()?0:t+i,se=(n,e,t,i)=>n<=i&&t-n<=e,oe=(n,e,t,i)=>t<=i&&-n<=e,re=(n,e,t,i,r,s)=>{let o=r-t-s,a=t-i,c=t+s-i+(r-t-s),d=o>=0?r-i:a>=0?t-i:t;return n()?0:e()?c:d},ae=(n,e,t,i)=>n<=t&&e-n-i>=n,le=(n,e)=>n>=e,he=({placement:n,refWidth:e,refTop:t,refLeft:i,refHeight:r,popperWidth:s,popperHeight:o,windowHeight:a,windowWidth:c,offsetDistance:d})=>{let p=c-i-e,f=i,E=a-t-r,g=t,w=()=>ie(()=>oe(t,r,o,a),()=>se(t,r,o,a),t,r,o),y=()=>re(()=>ae(i,c,s,e),()=>le(i,s),i,s,c,e),I=()=>te(s,e,i,c)?i+e/2-s/2:y(),T=()=>ne(o,r,t,a)?t+r/2-o/2:w(),C=()=>i+s<=c?i:y(),O=()=>i+e-s>=0?i+e-s:y(),D=()=>t+o<=a?t:w(),N=()=>t+r-o>=0?t+r-o:w(),v=0,u=0,M=t-o-d,L=t+r+d,k=i-s-d,H=i+e+d,R=g>=o+d,$=E>=o+d,A=f>=s+d,K=p>=s+d;switch(n.startsWith("top")?u=R?M:$?L:Math.max(M,L):n.startsWith("bottom")?u=$?L:R?M:Math.max(L):n.startsWith("left")?v=A?k:K?H:Math.max(k,H):n.startsWith("right")&&(v=K?H:A?k:Math.max(H,k)),n){case"bottom":case"bottom-middle":case"top":case"top-middle":v=I();break;case"left":case"left-middle":case"right":case"right-middle":u=T();break;case"bottom-start":case"top-start":v=C();break;case"bottom-end":case"top-end":v=O();break;case"left-start":case"right-start":u=D();break;case"left-end":case"right-end":u=N();break}return{x:v,y:u}},x=class{constructor(e,t,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:y,refWidth:I,refLeft:T,refTop:C}=Z({reference:this.reference,popper:this.popper}),{x:O,y:D}=he({placement:this.placement,refWidth:I,refTop:C,refLeft:T,popperWidth:w,refHeight:y,popperHeight:g,windowHeight:E,windowWidth:f,offsetDistance:this.offsetDistance});this.setPopperStyleProperty(O,D),(p=this.onUpdate)==null||p.call(this,{x:O,y:D,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:r=10,placement:s=Y,eventEffect:o={},onUpdate:a}=i;if(!(e instanceof HTMLElement))throw new Error("Invalid HTMLElement for Reference Element");if(!(t 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:c,disableOnScroll:d}=o;this.isWindowEventsRegistered=!1,this.reference=e,this.popper=t,this.offsetDistance=r,this.placement=s,this.disableOnResize=c||!1,this.disableOnScroll=d||!1,this.onUpdate=a}setOptions({placement:e,offsetDistance:t}){this.placement=e,this.offsetDistance=t||this.offsetDistance,this.initPlacement(),this.attachWindowEvent()}},ce=(n,e=document.body)=>e.querySelector(n),z=(n,e)=>{for(let[t,i]of Object.entries(e))n.setAttribute(t,i)},pe=({element:n,callback:e,type:t,keysCheck:i})=>{let r=getComputedStyle(n),s=r.transition;if(s!=="none"&&s!==""&&!i.includes(s)){let o="transitionend",a=()=>{n.removeEventListener(o,a),e()};n.addEventListener(o,a,{once:!0})}else e()},de=({element:n,callback:e})=>{pe({element:n,callback:e,type:"transition",keysCheck:["all 0s ease 0s","all"]})},b=({state:n,trigger:e,popper:t})=>{let i=n==="open";z(t,{"data-state":n}),z(e,{"aria-expanded":`${i}`})},P=class{constructor({trigger:e,content:t,options:i={}}){l(this,"triggerElement"),l(this,"contentElement"),l(this,"triggerStrategy"),l(this,"placement"),l(this,"offsetDistance"),l(this,"preventFromCloseOutside"),l(this,"preventFromCloseInside"),l(this,"options"),l(this,"defaultState"),l(this,"popper"),l(this,"eventEffect"),l(this,"getElement",s=>typeof s=="string"?ce(s):s instanceof HTMLElement?s:void 0),l(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())}),l(this,"handleKeyDown",s=>{s.preventDefault(),this.triggerStrategy!=="hover"&&s.key==="Escape"&&this.contentElement.getAttribute("data-state")==="open"&&(this.preventFromCloseOutside||this.hide())}),l(this,"toggleStateOnClick",()=>{(this.contentElement.dataset.state||"close")==="close"?(this.show(),this.triggerStrategy==="hover"&&this.addEventOnMouseEnter()):this.hide()}),l(this,"hideOnMouseLeaseTrigger",()=>{setTimeout(()=>{this.contentElement.matches(":hover")||this.hide()},150)}),l(this,"hideOnMouseLeave",()=>{setTimeout(()=>{this.triggerElement.matches(":hover")||this.hide()},150)}),l(this,"addEventOnMouseEnter",()=>{this.triggerElement.addEventListener("mouseleave",this.hideOnMouseLeaseTrigger),this.contentElement.addEventListener("mouseleave",this.hideOnMouseLeave)}),l(this,"showOnMouseEnter",()=>{this.show(),this.addEventOnMouseEnter()}),l(this,"setShowOptions",({placement:s,offsetDistance:o})=>{var a,c,d,p;this.popper.setOptions({placement:s,offsetDistance:o}),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("click",this.handleDocumentClick),(c=(a=this.options).beforeShow)==null||c.call(a),b({state:"open",popper:this.contentElement,trigger:this.triggerElement}),this.onToggleState(!1),(p=(d=this.options).onShow)==null||p.call(d)}),l(this,"setPopperOptions",({placement:s,offsetDistance:o})=>{this.popper.setOptions({placement:s,offsetDistance:o||this.offsetDistance})}),l(this,"setPopperTrigger",(s,o)=>{this.cleanup(),this.popper.setOptions({placement:o.placement||this.placement,offsetDistance:o.offsetDistance||this.offsetDistance}),this.triggerElement=s,this.triggerElement.addEventListener("click",this.toggleStateOnClick),this.triggerStrategy==="hover"&&this.triggerElement.addEventListener("mouseenter",this.showOnMouseEnter)}),l(this,"cleanup",()=>{this.triggerElement.removeEventListener("click",this.toggleStateOnClick),this.triggerStrategy==="hover"&&this.triggerElement.removeEventListener("mouseenter",this.showOnMouseEnter)});var r;if(this.contentElement=this.getElement(t),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=(r=this.options.popper)==null?void 0:r.eventEffect,this.popper=new x(this.triggerElement,this.contentElement,{placement:this.placement,offsetDistance:this.offsetDistance,eventEffect:this.eventEffect}),this.initInstance()}onToggleState(e){var t,i;(i=(t=this.options).onToggle)==null||i.call(t,{isHidden:e})}show(){var e,t,i,r;this.popper.updatePosition(),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("click",this.handleDocumentClick),(t=(e=this.options).beforeShow)==null||t.call(e),b({state:"open",popper:this.contentElement,trigger:this.triggerElement}),this.onToggleState(!1),(r=(i=this.options).onShow)==null||r.call(i)}hide(){var e,t;(t=(e=this.options).beforeHide)==null||t.call(e),b({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)),de({element:this.contentElement,callback:()=>{var i,r;this.onToggleState(!0),this.popper.cleanupEvents(),(r=(i=this.options).onHide)==null||r.call(i)}})}initInstance(){b({state:this.defaultState,popper:this.contentElement,trigger:this.triggerElement}),this.defaultState==="open"?this.show():b({state:"close",popper:this.contentElement,trigger:this.triggerElement}),this.triggerElement.addEventListener("click",this.toggleStateOnClick),this.triggerStrategy==="hover"&&this.triggerElement.addEventListener("mouseenter",this.showOnMouseEnter)}},W=(n,e=document.body)=>e.querySelector(n),j=(n,e=document.body)=>Array.from(e.querySelectorAll(n)),me=n=>typeof n=="string"?W(n):n,ge=({containerElement:n,targetChildren:e="a:not([disabled]), button:not([disabled])",direction:t})=>{let i=!1,r=me(n)||document.body,s=typeof e=="string"?j(e,r):e,o=a=>{if(a.preventDefault(),r.focus(),s.length===0)return;let c=a.key,d=document.activeElement,p=s.findIndex(g=>g===d);if(p===-1){c==="ArrowUp"||c==="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(c){case"ArrowDown":a.preventDefault(),p=E(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]!==d&&s[p].focus()};return{make:()=>{i||(document.addEventListener("keydown",o),i=!0)},destroy:()=>{i&&(document.removeEventListener("keydown",o),i=!1)}}},U=(n,e,t)=>{let i=new CustomEvent(e,{detail:t});n.dispatchEvent(i)},S=class{static initGlobalRegistry(){window.$flexillaInstances||(window.$flexillaInstances={})}static register(e,t,i){return this.initGlobalRegistry(),window.$flexillaInstances[e]||(window.$flexillaInstances[e]=[]),this.getInstance(e,t)||(window.$flexillaInstances[e].push({element:t,instance:i}),i)}static getInstance(e,t){var i,r;return this.initGlobalRegistry(),(r=(i=window.$flexillaInstances[e])==null?void 0:i.find(s=>s.element===t))==null?void 0:r.instance}static removeInstance(e,t){this.initGlobalRegistry(),window.$flexillaInstances[e]&&(window.$flexillaInstances[e]=window.$flexillaInstances[e].filter(i=>i.element!==t))}},F=class G{constructor(e,t={}){h(this,"triggerElement"),h(this,"contentElement"),h(this,"options"),h(this,"OverlayInstance"),h(this,"navigationKeys"),h(this,"triggerStrategy"),h(this,"placement"),h(this,"offsetDistance"),h(this,"preventFromCloseOutside"),h(this,"preventFromCloseInside"),h(this,"defaultState"),h(this,"onToggle",({isHidden:o})=>{var a,c;(c=(a=this.options).onToggle)==null||c.call(a,{isHidden:o})}),h(this,"beforeShow",()=>{this.contentElement.focus(),this.navigationKeys.make()}),h(this,"beforeHide",()=>{this.contentElement.blur(),this.navigationKeys.destroy()}),h(this,"onShow",()=>{var o,a;U(this.contentElement,"dropdown-show",{isHidden:!1}),(a=(o=this.options).onShow)==null||a.call(o)}),h(this,"onHide",()=>{var o,a;U(this.contentElement,"dropdown-hide",{isHidden:!0}),(a=(o=this.options).onHide)==null||a.call(o)}),h(this,"show",()=>{this.OverlayInstance.show()}),h(this,"hide",()=>{this.OverlayInstance.hide()}),h(this,"setShowOptions",({placement:o,offsetDistance:a})=>{this.OverlayInstance.setShowOptions({placement:o,offsetDistance:a})}),h(this,"setOptions",({placement:o,offsetDistance:a})=>{this.OverlayInstance.setPopperOptions({placement:o,offsetDistance:a})}),h(this,"setPopperTrigger",(o,a)=>{this.OverlayInstance.setPopperTrigger(o,a)}),h(this,"cleanup",()=>{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 r=S.getInstance("dropdown",this.contentElement);if(r)return r;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=t,this.triggerStrategy=this.options.triggerStrategy||this.contentElement.dataset.triggerStrategy||"click",this.placement=this.options.placement||this.contentElement.dataset.placement||"bottom-start",this.offsetDistance=this.options.offsetDistance||parseInt(`${this.contentElement.dataset.offsetDistance}`)|6,this.preventFromCloseOutside=this.options.preventFromCloseOutside||this.contentElement.hasAttribute("data-prevent-close-outside")||!1,this.preventFromCloseInside=this.options.preventCloseFromInside||this.contentElement.hasAttribute("data-prevent-close-inside")||!1,this.defaultState=this.options.defaultState||this.contentElement.dataset.defaultState||"close",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:this.beforeHide,onShow:this.onShow,onHide:this.onHide,onToggle:({isHidden:o})=>{this.onToggle({isHidden:o})},popper:this.options.popper}}),this.navigationKeys=ge({containerElement:this.contentElement,targetChildren:"a:not([disabled]), button:not([disabled])",direction:"up-down"}),S.register("dropdown",this.contentElement,this)}static init(e,t={}){new G(e,t)}};h(F,"autoInit",(n="[data-fx-dropdown]")=>{let e=j(n);for(let t of e)new F(t)});var q=F;function fe(n){n.directive("dropdown",(e,{},{cleanup:t})=>{let i=new q(e);t(()=>{i.cleanup()})})}var B=fe;document.addEventListener("alpine:init",()=>{B(window.Alpine)});})();
@@ -26,10 +26,10 @@ module.exports = __toCommonJS(module_exports);
26
26
  // ../../node_modules/@flexilla/dropdown/dist/dropdown.js
27
27
  var j = Object.defineProperty;
28
28
  var q = (s, e, t) => e in s ? j(s, e, { enumerable: true, configurable: true, writable: true, value: t }) : s[e] = t;
29
- var l = (s, e, t) => q(s, typeof e != "symbol" ? e + "" : e, t);
29
+ var a = (s, e, t) => q(s, typeof e != "symbol" ? e + "" : e, t);
30
30
  var B = Object.defineProperty;
31
31
  var N = (s, e, t) => e in s ? B(s, e, { enumerable: true, configurable: true, writable: true, value: t }) : s[e] = t;
32
- var h = (s, e, t) => N(s, typeof e != "symbol" ? e + "" : e, t);
32
+ var l = (s, e, t) => N(s, typeof e != "symbol" ? e + "" : e, t);
33
33
  var J = "bottom";
34
34
  var Q = ({ reference: s, popper: e }) => {
35
35
  if (!s || !e)
@@ -57,8 +57,8 @@ var _ = (s, e, t, n, o) => t > o - n ? e() ? window.innerHeight - o : t - o : s(
57
57
  var ee = (s, e, t, n) => s <= n && t - s <= e;
58
58
  var te = (s, e, t, n) => t <= n && -s <= e;
59
59
  var ne = (s, e, t, n, o, i) => {
60
- const r = o - t - i, a = t - n, m = t + i - n + (o - t - i), d = r >= 0 ? o - n : a >= 0 ? t - n : t;
61
- return s() ? 0 : e() ? m : d;
60
+ const r = o - t - i, h = t - n, g = t + i - n + (o - t - i), d = r >= 0 ? o - n : h >= 0 ? t - n : t;
61
+ return s() ? 0 : e() ? g : d;
62
62
  };
63
63
  var se = (s, e, t, n) => s <= t && e - s - n >= s;
64
64
  var ie = (s, e) => s >= e;
@@ -70,27 +70,27 @@ var oe = ({
70
70
  refHeight: o,
71
71
  popperWidth: i,
72
72
  popperHeight: r,
73
- windowHeight: a,
74
- windowWidth: m,
73
+ windowHeight: h,
74
+ windowWidth: g,
75
75
  offsetDistance: d
76
76
  }) => {
77
- const c = m - n - e, f = n, v = a - t - o, g = t, w = () => _(
78
- () => te(t, o, r, a),
79
- () => ee(t, o, r, a),
77
+ const c = g - n - e, f = n, v = h - t - o, m = t, w = () => _(
78
+ () => te(t, o, r, h),
79
+ () => ee(t, o, r, h),
80
80
  t,
81
81
  o,
82
82
  r
83
83
  ), y = () => ne(
84
- () => se(n, m, i, e),
84
+ () => se(n, g, i, e),
85
85
  () => ie(n, i),
86
86
  n,
87
87
  i,
88
- m,
88
+ g,
89
89
  e
90
- ), H = () => Y(i, e, n, m) ? n + e / 2 - i / 2 : y(), C = () => Z(r, o, t, a) ? t + o / 2 - r / 2 : w(), T = () => n + i <= m ? n : y(), O = () => n + e - i >= 0 ? n + e - i : y(), L = () => t + r <= a ? t : w(), G = () => t + o - r >= 0 ? t + o - r : w();
90
+ ), H = () => Y(i, e, n, g) ? n + e / 2 - i / 2 : y(), T = () => Z(r, o, t, h) ? t + o / 2 - r / 2 : w(), C = () => n + i <= g ? n : y(), O = () => n + e - i >= 0 ? n + e - i : y(), L = () => t + r <= h ? t : w(), G = () => t + o - r >= 0 ? t + o - r : w();
91
91
  let u = 0, E = 0;
92
- const M = t - r - d, k = t + o + d, I = n - i - d, D = n + e + d, P = g >= r + d, F = v >= r + d, R = f >= i + d, $ = c >= i + d;
93
- switch (s.startsWith("top") ? E = P ? M : F ? k : Math.max(M, k) : s.startsWith("bottom") ? E = F ? k : P ? M : Math.max(k) : s.startsWith("left") ? u = R ? I : $ ? D : Math.max(I, D) : s.startsWith("right") && (u = $ ? D : R ? I : Math.max(D, I)), s) {
92
+ const M = t - r - d, k = t + o + d, D = n - i - d, I = n + e + d, P = m >= r + d, F = v >= r + d, R = f >= i + d, $ = c >= i + d;
93
+ switch (s.startsWith("top") ? E = P ? M : F ? k : Math.max(M, k) : s.startsWith("bottom") ? E = F ? k : P ? M : Math.max(k) : s.startsWith("left") ? u = R ? D : $ ? I : Math.max(D, I) : s.startsWith("right") && (u = $ ? I : R ? D : Math.max(I, D)), s) {
94
94
  case "bottom":
95
95
  case "bottom-middle":
96
96
  case "top":
@@ -101,11 +101,11 @@ var oe = ({
101
101
  case "left-middle":
102
102
  case "right":
103
103
  case "right-middle":
104
- E = C();
104
+ E = T();
105
105
  break;
106
106
  case "bottom-start":
107
107
  case "top-start":
108
- u = T();
108
+ u = C();
109
109
  break;
110
110
  case "bottom-end":
111
111
  case "top-end":
@@ -156,15 +156,15 @@ var re = class {
156
156
  }), p(this, "initPlacement", () => {
157
157
  var c;
158
158
  this.validateElements(), this.setInitialStyles();
159
- const f = window.innerWidth, v = window.innerHeight, { popperHeight: g, popperWidth: w, refHeight: y, refWidth: H, refLeft: C, refTop: T } = Q({ reference: this.reference, popper: this.popper }), { x: O, y: L } = oe(
159
+ const f = window.innerWidth, v = window.innerHeight, { popperHeight: m, popperWidth: w, refHeight: y, refWidth: H, refLeft: T, refTop: C } = Q({ reference: this.reference, popper: this.popper }), { x: O, y: L } = oe(
160
160
  {
161
161
  placement: this.placement,
162
162
  refWidth: H,
163
- refTop: T,
164
- refLeft: C,
163
+ refTop: C,
164
+ refLeft: T,
165
165
  popperWidth: w,
166
166
  refHeight: y,
167
- popperHeight: g,
167
+ popperHeight: m,
168
168
  windowHeight: v,
169
169
  windowWidth: f,
170
170
  offsetDistance: this.offsetDistance
@@ -186,7 +186,7 @@ var re = class {
186
186
  offsetDistance: o = 10,
187
187
  placement: i = J,
188
188
  eventEffect: r = {},
189
- onUpdate: a
189
+ onUpdate: h
190
190
  } = n;
191
191
  if (!(e instanceof HTMLElement))
192
192
  throw new Error("Invalid HTMLElement for Reference Element");
@@ -194,8 +194,8 @@ var re = class {
194
194
  throw new Error("Invalid HTMLElement for Popper");
195
195
  if (n.offsetDistance && typeof n.offsetDistance != "number")
196
196
  throw new Error("OffsetDistance must be a number");
197
- const { disableOnResize: m, disableOnScroll: d } = r;
198
- this.isWindowEventsRegistered = false, this.reference = e, this.popper = t, this.offsetDistance = o, this.placement = i, this.disableOnResize = m || false, this.disableOnScroll = d || false, this.onUpdate = a;
197
+ const { disableOnResize: g, disableOnScroll: d } = r;
198
+ this.isWindowEventsRegistered = false, this.reference = e, this.popper = t, this.offsetDistance = o, this.placement = i, this.disableOnResize = g || false, this.disableOnScroll = d || false, this.onUpdate = h;
199
199
  }
200
200
  /**
201
201
  * Updates popper configuration and recalculates position
@@ -221,10 +221,10 @@ var le = ({
221
221
  }) => {
222
222
  const o = getComputedStyle(s), i = o.transition;
223
223
  if (i !== "none" && i !== "" && !n.includes(i)) {
224
- const r = "transitionend", a = () => {
225
- s.removeEventListener(r, a), e();
224
+ const r = "transitionend", h = () => {
225
+ s.removeEventListener(r, h), e();
226
226
  };
227
- s.addEventListener(r, a, { once: true });
227
+ s.addEventListener(r, h, { once: true });
228
228
  } else
229
229
  e();
230
230
  };
@@ -240,10 +240,11 @@ var he = ({
240
240
  });
241
241
  };
242
242
  var b = ({ state: s, trigger: e, popper: t }) => {
243
+ const n = s === "open";
243
244
  A(t, {
244
245
  "data-state": s
245
246
  }), A(e, {
246
- "aria-expanded": `${s}`
247
+ "aria-expanded": `${n}`
247
248
  });
248
249
  };
249
250
  var ce = class {
@@ -253,43 +254,47 @@ var ce = class {
253
254
  * @param {string | HTMLElement} params.trigger - The trigger element selector or HTMLElement
254
255
  * @param {string | HTMLElement} params.content - The content element selector or HTMLElement
255
256
  * @param {OverlayOptions} [params.options] - Configuration options for the overlay
256
- * @throws {Error} When trigger or content elements are invalid
257
257
  */
258
258
  constructor({ trigger: e, content: t, options: n = {} }) {
259
- h(this, "triggerElement"), h(this, "contentElement"), h(this, "triggerStrategy"), h(this, "placement"), h(this, "offsetDistance"), h(this, "preventFromCloseOutside"), h(this, "preventFromCloseInside"), h(this, "options"), h(this, "defaultState"), h(this, "popper"), h(this, "eventEffect"), h(this, "getElement", (i) => typeof i == "string" ? ae(i) : i instanceof HTMLElement ? i : void 0), h(this, "handleDocumentClick", (i) => {
259
+ l(this, "triggerElement"), l(this, "contentElement"), l(this, "triggerStrategy"), l(this, "placement"), l(this, "offsetDistance"), l(this, "preventFromCloseOutside"), l(this, "preventFromCloseInside"), l(this, "options"), l(this, "defaultState"), l(this, "popper"), l(this, "eventEffect"), l(this, "getElement", (i) => typeof i == "string" ? ae(i) : i instanceof HTMLElement ? i : void 0), l(this, "handleDocumentClick", (i) => {
260
260
  this.contentElement.getAttribute("data-state") === "open" && (!this.triggerElement.contains(i.target) && !this.preventFromCloseInside && !this.preventFromCloseOutside ? this.hide() : !this.triggerElement.contains(i.target) && !this.contentElement.contains(i.target) && !this.preventFromCloseOutside ? this.hide() : !this.triggerElement.contains(i.target) && !this.contentElement.contains(i.target) && !this.preventFromCloseOutside ? this.hide() : !this.triggerElement.contains(i.target) && this.contentElement.contains(i.target) && !this.preventFromCloseInside && this.hide());
261
- }), h(this, "handleKeyDown", (i) => {
261
+ }), l(this, "handleKeyDown", (i) => {
262
262
  i.preventDefault(), this.triggerStrategy !== "hover" && i.key === "Escape" && this.contentElement.getAttribute("data-state") === "open" && (this.preventFromCloseOutside || this.hide());
263
- }), h(this, "toggleStateOnClick", () => {
263
+ }), l(this, "toggleStateOnClick", () => {
264
264
  (this.contentElement.dataset.state || "close") === "close" ? (this.show(), this.triggerStrategy === "hover" && this.addEventOnMouseEnter()) : this.hide();
265
- }), h(this, "hideOnMouseLeaseTrigger", () => {
265
+ }), l(this, "hideOnMouseLeaseTrigger", () => {
266
266
  setTimeout(() => {
267
267
  this.contentElement.matches(":hover") || this.hide();
268
268
  }, 150);
269
- }), h(this, "hideOnMouseLeave", () => {
269
+ }), l(this, "hideOnMouseLeave", () => {
270
270
  setTimeout(() => {
271
271
  this.triggerElement.matches(":hover") || this.hide();
272
272
  }, 150);
273
- }), h(this, "addEventOnMouseEnter", () => {
273
+ }), l(this, "addEventOnMouseEnter", () => {
274
274
  this.triggerElement.addEventListener("mouseleave", this.hideOnMouseLeaseTrigger), this.contentElement.addEventListener("mouseleave", this.hideOnMouseLeave);
275
- }), h(this, "showOnMouseEnter", () => {
275
+ }), l(this, "showOnMouseEnter", () => {
276
276
  this.show(), this.addEventOnMouseEnter();
277
- }), h(this, "setShowOptions", ({ placement: i, offsetDistance: r }) => {
278
- var a, m, d, c;
277
+ }), l(this, "setShowOptions", ({ placement: i, offsetDistance: r }) => {
278
+ var h, g, d, c;
279
279
  this.popper.setOptions({
280
280
  placement: i,
281
281
  offsetDistance: r
282
- }), document.addEventListener("keydown", this.handleKeyDown), document.addEventListener("click", this.handleDocumentClick), (m = (a = this.options).beforeShow) == null || m.call(a), b({
282
+ }), document.addEventListener("keydown", this.handleKeyDown), document.addEventListener("click", this.handleDocumentClick), (g = (h = this.options).beforeShow) == null || g.call(h), b({
283
283
  state: "open",
284
284
  popper: this.contentElement,
285
285
  trigger: this.triggerElement
286
286
  }), this.onToggleState(false), (c = (d = this.options).onShow) == null || c.call(d);
287
- }), h(this, "setPopperOptions", ({ placement: i, offsetDistance: r }) => {
287
+ }), l(this, "setPopperOptions", ({ placement: i, offsetDistance: r }) => {
288
288
  this.popper.setOptions({
289
289
  placement: i,
290
- offsetDistance: r
290
+ offsetDistance: r || this.offsetDistance
291
291
  });
292
- }), h(this, "cleanup", () => {
292
+ }), l(this, "setPopperTrigger", (i, r) => {
293
+ this.cleanup(), this.popper.setOptions({
294
+ placement: r.placement || this.placement,
295
+ offsetDistance: r.offsetDistance || this.offsetDistance
296
+ }), this.triggerElement = i, this.triggerElement.addEventListener("click", this.toggleStateOnClick), this.triggerStrategy === "hover" && this.triggerElement.addEventListener("mouseenter", this.showOnMouseEnter);
297
+ }), l(this, "cleanup", () => {
293
298
  this.triggerElement.removeEventListener("click", this.toggleStateOnClick), this.triggerStrategy === "hover" && this.triggerElement.removeEventListener("mouseenter", this.showOnMouseEnter);
294
299
  });
295
300
  var o;
@@ -358,32 +363,32 @@ var U = (s, e = document.body) => Array.from(e.querySelectorAll(s));
358
363
  var de = (s) => typeof s == "string" ? W(s) : s;
359
364
  var pe = ({ containerElement: s, targetChildren: e = "a:not([disabled]), button:not([disabled])", direction: t }) => {
360
365
  let n = false;
361
- const o = de(s) || document.body, i = typeof e == "string" ? U(e, o) : e, r = (a) => {
362
- if (a.preventDefault(), o.focus(), i.length === 0)
366
+ const o = de(s) || document.body, i = typeof e == "string" ? U(e, o) : e, r = (h) => {
367
+ if (h.preventDefault(), o.focus(), i.length === 0)
363
368
  return;
364
- const m = a.key, d = document.activeElement;
365
- let c = i.findIndex((g) => g === d);
369
+ const g = h.key, d = document.activeElement;
370
+ let c = i.findIndex((m) => m === d);
366
371
  if (c === -1) {
367
- m === "ArrowUp" || m === "ArrowLeft" ? i[i.length - 1].focus() : i[0].focus();
372
+ g === "ArrowUp" || g === "ArrowLeft" ? i[i.length - 1].focus() : i[0].focus();
368
373
  return;
369
374
  }
370
- const f = (g) => g > 0 ? g - 1 : i.length - 1, v = (g) => g < i.length - 1 ? g + 1 : 0;
371
- switch (m) {
375
+ const f = (m) => m > 0 ? m - 1 : i.length - 1, v = (m) => m < i.length - 1 ? m + 1 : 0;
376
+ switch (g) {
372
377
  case "ArrowDown":
373
- a.preventDefault(), c = v(c);
378
+ h.preventDefault(), c = v(c);
374
379
  break;
375
380
  case "ArrowRight":
376
381
  break;
377
382
  case "ArrowUp":
378
- a.preventDefault(), c = f(c);
383
+ h.preventDefault(), c = f(c);
379
384
  break;
380
385
  case "ArrowLeft":
381
386
  break;
382
387
  case "Home":
383
- a.preventDefault(), c = 0;
388
+ h.preventDefault(), c = 0;
384
389
  break;
385
390
  case "End":
386
- a.preventDefault(), c = i.length - 1;
391
+ h.preventDefault(), c = i.length - 1;
387
392
  break;
388
393
  default:
389
394
  return;
@@ -430,49 +435,55 @@ var S = class S2 {
430
435
  * @throws {Error} If provided elements are not valid HTMLElements
431
436
  */
432
437
  constructor(e, t = {}) {
433
- l(this, "triggerElement");
434
- l(this, "contentElement");
435
- l(this, "options");
436
- l(this, "OverlayInstance");
437
- l(this, "navigationKeys");
438
- l(this, "triggerStrategy");
439
- l(this, "placement");
440
- l(this, "offsetDistance");
441
- l(this, "preventFromCloseOutside");
442
- l(this, "preventFromCloseInside");
443
- l(this, "defaultState");
444
- l(this, "onToggle", ({ isHidden: e2 }) => {
438
+ a(this, "triggerElement");
439
+ a(this, "contentElement");
440
+ a(this, "options");
441
+ a(this, "OverlayInstance");
442
+ a(this, "navigationKeys");
443
+ a(this, "triggerStrategy");
444
+ a(this, "placement");
445
+ a(this, "offsetDistance");
446
+ a(this, "preventFromCloseOutside");
447
+ a(this, "preventFromCloseInside");
448
+ a(this, "defaultState");
449
+ a(this, "onToggle", ({ isHidden: e2 }) => {
445
450
  var t2, n2;
446
451
  (n2 = (t2 = this.options).onToggle) == null || n2.call(t2, { isHidden: e2 });
447
452
  });
448
- l(this, "beforeShow", () => {
453
+ a(this, "beforeShow", () => {
449
454
  this.contentElement.focus(), this.navigationKeys.make();
450
455
  });
451
- l(this, "beforeHide", () => {
456
+ a(this, "beforeHide", () => {
452
457
  this.contentElement.blur(), this.navigationKeys.destroy();
453
458
  });
454
- l(this, "onShow", () => {
459
+ a(this, "onShow", () => {
455
460
  var e2, t2;
456
461
  K(this.contentElement, "dropdown-show", {
457
462
  isHidden: false
458
463
  }), (t2 = (e2 = this.options).onShow) == null || t2.call(e2);
459
464
  });
460
- l(this, "onHide", () => {
465
+ a(this, "onHide", () => {
461
466
  var e2, t2;
462
467
  K(this.contentElement, "dropdown-hide", {
463
468
  isHidden: true
464
469
  }), (t2 = (e2 = this.options).onHide) == null || t2.call(e2);
465
470
  });
466
- l(this, "show", () => {
471
+ a(this, "show", () => {
467
472
  this.OverlayInstance.show();
468
473
  });
469
- l(this, "hide", () => {
474
+ a(this, "hide", () => {
470
475
  this.OverlayInstance.hide();
471
476
  });
472
- l(this, "setShowOptions", ({ placement: e2, offsetDistance: t2 }) => {
477
+ a(this, "setShowOptions", ({ placement: e2, offsetDistance: t2 }) => {
473
478
  this.OverlayInstance.setShowOptions({ placement: e2, offsetDistance: t2 });
474
479
  });
475
- l(this, "cleanup", () => {
480
+ a(this, "setOptions", ({ placement: e2, offsetDistance: t2 }) => {
481
+ this.OverlayInstance.setPopperOptions({ placement: e2, offsetDistance: t2 });
482
+ });
483
+ a(this, "setPopperTrigger", (e2, t2) => {
484
+ this.OverlayInstance.setPopperTrigger(e2, t2);
485
+ });
486
+ a(this, "cleanup", () => {
476
487
  this.OverlayInstance.cleanup(), x.removeInstance("dropdown", this.contentElement);
477
488
  });
478
489
  const n = typeof e == "string" ? W(e) : e;
@@ -524,7 +535,7 @@ var S = class S2 {
524
535
  new S2(e, t);
525
536
  }
526
537
  };
527
- l(S, "autoInit", (e = "[data-fx-dropdown]") => {
538
+ a(S, "autoInit", (e = "[data-fx-dropdown]") => {
528
539
  const t = U(e);
529
540
  for (const n of t)
530
541
  new S(n);
@@ -1,10 +1,10 @@
1
1
  // ../../node_modules/@flexilla/dropdown/dist/dropdown.js
2
2
  var j = Object.defineProperty;
3
3
  var q = (s, e, t) => e in s ? j(s, e, { enumerable: true, configurable: true, writable: true, value: t }) : s[e] = t;
4
- var l = (s, e, t) => q(s, typeof e != "symbol" ? e + "" : e, t);
4
+ var a = (s, e, t) => q(s, typeof e != "symbol" ? e + "" : e, t);
5
5
  var B = Object.defineProperty;
6
6
  var N = (s, e, t) => e in s ? B(s, e, { enumerable: true, configurable: true, writable: true, value: t }) : s[e] = t;
7
- var h = (s, e, t) => N(s, typeof e != "symbol" ? e + "" : e, t);
7
+ var l = (s, e, t) => N(s, typeof e != "symbol" ? e + "" : e, t);
8
8
  var J = "bottom";
9
9
  var Q = ({ reference: s, popper: e }) => {
10
10
  if (!s || !e)
@@ -32,8 +32,8 @@ var _ = (s, e, t, n, o) => t > o - n ? e() ? window.innerHeight - o : t - o : s(
32
32
  var ee = (s, e, t, n) => s <= n && t - s <= e;
33
33
  var te = (s, e, t, n) => t <= n && -s <= e;
34
34
  var ne = (s, e, t, n, o, i) => {
35
- const r = o - t - i, a = t - n, m = t + i - n + (o - t - i), d = r >= 0 ? o - n : a >= 0 ? t - n : t;
36
- return s() ? 0 : e() ? m : d;
35
+ const r = o - t - i, h = t - n, g = t + i - n + (o - t - i), d = r >= 0 ? o - n : h >= 0 ? t - n : t;
36
+ return s() ? 0 : e() ? g : d;
37
37
  };
38
38
  var se = (s, e, t, n) => s <= t && e - s - n >= s;
39
39
  var ie = (s, e) => s >= e;
@@ -45,27 +45,27 @@ var oe = ({
45
45
  refHeight: o,
46
46
  popperWidth: i,
47
47
  popperHeight: r,
48
- windowHeight: a,
49
- windowWidth: m,
48
+ windowHeight: h,
49
+ windowWidth: g,
50
50
  offsetDistance: d
51
51
  }) => {
52
- const c = m - n - e, f = n, v = a - t - o, g = t, w = () => _(
53
- () => te(t, o, r, a),
54
- () => ee(t, o, r, a),
52
+ const c = g - n - e, f = n, v = h - t - o, m = t, w = () => _(
53
+ () => te(t, o, r, h),
54
+ () => ee(t, o, r, h),
55
55
  t,
56
56
  o,
57
57
  r
58
58
  ), y = () => ne(
59
- () => se(n, m, i, e),
59
+ () => se(n, g, i, e),
60
60
  () => ie(n, i),
61
61
  n,
62
62
  i,
63
- m,
63
+ g,
64
64
  e
65
- ), H = () => Y(i, e, n, m) ? n + e / 2 - i / 2 : y(), C = () => Z(r, o, t, a) ? t + o / 2 - r / 2 : w(), T = () => n + i <= m ? n : y(), O = () => n + e - i >= 0 ? n + e - i : y(), L = () => t + r <= a ? t : w(), G = () => t + o - r >= 0 ? t + o - r : w();
65
+ ), H = () => Y(i, e, n, g) ? n + e / 2 - i / 2 : y(), T = () => Z(r, o, t, h) ? t + o / 2 - r / 2 : w(), C = () => n + i <= g ? n : y(), O = () => n + e - i >= 0 ? n + e - i : y(), L = () => t + r <= h ? t : w(), G = () => t + o - r >= 0 ? t + o - r : w();
66
66
  let u = 0, E = 0;
67
- const M = t - r - d, k = t + o + d, I = n - i - d, D = n + e + d, P = g >= r + d, F = v >= r + d, R = f >= i + d, $ = c >= i + d;
68
- switch (s.startsWith("top") ? E = P ? M : F ? k : Math.max(M, k) : s.startsWith("bottom") ? E = F ? k : P ? M : Math.max(k) : s.startsWith("left") ? u = R ? I : $ ? D : Math.max(I, D) : s.startsWith("right") && (u = $ ? D : R ? I : Math.max(D, I)), s) {
67
+ const M = t - r - d, k = t + o + d, D = n - i - d, I = n + e + d, P = m >= r + d, F = v >= r + d, R = f >= i + d, $ = c >= i + d;
68
+ switch (s.startsWith("top") ? E = P ? M : F ? k : Math.max(M, k) : s.startsWith("bottom") ? E = F ? k : P ? M : Math.max(k) : s.startsWith("left") ? u = R ? D : $ ? I : Math.max(D, I) : s.startsWith("right") && (u = $ ? I : R ? D : Math.max(I, D)), s) {
69
69
  case "bottom":
70
70
  case "bottom-middle":
71
71
  case "top":
@@ -76,11 +76,11 @@ var oe = ({
76
76
  case "left-middle":
77
77
  case "right":
78
78
  case "right-middle":
79
- E = C();
79
+ E = T();
80
80
  break;
81
81
  case "bottom-start":
82
82
  case "top-start":
83
- u = T();
83
+ u = C();
84
84
  break;
85
85
  case "bottom-end":
86
86
  case "top-end":
@@ -131,15 +131,15 @@ var re = class {
131
131
  }), p(this, "initPlacement", () => {
132
132
  var c;
133
133
  this.validateElements(), this.setInitialStyles();
134
- const f = window.innerWidth, v = window.innerHeight, { popperHeight: g, popperWidth: w, refHeight: y, refWidth: H, refLeft: C, refTop: T } = Q({ reference: this.reference, popper: this.popper }), { x: O, y: L } = oe(
134
+ const f = window.innerWidth, v = window.innerHeight, { popperHeight: m, popperWidth: w, refHeight: y, refWidth: H, refLeft: T, refTop: C } = Q({ reference: this.reference, popper: this.popper }), { x: O, y: L } = oe(
135
135
  {
136
136
  placement: this.placement,
137
137
  refWidth: H,
138
- refTop: T,
139
- refLeft: C,
138
+ refTop: C,
139
+ refLeft: T,
140
140
  popperWidth: w,
141
141
  refHeight: y,
142
- popperHeight: g,
142
+ popperHeight: m,
143
143
  windowHeight: v,
144
144
  windowWidth: f,
145
145
  offsetDistance: this.offsetDistance
@@ -161,7 +161,7 @@ var re = class {
161
161
  offsetDistance: o = 10,
162
162
  placement: i = J,
163
163
  eventEffect: r = {},
164
- onUpdate: a
164
+ onUpdate: h
165
165
  } = n;
166
166
  if (!(e instanceof HTMLElement))
167
167
  throw new Error("Invalid HTMLElement for Reference Element");
@@ -169,8 +169,8 @@ var re = class {
169
169
  throw new Error("Invalid HTMLElement for Popper");
170
170
  if (n.offsetDistance && typeof n.offsetDistance != "number")
171
171
  throw new Error("OffsetDistance must be a number");
172
- const { disableOnResize: m, disableOnScroll: d } = r;
173
- this.isWindowEventsRegistered = false, this.reference = e, this.popper = t, this.offsetDistance = o, this.placement = i, this.disableOnResize = m || false, this.disableOnScroll = d || false, this.onUpdate = a;
172
+ const { disableOnResize: g, disableOnScroll: d } = r;
173
+ this.isWindowEventsRegistered = false, this.reference = e, this.popper = t, this.offsetDistance = o, this.placement = i, this.disableOnResize = g || false, this.disableOnScroll = d || false, this.onUpdate = h;
174
174
  }
175
175
  /**
176
176
  * Updates popper configuration and recalculates position
@@ -196,10 +196,10 @@ var le = ({
196
196
  }) => {
197
197
  const o = getComputedStyle(s), i = o.transition;
198
198
  if (i !== "none" && i !== "" && !n.includes(i)) {
199
- const r = "transitionend", a = () => {
200
- s.removeEventListener(r, a), e();
199
+ const r = "transitionend", h = () => {
200
+ s.removeEventListener(r, h), e();
201
201
  };
202
- s.addEventListener(r, a, { once: true });
202
+ s.addEventListener(r, h, { once: true });
203
203
  } else
204
204
  e();
205
205
  };
@@ -215,10 +215,11 @@ var he = ({
215
215
  });
216
216
  };
217
217
  var b = ({ state: s, trigger: e, popper: t }) => {
218
+ const n = s === "open";
218
219
  A(t, {
219
220
  "data-state": s
220
221
  }), A(e, {
221
- "aria-expanded": `${s}`
222
+ "aria-expanded": `${n}`
222
223
  });
223
224
  };
224
225
  var ce = class {
@@ -228,43 +229,47 @@ var ce = class {
228
229
  * @param {string | HTMLElement} params.trigger - The trigger element selector or HTMLElement
229
230
  * @param {string | HTMLElement} params.content - The content element selector or HTMLElement
230
231
  * @param {OverlayOptions} [params.options] - Configuration options for the overlay
231
- * @throws {Error} When trigger or content elements are invalid
232
232
  */
233
233
  constructor({ trigger: e, content: t, options: n = {} }) {
234
- h(this, "triggerElement"), h(this, "contentElement"), h(this, "triggerStrategy"), h(this, "placement"), h(this, "offsetDistance"), h(this, "preventFromCloseOutside"), h(this, "preventFromCloseInside"), h(this, "options"), h(this, "defaultState"), h(this, "popper"), h(this, "eventEffect"), h(this, "getElement", (i) => typeof i == "string" ? ae(i) : i instanceof HTMLElement ? i : void 0), h(this, "handleDocumentClick", (i) => {
234
+ l(this, "triggerElement"), l(this, "contentElement"), l(this, "triggerStrategy"), l(this, "placement"), l(this, "offsetDistance"), l(this, "preventFromCloseOutside"), l(this, "preventFromCloseInside"), l(this, "options"), l(this, "defaultState"), l(this, "popper"), l(this, "eventEffect"), l(this, "getElement", (i) => typeof i == "string" ? ae(i) : i instanceof HTMLElement ? i : void 0), l(this, "handleDocumentClick", (i) => {
235
235
  this.contentElement.getAttribute("data-state") === "open" && (!this.triggerElement.contains(i.target) && !this.preventFromCloseInside && !this.preventFromCloseOutside ? this.hide() : !this.triggerElement.contains(i.target) && !this.contentElement.contains(i.target) && !this.preventFromCloseOutside ? this.hide() : !this.triggerElement.contains(i.target) && !this.contentElement.contains(i.target) && !this.preventFromCloseOutside ? this.hide() : !this.triggerElement.contains(i.target) && this.contentElement.contains(i.target) && !this.preventFromCloseInside && this.hide());
236
- }), h(this, "handleKeyDown", (i) => {
236
+ }), l(this, "handleKeyDown", (i) => {
237
237
  i.preventDefault(), this.triggerStrategy !== "hover" && i.key === "Escape" && this.contentElement.getAttribute("data-state") === "open" && (this.preventFromCloseOutside || this.hide());
238
- }), h(this, "toggleStateOnClick", () => {
238
+ }), l(this, "toggleStateOnClick", () => {
239
239
  (this.contentElement.dataset.state || "close") === "close" ? (this.show(), this.triggerStrategy === "hover" && this.addEventOnMouseEnter()) : this.hide();
240
- }), h(this, "hideOnMouseLeaseTrigger", () => {
240
+ }), l(this, "hideOnMouseLeaseTrigger", () => {
241
241
  setTimeout(() => {
242
242
  this.contentElement.matches(":hover") || this.hide();
243
243
  }, 150);
244
- }), h(this, "hideOnMouseLeave", () => {
244
+ }), l(this, "hideOnMouseLeave", () => {
245
245
  setTimeout(() => {
246
246
  this.triggerElement.matches(":hover") || this.hide();
247
247
  }, 150);
248
- }), h(this, "addEventOnMouseEnter", () => {
248
+ }), l(this, "addEventOnMouseEnter", () => {
249
249
  this.triggerElement.addEventListener("mouseleave", this.hideOnMouseLeaseTrigger), this.contentElement.addEventListener("mouseleave", this.hideOnMouseLeave);
250
- }), h(this, "showOnMouseEnter", () => {
250
+ }), l(this, "showOnMouseEnter", () => {
251
251
  this.show(), this.addEventOnMouseEnter();
252
- }), h(this, "setShowOptions", ({ placement: i, offsetDistance: r }) => {
253
- var a, m, d, c;
252
+ }), l(this, "setShowOptions", ({ placement: i, offsetDistance: r }) => {
253
+ var h, g, d, c;
254
254
  this.popper.setOptions({
255
255
  placement: i,
256
256
  offsetDistance: r
257
- }), document.addEventListener("keydown", this.handleKeyDown), document.addEventListener("click", this.handleDocumentClick), (m = (a = this.options).beforeShow) == null || m.call(a), b({
257
+ }), document.addEventListener("keydown", this.handleKeyDown), document.addEventListener("click", this.handleDocumentClick), (g = (h = this.options).beforeShow) == null || g.call(h), b({
258
258
  state: "open",
259
259
  popper: this.contentElement,
260
260
  trigger: this.triggerElement
261
261
  }), this.onToggleState(false), (c = (d = this.options).onShow) == null || c.call(d);
262
- }), h(this, "setPopperOptions", ({ placement: i, offsetDistance: r }) => {
262
+ }), l(this, "setPopperOptions", ({ placement: i, offsetDistance: r }) => {
263
263
  this.popper.setOptions({
264
264
  placement: i,
265
- offsetDistance: r
265
+ offsetDistance: r || this.offsetDistance
266
266
  });
267
- }), h(this, "cleanup", () => {
267
+ }), l(this, "setPopperTrigger", (i, r) => {
268
+ this.cleanup(), this.popper.setOptions({
269
+ placement: r.placement || this.placement,
270
+ offsetDistance: r.offsetDistance || this.offsetDistance
271
+ }), this.triggerElement = i, this.triggerElement.addEventListener("click", this.toggleStateOnClick), this.triggerStrategy === "hover" && this.triggerElement.addEventListener("mouseenter", this.showOnMouseEnter);
272
+ }), l(this, "cleanup", () => {
268
273
  this.triggerElement.removeEventListener("click", this.toggleStateOnClick), this.triggerStrategy === "hover" && this.triggerElement.removeEventListener("mouseenter", this.showOnMouseEnter);
269
274
  });
270
275
  var o;
@@ -333,32 +338,32 @@ var U = (s, e = document.body) => Array.from(e.querySelectorAll(s));
333
338
  var de = (s) => typeof s == "string" ? W(s) : s;
334
339
  var pe = ({ containerElement: s, targetChildren: e = "a:not([disabled]), button:not([disabled])", direction: t }) => {
335
340
  let n = false;
336
- const o = de(s) || document.body, i = typeof e == "string" ? U(e, o) : e, r = (a) => {
337
- if (a.preventDefault(), o.focus(), i.length === 0)
341
+ const o = de(s) || document.body, i = typeof e == "string" ? U(e, o) : e, r = (h) => {
342
+ if (h.preventDefault(), o.focus(), i.length === 0)
338
343
  return;
339
- const m = a.key, d = document.activeElement;
340
- let c = i.findIndex((g) => g === d);
344
+ const g = h.key, d = document.activeElement;
345
+ let c = i.findIndex((m) => m === d);
341
346
  if (c === -1) {
342
- m === "ArrowUp" || m === "ArrowLeft" ? i[i.length - 1].focus() : i[0].focus();
347
+ g === "ArrowUp" || g === "ArrowLeft" ? i[i.length - 1].focus() : i[0].focus();
343
348
  return;
344
349
  }
345
- const f = (g) => g > 0 ? g - 1 : i.length - 1, v = (g) => g < i.length - 1 ? g + 1 : 0;
346
- switch (m) {
350
+ const f = (m) => m > 0 ? m - 1 : i.length - 1, v = (m) => m < i.length - 1 ? m + 1 : 0;
351
+ switch (g) {
347
352
  case "ArrowDown":
348
- a.preventDefault(), c = v(c);
353
+ h.preventDefault(), c = v(c);
349
354
  break;
350
355
  case "ArrowRight":
351
356
  break;
352
357
  case "ArrowUp":
353
- a.preventDefault(), c = f(c);
358
+ h.preventDefault(), c = f(c);
354
359
  break;
355
360
  case "ArrowLeft":
356
361
  break;
357
362
  case "Home":
358
- a.preventDefault(), c = 0;
363
+ h.preventDefault(), c = 0;
359
364
  break;
360
365
  case "End":
361
- a.preventDefault(), c = i.length - 1;
366
+ h.preventDefault(), c = i.length - 1;
362
367
  break;
363
368
  default:
364
369
  return;
@@ -405,49 +410,55 @@ var S = class S2 {
405
410
  * @throws {Error} If provided elements are not valid HTMLElements
406
411
  */
407
412
  constructor(e, t = {}) {
408
- l(this, "triggerElement");
409
- l(this, "contentElement");
410
- l(this, "options");
411
- l(this, "OverlayInstance");
412
- l(this, "navigationKeys");
413
- l(this, "triggerStrategy");
414
- l(this, "placement");
415
- l(this, "offsetDistance");
416
- l(this, "preventFromCloseOutside");
417
- l(this, "preventFromCloseInside");
418
- l(this, "defaultState");
419
- l(this, "onToggle", ({ isHidden: e2 }) => {
413
+ a(this, "triggerElement");
414
+ a(this, "contentElement");
415
+ a(this, "options");
416
+ a(this, "OverlayInstance");
417
+ a(this, "navigationKeys");
418
+ a(this, "triggerStrategy");
419
+ a(this, "placement");
420
+ a(this, "offsetDistance");
421
+ a(this, "preventFromCloseOutside");
422
+ a(this, "preventFromCloseInside");
423
+ a(this, "defaultState");
424
+ a(this, "onToggle", ({ isHidden: e2 }) => {
420
425
  var t2, n2;
421
426
  (n2 = (t2 = this.options).onToggle) == null || n2.call(t2, { isHidden: e2 });
422
427
  });
423
- l(this, "beforeShow", () => {
428
+ a(this, "beforeShow", () => {
424
429
  this.contentElement.focus(), this.navigationKeys.make();
425
430
  });
426
- l(this, "beforeHide", () => {
431
+ a(this, "beforeHide", () => {
427
432
  this.contentElement.blur(), this.navigationKeys.destroy();
428
433
  });
429
- l(this, "onShow", () => {
434
+ a(this, "onShow", () => {
430
435
  var e2, t2;
431
436
  K(this.contentElement, "dropdown-show", {
432
437
  isHidden: false
433
438
  }), (t2 = (e2 = this.options).onShow) == null || t2.call(e2);
434
439
  });
435
- l(this, "onHide", () => {
440
+ a(this, "onHide", () => {
436
441
  var e2, t2;
437
442
  K(this.contentElement, "dropdown-hide", {
438
443
  isHidden: true
439
444
  }), (t2 = (e2 = this.options).onHide) == null || t2.call(e2);
440
445
  });
441
- l(this, "show", () => {
446
+ a(this, "show", () => {
442
447
  this.OverlayInstance.show();
443
448
  });
444
- l(this, "hide", () => {
449
+ a(this, "hide", () => {
445
450
  this.OverlayInstance.hide();
446
451
  });
447
- l(this, "setShowOptions", ({ placement: e2, offsetDistance: t2 }) => {
452
+ a(this, "setShowOptions", ({ placement: e2, offsetDistance: t2 }) => {
448
453
  this.OverlayInstance.setShowOptions({ placement: e2, offsetDistance: t2 });
449
454
  });
450
- l(this, "cleanup", () => {
455
+ a(this, "setOptions", ({ placement: e2, offsetDistance: t2 }) => {
456
+ this.OverlayInstance.setPopperOptions({ placement: e2, offsetDistance: t2 });
457
+ });
458
+ a(this, "setPopperTrigger", (e2, t2) => {
459
+ this.OverlayInstance.setPopperTrigger(e2, t2);
460
+ });
461
+ a(this, "cleanup", () => {
451
462
  this.OverlayInstance.cleanup(), x.removeInstance("dropdown", this.contentElement);
452
463
  });
453
464
  const n = typeof e == "string" ? W(e) : e;
@@ -499,7 +510,7 @@ var S = class S2 {
499
510
  new S2(e, t);
500
511
  }
501
512
  };
502
- l(S, "autoInit", (e = "[data-fx-dropdown]") => {
513
+ a(S, "autoInit", (e = "[data-fx-dropdown]") => {
503
514
  const t = U(e);
504
515
  for (const n of t)
505
516
  new S(n);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flexilla/alpine-dropdown",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "AlpineJS plugin for adding Dropdown functionality to your AlpineJS components",
5
5
  "type": "module",
6
6
  "private": false,
@@ -58,7 +58,7 @@
58
58
  "Flexilla"
59
59
  ],
60
60
  "dependencies": {
61
- "@flexilla/dropdown": "^2.1.0"
61
+ "@flexilla/dropdown": "^2.1.3"
62
62
  },
63
- "gitHead": "2de9f4208852d8b159dfd7a84c4e8d03f9d53a86"
63
+ "gitHead": "584636c3f3b85dfa71666f5354221dcfc385f9e6"
64
64
  }