@flexilla/alpine-popover 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 +96 -64
- package/dist/cdn.min.js +1 -1
- package/dist/module.cjs.js +96 -64
- package/dist/module.esm.js +96 -64
- package/package.json +3 -3
package/dist/cdn.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// ../../node_modules/@flexilla/popover/dist/popover.js
|
|
3
3
|
var K = Object.defineProperty;
|
|
4
4
|
var U = (i, e, t) => e in i ? K(i, e, { enumerable: true, configurable: true, writable: true, value: t }) : i[e] = t;
|
|
5
|
-
var
|
|
5
|
+
var h = (i, e, t) => U(i, typeof e != "symbol" ? e + "" : e, t);
|
|
6
6
|
var A = (i, e = document.body) => e.querySelector(i);
|
|
7
7
|
var j = (i, e = document.body) => Array.from(e.querySelectorAll(i));
|
|
8
8
|
var M = (i, e, t) => {
|
|
@@ -14,20 +14,22 @@
|
|
|
14
14
|
var a = (i, e, t) => B(i, typeof e != "symbol" ? e + "" : e, t);
|
|
15
15
|
var J = "bottom";
|
|
16
16
|
var N = ({ reference: i, popper: e }) => {
|
|
17
|
-
|
|
17
|
+
if (!i || !e)
|
|
18
|
+
throw new Error("Reference or popper element is null or undefined");
|
|
19
|
+
const t = /* @__PURE__ */ new WeakMap(), s = (r) => (t.has(r) || t.set(r, r.getBoundingClientRect()), t.get(r)), o = s(e), n = s(i);
|
|
18
20
|
return {
|
|
19
|
-
popperHeight:
|
|
20
|
-
popperWidth:
|
|
21
|
-
refHeight:
|
|
22
|
-
refWidth:
|
|
23
|
-
refLeft:
|
|
24
|
-
refTop:
|
|
25
|
-
refRight:
|
|
21
|
+
popperHeight: o.height,
|
|
22
|
+
popperWidth: o.width,
|
|
23
|
+
refHeight: n.height,
|
|
24
|
+
refWidth: n.width,
|
|
25
|
+
refLeft: n.left,
|
|
26
|
+
refTop: n.top,
|
|
27
|
+
refRight: n.right
|
|
26
28
|
};
|
|
27
29
|
};
|
|
28
30
|
var Q = Object.defineProperty;
|
|
29
31
|
var V = (i, e, t) => e in i ? Q(i, e, { enumerable: true, configurable: true, writable: true, value: t }) : i[e] = t;
|
|
30
|
-
var
|
|
32
|
+
var p = (i, e, t) => V(i, typeof e != "symbol" ? e + "" : e, t);
|
|
31
33
|
var X = (i, e, t, s) => {
|
|
32
34
|
const o = t, n = s - (t + e);
|
|
33
35
|
return o >= (i - e) / 2 && n >= (i - e) / 2;
|
|
@@ -54,7 +56,7 @@
|
|
|
54
56
|
windowWidth: d,
|
|
55
57
|
offsetDistance: c
|
|
56
58
|
}) => {
|
|
57
|
-
const
|
|
59
|
+
const g = d - s - e, v = s, L = l - t - o, D = t, u = () => Z(
|
|
58
60
|
() => ee(t, o, r, l),
|
|
59
61
|
() => _(t, o, r, l),
|
|
60
62
|
t,
|
|
@@ -67,29 +69,29 @@
|
|
|
67
69
|
n,
|
|
68
70
|
d,
|
|
69
71
|
e
|
|
70
|
-
), k = () => X(n, e, s, d) ? s + e / 2 - n / 2 : E(),
|
|
71
|
-
let
|
|
72
|
-
const
|
|
73
|
-
switch (i.startsWith("top") ? f = W ?
|
|
72
|
+
), k = () => X(n, e, s, d) ? s + e / 2 - n / 2 : E(), C = () => Y(r, o, t, l) ? t + o / 2 - r / 2 : u(), P = () => s + n <= d ? s : E(), y = () => s + e - n >= 0 ? s + e - n : E(), b = () => t + r <= l ? t : u(), G = () => t + o - r >= 0 ? t + o - r : u();
|
|
73
|
+
let m = 0, f = 0;
|
|
74
|
+
const T = t - r - c, S = t + o + c, O = s - n - c, I = s + e + c, W = D >= r + c, F = L >= r + c, R = v >= n + c, $ = g >= n + c;
|
|
75
|
+
switch (i.startsWith("top") ? f = W ? T : F ? S : Math.max(T, S) : i.startsWith("bottom") ? f = F ? S : W ? T : Math.max(S) : i.startsWith("left") ? m = R ? O : $ ? I : Math.max(O, I) : i.startsWith("right") && (m = $ ? I : R ? O : Math.max(I, O)), i) {
|
|
74
76
|
case "bottom":
|
|
75
77
|
case "bottom-middle":
|
|
76
78
|
case "top":
|
|
77
79
|
case "top-middle":
|
|
78
|
-
|
|
80
|
+
m = k();
|
|
79
81
|
break;
|
|
80
82
|
case "left":
|
|
81
83
|
case "left-middle":
|
|
82
84
|
case "right":
|
|
83
85
|
case "right-middle":
|
|
84
|
-
f =
|
|
86
|
+
f = C();
|
|
85
87
|
break;
|
|
86
88
|
case "bottom-start":
|
|
87
89
|
case "top-start":
|
|
88
|
-
|
|
90
|
+
m = P();
|
|
89
91
|
break;
|
|
90
92
|
case "bottom-end":
|
|
91
93
|
case "top-end":
|
|
92
|
-
|
|
94
|
+
m = y();
|
|
93
95
|
break;
|
|
94
96
|
case "left-start":
|
|
95
97
|
case "right-start":
|
|
@@ -100,7 +102,7 @@
|
|
|
100
102
|
f = G();
|
|
101
103
|
break;
|
|
102
104
|
}
|
|
103
|
-
return { x:
|
|
105
|
+
return { x: m, y: f };
|
|
104
106
|
};
|
|
105
107
|
var oe = class {
|
|
106
108
|
/**
|
|
@@ -109,45 +111,57 @@
|
|
|
109
111
|
* @param popper
|
|
110
112
|
* @param options
|
|
111
113
|
*/
|
|
114
|
+
/**
|
|
115
|
+
* Creates an instance of CreatePopper
|
|
116
|
+
* @param {HTMLElement} reference - The reference element to position against
|
|
117
|
+
* @param {HTMLElement} popper - The element to be positioned
|
|
118
|
+
* @param {PopperOptions} [options] - Configuration options
|
|
119
|
+
* @param {number} [options.offsetDistance] - Distance between popper and reference element
|
|
120
|
+
* @param {Placement} [options.placement] - Preferred placement of the popper
|
|
121
|
+
* @param {Object} [options.eventEffect] - Event handling configuration
|
|
122
|
+
* @param {boolean} [options.eventEffect.disableOnResize] - Disable position updates on window resize
|
|
123
|
+
* @param {boolean} [options.eventEffect.disableOnScroll] - Disable position updates on scroll
|
|
124
|
+
* @param {Function} [options.onUpdate] - Callback function when position updates
|
|
125
|
+
*/
|
|
112
126
|
constructor(e, t, s = {}) {
|
|
113
|
-
|
|
127
|
+
p(this, "reference"), p(this, "popper"), p(this, "offsetDistance"), p(this, "placement"), p(this, "disableOnResize"), p(this, "disableOnScroll"), p(this, "onUpdate"), p(this, "isWindowEventsRegistered"), p(this, "validateElements", () => {
|
|
114
128
|
if (!(this.reference instanceof HTMLElement))
|
|
115
129
|
throw new Error("Invalid HTMLElement for Reference Element");
|
|
116
130
|
if (!(this.popper instanceof HTMLElement))
|
|
117
131
|
throw new Error("Invalid HTMLElement for Popper");
|
|
118
132
|
if (typeof this.offsetDistance != "number")
|
|
119
133
|
throw new Error("OffsetDistance must be a number");
|
|
120
|
-
}),
|
|
121
|
-
this.popper.style.setProperty("--fx-popper-placement-x", `${
|
|
122
|
-
}),
|
|
134
|
+
}), p(this, "setPopperStyleProperty", (g, v) => {
|
|
135
|
+
this.popper.style.setProperty("--fx-popper-placement-x", `${g}px`), this.popper.style.setProperty("--fx-popper-placement-y", `${v}px`);
|
|
136
|
+
}), p(this, "setInitialStyles", () => {
|
|
123
137
|
this.popper.style.setProperty("--fx-popper-placement-x", ""), this.popper.style.setProperty("--fx-popper-placement-y", "");
|
|
124
|
-
}),
|
|
125
|
-
var
|
|
138
|
+
}), p(this, "initPlacement", () => {
|
|
139
|
+
var g;
|
|
126
140
|
this.validateElements(), this.setInitialStyles();
|
|
127
|
-
const v = window.innerWidth,
|
|
141
|
+
const v = window.innerWidth, L = window.innerHeight, { popperHeight: D, popperWidth: u, refHeight: E, refWidth: k, refLeft: C, refTop: P } = N({ reference: this.reference, popper: this.popper }), { x: y, y: b } = ne(
|
|
128
142
|
{
|
|
129
143
|
placement: this.placement,
|
|
130
144
|
refWidth: k,
|
|
131
|
-
refTop:
|
|
132
|
-
refLeft:
|
|
145
|
+
refTop: P,
|
|
146
|
+
refLeft: C,
|
|
133
147
|
popperWidth: u,
|
|
134
148
|
refHeight: E,
|
|
135
|
-
popperHeight:
|
|
136
|
-
windowHeight:
|
|
149
|
+
popperHeight: D,
|
|
150
|
+
windowHeight: L,
|
|
137
151
|
windowWidth: v,
|
|
138
152
|
offsetDistance: this.offsetDistance
|
|
139
153
|
}
|
|
140
154
|
);
|
|
141
|
-
this.setPopperStyleProperty(y, b), (
|
|
142
|
-
}),
|
|
155
|
+
this.setPopperStyleProperty(y, b), (g = this.onUpdate) == null || g.call(this, { x: y, y: b, placement: this.placement });
|
|
156
|
+
}), p(this, "removeWindowEvents", () => {
|
|
143
157
|
this.isWindowEventsRegistered && (!this.disableOnResize && window.removeEventListener("resize", this.updatePosition), !this.disableOnScroll && window.removeEventListener("scroll", this.updatePosition), this.isWindowEventsRegistered = false);
|
|
144
|
-
}),
|
|
158
|
+
}), p(this, "attachWindowEvent", () => {
|
|
145
159
|
this.isWindowEventsRegistered && this.removeWindowEvents(), this.disableOnResize || window.addEventListener("resize", this.updatePosition), this.disableOnScroll || window.addEventListener("scroll", this.updatePosition), this.isWindowEventsRegistered = true;
|
|
146
|
-
}),
|
|
160
|
+
}), p(this, "resetPosition", () => {
|
|
147
161
|
this.setInitialStyles();
|
|
148
|
-
}),
|
|
162
|
+
}), p(this, "updatePosition", () => {
|
|
149
163
|
this.initPlacement(), this.attachWindowEvent();
|
|
150
|
-
}),
|
|
164
|
+
}), p(this, "cleanupEvents", () => {
|
|
151
165
|
this.setInitialStyles(), this.removeWindowEvents();
|
|
152
166
|
});
|
|
153
167
|
const {
|
|
@@ -165,6 +179,13 @@
|
|
|
165
179
|
const { disableOnResize: d, disableOnScroll: c } = r;
|
|
166
180
|
this.isWindowEventsRegistered = false, this.reference = e, this.popper = t, this.offsetDistance = o, this.placement = n, this.disableOnResize = d || false, this.disableOnScroll = c || false, this.onUpdate = l;
|
|
167
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Updates popper configuration and recalculates position
|
|
184
|
+
* @public
|
|
185
|
+
* @param {Object} options - New configuration options
|
|
186
|
+
* @param {Placement} options.placement - New placement value
|
|
187
|
+
* @param {number} [options.offsetDistance] - New offset distance
|
|
188
|
+
*/
|
|
168
189
|
setOptions({ placement: e, offsetDistance: t }) {
|
|
169
190
|
this.placement = e, this.offsetDistance = t || this.offsetDistance, this.initPlacement(), this.attachWindowEvent();
|
|
170
191
|
}
|
|
@@ -201,10 +222,11 @@
|
|
|
201
222
|
});
|
|
202
223
|
};
|
|
203
224
|
var w = ({ state: i, trigger: e, popper: t }) => {
|
|
225
|
+
const s = i === "open";
|
|
204
226
|
z(t, {
|
|
205
227
|
"data-state": i
|
|
206
228
|
}), z(e, {
|
|
207
|
-
"aria-expanded": `${
|
|
229
|
+
"aria-expanded": `${s}`
|
|
208
230
|
});
|
|
209
231
|
};
|
|
210
232
|
var he = class {
|
|
@@ -214,7 +236,6 @@
|
|
|
214
236
|
* @param {string | HTMLElement} params.trigger - The trigger element selector or HTMLElement
|
|
215
237
|
* @param {string | HTMLElement} params.content - The content element selector or HTMLElement
|
|
216
238
|
* @param {OverlayOptions} [params.options] - Configuration options for the overlay
|
|
217
|
-
* @throws {Error} When trigger or content elements are invalid
|
|
218
239
|
*/
|
|
219
240
|
constructor({ trigger: e, content: t, options: s = {} }) {
|
|
220
241
|
a(this, "triggerElement"), a(this, "contentElement"), a(this, "triggerStrategy"), a(this, "placement"), a(this, "offsetDistance"), a(this, "preventFromCloseOutside"), a(this, "preventFromCloseInside"), a(this, "options"), a(this, "defaultState"), a(this, "popper"), a(this, "eventEffect"), a(this, "getElement", (n) => typeof n == "string" ? re(n) : n instanceof HTMLElement ? n : void 0), a(this, "handleDocumentClick", (n) => {
|
|
@@ -236,7 +257,7 @@
|
|
|
236
257
|
}), a(this, "showOnMouseEnter", () => {
|
|
237
258
|
this.show(), this.addEventOnMouseEnter();
|
|
238
259
|
}), a(this, "setShowOptions", ({ placement: n, offsetDistance: r }) => {
|
|
239
|
-
var l, d, c,
|
|
260
|
+
var l, d, c, g;
|
|
240
261
|
this.popper.setOptions({
|
|
241
262
|
placement: n,
|
|
242
263
|
offsetDistance: r
|
|
@@ -244,12 +265,17 @@
|
|
|
244
265
|
state: "open",
|
|
245
266
|
popper: this.contentElement,
|
|
246
267
|
trigger: this.triggerElement
|
|
247
|
-
}), this.onToggleState(false), (
|
|
268
|
+
}), this.onToggleState(false), (g = (c = this.options).onShow) == null || g.call(c);
|
|
248
269
|
}), a(this, "setPopperOptions", ({ placement: n, offsetDistance: r }) => {
|
|
249
270
|
this.popper.setOptions({
|
|
250
271
|
placement: n,
|
|
251
|
-
offsetDistance: r
|
|
272
|
+
offsetDistance: r || this.offsetDistance
|
|
252
273
|
});
|
|
274
|
+
}), a(this, "setPopperTrigger", (n, r) => {
|
|
275
|
+
this.cleanup(), this.popper.setOptions({
|
|
276
|
+
placement: r.placement || this.placement,
|
|
277
|
+
offsetDistance: r.offsetDistance || this.offsetDistance
|
|
278
|
+
}), this.triggerElement = n, this.triggerElement.addEventListener("click", this.toggleStateOnClick), this.triggerStrategy === "hover" && this.triggerElement.addEventListener("mouseenter", this.showOnMouseEnter);
|
|
253
279
|
}), a(this, "cleanup", () => {
|
|
254
280
|
this.triggerElement.removeEventListener("click", this.toggleStateOnClick), this.triggerStrategy === "hover" && this.triggerElement.removeEventListener("mouseenter", this.showOnMouseEnter);
|
|
255
281
|
});
|
|
@@ -314,7 +340,7 @@
|
|
|
314
340
|
}), this.triggerElement.addEventListener("click", this.toggleStateOnClick), this.triggerStrategy === "hover" && this.triggerElement.addEventListener("mouseenter", this.showOnMouseEnter);
|
|
315
341
|
}
|
|
316
342
|
};
|
|
317
|
-
var
|
|
343
|
+
var H = class {
|
|
318
344
|
static initGlobalRegistry() {
|
|
319
345
|
window.$flexillaInstances || (window.$flexillaInstances = {});
|
|
320
346
|
}
|
|
@@ -333,7 +359,7 @@
|
|
|
333
359
|
));
|
|
334
360
|
}
|
|
335
361
|
};
|
|
336
|
-
var
|
|
362
|
+
var x = class _x {
|
|
337
363
|
/**
|
|
338
364
|
* Creates a new Popover instance.
|
|
339
365
|
* @param {string | HTMLElement} popoverEl - The popover content element or its selector.
|
|
@@ -350,35 +376,41 @@
|
|
|
350
376
|
* });
|
|
351
377
|
*/
|
|
352
378
|
constructor(e, t = {}) {
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
379
|
+
h(this, "triggerElement");
|
|
380
|
+
h(this, "contentElement");
|
|
381
|
+
h(this, "options");
|
|
382
|
+
h(this, "PopoverInstance");
|
|
383
|
+
h(this, "triggerStrategy");
|
|
384
|
+
h(this, "placement");
|
|
385
|
+
h(this, "offsetDistance");
|
|
386
|
+
h(this, "preventFromCloseOutside");
|
|
387
|
+
h(this, "preventFromCloseInside");
|
|
388
|
+
h(this, "defaultState");
|
|
389
|
+
h(this, "setShowOptions", ({ placement: e2, offsetDistance: t2 }) => {
|
|
364
390
|
this.PopoverInstance.setShowOptions({ placement: e2, offsetDistance: t2 });
|
|
365
391
|
});
|
|
366
|
-
|
|
392
|
+
h(this, "setOptions", ({ placement: e2, offsetDistance: t2 }) => {
|
|
393
|
+
this.PopoverInstance.setPopperOptions({ placement: e2, offsetDistance: t2 });
|
|
394
|
+
});
|
|
395
|
+
h(this, "setPopperTrigger", (e2, t2) => {
|
|
396
|
+
this.PopoverInstance.setPopperTrigger(e2, t2);
|
|
397
|
+
});
|
|
398
|
+
h(this, "show", () => {
|
|
367
399
|
this.PopoverInstance.show(), M(this.contentElement, "popover-show", {
|
|
368
400
|
isHidden: false
|
|
369
401
|
});
|
|
370
402
|
});
|
|
371
|
-
|
|
403
|
+
h(this, "hide", () => {
|
|
372
404
|
this.PopoverInstance.hide(), M(this.contentElement, "popover-hide", {
|
|
373
405
|
isHidden: true
|
|
374
406
|
});
|
|
375
407
|
});
|
|
376
|
-
|
|
377
|
-
this.PopoverInstance.cleanup(),
|
|
408
|
+
h(this, "cleanup", () => {
|
|
409
|
+
this.PopoverInstance.cleanup(), H.removeInstance("popover", this.contentElement);
|
|
378
410
|
});
|
|
379
411
|
const s = typeof e == "string" ? A(e) : e;
|
|
380
412
|
this.contentElement = s;
|
|
381
|
-
const o =
|
|
413
|
+
const o = H.getInstance("popover", this.contentElement);
|
|
382
414
|
if (o)
|
|
383
415
|
return o;
|
|
384
416
|
this.triggerElement = A(`[data-popover-trigger][data-popover-id=${s.getAttribute("id")}]`), this.options = t, this.triggerStrategy = this.options.triggerStrategy || s.dataset.triggerStrategy || "click", this.placement = this.options.placement || s.dataset.placement || "bottom-middle", this.offsetDistance = this.options.offsetDistance || parseInt(`${s.dataset.offsetDistance}`) | 6, this.preventFromCloseOutside = this.options.preventFromCloseOutside || s.hasAttribute("data-prevent-close-outside") || false, this.preventFromCloseInside = this.options.preventCloseFromInside || s.hasAttribute("data-prevent-close-inside") || false, this.defaultState = this.options.defaultState || s.dataset.defaultState || "close", this.PopoverInstance = new he({
|
|
@@ -401,7 +433,7 @@
|
|
|
401
433
|
},
|
|
402
434
|
popper: this.options.popper
|
|
403
435
|
}
|
|
404
|
-
}),
|
|
436
|
+
}), H.register("popover", this.contentElement, this);
|
|
405
437
|
}
|
|
406
438
|
/**
|
|
407
439
|
* Creates a new Popover instance with the specified options.
|
|
@@ -415,7 +447,7 @@
|
|
|
415
447
|
* });
|
|
416
448
|
*/
|
|
417
449
|
static init(e, t) {
|
|
418
|
-
return new
|
|
450
|
+
return new _x(e, t);
|
|
419
451
|
}
|
|
420
452
|
/**
|
|
421
453
|
* Automatically initializes all popover elements matching the specified selector.
|
|
@@ -430,14 +462,14 @@
|
|
|
430
462
|
static autoInit(e = "[data-fx-popover]") {
|
|
431
463
|
const t = j(e);
|
|
432
464
|
for (const s of t)
|
|
433
|
-
new
|
|
465
|
+
new _x(s);
|
|
434
466
|
}
|
|
435
467
|
};
|
|
436
468
|
|
|
437
469
|
// src/index.js
|
|
438
470
|
function Popover(Alpine) {
|
|
439
471
|
Alpine.directive("popover", (el, {}, { cleanup }) => {
|
|
440
|
-
const popover_ = new
|
|
472
|
+
const popover_ = new x(el);
|
|
441
473
|
cleanup(() => {
|
|
442
474
|
popover_.cleanup();
|
|
443
475
|
});
|
package/dist/cdn.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var q=Object.defineProperty,B=(s,e,t)=>e in s?q(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,c=(s,e,t)=>B(s,typeof e!="symbol"?e+"":e,t),j=(s,e=document.body)=>e.querySelector(s),J=(s,e=document.body)=>Array.from(e.querySelectorAll(s)),x=(s,e,t)=>{let i=new CustomEvent(e,{detail:t});s.dispatchEvent(i)},N=Object.defineProperty,Q=(s,e,t)=>e in s?N(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,a=(s,e,t)=>Q(s,typeof e!="symbol"?e+"":e,t),V="bottom",X=({reference:s,popper:e})=>{let t=e.getBoundingClientRect(),i=s.getBoundingClientRect();return{popperHeight:t.height,popperWidth:t.width,refHeight:i.height,refWidth:i.width,refLeft:i.left,refTop:i.top,refRight:i.right}},Y=Object.defineProperty,Z=(s,e,t)=>e in s?Y(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,h=(s,e,t)=>Z(s,typeof e!="symbol"?e+"":e,t),_=(s,e,t,i)=>{let o=t,n=i-(t+e);return o>=(s-e)/2&&n>=(s-e)/2},ee=(s,e,t,i)=>(s-e)/2<=t&&t+s/2+e/2<=i,te=(s,e,t,i,o)=>t>o-i?e()?window.innerHeight-o:t-o:s()?0:t+i,ie=(s,e,t,i)=>s<=i&&t-s<=e,se=(s,e,t,i)=>t<=i&&-s<=e,ne=(s,e,t,i,o,n)=>{let r=o-t-n,l=t-i,d=t+n-i+(o-t-n),p=r>=0?o-i:l>=0?t-i:t;return s()?0:e()?d:p},oe=(s,e,t,i)=>s<=t&&e-s-i>=s,re=(s,e)=>s>=e,ae=({placement:s,refWidth:e,refTop:t,refLeft:i,refHeight:o,popperWidth:n,popperHeight:r,windowHeight:l,windowWidth:d,offsetDistance:p})=>{let m=d-i-e,v=i,H=l-t-o,k=t,E=()=>te(()=>se(t,o,r,l),()=>ie(t,o,r,l),t,o,r),u=()=>ne(()=>oe(i,d,n,e),()=>re(i,n),i,n,d,e),P=()=>_(n,e,i,d)?i+e/2-n/2:u(),T=()=>ee(r,o,t,l)?t+o/2-r/2:E(),M=()=>i+n<=d?i:u(),b=()=>i+e-n>=0?i+e-n:u(),S=()=>t+r<=l?t:E(),U=()=>t+o-r>=0?t+o-r:E(),g=0,f=0,O=t-r-p,L=t+o+p,I=i-n-p,D=i+e+p,R=k>=r+p,$=H>=r+p,A=v>=n+p,z=m>=n+p;switch(s.startsWith("top")?f=R?O:$?L:Math.max(O,L):s.startsWith("bottom")?f=$?L:R?O:Math.max(O,L):s.startsWith("left")?g=A?I:z?D:Math.max(I,D):s.startsWith("right")&&(g=z?D:A?I:Math.max(I,D)),s){case"bottom":case"bottom-middle":case"top":case"top-middle":g=P();break;case"left":case"left-middle":case"right":case"right-middle":f=T();break;case"bottom-start":case"top-start":g=M();break;case"bottom-end":case"top-end":g=b();break;case"left-start":case"right-start":f=S();break;case"left-end":case"right-end":f=U();break}return{x:g,y:f}},W=class{constructor(e,t,i={}){h(this,"reference"),h(this,"popper"),h(this,"offsetDistance"),h(this,"placement"),h(this,"disableOnResize"),h(this,"disableOnScroll"),h(this,"onUpdate"),h(this,"isWindowEventsRegistered"),h(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")}),h(this,"setPopperStyleProperty",(m,v)=>{this.popper.style.setProperty("--fx-popper-placement-x",`${m}px`),this.popper.style.setProperty("--fx-popper-placement-y",`${v}px`)}),h(this,"setInitialStyles",()=>{this.popper.style.setProperty("--fx-popper-placement-x",""),this.popper.style.setProperty("--fx-popper-placement-y","")}),h(this,"initPlacement",()=>{var m;this.validateElements(),this.setInitialStyles();let v=window.innerWidth,H=window.innerHeight,{popperHeight:k,popperWidth:E,refHeight:u,refWidth:P,refLeft:T,refTop:M}=X({reference:this.reference,popper:this.popper}),{x:b,y:S}=ae({placement:this.placement,refWidth:P,refTop:M,refLeft:T,popperWidth:E,refHeight:u,popperHeight:k,windowHeight:H,windowWidth:v,offsetDistance:this.offsetDistance});this.setPopperStyleProperty(b,S),(m=this.onUpdate)==null||m.call(this,{x:b,y:S,placement:this.placement})}),h(this,"removeWindowEvents",()=>{this.isWindowEventsRegistered&&(!this.disableOnResize&&window.removeEventListener("resize",this.updatePosition),!this.disableOnScroll&&window.removeEventListener("scroll",this.updatePosition),this.isWindowEventsRegistered=!1)}),h(this,"attachWindowEvent",()=>{this.isWindowEventsRegistered&&this.removeWindowEvents(),this.disableOnResize||window.addEventListener("resize",this.updatePosition),this.disableOnScroll||window.addEventListener("scroll",this.updatePosition),this.isWindowEventsRegistered=!0}),h(this,"resetPosition",()=>{this.setInitialStyles()}),h(this,"updatePosition",()=>{this.initPlacement(),this.attachWindowEvent()}),h(this,"cleanupEvents",()=>{this.setInitialStyles(),this.removeWindowEvents()});let{offsetDistance:o=10,placement:n=V,eventEffect:r={},onUpdate:l}=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:d,disableOnScroll:p}=r;this.isWindowEventsRegistered=!1,this.reference=e,this.popper=t,this.offsetDistance=o,this.placement=n,this.disableOnResize=d||!1,this.disableOnScroll=p||!1,this.onUpdate=l}setOptions({placement:e,offsetDistance:t}){this.placement=e,this.offsetDistance=t||this.offsetDistance,this.initPlacement(),this.attachWindowEvent()}},le=(s,e=document.body)=>e.querySelector(s),G=(s,e)=>{for(let[t,i]of Object.entries(e))s.setAttribute(t,i)},he=({element:s,callback:e,type:t,keysCheck:i})=>{let o=getComputedStyle(s),n=o.transition;if(n!=="none"&&n!==""&&!i.includes(n)){let r="transitionend",l=()=>{s.removeEventListener(r,l),e()};s.addEventListener(r,l,{once:!0})}else e()},pe=({element:s,callback:e})=>{he({element:s,callback:e,type:"transition",keysCheck:["all 0s ease 0s","all"]})},w=({state:s,trigger:e,popper:t})=>{G(t,{"data-state":s}),G(e,{"aria-expanded":`${s}`})},F=class{constructor({trigger:e,content:t,options:i={}}){a(this,"triggerElement"),a(this,"contentElement"),a(this,"triggerStrategy"),a(this,"placement"),a(this,"offsetDistance"),a(this,"preventFromCloseOutside"),a(this,"preventFromCloseInside"),a(this,"options"),a(this,"defaultState"),a(this,"popper"),a(this,"eventEffect"),a(this,"getElement",n=>typeof n=="string"?le(n):n instanceof HTMLElement?n:void 0),a(this,"handleDocumentClick",n=>{this.contentElement.getAttribute("data-state")==="open"&&(!this.triggerElement.contains(n.target)&&!this.preventFromCloseInside&&!this.preventFromCloseOutside?this.hide():!this.triggerElement.contains(n.target)&&!this.contentElement.contains(n.target)&&!this.preventFromCloseOutside?this.hide():!this.triggerElement.contains(n.target)&&!this.contentElement.contains(n.target)&&!this.preventFromCloseOutside?this.hide():!this.triggerElement.contains(n.target)&&this.contentElement.contains(n.target)&&!this.preventFromCloseInside&&this.hide())}),a(this,"handleKeyDown",n=>{n.preventDefault(),this.triggerStrategy!=="hover"&&n.key==="Escape"&&this.contentElement.getAttribute("data-state")==="open"&&(this.preventFromCloseOutside||this.hide())}),a(this,"toggleStateOnClick",()=>{(this.contentElement.dataset.state||"close")==="close"?(this.show(),this.triggerStrategy==="hover"&&this.addEventOnMouseEnter()):this.hide()}),a(this,"hideOnMouseLeaseTrigger",()=>{setTimeout(()=>{this.contentElement.matches(":hover")||this.hide()},150)}),a(this,"hideOnMouseLeave",()=>{setTimeout(()=>{this.triggerElement.matches(":hover")||this.hide()},150)}),a(this,"addEventOnMouseEnter",()=>{this.triggerElement.addEventListener("mouseleave",this.hideOnMouseLeaseTrigger),this.contentElement.addEventListener("mouseleave",this.hideOnMouseLeave)}),a(this,"showOnMouseEnter",()=>{this.show(),this.addEventOnMouseEnter()}),a(this,"setShowOptions",({placement:n,offsetDistance:r})=>{var l,d,p,m;this.popper.setOptions({placement:n,offsetDistance:r}),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("click",this.handleDocumentClick),(d=(l=this.options).beforeShow)==null||d.call(l),w({state:"open",popper:this.contentElement,trigger:this.triggerElement}),this.onToggleState(!1),(m=(p=this.options).onShow)==null||m.call(p)}),a(this,"setPopperOptions",({placement:n,offsetDistance:r})=>{this.popper.setOptions({placement:n,offsetDistance:r})}),a(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 W(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),w({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),w({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(){w({state:this.defaultState,popper:this.contentElement,trigger:this.triggerElement}),this.defaultState==="open"?this.show():w({state:"close",popper:this.contentElement,trigger:this.triggerElement}),this.triggerElement.addEventListener("click",this.toggleStateOnClick),this.triggerStrategy==="hover"&&this.triggerElement.addEventListener("mouseenter",this.showOnMouseEnter)}},y=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(n=>n.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))}},C=class s{constructor(e,t={}){c(this,"triggerElement"),c(this,"contentElement"),c(this,"options"),c(this,"PopoverInstance"),c(this,"triggerStrategy"),c(this,"placement"),c(this,"offsetDistance"),c(this,"preventFromCloseOutside"),c(this,"preventFromCloseInside"),c(this,"defaultState"),c(this,"setShowOptions",({placement:n,offsetDistance:r})=>{this.PopoverInstance.setShowOptions({placement:n,offsetDistance:r})}),c(this,"show",()=>{this.PopoverInstance.show(),x(this.contentElement,"popover-show",{isHidden:!1})}),c(this,"hide",()=>{this.PopoverInstance.hide(),x(this.contentElement,"popover-hide",{isHidden:!0})}),c(this,"cleanup",()=>{this.PopoverInstance.cleanup(),y.removeInstance("popover",this.contentElement)});let i=typeof e=="string"?j(e):e;this.contentElement=i;let o=y.getInstance("popover",this.contentElement);if(o)return o;this.triggerElement=j(`[data-popover-trigger][data-popover-id=${i.getAttribute("id")}]`),this.options=t,this.triggerStrategy=this.options.triggerStrategy||i.dataset.triggerStrategy||"click",this.placement=this.options.placement||i.dataset.placement||"bottom-middle",this.offsetDistance=this.options.offsetDistance||parseInt(`${i.dataset.offsetDistance}`)|6,this.preventFromCloseOutside=this.options.preventFromCloseOutside||i.hasAttribute("data-prevent-close-outside")||!1,this.preventFromCloseInside=this.options.preventCloseFromInside||i.hasAttribute("data-prevent-close-inside")||!1,this.defaultState=this.options.defaultState||i.dataset.defaultState||"close",this.PopoverInstance=new F({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,onShow:this.options.onShow,onHide:this.options.onHide,onToggle:({isHidden:n})=>{var r,l;(l=(r=this.options).onToggle)==null||l.call(r,{isHidden:n}),x(this.contentElement,"popover-toggle",{isHidden:n})},popper:this.options.popper}}),y.register("popover",this.contentElement,this)}static init(e,t){return new s(e,t)}static autoInit(e="[data-fx-popover]"){let t=J(e);for(let i of t)new s(i)}};function ce(s){s.directive("popover",(e,{},{cleanup:t})=>{let i=new C(e);t(()=>{i.cleanup()})})}var K=ce;document.addEventListener("alpine:init",()=>{K(window.Alpine)});})();
|
|
1
|
+
(()=>{var q=Object.defineProperty,B=(i,e,t)=>e in i?q(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,p=(i,e,t)=>B(i,typeof e!="symbol"?e+"":e,t),j=(i,e=document.body)=>e.querySelector(i),J=(i,e=document.body)=>Array.from(e.querySelectorAll(i)),W=(i,e,t)=>{let s=new CustomEvent(e,{detail:t});i.dispatchEvent(s)},N=Object.defineProperty,Q=(i,e,t)=>e in i?N(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,a=(i,e,t)=>Q(i,typeof e!="symbol"?e+"":e,t),V="bottom",X=({reference:i,popper:e})=>{if(!i||!e)throw new Error("Reference or popper element is null or undefined");let t=new WeakMap,s=r=>(t.has(r)||t.set(r,r.getBoundingClientRect()),t.get(r)),o=s(e),n=s(i);return{popperHeight:o.height,popperWidth:o.width,refHeight:n.height,refWidth:n.width,refLeft:n.left,refTop:n.top,refRight:n.right}},Y=Object.defineProperty,Z=(i,e,t)=>e in i?Y(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,h=(i,e,t)=>Z(i,typeof e!="symbol"?e+"":e,t),_=(i,e,t,s)=>{let o=t,n=s-(t+e);return o>=(i-e)/2&&n>=(i-e)/2},ee=(i,e,t,s)=>(i-e)/2<=t&&t+i/2+e/2<=s,te=(i,e,t,s,o)=>t>o-s?e()?window.innerHeight-o:t-o:i()?0:t+s,se=(i,e,t,s)=>i<=s&&t-i<=e,ie=(i,e,t,s)=>t<=s&&-i<=e,ne=(i,e,t,s,o,n)=>{let r=o-t-n,l=t-s,d=t+n-s+(o-t-n),c=r>=0?o-s:l>=0?t-s:t;return i()?0:e()?d:c},oe=(i,e,t,s)=>i<=t&&e-i-s>=i,re=(i,e)=>i>=e,ae=({placement:i,refWidth:e,refTop:t,refLeft:s,refHeight:o,popperWidth:n,popperHeight:r,windowHeight:l,windowWidth:d,offsetDistance:c})=>{let m=d-s-e,v=s,P=l-t-o,k=t,E=()=>te(()=>ie(t,o,r,l),()=>se(t,o,r,l),t,o,r),u=()=>ne(()=>oe(s,d,n,e),()=>re(s,n),s,n,d,e),C=()=>_(n,e,s,d)?s+e/2-n/2:u(),H=()=>ee(r,o,t,l)?t+o/2-r/2:E(),T=()=>s+n<=d?s:u(),b=()=>s+e-n>=0?s+e-n:u(),S=()=>t+r<=l?t:E(),U=()=>t+o-r>=0?t+o-r:E(),g=0,f=0,M=t-r-c,O=t+o+c,D=s-n-c,L=s+e+c,R=k>=r+c,$=P>=r+c,A=v>=n+c,z=m>=n+c;switch(i.startsWith("top")?f=R?M:$?O:Math.max(M,O):i.startsWith("bottom")?f=$?O:R?M:Math.max(O):i.startsWith("left")?g=A?D:z?L:Math.max(D,L):i.startsWith("right")&&(g=z?L:A?D:Math.max(L,D)),i){case"bottom":case"bottom-middle":case"top":case"top-middle":g=C();break;case"left":case"left-middle":case"right":case"right-middle":f=H();break;case"bottom-start":case"top-start":g=T();break;case"bottom-end":case"top-end":g=b();break;case"left-start":case"right-start":f=S();break;case"left-end":case"right-end":f=U();break}return{x:g,y:f}},x=class{constructor(e,t,s={}){h(this,"reference"),h(this,"popper"),h(this,"offsetDistance"),h(this,"placement"),h(this,"disableOnResize"),h(this,"disableOnScroll"),h(this,"onUpdate"),h(this,"isWindowEventsRegistered"),h(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")}),h(this,"setPopperStyleProperty",(m,v)=>{this.popper.style.setProperty("--fx-popper-placement-x",`${m}px`),this.popper.style.setProperty("--fx-popper-placement-y",`${v}px`)}),h(this,"setInitialStyles",()=>{this.popper.style.setProperty("--fx-popper-placement-x",""),this.popper.style.setProperty("--fx-popper-placement-y","")}),h(this,"initPlacement",()=>{var m;this.validateElements(),this.setInitialStyles();let v=window.innerWidth,P=window.innerHeight,{popperHeight:k,popperWidth:E,refHeight:u,refWidth:C,refLeft:H,refTop:T}=X({reference:this.reference,popper:this.popper}),{x:b,y:S}=ae({placement:this.placement,refWidth:C,refTop:T,refLeft:H,popperWidth:E,refHeight:u,popperHeight:k,windowHeight:P,windowWidth:v,offsetDistance:this.offsetDistance});this.setPopperStyleProperty(b,S),(m=this.onUpdate)==null||m.call(this,{x:b,y:S,placement:this.placement})}),h(this,"removeWindowEvents",()=>{this.isWindowEventsRegistered&&(!this.disableOnResize&&window.removeEventListener("resize",this.updatePosition),!this.disableOnScroll&&window.removeEventListener("scroll",this.updatePosition),this.isWindowEventsRegistered=!1)}),h(this,"attachWindowEvent",()=>{this.isWindowEventsRegistered&&this.removeWindowEvents(),this.disableOnResize||window.addEventListener("resize",this.updatePosition),this.disableOnScroll||window.addEventListener("scroll",this.updatePosition),this.isWindowEventsRegistered=!0}),h(this,"resetPosition",()=>{this.setInitialStyles()}),h(this,"updatePosition",()=>{this.initPlacement(),this.attachWindowEvent()}),h(this,"cleanupEvents",()=>{this.setInitialStyles(),this.removeWindowEvents()});let{offsetDistance:o=10,placement:n=V,eventEffect:r={},onUpdate:l}=s;if(!(e instanceof HTMLElement))throw new Error("Invalid HTMLElement for Reference Element");if(!(t instanceof HTMLElement))throw new Error("Invalid HTMLElement for Popper");if(s.offsetDistance&&typeof s.offsetDistance!="number")throw new Error("OffsetDistance must be a number");let{disableOnResize:d,disableOnScroll:c}=r;this.isWindowEventsRegistered=!1,this.reference=e,this.popper=t,this.offsetDistance=o,this.placement=n,this.disableOnResize=d||!1,this.disableOnScroll=c||!1,this.onUpdate=l}setOptions({placement:e,offsetDistance:t}){this.placement=e,this.offsetDistance=t||this.offsetDistance,this.initPlacement(),this.attachWindowEvent()}},le=(i,e=document.body)=>e.querySelector(i),G=(i,e)=>{for(let[t,s]of Object.entries(e))i.setAttribute(t,s)},he=({element:i,callback:e,type:t,keysCheck:s})=>{let o=getComputedStyle(i),n=o.transition;if(n!=="none"&&n!==""&&!s.includes(n)){let r="transitionend",l=()=>{i.removeEventListener(r,l),e()};i.addEventListener(r,l,{once:!0})}else e()},pe=({element:i,callback:e})=>{he({element:i,callback:e,type:"transition",keysCheck:["all 0s ease 0s","all"]})},w=({state:i,trigger:e,popper:t})=>{let s=i==="open";G(t,{"data-state":i}),G(e,{"aria-expanded":`${s}`})},F=class{constructor({trigger:e,content:t,options:s={}}){a(this,"triggerElement"),a(this,"contentElement"),a(this,"triggerStrategy"),a(this,"placement"),a(this,"offsetDistance"),a(this,"preventFromCloseOutside"),a(this,"preventFromCloseInside"),a(this,"options"),a(this,"defaultState"),a(this,"popper"),a(this,"eventEffect"),a(this,"getElement",n=>typeof n=="string"?le(n):n instanceof HTMLElement?n:void 0),a(this,"handleDocumentClick",n=>{this.contentElement.getAttribute("data-state")==="open"&&(!this.triggerElement.contains(n.target)&&!this.preventFromCloseInside&&!this.preventFromCloseOutside?this.hide():!this.triggerElement.contains(n.target)&&!this.contentElement.contains(n.target)&&!this.preventFromCloseOutside?this.hide():!this.triggerElement.contains(n.target)&&!this.contentElement.contains(n.target)&&!this.preventFromCloseOutside?this.hide():!this.triggerElement.contains(n.target)&&this.contentElement.contains(n.target)&&!this.preventFromCloseInside&&this.hide())}),a(this,"handleKeyDown",n=>{n.preventDefault(),this.triggerStrategy!=="hover"&&n.key==="Escape"&&this.contentElement.getAttribute("data-state")==="open"&&(this.preventFromCloseOutside||this.hide())}),a(this,"toggleStateOnClick",()=>{(this.contentElement.dataset.state||"close")==="close"?(this.show(),this.triggerStrategy==="hover"&&this.addEventOnMouseEnter()):this.hide()}),a(this,"hideOnMouseLeaseTrigger",()=>{setTimeout(()=>{this.contentElement.matches(":hover")||this.hide()},150)}),a(this,"hideOnMouseLeave",()=>{setTimeout(()=>{this.triggerElement.matches(":hover")||this.hide()},150)}),a(this,"addEventOnMouseEnter",()=>{this.triggerElement.addEventListener("mouseleave",this.hideOnMouseLeaseTrigger),this.contentElement.addEventListener("mouseleave",this.hideOnMouseLeave)}),a(this,"showOnMouseEnter",()=>{this.show(),this.addEventOnMouseEnter()}),a(this,"setShowOptions",({placement:n,offsetDistance:r})=>{var l,d,c,m;this.popper.setOptions({placement:n,offsetDistance:r}),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("click",this.handleDocumentClick),(d=(l=this.options).beforeShow)==null||d.call(l),w({state:"open",popper:this.contentElement,trigger:this.triggerElement}),this.onToggleState(!1),(m=(c=this.options).onShow)==null||m.call(c)}),a(this,"setPopperOptions",({placement:n,offsetDistance:r})=>{this.popper.setOptions({placement:n,offsetDistance:r||this.offsetDistance})}),a(this,"setPopperTrigger",(n,r)=>{this.cleanup(),this.popper.setOptions({placement:r.placement||this.placement,offsetDistance:r.offsetDistance||this.offsetDistance}),this.triggerElement=n,this.triggerElement.addEventListener("click",this.toggleStateOnClick),this.triggerStrategy==="hover"&&this.triggerElement.addEventListener("mouseenter",this.showOnMouseEnter)}),a(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=s,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,s;(s=(t=this.options).onToggle)==null||s.call(t,{isHidden:e})}show(){var e,t,s,o;this.popper.updatePosition(),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("click",this.handleDocumentClick),(t=(e=this.options).beforeShow)==null||t.call(e),w({state:"open",popper:this.contentElement,trigger:this.triggerElement}),this.onToggleState(!1),(o=(s=this.options).onShow)==null||o.call(s)}hide(){var e,t;(t=(e=this.options).beforeHide)==null||t.call(e),w({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 s,o;this.onToggleState(!0),this.popper.cleanupEvents(),(o=(s=this.options).onHide)==null||o.call(s)}})}initInstance(){w({state:this.defaultState,popper:this.contentElement,trigger:this.triggerElement}),this.defaultState==="open"?this.show():w({state:"close",popper:this.contentElement,trigger:this.triggerElement}),this.triggerElement.addEventListener("click",this.toggleStateOnClick),this.triggerStrategy==="hover"&&this.triggerElement.addEventListener("mouseenter",this.showOnMouseEnter)}},y=class{static initGlobalRegistry(){window.$flexillaInstances||(window.$flexillaInstances={})}static register(e,t,s){return this.initGlobalRegistry(),window.$flexillaInstances[e]||(window.$flexillaInstances[e]=[]),this.getInstance(e,t)||(window.$flexillaInstances[e].push({element:t,instance:s}),s)}static getInstance(e,t){var s,o;return this.initGlobalRegistry(),(o=(s=window.$flexillaInstances[e])==null?void 0:s.find(n=>n.element===t))==null?void 0:o.instance}static removeInstance(e,t){this.initGlobalRegistry(),window.$flexillaInstances[e]&&(window.$flexillaInstances[e]=window.$flexillaInstances[e].filter(s=>s.element!==t))}},I=class i{constructor(e,t={}){p(this,"triggerElement"),p(this,"contentElement"),p(this,"options"),p(this,"PopoverInstance"),p(this,"triggerStrategy"),p(this,"placement"),p(this,"offsetDistance"),p(this,"preventFromCloseOutside"),p(this,"preventFromCloseInside"),p(this,"defaultState"),p(this,"setShowOptions",({placement:n,offsetDistance:r})=>{this.PopoverInstance.setShowOptions({placement:n,offsetDistance:r})}),p(this,"setOptions",({placement:n,offsetDistance:r})=>{this.PopoverInstance.setPopperOptions({placement:n,offsetDistance:r})}),p(this,"setPopperTrigger",(n,r)=>{this.PopoverInstance.setPopperTrigger(n,r)}),p(this,"show",()=>{this.PopoverInstance.show(),W(this.contentElement,"popover-show",{isHidden:!1})}),p(this,"hide",()=>{this.PopoverInstance.hide(),W(this.contentElement,"popover-hide",{isHidden:!0})}),p(this,"cleanup",()=>{this.PopoverInstance.cleanup(),y.removeInstance("popover",this.contentElement)});let s=typeof e=="string"?j(e):e;this.contentElement=s;let o=y.getInstance("popover",this.contentElement);if(o)return o;this.triggerElement=j(`[data-popover-trigger][data-popover-id=${s.getAttribute("id")}]`),this.options=t,this.triggerStrategy=this.options.triggerStrategy||s.dataset.triggerStrategy||"click",this.placement=this.options.placement||s.dataset.placement||"bottom-middle",this.offsetDistance=this.options.offsetDistance||parseInt(`${s.dataset.offsetDistance}`)|6,this.preventFromCloseOutside=this.options.preventFromCloseOutside||s.hasAttribute("data-prevent-close-outside")||!1,this.preventFromCloseInside=this.options.preventCloseFromInside||s.hasAttribute("data-prevent-close-inside")||!1,this.defaultState=this.options.defaultState||s.dataset.defaultState||"close",this.PopoverInstance=new F({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,onShow:this.options.onShow,onHide:this.options.onHide,onToggle:({isHidden:n})=>{var r,l;(l=(r=this.options).onToggle)==null||l.call(r,{isHidden:n}),W(this.contentElement,"popover-toggle",{isHidden:n})},popper:this.options.popper}}),y.register("popover",this.contentElement,this)}static init(e,t){return new i(e,t)}static autoInit(e="[data-fx-popover]"){let t=J(e);for(let s of t)new i(s)}};function ce(i){i.directive("popover",(e,{},{cleanup:t})=>{let s=new I(e);t(()=>{s.cleanup()})})}var K=ce;document.addEventListener("alpine:init",()=>{K(window.Alpine)});})();
|
package/dist/module.cjs.js
CHANGED
|
@@ -26,7 +26,7 @@ module.exports = __toCommonJS(module_exports);
|
|
|
26
26
|
// ../../node_modules/@flexilla/popover/dist/popover.js
|
|
27
27
|
var K = Object.defineProperty;
|
|
28
28
|
var U = (i, e, t) => e in i ? K(i, e, { enumerable: true, configurable: true, writable: true, value: t }) : i[e] = t;
|
|
29
|
-
var
|
|
29
|
+
var h = (i, e, t) => U(i, typeof e != "symbol" ? e + "" : e, t);
|
|
30
30
|
var A = (i, e = document.body) => e.querySelector(i);
|
|
31
31
|
var j = (i, e = document.body) => Array.from(e.querySelectorAll(i));
|
|
32
32
|
var M = (i, e, t) => {
|
|
@@ -38,20 +38,22 @@ var B = (i, e, t) => e in i ? q(i, e, { enumerable: true, configurable: true, wr
|
|
|
38
38
|
var a = (i, e, t) => B(i, typeof e != "symbol" ? e + "" : e, t);
|
|
39
39
|
var J = "bottom";
|
|
40
40
|
var N = ({ reference: i, popper: e }) => {
|
|
41
|
-
|
|
41
|
+
if (!i || !e)
|
|
42
|
+
throw new Error("Reference or popper element is null or undefined");
|
|
43
|
+
const t = /* @__PURE__ */ new WeakMap(), s = (r) => (t.has(r) || t.set(r, r.getBoundingClientRect()), t.get(r)), o = s(e), n = s(i);
|
|
42
44
|
return {
|
|
43
|
-
popperHeight:
|
|
44
|
-
popperWidth:
|
|
45
|
-
refHeight:
|
|
46
|
-
refWidth:
|
|
47
|
-
refLeft:
|
|
48
|
-
refTop:
|
|
49
|
-
refRight:
|
|
45
|
+
popperHeight: o.height,
|
|
46
|
+
popperWidth: o.width,
|
|
47
|
+
refHeight: n.height,
|
|
48
|
+
refWidth: n.width,
|
|
49
|
+
refLeft: n.left,
|
|
50
|
+
refTop: n.top,
|
|
51
|
+
refRight: n.right
|
|
50
52
|
};
|
|
51
53
|
};
|
|
52
54
|
var Q = Object.defineProperty;
|
|
53
55
|
var V = (i, e, t) => e in i ? Q(i, e, { enumerable: true, configurable: true, writable: true, value: t }) : i[e] = t;
|
|
54
|
-
var
|
|
56
|
+
var p = (i, e, t) => V(i, typeof e != "symbol" ? e + "" : e, t);
|
|
55
57
|
var X = (i, e, t, s) => {
|
|
56
58
|
const o = t, n = s - (t + e);
|
|
57
59
|
return o >= (i - e) / 2 && n >= (i - e) / 2;
|
|
@@ -78,7 +80,7 @@ var ne = ({
|
|
|
78
80
|
windowWidth: d,
|
|
79
81
|
offsetDistance: c
|
|
80
82
|
}) => {
|
|
81
|
-
const
|
|
83
|
+
const g = d - s - e, v = s, L = l - t - o, D = t, u = () => Z(
|
|
82
84
|
() => ee(t, o, r, l),
|
|
83
85
|
() => _(t, o, r, l),
|
|
84
86
|
t,
|
|
@@ -91,29 +93,29 @@ var ne = ({
|
|
|
91
93
|
n,
|
|
92
94
|
d,
|
|
93
95
|
e
|
|
94
|
-
), k = () => X(n, e, s, d) ? s + e / 2 - n / 2 : E(),
|
|
95
|
-
let
|
|
96
|
-
const
|
|
97
|
-
switch (i.startsWith("top") ? f = W ?
|
|
96
|
+
), k = () => X(n, e, s, d) ? s + e / 2 - n / 2 : E(), C = () => Y(r, o, t, l) ? t + o / 2 - r / 2 : u(), P = () => s + n <= d ? s : E(), y = () => s + e - n >= 0 ? s + e - n : E(), b = () => t + r <= l ? t : u(), G = () => t + o - r >= 0 ? t + o - r : u();
|
|
97
|
+
let m = 0, f = 0;
|
|
98
|
+
const T = t - r - c, S = t + o + c, O = s - n - c, I = s + e + c, W = D >= r + c, F = L >= r + c, R = v >= n + c, $ = g >= n + c;
|
|
99
|
+
switch (i.startsWith("top") ? f = W ? T : F ? S : Math.max(T, S) : i.startsWith("bottom") ? f = F ? S : W ? T : Math.max(S) : i.startsWith("left") ? m = R ? O : $ ? I : Math.max(O, I) : i.startsWith("right") && (m = $ ? I : R ? O : Math.max(I, O)), i) {
|
|
98
100
|
case "bottom":
|
|
99
101
|
case "bottom-middle":
|
|
100
102
|
case "top":
|
|
101
103
|
case "top-middle":
|
|
102
|
-
|
|
104
|
+
m = k();
|
|
103
105
|
break;
|
|
104
106
|
case "left":
|
|
105
107
|
case "left-middle":
|
|
106
108
|
case "right":
|
|
107
109
|
case "right-middle":
|
|
108
|
-
f =
|
|
110
|
+
f = C();
|
|
109
111
|
break;
|
|
110
112
|
case "bottom-start":
|
|
111
113
|
case "top-start":
|
|
112
|
-
|
|
114
|
+
m = P();
|
|
113
115
|
break;
|
|
114
116
|
case "bottom-end":
|
|
115
117
|
case "top-end":
|
|
116
|
-
|
|
118
|
+
m = y();
|
|
117
119
|
break;
|
|
118
120
|
case "left-start":
|
|
119
121
|
case "right-start":
|
|
@@ -124,7 +126,7 @@ var ne = ({
|
|
|
124
126
|
f = G();
|
|
125
127
|
break;
|
|
126
128
|
}
|
|
127
|
-
return { x:
|
|
129
|
+
return { x: m, y: f };
|
|
128
130
|
};
|
|
129
131
|
var oe = class {
|
|
130
132
|
/**
|
|
@@ -133,45 +135,57 @@ var oe = class {
|
|
|
133
135
|
* @param popper
|
|
134
136
|
* @param options
|
|
135
137
|
*/
|
|
138
|
+
/**
|
|
139
|
+
* Creates an instance of CreatePopper
|
|
140
|
+
* @param {HTMLElement} reference - The reference element to position against
|
|
141
|
+
* @param {HTMLElement} popper - The element to be positioned
|
|
142
|
+
* @param {PopperOptions} [options] - Configuration options
|
|
143
|
+
* @param {number} [options.offsetDistance] - Distance between popper and reference element
|
|
144
|
+
* @param {Placement} [options.placement] - Preferred placement of the popper
|
|
145
|
+
* @param {Object} [options.eventEffect] - Event handling configuration
|
|
146
|
+
* @param {boolean} [options.eventEffect.disableOnResize] - Disable position updates on window resize
|
|
147
|
+
* @param {boolean} [options.eventEffect.disableOnScroll] - Disable position updates on scroll
|
|
148
|
+
* @param {Function} [options.onUpdate] - Callback function when position updates
|
|
149
|
+
*/
|
|
136
150
|
constructor(e, t, s = {}) {
|
|
137
|
-
|
|
151
|
+
p(this, "reference"), p(this, "popper"), p(this, "offsetDistance"), p(this, "placement"), p(this, "disableOnResize"), p(this, "disableOnScroll"), p(this, "onUpdate"), p(this, "isWindowEventsRegistered"), p(this, "validateElements", () => {
|
|
138
152
|
if (!(this.reference instanceof HTMLElement))
|
|
139
153
|
throw new Error("Invalid HTMLElement for Reference Element");
|
|
140
154
|
if (!(this.popper instanceof HTMLElement))
|
|
141
155
|
throw new Error("Invalid HTMLElement for Popper");
|
|
142
156
|
if (typeof this.offsetDistance != "number")
|
|
143
157
|
throw new Error("OffsetDistance must be a number");
|
|
144
|
-
}),
|
|
145
|
-
this.popper.style.setProperty("--fx-popper-placement-x", `${
|
|
146
|
-
}),
|
|
158
|
+
}), p(this, "setPopperStyleProperty", (g, v) => {
|
|
159
|
+
this.popper.style.setProperty("--fx-popper-placement-x", `${g}px`), this.popper.style.setProperty("--fx-popper-placement-y", `${v}px`);
|
|
160
|
+
}), p(this, "setInitialStyles", () => {
|
|
147
161
|
this.popper.style.setProperty("--fx-popper-placement-x", ""), this.popper.style.setProperty("--fx-popper-placement-y", "");
|
|
148
|
-
}),
|
|
149
|
-
var
|
|
162
|
+
}), p(this, "initPlacement", () => {
|
|
163
|
+
var g;
|
|
150
164
|
this.validateElements(), this.setInitialStyles();
|
|
151
|
-
const v = window.innerWidth,
|
|
165
|
+
const v = window.innerWidth, L = window.innerHeight, { popperHeight: D, popperWidth: u, refHeight: E, refWidth: k, refLeft: C, refTop: P } = N({ reference: this.reference, popper: this.popper }), { x: y, y: b } = ne(
|
|
152
166
|
{
|
|
153
167
|
placement: this.placement,
|
|
154
168
|
refWidth: k,
|
|
155
|
-
refTop:
|
|
156
|
-
refLeft:
|
|
169
|
+
refTop: P,
|
|
170
|
+
refLeft: C,
|
|
157
171
|
popperWidth: u,
|
|
158
172
|
refHeight: E,
|
|
159
|
-
popperHeight:
|
|
160
|
-
windowHeight:
|
|
173
|
+
popperHeight: D,
|
|
174
|
+
windowHeight: L,
|
|
161
175
|
windowWidth: v,
|
|
162
176
|
offsetDistance: this.offsetDistance
|
|
163
177
|
}
|
|
164
178
|
);
|
|
165
|
-
this.setPopperStyleProperty(y, b), (
|
|
166
|
-
}),
|
|
179
|
+
this.setPopperStyleProperty(y, b), (g = this.onUpdate) == null || g.call(this, { x: y, y: b, placement: this.placement });
|
|
180
|
+
}), p(this, "removeWindowEvents", () => {
|
|
167
181
|
this.isWindowEventsRegistered && (!this.disableOnResize && window.removeEventListener("resize", this.updatePosition), !this.disableOnScroll && window.removeEventListener("scroll", this.updatePosition), this.isWindowEventsRegistered = false);
|
|
168
|
-
}),
|
|
182
|
+
}), p(this, "attachWindowEvent", () => {
|
|
169
183
|
this.isWindowEventsRegistered && this.removeWindowEvents(), this.disableOnResize || window.addEventListener("resize", this.updatePosition), this.disableOnScroll || window.addEventListener("scroll", this.updatePosition), this.isWindowEventsRegistered = true;
|
|
170
|
-
}),
|
|
184
|
+
}), p(this, "resetPosition", () => {
|
|
171
185
|
this.setInitialStyles();
|
|
172
|
-
}),
|
|
186
|
+
}), p(this, "updatePosition", () => {
|
|
173
187
|
this.initPlacement(), this.attachWindowEvent();
|
|
174
|
-
}),
|
|
188
|
+
}), p(this, "cleanupEvents", () => {
|
|
175
189
|
this.setInitialStyles(), this.removeWindowEvents();
|
|
176
190
|
});
|
|
177
191
|
const {
|
|
@@ -189,6 +203,13 @@ var oe = class {
|
|
|
189
203
|
const { disableOnResize: d, disableOnScroll: c } = r;
|
|
190
204
|
this.isWindowEventsRegistered = false, this.reference = e, this.popper = t, this.offsetDistance = o, this.placement = n, this.disableOnResize = d || false, this.disableOnScroll = c || false, this.onUpdate = l;
|
|
191
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* Updates popper configuration and recalculates position
|
|
208
|
+
* @public
|
|
209
|
+
* @param {Object} options - New configuration options
|
|
210
|
+
* @param {Placement} options.placement - New placement value
|
|
211
|
+
* @param {number} [options.offsetDistance] - New offset distance
|
|
212
|
+
*/
|
|
192
213
|
setOptions({ placement: e, offsetDistance: t }) {
|
|
193
214
|
this.placement = e, this.offsetDistance = t || this.offsetDistance, this.initPlacement(), this.attachWindowEvent();
|
|
194
215
|
}
|
|
@@ -225,10 +246,11 @@ var le = ({
|
|
|
225
246
|
});
|
|
226
247
|
};
|
|
227
248
|
var w = ({ state: i, trigger: e, popper: t }) => {
|
|
249
|
+
const s = i === "open";
|
|
228
250
|
z(t, {
|
|
229
251
|
"data-state": i
|
|
230
252
|
}), z(e, {
|
|
231
|
-
"aria-expanded": `${
|
|
253
|
+
"aria-expanded": `${s}`
|
|
232
254
|
});
|
|
233
255
|
};
|
|
234
256
|
var he = class {
|
|
@@ -238,7 +260,6 @@ var he = class {
|
|
|
238
260
|
* @param {string | HTMLElement} params.trigger - The trigger element selector or HTMLElement
|
|
239
261
|
* @param {string | HTMLElement} params.content - The content element selector or HTMLElement
|
|
240
262
|
* @param {OverlayOptions} [params.options] - Configuration options for the overlay
|
|
241
|
-
* @throws {Error} When trigger or content elements are invalid
|
|
242
263
|
*/
|
|
243
264
|
constructor({ trigger: e, content: t, options: s = {} }) {
|
|
244
265
|
a(this, "triggerElement"), a(this, "contentElement"), a(this, "triggerStrategy"), a(this, "placement"), a(this, "offsetDistance"), a(this, "preventFromCloseOutside"), a(this, "preventFromCloseInside"), a(this, "options"), a(this, "defaultState"), a(this, "popper"), a(this, "eventEffect"), a(this, "getElement", (n) => typeof n == "string" ? re(n) : n instanceof HTMLElement ? n : void 0), a(this, "handleDocumentClick", (n) => {
|
|
@@ -260,7 +281,7 @@ var he = class {
|
|
|
260
281
|
}), a(this, "showOnMouseEnter", () => {
|
|
261
282
|
this.show(), this.addEventOnMouseEnter();
|
|
262
283
|
}), a(this, "setShowOptions", ({ placement: n, offsetDistance: r }) => {
|
|
263
|
-
var l, d, c,
|
|
284
|
+
var l, d, c, g;
|
|
264
285
|
this.popper.setOptions({
|
|
265
286
|
placement: n,
|
|
266
287
|
offsetDistance: r
|
|
@@ -268,12 +289,17 @@ var he = class {
|
|
|
268
289
|
state: "open",
|
|
269
290
|
popper: this.contentElement,
|
|
270
291
|
trigger: this.triggerElement
|
|
271
|
-
}), this.onToggleState(false), (
|
|
292
|
+
}), this.onToggleState(false), (g = (c = this.options).onShow) == null || g.call(c);
|
|
272
293
|
}), a(this, "setPopperOptions", ({ placement: n, offsetDistance: r }) => {
|
|
273
294
|
this.popper.setOptions({
|
|
274
295
|
placement: n,
|
|
275
|
-
offsetDistance: r
|
|
296
|
+
offsetDistance: r || this.offsetDistance
|
|
276
297
|
});
|
|
298
|
+
}), a(this, "setPopperTrigger", (n, r) => {
|
|
299
|
+
this.cleanup(), this.popper.setOptions({
|
|
300
|
+
placement: r.placement || this.placement,
|
|
301
|
+
offsetDistance: r.offsetDistance || this.offsetDistance
|
|
302
|
+
}), this.triggerElement = n, this.triggerElement.addEventListener("click", this.toggleStateOnClick), this.triggerStrategy === "hover" && this.triggerElement.addEventListener("mouseenter", this.showOnMouseEnter);
|
|
277
303
|
}), a(this, "cleanup", () => {
|
|
278
304
|
this.triggerElement.removeEventListener("click", this.toggleStateOnClick), this.triggerStrategy === "hover" && this.triggerElement.removeEventListener("mouseenter", this.showOnMouseEnter);
|
|
279
305
|
});
|
|
@@ -338,7 +364,7 @@ var he = class {
|
|
|
338
364
|
}), this.triggerElement.addEventListener("click", this.toggleStateOnClick), this.triggerStrategy === "hover" && this.triggerElement.addEventListener("mouseenter", this.showOnMouseEnter);
|
|
339
365
|
}
|
|
340
366
|
};
|
|
341
|
-
var
|
|
367
|
+
var H = class {
|
|
342
368
|
static initGlobalRegistry() {
|
|
343
369
|
window.$flexillaInstances || (window.$flexillaInstances = {});
|
|
344
370
|
}
|
|
@@ -357,7 +383,7 @@ var x = class {
|
|
|
357
383
|
));
|
|
358
384
|
}
|
|
359
385
|
};
|
|
360
|
-
var
|
|
386
|
+
var x = class _x {
|
|
361
387
|
/**
|
|
362
388
|
* Creates a new Popover instance.
|
|
363
389
|
* @param {string | HTMLElement} popoverEl - The popover content element or its selector.
|
|
@@ -374,35 +400,41 @@ var P = class _P {
|
|
|
374
400
|
* });
|
|
375
401
|
*/
|
|
376
402
|
constructor(e, t = {}) {
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
403
|
+
h(this, "triggerElement");
|
|
404
|
+
h(this, "contentElement");
|
|
405
|
+
h(this, "options");
|
|
406
|
+
h(this, "PopoverInstance");
|
|
407
|
+
h(this, "triggerStrategy");
|
|
408
|
+
h(this, "placement");
|
|
409
|
+
h(this, "offsetDistance");
|
|
410
|
+
h(this, "preventFromCloseOutside");
|
|
411
|
+
h(this, "preventFromCloseInside");
|
|
412
|
+
h(this, "defaultState");
|
|
413
|
+
h(this, "setShowOptions", ({ placement: e2, offsetDistance: t2 }) => {
|
|
388
414
|
this.PopoverInstance.setShowOptions({ placement: e2, offsetDistance: t2 });
|
|
389
415
|
});
|
|
390
|
-
|
|
416
|
+
h(this, "setOptions", ({ placement: e2, offsetDistance: t2 }) => {
|
|
417
|
+
this.PopoverInstance.setPopperOptions({ placement: e2, offsetDistance: t2 });
|
|
418
|
+
});
|
|
419
|
+
h(this, "setPopperTrigger", (e2, t2) => {
|
|
420
|
+
this.PopoverInstance.setPopperTrigger(e2, t2);
|
|
421
|
+
});
|
|
422
|
+
h(this, "show", () => {
|
|
391
423
|
this.PopoverInstance.show(), M(this.contentElement, "popover-show", {
|
|
392
424
|
isHidden: false
|
|
393
425
|
});
|
|
394
426
|
});
|
|
395
|
-
|
|
427
|
+
h(this, "hide", () => {
|
|
396
428
|
this.PopoverInstance.hide(), M(this.contentElement, "popover-hide", {
|
|
397
429
|
isHidden: true
|
|
398
430
|
});
|
|
399
431
|
});
|
|
400
|
-
|
|
401
|
-
this.PopoverInstance.cleanup(),
|
|
432
|
+
h(this, "cleanup", () => {
|
|
433
|
+
this.PopoverInstance.cleanup(), H.removeInstance("popover", this.contentElement);
|
|
402
434
|
});
|
|
403
435
|
const s = typeof e == "string" ? A(e) : e;
|
|
404
436
|
this.contentElement = s;
|
|
405
|
-
const o =
|
|
437
|
+
const o = H.getInstance("popover", this.contentElement);
|
|
406
438
|
if (o)
|
|
407
439
|
return o;
|
|
408
440
|
this.triggerElement = A(`[data-popover-trigger][data-popover-id=${s.getAttribute("id")}]`), this.options = t, this.triggerStrategy = this.options.triggerStrategy || s.dataset.triggerStrategy || "click", this.placement = this.options.placement || s.dataset.placement || "bottom-middle", this.offsetDistance = this.options.offsetDistance || parseInt(`${s.dataset.offsetDistance}`) | 6, this.preventFromCloseOutside = this.options.preventFromCloseOutside || s.hasAttribute("data-prevent-close-outside") || false, this.preventFromCloseInside = this.options.preventCloseFromInside || s.hasAttribute("data-prevent-close-inside") || false, this.defaultState = this.options.defaultState || s.dataset.defaultState || "close", this.PopoverInstance = new he({
|
|
@@ -425,7 +457,7 @@ var P = class _P {
|
|
|
425
457
|
},
|
|
426
458
|
popper: this.options.popper
|
|
427
459
|
}
|
|
428
|
-
}),
|
|
460
|
+
}), H.register("popover", this.contentElement, this);
|
|
429
461
|
}
|
|
430
462
|
/**
|
|
431
463
|
* Creates a new Popover instance with the specified options.
|
|
@@ -439,7 +471,7 @@ var P = class _P {
|
|
|
439
471
|
* });
|
|
440
472
|
*/
|
|
441
473
|
static init(e, t) {
|
|
442
|
-
return new
|
|
474
|
+
return new _x(e, t);
|
|
443
475
|
}
|
|
444
476
|
/**
|
|
445
477
|
* Automatically initializes all popover elements matching the specified selector.
|
|
@@ -454,14 +486,14 @@ var P = class _P {
|
|
|
454
486
|
static autoInit(e = "[data-fx-popover]") {
|
|
455
487
|
const t = j(e);
|
|
456
488
|
for (const s of t)
|
|
457
|
-
new
|
|
489
|
+
new _x(s);
|
|
458
490
|
}
|
|
459
491
|
};
|
|
460
492
|
|
|
461
493
|
// src/index.js
|
|
462
494
|
function Popover(Alpine) {
|
|
463
495
|
Alpine.directive("popover", (el, {}, { cleanup }) => {
|
|
464
|
-
const popover_ = new
|
|
496
|
+
const popover_ = new x(el);
|
|
465
497
|
cleanup(() => {
|
|
466
498
|
popover_.cleanup();
|
|
467
499
|
});
|
package/dist/module.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// ../../node_modules/@flexilla/popover/dist/popover.js
|
|
2
2
|
var K = Object.defineProperty;
|
|
3
3
|
var U = (i, e, t) => e in i ? K(i, e, { enumerable: true, configurable: true, writable: true, value: t }) : i[e] = t;
|
|
4
|
-
var
|
|
4
|
+
var h = (i, e, t) => U(i, typeof e != "symbol" ? e + "" : e, t);
|
|
5
5
|
var A = (i, e = document.body) => e.querySelector(i);
|
|
6
6
|
var j = (i, e = document.body) => Array.from(e.querySelectorAll(i));
|
|
7
7
|
var M = (i, e, t) => {
|
|
@@ -13,20 +13,22 @@ var B = (i, e, t) => e in i ? q(i, e, { enumerable: true, configurable: true, wr
|
|
|
13
13
|
var a = (i, e, t) => B(i, typeof e != "symbol" ? e + "" : e, t);
|
|
14
14
|
var J = "bottom";
|
|
15
15
|
var N = ({ reference: i, popper: e }) => {
|
|
16
|
-
|
|
16
|
+
if (!i || !e)
|
|
17
|
+
throw new Error("Reference or popper element is null or undefined");
|
|
18
|
+
const t = /* @__PURE__ */ new WeakMap(), s = (r) => (t.has(r) || t.set(r, r.getBoundingClientRect()), t.get(r)), o = s(e), n = s(i);
|
|
17
19
|
return {
|
|
18
|
-
popperHeight:
|
|
19
|
-
popperWidth:
|
|
20
|
-
refHeight:
|
|
21
|
-
refWidth:
|
|
22
|
-
refLeft:
|
|
23
|
-
refTop:
|
|
24
|
-
refRight:
|
|
20
|
+
popperHeight: o.height,
|
|
21
|
+
popperWidth: o.width,
|
|
22
|
+
refHeight: n.height,
|
|
23
|
+
refWidth: n.width,
|
|
24
|
+
refLeft: n.left,
|
|
25
|
+
refTop: n.top,
|
|
26
|
+
refRight: n.right
|
|
25
27
|
};
|
|
26
28
|
};
|
|
27
29
|
var Q = Object.defineProperty;
|
|
28
30
|
var V = (i, e, t) => e in i ? Q(i, e, { enumerable: true, configurable: true, writable: true, value: t }) : i[e] = t;
|
|
29
|
-
var
|
|
31
|
+
var p = (i, e, t) => V(i, typeof e != "symbol" ? e + "" : e, t);
|
|
30
32
|
var X = (i, e, t, s) => {
|
|
31
33
|
const o = t, n = s - (t + e);
|
|
32
34
|
return o >= (i - e) / 2 && n >= (i - e) / 2;
|
|
@@ -53,7 +55,7 @@ var ne = ({
|
|
|
53
55
|
windowWidth: d,
|
|
54
56
|
offsetDistance: c
|
|
55
57
|
}) => {
|
|
56
|
-
const
|
|
58
|
+
const g = d - s - e, v = s, L = l - t - o, D = t, u = () => Z(
|
|
57
59
|
() => ee(t, o, r, l),
|
|
58
60
|
() => _(t, o, r, l),
|
|
59
61
|
t,
|
|
@@ -66,29 +68,29 @@ var ne = ({
|
|
|
66
68
|
n,
|
|
67
69
|
d,
|
|
68
70
|
e
|
|
69
|
-
), k = () => X(n, e, s, d) ? s + e / 2 - n / 2 : E(),
|
|
70
|
-
let
|
|
71
|
-
const
|
|
72
|
-
switch (i.startsWith("top") ? f = W ?
|
|
71
|
+
), k = () => X(n, e, s, d) ? s + e / 2 - n / 2 : E(), C = () => Y(r, o, t, l) ? t + o / 2 - r / 2 : u(), P = () => s + n <= d ? s : E(), y = () => s + e - n >= 0 ? s + e - n : E(), b = () => t + r <= l ? t : u(), G = () => t + o - r >= 0 ? t + o - r : u();
|
|
72
|
+
let m = 0, f = 0;
|
|
73
|
+
const T = t - r - c, S = t + o + c, O = s - n - c, I = s + e + c, W = D >= r + c, F = L >= r + c, R = v >= n + c, $ = g >= n + c;
|
|
74
|
+
switch (i.startsWith("top") ? f = W ? T : F ? S : Math.max(T, S) : i.startsWith("bottom") ? f = F ? S : W ? T : Math.max(S) : i.startsWith("left") ? m = R ? O : $ ? I : Math.max(O, I) : i.startsWith("right") && (m = $ ? I : R ? O : Math.max(I, O)), i) {
|
|
73
75
|
case "bottom":
|
|
74
76
|
case "bottom-middle":
|
|
75
77
|
case "top":
|
|
76
78
|
case "top-middle":
|
|
77
|
-
|
|
79
|
+
m = k();
|
|
78
80
|
break;
|
|
79
81
|
case "left":
|
|
80
82
|
case "left-middle":
|
|
81
83
|
case "right":
|
|
82
84
|
case "right-middle":
|
|
83
|
-
f =
|
|
85
|
+
f = C();
|
|
84
86
|
break;
|
|
85
87
|
case "bottom-start":
|
|
86
88
|
case "top-start":
|
|
87
|
-
|
|
89
|
+
m = P();
|
|
88
90
|
break;
|
|
89
91
|
case "bottom-end":
|
|
90
92
|
case "top-end":
|
|
91
|
-
|
|
93
|
+
m = y();
|
|
92
94
|
break;
|
|
93
95
|
case "left-start":
|
|
94
96
|
case "right-start":
|
|
@@ -99,7 +101,7 @@ var ne = ({
|
|
|
99
101
|
f = G();
|
|
100
102
|
break;
|
|
101
103
|
}
|
|
102
|
-
return { x:
|
|
104
|
+
return { x: m, y: f };
|
|
103
105
|
};
|
|
104
106
|
var oe = class {
|
|
105
107
|
/**
|
|
@@ -108,45 +110,57 @@ var oe = class {
|
|
|
108
110
|
* @param popper
|
|
109
111
|
* @param options
|
|
110
112
|
*/
|
|
113
|
+
/**
|
|
114
|
+
* Creates an instance of CreatePopper
|
|
115
|
+
* @param {HTMLElement} reference - The reference element to position against
|
|
116
|
+
* @param {HTMLElement} popper - The element to be positioned
|
|
117
|
+
* @param {PopperOptions} [options] - Configuration options
|
|
118
|
+
* @param {number} [options.offsetDistance] - Distance between popper and reference element
|
|
119
|
+
* @param {Placement} [options.placement] - Preferred placement of the popper
|
|
120
|
+
* @param {Object} [options.eventEffect] - Event handling configuration
|
|
121
|
+
* @param {boolean} [options.eventEffect.disableOnResize] - Disable position updates on window resize
|
|
122
|
+
* @param {boolean} [options.eventEffect.disableOnScroll] - Disable position updates on scroll
|
|
123
|
+
* @param {Function} [options.onUpdate] - Callback function when position updates
|
|
124
|
+
*/
|
|
111
125
|
constructor(e, t, s = {}) {
|
|
112
|
-
|
|
126
|
+
p(this, "reference"), p(this, "popper"), p(this, "offsetDistance"), p(this, "placement"), p(this, "disableOnResize"), p(this, "disableOnScroll"), p(this, "onUpdate"), p(this, "isWindowEventsRegistered"), p(this, "validateElements", () => {
|
|
113
127
|
if (!(this.reference instanceof HTMLElement))
|
|
114
128
|
throw new Error("Invalid HTMLElement for Reference Element");
|
|
115
129
|
if (!(this.popper instanceof HTMLElement))
|
|
116
130
|
throw new Error("Invalid HTMLElement for Popper");
|
|
117
131
|
if (typeof this.offsetDistance != "number")
|
|
118
132
|
throw new Error("OffsetDistance must be a number");
|
|
119
|
-
}),
|
|
120
|
-
this.popper.style.setProperty("--fx-popper-placement-x", `${
|
|
121
|
-
}),
|
|
133
|
+
}), p(this, "setPopperStyleProperty", (g, v) => {
|
|
134
|
+
this.popper.style.setProperty("--fx-popper-placement-x", `${g}px`), this.popper.style.setProperty("--fx-popper-placement-y", `${v}px`);
|
|
135
|
+
}), p(this, "setInitialStyles", () => {
|
|
122
136
|
this.popper.style.setProperty("--fx-popper-placement-x", ""), this.popper.style.setProperty("--fx-popper-placement-y", "");
|
|
123
|
-
}),
|
|
124
|
-
var
|
|
137
|
+
}), p(this, "initPlacement", () => {
|
|
138
|
+
var g;
|
|
125
139
|
this.validateElements(), this.setInitialStyles();
|
|
126
|
-
const v = window.innerWidth,
|
|
140
|
+
const v = window.innerWidth, L = window.innerHeight, { popperHeight: D, popperWidth: u, refHeight: E, refWidth: k, refLeft: C, refTop: P } = N({ reference: this.reference, popper: this.popper }), { x: y, y: b } = ne(
|
|
127
141
|
{
|
|
128
142
|
placement: this.placement,
|
|
129
143
|
refWidth: k,
|
|
130
|
-
refTop:
|
|
131
|
-
refLeft:
|
|
144
|
+
refTop: P,
|
|
145
|
+
refLeft: C,
|
|
132
146
|
popperWidth: u,
|
|
133
147
|
refHeight: E,
|
|
134
|
-
popperHeight:
|
|
135
|
-
windowHeight:
|
|
148
|
+
popperHeight: D,
|
|
149
|
+
windowHeight: L,
|
|
136
150
|
windowWidth: v,
|
|
137
151
|
offsetDistance: this.offsetDistance
|
|
138
152
|
}
|
|
139
153
|
);
|
|
140
|
-
this.setPopperStyleProperty(y, b), (
|
|
141
|
-
}),
|
|
154
|
+
this.setPopperStyleProperty(y, b), (g = this.onUpdate) == null || g.call(this, { x: y, y: b, placement: this.placement });
|
|
155
|
+
}), p(this, "removeWindowEvents", () => {
|
|
142
156
|
this.isWindowEventsRegistered && (!this.disableOnResize && window.removeEventListener("resize", this.updatePosition), !this.disableOnScroll && window.removeEventListener("scroll", this.updatePosition), this.isWindowEventsRegistered = false);
|
|
143
|
-
}),
|
|
157
|
+
}), p(this, "attachWindowEvent", () => {
|
|
144
158
|
this.isWindowEventsRegistered && this.removeWindowEvents(), this.disableOnResize || window.addEventListener("resize", this.updatePosition), this.disableOnScroll || window.addEventListener("scroll", this.updatePosition), this.isWindowEventsRegistered = true;
|
|
145
|
-
}),
|
|
159
|
+
}), p(this, "resetPosition", () => {
|
|
146
160
|
this.setInitialStyles();
|
|
147
|
-
}),
|
|
161
|
+
}), p(this, "updatePosition", () => {
|
|
148
162
|
this.initPlacement(), this.attachWindowEvent();
|
|
149
|
-
}),
|
|
163
|
+
}), p(this, "cleanupEvents", () => {
|
|
150
164
|
this.setInitialStyles(), this.removeWindowEvents();
|
|
151
165
|
});
|
|
152
166
|
const {
|
|
@@ -164,6 +178,13 @@ var oe = class {
|
|
|
164
178
|
const { disableOnResize: d, disableOnScroll: c } = r;
|
|
165
179
|
this.isWindowEventsRegistered = false, this.reference = e, this.popper = t, this.offsetDistance = o, this.placement = n, this.disableOnResize = d || false, this.disableOnScroll = c || false, this.onUpdate = l;
|
|
166
180
|
}
|
|
181
|
+
/**
|
|
182
|
+
* Updates popper configuration and recalculates position
|
|
183
|
+
* @public
|
|
184
|
+
* @param {Object} options - New configuration options
|
|
185
|
+
* @param {Placement} options.placement - New placement value
|
|
186
|
+
* @param {number} [options.offsetDistance] - New offset distance
|
|
187
|
+
*/
|
|
167
188
|
setOptions({ placement: e, offsetDistance: t }) {
|
|
168
189
|
this.placement = e, this.offsetDistance = t || this.offsetDistance, this.initPlacement(), this.attachWindowEvent();
|
|
169
190
|
}
|
|
@@ -200,10 +221,11 @@ var le = ({
|
|
|
200
221
|
});
|
|
201
222
|
};
|
|
202
223
|
var w = ({ state: i, trigger: e, popper: t }) => {
|
|
224
|
+
const s = i === "open";
|
|
203
225
|
z(t, {
|
|
204
226
|
"data-state": i
|
|
205
227
|
}), z(e, {
|
|
206
|
-
"aria-expanded": `${
|
|
228
|
+
"aria-expanded": `${s}`
|
|
207
229
|
});
|
|
208
230
|
};
|
|
209
231
|
var he = class {
|
|
@@ -213,7 +235,6 @@ var he = class {
|
|
|
213
235
|
* @param {string | HTMLElement} params.trigger - The trigger element selector or HTMLElement
|
|
214
236
|
* @param {string | HTMLElement} params.content - The content element selector or HTMLElement
|
|
215
237
|
* @param {OverlayOptions} [params.options] - Configuration options for the overlay
|
|
216
|
-
* @throws {Error} When trigger or content elements are invalid
|
|
217
238
|
*/
|
|
218
239
|
constructor({ trigger: e, content: t, options: s = {} }) {
|
|
219
240
|
a(this, "triggerElement"), a(this, "contentElement"), a(this, "triggerStrategy"), a(this, "placement"), a(this, "offsetDistance"), a(this, "preventFromCloseOutside"), a(this, "preventFromCloseInside"), a(this, "options"), a(this, "defaultState"), a(this, "popper"), a(this, "eventEffect"), a(this, "getElement", (n) => typeof n == "string" ? re(n) : n instanceof HTMLElement ? n : void 0), a(this, "handleDocumentClick", (n) => {
|
|
@@ -235,7 +256,7 @@ var he = class {
|
|
|
235
256
|
}), a(this, "showOnMouseEnter", () => {
|
|
236
257
|
this.show(), this.addEventOnMouseEnter();
|
|
237
258
|
}), a(this, "setShowOptions", ({ placement: n, offsetDistance: r }) => {
|
|
238
|
-
var l, d, c,
|
|
259
|
+
var l, d, c, g;
|
|
239
260
|
this.popper.setOptions({
|
|
240
261
|
placement: n,
|
|
241
262
|
offsetDistance: r
|
|
@@ -243,12 +264,17 @@ var he = class {
|
|
|
243
264
|
state: "open",
|
|
244
265
|
popper: this.contentElement,
|
|
245
266
|
trigger: this.triggerElement
|
|
246
|
-
}), this.onToggleState(false), (
|
|
267
|
+
}), this.onToggleState(false), (g = (c = this.options).onShow) == null || g.call(c);
|
|
247
268
|
}), a(this, "setPopperOptions", ({ placement: n, offsetDistance: r }) => {
|
|
248
269
|
this.popper.setOptions({
|
|
249
270
|
placement: n,
|
|
250
|
-
offsetDistance: r
|
|
271
|
+
offsetDistance: r || this.offsetDistance
|
|
251
272
|
});
|
|
273
|
+
}), a(this, "setPopperTrigger", (n, r) => {
|
|
274
|
+
this.cleanup(), this.popper.setOptions({
|
|
275
|
+
placement: r.placement || this.placement,
|
|
276
|
+
offsetDistance: r.offsetDistance || this.offsetDistance
|
|
277
|
+
}), this.triggerElement = n, this.triggerElement.addEventListener("click", this.toggleStateOnClick), this.triggerStrategy === "hover" && this.triggerElement.addEventListener("mouseenter", this.showOnMouseEnter);
|
|
252
278
|
}), a(this, "cleanup", () => {
|
|
253
279
|
this.triggerElement.removeEventListener("click", this.toggleStateOnClick), this.triggerStrategy === "hover" && this.triggerElement.removeEventListener("mouseenter", this.showOnMouseEnter);
|
|
254
280
|
});
|
|
@@ -313,7 +339,7 @@ var he = class {
|
|
|
313
339
|
}), this.triggerElement.addEventListener("click", this.toggleStateOnClick), this.triggerStrategy === "hover" && this.triggerElement.addEventListener("mouseenter", this.showOnMouseEnter);
|
|
314
340
|
}
|
|
315
341
|
};
|
|
316
|
-
var
|
|
342
|
+
var H = class {
|
|
317
343
|
static initGlobalRegistry() {
|
|
318
344
|
window.$flexillaInstances || (window.$flexillaInstances = {});
|
|
319
345
|
}
|
|
@@ -332,7 +358,7 @@ var x = class {
|
|
|
332
358
|
));
|
|
333
359
|
}
|
|
334
360
|
};
|
|
335
|
-
var
|
|
361
|
+
var x = class _x {
|
|
336
362
|
/**
|
|
337
363
|
* Creates a new Popover instance.
|
|
338
364
|
* @param {string | HTMLElement} popoverEl - The popover content element or its selector.
|
|
@@ -349,35 +375,41 @@ var P = class _P {
|
|
|
349
375
|
* });
|
|
350
376
|
*/
|
|
351
377
|
constructor(e, t = {}) {
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
378
|
+
h(this, "triggerElement");
|
|
379
|
+
h(this, "contentElement");
|
|
380
|
+
h(this, "options");
|
|
381
|
+
h(this, "PopoverInstance");
|
|
382
|
+
h(this, "triggerStrategy");
|
|
383
|
+
h(this, "placement");
|
|
384
|
+
h(this, "offsetDistance");
|
|
385
|
+
h(this, "preventFromCloseOutside");
|
|
386
|
+
h(this, "preventFromCloseInside");
|
|
387
|
+
h(this, "defaultState");
|
|
388
|
+
h(this, "setShowOptions", ({ placement: e2, offsetDistance: t2 }) => {
|
|
363
389
|
this.PopoverInstance.setShowOptions({ placement: e2, offsetDistance: t2 });
|
|
364
390
|
});
|
|
365
|
-
|
|
391
|
+
h(this, "setOptions", ({ placement: e2, offsetDistance: t2 }) => {
|
|
392
|
+
this.PopoverInstance.setPopperOptions({ placement: e2, offsetDistance: t2 });
|
|
393
|
+
});
|
|
394
|
+
h(this, "setPopperTrigger", (e2, t2) => {
|
|
395
|
+
this.PopoverInstance.setPopperTrigger(e2, t2);
|
|
396
|
+
});
|
|
397
|
+
h(this, "show", () => {
|
|
366
398
|
this.PopoverInstance.show(), M(this.contentElement, "popover-show", {
|
|
367
399
|
isHidden: false
|
|
368
400
|
});
|
|
369
401
|
});
|
|
370
|
-
|
|
402
|
+
h(this, "hide", () => {
|
|
371
403
|
this.PopoverInstance.hide(), M(this.contentElement, "popover-hide", {
|
|
372
404
|
isHidden: true
|
|
373
405
|
});
|
|
374
406
|
});
|
|
375
|
-
|
|
376
|
-
this.PopoverInstance.cleanup(),
|
|
407
|
+
h(this, "cleanup", () => {
|
|
408
|
+
this.PopoverInstance.cleanup(), H.removeInstance("popover", this.contentElement);
|
|
377
409
|
});
|
|
378
410
|
const s = typeof e == "string" ? A(e) : e;
|
|
379
411
|
this.contentElement = s;
|
|
380
|
-
const o =
|
|
412
|
+
const o = H.getInstance("popover", this.contentElement);
|
|
381
413
|
if (o)
|
|
382
414
|
return o;
|
|
383
415
|
this.triggerElement = A(`[data-popover-trigger][data-popover-id=${s.getAttribute("id")}]`), this.options = t, this.triggerStrategy = this.options.triggerStrategy || s.dataset.triggerStrategy || "click", this.placement = this.options.placement || s.dataset.placement || "bottom-middle", this.offsetDistance = this.options.offsetDistance || parseInt(`${s.dataset.offsetDistance}`) | 6, this.preventFromCloseOutside = this.options.preventFromCloseOutside || s.hasAttribute("data-prevent-close-outside") || false, this.preventFromCloseInside = this.options.preventCloseFromInside || s.hasAttribute("data-prevent-close-inside") || false, this.defaultState = this.options.defaultState || s.dataset.defaultState || "close", this.PopoverInstance = new he({
|
|
@@ -400,7 +432,7 @@ var P = class _P {
|
|
|
400
432
|
},
|
|
401
433
|
popper: this.options.popper
|
|
402
434
|
}
|
|
403
|
-
}),
|
|
435
|
+
}), H.register("popover", this.contentElement, this);
|
|
404
436
|
}
|
|
405
437
|
/**
|
|
406
438
|
* Creates a new Popover instance with the specified options.
|
|
@@ -414,7 +446,7 @@ var P = class _P {
|
|
|
414
446
|
* });
|
|
415
447
|
*/
|
|
416
448
|
static init(e, t) {
|
|
417
|
-
return new
|
|
449
|
+
return new _x(e, t);
|
|
418
450
|
}
|
|
419
451
|
/**
|
|
420
452
|
* Automatically initializes all popover elements matching the specified selector.
|
|
@@ -429,14 +461,14 @@ var P = class _P {
|
|
|
429
461
|
static autoInit(e = "[data-fx-popover]") {
|
|
430
462
|
const t = j(e);
|
|
431
463
|
for (const s of t)
|
|
432
|
-
new
|
|
464
|
+
new _x(s);
|
|
433
465
|
}
|
|
434
466
|
};
|
|
435
467
|
|
|
436
468
|
// src/index.js
|
|
437
469
|
function Popover(Alpine) {
|
|
438
470
|
Alpine.directive("popover", (el, {}, { cleanup }) => {
|
|
439
|
-
const popover_ = new
|
|
471
|
+
const popover_ = new x(el);
|
|
440
472
|
cleanup(() => {
|
|
441
473
|
popover_.cleanup();
|
|
442
474
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flexilla/alpine-popover",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "AlpineJS plugin for adding Popover 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/popover": "^0.2.
|
|
61
|
+
"@flexilla/popover": "^0.2.3"
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "584636c3f3b85dfa71666f5354221dcfc385f9e6"
|
|
64
64
|
}
|