@vue-interface/btn-dropdown 2.0.0-beta.9 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,1853 +1,298 @@
1
- import { defineComponent as F, openBlock as H, createBlock as te, resolveDynamicComponent as Ue, mergeProps as me, withCtx as B, renderSlot as P, createTextVNode as be, toDisplayString as ye, createElementBlock as Xe, normalizeClass as W, h as Lt, Fragment as Vt, resolveComponent as re, createVNode as we, normalizeProps as ae, guardReactiveProps as Re, normalizeStyle as It, withKeys as yt, withModifiers as wt, createCommentVNode as ce, createSlots as qt } from "vue";
2
- var R = "top", N = "bottom", M = "right", j = "left", Te = "auto", xe = [R, N, M, j], se = "start", $e = "end", Ft = "clippingParents", $t = "viewport", ve = "popper", Wt = "reference", lt = /* @__PURE__ */ xe.reduce(function(e, t) {
3
- return e.concat([t + "-" + se, t + "-" + $e]);
4
- }, []), Ot = /* @__PURE__ */ [].concat(xe, [Te]).reduce(function(e, t) {
5
- return e.concat([t, t + "-" + se, t + "-" + $e]);
6
- }, []), Ht = "beforeRead", Ut = "read", Xt = "afterRead", Yt = "beforeMain", Kt = "main", Gt = "afterMain", Jt = "beforeWrite", Qt = "write", Zt = "afterWrite", Fe = [Ht, Ut, Xt, Yt, Kt, Gt, Jt, Qt, Zt];
7
- function U(e) {
8
- return e ? (e.nodeName || "").toLowerCase() : null;
9
- }
10
- function L(e) {
11
- if (e == null)
12
- return window;
13
- if (e.toString() !== "[object Window]") {
14
- var t = e.ownerDocument;
15
- return t && t.defaultView || window;
16
- }
17
- return e;
18
- }
19
- function oe(e) {
20
- var t = L(e).Element;
21
- return e instanceof t || e instanceof Element;
22
- }
23
- function z(e) {
24
- var t = L(e).HTMLElement;
25
- return e instanceof t || e instanceof HTMLElement;
26
- }
27
- function Ye(e) {
28
- if (typeof ShadowRoot > "u")
29
- return !1;
30
- var t = L(e).ShadowRoot;
31
- return e instanceof t || e instanceof ShadowRoot;
32
- }
33
- function _t(e) {
34
- var t = e.state;
35
- Object.keys(t.elements).forEach(function(r) {
36
- var n = t.styles[r] || {}, o = t.attributes[r] || {}, i = t.elements[r];
37
- !z(i) || !U(i) || (Object.assign(i.style, n), Object.keys(o).forEach(function(a) {
38
- var l = o[a];
39
- l === !1 ? i.removeAttribute(a) : i.setAttribute(a, l === !0 ? "" : l);
40
- }));
1
+ import { ref as z, computed as T, watchEffect as R, defineComponent as D, createElementBlock as A, openBlock as M, normalizeClass as y, unref as e, renderSlot as k, createVNode as H, normalizeProps as B, guardReactiveProps as x, createElementVNode as $, toDisplayString as S, withModifiers as L, normalizeStyle as I, withCtx as v, createCommentVNode as P, mergeProps as E, createBlock as G, resolveDynamicComponent as J } from "vue";
2
+ import { DropdownMenu as N } from "@vue-interface/dropdown-menu";
3
+ import { offset as K, flip as Q } from "@floating-ui/dom";
4
+ import { useFloating as U } from "@floating-ui/vue";
5
+ function V(t, m) {
6
+ const g = z(), s = z(), r = z(!1), i = T(() => t.align ?? "start"), o = T(() => t.dropup ? "top" : t.dropleft ? "left" : t.dropright ? "right" : "bottom"), C = T(() => `${o.value}-${i.value}`), f = T(() => ({
7
+ dropdown: t.dropup && t.dropright && t.dropleft,
8
+ dropup: t.dropup,
9
+ dropright: t.dropright,
10
+ dropleft: t.dropleft,
11
+ expanded: r.value,
12
+ [t.size ?? ""]: !!t.size
13
+ })), w = T(() => {
14
+ const l = {
15
+ btn: !0,
16
+ [t.variant ?? ""]: !!t.variant,
17
+ "btn-block": !!t.block,
18
+ "no-caret": !t.caret
19
+ };
20
+ if (typeof t.buttonClass == "string")
21
+ l[t.buttonClass] = !0;
22
+ else if (Array.isArray(t.buttonClass))
23
+ for (const h of t.buttonClass)
24
+ l[h] = !0;
25
+ else t.buttonClass && Object.assign(l, t.buttonClass);
26
+ return l;
27
+ }), { floatingStyles: a, update: p } = U(g, s, {
28
+ placement: C,
29
+ middleware: t.middleware ?? [
30
+ K(t.offset ?? 5),
31
+ Q()
32
+ ]
41
33
  });
42
- }
43
- function er(e) {
44
- var t = e.state, r = {
45
- popper: {
46
- position: t.options.strategy,
47
- left: "0",
48
- top: "0",
49
- margin: "0"
50
- },
51
- arrow: {
52
- position: "absolute"
53
- },
54
- reference: {}
55
- };
56
- return Object.assign(t.elements.popper.style, r.popper), t.styles = r, t.elements.arrow && Object.assign(t.elements.arrow.style, r.arrow), function() {
57
- Object.keys(t.elements).forEach(function(n) {
58
- var o = t.elements[n], i = t.attributes[n] || {}, a = Object.keys(t.styles.hasOwnProperty(n) ? t.styles[n] : r[n]), l = a.reduce(function(s, f) {
59
- return s[f] = "", s;
60
- }, {});
61
- !z(o) || !U(o) || (Object.assign(o.style, l), Object.keys(i).forEach(function(s) {
62
- o.removeAttribute(s);
63
- }));
64
- });
65
- };
66
- }
67
- const tr = {
68
- name: "applyStyles",
69
- enabled: !0,
70
- phase: "write",
71
- fn: _t,
72
- effect: er,
73
- requires: ["computeStyles"]
74
- };
75
- function I(e) {
76
- return e.split("-")[0];
77
- }
78
- var ne = Math.max, je = Math.min, le = Math.round;
79
- function We() {
80
- var e = navigator.userAgentData;
81
- return e != null && e.brands ? e.brands.map(function(t) {
82
- return t.brand + "/" + t.version;
83
- }).join(" ") : navigator.userAgent;
84
- }
85
- function xt() {
86
- return !/^((?!chrome|android).)*safari/i.test(We());
87
- }
88
- function pe(e, t, r) {
89
- t === void 0 && (t = !1), r === void 0 && (r = !1);
90
- var n = e.getBoundingClientRect(), o = 1, i = 1;
91
- t && z(e) && (o = e.offsetWidth > 0 && le(n.width) / e.offsetWidth || 1, i = e.offsetHeight > 0 && le(n.height) / e.offsetHeight || 1);
92
- var a = oe(e) ? L(e) : window, l = a.visualViewport, s = !xt() && r, f = (n.left + (s && l ? l.offsetLeft : 0)) / o, p = (n.top + (s && l ? l.offsetTop : 0)) / i, h = n.width / o, y = n.height / i;
93
- return {
94
- width: h,
95
- height: y,
96
- top: p,
97
- right: f + h,
98
- bottom: p + y,
99
- left: f,
100
- x: f,
101
- y: p
102
- };
103
- }
104
- function Ke(e) {
105
- var t = pe(e), r = e.offsetWidth, n = e.offsetHeight;
106
- return Math.abs(t.width - r) <= 1 && (r = t.width), Math.abs(t.height - n) <= 1 && (n = t.height), {
107
- x: e.offsetLeft,
108
- y: e.offsetTop,
109
- width: r,
110
- height: n
111
- };
112
- }
113
- function Ct(e, t) {
114
- var r = t.getRootNode && t.getRootNode();
115
- if (e.contains(t))
116
- return !0;
117
- if (r && Ye(r)) {
118
- var n = t;
119
- do {
120
- if (n && e.isSameNode(n))
121
- return !0;
122
- n = n.parentNode || n.host;
123
- } while (n);
34
+ function b() {
35
+ r.value = !0, !(!g.value || !s.value) && (p(), m("show"));
124
36
  }
125
- return !1;
126
- }
127
- function q(e) {
128
- return L(e).getComputedStyle(e);
129
- }
130
- function rr(e) {
131
- return ["table", "td", "th"].indexOf(U(e)) >= 0;
132
- }
133
- function K(e) {
134
- return ((oe(e) ? e.ownerDocument : (
135
- // $FlowFixMe[prop-missing]
136
- e.document
137
- )) || window.document).documentElement;
138
- }
139
- function ze(e) {
140
- return U(e) === "html" ? e : (
141
- // this is a quicker (but less type safe) way to save quite some bytes from the bundle
142
- // $FlowFixMe[incompatible-return]
143
- // $FlowFixMe[prop-missing]
144
- e.assignedSlot || // step into the shadow DOM of the parent of a slotted node
145
- e.parentNode || // DOM Element detected
146
- (Ye(e) ? e.host : null) || // ShadowRoot detected
147
- // $FlowFixMe[incompatible-call]: HTMLElement is a Node
148
- K(e)
149
- );
150
- }
151
- function pt(e) {
152
- return !z(e) || // https://github.com/popperjs/popper-core/issues/837
153
- q(e).position === "fixed" ? null : e.offsetParent;
154
- }
155
- function nr(e) {
156
- var t = /firefox/i.test(We()), r = /Trident/i.test(We());
157
- if (r && z(e)) {
158
- var n = q(e);
159
- if (n.position === "fixed")
160
- return null;
37
+ function c() {
38
+ r.value = !1, g.value?.blur(), m("hide");
161
39
  }
162
- var o = ze(e);
163
- for (Ye(o) && (o = o.host); z(o) && ["html", "body"].indexOf(U(o)) < 0; ) {
164
- var i = q(o);
165
- if (i.transform !== "none" || i.perspective !== "none" || i.contain === "paint" || ["transform", "perspective"].indexOf(i.willChange) !== -1 || t && i.willChange === "filter" || t && i.filter && i.filter !== "none")
166
- return o;
167
- o = o.parentNode;
40
+ function d() {
41
+ r.value ? c() : b();
168
42
  }
169
- return null;
170
- }
171
- function Ce(e) {
172
- for (var t = L(e), r = pt(e); r && rr(r) && q(r).position === "static"; )
173
- r = pt(r);
174
- return r && (U(r) === "html" || U(r) === "body" && q(r).position === "static") ? t : r || nr(e) || t;
175
- }
176
- function Ge(e) {
177
- return ["top", "bottom"].indexOf(e) >= 0 ? "x" : "y";
178
- }
179
- function he(e, t, r) {
180
- return ne(e, je(t, r));
181
- }
182
- function or(e, t, r) {
183
- var n = he(e, t, r);
184
- return n > r ? r : n;
185
- }
186
- function Pt() {
187
- return {
188
- top: 0,
189
- right: 0,
190
- bottom: 0,
191
- left: 0
192
- };
193
- }
194
- function Et(e) {
195
- return Object.assign({}, Pt(), e);
196
- }
197
- function St(e, t) {
198
- return t.reduce(function(r, n) {
199
- return r[n] = e, r;
200
- }, {});
201
- }
202
- var ir = function(t, r) {
203
- return t = typeof t == "function" ? t(Object.assign({}, r.rects, {
204
- placement: r.placement
205
- })) : t, Et(typeof t != "number" ? t : St(t, xe));
206
- };
207
- function ar(e) {
208
- var t, r = e.state, n = e.name, o = e.options, i = r.elements.arrow, a = r.modifiersData.popperOffsets, l = I(r.placement), s = Ge(l), f = [j, M].indexOf(l) >= 0, p = f ? "height" : "width";
209
- if (!(!i || !a)) {
210
- var h = ir(o.padding, r), y = Ke(i), u = s === "y" ? R : j, $ = s === "y" ? N : M, g = r.rects.reference[p] + r.rects.reference[s] - a[s] - r.rects.popper[p], v = a[s] - r.rects.reference[s], w = Ce(i), C = w ? s === "y" ? w.clientHeight || 0 : w.clientWidth || 0 : 0, x = g / 2 - v / 2, d = h[u], m = C - y[p] - h[$], c = C / 2 - y[p] / 2 + x, O = he(d, c, m), E = s;
211
- r.modifiersData[n] = (t = {}, t[E] = O, t.centerOffset = O - c, t);
43
+ function n(l) {
44
+ const h = Array.from(s.value?.$el.querySelectorAll("label, input, select, textarea") ?? []);
45
+ for (const O in h)
46
+ if (l === h[O])
47
+ return !0;
48
+ return !1;
212
49
  }
213
- }
214
- function sr(e) {
215
- var t = e.state, r = e.options, n = r.element, o = n === void 0 ? "[data-popper-arrow]" : n;
216
- if (o != null && !(typeof o == "string" && (o = t.elements.popper.querySelector(o), !o))) {
217
- if (process.env.NODE_ENV !== "production" && (z(o) || console.error(['Popper: "arrow" element must be an HTMLElement (not an SVGElement).', "To use an SVG arrow, wrap it in an HTMLElement that will be used as", "the arrow."].join(" "))), !Ct(t.elements.popper, o)) {
218
- process.env.NODE_ENV !== "production" && console.error(['Popper: "arrow" modifier\'s `element` must be a child of the popper', "element."].join(" "));
50
+ function u(l) {
51
+ if (!(l.relatedTarget instanceof HTMLElement)) {
52
+ c();
219
53
  return;
220
54
  }
221
- t.elements.arrow = o;
222
- }
223
- }
224
- const lr = {
225
- name: "arrow",
226
- enabled: !0,
227
- phase: "main",
228
- fn: ar,
229
- effect: sr,
230
- requires: ["popperOffsets"],
231
- requiresIfExists: ["preventOverflow"]
232
- };
233
- function fe(e) {
234
- return e.split("-")[1];
235
- }
236
- var pr = {
237
- top: "auto",
238
- right: "auto",
239
- bottom: "auto",
240
- left: "auto"
241
- };
242
- function fr(e) {
243
- var t = e.x, r = e.y, n = window, o = n.devicePixelRatio || 1;
244
- return {
245
- x: le(t * o) / o || 0,
246
- y: le(r * o) / o || 0
247
- };
248
- }
249
- function ft(e) {
250
- var t, r = e.popper, n = e.popperRect, o = e.placement, i = e.variation, a = e.offsets, l = e.position, s = e.gpuAcceleration, f = e.adaptive, p = e.roundOffsets, h = e.isFixed, y = a.x, u = y === void 0 ? 0 : y, $ = a.y, g = $ === void 0 ? 0 : $, v = typeof p == "function" ? p({
251
- x: u,
252
- y: g
253
- }) : {
254
- x: u,
255
- y: g
256
- };
257
- u = v.x, g = v.y;
258
- var w = a.hasOwnProperty("x"), C = a.hasOwnProperty("y"), x = j, d = R, m = window;
259
- if (f) {
260
- var c = Ce(r), O = "clientHeight", E = "clientWidth";
261
- if (c === L(r) && (c = K(r), q(c).position !== "static" && l === "absolute" && (O = "scrollHeight", E = "scrollWidth")), c = c, o === R || (o === j || o === M) && i === $e) {
262
- d = N;
263
- var S = h && c === m && m.visualViewport ? m.visualViewport.height : (
264
- // $FlowFixMe[prop-missing]
265
- c[O]
266
- );
267
- g -= S - n.height, g *= s ? 1 : -1;
268
- }
269
- if (o === j || (o === R || o === N) && i === $e) {
270
- x = M;
271
- var k = h && c === m && m.visualViewport ? m.visualViewport.width : (
272
- // $FlowFixMe[prop-missing]
273
- c[E]
274
- );
275
- u -= k - n.width, u *= s ? 1 : -1;
276
- }
277
- }
278
- var b = Object.assign({
279
- position: l
280
- }, f && pr), D = p === !0 ? fr({
281
- x: u,
282
- y: g
283
- }) : {
284
- x: u,
285
- y: g
286
- };
287
- if (u = D.x, g = D.y, s) {
288
- var A;
289
- return Object.assign({}, b, (A = {}, A[d] = C ? "0" : "", A[x] = w ? "0" : "", A.transform = (m.devicePixelRatio || 1) <= 1 ? "translate(" + u + "px, " + g + "px)" : "translate3d(" + u + "px, " + g + "px, 0)", A));
290
- }
291
- return Object.assign({}, b, (t = {}, t[d] = C ? g + "px" : "", t[x] = w ? u + "px" : "", t.transform = "", t));
292
- }
293
- function ur(e) {
294
- var t = e.state, r = e.options, n = r.gpuAcceleration, o = n === void 0 ? !0 : n, i = r.adaptive, a = i === void 0 ? !0 : i, l = r.roundOffsets, s = l === void 0 ? !0 : l;
295
- if (process.env.NODE_ENV !== "production") {
296
- var f = q(t.elements.popper).transitionProperty || "";
297
- a && ["transform", "top", "right", "bottom", "left"].some(function(h) {
298
- return f.indexOf(h) >= 0;
299
- }) && console.warn(["Popper: Detected CSS transitions on at least one of the following", 'CSS properties: "transform", "top", "right", "bottom", "left".', `
300
-
301
- `, 'Disable the "computeStyles" modifier\'s `adaptive` option to allow', "for smooth transitions, or remove these properties from the CSS", "transition declaration on the popper element if only transitioning", "opacity or background-color for example.", `
302
-
303
- `, "We recommend using the popper element as a wrapper around an inner", "element that can have any CSS property transitioned for animations."].join(" "));
304
- }
305
- var p = {
306
- placement: I(t.placement),
307
- variation: fe(t.placement),
308
- popper: t.elements.popper,
309
- popperRect: t.rects.popper,
310
- gpuAcceleration: o,
311
- isFixed: t.options.strategy === "fixed"
312
- };
313
- t.modifiersData.popperOffsets != null && (t.styles.popper = Object.assign({}, t.styles.popper, ft(Object.assign({}, p, {
314
- offsets: t.modifiersData.popperOffsets,
315
- position: t.options.strategy,
316
- adaptive: a,
317
- roundOffsets: s
318
- })))), t.modifiersData.arrow != null && (t.styles.arrow = Object.assign({}, t.styles.arrow, ft(Object.assign({}, p, {
319
- offsets: t.modifiersData.arrow,
320
- position: "absolute",
321
- adaptive: !1,
322
- roundOffsets: s
323
- })))), t.attributes.popper = Object.assign({}, t.attributes.popper, {
324
- "data-popper-placement": t.placement
325
- });
326
- }
327
- const dr = {
328
- name: "computeStyles",
329
- enabled: !0,
330
- phase: "beforeWrite",
331
- fn: ur,
332
- data: {}
333
- };
334
- var De = {
335
- passive: !0
336
- };
337
- function cr(e) {
338
- var t = e.state, r = e.instance, n = e.options, o = n.scroll, i = o === void 0 ? !0 : o, a = n.resize, l = a === void 0 ? !0 : a, s = L(t.elements.popper), f = [].concat(t.scrollParents.reference, t.scrollParents.popper);
339
- return i && f.forEach(function(p) {
340
- p.addEventListener("scroll", r.update, De);
341
- }), l && s.addEventListener("resize", r.update, De), function() {
342
- i && f.forEach(function(p) {
343
- p.removeEventListener("scroll", r.update, De);
344
- }), l && s.removeEventListener("resize", r.update, De);
345
- };
346
- }
347
- const vr = {
348
- name: "eventListeners",
349
- enabled: !0,
350
- phase: "write",
351
- fn: function() {
352
- },
353
- effect: cr,
354
- data: {}
355
- };
356
- var hr = {
357
- left: "right",
358
- right: "left",
359
- bottom: "top",
360
- top: "bottom"
361
- };
362
- function Ae(e) {
363
- return e.replace(/left|right|bottom|top/g, function(t) {
364
- return hr[t];
365
- });
366
- }
367
- var gr = {
368
- start: "end",
369
- end: "start"
370
- };
371
- function ut(e) {
372
- return e.replace(/start|end/g, function(t) {
373
- return gr[t];
374
- });
375
- }
376
- function Je(e) {
377
- var t = L(e), r = t.pageXOffset, n = t.pageYOffset;
378
- return {
379
- scrollLeft: r,
380
- scrollTop: n
381
- };
382
- }
383
- function Qe(e) {
384
- return pe(K(e)).left + Je(e).scrollLeft;
385
- }
386
- function mr(e, t) {
387
- var r = L(e), n = K(e), o = r.visualViewport, i = n.clientWidth, a = n.clientHeight, l = 0, s = 0;
388
- if (o) {
389
- i = o.width, a = o.height;
390
- var f = xt();
391
- (f || !f && t === "fixed") && (l = o.offsetLeft, s = o.offsetTop);
392
- }
393
- return {
394
- width: i,
395
- height: a,
396
- x: l + Qe(e),
397
- y: s
398
- };
399
- }
400
- function br(e) {
401
- var t, r = K(e), n = Je(e), o = (t = e.ownerDocument) == null ? void 0 : t.body, i = ne(r.scrollWidth, r.clientWidth, o ? o.scrollWidth : 0, o ? o.clientWidth : 0), a = ne(r.scrollHeight, r.clientHeight, o ? o.scrollHeight : 0, o ? o.clientHeight : 0), l = -n.scrollLeft + Qe(e), s = -n.scrollTop;
402
- return q(o || r).direction === "rtl" && (l += ne(r.clientWidth, o ? o.clientWidth : 0) - i), {
403
- width: i,
404
- height: a,
405
- x: l,
406
- y: s
407
- };
408
- }
409
- function Ze(e) {
410
- var t = q(e), r = t.overflow, n = t.overflowX, o = t.overflowY;
411
- return /auto|scroll|overlay|hidden/.test(r + o + n);
412
- }
413
- function kt(e) {
414
- return ["html", "body", "#document"].indexOf(U(e)) >= 0 ? e.ownerDocument.body : z(e) && Ze(e) ? e : kt(ze(e));
415
- }
416
- function ge(e, t) {
417
- var r;
418
- t === void 0 && (t = []);
419
- var n = kt(e), o = n === ((r = e.ownerDocument) == null ? void 0 : r.body), i = L(n), a = o ? [i].concat(i.visualViewport || [], Ze(n) ? n : []) : n, l = t.concat(a);
420
- return o ? l : (
421
- // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
422
- l.concat(ge(ze(a)))
423
- );
424
- }
425
- function He(e) {
426
- return Object.assign({}, e, {
427
- left: e.x,
428
- top: e.y,
429
- right: e.x + e.width,
430
- bottom: e.y + e.height
431
- });
432
- }
433
- function yr(e, t) {
434
- var r = pe(e, !1, t === "fixed");
435
- return r.top = r.top + e.clientTop, r.left = r.left + e.clientLeft, r.bottom = r.top + e.clientHeight, r.right = r.left + e.clientWidth, r.width = e.clientWidth, r.height = e.clientHeight, r.x = r.left, r.y = r.top, r;
436
- }
437
- function dt(e, t, r) {
438
- return t === $t ? He(mr(e, r)) : oe(t) ? yr(t, r) : He(br(K(e)));
439
- }
440
- function wr(e) {
441
- var t = ge(ze(e)), r = ["absolute", "fixed"].indexOf(q(e).position) >= 0, n = r && z(e) ? Ce(e) : e;
442
- return oe(n) ? t.filter(function(o) {
443
- return oe(o) && Ct(o, n) && U(o) !== "body";
444
- }) : [];
445
- }
446
- function $r(e, t, r, n) {
447
- var o = t === "clippingParents" ? wr(e) : [].concat(t), i = [].concat(o, [r]), a = i[0], l = i.reduce(function(s, f) {
448
- var p = dt(e, f, n);
449
- return s.top = ne(p.top, s.top), s.right = je(p.right, s.right), s.bottom = je(p.bottom, s.bottom), s.left = ne(p.left, s.left), s;
450
- }, dt(e, a, n));
451
- return l.width = l.right - l.left, l.height = l.bottom - l.top, l.x = l.left, l.y = l.top, l;
452
- }
453
- function Bt(e) {
454
- var t = e.reference, r = e.element, n = e.placement, o = n ? I(n) : null, i = n ? fe(n) : null, a = t.x + t.width / 2 - r.width / 2, l = t.y + t.height / 2 - r.height / 2, s;
455
- switch (o) {
456
- case R:
457
- s = {
458
- x: a,
459
- y: t.y - r.height
460
- };
461
- break;
462
- case N:
463
- s = {
464
- x: a,
465
- y: t.y + t.height
466
- };
467
- break;
468
- case M:
469
- s = {
470
- x: t.x + t.width,
471
- y: l
472
- };
473
- break;
474
- case j:
475
- s = {
476
- x: t.x - r.width,
477
- y: l
478
- };
479
- break;
480
- default:
481
- s = {
482
- x: t.x,
483
- y: t.y
484
- };
55
+ (s.value && !s.value?.$el.contains(l.relatedTarget) || !g.value?.contains(l.relatedTarget)) && c();
485
56
  }
486
- var f = o ? Ge(o) : null;
487
- if (f != null) {
488
- var p = f === "y" ? "height" : "width";
489
- switch (i) {
490
- case se:
491
- s[f] = s[f] - (t[p] / 2 - r[p] / 2);
492
- break;
493
- case $e:
494
- s[f] = s[f] + (t[p] / 2 - r[p] / 2);
495
- break;
496
- }
57
+ function F(l) {
58
+ m("click", l);
497
59
  }
498
- return s;
499
- }
500
- function Oe(e, t) {
501
- t === void 0 && (t = {});
502
- var r = t, n = r.placement, o = n === void 0 ? e.placement : n, i = r.strategy, a = i === void 0 ? e.strategy : i, l = r.boundary, s = l === void 0 ? Ft : l, f = r.rootBoundary, p = f === void 0 ? $t : f, h = r.elementContext, y = h === void 0 ? ve : h, u = r.altBoundary, $ = u === void 0 ? !1 : u, g = r.padding, v = g === void 0 ? 0 : g, w = Et(typeof v != "number" ? v : St(v, xe)), C = y === ve ? Wt : ve, x = e.rects.popper, d = e.elements[$ ? C : y], m = $r(oe(d) ? d : d.contextElement || K(e.elements.popper), s, p, a), c = pe(e.elements.reference), O = Bt({
503
- reference: c,
504
- element: x,
505
- strategy: "absolute",
506
- placement: o
507
- }), E = He(Object.assign({}, x, O)), S = y === ve ? E : c, k = {
508
- top: m.top - S.top + w.top,
509
- bottom: S.bottom - m.bottom + w.bottom,
510
- left: m.left - S.left + w.left,
511
- right: S.right - m.right + w.right
512
- }, b = e.modifiersData.offset;
513
- if (y === ve && b) {
514
- var D = b[o];
515
- Object.keys(k).forEach(function(A) {
516
- var G = [M, N].indexOf(A) >= 0 ? 1 : -1, J = [R, N].indexOf(A) >= 0 ? "y" : "x";
517
- k[A] += D[J] * G;
518
- });
60
+ function j(l) {
61
+ l.target?.dispatchEvent(new Event("focus", l)), m("clickToggle", l), l.defaultPrevented || d();
519
62
  }
520
- return k;
521
- }
522
- function Or(e, t) {
523
- t === void 0 && (t = {});
524
- var r = t, n = r.placement, o = r.boundary, i = r.rootBoundary, a = r.padding, l = r.flipVariations, s = r.allowedAutoPlacements, f = s === void 0 ? Ot : s, p = fe(n), h = p ? l ? lt : lt.filter(function($) {
525
- return fe($) === p;
526
- }) : xe, y = h.filter(function($) {
527
- return f.indexOf($) >= 0;
528
- });
529
- y.length === 0 && (y = h, process.env.NODE_ENV !== "production" && console.error(["Popper: The `allowedAutoPlacements` option did not allow any", "placements. Ensure the `placement` option matches the variation", "of the allowed placements.", 'For example, "auto" cannot be used to allow "bottom-start".', 'Use "auto-start" instead.'].join(" ")));
530
- var u = y.reduce(function($, g) {
531
- return $[g] = Oe(e, {
532
- placement: g,
533
- boundary: o,
534
- rootBoundary: i,
535
- padding: a
536
- })[I(g)], $;
537
- }, {});
538
- return Object.keys(u).sort(function($, g) {
539
- return u[$] - u[g];
540
- });
541
- }
542
- function xr(e) {
543
- if (I(e) === Te)
544
- return [];
545
- var t = Ae(e);
546
- return [ut(e), t, ut(t)];
547
- }
548
- function Cr(e) {
549
- var t = e.state, r = e.options, n = e.name;
550
- if (!t.modifiersData[n]._skip) {
551
- for (var o = r.mainAxis, i = o === void 0 ? !0 : o, a = r.altAxis, l = a === void 0 ? !0 : a, s = r.fallbackPlacements, f = r.padding, p = r.boundary, h = r.rootBoundary, y = r.altBoundary, u = r.flipVariations, $ = u === void 0 ? !0 : u, g = r.allowedAutoPlacements, v = t.options.placement, w = I(v), C = w === v, x = s || (C || !$ ? [Ae(v)] : xr(v)), d = [v].concat(x).reduce(function(ie, X) {
552
- return ie.concat(I(X) === Te ? Or(t, {
553
- placement: X,
554
- boundary: p,
555
- rootBoundary: h,
556
- padding: f,
557
- flipVariations: $,
558
- allowedAutoPlacements: g
559
- }) : X);
560
- }, []), m = t.rects.reference, c = t.rects.popper, O = /* @__PURE__ */ new Map(), E = !0, S = d[0], k = 0; k < d.length; k++) {
561
- var b = d[k], D = I(b), A = fe(b) === se, G = [R, N].indexOf(D) >= 0, J = G ? "width" : "height", T = Oe(t, {
562
- placement: b,
563
- boundary: p,
564
- rootBoundary: h,
565
- altBoundary: y,
566
- padding: f
567
- }), V = G ? A ? M : j : A ? N : R;
568
- m[J] > c[J] && (V = Ae(V));
569
- var Pe = Ae(V), Q = [];
570
- if (i && Q.push(T[D] <= 0), l && Q.push(T[V] <= 0, T[Pe] <= 0), Q.every(function(ie) {
571
- return ie;
572
- })) {
573
- S = b, E = !1;
574
- break;
575
- }
576
- O.set(b, Q);
63
+ function q(l) {
64
+ if (!(l.target instanceof HTMLElement)) {
65
+ c();
66
+ return;
577
67
  }
578
- if (E)
579
- for (var Ee = $ ? 3 : 1, Me = function(X) {
580
- var de = d.find(function(ke) {
581
- var Z = O.get(ke);
582
- if (Z)
583
- return Z.slice(0, X).every(function(Le) {
584
- return Le;
585
- });
586
- });
587
- if (de)
588
- return S = de, "break";
589
- }, ue = Ee; ue > 0; ue--) {
590
- var Se = Me(ue);
591
- if (Se === "break")
592
- break;
593
- }
594
- t.placement !== S && (t.modifiersData[n]._skip = !0, t.placement = S, t.reset = !0);
68
+ !n(l.target) && !l.defaultPrevented && c();
595
69
  }
596
- }
597
- const Pr = {
598
- name: "flip",
599
- enabled: !0,
600
- phase: "main",
601
- fn: Cr,
602
- requiresIfExists: ["offset"],
603
- data: {
604
- _skip: !1
605
- }
606
- };
607
- function ct(e, t, r) {
608
- return r === void 0 && (r = {
609
- x: 0,
610
- y: 0
70
+ return R(() => {
71
+ r.value ? window.addEventListener("resize", p) : window.removeEventListener("resize", p);
611
72
  }), {
612
- top: e.top - t.height - r.y,
613
- right: e.right - t.width + r.x,
614
- bottom: e.bottom - t.height + r.y,
615
- left: e.left - t.width - r.x
616
- };
617
- }
618
- function vt(e) {
619
- return [R, M, N, j].some(function(t) {
620
- return e[t] >= 0;
621
- });
622
- }
623
- function Er(e) {
624
- var t = e.state, r = e.name, n = t.rects.reference, o = t.rects.popper, i = t.modifiersData.preventOverflow, a = Oe(t, {
625
- elementContext: "reference"
626
- }), l = Oe(t, {
627
- altBoundary: !0
628
- }), s = ct(a, n), f = ct(l, o, i), p = vt(s), h = vt(f);
629
- t.modifiersData[r] = {
630
- referenceClippingOffsets: s,
631
- popperEscapeOffsets: f,
632
- isReferenceHidden: p,
633
- hasPopperEscaped: h
634
- }, t.attributes.popper = Object.assign({}, t.attributes.popper, {
635
- "data-popper-reference-hidden": p,
636
- "data-popper-escaped": h
637
- });
638
- }
639
- const Sr = {
640
- name: "hide",
641
- enabled: !0,
642
- phase: "main",
643
- requiresIfExists: ["preventOverflow"],
644
- fn: Er
645
- };
646
- function kr(e, t, r) {
647
- var n = I(e), o = [j, R].indexOf(n) >= 0 ? -1 : 1, i = typeof r == "function" ? r(Object.assign({}, t, {
648
- placement: e
649
- })) : r, a = i[0], l = i[1];
650
- return a = a || 0, l = (l || 0) * o, [j, M].indexOf(n) >= 0 ? {
651
- x: l,
652
- y: a
653
- } : {
654
- x: a,
655
- y: l
656
- };
657
- }
658
- function Br(e) {
659
- var t = e.state, r = e.options, n = e.name, o = r.offset, i = o === void 0 ? [0, 0] : o, a = Ot.reduce(function(p, h) {
660
- return p[h] = kr(h, t.rects, i), p;
661
- }, {}), l = a[t.placement], s = l.x, f = l.y;
662
- t.modifiersData.popperOffsets != null && (t.modifiersData.popperOffsets.x += s, t.modifiersData.popperOffsets.y += f), t.modifiersData[n] = a;
663
- }
664
- const Dr = {
665
- name: "offset",
666
- enabled: !0,
667
- phase: "main",
668
- requires: ["popperOffsets"],
669
- fn: Br
670
- };
671
- function Ar(e) {
672
- var t = e.state, r = e.name;
673
- t.modifiersData[r] = Bt({
674
- reference: t.rects.reference,
675
- element: t.rects.popper,
676
- strategy: "absolute",
677
- placement: t.placement
678
- });
679
- }
680
- const Rr = {
681
- name: "popperOffsets",
682
- enabled: !0,
683
- phase: "read",
684
- fn: Ar,
685
- data: {}
686
- };
687
- function jr(e) {
688
- return e === "x" ? "y" : "x";
689
- }
690
- function Tr(e) {
691
- var t = e.state, r = e.options, n = e.name, o = r.mainAxis, i = o === void 0 ? !0 : o, a = r.altAxis, l = a === void 0 ? !1 : a, s = r.boundary, f = r.rootBoundary, p = r.altBoundary, h = r.padding, y = r.tether, u = y === void 0 ? !0 : y, $ = r.tetherOffset, g = $ === void 0 ? 0 : $, v = Oe(t, {
692
- boundary: s,
693
- rootBoundary: f,
694
- padding: h,
695
- altBoundary: p
696
- }), w = I(t.placement), C = fe(t.placement), x = !C, d = Ge(w), m = jr(d), c = t.modifiersData.popperOffsets, O = t.rects.reference, E = t.rects.popper, S = typeof g == "function" ? g(Object.assign({}, t.rects, {
697
- placement: t.placement
698
- })) : g, k = typeof S == "number" ? {
699
- mainAxis: S,
700
- altAxis: S
701
- } : Object.assign({
702
- mainAxis: 0,
703
- altAxis: 0
704
- }, S), b = t.modifiersData.offset ? t.modifiersData.offset[t.placement] : null, D = {
705
- x: 0,
706
- y: 0
707
- };
708
- if (c) {
709
- if (i) {
710
- var A, G = d === "y" ? R : j, J = d === "y" ? N : M, T = d === "y" ? "height" : "width", V = c[d], Pe = V + v[G], Q = V - v[J], Ee = u ? -E[T] / 2 : 0, Me = C === se ? O[T] : E[T], ue = C === se ? -E[T] : -O[T], Se = t.elements.arrow, ie = u && Se ? Ke(Se) : {
711
- width: 0,
712
- height: 0
713
- }, X = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : Pt(), de = X[G], ke = X[J], Z = he(0, O[T], ie[T]), Le = x ? O[T] / 2 - Ee - Z - de - k.mainAxis : Me - Z - de - k.mainAxis, Rt = x ? -O[T] / 2 + Ee + Z + ke + k.mainAxis : ue + Z + ke + k.mainAxis, Ve = t.elements.arrow && Ce(t.elements.arrow), jt = Ve ? d === "y" ? Ve.clientTop || 0 : Ve.clientLeft || 0 : 0, _e = (A = b == null ? void 0 : b[d]) != null ? A : 0, Tt = V + Le - _e - jt, zt = V + Rt - _e, et = he(u ? je(Pe, Tt) : Pe, V, u ? ne(Q, zt) : Q);
714
- c[d] = et, D[d] = et - V;
715
- }
716
- if (l) {
717
- var tt, Nt = d === "x" ? R : j, Mt = d === "x" ? N : M, _ = c[m], Be = m === "y" ? "height" : "width", rt = _ + v[Nt], nt = _ - v[Mt], Ie = [R, j].indexOf(w) !== -1, ot = (tt = b == null ? void 0 : b[m]) != null ? tt : 0, it = Ie ? rt : _ - O[Be] - E[Be] - ot + k.altAxis, at = Ie ? _ + O[Be] + E[Be] - ot - k.altAxis : nt, st = u && Ie ? or(it, _, at) : he(u ? it : rt, _, u ? at : nt);
718
- c[m] = st, D[m] = st - _;
719
- }
720
- t.modifiersData[n] = D;
721
- }
722
- }
723
- const zr = {
724
- name: "preventOverflow",
725
- enabled: !0,
726
- phase: "main",
727
- fn: Tr,
728
- requiresIfExists: ["offset"]
729
- };
730
- function Nr(e) {
731
- return {
732
- scrollLeft: e.scrollLeft,
733
- scrollTop: e.scrollTop
734
- };
735
- }
736
- function Mr(e) {
737
- return e === L(e) || !z(e) ? Je(e) : Nr(e);
738
- }
739
- function Lr(e) {
740
- var t = e.getBoundingClientRect(), r = le(t.width) / e.offsetWidth || 1, n = le(t.height) / e.offsetHeight || 1;
741
- return r !== 1 || n !== 1;
742
- }
743
- function Vr(e, t, r) {
744
- r === void 0 && (r = !1);
745
- var n = z(t), o = z(t) && Lr(t), i = K(t), a = pe(e, o, r), l = {
746
- scrollLeft: 0,
747
- scrollTop: 0
748
- }, s = {
749
- x: 0,
750
- y: 0
751
- };
752
- return (n || !n && !r) && ((U(t) !== "body" || // https://github.com/popperjs/popper-core/issues/1078
753
- Ze(i)) && (l = Mr(t)), z(t) ? (s = pe(t, !0), s.x += t.clientLeft, s.y += t.clientTop) : i && (s.x = Qe(i))), {
754
- x: a.left + l.scrollLeft - s.x,
755
- y: a.top + l.scrollTop - s.y,
756
- width: a.width,
757
- height: a.height
758
- };
759
- }
760
- function Ir(e) {
761
- var t = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(), n = [];
762
- e.forEach(function(i) {
763
- t.set(i.name, i);
764
- });
765
- function o(i) {
766
- r.add(i.name);
767
- var a = [].concat(i.requires || [], i.requiresIfExists || []);
768
- a.forEach(function(l) {
769
- if (!r.has(l)) {
770
- var s = t.get(l);
771
- s && o(s);
772
- }
773
- }), n.push(i);
774
- }
775
- return e.forEach(function(i) {
776
- r.has(i.name) || o(i);
777
- }), n;
778
- }
779
- function qr(e) {
780
- var t = Ir(e);
781
- return Fe.reduce(function(r, n) {
782
- return r.concat(t.filter(function(o) {
783
- return o.phase === n;
784
- }));
785
- }, []);
786
- }
787
- function Fr(e) {
788
- var t;
789
- return function() {
790
- return t || (t = new Promise(function(r) {
791
- Promise.resolve().then(function() {
792
- t = void 0, r(e());
793
- });
794
- })), t;
795
- };
796
- }
797
- function Y(e) {
798
- for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
799
- r[n - 1] = arguments[n];
800
- return [].concat(r).reduce(function(o, i) {
801
- return o.replace(/%s/, i);
802
- }, e);
803
- }
804
- var ee = 'Popper: modifier "%s" provided an invalid %s property, expected %s but got %s', Wr = 'Popper: modifier "%s" requires "%s", but "%s" modifier is not available', ht = ["name", "enabled", "phase", "fn", "effect", "requires", "options"];
805
- function Hr(e) {
806
- e.forEach(function(t) {
807
- [].concat(Object.keys(t), ht).filter(function(r, n, o) {
808
- return o.indexOf(r) === n;
809
- }).forEach(function(r) {
810
- switch (r) {
811
- case "name":
812
- typeof t.name != "string" && console.error(Y(ee, String(t.name), '"name"', '"string"', '"' + String(t.name) + '"'));
813
- break;
814
- case "enabled":
815
- typeof t.enabled != "boolean" && console.error(Y(ee, t.name, '"enabled"', '"boolean"', '"' + String(t.enabled) + '"'));
816
- break;
817
- case "phase":
818
- Fe.indexOf(t.phase) < 0 && console.error(Y(ee, t.name, '"phase"', "either " + Fe.join(", "), '"' + String(t.phase) + '"'));
819
- break;
820
- case "fn":
821
- typeof t.fn != "function" && console.error(Y(ee, t.name, '"fn"', '"function"', '"' + String(t.fn) + '"'));
822
- break;
823
- case "effect":
824
- t.effect != null && typeof t.effect != "function" && console.error(Y(ee, t.name, '"effect"', '"function"', '"' + String(t.fn) + '"'));
825
- break;
826
- case "requires":
827
- t.requires != null && !Array.isArray(t.requires) && console.error(Y(ee, t.name, '"requires"', '"array"', '"' + String(t.requires) + '"'));
828
- break;
829
- case "requiresIfExists":
830
- Array.isArray(t.requiresIfExists) || console.error(Y(ee, t.name, '"requiresIfExists"', '"array"', '"' + String(t.requiresIfExists) + '"'));
831
- break;
832
- case "options":
833
- case "data":
834
- break;
835
- default:
836
- console.error('PopperJS: an invalid property has been provided to the "' + t.name + '" modifier, valid properties are ' + ht.map(function(n) {
837
- return '"' + n + '"';
838
- }).join(", ") + '; but "' + r + '" was provided.');
839
- }
840
- t.requires && t.requires.forEach(function(n) {
841
- e.find(function(o) {
842
- return o.name === n;
843
- }) == null && console.error(Y(Wr, String(t.name), n, n));
844
- });
845
- });
846
- });
847
- }
848
- function Ur(e, t) {
849
- var r = /* @__PURE__ */ new Set();
850
- return e.filter(function(n) {
851
- var o = t(n);
852
- if (!r.has(o))
853
- return r.add(o), !0;
854
- });
855
- }
856
- function Xr(e) {
857
- var t = e.reduce(function(r, n) {
858
- var o = r[n.name];
859
- return r[n.name] = o ? Object.assign({}, o, n, {
860
- options: Object.assign({}, o.options, n.options),
861
- data: Object.assign({}, o.data, n.data)
862
- }) : n, r;
863
- }, {});
864
- return Object.keys(t).map(function(r) {
865
- return t[r];
866
- });
867
- }
868
- var gt = "Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.", Yr = "Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.", mt = {
869
- placement: "bottom",
870
- modifiers: [],
871
- strategy: "absolute"
872
- };
873
- function bt() {
874
- for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++)
875
- t[r] = arguments[r];
876
- return !t.some(function(n) {
877
- return !(n && typeof n.getBoundingClientRect == "function");
878
- });
879
- }
880
- function Kr(e) {
881
- e === void 0 && (e = {});
882
- var t = e, r = t.defaultModifiers, n = r === void 0 ? [] : r, o = t.defaultOptions, i = o === void 0 ? mt : o;
883
- return function(l, s, f) {
884
- f === void 0 && (f = i);
885
- var p = {
886
- placement: "bottom",
887
- orderedModifiers: [],
888
- options: Object.assign({}, mt, i),
889
- modifiersData: {},
890
- elements: {
891
- reference: l,
892
- popper: s
893
- },
894
- attributes: {},
895
- styles: {}
896
- }, h = [], y = !1, u = {
897
- state: p,
898
- setOptions: function(w) {
899
- var C = typeof w == "function" ? w(p.options) : w;
900
- g(), p.options = Object.assign({}, i, p.options, C), p.scrollParents = {
901
- reference: oe(l) ? ge(l) : l.contextElement ? ge(l.contextElement) : [],
902
- popper: ge(s)
903
- };
904
- var x = qr(Xr([].concat(n, p.options.modifiers)));
905
- if (p.orderedModifiers = x.filter(function(b) {
906
- return b.enabled;
907
- }), process.env.NODE_ENV !== "production") {
908
- var d = Ur([].concat(x, p.options.modifiers), function(b) {
909
- var D = b.name;
910
- return D;
911
- });
912
- if (Hr(d), I(p.options.placement) === Te) {
913
- var m = p.orderedModifiers.find(function(b) {
914
- var D = b.name;
915
- return D === "flip";
916
- });
917
- m || console.error(['Popper: "auto" placements require the "flip" modifier be', "present and enabled to work."].join(" "));
918
- }
919
- var c = q(s), O = c.marginTop, E = c.marginRight, S = c.marginBottom, k = c.marginLeft;
920
- [O, E, S, k].some(function(b) {
921
- return parseFloat(b);
922
- }) && console.warn(['Popper: CSS "margin" styles cannot be used to apply padding', "between the popper and its reference element or boundary.", "To replicate margin, use the `offset` modifier, as well as", "the `padding` option in the `preventOverflow` and `flip`", "modifiers."].join(" "));
923
- }
924
- return $(), u.update();
925
- },
926
- // Sync update – it will always be executed, even if not necessary. This
927
- // is useful for low frequency updates where sync behavior simplifies the
928
- // logic.
929
- // For high frequency updates (e.g. `resize` and `scroll` events), always
930
- // prefer the async Popper#update method
931
- forceUpdate: function() {
932
- if (!y) {
933
- var w = p.elements, C = w.reference, x = w.popper;
934
- if (!bt(C, x)) {
935
- process.env.NODE_ENV !== "production" && console.error(gt);
936
- return;
937
- }
938
- p.rects = {
939
- reference: Vr(C, Ce(x), p.options.strategy === "fixed"),
940
- popper: Ke(x)
941
- }, p.reset = !1, p.placement = p.options.placement, p.orderedModifiers.forEach(function(b) {
942
- return p.modifiersData[b.name] = Object.assign({}, b.data);
943
- });
944
- for (var d = 0, m = 0; m < p.orderedModifiers.length; m++) {
945
- if (process.env.NODE_ENV !== "production" && (d += 1, d > 100)) {
946
- console.error(Yr);
947
- break;
948
- }
949
- if (p.reset === !0) {
950
- p.reset = !1, m = -1;
951
- continue;
952
- }
953
- var c = p.orderedModifiers[m], O = c.fn, E = c.options, S = E === void 0 ? {} : E, k = c.name;
954
- typeof O == "function" && (p = O({
955
- state: p,
956
- options: S,
957
- name: k,
958
- instance: u
959
- }) || p);
960
- }
961
- }
962
- },
963
- // Async and optimistically optimized update – it will not be executed if
964
- // not necessary (debounced to run at most once-per-tick)
965
- update: Fr(function() {
966
- return new Promise(function(v) {
967
- u.forceUpdate(), v(p);
968
- });
969
- }),
970
- destroy: function() {
971
- g(), y = !0;
972
- }
973
- };
974
- if (!bt(l, s))
975
- return process.env.NODE_ENV !== "production" && console.error(gt), u;
976
- u.setOptions(f).then(function(v) {
977
- !y && f.onFirstUpdate && f.onFirstUpdate(v);
978
- });
979
- function $() {
980
- p.orderedModifiers.forEach(function(v) {
981
- var w = v.name, C = v.options, x = C === void 0 ? {} : C, d = v.effect;
982
- if (typeof d == "function") {
983
- var m = d({
984
- state: p,
985
- name: w,
986
- instance: u,
987
- options: x
988
- }), c = function() {
989
- };
990
- h.push(m || c);
991
- }
992
- });
993
- }
994
- function g() {
995
- h.forEach(function(v) {
996
- return v();
997
- }), h = [];
998
- }
999
- return u;
73
+ target: g,
74
+ menu: s,
75
+ alignment: i,
76
+ expanded: r,
77
+ floatingStyles: a,
78
+ placement: C,
79
+ side: o,
80
+ classes: f,
81
+ buttonClasses: w,
82
+ show: b,
83
+ hide: c,
84
+ toggle: d,
85
+ onBlur: u,
86
+ onClick: F,
87
+ onClickToggle: j,
88
+ onClickItem: q
1000
89
  };
1001
90
  }
1002
- var Gr = [vr, Rr, dr, tr, Dr, Pr, zr, lr, Sr], Jr = /* @__PURE__ */ Kr({
1003
- defaultModifiers: Gr
1004
- });
1005
- const Qr = F({
1006
- props: {
1007
- /**
1008
- * The generic component prefix.
1009
- */
1010
- componentPrefix: String,
1011
- /**
1012
- * The size name.
1013
- */
1014
- size: String,
1015
- /**
1016
- * The sizable prefix. Should use to component prefix, unless the
1017
- * sizeable prefix is different than the component prefix.
1018
- */
1019
- sizePrefix: String
1020
- },
1021
- computed: {
1022
- /**
1023
- * The computed sizeable class prefix.
1024
- */
1025
- sizeableClassPrefix() {
1026
- return this.sizePrefix || this.componentPrefix;
1027
- },
1028
- /**
1029
- * Determines if the size already has the prefix.
1030
- */
1031
- hasSizeablePrefix() {
1032
- return this.size === void 0 ? !1 : !!this.size.match(
1033
- new RegExp(`^${this.sizeableClassPrefix}`)
1034
- );
1035
- },
1036
- /**
1037
- * The size classes that get injected into the DOM.
1038
- */
1039
- sizeableClass() {
1040
- return this.size ? !this.sizeableClassPrefix || this.hasSizeablePrefix ? this.size : `${this.sizeableClassPrefix}-${this.size}` : "";
1041
- }
1042
- }
1043
- }), Zr = {
1044
- props: {
1045
- componentPrefix: String,
1046
- variant: String,
1047
- variantPrefix: String
1048
- },
1049
- computed: {
1050
- variantClassPrefix() {
1051
- return this.variantPrefix || this.componentPrefix;
1052
- },
1053
- hasVariantPrefix() {
1054
- return this.variant === void 0 ? !1 : !!this.variant.match(
1055
- new RegExp(`^${this.variantClassPrefix}`)
1056
- );
1057
- },
1058
- variantClass() {
1059
- return this.variant ? !this.variantClassPrefix || this.hasVariantPrefix ? this.variant : `${this.variantClassPrefix}-${this.variant}` : "";
1060
- }
1061
- }
1062
- }, _r = F({
1063
- mixins: [
1064
- Qr,
1065
- Zr
1066
- ],
1067
- props: {
1068
- active: Boolean,
1069
- block: Boolean,
1070
- componentPrefix: {
1071
- type: String,
1072
- default: "btn"
1073
- },
1074
- disabled: Boolean,
1075
- label: String,
1076
- outline: Boolean,
1077
- tag: String,
1078
- variant: {
1079
- type: String,
1080
- default: "primary"
1081
- }
1082
- },
1083
- computed: {
1084
- classes() {
1085
- return [
1086
- "btn",
1087
- this.variantClass,
1088
- this.sizeableClass,
1089
- this.active && "active",
1090
- this.block && "btn-block",
1091
- this.disabled && "disabled"
1092
- ];
1093
- },
1094
- component() {
1095
- return this.tag ? this.tag : this.$attrs.href ? "a" : "button";
1096
- },
1097
- variantClassPrefix() {
1098
- return (this.variantPrefix || this.componentPrefix) + (this.outline ? "-outline" : "");
1099
- }
1100
- }
1101
- }), en = (e, t) => {
1102
- const r = e.__vccOpts || e;
1103
- for (const [n, o] of t)
1104
- r[n] = o;
1105
- return r;
1106
- };
1107
- function tn(e, t, r, n, o, i) {
1108
- return H(), te(Ue(e.component), me(e.$attrs, {
1109
- disabled: e.disabled,
1110
- class: e.classes,
1111
- role: "button"
1112
- }), {
1113
- default: B(() => [
1114
- P(e.$slots, "default", {}, () => [
1115
- be(ye(e.label), 1)
1116
- ])
1117
- ]),
1118
- _: 3
1119
- }, 16, ["disabled", "class"]);
1120
- }
1121
- const rn = /* @__PURE__ */ en(_r, [["render", tn]]), nn = F({
1122
- props: {
1123
- componentPrefix: String,
1124
- size: String,
1125
- sizePrefix: String
1126
- },
1127
- computed: {
1128
- sizeableClassPrefix() {
1129
- return this.sizePrefix || this.componentPrefix;
1130
- },
1131
- hasSizeablePrefix() {
1132
- return this.size === void 0 ? !1 : !!this.size.match(
1133
- new RegExp(`^${this.sizeableClassPrefix}`)
1134
- );
1135
- },
1136
- sizeableClass() {
1137
- return this.size ? !this.sizeableClassPrefix || this.hasSizeablePrefix ? this.size : `${this.sizeableClassPrefix}-${this.size}` : "";
1138
- }
1139
- }
1140
- }), on = F({
1141
- name: "BtnGroup",
1142
- mixins: [
1143
- nn
1144
- ],
1145
- props: {
1146
- /**
1147
- * The size prefix.
1148
- *
1149
- * @param {String}
1150
- */
1151
- sizePrefix: {
1152
- type: String,
1153
- default() {
1154
- return "btn-group";
1155
- }
1156
- },
1157
- /**
1158
- * Denote the button group as toggle buttons
1159
- *
1160
- * @type {Boolean}
1161
- */
1162
- toggle: Boolean,
1163
- /**
1164
- * Display the buttons vertically
1165
- *
1166
- * @type {Boolean}
1167
- */
1168
- vertical: Boolean
1169
- },
1170
- computed: {
1171
- classes() {
1172
- return {
1173
- "btn-group": !this.vertical,
1174
- "btn-group-toggle": this.toggle,
1175
- "btn-group-vertical": this.vertical,
1176
- [this.sizeableClass]: !!this.size
1177
- };
1178
- }
1179
- }
1180
- }), an = (e, t) => {
1181
- const r = e.__vccOpts || e;
1182
- for (const [n, o] of t)
1183
- r[n] = o;
1184
- return r;
1185
- }, sn = ["data-toggle"];
1186
- function ln(e, t, r, n, o, i) {
1187
- return H(), Xe("div", {
1188
- class: W(e.classes),
1189
- "data-toggle": e.toggle ? "buttons" : !1,
1190
- role: "group"
1191
- }, [
1192
- P(e.$slots, "default")
1193
- ], 10, sn);
1194
- }
1195
- const pn = /* @__PURE__ */ an(on, [["render", ln]]);
1196
- F({
1197
- name: "BtnGroupToggle"
1198
- });
1199
- function qe(e, t) {
1200
- e.props.class = `${e.props.class || ""} ${t}`.trim();
1201
- }
1202
- function Dt(e) {
1203
- for (const t of e) {
1204
- t.type === Vt && Dt(t.children), t.props = Object.assign({ class: void 0 }, t.props), t.attrs = Object.assign({}, t.attrs), t.attrs.on || (t.attrs.on = {});
1205
- const r = t.props.class && t.props.class.match(/dropdown-item/), n = t.props.class && t.props.class.match(/dropdown-divider/);
1206
- typeof t.type == "string" && t.type.match(/^h\d$/) ? qe(t, "dropdown-header") : t.type === "hr" && !n ? (t.type = "div", qe(t, "dropdown-divider")) : !r && !n && qe(t, "dropdown-item");
1207
- }
1208
- return e;
1209
- }
1210
- const fn = (e, t) => Lt("div", {}, Dt(t.slots.default())), un = F({
1211
- name: "DropdownMenu",
1212
- components: {
1213
- DropdownMenuItems: fn
1214
- },
1215
- props: {
1216
- /**
1217
- * Display the dropdown menu aligned left or right
1218
- *
1219
- * @property String
1220
- */
1221
- align: {
1222
- type: String,
1223
- default: "left",
1224
- validate(e) {
1225
- return ["left", "right"].indexOf(e.toLowerCase()) !== -1;
1226
- }
1227
- },
1228
- /**
1229
- * The default visibility of the dropdown menu.
1230
- *
1231
- * @property Object
1232
- */
1233
- show: Boolean
1234
- }
1235
- }), dn = (e, t) => {
1236
- const r = e.__vccOpts || e;
1237
- for (const [n, o] of t)
1238
- r[n] = o;
1239
- return r;
1240
- }, cn = ["aria-labelledby"];
1241
- function vn(e, t, r, n, o, i) {
1242
- const a = re("dropdown-menu-items");
1243
- return H(), Xe("div", {
1244
- class: W(["dropdown-menu", {
1245
- "dropdown-menu-left": e.align === "left",
1246
- "dropdown-menu-right": e.align === "right",
1247
- show: e.show
1248
- }]),
1249
- "aria-labelledby": e.$attrs.id
1250
- }, [
1251
- we(a, null, {
1252
- default: B(() => [
1253
- P(e.$slots, "default")
1254
- ]),
1255
- _: 3
1256
- })
1257
- ], 10, cn);
1258
- }
1259
- const hn = /* @__PURE__ */ dn(un, [["render", vn]]), gn = F({
1260
- props: {
1261
- expanded: {
1262
- type: Boolean,
1263
- default: !1
1264
- },
1265
- id: {
1266
- type: String,
1267
- default: void 0
1268
- },
1269
- href: {
1270
- type: String,
1271
- default: void 0
1272
- },
1273
- to: {
1274
- type: [String, Object],
1275
- default: void 0
1276
- }
1277
- },
1278
- computed: {
1279
- is() {
1280
- return this.to ? "router-link" : this.href ? "a" : "button";
1281
- }
1282
- }
1283
- }), Ne = (e, t) => {
1284
- const r = e.__vccOpts || e;
1285
- for (const [n, o] of t)
1286
- r[n] = o;
1287
- return r;
1288
- };
1289
- function mn(e, t, r, n, o, i) {
1290
- return H(), te(Ue(e.is), me({ id: e.id }, e.to ? { to: e.to } : { href: e.href }, {
1291
- "aria-haspopup": "true",
1292
- "aria-expanded": e.expanded,
1293
- type: e.is === "button" ? "button" : void 0
1294
- }), {
1295
- default: B(() => [
1296
- P(e.$slots, "default")
1297
- ]),
1298
- _: 3
1299
- }, 16, ["id", "aria-expanded", "type"]);
1300
- }
1301
- const bn = /* @__PURE__ */ Ne(gn, [["render", mn]]), At = F({
1302
- components: {
1303
- BtnDropdownAction: bn,
1304
- BtnGroup: pn,
1305
- DropdownMenu: hn
1306
- },
1307
- extends: rn,
91
+ const W = ["aria-expanded"], X = /* @__PURE__ */ D({
92
+ __name: "BtnDropdownSingle",
1308
93
  props: {
1309
- /**
1310
- * Display the dropdown menu aligned left or right
1311
- *
1312
- * @property String
1313
- */
1314
- align: {
1315
- type: String,
1316
- default: "left",
1317
- validate(e) {
1318
- return ["left", "right"].indexOf(e.toLowerCase()) !== -1;
1319
- }
1320
- },
1321
- /**
1322
- * Should animate the dropdown opening.
1323
- *
1324
- * @property {Boolean}
1325
- */
1326
- animated: {
1327
- type: Boolean,
1328
- default: !0
1329
- },
1330
- /**
1331
- * Additional button classes.
1332
- *
1333
- * @property {Object|String}
1334
- */
1335
- buttonClass: [Object, String],
1336
- /**
1337
- * Show the caret.
1338
- *
1339
- * @property {Boolean}
1340
- */
1341
- caret: {
1342
- type: Boolean,
1343
- default: !0
1344
- },
1345
- /**
1346
- * Should display the toggle button as a circle.
1347
- *
1348
- * @property Boolean
1349
- */
1350
- // circle: {
1351
- // type: Boolean,
1352
- // default: false
1353
- // },
1354
- /**
1355
- * Display as a dropup instead of a dropdown.
1356
- *
1357
- * @property Boolean
1358
- */
1359
- dropup: {
1360
- type: Boolean,
1361
- default: !1
1362
- },
1363
- /**
1364
- * Display as a dropright instead of a dropdown.
1365
- *
1366
- * @property Boolean
1367
- */
1368
- dropright: {
1369
- type: Boolean,
1370
- default: !1
1371
- },
1372
- /**
1373
- * Display as a dropleft instead of a dropdown.
1374
- *
1375
- * @property Boolean
1376
- */
1377
- dropleft: {
1378
- type: Boolean,
1379
- default: !1
1380
- },
1381
- /**
1382
- * The action height.
1383
- *
1384
- * @property {String}
1385
- */
1386
- height: String,
1387
- /**
1388
- * The href action.
1389
- *
1390
- * @property {String}
1391
- */
1392
- href: String,
1393
- /**
1394
- * Is the dropdown a nav item?
1395
- *
1396
- * @property {Boolean}
1397
- */
1398
- nav: Boolean,
1399
- /**
1400
- * The toggle button's label. If not defined as an attribute,
1401
- * you can override with the component's slot (inner html).
1402
- *
1403
- * @property {String}
1404
- */
1405
- label: String,
1406
- offset: {
1407
- type: Number,
1408
- default: 5
1409
- },
1410
- /**
1411
- * Should rotate the toggle button when opened.
1412
- *
1413
- * @property {Boolean}
1414
- */
1415
- rotate: {
1416
- type: Boolean,
1417
- default: !1
1418
- },
1419
- /**
1420
- * Display the dropdown button with a split toggle button.
1421
- *
1422
- * @property {Boolean}
1423
- */
1424
- split: {
1425
- type: Boolean,
1426
- default: !1
1427
- },
1428
- /**
1429
- * The "to" path, used for vue-router.
1430
- *
1431
- * @property {String|Object}
1432
- */
1433
- to: [String, Object],
1434
- /**
1435
- * The button type attribute.
1436
- *
1437
- * @property {String}
1438
- */
1439
- type: {
1440
- type: String,
1441
- default: "button"
1442
- },
1443
- /**
1444
- * The action width.
1445
- *
1446
- * @property {String}
1447
- */
1448
- width: String
1449
- },
1450
- emits: [
1451
- "click-toggle",
1452
- "show",
1453
- "hide",
1454
- "toggle"
1455
- ],
1456
- data() {
1457
- return {
1458
- popper: null,
1459
- triggerAnimation: !1,
1460
- expanded: !1
1461
- };
1462
- },
1463
- computed: {
1464
- scope() {
1465
- return {
1466
- // Pass the computed props.
1467
- placement: this.placement,
1468
- variantClassPrefix: this.variantClassPrefix,
1469
- sizeableClassPrefix: this.sizeableClassPrefix,
1470
- classes: this.classes,
1471
- actionClasses: this.actionClasses,
1472
- toggleStyle: this.toggleStyle,
1473
- toggleClasses: this.toggleClasses,
1474
- // Pass the methods
1475
- focus: this.focus,
1476
- queryFocusable: this.queryFocusable,
1477
- isFocusable: this.isFocusable,
1478
- toggle: this.toggle,
1479
- show: this.show,
1480
- hide: this.hide,
1481
- onBlur: this.onBlur,
1482
- onClickItem: this.onClickItem,
1483
- onClickToggle: this.onClickToggle,
1484
- expanded: this.expanded
1485
- };
1486
- },
1487
- placement() {
1488
- return this.dropup ? "top" : this.dropleft ? "left" : this.dropright ? "right" : "bottom";
1489
- },
1490
- variantClassPrefix() {
1491
- return "btn" + (this.outline ? "-outline" : "");
1492
- },
1493
- sizeableClassPrefix() {
1494
- return "btn";
1495
- },
1496
- classes() {
1497
- return {
1498
- dropdown: this.dropup && this.dropright && this.dropleft,
1499
- dropup: this.dropup,
1500
- dropright: this.dropright,
1501
- dropleft: this.dropleft,
1502
- "icon-only": !this.nav && !this.split && !!this.$slots.icon && !this.$slots.label,
1503
- "hide-caret": !this.caret,
1504
- expanded: this.expanded,
1505
- "rotate-90": !this.nav && this.split && this.rotate && this.expanded
1506
- };
1507
- },
1508
- actionClasses() {
1509
- return Object.assign({
1510
- btn: !this.nav,
1511
- [this.variantClass]: !this.nav && !!this.variant,
1512
- [this.sizeableClass]: !!this.size
1513
- }, typeof this.buttonClass == "object" ? this.buttonClass : {
1514
- [this.buttonClass]: !!this.buttonClass
1515
- });
1516
- },
1517
- toggleStyle() {
1518
- return {
1519
- width: this.width,
1520
- height: this.height
1521
- };
1522
- },
1523
- toggleClasses() {
1524
- return Object.assign({
1525
- active: this.active,
1526
- btn: !this.nav,
1527
- "btn-block": !!this.block,
1528
- "nav-link": !!this.nav,
1529
- "rotate-90": !this.split && this.rotate && this.expanded,
1530
- "dropdown-toggle": !0,
1531
- "dropdown-toggle-split": !this.nav && this.split,
1532
- [this.variantClass]: !this.nav && !!this.variant,
1533
- [this.sizeableClass]: !!this.size
1534
- }, typeof this.buttonClass == "object" ? this.buttonClass : {
1535
- [this.buttonClass]: !!this.buttonClass
1536
- });
1537
- }
1538
- },
1539
- watch: {
1540
- expanded(e) {
1541
- this.$nextTick(() => {
1542
- this.$emit(e ? "show" : "hide"), this.$emit("toggle", e);
1543
- }), setTimeout(() => {
1544
- e ? document.addEventListener("click", this.onClickDocument) : document.removeEventListener("click", this.onClickDocument);
1545
- });
1546
- }
94
+ align: {},
95
+ block: { type: Boolean },
96
+ buttonClass: {},
97
+ caret: { type: Boolean, default: !0 },
98
+ dropup: { type: Boolean },
99
+ dropright: { type: Boolean },
100
+ dropleft: { type: Boolean },
101
+ label: {},
102
+ offset: {},
103
+ middleware: {},
104
+ side: {},
105
+ size: {},
106
+ split: { type: Boolean },
107
+ variant: { default: "btn-primary" }
1547
108
  },
1548
- beforeUnmount() {
1549
- this.popper && this.popper.destroy();
1550
- },
1551
- methods: {
1552
- /**
1553
- * Focus on the the dropdown toggle button
1554
- *
1555
- * @return void
1556
- */
1557
- focus() {
1558
- var e;
1559
- (e = this.$el) == null || e.querySelector(".dropdown-toggle").focus();
1560
- },
1561
- /**
1562
- * Focus on the the dropdown toggle button
1563
- *
1564
- * @return void
1565
- */
1566
- queryFocusable() {
1567
- var e;
1568
- return (e = this.$el) == null ? void 0 : e.querySelector(".dropdown-menu").querySelectorAll('label, input, select, textarea, [tabindex]:not([tabindex="-1"])');
1569
- },
1570
- /**
1571
- * Method to check if the given element is focusable.
1572
- *
1573
- * @return void
1574
- */
1575
- isFocusable(e) {
1576
- const t = this.queryFocusable();
1577
- for (const r in t)
1578
- if (e === t[r])
1579
- return !0;
1580
- return !1;
1581
- },
1582
- /**
1583
- * Toggle the dropdown menu
1584
- *
1585
- * @return void
1586
- */
1587
- toggle() {
1588
- this.expanded ? this.hide() : this.show();
1589
- },
1590
- /**
1591
- * Show the dropdown menu
1592
- *
1593
- * @return void
1594
- */
1595
- show() {
1596
- var t, r;
1597
- this.expanded = !0;
1598
- const e = this.$refs.split && ((t = this.$refs.split) == null ? void 0 : t.$el) || this.$el;
1599
- !this.nav && !this.popper ? this.popper = Jr(e, (r = this.$refs.menu) == null ? void 0 : r.$el, {
1600
- placement: `${this.placement}-${this.align === "left" ? "start" : "end"}`,
1601
- onFirstUpdate: () => {
1602
- this.triggerAnimation = this.animated;
1603
- },
1604
- modifiers: [
1605
- {
1606
- name: "offset",
1607
- options: {
1608
- offset: [0, this.nav ? 1 : this.offset]
1609
- // offset: ['.125rem', !this.nav ? 4 : 1],
1610
- }
1611
- }
1612
- ]
1613
- }) : this.popper && this.popper.update();
1614
- },
1615
- /**
1616
- * Hide the dropdown menu
1617
- *
1618
- * @return void
1619
- */
1620
- hide() {
1621
- this.expanded = !1;
1622
- },
1623
- /**
1624
- * A callback function for the `blur-item` event.
1625
- *
1626
- * @return void
1627
- */
1628
- onBlur(e) {
1629
- var t;
1630
- (this.$refs.menu && !((t = this.$refs.menu) != null && t.$el.contains(e.relatedTarget)) || !(this != null && this.$el.contains(e.relatedTarget))) && this.hide();
1631
- },
1632
- onClickDocument(e) {
1633
- this != null && this.$el.contains(e.target) || this.hide();
1634
- },
1635
- /**
1636
- * A callback function for the `click-item` event.
1637
- *
1638
- * @return void
1639
- */
1640
- onClickItem(e) {
1641
- this.isFocusable(e.target) || this.hide();
1642
- },
1643
- /**
1644
- * A callback function for the `click-toggle` event.
1645
- *
1646
- * @return void
1647
- */
1648
- onClickToggle(e) {
1649
- e.target.dispatchEvent(new Event("focus", e)), this.$emit("click-toggle", e), e.defaultPrevented || this.toggle();
1650
- },
1651
- onKeydown(e) {
1652
- e.target.parentElement.lastElementChild === e.target && this.hide();
1653
- }
1654
- }
1655
- }), yn = F({
1656
- mixins: [
1657
- At
1658
- ]
1659
- });
1660
- function wn(e, t, r, n, o, i) {
1661
- const a = re("btn-dropdown-action"), l = re("dropdown-menu"), s = re("btn-group");
1662
- return H(), te(s, {
1663
- class: W(e.classes)
1664
- }, {
1665
- default: B(() => [
1666
- P(e.$slots, "button", ae(Re(e.scope)), () => [
1667
- we(a, {
1668
- id: e.$attrs.id,
1669
- ref: "button",
1670
- expanded: e.expanded,
1671
- href: e.href,
1672
- to: e.to,
1673
- style: It(e.toggleStyle),
1674
- class: W(e.toggleClasses),
1675
- onBlur: e.onBlur,
1676
- onClick: e.onClickToggle
1677
- }, {
1678
- default: B(() => [
1679
- P(e.$slots, "icon"),
1680
- P(e.$slots, "label", {}, () => [
1681
- be(ye(e.label), 1)
1682
- ])
1683
- ]),
1684
- _: 3
1685
- }, 8, ["id", "expanded", "href", "to", "style", "class", "onBlur", "onClick"])
109
+ emits: ["click", "clickToggle", "show", "hide"],
110
+ setup(t, { emit: m }) {
111
+ const g = t, s = m, {
112
+ target: r,
113
+ menu: i,
114
+ buttonClasses: o,
115
+ classes: C,
116
+ expanded: f,
117
+ floatingStyles: w,
118
+ onBlur: a,
119
+ onClickToggle: p,
120
+ onClickItem: b
121
+ } = V(g, s);
122
+ return (c, d) => (M(), A("div", {
123
+ class: y(["btn-group", e(C)])
124
+ }, [
125
+ k(c.$slots, "button", B(x({ target: (n) => r.value = n, expanded: e(f), onBlur: e(a), onClickToggle: e(p) })), () => [
126
+ $("button", {
127
+ ref_key: "target",
128
+ ref: r,
129
+ type: "button",
130
+ class: y({ ...e(o), "dropdown-toggle": !0 }),
131
+ "aria-haspopup": "true",
132
+ "aria-expanded": e(f),
133
+ onBlur: d[0] || (d[0] = //@ts-ignore
134
+ (...n) => e(a) && e(a)(...n)),
135
+ onClick: d[1] || (d[1] = //@ts-ignore
136
+ (...n) => e(p) && e(p)(...n))
137
+ }, S(t.label), 43, W)
1686
138
  ]),
1687
- we(l, {
1688
- id: e.$attrs.id,
1689
- ref: "menu",
1690
- align: e.align,
1691
- show: e.expanded,
1692
- class: W({ animated: e.triggerAnimation }),
1693
- onBlur: e.onBlur,
1694
- onClick: e.onClickItem,
1695
- onKeydown: yt(e.onKeydown, ["tab"]),
1696
- onMousedown: t[0] || (t[0] = wt(() => {
139
+ H(e(N), {
140
+ ref_key: "menu",
141
+ ref: i,
142
+ class: y({
143
+ show: e(f)
144
+ }),
145
+ style: I(e(w)),
146
+ onBlur: e(a),
147
+ onClick: e(b),
148
+ onMousedown: d[2] || (d[2] = L(() => {
1697
149
  }, ["prevent"]))
1698
150
  }, {
1699
- default: B(() => [
1700
- P(e.$slots, "default")
151
+ default: v(() => [
152
+ k(c.$slots, "default")
1701
153
  ]),
1702
154
  _: 3
1703
- }, 8, ["id", "align", "show", "class", "onBlur", "onClick", "onKeydown"])
1704
- ]),
1705
- _: 3
1706
- }, 8, ["class"]);
1707
- }
1708
- const $n = /* @__PURE__ */ Ne(yn, [["render", wn]]), On = F({
1709
- mixins: [
1710
- At
1711
- ],
1712
- emits: [
1713
- "click"
1714
- ]
1715
- }), xn = ["id", "aria-expanded"];
1716
- function Cn(e, t, r, n, o, i) {
1717
- const a = re("btn-dropdown-action"), l = re("dropdown-menu"), s = re("btn-group");
1718
- return H(), te(s, {
1719
- class: W([e.classes, "btn-dropdown-split"])
1720
- }, {
1721
- default: B(() => [
1722
- e.dropleft ? ce("", !0) : P(e.$slots, "button", ae(me({ key: 0 }, e.scope)), () => [
1723
- e.dropleft ? ce("", !0) : (H(), te(a, {
1724
- key: 0,
1725
- id: e.$attrs.id,
1726
- ref: "button",
1727
- expanded: e.expanded,
1728
- href: e.href,
1729
- to: e.to,
1730
- class: W(e.actionClasses),
1731
- onClick: t[0] || (t[0] = (f) => e.$emit("click", f))
1732
- }, {
1733
- default: B(() => [
1734
- P(e.$slots, "icon"),
1735
- P(e.$slots, "label", {}, () => [
1736
- be(ye(e.label), 1)
1737
- ])
1738
- ]),
1739
- _: 3
1740
- }, 8, ["id", "expanded", "href", "to", "class"]))
155
+ }, 8, ["class", "style", "onBlur", "onClick"])
156
+ ], 2));
157
+ }
158
+ }), Y = ["aria-expanded"], Z = { class: "btn-group" }, _ = ["aria-expanded"], ee = ["aria-expanded"], te = /* @__PURE__ */ D({
159
+ __name: "BtnDropdownSplit",
160
+ props: {
161
+ align: {},
162
+ block: { type: Boolean },
163
+ buttonClass: {},
164
+ caret: { type: Boolean, default: !0 },
165
+ dropup: { type: Boolean },
166
+ dropright: { type: Boolean },
167
+ dropleft: { type: Boolean },
168
+ label: {},
169
+ offset: {},
170
+ middleware: {},
171
+ side: {},
172
+ size: {},
173
+ split: { type: Boolean },
174
+ variant: { default: "btn-primary" }
175
+ },
176
+ emits: ["click", "clickToggle", "show", "hide"],
177
+ setup(t, { emit: m }) {
178
+ const g = t, s = m, {
179
+ target: r,
180
+ menu: i,
181
+ buttonClasses: o,
182
+ classes: C,
183
+ expanded: f,
184
+ floatingStyles: w,
185
+ onBlur: a,
186
+ onClick: p,
187
+ onClickToggle: b,
188
+ onClickItem: c
189
+ } = V(g, s);
190
+ return (d, n) => (M(), A("div", {
191
+ class: y(["btn-group btn-dropdown-split", e(C)])
192
+ }, [
193
+ t.dropleft ? P("", !0) : k(d.$slots, "button", B(E({ key: 0 }, { expanded: e(f), onBlur: e(a), onClickToggle: e(b) })), () => [
194
+ $("button", {
195
+ type: "button",
196
+ class: y(e(o)),
197
+ "aria-haspopup": "true",
198
+ "aria-expanded": e(f),
199
+ onBlur: n[0] || (n[0] = //@ts-ignore
200
+ (...u) => e(a) && e(a)(...u)),
201
+ onClick: n[1] || (n[1] = //@ts-ignore
202
+ (...u) => e(p) && e(p)(...u))
203
+ }, S(t.label), 43, Y)
1741
204
  ]),
1742
- we(s, { ref: "split" }, {
1743
- default: B(() => [
1744
- P(e.$slots, "split", ae(Re(e.scope)), () => [
1745
- e.split ? (H(), Xe("button", {
1746
- key: 0,
1747
- id: e.$attrs.id,
1748
- type: "button",
1749
- "aria-haspopup": "true",
1750
- "aria-expanded": e.expanded,
1751
- class: W(e.toggleClasses),
1752
- onBlur: t[1] || (t[1] = (...f) => e.onBlur && e.onBlur(...f)),
1753
- onClick: t[2] || (t[2] = (...f) => e.onClickToggle && e.onClickToggle(...f))
1754
- }, null, 42, xn)) : ce("", !0)
1755
- ]),
1756
- we(l, {
1757
- id: e.$attrs.id,
1758
- ref: "menu",
1759
- align: e.align,
1760
- show: e.expanded,
1761
- class: W({ animated: e.triggerAnimation }),
1762
- onBlur: e.onBlur,
1763
- onClick: e.onClickItem,
1764
- onKeydown: yt(e.onKeydown, ["tab"]),
1765
- onMousedown: t[3] || (t[3] = wt(() => {
1766
- }, ["prevent"]))
1767
- }, {
1768
- default: B(() => [
1769
- P(e.$slots, "default")
1770
- ]),
1771
- _: 3
1772
- }, 8, ["id", "align", "show", "class", "onBlur", "onClick", "onKeydown"])
205
+ $("div", Z, [
206
+ k(d.$slots, "toggle", B(x({ target: (u) => r.value = u, expanded: e(f), onBlur: e(a), onClickToggle: e(b) })), () => [
207
+ $("button", {
208
+ ref_key: "target",
209
+ ref: r,
210
+ type: "button",
211
+ "aria-haspopup": "true",
212
+ "aria-expanded": e(f),
213
+ class: y({ ...e(o), "dropdown-toggle": !0, "dropdown-toggle-split": t.split }),
214
+ onBlur: n[2] || (n[2] = //@ts-ignore
215
+ (...u) => e(a) && e(a)(...u)),
216
+ onClick: n[3] || (n[3] = //@ts-ignore
217
+ (...u) => e(b) && e(b)(...u))
218
+ }, null, 42, _)
1773
219
  ]),
1774
- _: 3
1775
- }, 512),
1776
- e.dropleft ? P(e.$slots, "button", ae(me({ key: 1 }, e.scope)), () => [
1777
- e.dropleft ? (H(), te(a, {
1778
- key: 0,
1779
- id: e.$attrs.id,
1780
- ref: "button",
1781
- expanded: e.expanded,
1782
- href: e.href,
1783
- to: e.to,
1784
- class: W(e.actionClasses),
1785
- onClick: t[4] || (t[4] = (f) => e.$emit("click", f))
220
+ H(e(N), {
221
+ ref_key: "menu",
222
+ ref: i,
223
+ class: y({
224
+ show: e(f)
225
+ }),
226
+ style: I(e(w)),
227
+ onBlur: e(a),
228
+ onClick: e(c),
229
+ onMousedown: n[4] || (n[4] = L(() => {
230
+ }, ["prevent"]))
1786
231
  }, {
1787
- default: B(() => [
1788
- P(e.$slots, "icon"),
1789
- P(e.$slots, "label", {}, () => [
1790
- be(ye(e.label), 1)
1791
- ])
232
+ default: v(() => [
233
+ k(d.$slots, "default")
1792
234
  ]),
1793
235
  _: 3
1794
- }, 8, ["id", "expanded", "href", "to", "class"])) : ce("", !0)
1795
- ]) : ce("", !0)
1796
- ]),
1797
- _: 3
1798
- }, 8, ["class"]);
1799
- }
1800
- const Pn = /* @__PURE__ */ Ne(On, [["render", Cn]]), En = F({
1801
- name: "BtnDropdown",
1802
- components: {
1803
- BtnDropdownSplit: Pn,
1804
- BtnDropdownSingle: $n
236
+ }, 8, ["class", "style", "onBlur", "onClick"])
237
+ ]),
238
+ t.dropleft ? k(d.$slots, "button", B(E({ key: 1 }, { expanded: e(f), onBlur: e(a), onClickToggle: e(b) })), () => [
239
+ $("button", {
240
+ type: "button",
241
+ class: y(e(o)),
242
+ "aria-haspopup": "true",
243
+ "aria-expanded": e(f),
244
+ onBlur: n[5] || (n[5] = //@ts-ignore
245
+ (...u) => e(a) && e(a)(...u)),
246
+ onClick: n[6] || (n[6] = //@ts-ignore
247
+ (...u) => e(p) && e(p)(...u))
248
+ }, S(t.label), 43, ee)
249
+ ]) : P("", !0)
250
+ ], 2));
251
+ }
252
+ }), ae = /* @__PURE__ */ D({
253
+ __name: "BtnDropdown",
254
+ props: {
255
+ split: { type: Boolean, default: !1 },
256
+ align: {},
257
+ block: { type: Boolean },
258
+ buttonClass: {},
259
+ caret: { type: Boolean, default: !0 },
260
+ dropup: { type: Boolean },
261
+ dropright: { type: Boolean },
262
+ dropleft: { type: Boolean },
263
+ label: {},
264
+ offset: {},
265
+ middleware: {},
266
+ side: {},
267
+ size: {},
268
+ variant: {}
1805
269
  },
1806
- inheritAttrs: !1,
1807
- emits: [
1808
- "click",
1809
- "click-toggle",
1810
- "dropdown",
1811
- "show",
1812
- "hide",
1813
- "toggle"
1814
- ]
1815
- });
1816
- function Sn(e, t, r, n, o, i) {
1817
- return H(), te(Ue(e.$attrs.split === void 0 || e.$attrs.nav ? "btn-dropdown-single" : "btn-dropdown-split"), me({ class: "btn-dropdown" }, e.$attrs, {
1818
- onClick: t[0] || (t[0] = (...a) => e.$emit("click", ...a)),
1819
- onClickToggle: t[1] || (t[1] = (...a) => e.$emit("click-toggle", ...a)),
1820
- onDropdown: t[2] || (t[2] = (...a) => e.$emit("dropdown", ...a)),
1821
- onShow: t[3] || (t[3] = (...a) => e.$emit("show", ...a)),
1822
- onHide: t[4] || (t[4] = (...a) => e.$emit("hide", ...a)),
1823
- onToggle: t[5] || (t[5] = (...a) => e.$emit("toggle", ...a))
1824
- }), qt({
1825
- icon: B(() => [
1826
- P(e.$slots, "icon")
1827
- ]),
1828
- button: B((a) => [
1829
- P(e.$slots, "button", ae(Re(a)))
1830
- ]),
1831
- split: B((a) => [
1832
- P(e.$slots, "split", ae(Re(a)))
1833
- ]),
1834
- default: B(() => [
1835
- P(e.$slots, "default")
1836
- ]),
1837
- _: 2
1838
- }, [
1839
- e.$attrs.label || e.$slots.label ? {
1840
- name: "label",
1841
- fn: B(() => [
1842
- P(e.$slots, "label", {}, () => [
1843
- be(ye(e.$attrs.label), 1)
1844
- ])
270
+ emits: ["click", "clickToggle", "show", "hide"],
271
+ setup(t, { emit: m }) {
272
+ const g = t, s = m;
273
+ return (r, i) => (M(), G(J(t.split ? te : X), E(g, {
274
+ onClick: i[0] || (i[0] = (...o) => s("click", ...o)),
275
+ onClickToggle: i[1] || (i[1] = (...o) => s("clickToggle", ...o)),
276
+ onShow: i[2] || (i[2] = (...o) => s("show", ...o)),
277
+ onHide: i[3] || (i[3] = (...o) => s("hide", ...o))
278
+ }), {
279
+ button: v((o) => [
280
+ k(r.$slots, "button", B(x(o)))
1845
281
  ]),
1846
- key: "0"
1847
- } : void 0
1848
- ]), 1040);
1849
- }
1850
- const Bn = /* @__PURE__ */ Ne(En, [["render", Sn]]);
282
+ toggle: v((o) => [
283
+ k(r.$slots, "toggle", B(x(o)))
284
+ ]),
285
+ split: v((o) => [
286
+ k(r.$slots, "split", B(x(o)))
287
+ ]),
288
+ default: v(() => [
289
+ k(r.$slots, "default")
290
+ ]),
291
+ _: 3
292
+ }, 16));
293
+ }
294
+ });
1851
295
  export {
1852
- Bn as BtnDropdown
296
+ ae as BtnDropdown
1853
297
  };
298
+ //# sourceMappingURL=btn-dropdown.js.map