File: //home/arjun/projects/buyercall/node_modules/flowbite-vue/dist/flowbite-vue.mjs
import { reactive as ts, onBeforeMount as rs, onBeforeUnmount as os, defineComponent as C, openBlock as u, createElementBlock as g, unref as m, renderSlot as v, computed as p, ref as V, onMounted as Ue, normalizeClass as w, createCommentVNode as z, createElementVNode as f, useAttrs as de, mergeProps as ne, useSlots as qe, toRefs as J, toDisplayString as O, createBlock as G, resolveDynamicComponent as te, withCtx as D, resolveComponent as he, normalizeProps as Te, Fragment as Y, renderList as Le, withModifiers as xt, isRef as Xt, getCurrentScope as ss, onScopeDispose as ns, getCurrentInstance as ao, nextTick as er, watch as Ct, watchEffect as as, createTextVNode as re, Comment as ls, toRef as it, createVNode as Be, Transition as lo, normalizeStyle as ot, pushScopeId as io, popScopeId as uo, withKeys as co, provide as ue, inject as ee, withDirectives as Pe, vShow as is, guardReactiveProps as po, h as gt, TransitionGroup as ds, withScopeId as us, vModelCheckbox as fo, vModelDynamic as cs, vModelRadio as ps, vModelText as go, vModelSelect as fs } from "vue";
let ho = (e = 21) => crypto.getRandomValues(new Uint8Array(e)).reduce((t, r) => (r &= 63, r < 36 ? t += r.toString(36) : r < 62 ? t += (r - 26).toString(36).toUpperCase() : r > 62 ? t += "-" : t += "_", t), "");
const Vt = ts({});
function ft(e, t) {
return rs(() => {
e && (Vt[e] = {
id: e,
flush: t?.flush ?? !1,
alwaysOpen: t?.alwaysOpen ?? !1,
openFirstItem: t?.openFirstItem ?? !0,
panels: {}
});
}), os(() => {
e && delete Vt[e];
}), {
accordionsStates: Vt
};
}
const gs = ["data-accordion-id"], Hp = /* @__PURE__ */ C({
__name: "FwbAccordion",
props: {
alwaysOpen: { type: Boolean, default: !1 },
openFirstItem: { type: Boolean, default: !0 },
flush: { type: Boolean, default: !1 }
},
setup(e) {
const t = e, r = ho();
return ft(r, { ...t }), (o, s) => (u(), g("div", { "data-accordion-id": m(r) }, [
v(o.$slots, "default")
], 8, gs));
}
});
function hs() {
for (var e = 0, t, r, o = ""; e < arguments.length; )
(t = arguments[e++]) && (r = bo(t)) && (o && (o += " "), o += r);
return o;
}
function bo(e) {
if (typeof e == "string")
return e;
for (var t, r = "", o = 0; o < e.length; o++)
e[o] && (t = bo(e[o])) && (r && (r += " "), r += t);
return r;
}
var tr = "-";
function bs(e) {
var t = vs(e), r = e.conflictingClassGroups, o = e.conflictingClassGroupModifiers, s = o === void 0 ? {} : o;
function n(l) {
var i = l.split(tr);
return i[0] === "" && i.length !== 1 && i.shift(), mo(i, t) || ms(l);
}
function a(l, i) {
var d = r[l] || [];
return i && s[l] ? [].concat(d, s[l]) : d;
}
return {
getClassGroupId: n,
getConflictingClassGroupIds: a
};
}
function mo(e, t) {
if (e.length === 0)
return t.classGroupId;
var r = e[0], o = t.nextPart.get(r), s = o ? mo(e.slice(1), o) : void 0;
if (s)
return s;
if (t.validators.length !== 0) {
var n = e.join(tr);
return t.validators.find(function(a) {
var l = a.validator;
return l(n);
})?.classGroupId;
}
}
var hr = /^\[(.+)\]$/;
function ms(e) {
if (hr.test(e)) {
var t = hr.exec(e)[1], r = t?.substring(0, t.indexOf(":"));
if (r)
return "arbitrary.." + r;
}
}
function vs(e) {
var t = e.theme, r = e.prefix, o = {
nextPart: /* @__PURE__ */ new Map(),
validators: []
}, s = ws(Object.entries(e.classGroups), r);
return s.forEach(function(n) {
var a = n[0], l = n[1];
Ut(l, o, a, t);
}), o;
}
function Ut(e, t, r, o) {
e.forEach(function(s) {
if (typeof s == "string") {
var n = s === "" ? t : br(t, s);
n.classGroupId = r;
return;
}
if (typeof s == "function") {
if (ys(s)) {
Ut(s(o), t, r, o);
return;
}
t.validators.push({
validator: s,
classGroupId: r
});
return;
}
Object.entries(s).forEach(function(a) {
var l = a[0], i = a[1];
Ut(i, br(t, l), r, o);
});
});
}
function br(e, t) {
var r = e;
return t.split(tr).forEach(function(o) {
r.nextPart.has(o) || r.nextPart.set(o, {
nextPart: /* @__PURE__ */ new Map(),
validators: []
}), r = r.nextPart.get(o);
}), r;
}
function ys(e) {
return e.isThemeGetter;
}
function ws(e, t) {
return t ? e.map(function(r) {
var o = r[0], s = r[1], n = s.map(function(a) {
return typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(function(l) {
var i = l[0], d = l[1];
return [t + i, d];
})) : a;
});
return [o, n];
}) : e;
}
function xs(e) {
if (e < 1)
return {
get: function() {
},
set: function() {
}
};
var t = 0, r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
function s(n, a) {
r.set(n, a), t++, t > e && (t = 0, o = r, r = /* @__PURE__ */ new Map());
}
return {
get: function(a) {
var l = r.get(a);
if (l !== void 0)
return l;
if ((l = o.get(a)) !== void 0)
return s(a, l), l;
},
set: function(a, l) {
r.has(a) ? r.set(a, l) : s(a, l);
}
};
}
var vo = "!";
function ks(e) {
var t = e.separator || ":", r = t.length === 1, o = t[0], s = t.length;
return function(a) {
for (var l = [], i = 0, d = 0, b, h = 0; h < a.length; h++) {
var y = a[h];
if (i === 0) {
if (y === o && (r || a.slice(h, h + s) === t)) {
l.push(a.slice(d, h)), d = h + s;
continue;
}
if (y === "/") {
b = h;
continue;
}
}
y === "[" ? i++ : y === "]" && i--;
}
var c = l.length === 0 ? a : a.substring(d), x = c.startsWith(vo), k = x ? c.substring(1) : c, $ = b && b > d ? b - d : void 0;
return {
modifiers: l,
hasImportantModifier: x,
baseClassName: k,
maybePostfixModifierPosition: $
};
};
}
function _s(e) {
if (e.length <= 1)
return e;
var t = [], r = [];
return e.forEach(function(o) {
var s = o[0] === "[";
s ? (t.push.apply(t, r.sort().concat([o])), r = []) : r.push(o);
}), t.push.apply(t, r.sort()), t;
}
function Cs(e) {
return {
cache: xs(e.cacheSize),
splitModifiers: ks(e),
...bs(e)
};
}
var $s = /\s+/;
function Ss(e, t) {
var r = t.splitModifiers, o = t.getClassGroupId, s = t.getConflictingClassGroupIds, n = /* @__PURE__ */ new Set();
return e.trim().split($s).map(function(a) {
var l = r(a), i = l.modifiers, d = l.hasImportantModifier, b = l.baseClassName, h = l.maybePostfixModifierPosition, y = o(h ? b.substring(0, h) : b), c = !!h;
if (!y) {
if (!h)
return {
isTailwindClass: !1,
originalClassName: a
};
if (y = o(b), !y)
return {
isTailwindClass: !1,
originalClassName: a
};
c = !1;
}
var x = _s(i).join(":"), k = d ? x + vo : x;
return {
isTailwindClass: !0,
modifierId: k,
classGroupId: y,
originalClassName: a,
hasPostfixModifier: c
};
}).reverse().filter(function(a) {
if (!a.isTailwindClass)
return !0;
var l = a.modifierId, i = a.classGroupId, d = a.hasPostfixModifier, b = l + i;
return n.has(b) ? !1 : (n.add(b), s(i, d).forEach(function(h) {
return n.add(l + h);
}), !0);
}).reverse().map(function(a) {
return a.originalClassName;
}).join(" ");
}
function Ts() {
for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++)
t[r] = arguments[r];
var o, s, n, a = l;
function l(d) {
var b = t[0], h = t.slice(1), y = h.reduce(function(c, x) {
return x(c);
}, b());
return o = Cs(y), s = o.cache.get, n = o.cache.set, a = i, i(d);
}
function i(d) {
var b = s(d);
if (b)
return b;
var h = Ss(d, o);
return n(d, h), h;
}
return function() {
return a(hs.apply(null, arguments));
};
}
function H(e) {
var t = function(o) {
return o[e] || [];
};
return t.isThemeGetter = !0, t;
}
var yo = /^\[(?:([a-z-]+):)?(.+)\]$/i, Ps = /^\d+\/\d+$/, zs = /* @__PURE__ */ new Set(["px", "full", "screen"]), Fs = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Is = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, As = /^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
function ae(e) {
return Oe(e) || zs.has(e) || Ps.test(e) || qt(e);
}
function qt(e) {
return Ne(e, "length", Ns);
}
function Bs(e) {
return Ne(e, "size", wo);
}
function Os(e) {
return Ne(e, "position", wo);
}
function Ms(e) {
return Ne(e, "url", Rs);
}
function ht(e) {
return Ne(e, "number", Oe);
}
function Oe(e) {
return !Number.isNaN(Number(e));
}
function Ls(e) {
return e.endsWith("%") && Oe(e.slice(0, -1));
}
function Ze(e) {
return mr(e) || Ne(e, "number", mr);
}
function A(e) {
return yo.test(e);
}
function Xe() {
return !0;
}
function ve(e) {
return Fs.test(e);
}
function Es(e) {
return Ne(e, "", Vs);
}
function Ne(e, t, r) {
var o = yo.exec(e);
return o ? o[1] ? o[1] === t : r(o[2]) : !1;
}
function Ns(e) {
return Is.test(e);
}
function wo() {
return !1;
}
function Rs(e) {
return e.startsWith("url(");
}
function mr(e) {
return Number.isInteger(Number(e));
}
function Vs(e) {
return As.test(e);
}
function js() {
var e = H("colors"), t = H("spacing"), r = H("blur"), o = H("brightness"), s = H("borderColor"), n = H("borderRadius"), a = H("borderSpacing"), l = H("borderWidth"), i = H("contrast"), d = H("grayscale"), b = H("hueRotate"), h = H("invert"), y = H("gap"), c = H("gradientColorStops"), x = H("gradientColorStopPositions"), k = H("inset"), $ = H("margin"), T = H("opacity"), S = H("padding"), I = H("saturate"), _ = H("scale"), N = H("sepia"), P = H("skew"), M = H("space"), U = H("translate"), Q = function() {
return ["auto", "contain", "none"];
}, j = function() {
return ["auto", "hidden", "clip", "visible", "scroll"];
}, R = function() {
return ["auto", A, t];
}, F = function() {
return [A, t];
}, L = function() {
return ["", ae];
}, q = function() {
return ["auto", Oe, A];
}, Z = function() {
return ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"];
}, K = function() {
return ["solid", "dashed", "dotted", "double", "none"];
}, be = function() {
return ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity", "plus-lighter"];
}, ze = function() {
return ["start", "end", "center", "between", "around", "evenly", "stretch"];
}, Fe = function() {
return ["", "0", A];
}, Qe = function() {
return ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
}, me = function() {
return [Oe, ht];
}, je = function() {
return [Oe, A];
};
return {
cacheSize: 500,
theme: {
colors: [Xe],
spacing: [ae],
blur: ["none", "", ve, A],
brightness: me(),
borderColor: [e],
borderRadius: ["none", "", "full", ve, A],
borderSpacing: F(),
borderWidth: L(),
contrast: me(),
grayscale: Fe(),
hueRotate: je(),
invert: Fe(),
gap: F(),
gradientColorStops: [e],
gradientColorStopPositions: [Ls, qt],
inset: R(),
margin: R(),
opacity: me(),
padding: F(),
saturate: me(),
scale: me(),
sepia: Fe(),
skew: je(),
space: F(),
translate: F()
},
classGroups: {
// Layout
/**
* Aspect Ratio
* @see https://tailwindcss.com/docs/aspect-ratio
*/
aspect: [{
aspect: ["auto", "square", "video", A]
}],
/**
* Container
* @see https://tailwindcss.com/docs/container
*/
container: ["container"],
/**
* Columns
* @see https://tailwindcss.com/docs/columns
*/
columns: [{
columns: [ve]
}],
/**
* Break After
* @see https://tailwindcss.com/docs/break-after
*/
"break-after": [{
"break-after": Qe()
}],
/**
* Break Before
* @see https://tailwindcss.com/docs/break-before
*/
"break-before": [{
"break-before": Qe()
}],
/**
* Break Inside
* @see https://tailwindcss.com/docs/break-inside
*/
"break-inside": [{
"break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
}],
/**
* Box Decoration Break
* @see https://tailwindcss.com/docs/box-decoration-break
*/
"box-decoration": [{
"box-decoration": ["slice", "clone"]
}],
/**
* Box Sizing
* @see https://tailwindcss.com/docs/box-sizing
*/
box: [{
box: ["border", "content"]
}],
/**
* Display
* @see https://tailwindcss.com/docs/display
*/
display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
/**
* Floats
* @see https://tailwindcss.com/docs/float
*/
float: [{
float: ["right", "left", "none"]
}],
/**
* Clear
* @see https://tailwindcss.com/docs/clear
*/
clear: [{
clear: ["left", "right", "both", "none"]
}],
/**
* Isolation
* @see https://tailwindcss.com/docs/isolation
*/
isolation: ["isolate", "isolation-auto"],
/**
* Object Fit
* @see https://tailwindcss.com/docs/object-fit
*/
"object-fit": [{
object: ["contain", "cover", "fill", "none", "scale-down"]
}],
/**
* Object Position
* @see https://tailwindcss.com/docs/object-position
*/
"object-position": [{
object: [].concat(Z(), [A])
}],
/**
* Overflow
* @see https://tailwindcss.com/docs/overflow
*/
overflow: [{
overflow: j()
}],
/**
* Overflow X
* @see https://tailwindcss.com/docs/overflow
*/
"overflow-x": [{
"overflow-x": j()
}],
/**
* Overflow Y
* @see https://tailwindcss.com/docs/overflow
*/
"overflow-y": [{
"overflow-y": j()
}],
/**
* Overscroll Behavior
* @see https://tailwindcss.com/docs/overscroll-behavior
*/
overscroll: [{
overscroll: Q()
}],
/**
* Overscroll Behavior X
* @see https://tailwindcss.com/docs/overscroll-behavior
*/
"overscroll-x": [{
"overscroll-x": Q()
}],
/**
* Overscroll Behavior Y
* @see https://tailwindcss.com/docs/overscroll-behavior
*/
"overscroll-y": [{
"overscroll-y": Q()
}],
/**
* Position
* @see https://tailwindcss.com/docs/position
*/
position: ["static", "fixed", "absolute", "relative", "sticky"],
/**
* Top / Right / Bottom / Left
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
inset: [{
inset: [k]
}],
/**
* Right / Left
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
"inset-x": [{
"inset-x": [k]
}],
/**
* Top / Bottom
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
"inset-y": [{
"inset-y": [k]
}],
/**
* Start
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
start: [{
start: [k]
}],
/**
* End
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
end: [{
end: [k]
}],
/**
* Top
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
top: [{
top: [k]
}],
/**
* Right
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
right: [{
right: [k]
}],
/**
* Bottom
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
bottom: [{
bottom: [k]
}],
/**
* Left
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
left: [{
left: [k]
}],
/**
* Visibility
* @see https://tailwindcss.com/docs/visibility
*/
visibility: ["visible", "invisible", "collapse"],
/**
* Z-Index
* @see https://tailwindcss.com/docs/z-index
*/
z: [{
z: ["auto", Ze]
}],
// Flexbox and Grid
/**
* Flex Basis
* @see https://tailwindcss.com/docs/flex-basis
*/
basis: [{
basis: R()
}],
/**
* Flex Direction
* @see https://tailwindcss.com/docs/flex-direction
*/
"flex-direction": [{
flex: ["row", "row-reverse", "col", "col-reverse"]
}],
/**
* Flex Wrap
* @see https://tailwindcss.com/docs/flex-wrap
*/
"flex-wrap": [{
flex: ["wrap", "wrap-reverse", "nowrap"]
}],
/**
* Flex
* @see https://tailwindcss.com/docs/flex
*/
flex: [{
flex: ["1", "auto", "initial", "none", A]
}],
/**
* Flex Grow
* @see https://tailwindcss.com/docs/flex-grow
*/
grow: [{
grow: Fe()
}],
/**
* Flex Shrink
* @see https://tailwindcss.com/docs/flex-shrink
*/
shrink: [{
shrink: Fe()
}],
/**
* Order
* @see https://tailwindcss.com/docs/order
*/
order: [{
order: ["first", "last", "none", Ze]
}],
/**
* Grid Template Columns
* @see https://tailwindcss.com/docs/grid-template-columns
*/
"grid-cols": [{
"grid-cols": [Xe]
}],
/**
* Grid Column Start / End
* @see https://tailwindcss.com/docs/grid-column
*/
"col-start-end": [{
col: ["auto", {
span: ["full", Ze]
}, A]
}],
/**
* Grid Column Start
* @see https://tailwindcss.com/docs/grid-column
*/
"col-start": [{
"col-start": q()
}],
/**
* Grid Column End
* @see https://tailwindcss.com/docs/grid-column
*/
"col-end": [{
"col-end": q()
}],
/**
* Grid Template Rows
* @see https://tailwindcss.com/docs/grid-template-rows
*/
"grid-rows": [{
"grid-rows": [Xe]
}],
/**
* Grid Row Start / End
* @see https://tailwindcss.com/docs/grid-row
*/
"row-start-end": [{
row: ["auto", {
span: [Ze]
}, A]
}],
/**
* Grid Row Start
* @see https://tailwindcss.com/docs/grid-row
*/
"row-start": [{
"row-start": q()
}],
/**
* Grid Row End
* @see https://tailwindcss.com/docs/grid-row
*/
"row-end": [{
"row-end": q()
}],
/**
* Grid Auto Flow
* @see https://tailwindcss.com/docs/grid-auto-flow
*/
"grid-flow": [{
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
}],
/**
* Grid Auto Columns
* @see https://tailwindcss.com/docs/grid-auto-columns
*/
"auto-cols": [{
"auto-cols": ["auto", "min", "max", "fr", A]
}],
/**
* Grid Auto Rows
* @see https://tailwindcss.com/docs/grid-auto-rows
*/
"auto-rows": [{
"auto-rows": ["auto", "min", "max", "fr", A]
}],
/**
* Gap
* @see https://tailwindcss.com/docs/gap
*/
gap: [{
gap: [y]
}],
/**
* Gap X
* @see https://tailwindcss.com/docs/gap
*/
"gap-x": [{
"gap-x": [y]
}],
/**
* Gap Y
* @see https://tailwindcss.com/docs/gap
*/
"gap-y": [{
"gap-y": [y]
}],
/**
* Justify Content
* @see https://tailwindcss.com/docs/justify-content
*/
"justify-content": [{
justify: ["normal"].concat(ze())
}],
/**
* Justify Items
* @see https://tailwindcss.com/docs/justify-items
*/
"justify-items": [{
"justify-items": ["start", "end", "center", "stretch"]
}],
/**
* Justify Self
* @see https://tailwindcss.com/docs/justify-self
*/
"justify-self": [{
"justify-self": ["auto", "start", "end", "center", "stretch"]
}],
/**
* Align Content
* @see https://tailwindcss.com/docs/align-content
*/
"align-content": [{
content: ["normal"].concat(ze(), ["baseline"])
}],
/**
* Align Items
* @see https://tailwindcss.com/docs/align-items
*/
"align-items": [{
items: ["start", "end", "center", "baseline", "stretch"]
}],
/**
* Align Self
* @see https://tailwindcss.com/docs/align-self
*/
"align-self": [{
self: ["auto", "start", "end", "center", "stretch", "baseline"]
}],
/**
* Place Content
* @see https://tailwindcss.com/docs/place-content
*/
"place-content": [{
"place-content": [].concat(ze(), ["baseline"])
}],
/**
* Place Items
* @see https://tailwindcss.com/docs/place-items
*/
"place-items": [{
"place-items": ["start", "end", "center", "baseline", "stretch"]
}],
/**
* Place Self
* @see https://tailwindcss.com/docs/place-self
*/
"place-self": [{
"place-self": ["auto", "start", "end", "center", "stretch"]
}],
// Spacing
/**
* Padding
* @see https://tailwindcss.com/docs/padding
*/
p: [{
p: [S]
}],
/**
* Padding X
* @see https://tailwindcss.com/docs/padding
*/
px: [{
px: [S]
}],
/**
* Padding Y
* @see https://tailwindcss.com/docs/padding
*/
py: [{
py: [S]
}],
/**
* Padding Start
* @see https://tailwindcss.com/docs/padding
*/
ps: [{
ps: [S]
}],
/**
* Padding End
* @see https://tailwindcss.com/docs/padding
*/
pe: [{
pe: [S]
}],
/**
* Padding Top
* @see https://tailwindcss.com/docs/padding
*/
pt: [{
pt: [S]
}],
/**
* Padding Right
* @see https://tailwindcss.com/docs/padding
*/
pr: [{
pr: [S]
}],
/**
* Padding Bottom
* @see https://tailwindcss.com/docs/padding
*/
pb: [{
pb: [S]
}],
/**
* Padding Left
* @see https://tailwindcss.com/docs/padding
*/
pl: [{
pl: [S]
}],
/**
* Margin
* @see https://tailwindcss.com/docs/margin
*/
m: [{
m: [$]
}],
/**
* Margin X
* @see https://tailwindcss.com/docs/margin
*/
mx: [{
mx: [$]
}],
/**
* Margin Y
* @see https://tailwindcss.com/docs/margin
*/
my: [{
my: [$]
}],
/**
* Margin Start
* @see https://tailwindcss.com/docs/margin
*/
ms: [{
ms: [$]
}],
/**
* Margin End
* @see https://tailwindcss.com/docs/margin
*/
me: [{
me: [$]
}],
/**
* Margin Top
* @see https://tailwindcss.com/docs/margin
*/
mt: [{
mt: [$]
}],
/**
* Margin Right
* @see https://tailwindcss.com/docs/margin
*/
mr: [{
mr: [$]
}],
/**
* Margin Bottom
* @see https://tailwindcss.com/docs/margin
*/
mb: [{
mb: [$]
}],
/**
* Margin Left
* @see https://tailwindcss.com/docs/margin
*/
ml: [{
ml: [$]
}],
/**
* Space Between X
* @see https://tailwindcss.com/docs/space
*/
"space-x": [{
"space-x": [M]
}],
/**
* Space Between X Reverse
* @see https://tailwindcss.com/docs/space
*/
"space-x-reverse": ["space-x-reverse"],
/**
* Space Between Y
* @see https://tailwindcss.com/docs/space
*/
"space-y": [{
"space-y": [M]
}],
/**
* Space Between Y Reverse
* @see https://tailwindcss.com/docs/space
*/
"space-y-reverse": ["space-y-reverse"],
// Sizing
/**
* Width
* @see https://tailwindcss.com/docs/width
*/
w: [{
w: ["auto", "min", "max", "fit", A, t]
}],
/**
* Min-Width
* @see https://tailwindcss.com/docs/min-width
*/
"min-w": [{
"min-w": ["min", "max", "fit", A, ae]
}],
/**
* Max-Width
* @see https://tailwindcss.com/docs/max-width
*/
"max-w": [{
"max-w": ["0", "none", "full", "min", "max", "fit", "prose", {
screen: [ve]
}, ve, A]
}],
/**
* Height
* @see https://tailwindcss.com/docs/height
*/
h: [{
h: [A, t, "auto", "min", "max", "fit"]
}],
/**
* Min-Height
* @see https://tailwindcss.com/docs/min-height
*/
"min-h": [{
"min-h": ["min", "max", "fit", A, ae]
}],
/**
* Max-Height
* @see https://tailwindcss.com/docs/max-height
*/
"max-h": [{
"max-h": [A, t, "min", "max", "fit"]
}],
// Typography
/**
* Font Size
* @see https://tailwindcss.com/docs/font-size
*/
"font-size": [{
text: ["base", ve, qt]
}],
/**
* Font Smoothing
* @see https://tailwindcss.com/docs/font-smoothing
*/
"font-smoothing": ["antialiased", "subpixel-antialiased"],
/**
* Font Style
* @see https://tailwindcss.com/docs/font-style
*/
"font-style": ["italic", "not-italic"],
/**
* Font Weight
* @see https://tailwindcss.com/docs/font-weight
*/
"font-weight": [{
font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", ht]
}],
/**
* Font Family
* @see https://tailwindcss.com/docs/font-family
*/
"font-family": [{
font: [Xe]
}],
/**
* Font Variant Numeric
* @see https://tailwindcss.com/docs/font-variant-numeric
*/
"fvn-normal": ["normal-nums"],
/**
* Font Variant Numeric
* @see https://tailwindcss.com/docs/font-variant-numeric
*/
"fvn-ordinal": ["ordinal"],
/**
* Font Variant Numeric
* @see https://tailwindcss.com/docs/font-variant-numeric
*/
"fvn-slashed-zero": ["slashed-zero"],
/**
* Font Variant Numeric
* @see https://tailwindcss.com/docs/font-variant-numeric
*/
"fvn-figure": ["lining-nums", "oldstyle-nums"],
/**
* Font Variant Numeric
* @see https://tailwindcss.com/docs/font-variant-numeric
*/
"fvn-spacing": ["proportional-nums", "tabular-nums"],
/**
* Font Variant Numeric
* @see https://tailwindcss.com/docs/font-variant-numeric
*/
"fvn-fraction": ["diagonal-fractions", "stacked-fractons"],
/**
* Letter Spacing
* @see https://tailwindcss.com/docs/letter-spacing
*/
tracking: [{
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", A]
}],
/**
* Line Clamp
* @see https://tailwindcss.com/docs/line-clamp
*/
"line-clamp": [{
"line-clamp": ["none", Oe, ht]
}],
/**
* Line Height
* @see https://tailwindcss.com/docs/line-height
*/
leading: [{
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", A, ae]
}],
/**
* List Style Image
* @see https://tailwindcss.com/docs/list-style-image
*/
"list-image": [{
"list-image": ["none", A]
}],
/**
* List Style Type
* @see https://tailwindcss.com/docs/list-style-type
*/
"list-style-type": [{
list: ["none", "disc", "decimal", A]
}],
/**
* List Style Position
* @see https://tailwindcss.com/docs/list-style-position
*/
"list-style-position": [{
list: ["inside", "outside"]
}],
/**
* Placeholder Color
* @deprecated since Tailwind CSS v3.0.0
* @see https://tailwindcss.com/docs/placeholder-color
*/
"placeholder-color": [{
placeholder: [e]
}],
/**
* Placeholder Opacity
* @see https://tailwindcss.com/docs/placeholder-opacity
*/
"placeholder-opacity": [{
"placeholder-opacity": [T]
}],
/**
* Text Alignment
* @see https://tailwindcss.com/docs/text-align
*/
"text-alignment": [{
text: ["left", "center", "right", "justify", "start", "end"]
}],
/**
* Text Color
* @see https://tailwindcss.com/docs/text-color
*/
"text-color": [{
text: [e]
}],
/**
* Text Opacity
* @see https://tailwindcss.com/docs/text-opacity
*/
"text-opacity": [{
"text-opacity": [T]
}],
/**
* Text Decoration
* @see https://tailwindcss.com/docs/text-decoration
*/
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
/**
* Text Decoration Style
* @see https://tailwindcss.com/docs/text-decoration-style
*/
"text-decoration-style": [{
decoration: [].concat(K(), ["wavy"])
}],
/**
* Text Decoration Thickness
* @see https://tailwindcss.com/docs/text-decoration-thickness
*/
"text-decoration-thickness": [{
decoration: ["auto", "from-font", ae]
}],
/**
* Text Underline Offset
* @see https://tailwindcss.com/docs/text-underline-offset
*/
"underline-offset": [{
"underline-offset": ["auto", A, ae]
}],
/**
* Text Decoration Color
* @see https://tailwindcss.com/docs/text-decoration-color
*/
"text-decoration-color": [{
decoration: [e]
}],
/**
* Text Transform
* @see https://tailwindcss.com/docs/text-transform
*/
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
/**
* Text Overflow
* @see https://tailwindcss.com/docs/text-overflow
*/
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
/**
* Text Indent
* @see https://tailwindcss.com/docs/text-indent
*/
indent: [{
indent: F()
}],
/**
* Vertical Alignment
* @see https://tailwindcss.com/docs/vertical-align
*/
"vertical-align": [{
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", A]
}],
/**
* Whitespace
* @see https://tailwindcss.com/docs/whitespace
*/
whitespace: [{
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
}],
/**
* Word Break
* @see https://tailwindcss.com/docs/word-break
*/
break: [{
break: ["normal", "words", "all", "keep"]
}],
/**
* Hyphens
* @see https://tailwindcss.com/docs/hyphens
*/
hyphens: [{
hyphens: ["none", "manual", "auto"]
}],
/**
* Content
* @see https://tailwindcss.com/docs/content
*/
content: [{
content: ["none", A]
}],
// Backgrounds
/**
* Background Attachment
* @see https://tailwindcss.com/docs/background-attachment
*/
"bg-attachment": [{
bg: ["fixed", "local", "scroll"]
}],
/**
* Background Clip
* @see https://tailwindcss.com/docs/background-clip
*/
"bg-clip": [{
"bg-clip": ["border", "padding", "content", "text"]
}],
/**
* Background Opacity
* @deprecated since Tailwind CSS v3.0.0
* @see https://tailwindcss.com/docs/background-opacity
*/
"bg-opacity": [{
"bg-opacity": [T]
}],
/**
* Background Origin
* @see https://tailwindcss.com/docs/background-origin
*/
"bg-origin": [{
"bg-origin": ["border", "padding", "content"]
}],
/**
* Background Position
* @see https://tailwindcss.com/docs/background-position
*/
"bg-position": [{
bg: [].concat(Z(), [Os])
}],
/**
* Background Repeat
* @see https://tailwindcss.com/docs/background-repeat
*/
"bg-repeat": [{
bg: ["no-repeat", {
repeat: ["", "x", "y", "round", "space"]
}]
}],
/**
* Background Size
* @see https://tailwindcss.com/docs/background-size
*/
"bg-size": [{
bg: ["auto", "cover", "contain", Bs]
}],
/**
* Background Image
* @see https://tailwindcss.com/docs/background-image
*/
"bg-image": [{
bg: ["none", {
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
}, Ms]
}],
/**
* Background Color
* @see https://tailwindcss.com/docs/background-color
*/
"bg-color": [{
bg: [e]
}],
/**
* Gradient Color Stops From Position
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-from-pos": [{
from: [x]
}],
/**
* Gradient Color Stops Via Position
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-via-pos": [{
via: [x]
}],
/**
* Gradient Color Stops To Position
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-to-pos": [{
to: [x]
}],
/**
* Gradient Color Stops From
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-from": [{
from: [c]
}],
/**
* Gradient Color Stops Via
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-via": [{
via: [c]
}],
/**
* Gradient Color Stops To
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-to": [{
to: [c]
}],
// Borders
/**
* Border Radius
* @see https://tailwindcss.com/docs/border-radius
*/
rounded: [{
rounded: [n]
}],
/**
* Border Radius Start
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-s": [{
"rounded-s": [n]
}],
/**
* Border Radius End
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-e": [{
"rounded-e": [n]
}],
/**
* Border Radius Top
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-t": [{
"rounded-t": [n]
}],
/**
* Border Radius Right
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-r": [{
"rounded-r": [n]
}],
/**
* Border Radius Bottom
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-b": [{
"rounded-b": [n]
}],
/**
* Border Radius Left
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-l": [{
"rounded-l": [n]
}],
/**
* Border Radius Start Start
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-ss": [{
"rounded-ss": [n]
}],
/**
* Border Radius Start End
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-se": [{
"rounded-se": [n]
}],
/**
* Border Radius End End
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-ee": [{
"rounded-ee": [n]
}],
/**
* Border Radius End Start
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-es": [{
"rounded-es": [n]
}],
/**
* Border Radius Top Left
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-tl": [{
"rounded-tl": [n]
}],
/**
* Border Radius Top Right
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-tr": [{
"rounded-tr": [n]
}],
/**
* Border Radius Bottom Right
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-br": [{
"rounded-br": [n]
}],
/**
* Border Radius Bottom Left
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-bl": [{
"rounded-bl": [n]
}],
/**
* Border Width
* @see https://tailwindcss.com/docs/border-width
*/
"border-w": [{
border: [l]
}],
/**
* Border Width X
* @see https://tailwindcss.com/docs/border-width
*/
"border-w-x": [{
"border-x": [l]
}],
/**
* Border Width Y
* @see https://tailwindcss.com/docs/border-width
*/
"border-w-y": [{
"border-y": [l]
}],
/**
* Border Width Start
* @see https://tailwindcss.com/docs/border-width
*/
"border-w-s": [{
"border-s": [l]
}],
/**
* Border Width End
* @see https://tailwindcss.com/docs/border-width
*/
"border-w-e": [{
"border-e": [l]
}],
/**
* Border Width Top
* @see https://tailwindcss.com/docs/border-width
*/
"border-w-t": [{
"border-t": [l]
}],
/**
* Border Width Right
* @see https://tailwindcss.com/docs/border-width
*/
"border-w-r": [{
"border-r": [l]
}],
/**
* Border Width Bottom
* @see https://tailwindcss.com/docs/border-width
*/
"border-w-b": [{
"border-b": [l]
}],
/**
* Border Width Left
* @see https://tailwindcss.com/docs/border-width
*/
"border-w-l": [{
"border-l": [l]
}],
/**
* Border Opacity
* @see https://tailwindcss.com/docs/border-opacity
*/
"border-opacity": [{
"border-opacity": [T]
}],
/**
* Border Style
* @see https://tailwindcss.com/docs/border-style
*/
"border-style": [{
border: [].concat(K(), ["hidden"])
}],
/**
* Divide Width X
* @see https://tailwindcss.com/docs/divide-width
*/
"divide-x": [{
"divide-x": [l]
}],
/**
* Divide Width X Reverse
* @see https://tailwindcss.com/docs/divide-width
*/
"divide-x-reverse": ["divide-x-reverse"],
/**
* Divide Width Y
* @see https://tailwindcss.com/docs/divide-width
*/
"divide-y": [{
"divide-y": [l]
}],
/**
* Divide Width Y Reverse
* @see https://tailwindcss.com/docs/divide-width
*/
"divide-y-reverse": ["divide-y-reverse"],
/**
* Divide Opacity
* @see https://tailwindcss.com/docs/divide-opacity
*/
"divide-opacity": [{
"divide-opacity": [T]
}],
/**
* Divide Style
* @see https://tailwindcss.com/docs/divide-style
*/
"divide-style": [{
divide: K()
}],
/**
* Border Color
* @see https://tailwindcss.com/docs/border-color
*/
"border-color": [{
border: [s]
}],
/**
* Border Color X
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-x": [{
"border-x": [s]
}],
/**
* Border Color Y
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-y": [{
"border-y": [s]
}],
/**
* Border Color Top
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-t": [{
"border-t": [s]
}],
/**
* Border Color Right
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-r": [{
"border-r": [s]
}],
/**
* Border Color Bottom
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-b": [{
"border-b": [s]
}],
/**
* Border Color Left
* @see https://tailwindcss.com/docs/border-color
*/
"border-color-l": [{
"border-l": [s]
}],
/**
* Divide Color
* @see https://tailwindcss.com/docs/divide-color
*/
"divide-color": [{
divide: [s]
}],
/**
* Outline Style
* @see https://tailwindcss.com/docs/outline-style
*/
"outline-style": [{
outline: [""].concat(K())
}],
/**
* Outline Offset
* @see https://tailwindcss.com/docs/outline-offset
*/
"outline-offset": [{
"outline-offset": [A, ae]
}],
/**
* Outline Width
* @see https://tailwindcss.com/docs/outline-width
*/
"outline-w": [{
outline: [ae]
}],
/**
* Outline Color
* @see https://tailwindcss.com/docs/outline-color
*/
"outline-color": [{
outline: [e]
}],
/**
* Ring Width
* @see https://tailwindcss.com/docs/ring-width
*/
"ring-w": [{
ring: L()
}],
/**
* Ring Width Inset
* @see https://tailwindcss.com/docs/ring-width
*/
"ring-w-inset": ["ring-inset"],
/**
* Ring Color
* @see https://tailwindcss.com/docs/ring-color
*/
"ring-color": [{
ring: [e]
}],
/**
* Ring Opacity
* @see https://tailwindcss.com/docs/ring-opacity
*/
"ring-opacity": [{
"ring-opacity": [T]
}],
/**
* Ring Offset Width
* @see https://tailwindcss.com/docs/ring-offset-width
*/
"ring-offset-w": [{
"ring-offset": [ae]
}],
/**
* Ring Offset Color
* @see https://tailwindcss.com/docs/ring-offset-color
*/
"ring-offset-color": [{
"ring-offset": [e]
}],
// Effects
/**
* Box Shadow
* @see https://tailwindcss.com/docs/box-shadow
*/
shadow: [{
shadow: ["", "inner", "none", ve, Es]
}],
/**
* Box Shadow Color
* @see https://tailwindcss.com/docs/box-shadow-color
*/
"shadow-color": [{
shadow: [Xe]
}],
/**
* Opacity
* @see https://tailwindcss.com/docs/opacity
*/
opacity: [{
opacity: [T]
}],
/**
* Mix Blend Mode
* @see https://tailwindcss.com/docs/mix-blend-mode
*/
"mix-blend": [{
"mix-blend": be()
}],
/**
* Background Blend Mode
* @see https://tailwindcss.com/docs/background-blend-mode
*/
"bg-blend": [{
"bg-blend": be()
}],
// Filters
/**
* Filter
* @deprecated since Tailwind CSS v3.0.0
* @see https://tailwindcss.com/docs/filter
*/
filter: [{
filter: ["", "none"]
}],
/**
* Blur
* @see https://tailwindcss.com/docs/blur
*/
blur: [{
blur: [r]
}],
/**
* Brightness
* @see https://tailwindcss.com/docs/brightness
*/
brightness: [{
brightness: [o]
}],
/**
* Contrast
* @see https://tailwindcss.com/docs/contrast
*/
contrast: [{
contrast: [i]
}],
/**
* Drop Shadow
* @see https://tailwindcss.com/docs/drop-shadow
*/
"drop-shadow": [{
"drop-shadow": ["", "none", ve, A]
}],
/**
* Grayscale
* @see https://tailwindcss.com/docs/grayscale
*/
grayscale: [{
grayscale: [d]
}],
/**
* Hue Rotate
* @see https://tailwindcss.com/docs/hue-rotate
*/
"hue-rotate": [{
"hue-rotate": [b]
}],
/**
* Invert
* @see https://tailwindcss.com/docs/invert
*/
invert: [{
invert: [h]
}],
/**
* Saturate
* @see https://tailwindcss.com/docs/saturate
*/
saturate: [{
saturate: [I]
}],
/**
* Sepia
* @see https://tailwindcss.com/docs/sepia
*/
sepia: [{
sepia: [N]
}],
/**
* Backdrop Filter
* @deprecated since Tailwind CSS v3.0.0
* @see https://tailwindcss.com/docs/backdrop-filter
*/
"backdrop-filter": [{
"backdrop-filter": ["", "none"]
}],
/**
* Backdrop Blur
* @see https://tailwindcss.com/docs/backdrop-blur
*/
"backdrop-blur": [{
"backdrop-blur": [r]
}],
/**
* Backdrop Brightness
* @see https://tailwindcss.com/docs/backdrop-brightness
*/
"backdrop-brightness": [{
"backdrop-brightness": [o]
}],
/**
* Backdrop Contrast
* @see https://tailwindcss.com/docs/backdrop-contrast
*/
"backdrop-contrast": [{
"backdrop-contrast": [i]
}],
/**
* Backdrop Grayscale
* @see https://tailwindcss.com/docs/backdrop-grayscale
*/
"backdrop-grayscale": [{
"backdrop-grayscale": [d]
}],
/**
* Backdrop Hue Rotate
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
*/
"backdrop-hue-rotate": [{
"backdrop-hue-rotate": [b]
}],
/**
* Backdrop Invert
* @see https://tailwindcss.com/docs/backdrop-invert
*/
"backdrop-invert": [{
"backdrop-invert": [h]
}],
/**
* Backdrop Opacity
* @see https://tailwindcss.com/docs/backdrop-opacity
*/
"backdrop-opacity": [{
"backdrop-opacity": [T]
}],
/**
* Backdrop Saturate
* @see https://tailwindcss.com/docs/backdrop-saturate
*/
"backdrop-saturate": [{
"backdrop-saturate": [I]
}],
/**
* Backdrop Sepia
* @see https://tailwindcss.com/docs/backdrop-sepia
*/
"backdrop-sepia": [{
"backdrop-sepia": [N]
}],
// Tables
/**
* Border Collapse
* @see https://tailwindcss.com/docs/border-collapse
*/
"border-collapse": [{
border: ["collapse", "separate"]
}],
/**
* Border Spacing
* @see https://tailwindcss.com/docs/border-spacing
*/
"border-spacing": [{
"border-spacing": [a]
}],
/**
* Border Spacing X
* @see https://tailwindcss.com/docs/border-spacing
*/
"border-spacing-x": [{
"border-spacing-x": [a]
}],
/**
* Border Spacing Y
* @see https://tailwindcss.com/docs/border-spacing
*/
"border-spacing-y": [{
"border-spacing-y": [a]
}],
/**
* Table Layout
* @see https://tailwindcss.com/docs/table-layout
*/
"table-layout": [{
table: ["auto", "fixed"]
}],
/**
* Caption Side
* @see https://tailwindcss.com/docs/caption-side
*/
caption: [{
caption: ["top", "bottom"]
}],
// Transitions and Animation
/**
* Tranisition Property
* @see https://tailwindcss.com/docs/transition-property
*/
transition: [{
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", A]
}],
/**
* Transition Duration
* @see https://tailwindcss.com/docs/transition-duration
*/
duration: [{
duration: je()
}],
/**
* Transition Timing Function
* @see https://tailwindcss.com/docs/transition-timing-function
*/
ease: [{
ease: ["linear", "in", "out", "in-out", A]
}],
/**
* Transition Delay
* @see https://tailwindcss.com/docs/transition-delay
*/
delay: [{
delay: je()
}],
/**
* Animation
* @see https://tailwindcss.com/docs/animation
*/
animate: [{
animate: ["none", "spin", "ping", "pulse", "bounce", A]
}],
// Transforms
/**
* Transform
* @see https://tailwindcss.com/docs/transform
*/
transform: [{
transform: ["", "gpu", "none"]
}],
/**
* Scale
* @see https://tailwindcss.com/docs/scale
*/
scale: [{
scale: [_]
}],
/**
* Scale X
* @see https://tailwindcss.com/docs/scale
*/
"scale-x": [{
"scale-x": [_]
}],
/**
* Scale Y
* @see https://tailwindcss.com/docs/scale
*/
"scale-y": [{
"scale-y": [_]
}],
/**
* Rotate
* @see https://tailwindcss.com/docs/rotate
*/
rotate: [{
rotate: [Ze, A]
}],
/**
* Translate X
* @see https://tailwindcss.com/docs/translate
*/
"translate-x": [{
"translate-x": [U]
}],
/**
* Translate Y
* @see https://tailwindcss.com/docs/translate
*/
"translate-y": [{
"translate-y": [U]
}],
/**
* Skew X
* @see https://tailwindcss.com/docs/skew
*/
"skew-x": [{
"skew-x": [P]
}],
/**
* Skew Y
* @see https://tailwindcss.com/docs/skew
*/
"skew-y": [{
"skew-y": [P]
}],
/**
* Transform Origin
* @see https://tailwindcss.com/docs/transform-origin
*/
"transform-origin": [{
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", A]
}],
// Interactivity
/**
* Accent Color
* @see https://tailwindcss.com/docs/accent-color
*/
accent: [{
accent: ["auto", e]
}],
/**
* Appearance
* @see https://tailwindcss.com/docs/appearance
*/
appearance: ["appearance-none"],
/**
* Cursor
* @see https://tailwindcss.com/docs/cursor
*/
cursor: [{
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", A]
}],
/**
* Caret Color
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
*/
"caret-color": [{
caret: [e]
}],
/**
* Pointer Events
* @see https://tailwindcss.com/docs/pointer-events
*/
"pointer-events": [{
"pointer-events": ["none", "auto"]
}],
/**
* Resize
* @see https://tailwindcss.com/docs/resize
*/
resize: [{
resize: ["none", "y", "x", ""]
}],
/**
* Scroll Behavior
* @see https://tailwindcss.com/docs/scroll-behavior
*/
"scroll-behavior": [{
scroll: ["auto", "smooth"]
}],
/**
* Scroll Margin
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-m": [{
"scroll-m": F()
}],
/**
* Scroll Margin X
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-mx": [{
"scroll-mx": F()
}],
/**
* Scroll Margin Y
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-my": [{
"scroll-my": F()
}],
/**
* Scroll Margin Start
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-ms": [{
"scroll-ms": F()
}],
/**
* Scroll Margin End
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-me": [{
"scroll-me": F()
}],
/**
* Scroll Margin Top
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-mt": [{
"scroll-mt": F()
}],
/**
* Scroll Margin Right
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-mr": [{
"scroll-mr": F()
}],
/**
* Scroll Margin Bottom
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-mb": [{
"scroll-mb": F()
}],
/**
* Scroll Margin Left
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-ml": [{
"scroll-ml": F()
}],
/**
* Scroll Padding
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-p": [{
"scroll-p": F()
}],
/**
* Scroll Padding X
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-px": [{
"scroll-px": F()
}],
/**
* Scroll Padding Y
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-py": [{
"scroll-py": F()
}],
/**
* Scroll Padding Start
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-ps": [{
"scroll-ps": F()
}],
/**
* Scroll Padding End
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pe": [{
"scroll-pe": F()
}],
/**
* Scroll Padding Top
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pt": [{
"scroll-pt": F()
}],
/**
* Scroll Padding Right
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pr": [{
"scroll-pr": F()
}],
/**
* Scroll Padding Bottom
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pb": [{
"scroll-pb": F()
}],
/**
* Scroll Padding Left
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pl": [{
"scroll-pl": F()
}],
/**
* Scroll Snap Align
* @see https://tailwindcss.com/docs/scroll-snap-align
*/
"snap-align": [{
snap: ["start", "end", "center", "align-none"]
}],
/**
* Scroll Snap Stop
* @see https://tailwindcss.com/docs/scroll-snap-stop
*/
"snap-stop": [{
snap: ["normal", "always"]
}],
/**
* Scroll Snap Type
* @see https://tailwindcss.com/docs/scroll-snap-type
*/
"snap-type": [{
snap: ["none", "x", "y", "both"]
}],
/**
* Scroll Snap Type Strictness
* @see https://tailwindcss.com/docs/scroll-snap-type
*/
"snap-strictness": [{
snap: ["mandatory", "proximity"]
}],
/**
* Touch Action
* @see https://tailwindcss.com/docs/touch-action
*/
touch: [{
touch: ["auto", "none", "pinch-zoom", "manipulation", {
pan: ["x", "left", "right", "y", "up", "down"]
}]
}],
/**
* User Select
* @see https://tailwindcss.com/docs/user-select
*/
select: [{
select: ["none", "text", "all", "auto"]
}],
/**
* Will Change
* @see https://tailwindcss.com/docs/will-change
*/
"will-change": [{
"will-change": ["auto", "scroll", "contents", "transform", A]
}],
// SVG
/**
* Fill
* @see https://tailwindcss.com/docs/fill
*/
fill: [{
fill: [e, "none"]
}],
/**
* Stroke Width
* @see https://tailwindcss.com/docs/stroke-width
*/
"stroke-w": [{
stroke: [ae, ht]
}],
/**
* Stroke
* @see https://tailwindcss.com/docs/stroke
*/
stroke: [{
stroke: [e, "none"]
}],
// Accessibility
/**
* Screen Readers
* @see https://tailwindcss.com/docs/screen-readers
*/
sr: ["sr-only", "not-sr-only"]
},
conflictingClassGroups: {
overflow: ["overflow-x", "overflow-y"],
overscroll: ["overscroll-x", "overscroll-y"],
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
"inset-x": ["right", "left"],
"inset-y": ["top", "bottom"],
flex: ["basis", "grow", "shrink"],
gap: ["gap-x", "gap-y"],
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
px: ["pr", "pl"],
py: ["pt", "pb"],
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
mx: ["mr", "ml"],
my: ["mt", "mb"],
"font-size": ["leading"],
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
"fvn-ordinal": ["fvn-normal"],
"fvn-slashed-zero": ["fvn-normal"],
"fvn-figure": ["fvn-normal"],
"fvn-spacing": ["fvn-normal"],
"fvn-fraction": ["fvn-normal"],
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
"rounded-s": ["rounded-ss", "rounded-es"],
"rounded-e": ["rounded-se", "rounded-ee"],
"rounded-t": ["rounded-tl", "rounded-tr"],
"rounded-r": ["rounded-tr", "rounded-br"],
"rounded-b": ["rounded-br", "rounded-bl"],
"rounded-l": ["rounded-tl", "rounded-bl"],
"border-spacing": ["border-spacing-x", "border-spacing-y"],
"border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
"border-w-x": ["border-w-r", "border-w-l"],
"border-w-y": ["border-w-t", "border-w-b"],
"border-color": ["border-color-t", "border-color-r", "border-color-b", "border-color-l"],
"border-color-x": ["border-color-r", "border-color-l"],
"border-color-y": ["border-color-t", "border-color-b"],
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
"scroll-mx": ["scroll-mr", "scroll-ml"],
"scroll-my": ["scroll-mt", "scroll-mb"],
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
"scroll-px": ["scroll-pr", "scroll-pl"],
"scroll-py": ["scroll-pt", "scroll-pb"]
},
conflictingClassGroupModifiers: {
"font-size": ["leading"]
}
};
}
var E = /* @__PURE__ */ Ts(js);
const Hs = "p-5 border border-gray-200 dark:border-gray-700 dark:bg-gray-900";
function Ds(e) {
const t = p(() => e.value.parentElement.parentElement.dataset.accordionId), r = p(() => e.value.parentElement.dataset.panelId), { accordionsStates: o } = ft(), s = p(() => o[t.value]), n = p(() => o[t.value].panels[r.value]), a = p(() => Object.keys(o[t.value].panels[r.value]).length);
return {
contentClasses: p(() => E(
Hs,
!n.value.isVisible && "hidden",
(n.value.order !== a.value - 1 || s.value.flush) && "border-b-0",
n.value.order === a.value - 1 && "border-t-0",
s.value.flush && "border-x-0"
))
};
}
const Dp = /* @__PURE__ */ C({
__name: "FwbAccordionContent",
setup(e) {
const t = V(!1), r = V();
let o;
return Ue(() => {
o = Ds(r).contentClasses, t.value = !0;
}), (s, n) => (u(), g("div", {
ref_key: "content",
ref: r
}, [
t.value ? (u(), g("div", {
key: 0,
class: w(m(o))
}, [
v(s.$slots, "default")
], 2)) : z("", !0)
], 512));
}
}), Gs = "flex items-center p-5 w-full font-medium text-left text-gray-500 border border-gray-200 focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-800 dark:border-gray-700 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-800", Ws = "w-6 h-6 shrink-0";
function Us(e) {
const t = p(() => e.value.parentElement.parentElement.dataset.accordionId), r = p(() => e.value.parentElement.dataset.panelId), { accordionsStates: o } = ft(), s = p(() => o[t.value]), n = p(() => s.value.panels[r.value]), a = p(() => Object.keys(n.value).length), l = p(() => n.value.order !== a.value - 1), i = p(() => l.value || s.value.flush && n.value.order === a.value - 1 && !n.value.isVisible), d = p(() => E(
Gs,
n.value.isVisible && "bg-gray-100 dark:bg-gray-800",
n.value.order === 0 && !s.value.flush && "rounded-t-xl",
n.value.order === 0 && s.value.flush && "border-t-0",
i.value && "border-b-0",
s.value.flush && "border-x-0"
)), b = p(() => E(Ws, n.value.isVisible && "rotate-180"));
return {
headerClasses: d,
arrowClasses: b
};
}
const qs = { class: "w-full" }, Ks = /* @__PURE__ */ f("path", {
"fill-rule": "evenodd",
d: "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z"
}, null, -1), Ys = [
Ks
], Gp = /* @__PURE__ */ C({
__name: "FwbAccordionHeader",
setup(e) {
const t = V(!1), r = V(), o = p(() => r.value.parentElement.parentElement.dataset.accordionId), s = p(() => r.value.parentElement.dataset.panelId), { accordionsStates: n } = ft(), a = p(() => n[o.value]), l = p(() => a.value.panels[s.value]);
let i, d;
function b() {
const c = l.value.isVisible;
for (const x in a.value.panels) {
const k = a.value.panels[x];
k.id !== s.value ? k.isVisible = !1 : k.isVisible = !c;
}
}
function h() {
l.value.isVisible = !l.value.isVisible;
}
function y() {
if (a.value.alwaysOpen)
return h();
b();
}
return Ue(() => {
const c = Us(r);
i = c.headerClasses, d = c.arrowClasses, t.value = !0;
}), (c, x) => (u(), g("div", {
ref_key: "header",
ref: r
}, [
t.value ? (u(), g("button", {
key: 0,
type: "button",
class: w(m(i)),
onClick: y
}, [
f("span", qs, [
v(c.$slots, "default")
]),
(u(), g("svg", {
"data-accordion-icon": "",
class: w(m(d)),
fill: "currentColor",
viewBox: "0 0 20 20",
xmlns: "http://www.w3.org/2000/svg"
}, Ys, 2))
], 2)) : z("", !0)
], 512));
}
}), Js = ["data-panel-id"], Wp = /* @__PURE__ */ C({
__name: "FwbAccordionPanel",
setup(e) {
const { accordionsStates: t } = ft(), r = ho(), o = V(), s = p(() => o.value ? o.value.parentElement.dataset.accordionId : null), n = p(() => t[s.value]);
return Ue(() => {
const a = Object.keys(n?.value?.panels)?.length;
n.value.panels[r] = {
id: r,
order: a,
isVisible: (n.value.openFirstItem && a === 0) ?? !1
};
}), (a, l) => (u(), g("div", {
ref_key: "panel",
ref: o,
"data-panel-id": m(r)
}, [
s.value ? v(a.$slots, "default", { key: 0 }) : z("", !0)
], 8, Js));
}
}), Qs = { class: "flex items-center" }, Zs = /* @__PURE__ */ f("svg", {
class: "flex-shrink-0 w-5 h-5",
fill: "currentColor",
viewBox: "0 0 20 20",
xmlns: "http://www.w3.org/2000/svg"
}, [
/* @__PURE__ */ f("path", {
"fill-rule": "evenodd",
d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",
"clip-rule": "evenodd"
})
], -1), Xs = /* @__PURE__ */ f("span", { class: "sr-only" }, "Dismiss", -1), en = /* @__PURE__ */ f("svg", {
class: "w-5 h-5",
fill: "currentColor",
viewBox: "0 0 20 20",
xmlns: "http://www.w3.org/2000/svg"
}, [
/* @__PURE__ */ f("path", {
"fill-rule": "evenodd",
d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
"clip-rule": "evenodd"
})
], -1), tn = [
Xs,
en
], rn = "ml-auto -mr-1.5 -my-1.5 rounded-lg focus:ring-2 p-1.5 inline-flex h-8 w-8 dark:bg-gray-800 dark:hover:bg-gray-700", Up = /* @__PURE__ */ C({
inheritAttrs: !1,
__name: "FwbAlert",
props: {
type: { default: "info" },
closable: { type: Boolean, default: !1 },
icon: { type: Boolean, default: !1 },
border: { type: Boolean, default: !1 }
},
emits: ["close"],
setup(e, { emit: t }) {
const r = e, o = de(), s = {
danger: "text-red-800 dark:text-red-400",
dark: "text-gray-800 dark:text-gray-300",
info: "text-blue-800 dark:text-blue-400",
success: "text-green-800 dark:text-green-400",
warning: "text-yellow-800 dark:text-yellow-300"
}, n = {
danger: "bg-red-50",
dark: "bg-gray-50",
info: "bg-blue-50",
success: "bg-green-50",
warning: "bg-yellow-50"
}, l = E(rn, {
danger: "text-red-500 dark:text-red-400 bg-red-50 hover:bg-red-200 focus:ring-red-400",
dark: "text-gray-500 dark:text-gray-300 bg-gray-50 hover:bg-gray-200 focus:ring-gray-400 dark:hover:text-white",
info: "text-blue-500 dark:text-blue-400 bg-blue-50 hover:bg-blue-200 focus:ring-blue-400",
success: "text-green-500 dark:text-green-400 bg-green-50 hover:bg-green-200 focus:ring-green-400",
warning: "text-yellow-500 dark:text-yellow-300 bg-yellow-50 hover:bg-yellow-200 focus:ring-yellow-400"
}[r.type]), i = {
danger: "border-red-500 dark:text-red-400",
dark: "border-gray-500 dark:text-gray-400",
info: "border-blue-500 dark:text-blue-400",
success: "border-green-500 dark:text-green-400",
warning: "border-yellow-500 dark:text-yellow-400"
}, d = {
danger: [s.danger, n.danger].join(" "),
dark: [s.dark, n.dark].join(" "),
info: [s.info, n.info].join(" "),
success: [s.success, n.success].join(" "),
warning: [s.warning, n.warning].join(" ")
}, b = E(
"p-4 gap-3 text-sm dark:bg-gray-800 rounded-lg",
d[r.type],
(r.icon || r.closable) && "flex items-center",
i[r.type],
r.border && "border",
o.class
), h = V(!0);
function y() {
t("close"), h.value = !1;
}
return (c, x) => h.value ? (u(), g("div", ne({ key: 0 }, c.$attrs, {
class: m(b),
role: "alert"
}), [
f("div", Qs, [
c.icon || c.$slots.icon ? v(c.$slots, "icon", { key: 0 }, () => [
Zs
]) : z("", !0),
v(c.$slots, "title")
]),
v(c.$slots, "default", { onCloseClick: y }),
v(c.$slots, "close-icon", { onCloseClick: y }, () => [
c.closable ? (u(), g("button", {
key: 0,
type: "button",
class: w(m(l)),
"aria-label": "Close",
onClick: y
}, tn, 2)) : z("", !0)
])
], 16)) : z("", !0);
}
}), ke = (e) => E(e), vr = {
xs: "w-6 h-6",
sm: "w-8 h-8",
md: "w-10 h-10",
lg: "w-20 h-20",
xl: "w-36 h-36"
}, yr = {
default: "rounded",
rounded: "rounded-full"
}, on = "ring-2 ring-gray-300 dark:ring-gray-500 p-1", sn = "absolute h-3.5 w-3.5 rounded-full border-2 border-white dark:border-gray-800", nn = {
away: "bg-gray-400",
busy: "bg-yellow-400",
offline: "bg-red-400",
online: "bg-green-400"
}, an = {
"top-right-rounded": "top-0 -right-0.5",
"top-right-default": "-top-1.5 -right-1.5",
"top-left-rounded": "top-0 left-0",
"top-left-default": "top-0 left-0 transform -translate-y-1/2 -translate-x-1/2",
"bottom-right-rounded": "bottom-0 -right-0.5",
"bottom-right-default": "bottom-0 -right-1.5 translate-y-1/2",
"bottom-left-rounded": "bottom-0 left-0",
"bottom-left-default": "-bottom-1.5 left-0 transform -translate-x-1/2 "
}, ln = "absolute w-auto h-auto text-gray-400", dn = "flex overflow-hidden relative justify-center items-center", un = "bg-gray-100 dark:bg-gray-600", cn = "font-medium text-gray-600 dark:text-gray-300", pn = {
xs: "bottom-0",
sm: "bottom-0",
md: "-bottom-1",
lg: "-bottom-2",
xl: "-bottom-4"
};
function fn(e) {
const t = p(
() => ke([
vr[e.size.value],
yr[e.rounded.value ? "rounded" : "default"],
e.bordered.value ? on : "",
e.stacked.value ? "border-2 border-white dark:border-gray-800" : ""
])
), r = p(() => {
const a = `${e.statusPosition.value}-${e.rounded.value ? "rounded" : "default"}`;
return ke([
sn,
nn[e.status.value],
an[a]
]);
}), o = p(
() => ke([
ln,
pn[e.size.value]
])
), s = p(
() => ke([
dn,
vr[e.size.value],
yr[e.rounded.value ? "rounded" : "default"],
e.img.value && e.bordered.value ? "" : un,
e.bordered.value ? " overflow-visible" : ""
])
), n = p(
() => ke([
cn
])
);
return {
avatarClasses: t,
avatarDotClasses: r,
avatarPlaceholderClasses: o,
avatarPlaceholderInitialsClasses: n,
avatarPlaceholderWrapperClasses: s
};
}
const gn = { class: "relative" }, hn = ["alt", "src"], bn = /* @__PURE__ */ f("path", {
"clip-rule": "evenodd",
d: "M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z",
"fill-rule": "evenodd"
}, null, -1), mn = [
bn
], vn = ["data-pos"], qp = /* @__PURE__ */ C({
__name: "FwbAvatar",
props: {
alt: {
type: String,
default: "Avatar"
},
bordered: {
type: Boolean,
default: !1
},
img: {
type: String,
default: ""
},
rounded: {
type: Boolean,
default: !1
},
size: {
type: String,
default: "md"
},
stacked: {
type: Boolean,
default: !1
},
status: {
type: String,
default: null
},
statusPosition: {
type: String,
default: "top-right"
},
initials: {
type: String,
default: null
}
},
setup(e) {
const t = e, r = V(!1);
function o() {
r.value = !0;
}
const s = qe(), n = p(() => s.placeholder), {
avatarClasses: a,
avatarDotClasses: l,
avatarPlaceholderClasses: i,
avatarPlaceholderInitialsClasses: d,
avatarPlaceholderWrapperClasses: b
} = fn(J(t));
return (h, y) => (u(), g("div", gn, [
f("div", {
class: w(m(b))
}, [
e.img && !r.value ? (u(), g("img", {
key: 0,
alt: e.alt,
class: w(m(a)),
src: e.img,
onError: o
}, null, 42, hn)) : !e.initials && n.value ? (u(), g("div", {
key: 1,
class: w(m(i))
}, [
v(h.$slots, "placeholder")
], 2)) : !e.img && !e.initials ? (u(), g("svg", {
key: 2,
class: w(m(i)),
fill: "currentColor",
viewBox: "0 0 20 20",
xmlns: "http://www.w3.org/2000/svg"
}, mn, 2)) : (u(), g("div", {
key: 3,
class: w(m(d))
}, O(e.initials), 3))
], 2),
e.status ? (u(), g("span", {
key: 0,
class: w(m(l)),
"data-pos": e.statusPosition
}, null, 10, vn)) : z("", !0)
]));
}
}), ge = (e, t) => {
const r = e.__vccOpts || e;
for (const [o, s] of t)
r[o] = s;
return r;
}, yn = {}, wn = { class: "flex -space-x-4" };
function xn(e, t) {
return u(), g("div", wn, [
v(e.$slots, "default")
]);
}
const Kp = /* @__PURE__ */ ge(yn, [["render", xn]]), kn = ["href"], Yp = /* @__PURE__ */ C({
__name: "FwbAvatarStackCounter",
props: {
total: {
type: Number,
default: 1
},
href: {
type: String,
default: "#"
}
},
setup(e) {
return (t, r) => (u(), g("a", {
class: "relative flex justify-center items-center w-10 h-10 text-xs font-medium text-white bg-gray-700 rounded-full border-2 border-white hover:bg-gray-600 dark:border-gray-800",
href: e.href
}, "+" + O(e.total), 9, kn));
}
}), _n = "mr-2 px-2.5 py-0.5 rounded flex items-center justify-center", Cn = "bg-blue-100 hover:bg-blue-200 text-blue-800 dark:text-blue-800 dark:hover:bg-blue-300", $n = "p-1 rounded-full mr-2", Sn = {
default: "text-blue-800 dark:text-blue-800",
dark: "text-gray-800 dark:bg-gray-700",
red: "text-red-800 dark:text-red-900",
green: "text-green-800 dark:text-green-900",
yellow: "text-yellow-800 dark:text-yellow-900",
indigo: "text-indigo-800 dark:text-indigo-900",
purple: "text-purple-800 dark:text-purple-900",
pink: "text-pink-800 dark:text-pink-900"
}, Tn = {
default: "bg-blue-100 dark:bg-blue-200",
dark: "bg-gray-100 dark:bg-gray-700",
red: "bg-red-100 dark:bg-red-200",
green: "bg-green-100 dark:bg-green-200",
yellow: "bg-yellow-100 dark:bg-yellow-200",
indigo: "bg-indigo-100 dark:bg-indigo-200",
purple: "bg-purple-100 dark:bg-purple-200",
pink: "bg-pink-100 dark:bg-pink-200"
}, Pn = {
xs: "text-xs font-semibold",
sm: "text-sm font-medium"
};
function zn(e, t) {
const r = de();
return {
badgeClasses: p(() => E(
Pn[e.size],
e.href ? "" : Tn[e.type],
e.href ? "" : Sn[e.type],
e.href ? Cn : "",
t.isContentEmpty.value ? $n : _n,
r.class
))
};
}
const Jp = /* @__PURE__ */ C({
__name: "FwbBadge",
props: {
type: { default: "default" },
size: { default: "xs" },
href: { default: null }
},
setup(e) {
const t = e, r = qe(), o = p(() => !r.default), s = p(() => t.href ? "a" : "span"), { badgeClasses: n } = zn(t, { isContentEmpty: o });
return (a, l) => (u(), G(te(s.value), {
class: w(m(n)),
href: a.href
}, {
default: D(() => [
v(a.$slots, "icon"),
v(a.$slots, "default")
]),
_: 3
}, 8, ["class", "href"]));
}
});
function Fn(e) {
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
var xo = { exports: {} };
/*!
Copyright (c) 2018 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/
(function(e) {
(function() {
var t = {}.hasOwnProperty;
function r() {
for (var o = [], s = 0; s < arguments.length; s++) {
var n = arguments[s];
if (n) {
var a = typeof n;
if (a === "string" || a === "number")
o.push(n);
else if (Array.isArray(n)) {
if (n.length) {
var l = r.apply(null, n);
l && o.push(l);
}
} else if (a === "object") {
if (n.toString !== Object.prototype.toString && !n.toString.toString().includes("[native code]")) {
o.push(n.toString());
continue;
}
for (var i in n)
t.call(n, i) && n[i] && o.push(i);
}
}
}
return o.join(" ");
}
e.exports ? (r.default = r, e.exports = r) : window.classNames = r;
})();
})(xo);
var In = xo.exports;
const W = /* @__PURE__ */ Fn(In), An = "inline-flex items-center space-x-1 md:space-x-3", Bn = {
default: "flex",
solid: "flex px-5 py-3 text-gray-700 border border-gray-200 rounded-lg bg-gray-50 dark:bg-gray-800 dark:border-gray-700"
};
function On(e) {
const t = p(() => W(An)), r = p(() => W(
Bn[e.solid.value ? "solid" : "defauilt"]
));
return {
breadcrumbClasses: t,
breadcrumbWrapperClasses: r
};
}
const Qp = /* @__PURE__ */ C({
__name: "FwbBreadcrumb",
props: {
solid: {
type: Boolean,
default: !1
}
},
setup(e) {
const t = e, { breadcrumbClasses: r, breadcrumbWrapperClasses: o } = On(J(t));
return (s, n) => (u(), g("nav", {
class: w(m(o)),
"aria-label": "Breadcrumb"
}, [
f("ol", {
class: w(m(r))
}, [
v(s.$slots, "default")
], 2)
], 2));
}
}), Mn = "ml-1 inline-flex items-center text-sm font-medium dark:text-gray-400", Ln = "text-gray-700 hover:text-gray-900 dark:hover:text-white", En = "text-gray-500";
function Nn(e) {
return {
breadcrumbItemClasses: p(() => W(
Mn,
e.href.value ? Ln : En
))
};
}
const Rn = { class: "inline-flex items-center" }, Vn = {
key: 0,
class: "w-6 h-6 text-gray-400 mr-1",
fill: "currentColor",
viewBox: "0 0 20 20",
xmlns: "http://www.w3.org/2000/svg"
}, jn = /* @__PURE__ */ f("path", {
"clip-rule": "evenodd",
d: "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",
"fill-rule": "evenodd"
}, null, -1), Hn = [
jn
], Dn = {
key: 0,
class: "w-4 h-4 mr-2",
fill: "currentColor",
viewBox: "0 0 20 20",
xmlns: "http://www.w3.org/2000/svg"
}, Gn = /* @__PURE__ */ f("path", { d: "M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z" }, null, -1), Wn = [
Gn
], Zp = /* @__PURE__ */ C({
__name: "FwbBreadcrumbItem",
props: {
href: {
type: String,
default: null
},
home: {
type: Boolean,
default: !1
}
},
setup(e) {
const t = e, r = p(() => t.href ? "a" : "span"), { breadcrumbItemClasses: o } = Nn(J(t));
return (s, n) => (u(), g("li", Rn, [
v(s.$slots, "arrow-icon", {}, () => [
e.home ? z("", !0) : (u(), g("svg", Vn, Hn))
]),
(u(), G(te(r.value), {
class: w(m(o)),
href: e.href
}, {
default: D(() => [
v(s.$slots, "home-icon", {}, () => [
e.home ? (u(), g("svg", Dn, Wn)) : z("", !0)
]),
v(s.$slots, "default")
]),
_: 3
}, 8, ["class", "href"]))
]));
}
}), Un = {
0: "w-0 h-0",
0.5: "w-0.5 h-0.5",
1: "w-1 h-1",
1.5: "w-1.5 h-1.5",
10: "w-10 h-10",
11: "w-11 h-11",
12: "w-12 h-12",
2: "w-2 h-2",
2.5: "w-2.5 h-2.5",
3: "w-3 h-3",
4: "w-4 h-4",
5: "w-5 h-5",
6: "w-6 h-6",
7: "w-7 h-7",
8: "w-8 h-8",
9: "w-9 h-9"
}, qn = {
blue: "fill-blue-600",
gray: "fill-gray-600 dark:fill-gray-300",
green: "fill-green-500",
pink: "fill-pink-600",
purple: "fill-purple-600",
red: "fill-red-600",
white: "fill-white",
yellow: "fill-yellow-400"
};
function Kn(e) {
const t = p(() => Un[e.size.value]), r = p(() => qn[e.color.value]), o = p(() => "text-gray-200 dark:text-gray-600"), s = p(() => "animate-spin");
return { spinnerClasses: p(() => W(
s.value,
o.value,
r.value,
t.value
)) };
}
const Yn = /* @__PURE__ */ f("path", {
d: "M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",
fill: "currentColor"
}, null, -1), Jn = /* @__PURE__ */ f("path", {
d: "M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",
fill: "currentFill"
}, null, -1), Qn = [
Yn,
Jn
], bt = /* @__PURE__ */ C({
__name: "FwbSpinner",
props: {
color: { default: "blue" },
size: { default: "4" }
},
setup(e) {
const t = e, { spinnerClasses: r } = Kn(J(t));
return (o, s) => (u(), g("svg", {
class: w(m(r)),
fill: "none",
role: "status",
viewBox: "0 0 100 101",
xmlns: "http://www.w3.org/2000/svg"
}, Qn, 2));
}
}), wr = {
default: {
default: "text-white bg-blue-700 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg dark:bg-blue-600 focus:outline-none dark:focus:ring-blue-800",
blue: "text-white bg-blue-700 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg dark:bg-blue-600 focus:outline-none dark:focus:ring-blue-800",
alternative: "font-medium text-gray-900 focus:outline-none bg-white rounded-lg border border-gray-200 focus:z-10 focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600",
dark: "text-white bg-gray-800 focus:outline-none focus:ring-4 focus:ring-gray-300 font-medium rounded-lg dark:bg-gray-800 dark:focus:ring-gray-700 dark:border-gray-700",
light: "text-gray-900 bg-white border border-gray-300 focus:outline-none focus:ring-4 focus:ring-gray-200 font-medium rounded-lg dark:bg-gray-800 dark:text-white dark:border-gray-600 dark:focus:ring-gray-700",
green: "focus:outline-none text-white bg-green-700 focus:ring-4 focus:ring-green-300 font-medium rounded-lg dark:bg-green-600 dark:focus:ring-green-800",
red: "focus:outline-none text-white bg-red-700 focus:ring-4 focus:ring-red-300 font-medium rounded-lg dark:bg-red-600 dark:focus:ring-red-900",
yellow: "focus:outline-none text-white bg-yellow-400 focus:ring-4 focus:ring-yellow-300 font-medium rounded-lg dark:focus:ring-yellow-900",
purple: "focus:outline-none text-white bg-purple-700 focus:ring-4 focus:ring-purple-300 font-medium rounded-lg dark:bg-purple-600 dark:focus:ring-purple-900",
pink: "focus:outline-none text-white bg-pink-700 focus:ring-4 focus:ring-pink-300 font-medium rounded-lg dark:bg-pink-600 dark:focus:ring-pink-900"
},
hover: {
default: "hover:bg-blue-800 dark:hover:bg-blue-700",
blue: "hover:bg-blue-800 dark:hover:bg-blue-700",
alternative: "hover:bg-gray-100 hover:text-blue-700 dark:hover:text-white dark:hover:bg-gray-700",
dark: "hover:bg-gray-900 dark:hover:bg-gray-700",
light: "hover:bg-gray-100 dark:hover:border-gray-600",
green: "hover:bg-green-800 dark:hover:bg-green-700",
red: "hover:bg-red-800 dark:hover:bg-red-700",
yellow: "hover:bg-yellow-500",
purple: "hover:bg-purple-800 dark:hover:bg-purple-700",
pink: "hover:bg-pink-800 dark:hover:bg-pink-700"
}
}, xr = {
default: {
dark: "text-gray-900 border border-gray-800 focus:ring-4 focus:outline-none focus:ring-gray-300 font-medium rounded-lg text-sm text-center dark:border-gray-600 dark:text-gray-400 dark:focus:ring-gray-800",
default: "text-blue-700 border border-blue-700 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm text-center dark:border-blue-500 dark:text-blue-500 dark:focus:ring-blue-800",
blue: "text-blue-700 border border-blue-700 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm text-center dark:border-blue-500 dark:text-blue-500 dark:focus:ring-blue-800",
green: "text-green-700 border border-green-700 focus:ring-4 focus:outline-none focus:ring-green-300 font-medium rounded-lg text-sm text-center dark:border-green-500 dark:text-green-500 dark:focus:ring-green-800",
purple: "text-purple-700 border border-purple-700 focus:ring-4 focus:outline-none focus:ring-purple-300 font-medium rounded-lg text-sm text-center dark:border-purple-400 dark:text-purple-400 dark:focus:ring-purple-900",
pink: "text-pink-700 border border-pink-700 focus:ring-4 focus:outline-none focus:ring-pink-300 font-medium rounded-lg text-sm text-center dark:border-pink-400 dark:text-pink-400 dark:focus:ring-pink-900",
red: "text-red-700 border border-red-700 focus:ring-4 focus:outline-none focus:ring-red-300 font-medium rounded-lg text-sm text-center dark:border-red-500 dark:text-red-500 dark:focus:ring-red-900",
yellow: "text-yellow-400 border border-yellow-400 focus:ring-4 focus:outline-none focus:ring-yellow-300 font-medium rounded-lg text-sm text-center dark:border-yellow-300 dark:text-yellow-300 dark:focus:ring-yellow-900"
},
hover: {
dark: "hover:text-white hover:bg-gray-900 dark:hover:text-white dark:hover:bg-gray-600",
default: "hover:text-white hover:bg-blue-800 dark:hover:text-white dark:hover:bg-blue-600",
blue: "hover:text-white hover:bg-blue-800 dark:hover:text-white dark:hover:bg-blue-600",
green: "hover:text-white hover:bg-green-800 dark:hover:text-white dark:hover:bg-green-600",
purple: "hover:text-white hover:bg-purple-800 dark:hover:text-white dark:hover:bg-purple-500",
pink: "hover:text-white hover:bg-pink-800 dark:hover:text-white dark:hover:bg-pink-500",
red: "hover:text-white hover:bg-red-800 dark:hover:text-white dark:hover:bg-red-600",
yellow: "hover:text-white hover:bg-yellow-500 dark:hover:text-white dark:hover:bg-yellow-400"
}
}, kr = {
hover: {
"cyan-blue": "hover:bg-gradient-to-bl",
"green-blue": "hover:bg-gradient-to-bl",
"pink-orange": "hover:bg-gradient-to-bl",
"purple-blue": "hover:bg-gradient-to-bl",
"purple-pink": "hover:bg-gradient-to-l",
"red-yellow": "hover:bg-gradient-to-bl",
"teal-lime": "hover:bg-gradient-to-l hover:from-teal-200 hover:to-lime-200",
blue: "hover:bg-gradient-to-br",
cyan: "hover:bg-gradient-to-br",
green: "hover:bg-gradient-to-br",
lime: "hover:bg-gradient-to-br",
pink: "hover:bg-gradient-to-br",
purple: "hover:bg-gradient-to-br",
red: "hover:bg-gradient-to-br",
teal: "hover:bg-gradient-to-br"
},
default: {
"cyan-blue": "text-white bg-gradient-to-r from-cyan-500 to-blue-500 focus:ring-4 focus:outline-none focus:ring-cyan-300 dark:focus:ring-cyan-800 font-medium rounded-lg",
"green-blue": "text-white bg-gradient-to-br from-green-400 to-blue-600 focus:ring-4 focus:outline-none focus:ring-green-200 dark:focus:ring-green-800 font-medium rounded-lg",
"pink-orange": "text-white bg-gradient-to-br from-pink-500 to-orange-400 focus:ring-4 focus:outline-none focus:ring-pink-200 dark:focus:ring-pink-800 font-medium rounded-lg",
"purple-blue": "text-white bg-gradient-to-br from-purple-600 to-blue-500 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:focus:ring-blue-800 font-medium rounded-lg",
"purple-pink": "text-white bg-gradient-to-r from-purple-500 to-pink-500 focus:ring-4 focus:outline-none focus:ring-purple-200 dark:focus:ring-purple-800 font-medium rounded-lg",
"red-yellow": "text-gray-900 bg-gradient-to-r from-red-200 via-red-300 to-yellow-200 focus:ring-4 focus:outline-none focus:ring-red-100 dark:focus:ring-red-400 font-medium rounded-lg",
"teal-lime": "text-gray-900 bg-gradient-to-r from-teal-200 to-lime-200 focus:ring-4 focus:outline-none focus:ring-lime-200 dark:focus:ring-teal-700 font-medium rounded-lg",
blue: "text-white bg-gradient-to-r from-blue-500 via-blue-600 to-blue-700 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:focus:ring-blue-800 rounded-lg",
cyan: "text-white bg-gradient-to-r from-cyan-500 via-cyan-600 to-cyan-700 focus:ring-4 focus:outline-none focus:ring-cyan-300 dark:focus:ring-cyan-800 rounded-lg",
green: "text-white bg-gradient-to-r from-green-500 via-green-600 to-green-700 focus:ring-4 focus:outline-none focus:ring-green-300 dark:focus:ring-green-800 rounded-lg",
lime: "text-gray-900 bg-gradient-to-r from-lime-500 via-lime-600 to-lime-700 focus:ring-4 focus:outline-none focus:ring-lime-300 dark:focus:ring-lime-800 rounded-lg",
pink: "text-white bg-gradient-to-r from-pink-500 via-pink-600 to-pink-700 focus:ring-4 focus:outline-none focus:ring-pink-300 dark:focus:ring-pink-800 rounded-lg",
purple: "text-white bg-gradient-to-r from-purple-500 via-purple-600 to-purple-700 focus:ring-4 focus:outline-none focus:ring-purple-300 dark:focus:ring-purple-800 rounded-lg",
red: "text-white bg-gradient-to-r from-red-500 via-red-600 to-red-700 focus:ring-4 focus:outline-none focus:ring-red-300 dark:focus:ring-red-800 rounded-lg",
teal: "text-white bg-gradient-to-r from-teal-500 via-teal-600 to-teal-700 focus:ring-4 focus:outline-none focus:ring-teal-300 dark:focus:ring-teal-800 rounded-lg"
}
}, _r = {
default: {
"cyan-blue": "relative inline-flex items-center justify-center overflow-hidden font-medium text-gray-900 rounded-lg group bg-gradient-to-br from-cyan-500 to-blue-500 dark:text-white focus:ring-4 focus:outline-none focus:ring-cyan-200 dark:focus:ring-cyan-800",
"green-blue": "relative inline-flex items-center justify-center overflow-hidden font-medium text-gray-900 rounded-lg group bg-gradient-to-br from-green-400 to-blue-600 dark:text-white focus:ring-4 focus:outline-none focus:ring-green-200 dark:focus:ring-green-800",
"pink-orange": "relative inline-flex items-center justify-center overflow-hidden font-medium text-gray-900 rounded-lg group bg-gradient-to-br from-pink-500 to-orange-400 dark:text-white focus:ring-4 focus:outline-none focus:ring-pink-200 dark:focus:ring-pink-800",
"purple-blue": "relative inline-flex items-center justify-center overflow-hidden font-medium text-gray-900 rounded-lg group bg-gradient-to-br from-purple-600 to-blue-500 dark:text-white focus:ring-4 focus:outline-none focus:ring-blue-300 dark:focus:ring-blue-800",
"purple-pink": "relative inline-flex items-center justify-center overflow-hidden font-medium text-gray-900 rounded-lg group bg-gradient-to-br from-purple-500 to-pink-500 dark:text-white focus:ring-4 focus:outline-none focus:ring-purple-200 dark:focus:ring-purple-800",
"red-yellow": "relative inline-flex items-center justify-center overflow-hidden font-medium text-gray-900 rounded-lg group bg-gradient-to-br from-red-200 via-red-300 to-yellow-200 dark:text-white focus:ring-4 focus:outline-none focus:ring-red-100 dark:focus:ring-red-400",
"teal-lime": "relative inline-flex items-center justify-center overflow-hidden font-medium text-gray-900 rounded-lg group bg-gradient-to-br from-teal-300 to-lime-300 dark:text-white focus:ring-4 focus:outline-none focus:ring-lime-200 dark:focus:ring-lime-800"
},
hover: {
"cyan-blue": "group-hover:from-cyan-500 group-hover:to-blue-500 hover:text-white",
"green-blue": "group-hover:from-green-400 group-hover:to-blue-600 hover:text-white",
"pink-orange": "group-hover:from-pink-500 group-hover:to-orange-400 hover:text-white",
"purple-blue": "group-hover:from-purple-600 group-hover:to-blue-500 hover:text-white",
"purple-pink": "group-hover:from-purple-500 group-hover:to-pink-500 hover:text-white",
"red-yellow": "group-hover:from-red-200 group-hover:via-red-300 group-hover:to-yellow-200 dark:hover:text-gray-900",
"teal-lime": "group-hover:from-teal-300 group-hover:to-lime-300 dark:hover:text-gray-900"
}
}, Zn = {
xs: "text-xs px-2 py-1",
sm: "text-sm px-3 py-1.5",
md: "text-sm px-4 py-2",
lg: "text-base px-5 py-2.5",
xl: "text-base px-6 py-3"
}, Xn = {
xs: "text-xs p-1",
sm: "text-sm p-1.5",
md: "text-sm p-2",
lg: "text-base p-2.5",
xl: "text-base p-3"
}, Cr = {
blue: "shadow-lg shadow-blue-500/50 dark:shadow-lg dark:shadow-blue-800/80",
cyan: "shadow-lg shadow-cyan-500/50 dark:shadow-lg dark:shadow-cyan-800/80",
green: "shadow-lg shadow-green-500/50 dark:shadow-lg dark:shadow-green-800/80",
lime: "shadow-lg shadow-lime-500/50 dark:shadow-lg dark:shadow-lime-800/80",
pink: "shadow-lg shadow-pink-500/50 dark:shadow-lg dark:shadow-pink-800/80",
purple: "shadow-lg shadow-purple-500/50 dark:shadow-lg dark:shadow-purple-800/80",
red: "shadow-lg shadow-red-500/50 dark:shadow-lg dark:shadow-red-800/80",
teal: "shadow-lg shadow-teal-500/50 dark:shadow-lg dark:shadow-teal-800/80"
}, jt = ["blue", "green", "cyan", "teal", "lime", "red", "pink", "purple"], ea = ["alternative", "light"];
function ta(e) {
const t = qe(), r = p(() => e.square.value ? Xn[e.size.value] : Zn[e.size.value]), o = p(() => {
const n = !!e.gradient.value, a = !!e.color.value, l = e.outline.value;
let i = "", d = "";
if (n && l)
jt.includes(e.gradient.value) ? console.warn(`cannot use outline prop with "${e.gradient.value}" gradient`) : (d = _r.default[e.gradient.value], e.disabled.value || (i = _r.hover[e.gradient.value]));
else if (n)
d = kr.default[e.gradient.value], e.disabled.value || (i = kr.hover[e.gradient.value]);
else if (a && l)
if (ea.includes(e.color.value))
console.warn(`cannot use outline prop with "${e.color.value}" color`);
else {
const h = e.color.value;
d = xr.default[h], e.disabled.value || (i = xr.hover[h]);
}
else {
const h = e.color.value;
d = wr.default[h], e.disabled.value || (i = wr.hover[h]);
}
let b = "";
return e.shadow.value === "" ? e.gradient.value && jt.includes(e.gradient.value) && (b = Cr[e.gradient.value]) : typeof e.shadow.value == "string" && jt.includes(e.shadow.value) && (b = Cr[e.shadow.value]), [
d,
i,
b,
e.pill.value && "!rounded-full",
e.disabled.value && "cursor-not-allowed opacity-50",
n && l ? "p-0.5" : r.value,
(t.prefix || t.suffix || e.loading.value) && "inline-flex items-center",
e.class.value
].filter((h) => h).join(" ");
}), s = p(() => e.gradient.value && e.outline.value ? [
"relative bg-white dark:bg-gray-900 rounded-md inline-flex items-center",
r.value,
e.disabled.value ? "" : "group-hover:bg-opacity-0 transition-all ease-in duration-75"
].filter((n) => n).join(" ") : "");
return {
wrapperClasses: o.value,
spanClasses: s.value
};
}
function ra(e) {
const t = {
xs: "2.5",
sm: "3",
md: "4",
lg: "5",
xl: "6"
}, r = p(() => t[e.size.value]);
return {
color: p(() => e.outline.value ? e.gradient.value ? e.gradient.value.includes("purple") ? "purple" : e.gradient.value.includes("blue") ? "blue" : e.gradient.value.includes("pink") ? "pink" : e.gradient.value.includes("red") ? "red" : "white" : ["alternative", "dark", "light"].includes(e.color.value) ? "white" : e.color.value === "default" ? "blue" : e.color.value : "white"),
size: r
};
}
const oa = {
key: 0,
class: "mr-2"
}, sa = {
key: 0,
class: "mr-2"
}, na = {
key: 1,
class: "ml-2"
}, aa = {
key: 1,
class: "ml-2"
}, la = /* @__PURE__ */ C({
__name: "FwbButton",
props: {
class: { default: "" },
color: { default: "default" },
gradient: { default: null },
size: { default: "md" },
shadow: { default: null },
pill: { type: Boolean, default: !1 },
square: { type: Boolean, default: !1 },
outline: { type: Boolean, default: !1 },
loading: { type: Boolean, default: !1 },
loadingPosition: { default: "prefix" },
disabled: { type: Boolean, default: !1 },
href: { default: "" },
tag: { default: "a" }
},
setup(e) {
const t = e, r = ta(J(t)), o = p(() => ke(r.wrapperClasses)), s = p(() => ke(r.spanClasses)), n = p(() => t.outline && t.gradient), a = p(() => t.loading && t.loadingPosition === "prefix"), l = p(() => t.loading && t.loadingPosition === "suffix"), { color: i, size: d } = ra(J(t)), b = t.tag !== "a" ? he(t.tag) : "a", h = t.href ? b : "button", y = t.tag === "router-link" || t.tag === "nuxt-link" ? "to" : "href";
return (c, x) => (u(), G(te(m(h)), Te({
class: o.value,
[m(y) || ""]: c.href,
disabled: m(h) === "button" && c.disabled
}), {
default: D(() => [
!n.value && (c.$slots.prefix || a.value) ? (u(), g("div", oa, [
a.value ? (u(), G(bt, {
key: 0,
color: m(i),
size: m(d)
}, null, 8, ["color", "size"])) : v(c.$slots, "prefix", { key: 1 })
])) : z("", !0),
f("span", {
class: w(s.value)
}, [
n.value && (c.$slots.prefix || a.value) ? (u(), g("span", sa, [
a.value ? (u(), G(bt, {
key: 0,
color: m(i),
size: m(d)
}, null, 8, ["color", "size"])) : v(c.$slots, "prefix", { key: 1 })
])) : z("", !0),
v(c.$slots, "default"),
n.value && (c.$slots.suffix || l.value) ? (u(), g("span", na, [
l.value ? (u(), G(bt, {
key: 0,
color: m(i),
size: m(d)
}, null, 8, ["color", "size"])) : v(c.$slots, "suffix", { key: 1 })
])) : z("", !0)
], 2),
!n.value && (c.$slots.suffix || l.value) ? (u(), g("div", aa, [
l.value ? (u(), G(bt, {
key: 0,
color: m(i),
size: m(d)
}, null, 8, ["color", "size"])) : v(c.$slots, "suffix", { key: 1 })
])) : z("", !0)
]),
_: 3
}, 16, ["class", "disabled"]));
}
});
const ia = {}, da = {
class: "btn-group inline-flex rounded-md shadow-sm",
role: "group"
};
function ua(e, t) {
return u(), g("div", da, [
v(e.$slots, "default")
]);
}
const Xp = /* @__PURE__ */ ge(ia, [["render", ua]]);
function ca(e) {
const t = p(() => e.variant.value === "default" ? "block max-w-sm bg-white rounded-lg border border-gray-200 shadow-md hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700" : e.variant.value === "image" ? "max-w-sm bg-white rounded-lg border border-gray-200 shadow-md dark:bg-gray-800 dark:border-gray-700" : e.variant.value === "horizontal" ? "flex flex-col items-center bg-white rounded-lg border shadow-md md:flex-row md:max-w-xl hover:bg-gray-100 dark:border-gray-700 dark:bg-gray-800 dark:hover:bg-gray-700" : ""), r = p(
() => e.variant.value === "horizontal" ? "object-cover w-full h-96 rounded-t-lg md:h-auto md:w-48 md:rounded-none md:rounded-l-lg" : ""
);
return {
cardClasses: t,
horizontalImageClasses: r
};
}
const pa = ["alt", "src"], ef = /* @__PURE__ */ C({
__name: "FwbCard",
props: {
href: {
type: String,
default: ""
},
imgAlt: {
type: String,
default: ""
},
imgSrc: {
type: String,
default: ""
},
variant: {
type: String,
default: "default"
}
},
setup(e) {
const t = e, { cardClasses: r, horizontalImageClasses: o } = ca(J(t)), s = p(() => t.href ? "a" : "div");
return (n, a) => (u(), G(te(s.value), {
class: w(m(r)),
href: e.href
}, {
default: D(() => [
e.imgSrc ? (u(), g("img", {
key: 0,
alt: e.imgAlt,
class: w([m(o), "rounded-t-lg"]),
src: e.imgSrc
}, null, 10, pa)) : z("", !0),
f("div", null, [
v(n.$slots, "default")
])
]),
_: 3
}, 8, ["class", "href"]));
}
}), fa = { class: "relative" }, ga = { class: "overflow-hidden relative h-56 rounded-lg sm:h-64 xl:h-80 2xl:h-96" }, ha = ["alt", "src"], ba = {
key: 0,
class: "flex absolute bottom-5 left-1/2 z-30 space-x-3 -translate-x-1/2"
}, ma = ["aria-label", "onClick"], va = ["onClick"], ya = /* @__PURE__ */ f("span", { class: "inline-flex justify-center items-center w-8 h-8 rounded-full sm:w-10 sm:h-10 bg-white/30 dark:bg-gray-800/30 group-hover:bg-white/50 dark:group-hover:bg-gray-800/60 group-focus:ring-4 group-focus:ring-white dark:group-focus:ring-gray-800/70 group-focus:outline-none" }, [
/* @__PURE__ */ f("svg", {
class: "w-5 h-5 text-white sm:w-6 sm:h-6 dark:text-gray-800",
fill: "none",
stroke: "currentColor",
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg"
}, [
/* @__PURE__ */ f("path", {
d: "M15 19l-7-7 7-7",
"stroke-linecap": "round",
"stroke-linejoin": "round",
"stroke-width": "2"
})
]),
/* @__PURE__ */ f("span", { class: "hidden" }, "Previous")
], -1), wa = [
ya
], xa = ["onClick"], ka = /* @__PURE__ */ f("span", { class: "inline-flex justify-center items-center w-8 h-8 rounded-full sm:w-10 sm:h-10 bg-white/30 dark:bg-gray-800/30 group-hover:bg-white/50 dark:group-hover:bg-gray-800/60 group-focus:ring-4 group-focus:ring-white dark:group-focus:ring-gray-800/70 group-focus:outline-none" }, [
/* @__PURE__ */ f("svg", {
class: "w-5 h-5 text-white sm:w-6 sm:h-6 dark:text-gray-800",
fill: "none",
stroke: "currentColor",
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg"
}, [
/* @__PURE__ */ f("path", {
d: "M9 5l7 7-7 7",
"stroke-linecap": "round",
"stroke-linejoin": "round",
"stroke-width": "2"
})
]),
/* @__PURE__ */ f("span", { class: "hidden" }, "Next")
], -1), _a = [
ka
], tf = /* @__PURE__ */ C({
__name: "FwbCarousel",
props: {
pictures: {
type: Array,
default() {
return [];
}
},
noIndicators: {
type: Boolean,
default: !1
},
noControls: {
type: Boolean,
default: !1
},
slide: {
type: Boolean,
default: !1
},
slideInterval: {
type: Number,
default: 3e3
},
animation: {
type: Boolean,
default: !1
}
},
setup(e) {
const t = e, r = V(0), o = V(""), s = V(), n = () => {
s.value = setInterval(function() {
i();
}, t.slideInterval);
}, a = () => {
clearInterval(s.value), n();
}, l = (b) => {
r.value = b, a();
}, i = () => {
r.value !== t.pictures.length - 1 ? r.value++ : r.value = 0, o.value = "right", a();
}, d = () => {
r.value !== 0 ? r.value-- : r.value = t.pictures.length - 1, o.value = "left", a();
};
return Ue(() => {
t.slide && n();
}), (b, h) => (u(), g("div", fa, [
f("div", ga, [
(u(!0), g(Y, null, Le(e.pictures, (y, c) => (u(), g("div", {
key: c,
class: w([c === r.value ? "z-30" : "z-0", "absolute inset-0 -translate-y-0"])
}, [
f("img", {
alt: y.alt,
src: y.src,
class: "block absolute top-1/2 left-1/2 w-full -translate-x-1/2 -translate-y-1/2"
}, null, 8, ha)
], 2))), 128))
]),
e.noIndicators ? z("", !0) : (u(), g("div", ba, [
(u(!0), g(Y, null, Le(e.pictures, (y, c) => (u(), g("button", {
key: c,
"aria-label": "Slide " + c,
class: w([c === r.value ? "bg-white" : "bg-white/50", "w-3 h-3 rounded-full bg-white"]),
"aria-current": "false",
type: "button",
onClick: xt((x) => l(c), ["prevent"])
}, null, 10, ma))), 128))
])),
e.noControls ? z("", !0) : (u(), g(Y, { key: 1 }, [
f("button", {
class: "flex absolute top-0 left-0 z-30 justify-center items-center px-4 h-full cursor-pointer group focus:outline-none",
"data-carousel-prev": "",
type: "button",
onClick: xt(d, ["prevent"])
}, wa, 8, va),
f("button", {
class: "flex absolute top-0 right-0 z-30 justify-center items-center px-4 h-full cursor-pointer group focus:outline-none",
"data-carousel-next": "",
type: "button",
onClick: xt(i, ["prevent"])
}, _a, 8, xa)
], 64))
]));
}
});
var $r;
const rr = typeof window < "u", Ca = (e) => typeof e < "u", $a = (e) => typeof e == "function", Sa = (e) => typeof e == "string", Ht = () => {
};
rr && (($r = window?.navigator) != null && $r.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);
function $t(e) {
return typeof e == "function" ? e() : m(e);
}
function Ta(e) {
return e;
}
function Pa(e, t) {
var r;
if (typeof e == "number")
return e + t;
const o = ((r = e.match(/^-?[0-9]+\.?[0-9]*/)) == null ? void 0 : r[0]) || "", s = e.slice(o.length), n = parseFloat(o) + t;
return Number.isNaN(n) ? e : n + s;
}
function or(e) {
return ss() ? (ns(e), !0) : !1;
}
function za(e) {
return typeof e == "function" ? p(e) : V(e);
}
function Fa(e, t = !0) {
ao() ? Ue(e) : t ? e() : er(e);
}
function Ia(e, t, r = {}) {
const {
immediate: o = !0
} = r, s = V(!1);
let n = null;
function a() {
n && (clearTimeout(n), n = null);
}
function l() {
s.value = !1, a();
}
function i(...d) {
a(), s.value = !0, n = setTimeout(() => {
s.value = !1, n = null, e(...d);
}, $t(t));
}
return o && (s.value = !0, rr && i()), or(l), {
isPending: s,
start: i,
stop: l
};
}
function Aa(e = !1, t = {}) {
const {
truthyValue: r = !0,
falsyValue: o = !1
} = t, s = Xt(e), n = V(e);
function a(l) {
if (arguments.length)
return n.value = l, n.value;
{
const i = $t(r);
return n.value = n.value === i ? $t(o) : i, n.value;
}
}
return s ? a : [n, a];
}
function rt(e) {
var t;
const r = $t(e);
return (t = r?.$el) != null ? t : r;
}
const At = rr ? window : void 0;
function mt(...e) {
let t, r, o, s;
if (Sa(e[0]) ? ([r, o, s] = e, t = At) : [t, r, o, s] = e, !t)
return Ht;
let n = Ht;
const a = Ct(() => rt(t), (i) => {
n(), i && (i.addEventListener(r, o, s), n = () => {
i.removeEventListener(r, o, s), n = Ht;
});
}, { immediate: !0, flush: "post" }), l = () => {
a(), n();
};
return or(l), l;
}
function Ba(e, t, r = {}) {
const { window: o = At, ignore: s, capture: n = !0, detectIframe: a = !1 } = r;
if (!o)
return;
const l = V(!0);
let i;
const d = (c) => {
o.clearTimeout(i);
const x = rt(e);
!x || x === c.target || c.composedPath().includes(x) || !l.value || t(c);
}, b = (c) => s && s.some((x) => {
const k = rt(x);
return k && (c.target === k || c.composedPath().includes(k));
}), h = [
mt(o, "click", d, { passive: !0, capture: n }),
mt(o, "pointerdown", (c) => {
const x = rt(e);
l.value = !!x && !c.composedPath().includes(x) && !b(c);
}, { passive: !0 }),
mt(o, "pointerup", (c) => {
if (c.button === 0) {
const x = c.composedPath();
c.composedPath = () => x, i = o.setTimeout(() => d(c), 50);
}
}, { passive: !0 }),
a && mt(o, "blur", (c) => {
var x;
const k = rt(e);
((x = document.activeElement) == null ? void 0 : x.tagName) === "IFRAME" && !k?.contains(document.activeElement) && t(c);
})
].filter(Boolean);
return () => h.forEach((c) => c());
}
function Oa(e, t = !1) {
const r = V(), o = () => r.value = !!e();
return o(), Fa(o, t), r;
}
function et(e, t = {}) {
const { window: r = At } = t, o = Oa(() => r && "matchMedia" in r && typeof r.matchMedia == "function");
let s;
const n = V(!1), a = () => {
s && ("removeEventListener" in s ? s.removeEventListener("change", l) : s.removeListener(l));
}, l = () => {
o.value && (a(), s = r.matchMedia(za(e).value), n.value = s.matches, "addEventListener" in s ? s.addEventListener("change", l) : s.addListener(l));
};
return as(l), or(() => a()), n;
}
const ko = {
sm: 640,
md: 768,
lg: 1024,
xl: 1280,
"2xl": 1536
};
var Ma = Object.defineProperty, Sr = Object.getOwnPropertySymbols, La = Object.prototype.hasOwnProperty, Ea = Object.prototype.propertyIsEnumerable, Tr = (e, t, r) => t in e ? Ma(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Na = (e, t) => {
for (var r in t || (t = {}))
La.call(t, r) && Tr(e, r, t[r]);
if (Sr)
for (var r of Sr(t))
Ea.call(t, r) && Tr(e, r, t[r]);
return e;
};
function _o(e, t = {}) {
function r(l, i) {
let d = e[l];
return i != null && (d = Pa(d, i)), typeof d == "number" && (d = `${d}px`), d;
}
const { window: o = At } = t;
function s(l) {
return o ? o.matchMedia(l).matches : !1;
}
const n = (l) => et(`(min-width: ${r(l)})`, t), a = Object.keys(e).reduce((l, i) => (Object.defineProperty(l, i, {
get: () => n(i),
enumerable: !0,
configurable: !0
}), l), {});
return Na({
greater(l) {
return et(`(min-width: ${r(l, 0.1)})`, t);
},
greaterOrEqual: n,
smaller(l) {
return et(`(max-width: ${r(l, -0.1)})`, t);
},
smallerOrEqual(l) {
return et(`(max-width: ${r(l)})`, t);
},
between(l, i) {
return et(`(min-width: ${r(l)}) and (max-width: ${r(i, -0.1)})`, t);
},
isGreater(l) {
return s(`(min-width: ${r(l, 0.1)})`);
},
isGreaterOrEqual(l) {
return s(`(min-width: ${r(l)})`);
},
isSmaller(l) {
return s(`(max-width: ${r(l, -0.1)})`);
},
isSmallerOrEqual(l) {
return s(`(max-width: ${r(l)})`);
},
isInBetween(l, i) {
return s(`(min-width: ${r(l)}) and (max-width: ${r(i, -0.1)})`);
}
}, a);
}
function Ra(e) {
return JSON.parse(JSON.stringify(e));
}
const Pr = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, zr = "__vueuse_ssr_handlers__";
Pr[zr] = Pr[zr] || {};
var Fr;
(function(e) {
e.UP = "UP", e.RIGHT = "RIGHT", e.DOWN = "DOWN", e.LEFT = "LEFT", e.NONE = "NONE";
})(Fr || (Fr = {}));
var Va = Object.defineProperty, Ir = Object.getOwnPropertySymbols, ja = Object.prototype.hasOwnProperty, Ha = Object.prototype.propertyIsEnumerable, Ar = (e, t, r) => t in e ? Va(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Da = (e, t) => {
for (var r in t || (t = {}))
ja.call(t, r) && Ar(e, r, t[r]);
if (Ir)
for (var r of Ir(t))
Ha.call(t, r) && Ar(e, r, t[r]);
return e;
};
const Ga = {
easeInSine: [0.12, 0, 0.39, 0],
easeOutSine: [0.61, 1, 0.88, 1],
easeInOutSine: [0.37, 0, 0.63, 1],
easeInQuad: [0.11, 0, 0.5, 0],
easeOutQuad: [0.5, 1, 0.89, 1],
easeInOutQuad: [0.45, 0, 0.55, 1],
easeInCubic: [0.32, 0, 0.67, 0],
easeOutCubic: [0.33, 1, 0.68, 1],
easeInOutCubic: [0.65, 0, 0.35, 1],
easeInQuart: [0.5, 0, 0.75, 0],
easeOutQuart: [0.25, 1, 0.5, 1],
easeInOutQuart: [0.76, 0, 0.24, 1],
easeInQuint: [0.64, 0, 0.78, 0],
easeOutQuint: [0.22, 1, 0.36, 1],
easeInOutQuint: [0.83, 0, 0.17, 1],
easeInExpo: [0.7, 0, 0.84, 0],
easeOutExpo: [0.16, 1, 0.3, 1],
easeInOutExpo: [0.87, 0, 0.13, 1],
easeInCirc: [0.55, 0, 1, 0.45],
easeOutCirc: [0, 0.55, 0.45, 1],
easeInOutCirc: [0.85, 0, 0.15, 1],
easeInBack: [0.36, 0, 0.66, -0.56],
easeOutBack: [0.34, 1.56, 0.64, 1],
easeInOutBack: [0.68, -0.6, 0.32, 1.6]
};
Da({
linear: Ta
}, Ga);
function Co(e, t, r, o = {}) {
var s, n, a;
const {
clone: l = !1,
passive: i = !1,
eventName: d,
deep: b = !1,
defaultValue: h
} = o, y = ao(), c = r || y?.emit || ((s = y?.$emit) == null ? void 0 : s.bind(y)) || ((a = (n = y?.proxy) == null ? void 0 : n.$emit) == null ? void 0 : a.bind(y?.proxy));
let x = d;
t || (t = "modelValue"), x = d || x || `update:${t.toString()}`;
const k = (T) => l ? $a(l) ? l(T) : Ra(T) : T, $ = () => Ca(e[t]) ? k(e[t]) : h;
if (i) {
const T = $(), S = V(T);
return Ct(() => e[t], (I) => S.value = k(I)), Ct(S, (I) => {
(I !== e[t] || b) && c(x, I);
}, { deep: b }), S;
} else
return p({
get() {
return $();
},
set(T) {
c(x, T);
}
});
}
var Wa = typeof global == "object" && global && global.Object === Object && global;
const Ua = Wa;
var qa = typeof self == "object" && self && self.Object === Object && self, Ka = Ua || qa || Function("return this")();
const sr = Ka;
var Ya = sr.Symbol;
const $e = Ya;
var $o = Object.prototype, Ja = $o.hasOwnProperty, Qa = $o.toString, tt = $e ? $e.toStringTag : void 0;
function Za(e) {
var t = Ja.call(e, tt), r = e[tt];
try {
e[tt] = void 0;
var o = !0;
} catch {
}
var s = Qa.call(e);
return o && (t ? e[tt] = r : delete e[tt]), s;
}
var Xa = Object.prototype, el = Xa.toString;
function tl(e) {
return el.call(e);
}
var rl = "[object Null]", ol = "[object Undefined]", Br = $e ? $e.toStringTag : void 0;
function nr(e) {
return e == null ? e === void 0 ? ol : rl : Br && Br in Object(e) ? Za(e) : tl(e);
}
function ar(e) {
return e != null && typeof e == "object";
}
var sl = "[object Symbol]";
function lr(e) {
return typeof e == "symbol" || ar(e) && nr(e) == sl;
}
function nl(e, t) {
for (var r = -1, o = e == null ? 0 : e.length, s = Array(o); ++r < o; )
s[r] = t(e[r], r, e);
return s;
}
var al = Array.isArray;
const Ke = al;
var ll = 1 / 0, Or = $e ? $e.prototype : void 0, Mr = Or ? Or.toString : void 0;
function So(e) {
if (typeof e == "string")
return e;
if (Ke(e))
return nl(e, So) + "";
if (lr(e))
return Mr ? Mr.call(e) : "";
var t = e + "";
return t == "0" && 1 / e == -ll ? "-0" : t;
}
function St(e) {
var t = typeof e;
return e != null && (t == "object" || t == "function");
}
function il(e) {
return e;
}
var dl = "[object AsyncFunction]", ul = "[object Function]", cl = "[object GeneratorFunction]", pl = "[object Proxy]";
function fl(e) {
if (!St(e))
return !1;
var t = nr(e);
return t == ul || t == cl || t == dl || t == pl;
}
var gl = sr["__core-js_shared__"];
const Dt = gl;
var Lr = function() {
var e = /[^.]+$/.exec(Dt && Dt.keys && Dt.keys.IE_PROTO || "");
return e ? "Symbol(src)_1." + e : "";
}();
function hl(e) {
return !!Lr && Lr in e;
}
var bl = Function.prototype, ml = bl.toString;
function vl(e) {
if (e != null) {
try {
return ml.call(e);
} catch {
}
try {
return e + "";
} catch {
}
}
return "";
}
var yl = /[\\^$.*+?()[\]{}|]/g, wl = /^\[object .+?Constructor\]$/, xl = Function.prototype, kl = Object.prototype, _l = xl.toString, Cl = kl.hasOwnProperty, $l = RegExp(
"^" + _l.call(Cl).replace(yl, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
);
function Sl(e) {
if (!St(e) || hl(e))
return !1;
var t = fl(e) ? $l : wl;
return t.test(vl(e));
}
function Tl(e, t) {
return e?.[t];
}
function ir(e, t) {
var r = Tl(e, t);
return Sl(r) ? r : void 0;
}
function Pl(e, t, r) {
switch (r.length) {
case 0:
return e.call(t);
case 1:
return e.call(t, r[0]);
case 2:
return e.call(t, r[0], r[1]);
case 3:
return e.call(t, r[0], r[1], r[2]);
}
return e.apply(t, r);
}
var zl = 800, Fl = 16, Il = Date.now;
function Al(e) {
var t = 0, r = 0;
return function() {
var o = Il(), s = Fl - (o - r);
if (r = o, s > 0) {
if (++t >= zl)
return arguments[0];
} else
t = 0;
return e.apply(void 0, arguments);
};
}
function Bl(e) {
return function() {
return e;
};
}
var Ol = function() {
try {
var e = ir(Object, "defineProperty");
return e({}, "", {}), e;
} catch {
}
}();
const Tt = Ol;
var Ml = Tt ? function(e, t) {
return Tt(e, "toString", {
configurable: !0,
enumerable: !1,
value: Bl(t),
writable: !0
});
} : il;
const Ll = Ml;
var El = Al(Ll);
const Nl = El;
var Rl = 9007199254740991, Vl = /^(?:0|[1-9]\d*)$/;
function To(e, t) {
var r = typeof e;
return t = t ?? Rl, !!t && (r == "number" || r != "symbol" && Vl.test(e)) && e > -1 && e % 1 == 0 && e < t;
}
function jl(e, t, r) {
t == "__proto__" && Tt ? Tt(e, t, {
configurable: !0,
enumerable: !0,
value: r,
writable: !0
}) : e[t] = r;
}
function Po(e, t) {
return e === t || e !== e && t !== t;
}
var Hl = Object.prototype, Dl = Hl.hasOwnProperty;
function Gl(e, t, r) {
var o = e[t];
(!(Dl.call(e, t) && Po(o, r)) || r === void 0 && !(t in e)) && jl(e, t, r);
}
var Er = Math.max;
function Wl(e, t, r) {
return t = Er(t === void 0 ? e.length - 1 : t, 0), function() {
for (var o = arguments, s = -1, n = Er(o.length - t, 0), a = Array(n); ++s < n; )
a[s] = o[t + s];
s = -1;
for (var l = Array(t + 1); ++s < t; )
l[s] = o[s];
return l[t] = r(a), Pl(e, this, l);
};
}
var Ul = 9007199254740991;
function ql(e) {
return typeof e == "number" && e > -1 && e % 1 == 0 && e <= Ul;
}
var Kl = "[object Arguments]";
function Nr(e) {
return ar(e) && nr(e) == Kl;
}
var zo = Object.prototype, Yl = zo.hasOwnProperty, Jl = zo.propertyIsEnumerable, Ql = Nr(function() {
return arguments;
}()) ? Nr : function(e) {
return ar(e) && Yl.call(e, "callee") && !Jl.call(e, "callee");
};
const Fo = Ql;
var Zl = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, Xl = /^\w*$/;
function ei(e, t) {
if (Ke(e))
return !1;
var r = typeof e;
return r == "number" || r == "symbol" || r == "boolean" || e == null || lr(e) ? !0 : Xl.test(e) || !Zl.test(e) || t != null && e in Object(t);
}
var ti = ir(Object, "create");
const dt = ti;
function ri() {
this.__data__ = dt ? dt(null) : {}, this.size = 0;
}
function oi(e) {
var t = this.has(e) && delete this.__data__[e];
return this.size -= t ? 1 : 0, t;
}
var si = "__lodash_hash_undefined__", ni = Object.prototype, ai = ni.hasOwnProperty;
function li(e) {
var t = this.__data__;
if (dt) {
var r = t[e];
return r === si ? void 0 : r;
}
return ai.call(t, e) ? t[e] : void 0;
}
var ii = Object.prototype, di = ii.hasOwnProperty;
function ui(e) {
var t = this.__data__;
return dt ? t[e] !== void 0 : di.call(t, e);
}
var ci = "__lodash_hash_undefined__";
function pi(e, t) {
var r = this.__data__;
return this.size += this.has(e) ? 0 : 1, r[e] = dt && t === void 0 ? ci : t, this;
}
function Ee(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.clear(); ++t < r; ) {
var o = e[t];
this.set(o[0], o[1]);
}
}
Ee.prototype.clear = ri;
Ee.prototype.delete = oi;
Ee.prototype.get = li;
Ee.prototype.has = ui;
Ee.prototype.set = pi;
function fi() {
this.__data__ = [], this.size = 0;
}
function Bt(e, t) {
for (var r = e.length; r--; )
if (Po(e[r][0], t))
return r;
return -1;
}
var gi = Array.prototype, hi = gi.splice;
function bi(e) {
var t = this.__data__, r = Bt(t, e);
if (r < 0)
return !1;
var o = t.length - 1;
return r == o ? t.pop() : hi.call(t, r, 1), --this.size, !0;
}
function mi(e) {
var t = this.__data__, r = Bt(t, e);
return r < 0 ? void 0 : t[r][1];
}
function vi(e) {
return Bt(this.__data__, e) > -1;
}
function yi(e, t) {
var r = this.__data__, o = Bt(r, e);
return o < 0 ? (++this.size, r.push([e, t])) : r[o][1] = t, this;
}
function Ye(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.clear(); ++t < r; ) {
var o = e[t];
this.set(o[0], o[1]);
}
}
Ye.prototype.clear = fi;
Ye.prototype.delete = bi;
Ye.prototype.get = mi;
Ye.prototype.has = vi;
Ye.prototype.set = yi;
var wi = ir(sr, "Map");
const xi = wi;
function ki() {
this.size = 0, this.__data__ = {
hash: new Ee(),
map: new (xi || Ye)(),
string: new Ee()
};
}
function _i(e) {
var t = typeof e;
return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;
}
function Ot(e, t) {
var r = e.__data__;
return _i(t) ? r[typeof t == "string" ? "string" : "hash"] : r.map;
}
function Ci(e) {
var t = Ot(this, e).delete(e);
return this.size -= t ? 1 : 0, t;
}
function $i(e) {
return Ot(this, e).get(e);
}
function Si(e) {
return Ot(this, e).has(e);
}
function Ti(e, t) {
var r = Ot(this, e), o = r.size;
return r.set(e, t), this.size += r.size == o ? 0 : 1, this;
}
function Re(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.clear(); ++t < r; ) {
var o = e[t];
this.set(o[0], o[1]);
}
}
Re.prototype.clear = ki;
Re.prototype.delete = Ci;
Re.prototype.get = $i;
Re.prototype.has = Si;
Re.prototype.set = Ti;
var Pi = "Expected a function";
function dr(e, t) {
if (typeof e != "function" || t != null && typeof t != "function")
throw new TypeError(Pi);
var r = function() {
var o = arguments, s = t ? t.apply(this, o) : o[0], n = r.cache;
if (n.has(s))
return n.get(s);
var a = e.apply(this, o);
return r.cache = n.set(s, a) || n, a;
};
return r.cache = new (dr.Cache || Re)(), r;
}
dr.Cache = Re;
var zi = 500;
function Fi(e) {
var t = dr(e, function(o) {
return r.size === zi && r.clear(), o;
}), r = t.cache;
return t;
}
var Ii = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, Ai = /\\(\\)?/g, Bi = Fi(function(e) {
var t = [];
return e.charCodeAt(0) === 46 && t.push(""), e.replace(Ii, function(r, o, s, n) {
t.push(s ? n.replace(Ai, "$1") : o || r);
}), t;
});
const Oi = Bi;
function Mi(e) {
return e == null ? "" : So(e);
}
function Mt(e, t) {
return Ke(e) ? e : ei(e, t) ? [e] : Oi(Mi(e));
}
var Li = 1 / 0;
function ur(e) {
if (typeof e == "string" || lr(e))
return e;
var t = e + "";
return t == "0" && 1 / e == -Li ? "-0" : t;
}
function Ei(e, t) {
t = Mt(t, e);
for (var r = 0, o = t.length; e != null && r < o; )
e = e[ur(t[r++])];
return r && r == o ? e : void 0;
}
function Ni(e, t) {
for (var r = -1, o = t.length, s = e.length; ++r < o; )
e[s + r] = t[r];
return e;
}
var Rr = $e ? $e.isConcatSpreadable : void 0;
function Ri(e) {
return Ke(e) || Fo(e) || !!(Rr && e && e[Rr]);
}
function Io(e, t, r, o, s) {
var n = -1, a = e.length;
for (r || (r = Ri), s || (s = []); ++n < a; ) {
var l = e[n];
t > 0 && r(l) ? t > 1 ? Io(l, t - 1, r, o, s) : Ni(s, l) : o || (s[s.length] = l);
}
return s;
}
function Vi(e) {
var t = e == null ? 0 : e.length;
return t ? Io(e, 1) : [];
}
function ji(e) {
return Nl(Wl(e, void 0, Vi), e + "");
}
function Hi(e, t) {
return e != null && t in Object(e);
}
function Di(e, t, r) {
t = Mt(t, e);
for (var o = -1, s = t.length, n = !1; ++o < s; ) {
var a = ur(t[o]);
if (!(n = e != null && r(e, a)))
break;
e = e[a];
}
return n || ++o != s ? n : (s = e == null ? 0 : e.length, !!s && ql(s) && To(a, s) && (Ke(e) || Fo(e)));
}
function Gi(e, t) {
return e != null && Di(e, t, Hi);
}
function Wi(e, t, r, o) {
if (!St(e))
return e;
t = Mt(t, e);
for (var s = -1, n = t.length, a = n - 1, l = e; l != null && ++s < n; ) {
var i = ur(t[s]), d = r;
if (i === "__proto__" || i === "constructor" || i === "prototype")
return e;
if (s != a) {
var b = l[i];
d = o ? o(b, i, l) : void 0, d === void 0 && (d = St(b) ? b : To(t[s + 1]) ? [] : {});
}
Gl(l, i, d), l = l[i];
}
return e;
}
function Ui(e, t, r) {
for (var o = -1, s = t.length, n = {}; ++o < s; ) {
var a = t[o], l = Ei(e, a);
r(l, a) && Wi(n, Mt(a, e), l);
}
return n;
}
function qi(e, t) {
return Ui(e, t, function(r, o) {
return Gi(e, o);
});
}
var Ki = ji(function(e, t) {
return e == null ? {} : qi(e, t);
});
const Yi = Ki;
function Pt(e, t = !0, r = []) {
return e.forEach((o) => {
if (o !== null) {
if (typeof o != "object") {
(typeof o == "string" || typeof o == "number") && r.push(re(String(o)));
return;
}
if (Array.isArray(o)) {
Pt(o, t, r);
return;
}
if (o.type === Y) {
if (o.children === null)
return;
Array.isArray(o.children) && Pt(o.children, t, r);
} else
o.type !== ls && r.push(o);
}
}), r;
}
function Ji(e, t = "default", r = void 0) {
const o = e[t];
if (!o)
return console.warn("getFirstSlotVNode", `slot[${t}] is empty`), null;
const s = Pt(o(r));
return s.length === 1 ? s[0] : (console.warn("getFirstSlotVNode", `slot[${t}] should have exactly one child`), null);
}
const Qi = {
focus: ["onFocus", "onBlur"],
click: ["onClick"],
hover: ["onMouseenter", "onMouseleave"]
};
function Zi(e, t) {
Object.entries(Qi).forEach(([, r]) => {
r.forEach((o) => {
e.props ? e.props = Object.assign({}, e.props) : e.props = {};
const s = e.props[o], n = t[o];
s ? e.props[o] = (...a) => {
s(...a), n(...a);
} : e.props[o] = n;
});
});
}
const Vr = C({
name: "SlotListener",
props: {
trigger: {
type: String,
default: "click"
}
},
emits: ["click", "focus", "blur", "mouseenter", "mouseleave"],
setup(e, { emit: t }) {
return {
handleClick: (l) => {
t("click", l);
},
handleBlur: (l) => {
t("blur", l);
},
handleFocus: (l) => {
t("focus", l);
},
handleMouseLeave: (l) => {
t("mouseleave", l);
},
handleMouseEnter: (l) => {
t("mouseenter", l);
}
};
},
render() {
const {
$slots: e
} = this, t = {
onClick: this.handleClick,
onMouseenter: this.handleMouseEnter,
onMouseleave: this.handleMouseLeave,
onFocus: this.handleFocus,
onBlur: this.handleBlur
}, r = Ji(e, "default"), o = [
t
];
return r?.props && o.push(
Yi(r.props, "onClick", "onMouseenter", "onMouseleave", "onFocus", "onBlur")
), r && Zi(
r,
{
onBlur: (n) => {
o.forEach((a) => {
a?.onBlur?.(n);
});
},
onFocus: (n) => {
o.forEach((a) => {
a?.onFocus?.(n);
});
},
onClick: (n) => {
o.forEach((a) => {
a?.onClick?.(n);
});
},
onMouseenter: (n) => {
o.forEach((a) => {
a?.onMouseenter?.(n);
});
},
onMouseleave: (n) => {
o.forEach((a) => {
a?.onMouseleave?.(n);
});
}
}
), r;
}
}), Xi = "absolute z-10 bg-white divide-y divide-gray-100 rounded shadow dark:bg-gray-700", vt = 8, ed = {
bottom: "",
left: "top-0",
right: "top-0",
top: ""
}, td = {
bottom(e) {
return `bottom: -${e.height + vt}px;`;
},
left(e) {
return `left: -${e.width + vt}px;`;
},
right(e) {
return `right: -${e.width + vt}px;`;
},
top(e) {
return `top: -${e.height + vt}px;`;
}
};
function rd(e) {
Ct(e.visible, (s) => {
s && er(() => r());
});
const t = V(""), r = () => {
const s = e.contentRef.value?.getBoundingClientRect();
if (!s) {
t.value = "";
return;
}
t.value = td[e.placement.value](s);
};
return {
contentClasses: p(() => W(
Xi,
ed[e.placement.value]
)),
contentStyles: t
};
}
const od = (e) => (io("data-v-7ea3917f"), e = e(), uo(), e), sd = { class: "inline-flex items-center" }, nd = /* @__PURE__ */ od(() => /* @__PURE__ */ f("svg", {
class: "w-4 h-4 ml-2",
fill: "none",
stroke: "currentColor",
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg"
}, [
/* @__PURE__ */ f("path", {
d: "M19 9l-7 7-7-7",
"stroke-linecap": "round",
"stroke-linejoin": "round",
"stroke-width": "2"
})
], -1)), ad = /* @__PURE__ */ C({
__name: "FwbDropdown",
props: {
placement: { default: "bottom" },
text: { default: "" },
transition: { default: "" }
},
setup(e) {
const t = e, r = V(!1), o = () => r.value = !1, s = () => r.value = !r.value, n = {
bottom: "to-bottom",
left: "to-left",
right: "to-right",
top: "to-top"
}, a = p(() => t.transition === null ? n[t.placement] : t.transition), l = V(), i = V(), { contentClasses: d, contentStyles: b } = rd({
placement: it(t, "placement"),
visible: r,
contentRef: l
});
return Ba(i, () => {
r.value && (r.value = !1);
}), (h, y) => (u(), g("div", {
ref_key: "wrapper",
ref: i,
class: "inline-flex relative"
}, [
f("div", sd, [
Be(Vr, { onClick: s }, {
default: D(() => [
v(h.$slots, "trigger", {}, () => [
Be(la, null, {
suffix: D(() => [
nd
]),
default: D(() => [
re(O(h.text) + " ", 1)
]),
_: 1
})
], !0)
]),
_: 3
})
]),
Be(lo, { name: a.value }, {
default: D(() => [
r.value ? (u(), g("div", {
key: 0,
ref_key: "content",
ref: l,
class: w([m(d)]),
style: ot(m(b))
}, [
Be(Vr, { onClick: o }, {
default: D(() => [
v(h.$slots, "default", {}, void 0, !0)
]),
_: 3
})
], 6)) : z("", !0)
]),
_: 3
}, 8, ["name"])
], 512));
}
});
const rf = /* @__PURE__ */ ge(ad, [["__scopeId", "data-v-7ea3917f"]]), of = /* @__PURE__ */ C({
inheritAttrs: !1,
__name: "FwbFooter",
props: {
sticky: { type: Boolean, default: !1 },
footerType: { default: "default" }
},
setup(e) {
const t = e, r = de(), o = E(
t.footerType === "sitemap" && "bg-gray-800",
t.footerType === "socialmedia" && "p-4 bg-white sm:p-6 dark:bg-gray-800",
t.footerType === "logo" && "p-4 bg-white rounded-lg shadow md:px-6 md:py-8 dark:bg-gray-800",
t.footerType === "default" && "p-4 bg-white rounded-lg shadow md:flex md:items-center md:justify-between md:p-6 dark:bg-gray-800",
t.sticky && "absolute bottom-0 left-0 z-20 w-full border-t border-gray-200 dark:border-gray-600",
r.class
);
return (s, n) => (u(), g("footer", ne(s.$attrs, { class: m(o) }), [
v(s.$slots, "default")
], 16));
}
}), ld = ["href"], id = ["alt", "src"], sf = /* @__PURE__ */ C({
inheritAttrs: !1,
__name: "FwbFooterBrand",
props: {
href: { default: "" },
src: { default: "" },
alt: { default: "" },
name: { default: "" },
imageClass: { default: "" },
nameClass: { default: "" },
aClass: { default: "" }
},
setup(e) {
const t = e, r = de(), o = E("mb-6 md:mb-0", r.class), s = E("flex items-center", t.aClass), n = E("h-8 mr-3", t.imageClass), a = E("self-center text-2xl font-semibold whitespace-nowrap dark:text-white", t.nameClass);
return (l, i) => (u(), g("div", ne({ class: m(o) }, l.$attrs), [
f("a", {
class: w(m(s)),
href: l.href
}, [
f("img", {
alt: l.alt,
class: w(m(n)),
src: l.src
}, null, 10, id),
f("span", {
class: w(m(a))
}, O(l.name), 3)
], 10, ld)
], 16));
}
}), nf = /* @__PURE__ */ C({
inheritAttrs: !1,
__name: "FwbFooterCopyright",
props: {
year: { default: (/* @__PURE__ */ new Date()).getFullYear() },
by: { default: "" },
href: { default: "" },
aClass: { default: "" },
copyrightMessage: { default: "All Rights Reserved." }
},
setup(e) {
const t = e, r = de(), o = E("block text-sm text-gray-500 sm:text-center dark:text-gray-400", r.class), s = E(t.href ? "hover:underline" : "ml-1", t.aClass), n = t.href ? "a" : "span";
return (a, l) => (u(), g("span", ne(a.$attrs, { class: m(o) }), [
re(" © " + O(a.year) + " ", 1),
(u(), G(te(m(n)), {
class: w(m(s)),
href: a.href
}, {
default: D(() => [
re(O(a.by), 1)
]),
_: 1
}, 8, ["class", "href"])),
re(" " + O(a.copyrightMessage), 1)
], 16));
}
}), dd = { class: "sr-only" }, af = /* @__PURE__ */ C({
inheritAttrs: !1,
__name: "FwbFooterIcon",
props: {
href: { default: "" },
ariaLabel: { default: "" },
srText: { default: "" }
},
setup(e) {
const t = e, r = de(), o = t.href ? "a" : "span", s = E("text-gray-500 hover:text-gray-900 dark:hover:text-white", r.class);
return (n, a) => (u(), G(te(m(o)), ne({
"aria-label": n.ariaLabel,
class: m(s),
href: n.href
}, n.$attrs), {
default: D(() => [
v(n.$slots, "default"),
f("span", dd, O(n.srText), 1)
]),
_: 3
}, 16, ["aria-label", "class", "href"]));
}
}), lf = /* @__PURE__ */ C({
inheritAttrs: !1,
__name: "FwbFooterLink",
props: {
href: { default: "" },
aClass: { default: "" },
component: { default: "a" }
},
setup(e) {
const t = e, r = de(), o = t.component === "a" ? "a" : he(t.component), s = t.component === "router-link" ? "to" : "href", n = E("hover:underline", t.aClass), a = E("mr-4 md:mr-6 last:mr-0", r.class);
return (l, i) => (u(), g("li", ne(l.$attrs, { class: m(a) }), [
(u(), G(te(m(o)), Te({
[m(s) || ""]: l.href,
class: m(n)
}), {
default: D(() => [
v(l.$slots, "default")
]),
_: 3
}, 16, ["class"]))
], 16));
}
}), df = /* @__PURE__ */ C({
inheritAttrs: !1,
__name: "FwbFooterLinkGroup",
setup(e) {
const t = de(), r = E("flex flex-wrap items-center mt-3 text-sm font-medium text-gray-500 dark:text-gray-400 sm:mt-0", t.class);
return (o, s) => (u(), g("ul", ne(o.$attrs, { class: m(r) }), [
v(o.$slots, "default")
], 16));
}
}), ud = "overflow-hidden w-48 text-sm font-medium text-gray-900 bg-white border border-gray-200 rounded-lg dark:bg-gray-700 dark:border-gray-600 dark:text-white";
function cd() {
return {
containerClasses: p(() => W(
ud
))
};
}
const uf = /* @__PURE__ */ C({
__name: "FwbListGroup",
setup(e) {
const { containerClasses: t } = cd();
return (r, o) => (u(), g("ul", {
class: w(m(t))
}, [
v(r.$slots, "default")
], 2));
}
}), pd = {
border: (e) => e.substring(0, e.lastIndexOf("-"))
}, fd = (e, t = pd) => {
const o = Object.keys(t).find((s) => e.includes(s));
return o ? t[o](e) : e.substring(0, e.indexOf("-"));
};
function se(...e) {
return e.filter((t) => t).reduce((t, r) => {
const o = Array.isArray(r) ? Array.from(r).map((b) => b.split(" ")).flat() : r.split(" "), s = o.map((b) => fd(b)), n = s.filter((b) => !t.types.includes(b)), l = [...s.filter((b) => t.types.includes(b)), ...n], i = [.../* @__PURE__ */ new Set([...t.types, ...l])], d = i.map((b) => {
if (l.includes(b)) {
const y = s.indexOf(b);
if (y >= 0)
return o[y] || "";
}
const h = t.types.indexOf(b);
return h >= 0 && t.classes[h] || "";
}).filter((b) => !!b);
return {
types: i,
classes: d
};
}, { types: [], classes: [] }).classes.join(" ");
}
const gd = "inline-flex items-center w-full px-4 py-2 border-b border-gray-200 dark:border-gray-600", hd = "block w-full px-4 py-2 cursor-pointer hover:bg-gray-100 hover:text-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-700 focus:text-blue-700 dark:hover:bg-gray-600 dark:hover:text-white dark:focus:ring-gray-500 dark:focus:text-white", bd = "bg-gray-100 cursor-not-allowed dark:bg-gray-600 dark:text-gray-400";
function md(e) {
return {
itemClasses: p(() => se(
gd,
e.disabled.value ? bd : "",
!e.disabled.value && e.hover.value ? hd : ""
))
};
}
const vd = {
key: 0,
class: "mr-2"
}, yd = {
key: 1,
class: "ml-2"
}, cf = /* @__PURE__ */ C({
__name: "FwbListGroupItem",
props: {
hover: {
type: Boolean,
default: !1
},
disabled: {
type: Boolean,
default: !1
}
},
setup(e) {
const t = e, { itemClasses: r } = md(J(t));
return (o, s) => (u(), g("li", {
class: w(m(r))
}, [
o.$slots.prefix ? (u(), g("div", vd, [
v(o.$slots, "prefix")
])) : z("", !0),
v(o.$slots, "default"),
o.$slots.suffix ? (u(), g("div", yd, [
v(o.$slots, "suffix")
])) : z("", !0)
], 2));
}
}), wd = /* @__PURE__ */ f("div", { class: "bg-gray-900 bg-opacity-50 dark:bg-opacity-80 fixed inset-0 z-40" }, null, -1), xd = ["onClick", "onKeyup"], kd = { class: "relative bg-white rounded-lg shadow dark:bg-gray-700" }, _d = /* @__PURE__ */ f("svg", {
class: "w-5 h-5",
fill: "currentColor",
viewBox: "0 0 20 20",
xmlns: "http://www.w3.org/2000/svg"
}, [
/* @__PURE__ */ f("path", {
"clip-rule": "evenodd",
d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
"fill-rule": "evenodd"
})
], -1), Cd = {
key: 0,
class: "p-6 rounded-b border-gray-200 border-t dark:border-gray-600"
}, pf = /* @__PURE__ */ C({
__name: "FwbModal",
props: {
notEscapable: { type: Boolean, default: !1 },
persistent: { type: Boolean, default: !1 },
size: { default: "2xl" }
},
emits: ["close", "click:outside"],
setup(e, { emit: t }) {
const r = e, o = {
xs: "max-w-xs",
sm: "max-w-sm",
md: "max-w-md",
lg: "max-w-lg",
xl: "max-w-xl",
"2xl": "max-w-2xl",
"3xl": "max-w-3xl",
"4xl": "max-w-4xl",
"5xl": "max-w-5xl",
"6xl": "max-w-6xl",
"7xl": "max-w-7xl"
};
function s() {
t("close");
}
function n() {
r.persistent || (t("click:outside"), s());
}
function a() {
!r.notEscapable && !r.persistent && s();
}
const l = V(null);
return Ue(() => {
l.value && l.value.focus();
}), (i, d) => (u(), g("div", null, [
wd,
f("div", {
ref_key: "modalRef",
ref: l,
class: "overflow-y-auto overflow-x-hidden fixed top-0 right-0 left-0 z-50 w-full md:inset-0 h-modal md:h-full justify-center items-center flex",
tabindex: "0",
onClick: xt(n, ["self"]),
onKeyup: co(a, ["esc"])
}, [
f("div", {
class: w([`${o[i.size]}`, "relative p-4 w-full h-full"])
}, [
f("div", kd, [
f("div", {
class: w([i.$slots.header ? "border-b border-gray-200 dark:border-gray-600" : "", "p-4 rounded-t flex justify-between items-center"])
}, [
v(i.$slots, "header"),
i.persistent ? z("", !0) : (u(), g("button", {
key: 0,
"aria-label": "close",
class: "text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-600 dark:hover:text-white",
type: "button",
onClick: s
}, [
v(i.$slots, "close-icon", {}, () => [
_d
])
]))
], 2),
f("div", {
class: w([i.$slots.header ? "" : "pt-0", "p-6"])
}, [
v(i.$slots, "body")
], 2),
i.$slots.footer ? (u(), g("div", Cd, [
v(i.$slots, "footer")
])) : z("", !0)
])
], 2)
], 40, xd)
]));
}
}), $d = { class: "container flex flex-wrap justify-between items-center mx-auto" }, Sd = /* @__PURE__ */ f("span", { class: "sr-only" }, "Open main menu", -1), Td = /* @__PURE__ */ f("svg", {
"aria-hidden": "true",
class: "w-6 h-6",
fill: "currentColor",
viewBox: "0 0 20 20",
xmlns: "http://www.w3.org/2000/svg"
}, [
/* @__PURE__ */ f("path", {
"clip-rule": "evenodd",
d: "M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z",
"fill-rule": "evenodd"
})
], -1), Pd = {
key: 0,
class: "hidden md:order-2 md:flex"
}, zd = " border-gray-200", Fd = "fixed w-full z-20 top-0 left-0 border-b border-gray-200 dark:border-gray-600", Id = "rounded", Ad = "p-3 bg-gray-50 dark:bg-gray-800 dark:border-gray-700", Bd = "bg-white px-2 sm:px-4 py-2.5 dark:bg-gray-900", ff = /* @__PURE__ */ C({
__name: "FwbNavbar",
props: {
class: {
type: String,
default: ""
},
sticky: {
type: Boolean,
default: !1
},
rounded: {
type: Boolean,
default: !1
},
solid: {
type: Boolean,
default: !1
}
},
setup(e) {
const t = e, r = qe(), s = _o(ko).smaller("md"), n = V(!1), a = Aa(n), l = p(() => ke(
[
zd,
t.sticky ? Fd : "",
t.rounded ? Id : "",
t.solid ? Ad : Bd,
t.class
].join(" ")
)), i = p(
() => s ? n.value : !0
);
return (d, b) => (u(), g("nav", {
class: w(l.value)
}, [
f("div", $d, [
v(d.$slots, "logo"),
f("button", {
"aria-controls": "navbar-default",
"aria-expanded": "false",
class: "inline-flex items-center p-2 ml-3 text-sm text-gray-500 rounded-lg md:hidden hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-200 dark:text-gray-400 dark:hover:bg-gray-700 dark:focus:ring-gray-600",
type: "button",
onClick: b[0] || (b[0] = (h) => m(a)())
}, [
Sd,
v(d.$slots, "menu-icon", {}, () => [
Td
])
]),
v(d.$slots, "default", { isShowMenu: i.value }),
m(r)["right-side"] ? (u(), g("div", Pd, [
v(d.$slots, "right-side")
])) : z("", !0)
])
], 2));
}
}), Od = "w-full md:block md:w-auto", Md = "flex flex-col p-4 mt-4 rounded-lg border border-gray-100 md:flex-row md:space-x-8 md:mt-0 md:text-sm md:font-medium md:border-0 dark:bg-gray-800 md:dark:bg-gray-900 dark:border-gray-700", Ld = "bg-gray-50", gf = /* @__PURE__ */ C({
__name: "FwbNavbarCollapse",
props: {
isShowMenu: {
type: Boolean,
default: !1
}
},
setup(e) {
const t = e, o = _o(ko).smaller("md"), s = p(() => W(
Od,
t.isShowMenu ? "" : "hidden"
)), n = p(() => W(
Md,
o.value ? Ld : ""
));
return (a, l) => (u(), g("div", {
class: w(s.value)
}, [
f("ul", {
class: w(n.value)
}, [
v(a.$slots, "default")
], 2)
], 2));
}
}), Ed = "bg-blue-700 md:bg-transparent text-white md:text-blue-700 dark:text-white", Nd = "text-gray-700 hover:bg-gray-100 md:hover:bg-transparent md:border-0 md:hover:text-blue-700 dark:text-gray-400 md:dark:hover:text-white dark:hover:bg-gray-700 dark:hover:text-white md:dark:hover:bg-transparent", Rd = "block py-2 pr-4 pl-3 rounded md:p-0", hf = /* @__PURE__ */ C({
__name: "FwbNavbarLink",
props: {
link: { default: "/" },
isActive: { type: Boolean, default: !1 },
component: { default: "a" },
linkAttr: { default: "href" },
disabled: { type: Boolean, default: !1 }
},
emits: ["click"],
setup(e, { emit: t }) {
const r = e, o = p(() => r.component !== "a" ? he(r.component) : "a"), s = E(
Rd,
r.isActive ? Ed : Nd
), n = (a) => {
r.disabled || t("click", a);
};
return (a, l) => (u(), g("li", null, [
(u(), G(te(o.value), Te({
[a.linkAttr || ""]: a.link,
class: m(s),
onClick: n
}), {
default: D(() => [
v(a.$slots, "default")
]),
_: 3
}, 16, ["class"]))
]));
}
}), Vd = ["src", "alt"], jd = { class: "self-center text-xl font-semibold whitespace-nowrap dark:text-white" }, bf = /* @__PURE__ */ C({
__name: "FwbNavbarLogo",
props: {
link: { default: "/" },
imageUrl: { default: "/assets/logo.svg" },
alt: { default: "Logo" },
component: { default: "a" },
linkAttr: { default: "href" }
},
setup(e) {
const t = e, r = p(() => t.component !== "a" ? he(t.component) : "a");
return (o, s) => (u(), G(te(r.value), Te({
class: "flex items-center",
[o.linkAttr || ""]: o.link
}), {
default: D(() => [
f("img", {
src: o.imageUrl,
alt: o.alt,
class: "mr-3 h-6 sm:h-10"
}, null, 8, Vd),
f("span", jd, [
v(o.$slots, "default")
])
]),
_: 3
}, 16));
}
}), Hd = { "aria-label": "Navigation" }, Dd = { class: "font-semibold text-gray-900 dark:text-white" }, Gd = { class: "font-semibold text-gray-900 dark:text-white" }, Wd = { class: "font-semibold text-gray-900 dark:text-white" }, Ud = ["disabled"], qd = ["disabled"], Kd = {
key: 0,
stroke: "currentColor",
fill: "currentColor",
"stroke-width": "0",
viewBox: "0 0 20 20",
"aria-hidden": "true",
class: "h-5 w-5",
height: "1em",
width: "1em",
xmlns: "http://www.w3.org/2000/svg"
}, Yd = /* @__PURE__ */ f("path", {
"fill-rule": "evenodd",
d: "M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z",
"clip-rule": "evenodd"
}, null, -1), Jd = [
Yd
], Qd = ["disabled", "onClick"], Zd = ["disabled"], Xd = {
key: 0,
stroke: "currentColor",
fill: "currentColor",
"stroke-width": "0",
viewBox: "0 0 20 20",
"aria-hidden": "true",
class: "h-5 w-5",
height: "1em",
width: "1em",
xmlns: "http://www.w3.org/2000/svg"
}, eu = /* @__PURE__ */ f("path", {
"fill-rule": "evenodd",
d: "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",
"clip-rule": "evenodd"
}, null, -1), tu = [
eu
], ru = ["disabled"], mf = /* @__PURE__ */ C({
__name: "FwbPagination",
props: {
modelValue: { default: 1 },
totalPages: { default: void 0 },
perPage: { default: 10 },
totalItems: { default: 10 },
layout: { default: "pagination" },
showIcons: { type: Boolean, default: !1 },
sliceLength: { default: 2 },
previousLabel: { default: "Prev" },
nextLabel: { default: "Next" },
enableFirstAndLastButtons: { type: Boolean, default: !1 },
showLabels: { type: Boolean, default: !0 },
large: { type: Boolean, default: !1 }
},
emits: ["update:model-value", "page-changed"],
setup(e, { emit: t }) {
const r = e;
function o(_) {
t("update:model-value", _), t("page-changed", _);
}
function s() {
t("update:model-value", r.modelValue - 1), t("page-changed", r.modelValue - 1);
}
function n() {
t("update:model-value", r.modelValue + 1), t("page-changed", r.modelValue + 1);
}
function a() {
t("update:model-value", 1), t("page-changed", 1);
}
function l() {
const _ = i.value;
t("update:model-value", _), t("page-changed", _);
}
const i = p(() => r.totalPages ? r.totalPages : Math.ceil(r.totalItems / r.perPage)), d = p(() => r.modelValue <= 1), b = p(() => r.modelValue >= i.value), h = (_) => _ === r.modelValue, y = p(() => {
if (r.layout === "navigation")
return [];
if (r.layout === "table")
return [];
if (i.value <= r.sliceLength * 2 + 1) {
const P = [];
for (let M = 1; M <= i.value; M++)
P.push(M);
return P;
}
if (r.modelValue <= r.sliceLength) {
const P = [], M = Math.abs(r.modelValue - r.sliceLength) + r.modelValue + r.sliceLength + 1;
for (let U = 1; U <= M; U++)
P.push(U);
return P;
}
if (r.modelValue >= i.value - r.sliceLength) {
const P = [];
for (let M = Math.abs(i.value - r.sliceLength * 2); M <= i.value; M++)
P.push(M);
return P;
}
const _ = [], N = r.modelValue - r.sliceLength > 0 ? r.modelValue - r.sliceLength : 1;
for (let P = N; P < r.modelValue + r.sliceLength + 1 && !(P >= i.value); P++)
_.push(P);
return _;
}), c = p(() => r.modelValue * r.perPage - r.perPage + 1), x = p(() => {
const _ = r.modelValue * r.perPage;
return r.totalItems && _ > r.totalItems ? r.totalItems : _;
}), k = p(() => r.totalItems ? r.totalItems : i.value * r.perPage), $ = p(() => r.modelValue === 1), T = p(() => r.modelValue === i.value);
function S(_) {
const N = "flex items-center justify-center px-3 h-8 leading-tight text-gray-500 bg-white border border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white", P = "text-blue-600 bg-blue-50 hover:bg-blue-100 hover:text-blue-700 dark:bg-gray-700 dark:text-white", M = "px-4 h-10";
return E(N, _ && P, r.large && M);
}
function I(_) {
const N = "flex items-center justify-center first:rounded-l-lg last:rounded-r-lg px-3 h-8 ml-0 leading-tight text-gray-500 bg-white border border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white", P = "bg-gray-100 text-gray-700 dark:bg-gray-700 dark:text-white cursor-not-allowed", M = "px-4 h-10", U = "border-none text-white hover:text-white bg-gray-800 rounded-none first:rounded-l last:rounded-r hover:bg-gray-900 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white";
return E(
N,
_ === r.modelValue && P,
r.large && M,
(_ > i.value || _ < 1) && P,
r.layout === "navigation" && "first:mr-3",
(r.layout === "navigation" || r.layout === "table") && "rounded-lg",
r.layout === "table" && U
);
}
return (_, N) => (u(), g("nav", Hd, [
_.layout === "table" ? (u(), g("div", {
key: 0,
class: w(["text-gray-700 dark:text-gray-400 mb-2", _.large ? "text-base" : "text-sm"])
}, [
re(" Showing "),
f("span", Dd, O(c.value), 1),
re(" to "),
f("span", Gd, O(x.value), 1),
re(" of "),
f("span", Wd, O(k.value), 1)
], 2)) : z("", !0),
f("div", {
class: w(["inline-flex", _.large && "text-base h-10"])
}, [
v(_.$slots, "start"),
_.enableFirstAndLastButtons ? v(_.$slots, "first-button", { key: 0 }, () => [
f("button", {
disabled: $.value,
class: w(I(1)),
onClick: a
}, " First ", 10, Ud)
]) : z("", !0),
v(_.$slots, "prev-button", {
disabled: d.value,
decreasePage: s
}, () => [
f("button", {
disabled: d.value,
class: w(I(_.modelValue - 1)),
onClick: s
}, [
v(_.$slots, "prev-icon", {}, () => [
_.showIcons || _.$slots["prev-icon"] ? (u(), g("svg", Kd, Jd)) : z("", !0)
]),
_.showLabels ? (u(), g(Y, { key: 0 }, [
re(O(_.previousLabel), 1)
], 64)) : z("", !0)
], 10, qd)
]),
(u(!0), g(Y, null, Le(y.value, (P) => v(_.$slots, "page-button", {
key: P,
page: P,
setPage: o,
disabled: h(P)
}, () => [
f("button", {
disabled: h(P),
class: w(S(P === _.modelValue)),
onClick: (M) => o(P)
}, O(P), 11, Qd)
])), 128)),
v(_.$slots, "next-button", {
disabled: b.value,
increasePage: n
}, () => [
f("button", {
disabled: b.value,
class: w(I(_.modelValue + 1)),
onClick: n
}, [
_.showLabels ? (u(), g(Y, { key: 0 }, [
re(O(_.nextLabel), 1)
], 64)) : z("", !0),
v(_.$slots, "next-icon", {}, () => [
_.showIcons || _.$slots["next-icon"] ? (u(), g("svg", Xd, tu)) : z("", !0)
])
], 10, Zd)
]),
_.enableFirstAndLastButtons ? v(_.$slots, "last-button", { key: 1 }, () => [
f("button", {
disabled: T.value,
class: w(I(i.value)),
onClick: l
}, " Last ", 10, ru)
]) : z("", !0),
v(_.$slots, "end")
], 2)
]));
}
}), ou = {
default: "bg-blue-600 dark:bg-blue-600",
blue: "bg-blue-600 dark:bg-blue-600",
dark: "bg-gray-600 dark:bg-gray-300",
green: "bg-green-600 dark:bg-green-500",
red: "bg-red-600 dark:bg-red-500",
yellow: "bg-yellow-400",
indigo: "bg-indigo-600 dark:bg-indigo-500",
purple: "bg-purple-600 dark:bg-purple-500"
}, su = {
default: "",
blue: "text-blue-700 dark:text-blue-500",
dark: "dark:text-white",
green: "text-green-700 dark:text-green-500",
red: "text-red-700 dark:text-red-500",
yellow: "text-yellow-700 dark:text-yellow-500",
indigo: "text-indigo-700 dark:text-indigo-500",
purple: "text-purple-700 dark:text-purple-500"
}, jr = {
sm: "h-1.5 text-xs leading-none",
md: "h-2.5 text-xs leading-none",
lg: "h-4 text-sm leading-none",
xl: "h-6 text-base leading-tight"
};
function nu(e) {
const t = p(() => W(
ou[e.color.value],
jr[e.size.value]
)), r = p(() => W(
jr[e.size.value]
)), o = p(() => W(
su[e.color.value]
));
return {
innerClasses: t,
outerClasses: r,
outsideLabelClasses: o
};
}
const au = {
key: 0,
class: "flex justify-between mb-1"
}, vf = /* @__PURE__ */ C({
__name: "FwbProgress",
props: {
color: { default: "default" },
label: { default: "" },
labelPosition: { default: "none" },
labelProgress: { type: Boolean, default: !1 },
progress: { default: 0 },
size: { default: "md" }
},
setup(e) {
const t = e, {
innerClasses: r,
outerClasses: o,
outsideLabelClasses: s
} = nu(J(t));
return (n, a) => (u(), g("div", null, [
n.label || n.labelProgress && n.labelPosition === "outside" ? (u(), g("div", au, [
f("span", {
class: w([m(s), "text-base font-medium"])
}, O(n.label), 3),
n.labelProgress && n.labelPosition === "outside" ? (u(), g("span", {
key: 0,
class: w([m(s), "text-sm font-medium"])
}, O(n.progress) + "%", 3)) : z("", !0)
])) : z("", !0),
f("div", {
class: w([m(o), "w-full bg-gray-200 rounded-full dark:bg-gray-700"])
}, [
f("div", {
class: w([m(r), "rounded-full font-medium text-blue-100 text-center p-0.5"]),
style: ot({ width: n.progress + "%" })
}, [
n.labelProgress && n.labelPosition === "inside" ? (u(), g(Y, { key: 0 }, [
re(O(n.progress) + "% ", 1)
], 64)) : z("", !0)
], 6)
], 2)
]));
}
}), lu = {
sm: "w-5 h-5",
md: "w-7 h-7",
lg: "w-10 h-10"
};
function iu(e) {
return { sizeClasses: p(() => W(
lu[e.size.value] ?? ""
)) };
}
const du = { class: "flex items-center" }, uu = /* @__PURE__ */ f("path", { d: "M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z" }, null, -1), cu = [
uu
], pu = /* @__PURE__ */ f("path", { d: "M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z" }, null, -1), fu = [
pu
], gu = /* @__PURE__ */ f("span", { class: "w-1 h-1 mx-1.5 bg-gray-500 rounded-full dark:bg-gray-400" }, null, -1), hu = ["href"], yf = /* @__PURE__ */ C({
__name: "FwbRating",
props: {
rating: { default: 3 },
reviewLink: { default: "" },
reviewText: { default: "" },
scale: { default: 5 },
size: { default: "md" }
},
setup(e) {
const t = e, r = p(() => Math.floor(t.rating)), o = p(() => t.scale - r.value), { sizeClasses: s } = iu(J(t));
return (n, a) => (u(), g("div", du, [
(u(!0), g(Y, null, Le(r.value, (l) => (u(), g("svg", {
key: l,
class: w([m(s), "text-yellow-400"]),
fill: "currentColor",
viewBox: "0 0 20 20",
xmlns: "http://www.w3.org/2000/svg"
}, cu, 2))), 128)),
(u(!0), g(Y, null, Le(o.value, (l) => (u(), g("svg", {
key: l,
class: w([m(s), "text-gray-300 dark:text-gray-500"]),
fill: "currentColor",
viewBox: "0 0 20 20",
xmlns: "http://www.w3.org/2000/svg"
}, fu, 2))), 128)),
v(n.$slots, "besideText"),
n.reviewText && n.reviewLink ? (u(), g(Y, { key: 0 }, [
gu,
f("a", {
href: n.reviewLink,
class: "text-sm font-medium text-gray-900 underline hover:no-underline dark:text-white"
}, O(n.reviewText), 9, hu)
], 64)) : z("", !0)
]));
}
}), bu = { class: "h-full px-3 py-4 overflow-y-auto bg-gray-50 dark:bg-gray-800" }, mu = { class: "space-y-2 font-medium" }, wf = /* @__PURE__ */ C({
inheritAttrs: !1,
__name: "FwbSidebar",
setup(e) {
const t = de(), r = E("absolute top-0 left-0 z-40 w-64 h-screen transition-transform", t.class);
return (o, s) => (u(), g("aside", ne(o.$attrs, {
class: m(r),
"aria-label": "Sidebar"
}), [
f("div", bu, [
f("div", mu, [
v(o.$slots, "default")
])
])
], 16));
}
}), vu = {
class: "p-4 mt-6 rounded-lg bg-blue-50 dark:bg-blue-900",
role: "alert"
}, yu = { class: "flex items-center mb-3" }, wu = { class: "bg-orange-100 text-orange-800 text-sm font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-orange-200 dark:text-orange-900" }, xu = /* @__PURE__ */ f("span", { class: "sr-only" }, "Close", -1), ku = /* @__PURE__ */ f("svg", {
class: "w-2.5 h-2.5",
"aria-hidden": "true",
xmlns: "http://www.w3.org/2000/svg",
fill: "none",
viewBox: "0 0 14 14"
}, [
/* @__PURE__ */ f("path", {
stroke: "currentColor",
"stroke-linecap": "round",
"stroke-linejoin": "round",
"stroke-width": "2",
d: "m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6"
})
], -1), _u = [
xu,
ku
], xf = /* @__PURE__ */ C({
__name: "FwbSidebarCta",
props: {
label: { default: void 0 }
},
emits: ["close"],
setup(e, { emit: t }) {
function r() {
t("close");
}
return (o, s) => (u(), g("div", vu, [
f("div", yu, [
f("span", wu, O(o.label), 1),
f("button", {
type: "button",
class: "ml-auto -mx-1.5 -my-1.5 bg-blue-50 inline-flex justify-center items-center w-6 h-6 text-blue-900 rounded-lg focus:ring-2 focus:ring-blue-400 p-1 hover:bg-blue-200 h-6 w-6 dark:bg-blue-900 dark:text-blue-400 dark:hover:bg-blue-800",
"aria-label": "Close",
onClick: r
}, _u)
]),
v(o.$slots, "default")
]));
}
}), Cu = { class: "overflow-hidden" }, $u = /* @__PURE__ */ f("svg", {
class: "flex-shrink-0 w-5 h-5 text-gray-500 transition duration-75 group-hover:text-gray-900 dark:text-gray-400 dark:group-hover:text-white",
"aria-hidden": "true",
xmlns: "http://www.w3.org/2000/svg",
fill: "currentColor",
viewBox: "0 0 18 21"
}, [
/* @__PURE__ */ f("path", { d: "M15 12a1 1 0 0 0 .962-.726l2-7A1 1 0 0 0 17 3H3.77L3.175.745A1 1 0 0 0 2.208 0H1a1 1 0 0 0 0 2h.438l.6 2.255v.019l2 7 .746 2.986A3 3 0 1 0 9 17a2.966 2.966 0 0 0-.184-1h2.368c-.118.32-.18.659-.184 1a3 3 0 1 0 3-3H6.78l-.5-2H15Z" })
], -1), Su = { class: "flex-1 ml-3 text-left whitespace-nowrap" }, Tu = /* @__PURE__ */ f("path", {
stroke: "currentColor",
"stroke-linecap": "round",
"stroke-linejoin": "round",
"stroke-width": "2",
d: "m1 1 4 4 4-4"
}, null, -1), Pu = [
Tu
], zu = { class: "py-2 space-y-2 z-0 overflow-hidden" }, Fu = { key: 0 }, kf = /* @__PURE__ */ C({
__name: "FwbSidebarDropdownItem",
setup(e) {
const t = V(!1);
function r() {
t.value = !t.value;
}
return (o, s) => (u(), g("div", Cu, [
f("button", {
type: "button",
class: "flex items-center w-full p-2 text-base text-gray-900 transition duration-75 rounded-lg group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700 z-10",
"aria-controls": "dropdown-content",
onClick: r
}, [
v(o.$slots, "icon", {}, () => [
$u
]),
f("span", Su, [
v(o.$slots, "trigger")
]),
v(o.$slots, "arrow-icon", { toggleDropdown: r }, () => [
(u(), g("svg", {
class: w(["w-3 h-3 transition-all duration-300", t.value && "rotate-180"]),
"aria-hidden": "true",
xmlns: "http://www.w3.org/2000/svg",
fill: "none",
viewBox: "0 0 10 6"
}, Pu, 2))
])
]),
f("div", zu, [
Be(lo, {
duration: 150,
"enter-from-class": "-translate-y-full",
"enter-to-class": "translate-y-0",
"enter-active-class": "transition duration-400 ease-out",
"leave-active-class": "transition duration-400 ease-in",
"leave-from-class": "translate-y-0",
"leave-to-class": "-translate-y-full"
}, {
default: D(() => [
t.value ? (u(), g("div", Fu, [
v(o.$slots, "default")
])) : z("", !0)
]),
_: 3
})
])
]));
}
}), _f = /* @__PURE__ */ C({
__name: "FwbSidebarItem",
props: {
link: { default: "/" },
tag: { default: "router-link" }
},
setup(e) {
const t = e, r = t.tag === "a" ? "a" : he(t.tag), o = t.tag === "a" ? "href" : "to";
return (s, n) => (u(), G(te(m(r)), Te({
[m(o) || ""]: s.link,
class: "flex items-center p-2 text-gray-900 rounded-lg dark:text-white hover:bg-gray-100 dark:hover:bg-gray-700 group"
}), {
default: D(() => [
v(s.$slots, "icon"),
f("span", {
class: w(["flex-1 whitespace-nowrap", s.$slots.icon && "ml-3"])
}, [
v(s.$slots, "default")
], 2),
v(s.$slots, "suffix")
]),
_: 3
}, 16));
}
}), Iu = "pt-4 mt-4 space-y-2 font-medium border-t border-gray-200 dark:border-gray-700", Cf = /* @__PURE__ */ C({
__name: "FwbSidebarItemGroup",
props: {
border: { type: Boolean, default: !1 }
},
setup(e) {
return (t, r) => (u(), g("div", {
class: w(t.border && Iu)
}, [
v(t.$slots, "default")
], 2));
}
}), Au = ["src", "alt"], Bu = { class: "self-center text-xl font-semibold whitespace-nowrap dark:text-white" }, $f = /* @__PURE__ */ C({
__name: "FwbSidebarLogo",
props: {
name: { default: "" },
link: { default: "/" },
logo: { default: "" },
alt: { default: "" },
tag: { default: "router-link" }
},
setup(e) {
const t = e, r = t.tag === "a" ? "a" : he(t.tag), o = t.tag === "a" ? "href" : "to";
return (s, n) => (u(), G(te(m(r)), Te({
[m(o) || ""]: s.link,
class: "flex items-center mb-5 pl-2.5"
}), {
default: D(() => [
f("img", {
src: s.logo,
class: "h-6 mr-3 sm:h-7",
alt: s.alt ?? s.name
}, null, 8, Au),
f("span", Bu, O(s.name), 1)
]),
_: 1
}, 16));
}
}), Ou = { class: "relative overflow-x-auto shadow-md sm:rounded-lg" }, Mu = { class: "w-full text-sm text-left text-gray-500 dark:text-gray-400" }, Sf = /* @__PURE__ */ C({
__name: "FwbTable",
props: {
striped: {
type: Boolean,
default: !1
},
stripedColumns: {
type: Boolean,
default: !1
},
hoverable: {
type: Boolean,
default: !1
}
},
setup(e) {
const t = e;
return ue("hoverable", t.hoverable), ue("striped", t.striped), ue("stripedColumns", t.stripedColumns), (r, o) => (u(), g("div", Ou, [
f("table", Mu, [
v(r.$slots, "default")
])
]));
}
}), Lu = {};
function Eu(e, t) {
return u(), g("tbody", null, [
v(e.$slots, "default")
]);
}
const Tf = /* @__PURE__ */ ge(Lu, [["render", Eu]]), Nu = "px-6 py-4 first:font-medium first:text-gray-900 first:dark:text-white first:whitespace-nowrap last:text-right", Ru = "even:bg-gray-white even:dark:bg-gray-900 odd:dark:bg-gray-800 odd:bg-gray-50";
function Vu() {
const e = ee("stripedColumns");
return { tableCellClasses: p(() => W(
Nu,
{ [Ru]: e }
)) };
}
const Pf = /* @__PURE__ */ C({
__name: "FwbTableCell",
setup(e) {
const { tableCellClasses: t } = Vu();
return (r, o) => (u(), g("td", {
class: w(m(t))
}, [
v(r.$slots, "default")
], 2));
}
}), ju = {}, Hu = { class: "text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400" };
function Du(e, t) {
return u(), g("thead", Hu, [
f("tr", null, [
v(e.$slots, "default")
])
]);
}
const zf = /* @__PURE__ */ ge(ju, [["render", Du]]), Gu = "px-6 py-3 text-xs uppercase", Wu = "even:bg-white even:dark:bg-gray-900 odd:dark:bg-gray-800 odd:bg-gray-50";
function Uu() {
const e = ee("stripedColumns");
return { tableHeadCellClasses: p(() => W(
Gu,
{ [Wu]: e }
)) };
}
const Ff = /* @__PURE__ */ C({
__name: "FwbTableHeadCell",
setup(e) {
const { tableHeadCellClasses: t } = Uu();
return (r, o) => (u(), g("th", {
scope: "col",
class: w(m(t))
}, [
v(r.$slots, "default")
], 2));
}
}), qu = "bg-white dark:bg-gray-800 [&:not(:last-child)]:border-b [&:not(:last-child)]:dark:border-gray-700", Ku = "odd:bg-white even:bg-gray-50 odd:dark:bg-gray-800 even:dark:bg-gray-700", Yu = "hover:bg-gray-50 dark:hover:bg-gray-600";
function Ju() {
const e = ee("striped"), t = ee("hoverable");
return { tableRowClasses: p(() => W(
qu,
{
[Yu]: t,
[Ku]: e
}
)) };
}
const If = /* @__PURE__ */ C({
__name: "FwbTableRow",
setup(e) {
const { tableRowClasses: t } = Ju();
return (r, o) => (u(), g("tr", {
class: w(m(t))
}, [
v(r.$slots, "default")
], 2));
}
}), Ao = "flowbite-tab-activate-func-injection", Bo = "flowbite-tab-active-name-injection", Oo = "flowbite-tab-style-injection", Mo = "flowbite-tab-visibility-directive-injection", Qu = { key: 0 }, Zu = { key: 1 }, Af = /* @__PURE__ */ C({
__FLOWBITE_TAB__: !0,
__name: "FwbTab",
props: {
name: {
type: String,
required: !0
},
title: {
type: String,
default: ""
},
disabled: {
type: Boolean,
default: !1
}
},
setup(e) {
const t = ee(Bo, ""), r = ee(Mo, "if");
return (o, s) => m(r) === "if" ? (u(), g(Y, { key: 0 }, [
m(t) === e.name ? (u(), g("div", Qu, [
v(o.$slots, "default")
])) : z("", !0)
], 64)) : m(r) === "show" ? Pe((u(), g("div", Zu, [
v(o.$slots, "default")
], 512)), [
[is, m(t) === e.name]
]) : z("", !0);
}
});
function Xu(e) {
const t = p(() => E(
"flex flex-wrap font-medium text-center text-gray-500 dark:text-gray-400 text-sm",
e.variant === "underline" && "-mb-px",
e.variant === "default" && "border-b border-gray-200 dark:border-gray-700"
));
return {
divClasses: p(() => e.variant === "underline" ? "border-b border-gray-200 dark:border-gray-700 font-medium text-center text-gray-500 dark:text-gray-400 text-sm" : ""),
ulClasses: t
};
}
const Lo = "flowbite-themable-injection-key", He = {
blue: {
background: "bg-blue-700 dark:bg-blue-600",
disabled: "",
hover: "hover:bg-blue-800 dark:hover:bg-blue-700",
text: "text-blue-600 dark:text-blue-500",
border: "border-blue-600 dark:border-blue-500",
focus: "focus:ring-blue-300 dark:focus:ring-blue-800"
},
green: {
background: "bg-green-700 dark:bg-green-600",
disabled: "",
hover: "hover:bg-green-800 dark:hover:bg-green-700",
text: "text-green-600 dark:text-green-500",
border: "border-green-600 dark:border-green-500",
focus: "focus:ring-green-300 dark:focus:ring-green-800"
},
pink: {
background: "bg-pink-700 dark:bg-pink-600",
disabled: "",
hover: "hover:bg-pink-800 dark:hover:bg-pink-700",
text: "text-pink-600 dark:text-pink-500",
border: "border-pink-600 dark:border-pink-500",
focus: "focus:ring-pink-300 dark:focus:ring-pink-900"
},
purple: {
background: "bg-purple-700 dark:bg-purple-600",
disabled: "",
hover: "hover:bg-purple-800 dark:hover:bg-purple-700",
text: "text-purple-600 dark:text-purple-500",
border: "border-purple-600 dark:border-purple-500",
focus: "focus:ring-purple-300 dark:focus:ring-purple-900"
},
red: {
background: "bg-red-700 dark:bg-red-600",
disabled: "",
hover: "hover:bg-red-800 dark:hover:bg-red-700",
text: "text-red-600 dark:text-red-500",
border: "border-red-600 dark:border-red-500",
focus: "focus:ring-red-300 dark:focus:ring-red-900"
}
};
function Eo(e) {
const t = ee(Lo, V(null)), r = p(() => e || t.value), o = p(() => !!t?.value), s = p(
() => r.value ? He[r.value].background : ""
), n = p(
() => r.value ? He[r.value].border : ""
), a = p(() => t?.value || void 0), l = p(
() => r.value ? He[r.value].disabled : ""
), i = p(
() => r.value ? He[r.value].focus : ""
), d = p(
() => r.value ? He[r.value].hover : ""
), b = p(
() => r.value ? He[r.value].text : ""
);
return {
backgroundClasses: s,
borderClasses: n,
color: a,
disabledClasses: l,
focusClasses: i,
hoverClasses: d,
isActive: o,
textClasses: b
};
}
const ec = {
default: "cursor-pointer inline-block p-4 rounded-t-lg hover:text-gray-600 hover:bg-gray-50 dark:hover:bg-gray-800 dark:hover:text-gray-300",
active: "cursor-pointer inline-block p-4 text-blue-600 bg-gray-100 rounded-t-lg active dark:bg-gray-800 dark:text-blue-500",
disabled: "inline-block p-4 text-gray-400 rounded-t-lg cursor-not-allowed dark:text-gray-500"
}, tc = {
default: "cursor-pointer inline-block p-4 rounded-t-lg border-b-2 border-transparent hover:text-gray-600 hover:border-gray-300 dark:hover:text-gray-300",
active: "cursor-pointer inline-block p-4 text-blue-600 rounded-t-lg border-b-2 border-blue-600 active dark:text-blue-500 dark:border-blue-500",
disabled: "inline-block p-4 text-gray-400 rounded-t-lg cursor-not-allowed dark:text-gray-500"
}, rc = {
default: "cursor-pointer inline-block py-3 px-4 rounded-lg hover:text-gray-900 hover:bg-gray-100 dark:hover:bg-gray-800 dark:hover:text-white",
active: "cursor-pointer inline-block py-3 px-4 text-white bg-blue-600 rounded-lg active",
disabled: "inline-block py-3 px-4 text-gray-400 cursor-not-allowed dark:text-gray-500"
};
function oc(e) {
const t = Eo();
return { tabClasses: p(() => {
const o = t.isActive.value, s = e.active.value ? "active" : e.disabled.value ? "disabled" : "default";
return e.variant === "default" ? se(
ec[s],
(o && s) === "active" ? t.textClasses.value : ""
) : e.variant === "underline" ? se(
tc[s],
(o && s) === "active" ? [t.borderClasses.value, t.textClasses.value] : ""
) : e.variant === "pills" ? se(
rc[s],
(o && s) === "active" ? [t.backgroundClasses.value, "text-white"] : ""
) : "";
}) };
}
const sc = /* @__PURE__ */ C({
__name: "FwbTabPane",
props: {
name: {
type: String,
required: !0
},
title: {
type: String,
default: ""
},
disabled: {
type: Boolean,
default: !1
},
active: {
type: Boolean,
default: !1
}
},
setup(e) {
const t = e, r = ee(Oo);
r || console.warn("you can't use Tab outside of Tabs component. No tab style injection found");
const o = ee(Ao);
o || console.warn("you can't use Tab outside of Tabs component. No tab activate injection found");
const s = () => {
if (!t.disabled) {
if (!o)
return console.warn("no onActivate");
o(t.name);
}
}, { tabClasses: n } = oc({
active: it(t, "active"),
disabled: it(t, "disabled"),
variant: r
});
return (a, l) => (u(), g("li", null, [
f("div", {
class: w(m(n)),
onClick: s
}, O(e.title), 3)
]));
}
}), Bf = /* @__PURE__ */ C({
inheritAttrs: !1,
__name: "FwbTabs",
props: {
variant: { default: "default" },
modelValue: { default: "" },
directive: { default: "if" }
},
emits: ["update:modelValue", "click:pane"],
setup(e, { emit: t }) {
const r = e, { ulClasses: o, divClasses: s } = Xu(r);
ue(Oo, r.variant);
const a = qe().default, l = p(() => a ? Pt(a()).filter((h) => h.type.__FLOWBITE_TAB__) : []), i = p({
get: () => r.modelValue,
set: (h) => t("update:modelValue", h)
});
ue(Bo, i), ue(Mo, it(r, "directive"));
const d = (h) => {
i.value = h;
}, b = () => {
t("click:pane");
};
return ue(Ao, d), (h, y) => (u(), g(Y, null, [
f("div", {
class: w(m(s))
}, [
f("ul", {
class: w(m(o))
}, [
(u(!0), g(Y, null, Le(l.value, (c, x) => (u(), G(sc, {
key: x,
active: i.value === c.props?.name,
disabled: c.props?.disabled,
name: c.props?.name,
title: c.props?.title,
onClick: b
}, null, 8, ["active", "disabled", "name", "title"]))), 128))
], 2)
], 2),
f("div", Te(po(h.$attrs)), [
v(h.$slots, "default")
], 16)
], 64));
}
}), nc = "relative border-gray-200 dark:border-gray-700", ac = "border-l", lc = "flex", Of = /* @__PURE__ */ C({
__name: "FwbTimeline",
props: {
horizontal: {
type: Boolean,
default: !1
}
},
setup(e) {
const t = e;
ue("horizontal", t.horizontal);
const r = p(() => W(
nc,
t.horizontal ? lc : ac
));
return (o, s) => (u(), g("ol", ne({ class: r.value }, o.$attrs), [
v(o.$slots, "default")
], 16));
}
}), ic = {}, dc = { class: "font-normal mb-4 text-base text-gray-500 dark:text-gray-400" };
function uc(e, t) {
return u(), g("p", dc, [
v(e.$slots, "default")
]);
}
const Mf = /* @__PURE__ */ ge(ic, [["render", uc]]), Lf = /* @__PURE__ */ C({
__name: "FwbTimelineContent",
setup(e) {
const t = ee("horizontal"), r = p(() => W(t ? "mt-3 sm:pr-8" : ""));
return (o, s) => (u(), g("div", {
class: w(r.value)
}, [
v(o.$slots, "default")
], 2));
}
}), cc = "mb-10", pc = "mb-6 sm:mb-0 relative", fc = "ml-6", Ef = /* @__PURE__ */ C({
__name: "FwbTimelineItem",
setup(e) {
const t = ee("horizontal"), r = p(() => W(cc, t ? pc : fc));
return (o, s) => (u(), g("li", {
class: w(r.value)
}, [
v(o.$slots, "default")
], 2));
}
}), gc = "h-0.5 w-full bg-gray-200 dark:bg-gray-700 sm:flex", Nf = /* @__PURE__ */ C({
__name: "FwbTimelinePoint",
setup(e) {
const t = qe(), r = p(() => !!t.default), o = ee("horizontal"), s = p(() => W(o ? "flex items-center" : "")), n = p(() => W(gc, { "sm:hidden hidden": !o })), a = p(() => {
const l = "absolute rounded-full -left-1.5 border border-white dark:border-gray-900 dark:bg-gray-700", i = "mt-1.5 w-3 h-3 bg-gray-200", d = "mt-1.5 w-6 h-6 -left-3 flex justify-center items-center bg-blue-200 ring-8 ring-white dark:ring-gray-900", b = "w-3 h-3 bg-gray-200", h = "w-6 h-6 -left-3 flex justify-center items-center bg-blue-200 ring-8 ring-white dark:ring-gray-900", y = !o && !r.value, c = !o && r.value, x = o && !r.value, k = o && r.value;
return W(
l,
{
[i]: y,
[d]: c,
[b]: x,
[h]: k
}
);
});
return (l, i) => (u(), g("div", {
class: w(s.value)
}, [
f("div", {
class: w(a.value)
}, [
v(l.$slots, "default")
], 2),
f("div", {
class: w(n.value)
}, null, 2)
], 2));
}
}), hc = {}, bc = { class: "font-normal leading-none mb-1 text-gray-400 dark:text-gray-500 text-sm" };
function mc(e, t) {
return u(), g("time", bc, [
v(e.$slots, "default")
]);
}
const Rf = /* @__PURE__ */ ge(hc, [["render", mc]]), vc = {}, yc = { class: "font-semibold text-gray-900 dark:text-white text-lg" };
function wc(e, t) {
return u(), g("h3", yc, [
v(e.$slots, "default")
]);
}
const Vf = /* @__PURE__ */ ge(vc, [["render", wc]]), xc = {
danger: "text-red-500 bg-red-100 dark:bg-red-800 dark:text-red-200",
empty: "",
success: "text-green-500 bg-green-100 dark:bg-green-800 dark:text-green-200",
warning: "text-orange-500 bg-orange-100 dark:bg-orange-700 dark:text-orange-200"
}, kc = {
center: "items-center",
end: "items-end",
start: "items-start"
}, Hr = "flex w-full max-w-xs p-4 text-gray-500 bg-white rounded-lg shadow dark:text-gray-400 dark:bg-gray-800", Dr = "text-sm font-normal";
function _c(e) {
const t = p(() => xc[e.type.value]), r = p(() => {
const s = kc[e.alignment.value];
return e.divide.value ? se(Hr, "dark:divide-gray-700 divide-x divide-gray-200", s) : se(Hr, s);
}), o = p(() => e.type.value !== "empty" && e.divide.value ? se(Dr, "pl-3") : Dr);
return {
typeClasses: t,
wrapperClasses: r,
contentClasses: o
};
}
function Cc(e) {
const {
backgroundClasses: t,
borderClasses: r,
disabledClasses: o,
focusClasses: s,
hoverClasses: n,
isActive: a,
textClasses: l
} = Eo(e.theme?.value);
return {
classes: p(() => {
if (!a.value)
return "";
const d = [];
return e.apply.value.includes("text") && d.push(l.value), e.apply.value.includes("border") && d.push(r.value), e.apply.value.includes("background") && d.push(t.value), e.apply.value.includes("hover") && d.push(n.value), e.apply.value.includes("disabled") && d.push(o.value), e.apply.value.includes("focus") && d.push(s.value), d.join(" ");
})
};
}
const $c = /* @__PURE__ */ C({
__name: "FlowbiteThemableChild",
props: {
apply: {
type: Array,
required: !0
},
tag: {
type: String,
default: "div"
},
theme: {
type: String,
default: void 0
}
},
setup(e) {
const t = e, r = de(), { classes: o } = Cc(J(t)), s = p(() => r.class || "");
return (n, a) => (u(), G(te(e.tag), {
class: w(m(se)(s.value, m(o)))
}, {
default: D(() => [
v(n.$slots, "default")
]),
_: 3
}, 8, ["class"]));
}
}), Sc = {
key: 1,
"aria-hidden": "true",
class: "w-5 h-5",
fill: "currentColor",
viewBox: "0 0 20 20",
xmlns: "http://www.w3.org/2000/svg"
}, Tc = /* @__PURE__ */ f("path", {
"clip-rule": "evenodd",
d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",
"fill-rule": "evenodd"
}, null, -1), Pc = [
Tc
], zc = {
key: 2,
"aria-hidden": "true",
class: "w-5 h-5",
fill: "currentColor",
viewBox: "0 0 20 20",
xmlns: "http://www.w3.org/2000/svg"
}, Fc = /* @__PURE__ */ f("path", {
"clip-rule": "evenodd",
d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
"fill-rule": "evenodd"
}, null, -1), Ic = [
Fc
], Ac = {
key: 3,
"aria-hidden": "true",
class: "w-5 h-5",
fill: "currentColor",
viewBox: "0 0 20 20",
xmlns: "http://www.w3.org/2000/svg"
}, Bc = /* @__PURE__ */ f("path", {
"clip-rule": "evenodd",
d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",
"fill-rule": "evenodd"
}, null, -1), Oc = [
Bc
], Mc = /* @__PURE__ */ f("span", { class: "sr-only" }, "Close", -1), Lc = /* @__PURE__ */ f("svg", {
class: "w-5 h-5",
fill: "currentColor",
viewBox: "0 0 20 20",
xmlns: "http://www.w3.org/2000/svg"
}, [
/* @__PURE__ */ f("path", {
"clip-rule": "evenodd",
d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
"fill-rule": "evenodd"
})
], -1), Ec = [
Mc,
Lc
], Gr = /* @__PURE__ */ C({
__name: "FwbToast",
props: {
type: {
type: String,
default: "empty"
},
alignment: {
type: String,
default: "center"
},
closable: {
type: Boolean,
default: !1
},
divide: {
type: Boolean,
default: !1
}
},
emits: ["close"],
setup(e, { emit: t }) {
const r = e, o = V(!0), {
typeClasses: s,
wrapperClasses: n,
contentClasses: a
} = _c(J(r)), l = () => {
t("close"), o.value = !1;
};
return (i, d) => o.value ? (u(), g("div", {
key: 0,
id: "toast-default",
class: w(m(n)),
role: "alert"
}, [
e.type !== "empty" || i.$slots.icon ? (u(), G($c, {
key: 0,
apply: ["background", "text"],
class: w(["inline-flex flex-shrink-0 justify-center items-center w-8 h-8 rounded-lg", m(s)])
}, {
default: D(() => [
i.$slots.icon ? v(i.$slots, "icon", {
key: 0,
class: w({ "ml-3": e.type !== "empty" })
}) : e.type === "success" ? (u(), g("svg", Sc, Pc)) : e.type === "danger" ? (u(), g("svg", zc, Ic)) : e.type === "warning" ? (u(), g("svg", Ac, Oc)) : z("", !0)
]),
_: 3
}, 8, ["class"])) : z("", !0),
f("div", {
class: w([m(a), { "ml-3": i.$slots.icon || e.type !== "empty" }])
}, [
v(i.$slots, "default")
], 2),
e.closable ? (u(), g("button", {
key: 1,
"aria-label": "Close",
class: "border-none ml-auto -mx-1.5 -my-1.5 bg-white text-gray-400 hover:text-gray-900 rounded-lg focus:ring-2 focus:ring-gray-300 p-1.5 hover:bg-gray-100 inline-flex h-8 w-8 dark:text-gray-500 dark:hover:text-white dark:bg-gray-800 dark:hover:bg-gray-700",
type: "button",
onClick: l
}, Ec)) : z("", !0)
], 2)) : z("", !0);
}
}), No = "flowbite-toast-injection-key", Nc = C({
components: {
FwbToast: Gr
},
props: {
transition: {
type: String,
default: "slide-left"
}
},
setup() {
const e = V([]), t = (n, a) => {
Ia(() => s(n), a);
}, r = (n) => {
const a = parseInt(((/* @__PURE__ */ new Date()).getTime() * Math.random()).toString()).toString();
return e.value.push({
id: a,
...n
}), n.time > 0 && t(a, n.time), a;
}, o = () => {
if (e.value.length === 0)
return "";
const n = e.value[e.value.length - 1].id;
return e.value.pop(), n;
}, s = (n) => {
const a = e.value.findIndex((l) => l.id === n);
return a >= 0 && e.value.splice(a, 1), a >= 0;
};
return ue(No, {
add: r,
pop: o,
remove: s
}), {
toasts: e,
removeToast: s
};
},
render() {
const { $props: e, $slots: t, toasts: r, removeToast: o } = this;
return gt("div", {}, [
t.default ? t.default() : null,
// rendering default slot
gt(
ds,
{
name: e.transition,
tag: "div",
class: "xl:w-1/6 md:w-1/4 sm:w-1/4 fixed top-3 right-3 flex flex-col gap-2 z-50"
},
{
default: () => r.map(
(s) => s.component ? gt(
s.component,
{
key: s.id,
onClose: () => o(s.id),
...s.componentProps ? s.componentProps : {}
},
() => s.text
) : gt(
Gr,
{
closable: !0,
type: s.type,
key: s.id,
onClose: () => o(s.id)
},
() => s.text
)
)
}
)
]);
}
});
const jf = /* @__PURE__ */ ge(Nc, [["__scopeId", "data-v-aba06225"]]);
function le(e) {
return e.split("-")[1];
}
function cr(e) {
return e === "y" ? "height" : "width";
}
function ce(e) {
return e.split("-")[0];
}
function Je(e) {
return ["top", "bottom"].includes(ce(e)) ? "x" : "y";
}
function Wr(e, t, r) {
let { reference: o, floating: s } = e;
const n = o.x + o.width / 2 - s.width / 2, a = o.y + o.height / 2 - s.height / 2, l = Je(t), i = cr(l), d = o[i] / 2 - s[i] / 2, b = l === "x";
let h;
switch (ce(t)) {
case "top":
h = { x: n, y: o.y - s.height };
break;
case "bottom":
h = { x: n, y: o.y + o.height };
break;
case "right":
h = { x: o.x + o.width, y: a };
break;
case "left":
h = { x: o.x - s.width, y: a };
break;
default:
h = { x: o.x, y: o.y };
}
switch (le(t)) {
case "start":
h[l] -= d * (r && b ? -1 : 1);
break;
case "end":
h[l] += d * (r && b ? -1 : 1);
}
return h;
}
const Rc = async (e, t, r) => {
const { placement: o = "bottom", strategy: s = "absolute", middleware: n = [], platform: a } = r, l = n.filter(Boolean), i = await (a.isRTL == null ? void 0 : a.isRTL(t));
let d = await a.getElementRects({ reference: e, floating: t, strategy: s }), { x: b, y: h } = Wr(d, o, i), y = o, c = {}, x = 0;
for (let k = 0; k < l.length; k++) {
const { name: $, fn: T } = l[k], { x: S, y: I, data: _, reset: N } = await T({ x: b, y: h, initialPlacement: o, placement: y, strategy: s, middlewareData: c, rects: d, platform: a, elements: { reference: e, floating: t } });
b = S ?? b, h = I ?? h, c = { ...c, [$]: { ...c[$], ..._ } }, N && x <= 50 && (x++, typeof N == "object" && (N.placement && (y = N.placement), N.rects && (d = N.rects === !0 ? await a.getElementRects({ reference: e, floating: t, strategy: s }) : N.rects), { x: b, y: h } = Wr(d, y, i)), k = -1);
}
return { x: b, y: h, placement: y, strategy: s, middlewareData: c };
};
function Ve(e, t) {
return typeof e == "function" ? e(t) : e;
}
function Ro(e) {
return typeof e != "number" ? function(t) {
return { top: 0, right: 0, bottom: 0, left: 0, ...t };
}(e) : { top: e, right: e, bottom: e, left: e };
}
function st(e) {
return { ...e, top: e.y, left: e.x, right: e.x + e.width, bottom: e.y + e.height };
}
async function Lt(e, t) {
var r;
t === void 0 && (t = {});
const { x: o, y: s, platform: n, rects: a, elements: l, strategy: i } = e, { boundary: d = "clippingAncestors", rootBoundary: b = "viewport", elementContext: h = "floating", altBoundary: y = !1, padding: c = 0 } = Ve(t, e), x = Ro(c), k = l[y ? h === "floating" ? "reference" : "floating" : h], $ = st(await n.getClippingRect({ element: (r = await (n.isElement == null ? void 0 : n.isElement(k))) == null || r ? k : k.contextElement || await (n.getDocumentElement == null ? void 0 : n.getDocumentElement(l.floating)), boundary: d, rootBoundary: b, strategy: i })), T = h === "floating" ? { ...a.floating, x: o, y: s } : a.reference, S = await (n.getOffsetParent == null ? void 0 : n.getOffsetParent(l.floating)), I = await (n.isElement == null ? void 0 : n.isElement(S)) && await (n.getScale == null ? void 0 : n.getScale(S)) || { x: 1, y: 1 }, _ = st(n.convertOffsetParentRelativeRectToViewportRelativeRect ? await n.convertOffsetParentRelativeRectToViewportRelativeRect({ rect: T, offsetParent: S, strategy: i }) : T);
return { top: ($.top - _.top + x.top) / I.y, bottom: (_.bottom - $.bottom + x.bottom) / I.y, left: ($.left - _.left + x.left) / I.x, right: (_.right - $.right + x.right) / I.x };
}
const ut = Math.min, Ae = Math.max;
function Kt(e, t, r) {
return Ae(e, ut(t, r));
}
const Vc = (e) => ({ name: "arrow", options: e, async fn(t) {
const { x: r, y: o, placement: s, rects: n, platform: a, elements: l } = t, { element: i, padding: d = 0 } = Ve(e, t) || {};
if (i == null)
return {};
const b = Ro(d), h = { x: r, y: o }, y = Je(s), c = cr(y), x = await a.getDimensions(i), k = y === "y", $ = k ? "top" : "left", T = k ? "bottom" : "right", S = k ? "clientHeight" : "clientWidth", I = n.reference[c] + n.reference[y] - h[y] - n.floating[c], _ = h[y] - n.reference[y], N = await (a.getOffsetParent == null ? void 0 : a.getOffsetParent(i));
let P = N ? N[S] : 0;
P && await (a.isElement == null ? void 0 : a.isElement(N)) || (P = l.floating[S] || n.floating[c]);
const M = I / 2 - _ / 2, U = P / 2 - x[c] / 2 - 1, Q = ut(b[$], U), j = ut(b[T], U), R = Q, F = P - x[c] - j, L = P / 2 - x[c] / 2 + M, q = Kt(R, L, F), Z = le(s) != null && L != q && n.reference[c] / 2 - (L < R ? Q : j) - x[c] / 2 < 0 ? L < R ? R - L : F - L : 0;
return { [y]: h[y] - Z, data: { [y]: q, centerOffset: L - q + Z } };
} }), jc = ["top", "right", "bottom", "left"], Ur = jc.reduce((e, t) => e.concat(t, t + "-start", t + "-end"), []), Hc = { left: "right", right: "left", bottom: "top", top: "bottom" };
function zt(e) {
return e.replace(/left|right|bottom|top/g, (t) => Hc[t]);
}
function Vo(e, t, r) {
r === void 0 && (r = !1);
const o = le(e), s = Je(e), n = cr(s);
let a = s === "x" ? o === (r ? "end" : "start") ? "right" : "left" : o === "start" ? "bottom" : "top";
return t.reference[n] > t.floating[n] && (a = zt(a)), { main: a, cross: zt(a) };
}
const Dc = { start: "end", end: "start" };
function kt(e) {
return e.replace(/start|end/g, (t) => Dc[t]);
}
const Gc = function(e) {
return e === void 0 && (e = {}), { name: "autoPlacement", options: e, async fn(t) {
var r, o, s;
const { rects: n, middlewareData: a, placement: l, platform: i, elements: d } = t, { crossAxis: b = !1, alignment: h, allowedPlacements: y = Ur, autoAlignment: c = !0, ...x } = Ve(e, t), k = h !== void 0 || y === Ur ? function(j, R, F) {
return (j ? [...F.filter((L) => le(L) === j), ...F.filter((L) => le(L) !== j)] : F.filter((L) => ce(L) === L)).filter((L) => !j || le(L) === j || !!R && kt(L) !== L);
}(h || null, c, y) : y, $ = await Lt(t, x), T = ((r = a.autoPlacement) == null ? void 0 : r.index) || 0, S = k[T];
if (S == null)
return {};
const { main: I, cross: _ } = Vo(S, n, await (i.isRTL == null ? void 0 : i.isRTL(d.floating)));
if (l !== S)
return { reset: { placement: k[0] } };
const N = [$[ce(S)], $[I], $[_]], P = [...((o = a.autoPlacement) == null ? void 0 : o.overflows) || [], { placement: S, overflows: N }], M = k[T + 1];
if (M)
return { data: { index: T + 1, overflows: P }, reset: { placement: M } };
const U = P.map((j) => {
const R = le(j.placement);
return [j.placement, R && b ? j.overflows.slice(0, 2).reduce((F, L) => F + L, 0) : j.overflows[0], j.overflows];
}).sort((j, R) => j[1] - R[1]), Q = ((s = U.filter((j) => j[2].slice(0, le(j[0]) ? 2 : 3).every((R) => R <= 0))[0]) == null ? void 0 : s[0]) || U[0][0];
return Q !== l ? { data: { index: T + 1, overflows: P }, reset: { placement: Q } } : {};
} };
}, Wc = function(e) {
return e === void 0 && (e = {}), { name: "flip", options: e, async fn(t) {
var r;
const { placement: o, middlewareData: s, rects: n, initialPlacement: a, platform: l, elements: i } = t, { mainAxis: d = !0, crossAxis: b = !0, fallbackPlacements: h, fallbackStrategy: y = "bestFit", fallbackAxisSideDirection: c = "none", flipAlignment: x = !0, ...k } = Ve(e, t), $ = ce(o), T = ce(a) === a, S = await (l.isRTL == null ? void 0 : l.isRTL(i.floating)), I = h || (T || !x ? [zt(a)] : function(R) {
const F = zt(R);
return [kt(R), F, kt(F)];
}(a));
h || c === "none" || I.push(...function(R, F, L, q) {
const Z = le(R);
let K = function(be, ze, Fe) {
const Qe = ["left", "right"], me = ["right", "left"], je = ["top", "bottom"], X = ["bottom", "top"];
switch (be) {
case "top":
case "bottom":
return Fe ? ze ? me : Qe : ze ? Qe : me;
case "left":
case "right":
return ze ? je : X;
default:
return [];
}
}(ce(R), L === "start", q);
return Z && (K = K.map((be) => be + "-" + Z), F && (K = K.concat(K.map(kt)))), K;
}(a, x, c, S));
const _ = [a, ...I], N = await Lt(t, k), P = [];
let M = ((r = s.flip) == null ? void 0 : r.overflows) || [];
if (d && P.push(N[$]), b) {
const { main: R, cross: F } = Vo(o, n, S);
P.push(N[R], N[F]);
}
if (M = [...M, { placement: o, overflows: P }], !P.every((R) => R <= 0)) {
var U, Q;
const R = (((U = s.flip) == null ? void 0 : U.index) || 0) + 1, F = _[R];
if (F)
return { data: { index: R, overflows: M }, reset: { placement: F } };
let L = (Q = M.filter((q) => q.overflows[0] <= 0).sort((q, Z) => q.overflows[1] - Z.overflows[1])[0]) == null ? void 0 : Q.placement;
if (!L)
switch (y) {
case "bestFit": {
var j;
const q = (j = M.map((Z) => [Z.placement, Z.overflows.filter((K) => K > 0).reduce((K, be) => K + be, 0)]).sort((Z, K) => Z[1] - K[1])[0]) == null ? void 0 : j[0];
q && (L = q);
break;
}
case "initialPlacement":
L = a;
}
if (o !== L)
return { reset: { placement: L } };
}
return {};
} };
}, Uc = function(e) {
return e === void 0 && (e = 0), { name: "offset", options: e, async fn(t) {
const { x: r, y: o } = t, s = await async function(n, a) {
const { placement: l, platform: i, elements: d } = n, b = await (i.isRTL == null ? void 0 : i.isRTL(d.floating)), h = ce(l), y = le(l), c = Je(l) === "x", x = ["left", "top"].includes(h) ? -1 : 1, k = b && c ? -1 : 1, $ = Ve(a, n);
let { mainAxis: T, crossAxis: S, alignmentAxis: I } = typeof $ == "number" ? { mainAxis: $, crossAxis: 0, alignmentAxis: null } : { mainAxis: 0, crossAxis: 0, alignmentAxis: null, ...$ };
return y && typeof I == "number" && (S = y === "end" ? -1 * I : I), c ? { x: S * k, y: T * x } : { x: T * x, y: S * k };
}(t, e);
return { x: r + s.x, y: o + s.y, data: s };
} };
};
function qc(e) {
return e === "x" ? "y" : "x";
}
const Kc = function(e) {
return e === void 0 && (e = {}), { name: "shift", options: e, async fn(t) {
const { x: r, y: o, placement: s } = t, { mainAxis: n = !0, crossAxis: a = !1, limiter: l = { fn: ($) => {
let { x: T, y: S } = $;
return { x: T, y: S };
} }, ...i } = Ve(e, t), d = { x: r, y: o }, b = await Lt(t, i), h = Je(ce(s)), y = qc(h);
let c = d[h], x = d[y];
if (n) {
const $ = h === "y" ? "bottom" : "right";
c = Kt(c + b[h === "y" ? "top" : "left"], c, c - b[$]);
}
if (a) {
const $ = y === "y" ? "bottom" : "right";
x = Kt(x + b[y === "y" ? "top" : "left"], x, x - b[$]);
}
const k = l.fn({ ...t, [h]: c, [y]: x });
return { ...k, data: { x: k.x - r, y: k.y - o } };
} };
}, Yc = function(e) {
return e === void 0 && (e = {}), { name: "size", options: e, async fn(t) {
const { placement: r, rects: o, platform: s, elements: n } = t, { apply: a = () => {
}, ...l } = Ve(e, t), i = await Lt(t, l), d = ce(r), b = le(r), h = Je(r) === "x", { width: y, height: c } = o.floating;
let x, k;
d === "top" || d === "bottom" ? (x = d, k = b === (await (s.isRTL == null ? void 0 : s.isRTL(n.floating)) ? "start" : "end") ? "left" : "right") : (k = d, x = b === "end" ? "top" : "bottom");
const $ = c - i[x], T = y - i[k], S = !t.middlewareData.shift;
let I = $, _ = T;
if (h) {
const P = y - i.left - i.right;
_ = b || S ? ut(T, P) : P;
} else {
const P = c - i.top - i.bottom;
I = b || S ? ut($, P) : P;
}
if (S && !b) {
const P = Ae(i.left, 0), M = Ae(i.right, 0), U = Ae(i.top, 0), Q = Ae(i.bottom, 0);
h ? _ = y - 2 * (P !== 0 || M !== 0 ? P + M : Ae(i.left, i.right)) : I = c - 2 * (U !== 0 || Q !== 0 ? U + Q : Ae(i.top, i.bottom));
}
await a({ ...t, availableWidth: _, availableHeight: I });
const N = await s.getDimensions(n.floating);
return y !== N.width || c !== N.height ? { reset: { rects: !0 } } : {};
} };
};
function oe(e) {
var t;
return ((t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;
}
function pe(e) {
return oe(e).getComputedStyle(e);
}
const qr = Math.min, nt = Math.max, Ft = Math.round;
function jo(e) {
const t = pe(e);
let r = parseFloat(t.width), o = parseFloat(t.height);
const s = e.offsetWidth, n = e.offsetHeight, a = Ft(r) !== s || Ft(o) !== n;
return a && (r = s, o = n), { width: r, height: o, fallback: a };
}
function Se(e) {
return Do(e) ? (e.nodeName || "").toLowerCase() : "";
}
let yt;
function Ho() {
if (yt)
return yt;
const e = navigator.userAgentData;
return e && Array.isArray(e.brands) ? (yt = e.brands.map((t) => t.brand + "/" + t.version).join(" "), yt) : navigator.userAgent;
}
function fe(e) {
return e instanceof oe(e).HTMLElement;
}
function _e(e) {
return e instanceof oe(e).Element;
}
function Do(e) {
return e instanceof oe(e).Node;
}
function Kr(e) {
return typeof ShadowRoot > "u" ? !1 : e instanceof oe(e).ShadowRoot || e instanceof ShadowRoot;
}
function Et(e) {
const { overflow: t, overflowX: r, overflowY: o, display: s } = pe(e);
return /auto|scroll|overlay|hidden|clip/.test(t + o + r) && !["inline", "contents"].includes(s);
}
function Jc(e) {
return ["table", "td", "th"].includes(Se(e));
}
function Yt(e) {
const t = /firefox/i.test(Ho()), r = pe(e), o = r.backdropFilter || r.WebkitBackdropFilter;
return r.transform !== "none" || r.perspective !== "none" || !!o && o !== "none" || t && r.willChange === "filter" || t && !!r.filter && r.filter !== "none" || ["transform", "perspective"].some((s) => r.willChange.includes(s)) || ["paint", "layout", "strict", "content"].some((s) => {
const n = r.contain;
return n != null && n.includes(s);
});
}
function Go() {
return !/^((?!chrome|android).)*safari/i.test(Ho());
}
function pr(e) {
return ["html", "body", "#document"].includes(Se(e));
}
function Wo(e) {
return _e(e) ? e : e.contextElement;
}
const Uo = { x: 1, y: 1 };
function Ge(e) {
const t = Wo(e);
if (!fe(t))
return Uo;
const r = t.getBoundingClientRect(), { width: o, height: s, fallback: n } = jo(t);
let a = (n ? Ft(r.width) : r.width) / o, l = (n ? Ft(r.height) : r.height) / s;
return a && Number.isFinite(a) || (a = 1), l && Number.isFinite(l) || (l = 1), { x: a, y: l };
}
function ct(e, t, r, o) {
var s, n;
t === void 0 && (t = !1), r === void 0 && (r = !1);
const a = e.getBoundingClientRect(), l = Wo(e);
let i = Uo;
t && (o ? _e(o) && (i = Ge(o)) : i = Ge(e));
const d = l ? oe(l) : window, b = !Go() && r;
let h = (a.left + (b && ((s = d.visualViewport) == null ? void 0 : s.offsetLeft) || 0)) / i.x, y = (a.top + (b && ((n = d.visualViewport) == null ? void 0 : n.offsetTop) || 0)) / i.y, c = a.width / i.x, x = a.height / i.y;
if (l) {
const k = oe(l), $ = o && _e(o) ? oe(o) : o;
let T = k.frameElement;
for (; T && o && $ !== k; ) {
const S = Ge(T), I = T.getBoundingClientRect(), _ = getComputedStyle(T);
I.x += (T.clientLeft + parseFloat(_.paddingLeft)) * S.x, I.y += (T.clientTop + parseFloat(_.paddingTop)) * S.y, h *= S.x, y *= S.y, c *= S.x, x *= S.y, h += I.x, y += I.y, T = oe(T).frameElement;
}
}
return { width: c, height: x, top: y, right: h + c, bottom: y + x, left: h, x: h, y };
}
function Ce(e) {
return ((Do(e) ? e.ownerDocument : e.document) || window.document).documentElement;
}
function Nt(e) {
return _e(e) ? { scrollLeft: e.scrollLeft, scrollTop: e.scrollTop } : { scrollLeft: e.pageXOffset, scrollTop: e.pageYOffset };
}
function qo(e) {
return ct(Ce(e)).left + Nt(e).scrollLeft;
}
function pt(e) {
if (Se(e) === "html")
return e;
const t = e.assignedSlot || e.parentNode || Kr(e) && e.host || Ce(e);
return Kr(t) ? t.host : t;
}
function Ko(e) {
const t = pt(e);
return pr(t) ? t.ownerDocument.body : fe(t) && Et(t) ? t : Ko(t);
}
function It(e, t) {
var r;
t === void 0 && (t = []);
const o = Ko(e), s = o === ((r = e.ownerDocument) == null ? void 0 : r.body), n = oe(o);
return s ? t.concat(n, n.visualViewport || [], Et(o) ? o : []) : t.concat(o, It(o));
}
function Yr(e, t, r) {
return t === "viewport" ? st(function(o, s) {
const n = oe(o), a = Ce(o), l = n.visualViewport;
let i = a.clientWidth, d = a.clientHeight, b = 0, h = 0;
if (l) {
i = l.width, d = l.height;
const y = Go();
(y || !y && s === "fixed") && (b = l.offsetLeft, h = l.offsetTop);
}
return { width: i, height: d, x: b, y: h };
}(e, r)) : _e(t) ? st(function(o, s) {
const n = ct(o, !0, s === "fixed"), a = n.top + o.clientTop, l = n.left + o.clientLeft, i = fe(o) ? Ge(o) : { x: 1, y: 1 };
return { width: o.clientWidth * i.x, height: o.clientHeight * i.y, x: l * i.x, y: a * i.y };
}(t, r)) : st(function(o) {
const s = Ce(o), n = Nt(o), a = o.ownerDocument.body, l = nt(s.scrollWidth, s.clientWidth, a.scrollWidth, a.clientWidth), i = nt(s.scrollHeight, s.clientHeight, a.scrollHeight, a.clientHeight);
let d = -n.scrollLeft + qo(o);
const b = -n.scrollTop;
return pe(a).direction === "rtl" && (d += nt(s.clientWidth, a.clientWidth) - l), { width: l, height: i, x: d, y: b };
}(Ce(e)));
}
function Jr(e) {
return fe(e) && pe(e).position !== "fixed" ? e.offsetParent : null;
}
function Qr(e) {
const t = oe(e);
let r = Jr(e);
for (; r && Jc(r) && pe(r).position === "static"; )
r = Jr(r);
return r && (Se(r) === "html" || Se(r) === "body" && pe(r).position === "static" && !Yt(r)) ? t : r || function(o) {
let s = pt(o);
for (; fe(s) && !pr(s); ) {
if (Yt(s))
return s;
s = pt(s);
}
return null;
}(e) || t;
}
function Qc(e, t, r) {
const o = fe(t), s = Ce(t), n = ct(e, !0, r === "fixed", t);
let a = { scrollLeft: 0, scrollTop: 0 };
const l = { x: 0, y: 0 };
if (o || !o && r !== "fixed")
if ((Se(t) !== "body" || Et(s)) && (a = Nt(t)), fe(t)) {
const i = ct(t, !0);
l.x = i.x + t.clientLeft, l.y = i.y + t.clientTop;
} else
s && (l.x = qo(s));
return { x: n.left + a.scrollLeft - l.x, y: n.top + a.scrollTop - l.y, width: n.width, height: n.height };
}
const Zc = { getClippingRect: function(e) {
let { element: t, boundary: r, rootBoundary: o, strategy: s } = e;
const n = r === "clippingAncestors" ? function(d, b) {
const h = b.get(d);
if (h)
return h;
let y = It(d).filter(($) => _e($) && Se($) !== "body"), c = null;
const x = pe(d).position === "fixed";
let k = x ? pt(d) : d;
for (; _e(k) && !pr(k); ) {
const $ = pe(k), T = Yt(k);
(x ? T || c : T || $.position !== "static" || !c || !["absolute", "fixed"].includes(c.position)) ? c = $ : y = y.filter((S) => S !== k), k = pt(k);
}
return b.set(d, y), y;
}(t, this._c) : [].concat(r), a = [...n, o], l = a[0], i = a.reduce((d, b) => {
const h = Yr(t, b, s);
return d.top = nt(h.top, d.top), d.right = qr(h.right, d.right), d.bottom = qr(h.bottom, d.bottom), d.left = nt(h.left, d.left), d;
}, Yr(t, l, s));
return { width: i.right - i.left, height: i.bottom - i.top, x: i.left, y: i.top };
}, convertOffsetParentRelativeRectToViewportRelativeRect: function(e) {
let { rect: t, offsetParent: r, strategy: o } = e;
const s = fe(r), n = Ce(r);
if (r === n)
return t;
let a = { scrollLeft: 0, scrollTop: 0 }, l = { x: 1, y: 1 };
const i = { x: 0, y: 0 };
if ((s || !s && o !== "fixed") && ((Se(r) !== "body" || Et(n)) && (a = Nt(r)), fe(r))) {
const d = ct(r);
l = Ge(r), i.x = d.x + r.clientLeft, i.y = d.y + r.clientTop;
}
return { width: t.width * l.x, height: t.height * l.y, x: t.x * l.x - a.scrollLeft * l.x + i.x, y: t.y * l.y - a.scrollTop * l.y + i.y };
}, isElement: _e, getDimensions: function(e) {
return fe(e) ? jo(e) : e.getBoundingClientRect();
}, getOffsetParent: Qr, getDocumentElement: Ce, getScale: Ge, async getElementRects(e) {
let { reference: t, floating: r, strategy: o } = e;
const s = this.getOffsetParent || Qr, n = this.getDimensions;
return { reference: Qc(t, await s(r), o), floating: { x: 0, y: 0, ...await n(r) } };
}, getClientRects: (e) => Array.from(e.getClientRects()), isRTL: (e) => pe(e).direction === "rtl" }, Xc = (e, t, r) => {
const o = /* @__PURE__ */ new Map(), s = { platform: Zc, ...r }, n = { ...s.platform, _c: o };
return Rc(e, t, { ...s, platform: n });
}, Me = {
// Disable popper components
disabled: !1,
// Default position offset along main axis (px)
distance: 5,
// Default position offset along cross axis (px)
skidding: 0,
// Default container where the tooltip will be appended
container: "body",
// Element used to compute position and size boundaries
boundary: void 0,
// Skip delay & CSS transitions when another popper is shown, so that the popper appear to instanly move to the new position.
instantMove: !1,
// Auto destroy tooltip DOM nodes (ms)
disposeTimeout: 5e3,
// Triggers on the popper itself
popperTriggers: [],
// Positioning strategy
strategy: "absolute",
// Prevent overflow
preventOverflow: !0,
// Flip to the opposite placement if needed
flip: !0,
// Shift on the cross axis to prevent the popper from overflowing
shift: !0,
// Overflow padding (px)
overflowPadding: 0,
// Arrow padding (px)
arrowPadding: 0,
// Compute arrow overflow (useful to hide it)
arrowOverflow: !0,
// Themes
themes: {
tooltip: {
// Default tooltip placement relative to target element
placement: "top",
// Default events that trigger the tooltip
triggers: ["hover", "focus", "touch"],
// Close tooltip on click on tooltip target
hideTriggers: (e) => [...e, "click"],
// Delay (ms)
delay: {
show: 200,
hide: 0
},
// Update popper on content resize
handleResize: !1,
// Enable HTML content in directive
html: !1,
// Displayed when tooltip content is loading
loadingContent: "..."
},
dropdown: {
// Default dropdown placement relative to target element
placement: "bottom",
// Default events that trigger the dropdown
triggers: ["click"],
// Delay (ms)
delay: 0,
// Update popper on content resize
handleResize: !0,
// Hide on clock outside
autoHide: !0
},
menu: {
$extend: "dropdown",
triggers: ["hover", "focus"],
popperTriggers: ["hover", "focus"],
delay: {
show: 0,
hide: 400
}
}
}
};
function Jt(e, t) {
let r = Me.themes[e] || {}, o;
do
o = r[t], typeof o > "u" ? r.$extend ? r = Me.themes[r.$extend] || {} : (r = null, o = Me[t]) : r = null;
while (r);
return o;
}
function e0(e) {
const t = [e];
let r = Me.themes[e] || {};
do
r.$extend && !r.$resetCss ? (t.push(r.$extend), r = Me.themes[r.$extend] || {}) : r = null;
while (r);
return t.map((o) => `v-popper--theme-${o}`);
}
function Zr(e) {
const t = [e];
let r = Me.themes[e] || {};
do
r.$extend ? (t.push(r.$extend), r = Me.themes[r.$extend] || {}) : r = null;
while (r);
return t;
}
let We = !1;
if (typeof window < "u") {
We = !1;
try {
const e = Object.defineProperty({}, "passive", {
get() {
We = !0;
}
});
window.addEventListener("test", null, e);
} catch {
}
}
let Yo = !1;
typeof window < "u" && typeof navigator < "u" && (Yo = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream);
const t0 = ["auto", "top", "bottom", "left", "right"].reduce((e, t) => e.concat([
t,
`${t}-start`,
`${t}-end`
]), []), Xr = {
hover: "mouseenter",
focus: "focus",
click: "click",
touch: "touchstart",
pointer: "pointerdown"
}, eo = {
hover: "mouseleave",
focus: "blur",
click: "click",
touch: "touchend",
pointer: "pointerup"
};
function to(e, t) {
const r = e.indexOf(t);
r !== -1 && e.splice(r, 1);
}
function Gt() {
return new Promise((e) => requestAnimationFrame(() => {
requestAnimationFrame(e);
}));
}
const ie = [];
let Ie = null;
const ro = {};
function oo(e) {
let t = ro[e];
return t || (t = ro[e] = []), t;
}
let Qt = function() {
};
typeof window < "u" && (Qt = window.Element);
function B(e) {
return function(t) {
return Jt(t.theme, e);
};
}
const Wt = "__floating-vue__popper", Jo = () => C({
name: "VPopper",
provide() {
return {
[Wt]: {
parentPopper: this
}
};
},
inject: {
[Wt]: { default: null }
},
props: {
theme: {
type: String,
required: !0
},
targetNodes: {
type: Function,
required: !0
},
referenceNode: {
type: Function,
default: null
},
popperNode: {
type: Function,
required: !0
},
shown: {
type: Boolean,
default: !1
},
showGroup: {
type: String,
default: null
},
// eslint-disable-next-line vue/require-prop-types
ariaId: {
default: null
},
disabled: {
type: Boolean,
default: B("disabled")
},
positioningDisabled: {
type: Boolean,
default: B("positioningDisabled")
},
placement: {
type: String,
default: B("placement"),
validator: (e) => t0.includes(e)
},
delay: {
type: [String, Number, Object],
default: B("delay")
},
distance: {
type: [Number, String],
default: B("distance")
},
skidding: {
type: [Number, String],
default: B("skidding")
},
triggers: {
type: Array,
default: B("triggers")
},
showTriggers: {
type: [Array, Function],
default: B("showTriggers")
},
hideTriggers: {
type: [Array, Function],
default: B("hideTriggers")
},
popperTriggers: {
type: Array,
default: B("popperTriggers")
},
popperShowTriggers: {
type: [Array, Function],
default: B("popperShowTriggers")
},
popperHideTriggers: {
type: [Array, Function],
default: B("popperHideTriggers")
},
container: {
type: [String, Object, Qt, Boolean],
default: B("container")
},
boundary: {
type: [String, Qt],
default: B("boundary")
},
strategy: {
type: String,
validator: (e) => ["absolute", "fixed"].includes(e),
default: B("strategy")
},
autoHide: {
type: [Boolean, Function],
default: B("autoHide")
},
handleResize: {
type: Boolean,
default: B("handleResize")
},
instantMove: {
type: Boolean,
default: B("instantMove")
},
eagerMount: {
type: Boolean,
default: B("eagerMount")
},
popperClass: {
type: [String, Array, Object],
default: B("popperClass")
},
computeTransformOrigin: {
type: Boolean,
default: B("computeTransformOrigin")
},
/**
* @deprecated
*/
autoMinSize: {
type: Boolean,
default: B("autoMinSize")
},
autoSize: {
type: [Boolean, String],
default: B("autoSize")
},
/**
* @deprecated
*/
autoMaxSize: {
type: Boolean,
default: B("autoMaxSize")
},
autoBoundaryMaxSize: {
type: Boolean,
default: B("autoBoundaryMaxSize")
},
preventOverflow: {
type: Boolean,
default: B("preventOverflow")
},
overflowPadding: {
type: [Number, String],
default: B("overflowPadding")
},
arrowPadding: {
type: [Number, String],
default: B("arrowPadding")
},
arrowOverflow: {
type: Boolean,
default: B("arrowOverflow")
},
flip: {
type: Boolean,
default: B("flip")
},
shift: {
type: Boolean,
default: B("shift")
},
shiftCrossAxis: {
type: Boolean,
default: B("shiftCrossAxis")
},
noAutoFocus: {
type: Boolean,
default: B("noAutoFocus")
},
disposeTimeout: {
type: Number,
default: B("disposeTimeout")
}
},
emits: [
"show",
"hide",
"update:shown",
"apply-show",
"apply-hide",
"close-group",
"close-directive",
"auto-hide",
"resize",
"dispose"
],
data() {
return {
isShown: !1,
isMounted: !1,
skipTransition: !1,
classes: {
showFrom: !1,
showTo: !1,
hideFrom: !1,
hideTo: !0
},
result: {
x: 0,
y: 0,
placement: "",
strategy: this.strategy,
arrow: {
x: 0,
y: 0,
centerOffset: 0
},
transformOrigin: null
},
shownChildren: /* @__PURE__ */ new Set(),
lastAutoHide: !0
};
},
computed: {
popperId() {
return this.ariaId != null ? this.ariaId : this.randomId;
},
shouldMountContent() {
return this.eagerMount || this.isMounted;
},
slotData() {
return {
popperId: this.popperId,
isShown: this.isShown,
shouldMountContent: this.shouldMountContent,
skipTransition: this.skipTransition,
autoHide: typeof this.autoHide == "function" ? this.lastAutoHide : this.autoHide,
show: this.show,
hide: this.hide,
handleResize: this.handleResize,
onResize: this.onResize,
classes: {
...this.classes,
popperClass: this.popperClass
},
result: this.positioningDisabled ? null : this.result,
attrs: this.$attrs
};
},
parentPopper() {
var e;
return (e = this[Wt]) == null ? void 0 : e.parentPopper;
},
hasPopperShowTriggerHover() {
var e, t;
return ((e = this.popperTriggers) == null ? void 0 : e.includes("hover")) || ((t = this.popperShowTriggers) == null ? void 0 : t.includes("hover"));
}
},
watch: {
shown: "$_autoShowHide",
disabled(e) {
e ? this.dispose() : this.init();
},
async container() {
this.isShown && (this.$_ensureTeleport(), await this.$_computePosition());
},
...[
"triggers",
"positioningDisabled"
].reduce((e, t) => (e[t] = "$_refreshListeners", e), {}),
...[
"placement",
"distance",
"skidding",
"boundary",
"strategy",
"overflowPadding",
"arrowPadding",
"preventOverflow",
"shift",
"shiftCrossAxis",
"flip"
].reduce((e, t) => (e[t] = "$_computePosition", e), {})
},
created() {
this.$_isDisposed = !0, this.randomId = `popper_${[Math.random(), Date.now()].map((e) => e.toString(36).substring(2, 10)).join("_")}`, this.autoMinSize && console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.'), this.autoMaxSize && console.warn("[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.");
},
mounted() {
this.init(), this.$_detachPopperNode();
},
activated() {
this.$_autoShowHide();
},
deactivated() {
this.hide();
},
beforeUnmount() {
this.dispose();
},
methods: {
show({ event: e = null, skipDelay: t = !1, force: r = !1 } = {}) {
var o, s;
(o = this.parentPopper) != null && o.lockedChild && this.parentPopper.lockedChild !== this || (this.$_pendingHide = !1, (r || !this.disabled) && (((s = this.parentPopper) == null ? void 0 : s.lockedChild) === this && (this.parentPopper.lockedChild = null), this.$_scheduleShow(e, t), this.$emit("show"), this.$_showFrameLocked = !0, requestAnimationFrame(() => {
this.$_showFrameLocked = !1;
})), this.$emit("update:shown", !0));
},
hide({ event: e = null, skipDelay: t = !1 } = {}) {
var r;
if (!this.$_hideInProgress) {
if (this.shownChildren.size > 0) {
this.$_pendingHide = !0;
return;
}
if (this.hasPopperShowTriggerHover && this.$_isAimingPopper()) {
this.parentPopper && (this.parentPopper.lockedChild = this, clearTimeout(this.parentPopper.lockedChildTimer), this.parentPopper.lockedChildTimer = setTimeout(() => {
this.parentPopper.lockedChild === this && (this.parentPopper.lockedChild.hide({ skipDelay: t }), this.parentPopper.lockedChild = null);
}, 1e3));
return;
}
((r = this.parentPopper) == null ? void 0 : r.lockedChild) === this && (this.parentPopper.lockedChild = null), this.$_pendingHide = !1, this.$_scheduleHide(e, t), this.$emit("hide"), this.$emit("update:shown", !1);
}
},
init() {
var e;
this.$_isDisposed && (this.$_isDisposed = !1, this.isMounted = !1, this.$_events = [], this.$_preventShow = !1, this.$_referenceNode = ((e = this.referenceNode) == null ? void 0 : e.call(this)) ?? this.$el, this.$_targetNodes = this.targetNodes().filter((t) => t.nodeType === t.ELEMENT_NODE), this.$_popperNode = this.popperNode(), this.$_innerNode = this.$_popperNode.querySelector(".v-popper__inner"), this.$_arrowNode = this.$_popperNode.querySelector(".v-popper__arrow-container"), this.$_swapTargetAttrs("title", "data-original-title"), this.$_detachPopperNode(), this.triggers.length && this.$_addEventListeners(), this.shown && this.show());
},
dispose() {
this.$_isDisposed || (this.$_isDisposed = !0, this.$_removeEventListeners(), this.hide({ skipDelay: !0 }), this.$_detachPopperNode(), this.isMounted = !1, this.isShown = !1, this.$_updateParentShownChildren(!1), this.$_swapTargetAttrs("data-original-title", "title"), this.$emit("dispose"));
},
async onResize() {
this.isShown && (await this.$_computePosition(), this.$emit("resize"));
},
async $_computePosition() {
if (this.$_isDisposed || this.positioningDisabled)
return;
const e = {
strategy: this.strategy,
middleware: []
};
(this.distance || this.skidding) && e.middleware.push(Uc({
mainAxis: this.distance,
crossAxis: this.skidding
}));
const t = this.placement.startsWith("auto");
if (t ? e.middleware.push(Gc({
alignment: this.placement.split("-")[1] ?? ""
})) : e.placement = this.placement, this.preventOverflow && (this.shift && e.middleware.push(Kc({
padding: this.overflowPadding,
boundary: this.boundary,
crossAxis: this.shiftCrossAxis
})), !t && this.flip && e.middleware.push(Wc({
padding: this.overflowPadding,
boundary: this.boundary
}))), e.middleware.push(Vc({
element: this.$_arrowNode,
padding: this.arrowPadding
})), this.arrowOverflow && e.middleware.push({
name: "arrowOverflow",
fn: ({ placement: o, rects: s, middlewareData: n }) => {
let a;
const { centerOffset: l } = n.arrow;
return o.startsWith("top") || o.startsWith("bottom") ? a = Math.abs(l) > s.reference.width / 2 : a = Math.abs(l) > s.reference.height / 2, {
data: {
overflow: a
}
};
}
}), this.autoMinSize || this.autoSize) {
const o = this.autoSize ? this.autoSize : this.autoMinSize ? "min" : null;
e.middleware.push({
name: "autoSize",
fn: ({ rects: s, placement: n, middlewareData: a }) => {
var l;
if ((l = a.autoSize) != null && l.skip)
return {};
let i, d;
return n.startsWith("top") || n.startsWith("bottom") ? i = s.reference.width : d = s.reference.height, this.$_innerNode.style[o === "min" ? "minWidth" : o === "max" ? "maxWidth" : "width"] = i != null ? `${i}px` : null, this.$_innerNode.style[o === "min" ? "minHeight" : o === "max" ? "maxHeight" : "height"] = d != null ? `${d}px` : null, {
data: {
skip: !0
},
reset: {
rects: !0
}
};
}
});
}
(this.autoMaxSize || this.autoBoundaryMaxSize) && (this.$_innerNode.style.maxWidth = null, this.$_innerNode.style.maxHeight = null, e.middleware.push(Yc({
boundary: this.boundary,
padding: this.overflowPadding,
apply: ({ availableWidth: o, availableHeight: s }) => {
this.$_innerNode.style.maxWidth = o != null ? `${o}px` : null, this.$_innerNode.style.maxHeight = s != null ? `${s}px` : null;
}
})));
const r = await Xc(this.$_referenceNode, this.$_popperNode, e);
Object.assign(this.result, {
x: r.x,
y: r.y,
placement: r.placement,
strategy: r.strategy,
arrow: {
...r.middlewareData.arrow,
...r.middlewareData.arrowOverflow
}
});
},
$_scheduleShow(e = null, t = !1) {
if (this.$_updateParentShownChildren(!0), this.$_hideInProgress = !1, clearTimeout(this.$_scheduleTimer), Ie && this.instantMove && Ie.instantMove && Ie !== this.parentPopper) {
Ie.$_applyHide(!0), this.$_applyShow(!0);
return;
}
t ? this.$_applyShow() : this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay("show"));
},
$_scheduleHide(e = null, t = !1) {
if (this.shownChildren.size > 0) {
this.$_pendingHide = !0;
return;
}
this.$_updateParentShownChildren(!1), this.$_hideInProgress = !0, clearTimeout(this.$_scheduleTimer), this.isShown && (Ie = this), t ? this.$_applyHide() : this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay("hide"));
},
$_computeDelay(e) {
const t = this.delay;
return parseInt(t && t[e] || t || 0);
},
async $_applyShow(e = !1) {
clearTimeout(this.$_disposeTimer), clearTimeout(this.$_scheduleTimer), this.skipTransition = e, !this.isShown && (this.$_ensureTeleport(), await Gt(), await this.$_computePosition(), await this.$_applyShowEffect(), this.positioningDisabled || this.$_registerEventListeners([
...It(this.$_referenceNode),
...It(this.$_popperNode)
], "scroll", () => {
this.$_computePosition();
}));
},
async $_applyShowEffect() {
if (this.$_hideInProgress)
return;
if (this.computeTransformOrigin) {
const t = this.$_referenceNode.getBoundingClientRect(), r = this.$_popperNode.querySelector(".v-popper__wrapper"), o = r.parentNode.getBoundingClientRect(), s = t.x + t.width / 2 - (o.left + r.offsetLeft), n = t.y + t.height / 2 - (o.top + r.offsetTop);
this.result.transformOrigin = `${s}px ${n}px`;
}
this.isShown = !0, this.$_applyAttrsToTarget({
"aria-describedby": this.popperId,
"data-popper-shown": ""
});
const e = this.showGroup;
if (e) {
let t;
for (let r = 0; r < ie.length; r++)
t = ie[r], t.showGroup !== e && (t.hide(), t.$emit("close-group"));
}
ie.push(this), document.body.classList.add("v-popper--some-open");
for (const t of Zr(this.theme))
oo(t).push(this), document.body.classList.add(`v-popper--some-open--${t}`);
this.$emit("apply-show"), this.classes.showFrom = !0, this.classes.showTo = !1, this.classes.hideFrom = !1, this.classes.hideTo = !1, await Gt(), this.classes.showFrom = !1, this.classes.showTo = !0, this.noAutoFocus || this.$_popperNode.focus();
},
async $_applyHide(e = !1) {
if (this.shownChildren.size > 0) {
this.$_pendingHide = !0, this.$_hideInProgress = !1;
return;
}
if (clearTimeout(this.$_scheduleTimer), !this.isShown)
return;
this.skipTransition = e, to(ie, this), ie.length === 0 && document.body.classList.remove("v-popper--some-open");
for (const r of Zr(this.theme)) {
const o = oo(r);
to(o, this), o.length === 0 && document.body.classList.remove(`v-popper--some-open--${r}`);
}
Ie === this && (Ie = null), this.isShown = !1, this.$_applyAttrsToTarget({
"aria-describedby": void 0,
"data-popper-shown": void 0
}), clearTimeout(this.$_disposeTimer);
const t = this.disposeTimeout;
t !== null && (this.$_disposeTimer = setTimeout(() => {
this.$_popperNode && (this.$_detachPopperNode(), this.isMounted = !1);
}, t)), this.$_removeEventListeners("scroll"), this.$emit("apply-hide"), this.classes.showFrom = !1, this.classes.showTo = !1, this.classes.hideFrom = !0, this.classes.hideTo = !1, await Gt(), this.classes.hideFrom = !1, this.classes.hideTo = !0;
},
$_autoShowHide() {
this.shown ? this.show() : this.hide();
},
$_ensureTeleport() {
if (this.$_isDisposed)
return;
let e = this.container;
if (typeof e == "string" ? e = window.document.querySelector(e) : e === !1 && (e = this.$_targetNodes[0].parentNode), !e)
throw new Error("No container for popover: " + this.container);
e.appendChild(this.$_popperNode), this.isMounted = !0;
},
$_addEventListeners() {
const e = (r) => {
this.isShown && !this.$_hideInProgress || (r.usedByTooltip = !0, !this.$_preventShow && this.show({ event: r }));
};
this.$_registerTriggerListeners(this.$_targetNodes, Xr, this.triggers, this.showTriggers, e), this.$_registerTriggerListeners([this.$_popperNode], Xr, this.popperTriggers, this.popperShowTriggers, e);
const t = (r) => {
r.usedByTooltip || this.hide({ event: r });
};
this.$_registerTriggerListeners(this.$_targetNodes, eo, this.triggers, this.hideTriggers, t), this.$_registerTriggerListeners([this.$_popperNode], eo, this.popperTriggers, this.popperHideTriggers, t);
},
$_registerEventListeners(e, t, r) {
this.$_events.push({ targetNodes: e, eventType: t, handler: r }), e.forEach((o) => o.addEventListener(t, r, We ? {
passive: !0
} : void 0));
},
$_registerTriggerListeners(e, t, r, o, s) {
let n = r;
o != null && (n = typeof o == "function" ? o(n) : o), n.forEach((a) => {
const l = t[a];
l && this.$_registerEventListeners(e, l, s);
});
},
$_removeEventListeners(e) {
const t = [];
this.$_events.forEach((r) => {
const { targetNodes: o, eventType: s, handler: n } = r;
!e || e === s ? o.forEach((a) => a.removeEventListener(s, n)) : t.push(r);
}), this.$_events = t;
},
$_refreshListeners() {
this.$_isDisposed || (this.$_removeEventListeners(), this.$_addEventListeners());
},
$_handleGlobalClose(e, t = !1) {
this.$_showFrameLocked || (this.hide({ event: e }), e.closePopover ? this.$emit("close-directive") : this.$emit("auto-hide"), t && (this.$_preventShow = !0, setTimeout(() => {
this.$_preventShow = !1;
}, 300)));
},
$_detachPopperNode() {
this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode);
},
$_swapTargetAttrs(e, t) {
for (const r of this.$_targetNodes) {
const o = r.getAttribute(e);
o && (r.removeAttribute(e), r.setAttribute(t, o));
}
},
$_applyAttrsToTarget(e) {
for (const t of this.$_targetNodes)
for (const r in e) {
const o = e[r];
o == null ? t.removeAttribute(r) : t.setAttribute(r, o);
}
},
$_updateParentShownChildren(e) {
let t = this.parentPopper;
for (; t; )
e ? t.shownChildren.add(this.randomId) : (t.shownChildren.delete(this.randomId), t.$_pendingHide && t.hide()), t = t.parentPopper;
},
$_isAimingPopper() {
const e = this.$_referenceNode.getBoundingClientRect();
if (at >= e.left && at <= e.right && lt >= e.top && lt <= e.bottom) {
const t = this.$_popperNode.getBoundingClientRect(), r = at - ye, o = lt - we, s = t.left + t.width / 2 - ye + (t.top + t.height / 2) - we + t.width + t.height, n = ye + r * s, a = we + o * s;
return wt(ye, we, n, a, t.left, t.top, t.left, t.bottom) || // Left edge
wt(ye, we, n, a, t.left, t.top, t.right, t.top) || // Top edge
wt(ye, we, n, a, t.right, t.top, t.right, t.bottom) || // Right edge
wt(ye, we, n, a, t.left, t.bottom, t.right, t.bottom);
}
return !1;
}
},
render() {
return this.$slots.default(this.slotData);
}
});
typeof document < "u" && typeof window < "u" && (Yo ? (document.addEventListener("touchstart", so, We ? {
passive: !0,
capture: !0
} : !0), document.addEventListener("touchend", o0, We ? {
passive: !0,
capture: !0
} : !0)) : (window.addEventListener("mousedown", so, !0), window.addEventListener("click", r0, !0)), window.addEventListener("resize", a0));
function so(e) {
for (let t = 0; t < ie.length; t++) {
const r = ie[t];
try {
const o = r.popperNode();
r.$_mouseDownContains = o.contains(e.target);
} catch {
}
}
}
function r0(e) {
Qo(e);
}
function o0(e) {
Qo(e, !0);
}
function Qo(e, t = !1) {
const r = {};
for (let o = ie.length - 1; o >= 0; o--) {
const s = ie[o];
try {
const n = s.$_containsGlobalTarget = s0(s, e);
s.$_pendingHide = !1, requestAnimationFrame(() => {
if (s.$_pendingHide = !1, !r[s.randomId] && no(s, n, e)) {
if (s.$_handleGlobalClose(e, t), !e.closeAllPopover && e.closePopover && n) {
let l = s.parentPopper;
for (; l; )
r[l.randomId] = !0, l = l.parentPopper;
return;
}
let a = s.parentPopper;
for (; a && no(a, a.$_containsGlobalTarget, e); )
a.$_handleGlobalClose(e, t), a = a.parentPopper;
}
});
} catch {
}
}
}
function s0(e, t) {
const r = e.popperNode();
return e.$_mouseDownContains || r.contains(t.target);
}
function no(e, t, r) {
return r.closeAllPopover || r.closePopover && t || n0(e, r) && !t;
}
function n0(e, t) {
if (typeof e.autoHide == "function") {
const r = e.autoHide(t);
return e.lastAutoHide = r, r;
}
return e.autoHide;
}
function a0(e) {
for (let t = 0; t < ie.length; t++)
ie[t].$_computePosition(e);
}
let ye = 0, we = 0, at = 0, lt = 0;
typeof window < "u" && window.addEventListener("mousemove", (e) => {
ye = at, we = lt, at = e.clientX, lt = e.clientY;
}, We ? {
passive: !0
} : void 0);
function wt(e, t, r, o, s, n, a, l) {
const i = ((a - s) * (t - n) - (l - n) * (e - s)) / ((l - n) * (r - e) - (a - s) * (o - t)), d = ((r - e) * (t - n) - (o - t) * (e - s)) / ((l - n) * (r - e) - (a - s) * (o - t));
return i >= 0 && i <= 1 && d >= 0 && d <= 1;
}
const l0 = {
extends: Jo()
}, fr = (e, t) => {
const r = e.__vccOpts || e;
for (const [o, s] of t)
r[o] = s;
return r;
};
function i0(e, t, r, o, s, n) {
return u(), g("div", {
ref: "reference",
class: w(["v-popper", {
"v-popper--shown": e.slotData.isShown
}])
}, [
v(e.$slots, "default", Te(po(e.slotData)))
], 2);
}
const d0 = /* @__PURE__ */ fr(l0, [["render", i0]]);
function u0() {
var e = window.navigator.userAgent, t = e.indexOf("MSIE ");
if (t > 0)
return parseInt(e.substring(t + 5, e.indexOf(".", t)), 10);
var r = e.indexOf("Trident/");
if (r > 0) {
var o = e.indexOf("rv:");
return parseInt(e.substring(o + 3, e.indexOf(".", o)), 10);
}
var s = e.indexOf("Edge/");
return s > 0 ? parseInt(e.substring(s + 5, e.indexOf(".", s)), 10) : -1;
}
let _t;
function Zt() {
Zt.init || (Zt.init = !0, _t = u0() !== -1);
}
var Rt = {
name: "ResizeObserver",
props: {
emitOnMount: {
type: Boolean,
default: !1
},
ignoreWidth: {
type: Boolean,
default: !1
},
ignoreHeight: {
type: Boolean,
default: !1
}
},
emits: [
"notify"
],
mounted() {
Zt(), er(() => {
this._w = this.$el.offsetWidth, this._h = this.$el.offsetHeight, this.emitOnMount && this.emitSize();
});
const e = document.createElement("object");
this._resizeObject = e, e.setAttribute("aria-hidden", "true"), e.setAttribute("tabindex", -1), e.onload = this.addResizeHandlers, e.type = "text/html", _t && this.$el.appendChild(e), e.data = "about:blank", _t || this.$el.appendChild(e);
},
beforeUnmount() {
this.removeResizeHandlers();
},
methods: {
compareAndNotify() {
(!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) && (this._w = this.$el.offsetWidth, this._h = this.$el.offsetHeight, this.emitSize());
},
emitSize() {
this.$emit("notify", {
width: this._w,
height: this._h
});
},
addResizeHandlers() {
this._resizeObject.contentDocument.defaultView.addEventListener("resize", this.compareAndNotify), this.compareAndNotify();
},
removeResizeHandlers() {
this._resizeObject && this._resizeObject.onload && (!_t && this._resizeObject.contentDocument && this._resizeObject.contentDocument.defaultView.removeEventListener("resize", this.compareAndNotify), this.$el.removeChild(this._resizeObject), this._resizeObject.onload = null, this._resizeObject = null);
}
}
};
const c0 = /* @__PURE__ */ us("data-v-b329ee4c");
io("data-v-b329ee4c");
const p0 = {
class: "resize-observer",
tabindex: "-1"
};
uo();
const f0 = /* @__PURE__ */ c0((e, t, r, o, s, n) => (u(), G("div", p0)));
Rt.render = f0;
Rt.__scopeId = "data-v-b329ee4c";
Rt.__file = "src/components/ResizeObserver.vue";
const Zo = (e = "theme") => ({
computed: {
themeClass() {
return e0(this[e]);
}
}
}), g0 = C({
name: "VPopperContent",
components: {
ResizeObserver: Rt
},
mixins: [
Zo()
],
props: {
popperId: String,
theme: String,
shown: Boolean,
mounted: Boolean,
skipTransition: Boolean,
autoHide: Boolean,
handleResize: Boolean,
classes: Object,
result: Object
},
emits: [
"hide",
"resize"
],
methods: {
toPx(e) {
return e != null && !isNaN(e) ? `${e}px` : null;
}
}
}), h0 = ["id", "aria-hidden", "tabindex", "data-popper-placement"], b0 = {
ref: "inner",
class: "v-popper__inner"
}, m0 = /* @__PURE__ */ f("div", { class: "v-popper__arrow-outer" }, null, -1), v0 = /* @__PURE__ */ f("div", { class: "v-popper__arrow-inner" }, null, -1), y0 = [
m0,
v0
];
function w0(e, t, r, o, s, n) {
const a = he("ResizeObserver");
return u(), g("div", {
id: e.popperId,
ref: "popover",
class: w(["v-popper__popper", [
e.themeClass,
e.classes.popperClass,
{
"v-popper__popper--shown": e.shown,
"v-popper__popper--hidden": !e.shown,
"v-popper__popper--show-from": e.classes.showFrom,
"v-popper__popper--show-to": e.classes.showTo,
"v-popper__popper--hide-from": e.classes.hideFrom,
"v-popper__popper--hide-to": e.classes.hideTo,
"v-popper__popper--skip-transition": e.skipTransition,
"v-popper__popper--arrow-overflow": e.result && e.result.arrow.overflow,
"v-popper__popper--no-positioning": !e.result
}
]]),
style: ot(e.result ? {
position: e.result.strategy,
transform: `translate3d(${Math.round(e.result.x)}px,${Math.round(e.result.y)}px,0)`
} : void 0),
"aria-hidden": e.shown ? "false" : "true",
tabindex: e.autoHide ? 0 : void 0,
"data-popper-placement": e.result ? e.result.placement : void 0,
onKeyup: t[2] || (t[2] = co((l) => e.autoHide && e.$emit("hide"), ["esc"]))
}, [
f("div", {
class: "v-popper__backdrop",
onClick: t[0] || (t[0] = (l) => e.autoHide && e.$emit("hide"))
}),
f("div", {
class: "v-popper__wrapper",
style: ot(e.result ? {
transformOrigin: e.result.transformOrigin
} : void 0)
}, [
f("div", b0, [
e.mounted ? (u(), g(Y, { key: 0 }, [
f("div", null, [
v(e.$slots, "default")
]),
e.handleResize ? (u(), G(a, {
key: 0,
onNotify: t[1] || (t[1] = (l) => e.$emit("resize", l))
})) : z("", !0)
], 64)) : z("", !0)
], 512),
f("div", {
ref: "arrow",
class: "v-popper__arrow-container",
style: ot(e.result ? {
left: e.toPx(e.result.arrow.x),
top: e.toPx(e.result.arrow.y)
} : void 0)
}, y0, 4)
], 4)
], 46, h0);
}
const Xo = /* @__PURE__ */ fr(g0, [["render", w0]]), es = {
methods: {
show(...e) {
return this.$refs.popper.show(...e);
},
hide(...e) {
return this.$refs.popper.hide(...e);
},
dispose(...e) {
return this.$refs.popper.dispose(...e);
},
onResize(...e) {
return this.$refs.popper.onResize(...e);
}
}
}, x0 = C({
name: "VPopperWrapper",
components: {
Popper: d0,
PopperContent: Xo
},
mixins: [
es,
Zo("finalTheme")
],
props: {
theme: {
type: String,
default: null
}
},
computed: {
finalTheme() {
return this.theme ?? this.$options.vPopperTheme;
}
},
methods: {
getTargetNodes() {
return Array.from(this.$el.children).filter((e) => e !== this.$refs.popperContent.$el);
}
}
});
function k0(e, t, r, o, s, n) {
const a = he("PopperContent"), l = he("Popper");
return u(), G(l, {
ref: "popper",
theme: e.finalTheme,
"target-nodes": e.getTargetNodes,
"popper-node": () => e.$refs.popperContent.$el,
class: w([
e.themeClass
])
}, {
default: D(({
popperId: i,
isShown: d,
shouldMountContent: b,
skipTransition: h,
autoHide: y,
show: c,
hide: x,
handleResize: k,
onResize: $,
classes: T,
result: S
}) => [
v(e.$slots, "default", {
shown: d,
show: c,
hide: x
}),
Be(a, {
ref: "popperContent",
"popper-id": i,
theme: e.finalTheme,
shown: d,
mounted: b,
"skip-transition": h,
"auto-hide": y,
"handle-resize": k,
classes: T,
result: S,
onHide: x,
onResize: $
}, {
default: D(() => [
v(e.$slots, "popper", {
shown: d,
hide: x
})
]),
_: 2
}, 1032, ["popper-id", "theme", "shown", "mounted", "skip-transition", "auto-hide", "handle-resize", "classes", "result", "onHide", "onResize"])
]),
_: 3
}, 8, ["theme", "target-nodes", "popper-node", "class"]);
}
const gr = /* @__PURE__ */ fr(x0, [["render", k0]]);
({
...gr
});
({
...gr
});
const _0 = {
...gr,
name: "VTooltip",
vPopperTheme: "tooltip"
};
C({
name: "VTooltipDirective",
components: {
Popper: Jo(),
PopperContent: Xo
},
mixins: [
es
],
inheritAttrs: !1,
props: {
theme: {
type: String,
default: "tooltip"
},
html: {
type: Boolean,
default: (e) => Jt(e.theme, "html")
},
content: {
type: [String, Number, Function],
default: null
},
loadingContent: {
type: String,
default: (e) => Jt(e.theme, "loadingContent")
},
targetNodes: {
type: Function,
required: !0
}
},
data() {
return {
asyncContent: null
};
},
computed: {
isContentAsync() {
return typeof this.content == "function";
},
loading() {
return this.isContentAsync && this.asyncContent == null;
},
finalContent() {
return this.isContentAsync ? this.loading ? this.loadingContent : this.asyncContent : this.content;
}
},
watch: {
content: {
handler() {
this.fetchContent(!0);
},
immediate: !0
},
async finalContent() {
await this.$nextTick(), this.$refs.popper.onResize();
}
},
created() {
this.$_fetchId = 0;
},
methods: {
fetchContent(e) {
if (typeof this.content == "function" && this.$_isShown && (e || !this.$_loading && this.asyncContent == null)) {
this.asyncContent = null, this.$_loading = !0;
const t = ++this.$_fetchId, r = this.content(this);
r.then ? r.then((o) => this.onResult(t, o)) : this.onResult(t, r);
}
},
onResult(e, t) {
e === this.$_fetchId && (this.$_loading = !1, this.asyncContent = t);
},
onShow() {
this.$_isShown = !0, this.fetchContent();
},
onHide() {
this.$_isShown = !1;
}
}
});
const C0 = _0;
const $0 = { class: "flex items-start" }, Hf = /* @__PURE__ */ C({
__name: "FwbTooltip",
props: {
placement: { default: "top" },
theme: { default: "dark" },
trigger: { default: "hover" }
},
setup(e) {
const t = e, r = p(() => ({
light: "tooltip-light",
dark: "tooltip-dark"
})[t.theme]);
return (o, s) => (u(), g("div", $0, [
Be(m(C0), {
placement: o.placement,
triggers: [o.trigger],
theme: r.value,
"auto-hide": ""
}, {
popper: D(() => [
v(o.$slots, "content")
]),
default: D(() => [
v(o.$slots, "trigger")
]),
_: 3
}, 8, ["placement", "triggers", "theme"])
]));
}
});
const S0 = "block text-sm font-medium text-gray-900 dark:text-gray-300", T0 = "w-4 h-4 rounded bg-gray-100 border-gray-300 dark:ring-offset-gray-800 focus:ring-2 dark:bg-gray-600 dark:border-gray-500";
function P0() {
const e = p(() => se(T0)), t = p(() => S0);
return {
checkboxClasses: e,
labelClasses: t
};
}
const z0 = { class: "flex gap-3 items-center justify-start" }, F0 = ["disabled"], Df = /* @__PURE__ */ C({
__name: "FwbCheckbox",
props: {
disabled: { type: Boolean, default: !1 },
label: { default: "" },
modelValue: { type: Boolean, default: !1 }
},
emits: ["update:modelValue"],
setup(e, { emit: t }) {
const r = e, o = p({
get() {
return r.modelValue;
},
set(a) {
t("update:modelValue", a);
}
}), {
checkboxClasses: s,
labelClasses: n
} = P0();
return (a, l) => (u(), g("label", z0, [
Pe(f("input", {
"onUpdate:modelValue": l[0] || (l[0] = (i) => o.value = i),
class: w(m(s)),
disabled: a.disabled,
type: "checkbox"
}, null, 10, F0), [
[fo, o.value]
]),
a.label ? (u(), g("span", {
key: 0,
class: w(m(n))
}, O(a.label), 3)) : z("", !0),
v(a.$slots, "default")
]));
}
}), I0 = "block w-full text-sm text-gray-900 border-[1px] border-gray-300 rounded-lg cursor-pointer bg-gray-50 dark:text-gray-400 focus:outline-none dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400", A0 = "block mb-2 text-sm font-medium text-gray-900 dark:text-white", B0 = "flex flex-col items-center justify-center w-full h-64 border-2 border-gray-300 border-dashed rounded-lg cursor-pointer bg-gray-50 dark:hover:bg-bray-800 dark:bg-gray-700 hover:bg-gray-100 dark:border-gray-600 dark:hover:border-gray-500 dark:hover:bg-gray-600", O0 = "flex flex-col items-center justify-center pt-5 pb-6", M0 = "!-mb-2 text-sm text-gray-500 dark:text-gray-400";
function L0(e) {
const t = p(() => se(
I0,
"text-" + e
)), r = p(() => A0), o = p(() => B0), s = p(() => O0), n = p(() => M0);
return {
fileInpClasses: t,
labelClasses: r,
dropzoneLabelClasses: o,
dropzoneWrapClasses: s,
dropzoneTextClasses: n
};
}
const E0 = { key: 0 }, N0 = ["multiple"], R0 = /* @__PURE__ */ f("svg", {
"aria-hidden": "true",
class: "w-8 h-8 text-gray-500 dark:text-gray-400",
fill: "none",
viewBox: "0 0 20 16",
xmlns: "http://www.w3.org/2000/svg"
}, [
/* @__PURE__ */ f("path", {
d: "M13 13h3a3 3 0 0 0 0-6h-.025A5.56 5.56 0 0 0 16 6.5 5.5 5.5 0 0 0 5.207 5.021C5.137 5.017 5.071 5 5 5a4 4 0 0 0 0 8h2.167M10 15V6m0 0L8 8m2-2 2 2",
"stroke-linecap": "round",
"stroke-linejoin": "round",
"stroke-width": "2",
stroke: "currentColor"
})
], -1), V0 = { key: 0 }, j0 = /* @__PURE__ */ f("span", { class: "font-semibold" }, "Click to upload", -1), H0 = { key: 1 }, D0 = ["multiple"], Gf = /* @__PURE__ */ C({
__name: "FwbFileInput",
props: {
dropzone: { type: Boolean, default: !1 },
label: { default: "" },
modelValue: { default: null },
multiple: { type: Boolean, default: !1 },
size: { default: "sm" }
},
emits: ["update:modelValue"],
setup(e, { emit: t }) {
const r = e, o = p(() => Ke(r.modelValue) ? r.modelValue.map((c) => c.name).join(", ") : r.modelValue instanceof FileList ? Array.from(r.modelValue).map((c) => c.name).join(",") : r.modelValue instanceof File && r.modelValue.name || ""), s = p({
get() {
return r.modelValue;
},
set(c) {
t("update:modelValue", c);
}
}), n = (c) => {
const x = c.target;
r.multiple ? s.value = Array.from(x.files ?? []) : s.value = x.files?.[0] ?? null;
}, a = (c) => {
c.preventDefault();
const x = [];
c.dataTransfer?.items ? (Object.values(c.dataTransfer.items).forEach((k) => {
k.kind === "file" && x.push(k.getAsFile());
}), r.multiple ? s.value = x : s.value = x[0]) : c.dataTransfer?.files && Object.values(c.dataTransfer.files).forEach((k) => {
s.value = k;
});
}, l = (c) => {
c.preventDefault();
}, {
fileInpClasses: i,
labelClasses: d,
dropzoneLabelClasses: b,
dropzoneWrapClasses: h,
dropzoneTextClasses: y
} = L0(r.size);
return (c, x) => (u(), g("div", null, [
c.dropzone ? (u(), g("div", {
key: 1,
class: "flex items-center justify-center",
onChange: n,
onDragover: l,
onDrop: a
}, [
f("label", {
class: w(m(b))
}, [
f("div", {
class: w(m(h))
}, [
R0,
s.value ? (u(), g("p", H0, "File: " + O(o.value), 1)) : (u(), g("div", V0, [
f("p", {
class: w(m(y))
}, [
j0,
re(" or drag and drop ")
], 2),
v(c.$slots, "default")
]))
], 2),
f("input", {
multiple: c.multiple,
type: "file",
class: "hidden"
}, null, 8, D0)
], 2)
], 32)) : (u(), g("div", E0, [
f("label", null, [
f("span", {
class: w(m(d))
}, O(c.label), 3),
f("input", {
class: w(m(i)),
multiple: c.multiple,
type: "file",
onChange: n
}, null, 42, N0)
]),
v(c.$slots, "default")
]))
]));
}
}), De = {
Success: "success",
Error: "error"
}, G0 = "block mb-2 text-sm font-medium", W0 = "bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500", U0 = "cursor-not-allowed bg-gray-100", q0 = {
lg: "p-4",
md: "p-2.5 text-sm",
sm: "p-2 text-sm"
}, K0 = "bg-green-50 border-green-500 dark:border-green-500 text-green-900 dark:text-green-400 placeholder-green-700 dark:placeholder-green-500 focus:ring-green-500 focus:border-green-500", Y0 = "bg-red-50 border-red-500 text-red-900 placeholder-red-700 focus:ring-red-500 focus:border-red-500 dark:text-red-500 dark:placeholder-red-500 dark:border-red-500";
function J0(e) {
const t = p(() => {
const o = e.validationStatus.value, s = o === De.Success ? K0 : o === De.Error ? Y0 : "";
return E(
W0,
s,
q0[e.size.value],
e.disabled.value ? U0 : ""
);
}), r = p(() => {
const o = e.validationStatus.value, s = o === De.Success ? "text-green-700 dark:text-green-500" : o === De.Error ? "text-red-700 dark:text-red-500" : "text-gray-900 dark:text-white";
return E(G0, s);
});
return {
inputClasses: t,
labelClasses: r
};
}
const Q0 = { class: "flex relative" }, Z0 = {
key: 0,
class: "w-10 flex absolute inset-y-0 left-0 items-center pl-3 pointer-events-none overflow-hidden"
}, X0 = ["disabled", "type", "required"], ep = {
key: 1,
class: "absolute right-2.5 bottom-2.5"
}, tp = {
key: 2,
class: "mt-2 text-sm text-gray-500 dark:text-gray-400"
}, Wf = /* @__PURE__ */ C({
__name: "FwbInput",
props: {
disabled: { type: Boolean, default: !1 },
label: { default: "" },
modelValue: { default: "" },
required: { type: Boolean, default: !1 },
size: { default: "md" },
type: { default: "text" },
validationStatus: { default: void 0 }
},
setup(e) {
const t = e, r = Co(t, "modelValue"), { inputClasses: o, labelClasses: s } = J0(J(t)), n = p(() => E(
"mt-2 text-sm",
t.validationStatus === De.Success ? "text-green-600 dark:text-green-500" : "",
t.validationStatus === De.Error ? "text-red-600 dark:text-red-500" : ""
));
return (a, l) => (u(), g("div", null, [
a.label ? (u(), g("label", {
key: 0,
class: w(m(s))
}, O(a.label), 3)) : z("", !0),
f("div", Q0, [
a.$slots.prefix ? (u(), g("div", Z0, [
v(a.$slots, "prefix")
])) : z("", !0),
Pe(f("input", ne(a.$attrs, {
"onUpdate:modelValue": l[0] || (l[0] = (i) => Xt(r) ? r.value = i : null),
disabled: a.disabled,
type: a.type,
required: a.required,
class: [m(o), a.$slots.prefix ? "pl-10" : ""]
}), null, 16, X0), [
[cs, m(r)]
]),
a.$slots.suffix ? (u(), g("div", ep, [
v(a.$slots, "suffix")
])) : z("", !0)
]),
a.$slots.validationMessage ? (u(), g("p", {
key: 1,
class: w(n.value)
}, [
v(a.$slots, "validationMessage")
], 2)) : z("", !0),
a.$slots.helper ? (u(), g("p", tp, [
v(a.$slots, "helper")
])) : z("", !0)
]));
}
}), rp = { class: "flex w-[100%] items-center" }, op = ["disabled", "name", "value"], sp = "w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 focus:ring-blue-500 dark:focus:ring-blue-600 dark:ring-offset-gray-800 focus:ring-2 dark:bg-gray-700 dark:border-gray-600", np = "m-2 mr-0 text-sm font-medium text-gray-900 dark:text-gray-300", Uf = /* @__PURE__ */ C({
__name: "FwbRadio",
props: {
modelValue: { default: "" },
name: { default: "" },
value: { default: "" },
label: { default: "" },
disabled: { type: Boolean, default: !1 }
},
emits: ["update:modelValue"],
setup(e, { emit: t }) {
const r = e, o = p({
get() {
return r.modelValue;
},
set(a) {
t("update:modelValue", a);
}
}), s = p(() => sp), n = p(() => E(np, r.disabled && "text-gray-400 dark:text-gray-500"));
return (a, l) => (u(), g("label", rp, [
Pe(f("input", {
"onUpdate:modelValue": l[0] || (l[0] = (i) => o.value = i),
type: "radio",
disabled: a.disabled,
name: a.name,
value: a.value,
class: w(s.value)
}, null, 10, op), [
[ps, o.value]
]),
f("span", {
class: w(n.value)
}, O(a.label), 3),
v(a.$slots, "default")
]));
}
}), ap = "w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700", lp = "block mb-2 text-sm font-medium text-gray-900 dark:text-white", ip = {
lg: "h-3 range-lg",
md: "h-2 range-md",
sm: "h-1 range-sm"
};
function dp(e) {
const t = p(() => se(
ap,
ip[e.size.value]
)), r = p(() => lp);
return {
rangeClasses: t,
labelClasses: r
};
}
const up = { class: "flex flex-col" }, cp = ["step", "min", "max", "disabled"], pp = /* @__PURE__ */ C({
__name: "FwbRange",
props: {
disabled: { type: Boolean, default: !1 },
label: { default: "Range slider" },
max: { default: 100 },
min: { default: 0 },
modelValue: { default: 50 },
size: { default: "md" },
steps: { default: 1 }
},
emits: ["update:modelValue"],
setup(e, { emit: t }) {
const r = e, o = p({
get() {
return r.modelValue;
},
set(a) {
t("update:modelValue", a);
}
}), { rangeClasses: s, labelClasses: n } = dp(J(r));
return (a, l) => (u(), g("label", up, [
f("span", {
class: w(m(n))
}, O(a.label), 3),
Pe(f("input", {
"onUpdate:modelValue": l[0] || (l[0] = (i) => o.value = i),
step: a.steps,
min: a.min,
max: a.max,
disabled: a.disabled,
type: "range",
class: w(m(s))
}, null, 10, cp), [
[go, o.value]
])
]));
}
});
const qf = /* @__PURE__ */ ge(pp, [["__scopeId", "data-v-c4cfe3d4"]]), xe = {
Success: "success",
Error: "error"
}, fp = "block mb-2 text-sm font-medium", gp = "w-full text-gray-900 bg-gray-50 focus:ring-primary-500 focus:border-primary-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-primary-500 dark:focus:border-primary-500", hp = "cursor-not-allowed bg-gray-100", bp = "bg-transparent dark:bg-transparent border-b-2 border-gray-200 appearance-none dark:border-gray-700 focus:outline-none focus:ring-0 focus:border-gray-200 peer", mp = {
lg: "p-4",
md: "p-2.5 text-sm",
sm: "p-2 text-sm"
}, vp = "bg-green-50 border-green-500 dark:border-green-500 text-green-900 dark:text-green-400 placeholder-green-700 dark:placeholder-green-500 focus:ring-green-500 focus:border-green-500", yp = "bg-red-50 border-red-500 text-red-900 placeholder-red-700 focus:ring-red-500 focus:border-red-500 dark:text-red-500 dark:placeholder-red-500 dark:border-red-500";
function wp(e) {
const t = p(() => {
const o = e.validationStatus.value, s = o === xe.Success ? vp : o === xe.Error ? yp : "", n = o === xe.Success ? "focus:border-green-500" : o === xe.Error ? "focus:border-red-500" : "";
return E(
gp,
s,
mp[e.size.value],
e.disabled.value && hp,
e.underline.value ? bp : "border border-gray-300 rounded-lg",
e.underline.value && n
);
}), r = p(() => {
const o = e.validationStatus.value, s = o === xe.Success ? "text-green-700 dark:text-green-500" : o === xe.Error ? "text-red-700 dark:text-red-500" : "text-gray-900 dark:text-white";
return E(fp, s);
});
return {
selectClasses: t,
labelClasses: r
};
}
const xp = ["disabled"], kp = {
disabled: "",
selected: "",
value: ""
}, _p = ["value"], Cp = {
key: 1,
class: "mt-2 text-sm text-gray-500 dark:text-gray-400"
}, Kf = /* @__PURE__ */ C({
__name: "FwbSelect",
props: {
modelValue: { default: "" },
label: { default: "" },
options: { default: () => [] },
placeholder: { default: "Please select one" },
disabled: { type: Boolean, default: !1 },
underline: { type: Boolean, default: !1 },
size: { default: "md" },
validationStatus: { default: void 0 }
},
emits: ["update:modelValue"],
setup(e, { emit: t }) {
const r = e, o = Co(r, "modelValue", t), { selectClasses: s, labelClasses: n } = wp(J(r)), a = p(() => E(
"mt-2 text-sm",
r.validationStatus === xe.Success ? "text-green-600 dark:text-green-500" : "",
r.validationStatus === xe.Error ? "text-red-600 dark:text-red-500" : ""
));
return (l, i) => (u(), g("div", null, [
f("label", null, [
l.label ? (u(), g("span", {
key: 0,
class: w(m(n))
}, O(l.label), 3)) : z("", !0),
Pe(f("select", {
"onUpdate:modelValue": i[0] || (i[0] = (d) => Xt(o) ? o.value = d : null),
disabled: l.disabled,
class: w(m(s))
}, [
f("option", kp, O(l.placeholder), 1),
(u(!0), g(Y, null, Le(l.options, (d, b) => (u(), g("option", {
key: b,
value: d.value
}, O(d.name), 9, _p))), 128))
], 10, xp), [
[fs, m(o)]
])
]),
l.$slots.validationMessage ? (u(), g("p", {
key: 0,
class: w(a.value)
}, [
v(l.$slots, "validationMessage")
], 2)) : z("", !0),
l.$slots.helper ? (u(), g("p", Cp, [
v(l.$slots, "helper")
])) : z("", !0)
]));
}
}), $p = "block w-full mb-4 border border-gray-200 rounded-lg bg-gray-50 dark:bg-gray-700 dark:border-gray-600", Sp = "block p-2.5 w-full text-sm text-gray-900 bg-gray-50 rounded-lg border border-gray-200 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500", Tp = "block mb-2 text-sm font-medium text-gray-900 dark:text-white", Pp = "block py-2 px-3 border-gray-200 dark:border-gray-600";
function zp(e) {
const t = p(() => se(
Sp,
e ? "bg-white dark:bg-gray-800 border-none" : "border"
)), r = p(() => Tp), o = p(() => e ? $p : ""), s = p(() => Pp);
return {
textareaClasses: t,
labelClasses: r,
wrapperClasses: o,
footerClasses: s
};
}
const Fp = ["rows", "placeholder"], Yf = /* @__PURE__ */ C({
inheritAttrs: !1,
__name: "FwbTextarea",
props: {
modelValue: { default: "" },
label: { default: "Your message" },
rows: { default: 4 },
custom: { type: Boolean, default: !1 },
placeholder: { default: "Write your message here..." }
},
emits: ["update:modelValue"],
setup(e, { emit: t }) {
const r = e, o = p({
get() {
return r.modelValue;
},
set(i) {
t("update:modelValue", i);
}
}), { textareaClasses: s, labelClasses: n, wrapperClasses: a, footerClasses: l } = zp(r.custom);
return (i, d) => (u(), g("label", null, [
f("span", {
class: w(m(n))
}, O(i.label), 3),
f("span", {
class: w(m(a))
}, [
Pe(f("textarea", ne({
"onUpdate:modelValue": d[0] || (d[0] = (b) => o.value = b)
}, i.$attrs, {
class: m(s),
rows: i.rows,
placeholder: i.placeholder
}), null, 16, Fp), [
[go, o.value]
]),
i.$slots.footer ? (u(), g("span", {
key: 0,
class: w(m(l))
}, [
v(i.$slots, "footer")
], 2)) : z("", !0)
], 2)
]));
}
}), Ip = "w-fit relative inline-flex items-center cursor-pointer", Ap = 'bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 rounded-full peer dark:bg-gray-700 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[""] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-blue-600', Bp = "ml-3 text-sm font-medium text-gray-900 dark:text-gray-300", Op = {
lg: "w-14 h-7 after:top-0.5 after:left-[4px] after:h-6 after:w-6",
md: "w-11 h-6 after:top-[2px] after:left-[2px] after:h-5 after:w-5",
sm: "w-9 h-5 after:top-[2px] after:left-[2px] after:h-4 after:w-4"
}, Mp = {
red: "peer-focus:ring-red-300 dark:peer-focus:ring-red-800 peer-checked:bg-red-600",
green: "peer-focus:ring-green-300 dark:peer-focus:ring-green-800 peer-checked:bg-green-600",
purple: "peer-focus:ring-purple-300 dark:peer-focus:ring-purple-800 peer-checked:bg-purple-600",
yellow: "peer-focus:ring-yellow-300 dark:peer-focus:ring-yellow-800 peer-checked:bg-yellow-400",
teal: "peer-focus:ring-teal-300 dark:peer-focus:ring-teal-800 peer-checked:bg-teal-600",
orange: "peer-focus:ring-orange-300 dark:peer-focus:ring-orange-800 peer-checked:bg-orange-500"
};
function Lp(e) {
const t = p(() => Ip), r = p(() => Ap), o = p(() => Op[e.size.value]), s = p(() => Mp[e.color.value]), n = p(() => Bp);
return {
labelClasses: t,
toggleSize: o,
toggleClasses: r,
toggleColor: s,
toggleBallClasses: n
};
}
const Ep = ["disabled"], Jf = /* @__PURE__ */ C({
__name: "FwbToggle",
props: {
color: { default: "" },
disabled: { type: Boolean, default: !1 },
label: { default: "" },
modelValue: { type: Boolean, default: !1 },
size: { default: "md" }
},
emits: ["update:modelValue"],
setup(e, { emit: t }) {
const r = e, o = p({
get() {
return r.modelValue;
},
set(d) {
t("update:modelValue", d);
}
}), {
labelClasses: s,
toggleSize: n,
toggleClasses: a,
toggleColor: l,
toggleBallClasses: i
} = Lp(J(r));
return (d, b) => (u(), g("label", {
class: w(m(s))
}, [
Pe(f("input", {
"onUpdate:modelValue": b[0] || (b[0] = (h) => o.value = h),
disabled: d.disabled,
class: "sr-only peer",
type: "checkbox"
}, null, 8, Ep), [
[fo, o.value]
]),
f("span", {
class: w([m(a), m(n), m(l)])
}, null, 2),
f("span", {
class: w(m(i))
}, O(d.label), 3)
], 2));
}
}), Np = ["href"], Qf = /* @__PURE__ */ C({
__name: "FwbA",
props: {
href: { default: "" },
color: { default: "text-primary-600 dark:text-primary-500" }
},
setup(e) {
return (t, r) => (u(), g("a", {
href: t.href,
class: w([t.color, "inline-flex items-center hover:underline"])
}, [
v(t.$slots, "default")
], 10, Np));
}
}), Zf = /* @__PURE__ */ C({
inheritAttrs: !1,
__name: "FwbHeading",
props: {
tag: { default: "h1" },
color: { default: "text-gray-900 dark:text-white" },
customSize: { default: "" }
},
setup(e) {
const t = e, r = {
h1: "text-5xl font-extrabold",
h2: "text-4xl font-bold",
h3: "text-3xl font-bold",
h4: "text-2xl font-bold",
h5: "text-xl font-bold",
h6: "text-lg font-bold"
}, o = de(), s = E(
"w-full",
r[t.tag],
t.color,
t.customSize,
o.class
), n = t.tag;
return (a, l) => (u(), G(te(m(n)), ne(a.$attrs, { class: m(s) }), {
default: D(() => [
v(a.$slots, "default")
]),
_: 3
}, 16, ["class"]));
}
}), Rp = ["src", "alt"], Vp = ["src", "alt"], Xf = /* @__PURE__ */ C({
__name: "FwbImg",
props: {
caption: { default: "" },
src: { default: "" },
size: { default: "max-w-full" },
alt: { default: "" },
imgClass: { default: "h-auto" },
alignment: { default: "" },
captionClass: { default: "mt-2 text-sm text-center text-gray-500 dark:text-gray-400" }
},
setup(e) {
return (t, r) => t.caption ? (u(), g("figure", {
key: 0,
class: w(t.size)
}, [
f("img", {
src: t.src,
alt: t.alt,
class: w([t.size, t.alignment, t.imgClass])
}, null, 10, Rp),
f("figcaption", {
class: w(t.captionClass)
}, O(t.caption), 3)
], 2)) : (u(), g("img", {
key: 1,
src: t.src,
alt: t.alt,
class: w([t.size, t.alignment, t.imgClass])
}, null, 10, Vp));
}
}), eg = /* @__PURE__ */ C({
__name: "FwbP",
props: {
height: { default: "normal" },
color: { default: "text-gray-900 dark:text-white" },
size: { default: "" },
weight: { default: "" },
whitespace: { default: "" },
align: { default: "" }
},
setup(e) {
const t = {
xs: "text-xs",
sm: "text-sm",
base: "text-base",
lg: "text-lg",
xl: "text-xl"
}, r = {
thin: "font-thin",
extralight: "font-extralight",
light: "font-light",
normal: "font-normal",
medium: "font-medium",
semibold: "font-semibold",
bold: "font-bold",
extrabold: "font-extrabold",
black: "font-black"
}, o = {
left: "text-left",
center: "text-center",
right: "text-right"
}, s = {
normal: "leading-normal",
relaxed: "leading-relaxed",
loose: "leading-loose"
}, n = {
normal: "whitespace-normal",
nowrap: "whitespace-nowrap",
pre: "whitespace-pre",
preline: "whitespace-pre-line",
prewrap: "whitespace-pre-wrap"
};
return (a, l) => (u(), g("p", {
class: w([a.color, t[a.size], s[a.height], r[a.weight], n[a.whitespace], o[a.align]])
}, [
v(a.$slots, "default")
], 2));
}
}), tg = /* @__PURE__ */ C({
__name: "FlowbiteThemable",
props: {
theme: { default: "blue" }
},
setup(e) {
return ue(Lo, it(e, "theme")), (r, o) => v(r.$slots, "default");
}
});
function rg() {
const e = ee(No, null);
return e === null && console.warn("Cannot use useToast outside <toast-provider> component. Please wrap your component with <toast-provider>"), {
add: (s) => e ? e?.add(s) : "",
remove: (s) => e ? e?.remove(s) : !1,
pop: () => e ? e?.pop() : ""
};
}
export {
tg as FlowbiteThemable,
$c as FlowbiteThemableChild,
Qf as FwbA,
Hp as FwbAccordion,
Dp as FwbAccordionContent,
Gp as FwbAccordionHeader,
Wp as FwbAccordionPanel,
Up as FwbAlert,
qp as FwbAvatar,
Kp as FwbAvatarStack,
Yp as FwbAvatarStackCounter,
Jp as FwbBadge,
Qp as FwbBreadcrumb,
Zp as FwbBreadcrumbItem,
la as FwbButton,
Xp as FwbButtonGroup,
ef as FwbCard,
tf as FwbCarousel,
Df as FwbCheckbox,
rf as FwbDropdown,
Gf as FwbFileInput,
of as FwbFooter,
sf as FwbFooterBrand,
nf as FwbFooterCopyright,
af as FwbFooterIcon,
lf as FwbFooterLink,
df as FwbFooterLinkGroup,
Zf as FwbHeading,
Xf as FwbImg,
Wf as FwbInput,
uf as FwbListGroup,
cf as FwbListGroupItem,
pf as FwbModal,
ff as FwbNavbar,
gf as FwbNavbarCollapse,
hf as FwbNavbarLink,
bf as FwbNavbarLogo,
eg as FwbP,
mf as FwbPagination,
vf as FwbProgress,
Uf as FwbRadio,
qf as FwbRange,
yf as FwbRating,
Kf as FwbSelect,
wf as FwbSidebar,
xf as FwbSidebarCta,
kf as FwbSidebarDropdownItem,
_f as FwbSidebarItem,
Cf as FwbSidebarItemGroup,
$f as FwbSidebarLogo,
Vr as FwbSlotListener,
bt as FwbSpinner,
Af as FwbTab,
Sf as FwbTable,
Tf as FwbTableBody,
Pf as FwbTableCell,
zf as FwbTableHead,
Ff as FwbTableHeadCell,
If as FwbTableRow,
Bf as FwbTabs,
Yf as FwbTextarea,
Of as FwbTimeline,
Mf as FwbTimelineBody,
Lf as FwbTimelineContent,
Ef as FwbTimelineItem,
Nf as FwbTimelinePoint,
Rf as FwbTimelineTime,
Vf as FwbTimelineTitle,
Gr as FwbToast,
jf as FwbToastProvider,
Jf as FwbToggle,
Hf as FwbTooltip,
rg as useToast
};