@opengis/filter 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/filter.js +40 -40
- package/dist/filter.umd.cjs +1 -1
- package/package.json +1 -1
package/dist/filter.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as U, ref as _, createElementBlock as k, openBlock as f, createElementVNode as c, withModifiers as _e, normalizeClass as F, createCommentVNode as $, toDisplayString as
|
|
1
|
+
import { defineComponent as U, ref as _, createElementBlock as k, openBlock as f, createElementVNode as c, withModifiers as _e, normalizeClass as F, createCommentVNode as $, toDisplayString as L, computed as I, watch as R, createStaticVNode as Ee, Fragment as K, renderList as W, unref as e, createBlock as D, createVNode as Y, createTextVNode as N, withDirectives as O, vShow as G, vModelText as Q, onMounted as ne, onBeforeUnmount as fe, Teleport as Ae, normalizeStyle as Se, renderSlot as ie, nextTick as pe, isRef as Te, withCtx as ee, resolveDynamicComponent as J, mergeProps as P, toRaw as ae, cloneVNode as Ie, useSlots as me } from "vue";
|
|
2
2
|
const Oe = { class: "flex items-center justify-between w-full text-sm" }, Ue = { class: "flex items-center cursor-pointer w-full" }, ze = {
|
|
3
3
|
key: 0,
|
|
4
4
|
width: "16",
|
|
@@ -56,8 +56,8 @@ const Oe = { class: "flex items-center justify-between w-full text-sm" }, Ue = {
|
|
|
56
56
|
value: p.value
|
|
57
57
|
}, null, 8, Ne),
|
|
58
58
|
c("div", He, [
|
|
59
|
-
c("span", Ye,
|
|
60
|
-
p.count ? (f(), k("div", Pe, " (" +
|
|
59
|
+
c("span", Ye, L(p.label ?? "Відсутні данні"), 1),
|
|
60
|
+
p.count ? (f(), k("div", Pe, " (" + L(p.count) + ") ", 1)) : $("", !0)
|
|
61
61
|
])
|
|
62
62
|
], 2)
|
|
63
63
|
])
|
|
@@ -75,7 +75,7 @@ function Be(d, a) {
|
|
|
75
75
|
}
|
|
76
76
|
const r = _(n(d.modelValue)), u = _(""), p = _(!1), v = _([]), h = _("id"), i = _("text"), s = _(!1), m = _(d.layout !== "popover" && b.length > t);
|
|
77
77
|
function C(o) {
|
|
78
|
-
const x = o.find(Boolean) ?? {}, S = ["id", "value", "code", "key"].find((
|
|
78
|
+
const x = o.find(Boolean) ?? {}, S = ["id", "value", "code", "key"].find((j) => j in x) ?? "id", B = ["text", "label", "name", "title"].find((j) => j in x) ?? "text";
|
|
79
79
|
return { autoValueKey: S, autoLabelKey: B };
|
|
80
80
|
}
|
|
81
81
|
if (b.length > 0) {
|
|
@@ -291,7 +291,7 @@ const ge = /* @__PURE__ */ X(Ze, [["render", tt]]), lt = {
|
|
|
291
291
|
], 64)) : $("", !0),
|
|
292
292
|
w.cleanable ? (f(), k(K, { key: 2 }, [
|
|
293
293
|
w.layout === "inline" ? (f(), k("div", at, [
|
|
294
|
-
N(
|
|
294
|
+
N(L(e(u) || e(u) === null ? 1 : 0) + " з " + L(e(V).length) + " обрано ", 1),
|
|
295
295
|
O(c("button", {
|
|
296
296
|
class: "text-gray-600 hover:text-gray-800",
|
|
297
297
|
onClick: o[2] || (o[2] = //@ts-ignore
|
|
@@ -301,7 +301,7 @@ const ge = /* @__PURE__ */ X(Ze, [["render", tt]]), lt = {
|
|
|
301
301
|
])
|
|
302
302
|
])) : $("", !0),
|
|
303
303
|
w.layout === "popover" ? (f(), k("div", nt, [
|
|
304
|
-
c("span", null,
|
|
304
|
+
c("span", null, L(e(u) || e(u) === null ? 1 : 0) + " з " + L(e(V).length) + " обрано", 1),
|
|
305
305
|
O(c("button", {
|
|
306
306
|
class: "text-gray-600 hover:text-gray-800",
|
|
307
307
|
onClick: o[3] || (o[3] = //@ts-ignore
|
|
@@ -324,7 +324,7 @@ function De(d, a) {
|
|
|
324
324
|
}
|
|
325
325
|
const r = _(n(d.modelValue)), u = _(""), p = _(!1), v = _([]), h = _("id"), i = _("text"), s = _(!1), m = _(d.layout !== "popover" && b.length > t);
|
|
326
326
|
function C(o) {
|
|
327
|
-
const x = o.find(Boolean) ?? {}, S = ["id", "value", "code", "key"].find((
|
|
327
|
+
const x = o.find(Boolean) ?? {}, S = ["id", "value", "code", "key"].find((j) => j in x) ?? "id", B = ["text", "label", "name", "title"].find((j) => j in x) ?? "text";
|
|
328
328
|
return { autoValueKey: S, autoLabelKey: B };
|
|
329
329
|
}
|
|
330
330
|
if (b.length > 0) {
|
|
@@ -479,7 +479,7 @@ const st = {
|
|
|
479
479
|
], 64)) : $("", !0),
|
|
480
480
|
V.cleanable ? (f(), k(K, { key: 2 }, [
|
|
481
481
|
V.layout === "inline" ? (f(), k("div", it, [
|
|
482
|
-
N(
|
|
482
|
+
N(L(e(r).length) + " з " + L(e(l).length) + " обрано ", 1),
|
|
483
483
|
O(c("button", {
|
|
484
484
|
class: "text-gray-600 hover:text-gray-800",
|
|
485
485
|
onClick: w[2] || (w[2] = //@ts-ignore
|
|
@@ -489,7 +489,7 @@ const st = {
|
|
|
489
489
|
])
|
|
490
490
|
])) : $("", !0),
|
|
491
491
|
V.layout === "popover" ? (f(), k("div", dt, [
|
|
492
|
-
c("span", null,
|
|
492
|
+
c("span", null, L(e(r).length) + " з " + L(e(l).length) + " обрано", 1),
|
|
493
493
|
O(c("button", {
|
|
494
494
|
class: "text-gray-600 hover:text-gray-800",
|
|
495
495
|
onClick: w[3] || (w[3] = //@ts-ignore
|
|
@@ -741,7 +741,7 @@ const St = /* @__PURE__ */ U({
|
|
|
741
741
|
key: 1,
|
|
742
742
|
onClick: h,
|
|
743
743
|
class: F(e(n) + (s.layout === "vertical" ? " w-[50px]" : " bg-blue-100 hover:bg-blue-200"))
|
|
744
|
-
},
|
|
744
|
+
}, L(s.layout === "vertical" ? "Ok" : "Застосувати"), 3)) : $("", !0),
|
|
745
745
|
["popover", "inline"].includes(s.layout) ? (f(), k("button", {
|
|
746
746
|
key: 2,
|
|
747
747
|
disabled: !(v.value[0] || v.value[1]),
|
|
@@ -777,12 +777,12 @@ const St = /* @__PURE__ */ U({
|
|
|
777
777
|
B + o > x && (B = Math.max(x - o - 10, 10)), r.value = { top: S, left: B };
|
|
778
778
|
}
|
|
779
779
|
function i() {
|
|
780
|
-
n.value = !n.value, n.value && pe(() => {
|
|
781
|
-
h(), b.fieldRef?.inputTextRef && b.fieldRef?.inputTextRef
|
|
780
|
+
console.log("~~~~~~~~~~"), console.log(n.value), n.value = !n.value, console.log(n.value), n.value && pe(() => {
|
|
781
|
+
h(), b.fieldRef?.inputTextRef && b.fieldRef?.inputTextRef?.focus?.(), b.fieldRef?.loadData && b.fieldRef?.loadData?.();
|
|
782
782
|
});
|
|
783
783
|
}
|
|
784
784
|
function s(l) {
|
|
785
|
-
!u.value?.contains(l.target) && !v.value?.contains(l.target) && (n.value = !1);
|
|
785
|
+
!u.value?.contains(l.target) && !v.value?.contains(l.target) && !p.value?.contains(l.target) && (n.value = !1);
|
|
786
786
|
}
|
|
787
787
|
function m(l) {
|
|
788
788
|
l.key === "Escape" && (n.value = !1);
|
|
@@ -814,7 +814,7 @@ const St = /* @__PURE__ */ U({
|
|
|
814
814
|
}, [
|
|
815
815
|
c("span", {
|
|
816
816
|
class: F(["truncate text-ellipsis block", l.width ? e(ce).getWidthClass(l.width - 50) : "w-full"])
|
|
817
|
-
},
|
|
817
|
+
}, L(g.value), 3),
|
|
818
818
|
Y(de, { class: "h-4 w-4" }),
|
|
819
819
|
(Array.isArray(l.currentValue) ? l.currentValue === null || l.currentValue.length > 0 : l.currentValue === null || l.currentValue) && l.layout === "inline" ? (f(), k("span", Dt)) : $("", !0)
|
|
820
820
|
], 10, Bt),
|
|
@@ -1163,7 +1163,7 @@ const Yt = /* @__PURE__ */ U({
|
|
|
1163
1163
|
key: l,
|
|
1164
1164
|
class: F(e(r) + (e(v) === l ? " bg-blue-100" : "")),
|
|
1165
1165
|
onClick: (V) => e(i)(l)
|
|
1166
|
-
},
|
|
1166
|
+
}, L(e(Ft)(l)), 11, Ht)), 64)),
|
|
1167
1167
|
c("button", {
|
|
1168
1168
|
class: F(e(r)),
|
|
1169
1169
|
onClick: g[4] || (g[4] = //@ts-ignore
|
|
@@ -1189,7 +1189,7 @@ function Pt(d, a) {
|
|
|
1189
1189
|
function p(A) {
|
|
1190
1190
|
return u ? Array.isArray(A) ? A : A ? [A] : [] : Array.isArray(A) ? A[0] : A;
|
|
1191
1191
|
}
|
|
1192
|
-
const v = _(p(d.modelValue)), h = _(""), i = _(!1), s = _(
|
|
1192
|
+
const v = _(p(d.modelValue)), h = _(""), i = _(!1), s = _(t), m = _("id"), C = _("text"), y = _(!1), g = _(d.layout !== "popover" && t.length > n), l = _([]), V = _(0);
|
|
1193
1193
|
function w(A) {
|
|
1194
1194
|
const z = A.find(Boolean) ?? {}, q = ["id", "value", "code", "key"].find((oe) => oe in z) ?? "id", ue = ["text", "label", "name", "title"].find((oe) => oe in z) ?? "text";
|
|
1195
1195
|
return { autoValueKey: q, autoLabelKey: ue };
|
|
@@ -1240,7 +1240,7 @@ function Pt(d, a) {
|
|
|
1240
1240
|
function B(A) {
|
|
1241
1241
|
return u && Array.isArray(v.value) ? v.value.includes(A[m.value]) : v.value && v.value === A[m.value];
|
|
1242
1242
|
}
|
|
1243
|
-
function
|
|
1243
|
+
function j(A) {
|
|
1244
1244
|
if (u && !Array.isArray(v.value) && (v.value = []), u && Array.isArray(v.value)) {
|
|
1245
1245
|
const z = v.value.includes(A[m.value]);
|
|
1246
1246
|
v.value = z ? v.value.filter((q) => q !== A[m.value]) : [...v.value, A[m.value]], l.value = z ? l.value.filter((q) => q !== A[C.value]) : [...l.value, A[C.value]];
|
|
@@ -1272,18 +1272,18 @@ function Pt(d, a) {
|
|
|
1272
1272
|
A.preventDefault(), M.value = (M.value - 1 + z) % z;
|
|
1273
1273
|
else if (A.key === "Enter" && (A.preventDefault(), M.value >= 0 && M.value < o.value.length)) {
|
|
1274
1274
|
const q = o.value[M.value];
|
|
1275
|
-
|
|
1275
|
+
j(q);
|
|
1276
1276
|
}
|
|
1277
1277
|
}
|
|
1278
1278
|
function se() {
|
|
1279
|
-
b && s.value.length === 0 && h.value.length === 0
|
|
1279
|
+
b && s.value.length === 0 && h.value.length === 0 && S(h.value);
|
|
1280
1280
|
}
|
|
1281
1281
|
return {
|
|
1282
1282
|
innerValue: v,
|
|
1283
1283
|
searchTerm: h,
|
|
1284
1284
|
filteredOptions: o,
|
|
1285
1285
|
isSelected: B,
|
|
1286
|
-
selectItem:
|
|
1286
|
+
selectItem: j,
|
|
1287
1287
|
clear: le,
|
|
1288
1288
|
resetSearch: T,
|
|
1289
1289
|
toggleShowAll: E,
|
|
@@ -1355,13 +1355,13 @@ const Wt = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relat
|
|
|
1355
1355
|
onKeyDown: x,
|
|
1356
1356
|
selectedLabels: S,
|
|
1357
1357
|
totalCount: B,
|
|
1358
|
-
loadData:
|
|
1358
|
+
loadData: j
|
|
1359
1359
|
} = Pt({
|
|
1360
1360
|
...t,
|
|
1361
1361
|
modelValue: t.modelValue
|
|
1362
1362
|
}, n);
|
|
1363
1363
|
ne(() => {
|
|
1364
|
-
s();
|
|
1364
|
+
s(), t.layout !== "inline" && (j(), r.value && t.layout === "popover" && r.value.focus());
|
|
1365
1365
|
}), R(
|
|
1366
1366
|
() => t.modelValue,
|
|
1367
1367
|
(T) => {
|
|
@@ -1380,7 +1380,7 @@ const Wt = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relat
|
|
|
1380
1380
|
clear: i,
|
|
1381
1381
|
inputTextRef: r,
|
|
1382
1382
|
selectedLabels: S,
|
|
1383
|
-
loadData:
|
|
1383
|
+
loadData: j
|
|
1384
1384
|
}), (T, E) => (f(), k("div", {
|
|
1385
1385
|
class: F([T.layout === "popover" ? "flex flex-col h-full" : "flex flex-col vs-filter-checkbox space-y-0.5"])
|
|
1386
1386
|
}, [
|
|
@@ -1389,7 +1389,7 @@ const Wt = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relat
|
|
|
1389
1389
|
"onUpdate:modelValue": E[0] || (E[0] = (M) => Te(l) ? l.value = M : null),
|
|
1390
1390
|
onKeydown: E[1] || (E[1] = //@ts-ignore
|
|
1391
1391
|
(...M) => e(x) && e(x)(...M)),
|
|
1392
|
-
class: "w-full h-full text-[13px] px-4 border rounded-sm pl-9 focus:outline-none focus:ring-ring focus:ring-1 focus:ring-blue-500",
|
|
1392
|
+
class: "w-full h-full text-[13px] px-4 border rounded-sm pl-9 focus:outline-none focus:ring-ring focus:ring-1 focus:ring-blue-500 text-gray-700",
|
|
1393
1393
|
placeholder: "Пошук",
|
|
1394
1394
|
type: "text",
|
|
1395
1395
|
ref_key: "inputTextRef",
|
|
@@ -1455,7 +1455,7 @@ const Wt = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relat
|
|
|
1455
1455
|
], 64)) : $("", !0),
|
|
1456
1456
|
T.cleanable ? (f(), k(K, { key: 2 }, [
|
|
1457
1457
|
T.layout === "inline" ? (f(), k("div", Gt, [
|
|
1458
|
-
N(
|
|
1458
|
+
N(L(T.multi && Array.isArray(e(u)) ? e(u)?.length : e(u) !== void 0 && (e(u) || e(u) === null) ? 1 : 0) + " з " + L(e(B)) + " обрано ", 1),
|
|
1459
1459
|
O(c("button", {
|
|
1460
1460
|
class: "text-gray-600 hover:text-gray-800",
|
|
1461
1461
|
onClick: E[5] || (E[5] = //@ts-ignore
|
|
@@ -1465,7 +1465,7 @@ const Wt = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relat
|
|
|
1465
1465
|
])
|
|
1466
1466
|
])) : $("", !0),
|
|
1467
1467
|
T.layout === "popover" ? (f(), k("div", Xt, [
|
|
1468
|
-
c("span", null,
|
|
1468
|
+
c("span", null, L(T.multi && Array.isArray(e(u)) ? e(u)?.length : e(u) !== void 0 && (e(u) || e(u) === null) ? 1 : 0) + " з " + L(e(B)) + " обрано", 1),
|
|
1469
1469
|
O(c("button", {
|
|
1470
1470
|
class: "text-gray-600 hover:text-gray-800",
|
|
1471
1471
|
onClick: E[6] || (E[6] = //@ts-ignore
|
|
@@ -1550,12 +1550,12 @@ const Wt = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relat
|
|
|
1550
1550
|
name: `item-${y[e(i)]}`,
|
|
1551
1551
|
value: y[e(i)]
|
|
1552
1552
|
}, null, 8, el),
|
|
1553
|
-
c("span", tl,
|
|
1553
|
+
c("span", tl, L(y[e(h)]), 1)
|
|
1554
1554
|
], 10, Zt))), 128))
|
|
1555
1555
|
], 2),
|
|
1556
1556
|
m.cleanable ? (f(), k(K, { key: 0 }, [
|
|
1557
1557
|
m.layout === "inline" ? (f(), k("div", ll, [
|
|
1558
|
-
N(
|
|
1558
|
+
N(L(m.multi && Array.isArray(e(r)) ? e(r)?.length : e(r) !== void 0 && (e(r) || e(r) === null) ? 1 : 0) + " з " + L(e(s).length) + " обрано ", 1),
|
|
1559
1559
|
O(c("button", {
|
|
1560
1560
|
class: "text-gray-600 hover:text-gray-800",
|
|
1561
1561
|
onClick: C[0] || (C[0] = //@ts-ignore
|
|
@@ -1565,7 +1565,7 @@ const Wt = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relat
|
|
|
1565
1565
|
])
|
|
1566
1566
|
])) : $("", !0),
|
|
1567
1567
|
m.layout === "popover" ? (f(), k("div", ol, [
|
|
1568
|
-
c("span", null,
|
|
1568
|
+
c("span", null, L(m.multi && Array.isArray(e(r)) ? e(r)?.length : e(r) !== void 0 && (e(r) || e(r) === null) ? 1 : 0) + " з " + L(e(s).length) + " обрано", 1),
|
|
1569
1569
|
O(c("button", {
|
|
1570
1570
|
class: "text-gray-600 hover:text-gray-800",
|
|
1571
1571
|
onClick: C[1] || (C[1] = //@ts-ignore
|
|
@@ -1934,7 +1934,7 @@ const Sl = /* @__PURE__ */ X($l, [["render", Al]]), Bl = { style: { display: "in
|
|
|
1934
1934
|
c("div", Dl, [
|
|
1935
1935
|
c("div", Rl, [
|
|
1936
1936
|
c("div", Ml, [
|
|
1937
|
-
c("span", Fl,
|
|
1937
|
+
c("span", Fl, L(s.label), 1)
|
|
1938
1938
|
]),
|
|
1939
1939
|
typeof p.value == "string" && p.value.trim() !== "" || Array.isArray(p.value) && p.value.length > 0 && p.value.some((C) => C !== void 0) || p.value === null ? (f(), D(Sl, {
|
|
1940
1940
|
key: 0,
|
|
@@ -2417,7 +2417,7 @@ const Ul = /* @__PURE__ */ X(Tl, [["render", Ol]]), zl = {
|
|
|
2417
2417
|
}, [
|
|
2418
2418
|
Y(Ul),
|
|
2419
2419
|
o[6] || (o[6] = N(" Фільтр ", -1)),
|
|
2420
|
-
e(h) > 0 ? (f(), k("div", zl,
|
|
2420
|
+
e(h) > 0 ? (f(), k("div", zl, L(e(h)), 1)) : $("", !0)
|
|
2421
2421
|
], 2)
|
|
2422
2422
|
]),
|
|
2423
2423
|
default: ee(() => [
|
|
@@ -2434,11 +2434,11 @@ const Ul = /* @__PURE__ */ X(Tl, [["render", Ol]]), zl = {
|
|
|
2434
2434
|
},
|
|
2435
2435
|
class: F([
|
|
2436
2436
|
"w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",
|
|
2437
|
-
e(l) === x ? "bg-blue-50 text-blue-700 border-l-2 border-blue-500" : ""
|
|
2437
|
+
e(l) === x ? "bg-blue-50 text-blue-700 border-l-2 border-blue-500" : "text-gray-700"
|
|
2438
2438
|
])
|
|
2439
2439
|
}, [
|
|
2440
2440
|
c("div", Wl, [
|
|
2441
|
-
c("span", ql,
|
|
2441
|
+
c("span", ql, L(S.label), 1)
|
|
2442
2442
|
]),
|
|
2443
2443
|
(Array.isArray(e(v)[x]) ? e(v)[x]?.length > 0 : e(v)[x] || e(v)[x] === null) ? (f(), k("div", Ql)) : $("", !0)
|
|
2444
2444
|
], 10, Pl))), 128)) : $("", !0),
|
|
@@ -2451,7 +2451,7 @@ const Ul = /* @__PURE__ */ X(Tl, [["render", Ol]]), zl = {
|
|
|
2451
2451
|
])
|
|
2452
2452
|
}, [
|
|
2453
2453
|
c("div", Xl, [
|
|
2454
|
-
c("span", Jl,
|
|
2454
|
+
c("span", Jl, L(x.props.label), 1)
|
|
2455
2455
|
]),
|
|
2456
2456
|
e(v)[x.props.name]?.length > 0 ? (f(), k("div", Zl)) : $("", !0)
|
|
2457
2457
|
], 10, Gl))), 128))
|
|
@@ -2562,24 +2562,24 @@ const Ul = /* @__PURE__ */ X(Tl, [["render", Ol]]), zl = {
|
|
|
2562
2562
|
name: S,
|
|
2563
2563
|
mode: o.mode
|
|
2564
2564
|
}, { ref_for: !0 }, B, {
|
|
2565
|
-
onChange: x[0] || (x[0] = (
|
|
2565
|
+
onChange: x[0] || (x[0] = (j) => e(h)(j.name, j.value)),
|
|
2566
2566
|
onClear: e(i),
|
|
2567
2567
|
layout: "inline",
|
|
2568
2568
|
cleanable: !0,
|
|
2569
2569
|
modelValue: e(p)[S],
|
|
2570
|
-
"onUpdate:modelValue": (
|
|
2570
|
+
"onUpdate:modelValue": (j) => e(p)[S] = j
|
|
2571
2571
|
}), null, 16, ["name", "mode", "onClear", "modelValue", "onUpdate:modelValue"]))), 128)) : $("", !0),
|
|
2572
2572
|
(f(!0), k(K, null, W(e(g), (S, B) => (f(), D(te, P({
|
|
2573
2573
|
key: "slot-" + B,
|
|
2574
2574
|
layout: "inline"
|
|
2575
2575
|
}, { ref_for: !0 }, S.props, {
|
|
2576
|
-
onChange: x[1] || (x[1] = (
|
|
2577
|
-
onClear: x[2] || (x[2] = (
|
|
2578
|
-
e(i)(
|
|
2576
|
+
onChange: x[1] || (x[1] = (j) => e(h)(j.name, j.value)),
|
|
2577
|
+
onClear: x[2] || (x[2] = (j) => {
|
|
2578
|
+
e(i)(j), e(h)(j, void 0);
|
|
2579
2579
|
}),
|
|
2580
2580
|
cleanable: !0,
|
|
2581
2581
|
modelValue: e(p)[S.props.name],
|
|
2582
|
-
"onUpdate:modelValue": (
|
|
2582
|
+
"onUpdate:modelValue": (j) => e(p)[S.props.name] = j
|
|
2583
2583
|
}), null, 16, ["modelValue", "onUpdate:modelValue"]))), 128)),
|
|
2584
2584
|
Object.entries(e(C)).length > 0 || e(l).length > 0 ? (f(), D(Le, P({ key: 1 }, t, {
|
|
2585
2585
|
schema: e(C),
|
package/dist/filter.umd.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(R,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(R=typeof globalThis<"u"?globalThis:R||self,e(R.FilterLib={},R.Vue))})(this,function(R,e){"use strict";const ie={class:"flex items-center justify-between w-full text-sm"},ce={class:"flex items-center cursor-pointer w-full"},de={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},fe=["value"],ue={class:"w-[calc(100%-18px)] flex flex-row items-center justify-between pl-[10px]"},me={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},pe={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},P=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(d,{expose:n,emit:y}){const t=d,r=y;function a(){r("itemClick",t.value)}const i=e.ref(null);return n({el:i}),(f,m)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-lg group hover:bg-gray-100",ref_key:"el",ref:i},[e.createElementVNode("div",ie,[e.createElementVNode("div",ce,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(f.layout)?"text-sm text-gray-500 px-2 w-full py-2 cursor-pointer !flex flex-row items-center":"flex flex-row items-center w-full px-2 py-2 text-sm text-gray-500 cursor-pointer",{"bg-blue-100":f.highlighted}]),onClick:e.withModifiers(a,["stop","prevent"])},[e.createElementVNode("div",{class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[f.type=="checkbox"?"rounded-[4px]":"rounded-full",f.color?`bg-[${f.color}] border-[#ffffff]`:f.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[f.isSelected?(e.openBlock(),e.createElementBlock("img",de)):e.createCommentVNode("",!0)],2),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:f.value},null,8,fe),e.createElementVNode("div",ue,[e.createElementVNode("span",me,e.toDisplayString(f.label??"Відсутні данні"),1),f.count?(e.openBlock(),e.createElementBlock("div",pe," ("+e.toDisplayString(f.count)+") ",1)):e.createCommentVNode("",!0)])],2)])])],512))}});function X(d,n){const{options:y=[],limit:t=20}=d;function r(o){return Array.isArray(o)?o[0]:o}const a=e.ref(r(d.modelValue)),i=e.ref(""),f=e.ref(!1),m=e.ref([]),b=e.ref("id"),c=e.ref("text"),s=e.ref(!1),u=e.ref(d.layout!=="popover"&&y.length>t);function x(o){const h=o.find(Boolean)??{},B=["id","value","code","key"].find(N=>N in h)??"id",C=["text","label","name","title"].find(N=>N in h)??"text";return{autoValueKey:B,autoLabelKey:C}}if(y.length>0){const o=x(y);b.value=o.autoValueKey,c.value=o.autoLabelKey}const p=e.computed(()=>{const o=m.value;return d.layout==="popover"||s.value?o:o.slice(0,t)});e.watch(()=>d.modelValue,o=>{a.value=r(o)},{immediate:!0}),m.value=[...y].sort((o,h)=>d.sort==="count"?h.count&&o.count?h.count-o.count:0:d.sort==="name"?String(o[c.value]??"").localeCompare(String(h[c.value]??"")):0);function g(o){return a.value===o[b.value]}function l(o){a.value=o[b.value],n("update:modelValue",a.value),n("change",{name:d.name,value:a.value})}function w(){a.value=void 0,n("update:modelValue",a.value),n("clear",d.name)}function k(){s.value=!s.value}return{innerValue:a,searchTerm:i,filteredOptions:p,isSelected:g,selectItem:l,clear:w,toggleShowAll:k,isReqProc:f,showAll:s,isEnableShowAll:u,labelKey:c,valueKey:b,allOptions:m}}const F=(d,n)=>{const y=d.__vccOpts||d;for(const[t,r]of n)y[t]=r;return y},ge={},ye={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function be(d,n){return e.openBlock(),e.createElementBlock("svg",ye,n[0]||(n[0]=[e.createStaticVNode('<rect x="27" y="50.5" width="124" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="27" y="50.5" width="124" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter1)"><rect x="12" y="6" width="154" height="40" rx="8" fill="currentColor" class="fill-white dark:fill-neutral-800" shape-rendering="crispEdges"></rect><rect x="12.5" y="6.5" width="153" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/60" shape-rendering="crispEdges"></rect><rect x="20" y="14" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter1" x="0" y="0" width="178" height="64" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="6"></feOffset><feGaussianBlur stdDeviation="6"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1187_14810"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1187_14810" result="shape"></feBlend></filter></defs>',12)]))}const H=F(ge,[["render",be]]),he={},ke={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate"};function xe(d,n){return e.openBlock(),e.createElementBlock("svg",ke,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const L=F(he,[["render",xe]]),we={},Ve={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate-[180deg]"};function Be(d,n){return e.openBlock(),e.createElementBlock("svg",Ve,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Y=F(we,[["render",Be]]),Ce={key:0,class:"w-full"},Ee={class:"flex flex-col items-center justify-center p-5 text-center"},Ne={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},$e={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},_e=e.defineComponent({__name:"radio",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=e.ref(null),a=y,{innerValue:i,filteredOptions:f,isSelected:m,selectItem:b,clear:c,toggleShowAll:s,isReqProc:u,showAll:x,isEnableShowAll:p,labelKey:g,valueKey:l,allOptions:w}=X({...t,modelValue:t.modelValue??t.default??""},a);return n({clear:c,inputTextRef:r}),e.watch(()=>t.modelValue,k=>{k===void 0&&(i.value=void 0)}),(k,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([k.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([k.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",k.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),h=>(e.openBlock(),e.createBlock(P,{layout:k.layout,key:h[e.unref(l)],count:h.count,label:h[e.unref(g)],color:h.color,type:"radio",value:h[e.unref(l)],"is-selected":e.unref(m)(h),onItemClick:B=>e.unref(b)(h)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),k.type==="select"&&e.unref(f).length===0&&!e.unref(u)?(e.openBlock(),e.createElementBlock("div",Ce,[e.createElementVNode("div",Ee,[e.createVNode(H),o[4]||(o[4]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),k.layout!=="popover"&&k.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(x)&&e.unref(p)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:o[0]||(o[0]=(...h)=>e.unref(s)&&e.unref(s)(...h)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[o[5]||(o[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(L)])):e.createCommentVNode("",!0),e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:o[1]||(o[1]=(...h)=>e.unref(s)&&e.unref(s)(...h)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[o[6]||(o[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Y)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),k.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[k.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ne,[e.createTextVNode(e.toDisplayString(e.unref(i)||e.unref(i)===null?1:0)+" з "+e.toDisplayString(e.unref(w).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:o[2]||(o[2]=(...h)=>e.unref(c)&&e.unref(c)(...h))}," Очистити ",512),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0]])])):e.createCommentVNode("",!0),k.layout==="popover"?(e.openBlock(),e.createElementBlock("div",$e,[e.createElementVNode("span",null,e.toDisplayString(e.unref(i)||e.unref(i)===null?1:0)+" з "+e.toDisplayString(e.unref(w).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:o[3]||(o[3]=(...h)=>e.unref(c)&&e.unref(c)(...h))}," Очистити ",512),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function J(d,n){const{options:y=[],limit:t=20}=d;function r(o){return Array.isArray(o)?o:o?[o]:[]}const a=e.ref(r(d.modelValue)),i=e.ref(""),f=e.ref(!1),m=e.ref([]),b=e.ref("id"),c=e.ref("text"),s=e.ref(!1),u=e.ref(d.layout!=="popover"&&y.length>t);function x(o){const h=o.find(Boolean)??{},B=["id","value","code","key"].find(N=>N in h)??"id",C=["text","label","name","title"].find(N=>N in h)??"text";return{autoValueKey:B,autoLabelKey:C}}if(y.length>0){const o=x(y);b.value=o.autoValueKey,c.value=o.autoLabelKey}const p=e.computed(()=>{const o=m.value;return d.layout==="popover"||s.value?o:o.slice(0,t)});e.watch(()=>d.modelValue,o=>{a.value=r(o)},{immediate:!0}),m.value=[...y].sort((o,h)=>d.sort==="count"?h.count&&o.count?h.count-o.count:0:d.sort==="name"?String(o[c.value]).localeCompare(String(h[c.value])):0);function g(o){return a.value&&a.value.includes(o[b.value])}function l(o){const h=a.value.includes(o[b.value]);a.value=h?a.value.filter(B=>B!==o[b.value]):[...a.value,o[b.value]],n("update:modelValue",a.value),n("change",{name:d.name,value:a.value})}function w(){a.value=[],n("update:modelValue",a.value),n("clear",d.name)}function k(){s.value=!s.value}return{innerValue:a,searchTerm:i,filteredOptions:p,isSelected:g,selectItem:l,clear:w,toggleShowAll:k,isReqProc:f,showAll:s,isEnableShowAll:u,labelKey:c,valueKey:b,allOptions:m}}const De={key:0,class:"w-full"},Se={class:"flex flex-col items-center justify-center p-5 text-center"},Ae={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Fe={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Z=e.defineComponent({__name:"checkbox",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=y,{innerValue:a,filteredOptions:i,isSelected:f,selectItem:m,clear:b,toggleShowAll:c,isReqProc:s,showAll:u,isEnableShowAll:x,labelKey:p,valueKey:g,allOptions:l}=J({...t,modelValue:t.modelValue},r);return e.watch(()=>t.modelValue,w=>{w===void 0&&(a.value=[])}),n({clear:b}),(w,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([w.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([w.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",w.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),o=>(e.openBlock(),e.createBlock(P,{layout:w.layout,count:o.count,label:o[e.unref(p)],color:o.color,type:"checkbox",value:o[e.unref(g)],"is-selected":e.unref(f)(o),onItemClick:h=>e.unref(m)(o)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),w.type==="select"&&e.unref(i).length===0&&!e.unref(s)?(e.openBlock(),e.createElementBlock("div",De,[e.createElementVNode("div",Se,[e.createVNode(H),k[4]||(k[4]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),w.layout!=="popover"&&w.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(u)&&e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:k[0]||(k[0]=(...o)=>e.unref(c)&&e.unref(c)(...o)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[k[5]||(k[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(L)])):e.createCommentVNode("",!0),e.unref(u)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:k[1]||(k[1]=(...o)=>e.unref(c)&&e.unref(c)(...o)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[k[6]||(k[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Y)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),w.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[w.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ae,[e.createTextVNode(e.toDisplayString(e.unref(a).length)+" з "+e.toDisplayString(e.unref(l).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:k[2]||(k[2]=(...o)=>e.unref(b)&&e.unref(b)(...o))}," Очистити ",512),[[e.vShow,e.unref(a).length!==0]])])):e.createCommentVNode("",!0),w.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Fe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).length)+" з "+e.toDisplayString(e.unref(l).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:k[3]||(k[3]=(...o)=>e.unref(b)&&e.unref(b)(...o))}," Очистити ",512),[[e.vShow,e.unref(a).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Re={},Me={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"15px",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-search stroke-gray-500 transition-all"};function Te(d,n){return e.openBlock(),e.createElementBlock("svg",Me,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"},null,-1),e.createElementVNode("path",{d:"M21 21l-6 -6"},null,-1)]))}const v=F(Re,[["render",Te]]),je={},Ke={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-x stroke-gray-500 hover:stroke-red-500 transition-all",width:"15px",height:"15px"};function Le(d,n){return e.openBlock(),e.createElementBlock("svg",Ke,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M18 6l-12 12"},null,-1),e.createElementVNode("path",{d:"M6 6l12 12"},null,-1)]))}const ee=F(je,[["render",Le]]);class W{static getWidthClass(n){return typeof n=="number"?`max-w-[${n}px]`:typeof n=="string"?n.endsWith("%")||n.endsWith("px")?`max-w-[${n}]`:`max-w-${n}`:"w-full"}}const ze={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},Oe=["placeholder"],Ie=e.defineComponent({__name:"text-input",props:{id:{},name:{},type:{},label:{},width:{default:220},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{emit:n}){const y=d,t=e.ref((y.placeHolder||y.label||y.name||"search").toString()),r=n,a=e.ref(y.modelValue?.toString()??"");e.watch(()=>y.modelValue,b=>{b!==a.value&&(a.value=b?.toString()??"")});let i=null;function f(){if(a.value=a.value.trimStart(),a.value.length===0){m();return}i&&clearTimeout(i),i=setTimeout(()=>{r("update:modelValue",a.value),r("change",{name:y.name,value:a.value})},300)}function m(){a.value="",r("update:modelValue",""),r("clear",y.name)}return(b,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white rounded-lg [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:rounded-lg [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",b.layout==="inline"?e.unref(W).getWidthClass(b.width):"mb-2"+(b.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",ze,[e.createVNode(v)]),a.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:m,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(ee)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":c[0]||(c[0]=s=>a.value=s),onInput:f,placeholder:t.value,class:"!pr-7 !pl-8 bg-white h-[38px] min-w-[100px] text-sm py-2 px-3 block w-full border border-solid placeholder:text-nowrap border-stone-200 rounded-lg text-sm text-stone-800 placeholder:text-stone-400 focus:border-2 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500"},null,40,Oe),[[e.vModelText,a.value]])],2))}});function te(d={color:"blue"}){return e.computed(()=>{const y=`w-full px-3 py-2 border-solid border border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${d.color}-500 focus:border-transparent`;return d?.size==="sm"?`${y}h-[32px]`:`${y}h-[38px]`})}function Ue(){return"rounded-md font-medium border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 px-4 py-2 w-full bg-transparent border text-black text-sm h-[38px]"}function Pe(){return"font-medium border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 border h-7 rounded-md text-xs px-2 py-1 hover:bg-gray-100"}function le(d){return d==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent text-gray-600 hover:bg-blue-100 hover:text-gray-800 focus:outline-hidden focus:bg-gray-100 focus:text-gray-800 disabled:opacity-50 disabled:pointer-events-none dark:text-gray-500 dark:hover:bg-blue-800/30 dark:hover:text-blue-400 dark:focus:bg-blue-800/30 dark:focus:text-blue-400":d==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-gray-100 text-gray-800 hover:bg-gray-200 hover:bg-gray-200 focus:outline-hidden focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:text-blue-400 dark:hover:bg-blue-900 dark:focus:bg-blue-900":"relative border-solid border-gray-200 focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-2 bg-transparent h-[38px]"}const He={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Ye=["placeholder","disabled"],We={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},qe={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Qe=["placeholder","disabled"],Ge=["disabled"],_l={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Dl={key:1,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},Xe=e.defineComponent({__name:"range-input",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=te(),r=Ue(),a=d,i=e.ref(a.modelValue??a.default??[]),f=y,m=e.computed({get:()=>a.modelValue??i.value,set:s=>{a.modelValue!==void 0?f("update:modelValue",s):i.value=s}});function b(){f("change",{name:a.name,value:m.value||i.value})}function c(){i.value=[],m.value=i.value,f("clear",a.name)}return e.watch(()=>a.modelValue,s=>{s!==void 0&&a.layout!=="popover"?(i.value=s,f("update:modelValue",s)):i.value=[]}),n({clear:c,currentValue:m}),(s,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(s.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[s.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",He,"Від")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:s.placeHolder?.[0]??"min",step:"1",style:{outline:"none"},"onUpdate:modelValue":u[0]||(u[0]=x=>m.value[0]=x),disabled:s.disabled},null,10,Ye),[[e.vModelText,m.value[0]]])]),s.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",We," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[s.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",qe,"До")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:s.placeHolder?.[1]??"max",min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":u[1]||(u[1]=x=>m.value[1]=x),disabled:s.disabled},null,10,Qe),[[e.vModelText,m.value[1]]])]),["popover","inline","vertical"].includes(s.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:b,class:e.normalizeClass(e.unref(r)+(s.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(s.layout==="vertical"?"Ok":"Застосувати"),3)):e.createCommentVNode("",!0),["popover","inline"].includes(s.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(m.value[0]||m.value[1]),onClick:c,class:e.normalizeClass(e.unref(r)+" hover:bg-gray-100")},"Очистити",10,Ge)):e.createCommentVNode("",!0)],2)]),(s.cleanable&&i.value.length,e.createCommentVNode("",!0))],64))}}),Je=["disabled","title"],Ze={key:0,class:"absolute top-0 end-0 inline-flex min-h-[10px] min-w-[10px] z-10 items-center py-0.5 rounded-full text-xs font-medium transform -translate-y-1/2 translate-x-1/2 bg-blue-600 text-white px-1"},ve={class:"w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-lg focus:outline-none focus:bg-stone-100 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full"},et={class:"w-[360px] max-h-[500px] overflow-auto [&::-webkit-scrollbar]:h-2 [&::-webkit-scrollbar]:w-1 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-stone-100 [&::-webkit-scrollbar-thumb]:bg-stone-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500 before:w-full p-2"},q=e.defineComponent({__name:"popover-field",props:{disabled:{type:Boolean,default:!1},label:{},currentValue:{},fieldRef:{},width:{},mode:{},layout:{}},setup(d,{expose:n}){const y=d,t=e.computed(()=>le(y.mode)),r=e.ref(!1),a=e.ref({top:0,left:0}),i=e.ref(null),f=e.ref(null),m=e.ref(null);function b(){const l=f.value,w=m.value;if(!l||!w)return;const k=l.getBoundingClientRect(),o=w.offsetWidth,h=window.innerWidth,B=k.bottom+8;let{left:C}=k;C+o>h&&(C=Math.max(h-o-10,10)),a.value={top:B,left:C}}function c(){r.value=!r.value,r.value&&e.nextTick(()=>{b(),y.fieldRef?.inputTextRef&&y.fieldRef?.inputTextRef.focus(),y.fieldRef?.loadData&&y.fieldRef?.loadData()})}function s(l){!i.value?.contains(l.target)&&!m.value?.contains(l.target)&&(r.value=!1)}function u(l){l.key==="Escape"&&(r.value=!1)}const x=e.ref(!1);e.onMounted(()=>{x.value=!0}),e.onMounted(()=>{document.addEventListener("click",s,!0),document.addEventListener("keydown",u),window.addEventListener("scroll",b,!0)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",s,!0),document.removeEventListener("keydown",u),window.removeEventListener("scroll",b,!0)});function p(){r.value=!1}n({close:p});const g=e.computed(()=>{const l=y.fieldRef?.selectedLabels;return!l||["inline"].includes(y.layout)?y.label??"":Array.isArray(l)?l.length>0?l.join(", "):y.label??"":String(l)});return(l,w)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:c,disabled:l.disabled,ref_key:"triggerRef",ref:f,title:l.label,class:e.normalizeClass(t.value+" "+(l.width?e.unref(W).getWidthClass(l.width):"w-full"))},[e.createElementVNode("span",{class:e.normalizeClass(["truncate text-ellipsis block",l.width?e.unref(W).getWidthClass(l.width-50):"w-full"])},e.toDisplayString(g.value),3),e.createVNode(L,{class:"h-4 w-4"}),(Array.isArray(l.currentValue)?l.currentValue===null||l.currentValue.length>0:l.currentValue===null||l.currentValue)&&l.layout==="inline"?(e.openBlock(),e.createElementBlock("span",Ze)):e.createCommentVNode("",!0)],10,Je),x.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:m,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${a.value.top}px`,left:`${a.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",ve,[e.createElementVNode("div",et,[e.renderSlot(l.$slots,"default")])])],4),[[e.vShow,r.value]])])):e.createCommentVNode("",!0)]))}});function tt(d){return String(d).charAt(0).toUpperCase()+String(d).slice(1)}class S{static format(n){const y=n.getFullYear(),t=(n.getMonth()+1).toString().padStart(2,"0"),r=n.getDate().toString().padStart(2,"0");return`${y}-${t}-${r}`}static getShiftedDay(n,y=0){const t=n?new Date(n):new Date;return t.setDate(t.getDate()+y),this.format(t)}static getLastWeekRange(n,y,t=0){if(n&&y){const b=new Date(n),c=new Date(y);return b.setDate(b.getDate()+t*7),c.setDate(c.getDate()+t*7),[this.format(b),this.format(c)]}const r=new Date,a=r.getDay(),i=a===0?13:a-1+7,f=new Date(r);f.setDate(r.getDate()-i+t*7);const m=new Date(f);return m.setDate(f.getDate()+6),[this.format(f),this.format(m)]}static getMonthRange(n,y,t=0){let r;n?r=new Date(n):r=new Date,r=new Date(r.getFullYear(),r.getMonth()+t,1);const a=r,i=new Date(r.getFullYear(),r.getMonth()+1,0);return[this.format(a),this.format(i)]}static getQuarterRange(n,y,t=0){const r=n||y,a=r?new Date(r):new Date;let i=Math.floor(a.getMonth()/3);i+=t;const f=(i%4+4)%4*3,m=a.getFullYear()+Math.floor(i/4),b=new Date(m,f,1),c=new Date(m,f+3,0);return[this.format(b),this.format(c)]}static getYear(n,y=0){let t;return n&&/^\d{4}$/.test(n)?t=parseInt(n,10):n?t=new Date(n).getFullYear():t=new Date().getFullYear(),String(t+y)}static getYearRange(n,y=0){let t;return n&&/^\d{4}$/.test(n)?t=parseInt(n,10):n?t=new Date(n).getFullYear():t=new Date().getFullYear(),[this.format(new Date(t+y,0,1)),this.format(new Date(t+y+1,0,0))]}static getRangeFromDaysBefore(n){const y=new Date,t=new Date(y.getTime());return t.setDate(y.getDate()-n),[this.format(t),this.format(y)]}}function oe(d,n){const{popoverRef:y}=d,t=e.ref(""),r=e.ref(d.modelValue??d.default??[]),a=e.ref(0);function i(){const g=S.getRangeFromDaysBefore(a.value);return r.value=[...g],n("change",{name:d.name,value:r.value}),n("update:modelValue",r.value),g}function f(g){t.value=g,y.value?.close();const l=[];switch(t.value){case"today":l.push(S.getShiftedDay()),l.push(S.getShiftedDay());break;case"week":l.push(...S.getLastWeekRange());break;case"month":l.push(...S.getMonthRange());break;case"quarter":l.push(...S.getQuarterRange());break;case"year":l.push(...S.getYearRange());break;case"last_7_days":a.value=7,i();break;case"range":a.value=7,l.push(...i());break}r.value=[...l],n("change",{name:d.name,value:r.value}),n("update:modelValue",r.value)}function m(){const g=[];switch(t.value){case"today":g.push(S.getShiftedDay(r.value[0],1));break;case"week":g.push(...S.getLastWeekRange(r.value[0],r.value[1],1));break;case"month":g.push(...S.getMonthRange(r.value[0],r.value[1],1));break;case"quarter":g.push(...S.getQuarterRange(r.value[0],r.value[1],1));break;case"year":g.push(...S.getYearRange(r.value[0],1));break}r.value=[...g],n("change",{name:d.name,value:r.value}),n("update:modelValue",r.value)}function b(){const g=[];switch(t.value){case"today":g.push(S.getShiftedDay(r.value[0],-1));break;case"week":g.push(...S.getLastWeekRange(r.value[0],r.value[1],-1));break;case"month":g.push(...S.getMonthRange(r.value[0],r.value[1],-1));break;case"quarter":g.push(...S.getQuarterRange(r.value[0],r.value[1],-1));break;case"year":g.push(...S.getYearRange(r.value[0],-1));break}r.value=[...g],n("change",{name:d.name,value:r.value}),n("update:modelValue",r.value)}const c=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function s(g){const[l,w,k]=g.split("-");return`${k}.${w}.${l}`}function u(g){const{value:l}=r;switch(g){case"today":return s(l[0]);case"range":return"Період";case"week":return l[0]&&l[1]?`${s(l[0])} – ${s(l[1])}`:"";case"quarter":if(l[0]){const w=new Date(l[0]),k=w.getFullYear(),o=w.getMonth();return`${Math.floor(o/3)+1} квартал ${k}`}return"";case"month":if(l[0]){const[w,k]=l[0].split("-");return`${c[parseInt(k,10)-1]} ${w}`}return"";case"year":return l[0]||"";case"last_7_days":return"За останні дні";default:return d.label??""}}const x=e.computed(()=>t.value?u(t.value):d.label??"");function p(){t.value="",r.value=[],n("update:modelValue",[]),n("clear",d.name)}return{activeMode:t,innerValue:r,daysBefore:a,onDaysBeforeChange:i,onSelectChange:f,nextClick:m,prevClick:b,ukMonths:c,formatDisplayDate:s,getModeLabel:u,currentLabel:x,clear:p}}const lt={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},ot={key:0,class:"flex gap-1 !w-[75%] rounded-lg"},nt=["max","disabled"],rt=["min","disabled"],at={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},st=["max","disabled"],it={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ct={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},dt=["min","disabled"],ft={class:"flex gap-1 pt-2"},ut=["onClick"],Sl={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},mt=e.defineComponent({__name:"date-input",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=te(),a=Pe(),i=y,f=e.ref(null),{activeMode:m,innerValue:b,onSelectChange:c,nextClick:s,prevClick:u,clear:x}=oe({...t,popoverRef:f},i);return e.watch(()=>t.modelValue,p=>{p!==void 0?(b.value=p,i("update:modelValue",p)):(m.value="",b.value=[])}),n({clear:x,popoverRef:f}),(p,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[p.layout==="inline"?(e.openBlock(),e.createElementBlock("div",lt,[e.unref(m)!==""&&e.unref(m)==="range"?(e.openBlock(),e.createElementBlock("div",ot,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(b)[1],locale:"uk-UA","onUpdate:modelValue":g[0]||(g[0]=l=>e.unref(b)[0]=l),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:p.disabled},null,8,nt),[[e.vModelText,e.unref(b)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(b)[0],locale:"uk-UA","onUpdate:modelValue":g[1]||(g[1]=l=>e.unref(b)[1]=l),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:p.disabled},null,8,rt),[[e.vModelText,e.unref(b)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(p.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(p.layout!=="popover"?"w-[48%]":"")},[p.layout==="popover"?(e.openBlock(),e.createElementBlock("label",at,"Від")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(b)[1],locale:"uk-UA","onUpdate:modelValue":g[2]||(g[2]=l=>e.unref(b)[0]=l),class:e.normalizeClass(e.unref(r)),disabled:p.disabled},null,10,st),[[e.vModelText,e.unref(b)[0]]])],2),p.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",it," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(p.layout!=="popover"?"w-[48%]":"")},[p.layout==="popover"?(e.openBlock(),e.createElementBlock("label",ct,"До")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(b)[0],locale:"uk-UA","onUpdate:modelValue":g[3]||(g[3]=l=>e.unref(b)[1]=l),class:e.normalizeClass(e.unref(r)),disabled:p.disabled},null,10,dt),[[e.vModelText,e.unref(b)[1]]])],2)],2),e.createElementVNode("div",ft,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["today","week","month","quarter","year"],l=>e.createElementVNode("button",{key:l,class:e.normalizeClass(e.unref(a)+(e.unref(m)===l?" bg-blue-100":"")),onClick:w=>e.unref(c)(l)},e.toDisplayString(e.unref(tt)(l)),11,ut)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a)),onClick:g[4]||(g[4]=(...l)=>e.unref(u)&&e.unref(u)(...l))}," <",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a)),onClick:g[5]||(g[5]=(...l)=>e.unref(s)&&e.unref(s)(...l))}," >",2)]),(p.cleanable,e.createCommentVNode("",!0))],64))}});function pt(d,n){const{api:y,options:t=[],limit:r=20,dataKey:a="data"}=d,i=d.multi;function f(V){return i?Array.isArray(V)?V:V?[V]:[]:Array.isArray(V)?V[0]:V}const m=e.ref(f(d.modelValue)),b=e.ref(""),c=e.ref(!1),s=e.ref([]),u=e.ref("id"),x=e.ref("text"),p=e.ref(!1),g=e.ref(d.layout!=="popover"&&t.length>r),l=e.ref([]),w=e.ref(0);function k(V){const D=V.find(Boolean)??{},A=["id","value","code","key"].find(K=>K in D)??"id",U=["text","label","name","title"].find(K=>K in D)??"text";return{autoValueKey:A,autoLabelKey:U}}if(t.length>0){const V=k(t);u.value=V.autoValueKey,x.value=V.autoLabelKey}const o=e.computed(()=>{if(y)return s.value;const V=s.value;if(d.layout==="popover")return V;if(!b.value)return p.value?V:V.slice(0,r);const D=b.value.toLowerCase();return V.filter(A=>A[x.value].toLowerCase().includes(D))});let h=null;async function B(V){if(y){c.value=!0;try{const D=new URL(y,window.location.origin);D.searchParams.set("json","1"),D.searchParams.set("key",V),D.searchParams.set("limit",r.toString());const A=await fetch(D.toString());if(!A.ok)throw new Error(`HTTP error! status: ${A.status}`);const U=await A.json();if(s.value=U[a],s.value.length>0){const K=k(s.value);u.value=K.autoValueKey,x.value=K.autoLabelKey}w.value=U.total}catch(D){console.error("Failed to fetch remote options:",D)}finally{c.value=!1}}}e.watch(b,V=>{y&&(h&&clearTimeout(h),h=setTimeout(()=>{B(V)},200))}),e.watch(()=>d.modelValue,V=>{m.value=f(V)},{immediate:!0});function C(V){return i&&Array.isArray(m.value)?m.value.includes(V[u.value]):m.value&&m.value===V[u.value]}function N(V){if(i&&!Array.isArray(m.value)&&(m.value=[]),i&&Array.isArray(m.value)){const D=m.value.includes(V[u.value]);m.value=D?m.value.filter(A=>A!==V[u.value]):[...m.value,V[u.value]],l.value=D?l.value.filter(A=>A!==V[x.value]):[...l.value,V[x.value]]}else m.value=V[u.value],l.value=V[x.value];n("update:modelValue",m.value),n("change",{name:d.name,value:m.value})}function j(){i?(m.value=[],l.value=[]):(m.value=void 0,l.value=[]),n("update:modelValue",m.value),n("clear",d.name)}function _(){h&&clearTimeout(h),b.value="",p.value=!1}function $(){p.value=!p.value}e.onBeforeUnmount(()=>{h&&clearTimeout(h)});const E=e.ref(-1);e.watch(o,()=>{E.value=o.value.length>0?0:-1});function O(V){const D=o.value.length;if(V.key==="ArrowDown")V.preventDefault(),E.value=(E.value+1)%D;else if(V.key==="ArrowUp")V.preventDefault(),E.value=(E.value-1+D)%D;else if(V.key==="Enter"&&(V.preventDefault(),E.value>=0&&E.value<o.value.length)){const A=o.value[E.value];N(A)}}function I(){y&&s.value.length===0&&b.value.length===0?B(b.value):s.value=t}return{innerValue:m,searchTerm:b,filteredOptions:o,isSelected:C,selectItem:N,clear:j,resetSearch:_,toggleShowAll:$,isReqProc:c,showAll:p,isEnableShowAll:g,labelKey:x,valueKey:u,allOptions:s,highlightedIndex:E,onKeyDown:O,selectedLabels:l,totalCount:w,loadData:I}}const gt={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},yt={key:0,class:"w-full"},bt={class:"flex flex-col items-center justify-center p-5 text-center"},ht={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},kt={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},xt=e.defineComponent({__name:"select",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(null),{innerValue:i,filteredOptions:f,isSelected:m,selectItem:b,clear:c,resetSearch:s,toggleShowAll:u,isReqProc:x,showAll:p,isEnableShowAll:g,searchTerm:l,labelKey:w,valueKey:k,highlightedIndex:o,onKeyDown:h,selectedLabels:B,totalCount:C,loadData:N}=pt({...t,modelValue:t.modelValue},r);e.onMounted(()=>{s()}),e.watch(()=>t.modelValue,_=>{_===void 0&&(t.multi?i.value=[]:i.value=void 0)});const j=e.ref([]);return e.watch(o,_=>{_>=0&&j.value[_]&&j.value[_]?.scrollIntoView({block:"nearest",behavior:"smooth"})}),e.watch(f,()=>{j.value=[]}),n({clear:c,inputTextRef:a,selectedLabels:B,loadData:N}),(_,$)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([_.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",gt,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":$[0]||($[0]=E=>e.isRef(l)?l.value=E:null),onKeydown:$[1]||($[1]=(...E)=>e.unref(h)&&e.unref(h)(...E)),class:"w-full h-full text-[13px] px-4 border rounded-sm pl-9 focus:outline-none focus:ring-ring focus:ring-1 focus:ring-blue-500",placeholder:"Пошук",type:"text",ref_key:"inputTextRef",ref:a},null,544),[[e.vModelText,e.unref(l)]]),e.createVNode(v,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(l)!=""?(e.openBlock(),e.createBlock(ee,{key:0,onClick:$[2]||($[2]=E=>l.value=""),class:"absolute text-gray-400 -translate-y-1/2 cursor-pointer hover:text-red-500 right-4 top-1/2"})):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass([_.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",_.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),(E,O)=>(e.openBlock(),e.createBlock(P,{layout:_.layout,count:E.count,label:E[e.unref(w)],color:E.color,type:_.multi?"checkbox":"radio",value:E[e.unref(k)],"is-selected":e.unref(m)(E),highlighted:O===e.unref(o),onItemClick:I=>e.unref(b)(E),ref_for:!0,ref:I=>j.value[O]=I?.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),_.type==="select"&&e.unref(f).length===0&&!e.unref(x)?(e.openBlock(),e.createElementBlock("div",yt,[e.createElementVNode("div",bt,[e.createVNode(H),$[7]||($[7]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),_.layout!=="popover"&&_.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(p)&&e.unref(g)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:$[3]||($[3]=(...E)=>e.unref(u)&&e.unref(u)(...E)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[$[8]||($[8]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(L)])):e.createCommentVNode("",!0),e.unref(p)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:$[4]||($[4]=(...E)=>e.unref(u)&&e.unref(u)(...E)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[$[9]||($[9]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Y)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),_.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[_.layout==="inline"?(e.openBlock(),e.createElementBlock("div",ht,[e.createTextVNode(e.toDisplayString(_.multi&&Array.isArray(e.unref(i))?e.unref(i)?.length:e.unref(i)!==void 0&&(e.unref(i)||e.unref(i)===null)?1:0)+" з "+e.toDisplayString(e.unref(C))+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:$[5]||($[5]=(...E)=>e.unref(c)&&e.unref(c)(...E))}," Очистити ",512),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0||e.unref(i)]])])):e.createCommentVNode("",!0),_.layout==="popover"?(e.openBlock(),e.createElementBlock("div",kt,[e.createElementVNode("span",null,e.toDisplayString(_.multi&&Array.isArray(e.unref(i))?e.unref(i)?.length:e.unref(i)!==void 0&&(e.unref(i)||e.unref(i)===null)?1:0)+" з "+e.toDisplayString(e.unref(C))+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:$[6]||($[6]=(...E)=>e.unref(c)&&e.unref(c)(...E))}," Очистити ",512),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0||e.unref(i)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),wt=["for","onClick"],Vt=["id","name","value"],Bt={class:"block"},Ct={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Et={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Nt=e.defineComponent({__name:"tag-field",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=y,{innerValue:a,isSelected:i,selectItem:f,clear:m,labelKey:b,valueKey:c,allOptions:s}=t.multi?J({...t,modelValue:t.modelValue??t.default??[]},r):X({...t,modelValue:t.modelValue!==void 0?t.modelValue:t.default??""},r);return n({clear:m}),e.watch(()=>t.modelValue,u=>{u===void 0&&(t.multi?a.value=[]:a.value=void 0)}),(u,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",u.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),p=>(e.openBlock(),e.createElementBlock("label",{key:`item-${p[e.unref(c)]}`,for:`item-${p[e.unref(c)]}`,onClick:e.withModifiers(g=>e.unref(f)(p),["stop","prevent"]),class:e.normalizeClass([e.unref(i)(p)?"ring-2 ring-indigo-600":"","p-2.5 group relative flex justify-center items-center gap-x-12 text-center text-xs bg-white text-gray-800 border border-gray-200 cursor-pointer rounded-lg dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-200 peer-checked:text-indigo-600 dark:has-checked:text-indigo-500 peer-checked:border-indigo-600 dark:has-checked:border-indigo-500 peer-checked:ring peer-checked:shadow focus:ring dark:has-checked:ring-indigo-500 has-disabled:pointer-events-none has-disabled:text-gray-200 dark:has-disabled:text-neutral-700 has-disabled:after:absolute has-disabled:after:inset-0 has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-gray-200)_calc(50%-1px),var(--color-gray-200)_50%,transparent_50%)] dark:has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-neutral-700)_calc(50%-1px),var(--color-neutral-700)_50%,transparent_50%)]"])},[e.createElementVNode("input",{type:"checkbox",id:`item-${p[e.unref(c)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${p[e.unref(c)]}`,value:p[e.unref(c)]},null,8,Vt),e.createElementVNode("span",Bt,e.toDisplayString(p[e.unref(b)]),1)],10,wt))),128))],2),u.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[u.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ct,[e.createTextVNode(e.toDisplayString(u.multi&&Array.isArray(e.unref(a))?e.unref(a)?.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" з "+e.toDisplayString(e.unref(s).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[0]||(x[0]=(...p)=>e.unref(m)&&e.unref(m)(...p))}," Очистити ",512),[[e.vShow,e.unref(a)!==""&&e.unref(a)!==void 0||e.unref(a)]])])):e.createCommentVNode("",!0),u.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Et,[e.createElementVNode("span",null,e.toDisplayString(u.multi&&Array.isArray(e.unref(a))?e.unref(a)?.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" з "+e.toDisplayString(e.unref(s).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[1]||(x[1]=(...p)=>e.unref(m)&&e.unref(m)(...p))}," Очистити ",512),[[e.vShow,e.unref(a)!==void 0&&e.unref(a)!==""||e.unref(a)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))}}),$t={},_t={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"text-blue-600 w-[16px] h-[16px]"};function Dt(d,n){return e.openBlock(),e.createElementBlock("svg",_t,n[0]||(n[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)]))}const T=F($t,[["render",Dt]]),St={},At={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[90deg]"};function Ft(d,n){return e.openBlock(),e.createElementBlock("svg",At,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Rt=F(St,[["render",Ft]]),Mt={},Tt={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[270deg]"};function jt(d,n){return e.openBlock(),e.createElementBlock("svg",Tt,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Kt=F(Mt,[["render",jt]]),Lt={class:"flex"},zt={class:"mb-1"},Ot={class:"mb-1"},It={class:"inline-flex rounded-lg shrink-0 pl-1"},Ut={class:"inline-flex rounded-lg shrink-0 pl-1"},Pt={key:1,class:"flex gap-1 !w-[75%] rounded-lg"},Ht=["max","disabled"],Yt=["min","disabled"],Al={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},ne={radio:_e,checkbox:Z,check:Z,text:Ie,range:Xe,date:mt,select:xt,tag:Nt,"date:inline":e.defineComponent({__name:"date-input-inline",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(null),{activeMode:i,innerValue:f,onSelectChange:m,nextClick:b,prevClick:c,currentLabel:s,clear:u}=oe({...t,popoverRef:a},r);return e.watch(()=>t.modelValue,x=>{x!==void 0?(f.value=x,r("update:modelValue",x)):(i.value="",f.value=[])}),n({clear:u,popoverRef:a}),(x,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Lt,[e.createVNode(q,{ref_key:"popoverRef",ref:a,label:e.unref(s),"current-value":e.unref(f),mode:x.mode,onClear:e.unref(u),layout:x.layout},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:p[0]||(p[0]=g=>e.unref(m)("range")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[p[12]||(p[12]=e.createTextVNode(" Період ",-1)),e.unref(i)==="range"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),p[19]||(p[19]=e.createElementVNode("div",null,[e.createElementVNode("div",{class:"pt-1 mt-1 border-t"})],-1)),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:p[1]||(p[1]=g=>e.unref(m)("today")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[p[13]||(p[13]=e.createTextVNode(" Сьогодні ",-1)),e.unref(i)==="today"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:p[2]||(p[2]=g=>e.unref(m)("week")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[p[14]||(p[14]=e.createTextVNode(" Тиждень ",-1)),e.unref(i)==="week"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:p[3]||(p[3]=g=>e.unref(m)("month")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[p[15]||(p[15]=e.createTextVNode(" Місяць ",-1)),e.unref(i)==="month"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:p[4]||(p[4]=g=>e.unref(m)("quarter")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[p[16]||(p[16]=e.createTextVNode(" Квартал ",-1)),e.unref(i)==="quarter"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",zt,[e.createElementVNode("button",{type:"button",onClick:p[5]||(p[5]=g=>e.unref(m)("year")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[p[17]||(p[17]=e.createTextVNode(" Рік ",-1)),e.unref(i)==="year"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Ot,[e.createElementVNode("button",{type:"button",onClick:p[6]||(p[6]=g=>e.unref(u)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[p[18]||(p[18]=e.createTextVNode(" Весь час ",-1)),e.unref(f)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T,{key:0}))])])]),_:1,__:[19]},8,["label","current-value","mode","onClear","layout"]),e.unref(i)!==""&&e.unref(i)!=="range"&&e.unref(i)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",It,[e.createElementVNode("button",{type:"button",title:"Попередній період",class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 bg-gray-100 gap-x-2 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:p[7]||(p[7]=(...g)=>e.unref(c)&&e.unref(c)(...g))},[e.createVNode(Rt)])]),e.createElementVNode("div",Ut,[e.createElementVNode("button",{type:"button",title:"Наступний період",class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 gap-x-2 bg-gray-100 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:p[8]||(p[8]=(...g)=>e.unref(b)&&e.unref(b)(...g))},[e.createVNode(Kt)])])],64)):e.createCommentVNode("",!0),e.unref(i)!==""&&e.unref(i)==="range"?(e.openBlock(),e.createElementBlock("div",Pt,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(f)[1],locale:"uk-UA","onUpdate:modelValue":p[9]||(p[9]=g=>e.unref(f)[0]=g),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:x.disabled},null,8,Ht),[[e.vModelText,e.unref(f)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(f)[0],locale:"uk-UA","onUpdate:modelValue":p[10]||(p[10]=g=>e.unref(f)[1]=g),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:x.disabled},null,8,Yt),[[e.vModelText,e.unref(f)[1]]])])):e.createCommentVNode("",!0)]),(x.cleanable,e.createCommentVNode("",!0))],64))}})};function Q(d,n){let y;switch(d.toLowerCase()){case"autocomplete":y="select";break;case"check":y="checkbox";break;default:y=d?.toString().toLowerCase()}return y==="date"&&n&&n==="inline"&&(y="date:inline"),{component:ne[y]||ne.text,type:y}}const Wt={},qt={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-reload absolute inline mr-1 text-gray-800 transition-all cursor-pointer active:rotate-90 right-1 top-1 hover:text-blue-500"};function Qt(d,n){return e.openBlock(),e.createElementBlock("svg",qt,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M19.933 13.041a8 8 0 1 1 -9.925 -8.788c3.899 -1 7.935 1.007 9.425 4.747"},null,-1),e.createElementVNode("path",{d:"M20 4v5h-5"},null,-1)]))}const Gt=F(Wt,[["render",Qt]]),Xt={style:{display:"inline-flex",margin:"0px",width:"100%"}},Jt={class:"relative w-full mb-2 p-4 bg-white rounded-lg shadow-sm"},Zt={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},vt={class:"flex items-center"},el={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},tl={class:"filter-layout__body"},ll=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(),i=Q(t.type,t.layout),f=e.computed({get:()=>t.modelValue,set:s=>r("update:modelValue",s)});function m(s){r("clear",s)}function b(s,u){r("change",{name:s,value:u}),t.modelValue!==void 0&&r("update:modelValue",u)}function c(){a.value&&a.value.clear(),r("clear",t.name)}return e.watch(()=>t.default,s=>{f.value=s}),e.watch(()=>t.modelValue,s=>{f.value=s}),n({filterRef:a}),(s,u)=>(e.openBlock(),e.createElementBlock("div",Xt,[e.createElementVNode("div",Jt,[e.createElementVNode("div",Zt,[e.createElementVNode("div",vt,[e.createElementVNode("span",el,e.toDisplayString(s.label),1)]),typeof f.value=="string"&&f.value.trim()!==""||Array.isArray(f.value)&&f.value.length>0&&f.value.some(x=>x!==void 0)||f.value===null?(e.openBlock(),e.createBlock(Gt,{key:0,onClick:c})):e.createCommentVNode("",!0)]),e.createElementVNode("div",tl,[e.unref(i)?.type!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i)?.component),e.mergeProps({key:0},t,{type:e.unref(i)?.type,onChange:u[0]||(u[0]=x=>b(x.name,x.value)),onClear:u[1]||(u[1]=x=>m(x)),ref_key:"filterRef",ref:a}),null,16,["type"])):(e.openBlock(),e.createBlock(q,{key:1,"current-value":f.value,label:s.label,mode:s.mode,onClear:c,fieldRef:a.value,width:void 0,disabled:s.disabled,layout:"vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i)?.component),e.mergeProps({ref_key:"filterRef",ref:a},t,{type:e.unref(i)?.type,onChange:u[2]||(u[2]=x=>b(x.name,x.value)),onClear:u[3]||(u[3]=x=>m(x))}),null,16,["type"]))]),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])]))}}),re=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(),i=Q(t.type,t.layout),f=e.computed({get:()=>t.modelValue,set:c=>r("update:modelValue",c)});function m(c=t.name){r("clear",c)}function b(c,s){r("change",{name:c,value:s}),t.modelValue!==void 0&&r("update:modelValue",s)}return e.watch(()=>t.default,c=>{f.value=c}),e.watch(()=>t.modelValue,c=>{f.value=c}),n({filterRef:a}),(c,s)=>["text","date"].includes(c.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i)?.component),e.mergeProps({key:0},t,{type:e.unref(i)?.type,onChange:s[0]||(s[0]=u=>b(u.name,u.value)),onClear:s[1]||(s[1]=u=>m(u)),disabled:c.disabled,modelValue:f.value,"onUpdate:modelValue":s[2]||(s[2]=u=>f.value=u)}),null,16,["type","disabled","modelValue"])):(e.openBlock(),e.createBlock(q,{key:1,"current-value":f.value,label:c.label,mode:c.mode,onClear:m,fieldRef:a.value,width:t.width,disabled:c.disabled,layout:"inline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i)?.component),e.mergeProps({ref_key:"filterRef",ref:a},t,{modelValue:f.value,"onUpdate:modelValue":s[3]||(s[3]=u=>f.value=u),type:e.unref(i)?.type,onChange:s[4]||(s[4]=u=>b(u.name,u.value)),onClear:s[5]||(s[5]=u=>m(u))}),null,16,["modelValue","type"]))]),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}),ol=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(),i=e.ref(Q(t.type,t.layout)),f=e.computed({get:()=>t.modelValue,set:c=>r("update:modelValue",c)});function m(c){r("clear",c)}function b(c,s){r("change",{name:c,value:s}),t.modelValue!==void 0&&r("update:modelValue",s)}return e.watch(()=>t.default,c=>{f.value=c}),e.watch(()=>t.modelValue,c=>{f.value=c}),e.watch(()=>t,c=>{f.value=c}),n({filterRef:a}),(c,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value?.component),e.mergeProps(t,{type:i.value?.type,modelValue:f.value,"onUpdate:modelValue":s[0]||(s[0]=u=>f.value=u),onChange:s[1]||(s[1]=u=>b(u.name,u.value)),onClear:s[2]||(s[2]=u=>m(u)),ref_key:"filterRef",ref:a}),null,16,["type","modelValue"]))}}),M=e.defineComponent({__name:"filter-field",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean,default:!0},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{default:"name"},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(),i=e.computed({get:()=>t.modelValue,set:c=>r("update:modelValue",c)});function f(c){r("clear",c)}function m(c,s){r("change",{name:c,value:s}),t.modelValue!==void 0&&r("update:modelValue",s)}e.watch(()=>t.default,c=>{i.value=c}),e.watch(()=>t.modelValue,c=>{i.value=c}),n({filterRef:a});function b(){switch(t.layout){case"inline":return re;case"vertical":return ll;case"popover":return ol;default:return re}}return(c,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b()),e.mergeProps(t,{onChange:s[0]||(s[0]=u=>m(u.name,u.value)),onClear:s[1]||(s[1]=u=>f(u)),modelValue:i.value,"onUpdate:modelValue":s[2]||(s[2]=u=>i.value=u)}),null,16,["modelValue"]))}});function G(d,n){const{slots:y}=d,t=e.ref(d.value??{}),r=e.computed(()=>(e.toRaw(y?.default?.())??[]).flatMap(o=>Array.isArray(o.children)?o.children:[o]));function a(k){delete t.value[k],n("clear",{data:e.toRaw(t.value),name:k})}function i(k,o){o===void 0?a(k):t.value={...t.value,[k]:o},n("change",{data:e.toRaw(t.value),name:k,value:o})}const f=e.computed(()=>r.value.map(k=>{const o=k.props?.name;return e.cloneVNode(k,{...k.props,layout:d.view,showClean:!0,modelValue:t[o],"onUpdate:modelValue":h=>{i(o,h)},onClear:()=>a(o)})})),m=e.computed(()=>new Map(f.value.map(k=>{const o=k.props?.name;return o?[o,k]:null}).filter(k=>k!==null)));function b(k=!1){t.value={},k||n("clearAll",{data:e.toRaw(t.value),name:"ALL"})}const c=e.ref(""),s=e.computed(()=>d.schema?.value?Object.entries(t.value).filter(([k,o])=>d.schema&&!(k in d.schema.value)?!1:Array.isArray(o)?o.some(h=>h!==""&&h!==void 0):o!==""&&o!==void 0).length:0),u=e.ref();e.watch(c,async()=>{await e.nextTick(),u?.value?.filterRef?.inputTextRef&&u.value.filterRef.inputTextRef.focus()});const x=e.computed(()=>d.schema?.value?Object.fromEntries(Object.entries(d.schema?.value).slice(0,d.limit)):{}),p=e.computed(()=>d.schema?.value?d.view!=="inline"?d.schema?.value:Object.fromEntries(Object.entries(d.schema?.value).slice(d.limit)):{}),g=e.computed(()=>{if(f.value.length===0)return[];let k=0;if(d.schema?.value){const o=Object.entries(d.schema.value).length;d.limit&&o<d.limit?k=d.limit-o:k=0}return f.value.slice(0,k)}),l=e.computed(()=>f.value.length===0?[]:d.view!=="inline"?f.value:f.value.slice(g.value.length));function w(){if(p.value){const[k]=Object.keys(p.value);c.value=k}else l.value.length>0?c.value=l.value[0].props.name:c.value=""}return{activeFilter:t,activeFilterCount:s,onFilterChange:i,clearFilter:a,clearAllFilters:b,limitedSchema:x,popoverSchema:p,filtersSlot:f,limitedFiltersSlot:g,popoverFiltersSlot:l,vnodeMap:m,onPopoverOpen:w,selectedFilter:c,filterRef:u}}const nl=e.defineComponent({__name:"popover",emits:["open","close"],setup(d,{emit:n}){const y=e.ref(!1),t=e.ref(null),r=e.ref(null),a=e.ref(null),i=e.ref({top:"0px",left:"0px",position:"absolute"});function f(){y.value=!y.value}function m(){const u=a.value,x=t.value;if(!u||!x)return;const p=u.getBoundingClientRect(),g=x.offsetWidth,l=window.innerWidth-p.left;let w=p.left+window.scrollX;g>l&&(w=window.innerWidth-g-8,w<8&&(w=8)),i.value={position:"absolute",top:`${p.bottom+window.scrollY+8}px`,left:`${w}px`}}function b(u){const x=u.target;!a.value?.contains(u.target)&&!t.value?.contains(u.target)&&!x.closest("[data-inside-popover]")&&(y.value=!1)}const c=e.ref(!1);e.onMounted(()=>{c.value=!0}),e.onMounted(()=>{a.value=r.value?.querySelector("[data-popover-trigger]")||null,a.value?.addEventListener("click",f),document.addEventListener("click",b),window.addEventListener("resize",m),window.addEventListener("scroll",m,!0)}),e.onBeforeUnmount(()=>{a.value?.removeEventListener("click",f),document.removeEventListener("click",b),window.removeEventListener("resize",m),window.removeEventListener("scroll",m,!0)});const s=n;return e.watch(y,async u=>{u?(s("open"),await e.nextTick(),m()):s("close")}),(u,x)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:r},[e.renderSlot(u.$slots,"trigger"),c.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popoverRef",ref:t,class:"absolute z-[50] w-[600px] rounded-md border bg-white shadow-md",style:e.normalizeStyle(i.value)},[e.renderSlot(u.$slots,"default")],4),[[e.vShow,y.value]])])):e.createCommentVNode("",!0)],512))}}),rl={},al={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-filter h-4 w-4"};function sl(d,n){return e.openBlock(),e.createElementBlock("svg",al,n[0]||(n[0]=[e.createElementVNode("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"},null,-1)]))}const il=F(rl,[["render",sl]]),cl={key:0,class:"inline-flex rounded-sm items-center border font-semibold border-transparent hover:bg-secondary/80 bg-blue-500 text-white text-xs px-1.5"},dl={class:"flex"},fl={class:"w-64 border-r border-gray-200"},ul={class:"p-2"},ml=["onClick"],pl={class:"flex items-center gap-2"},gl={class:"text-sm font-medium"},yl={key:0,class:"inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 bg-blue-100 text-blue-700 text-xs p-2"},bl=["onClick"],hl={class:"flex items-center gap-2"},kl={class:"text-sm font-medium"},xl={key:0,class:"inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 bg-blue-100 text-blue-700 text-xs p-2"},wl={key:0,class:"p-2 border-t"},Vl={class:"flex-1 min-h-[300px] overflow-y-auto"},Bl={key:0,class:"flex items-center justify-center h-full text-gray-500"},ae=e.defineComponent({__name:"popover-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(d,{expose:n,emit:y}){const t=d,r=le(t.mode),a=e.useSlots(),i=y,f=e.ref({}),{activeFilter:m,activeFilterCount:b,onFilterChange:c,clearFilter:s,clearAllFilters:u,popoverSchema:x,popoverFiltersSlot:p,onPopoverOpen:g,selectedFilter:l,filterRef:w}=G({...t,schema:f,slots:a},i);return e.watch(()=>t.schema,k=>{f.value=k},{deep:!0,immediate:!0}),n({clearFilter:s,clearAllFilters:u}),(k,o)=>(e.openBlock(),e.createBlock(nl,{onOpen:e.unref(g),onClose:o[5]||(o[5]=h=>l.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass(e.unref(r)+(e.unref(b)>0?"bg-blue-50 border-blue-200 text-blue-700 hover:bg-blue-100":"text-gray-800 hover:bg-gray-200 focus:bg-gray-200")),type:"button"},[e.createVNode(il),o[6]||(o[6]=e.createTextVNode(" Фільтр ",-1)),e.unref(b)>0?(e.openBlock(),e.createElementBlock("div",cl,e.toDisplayString(e.unref(b)),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",dl,[e.createElementVNode("div",fl,[o[7]||(o[7]=e.createElementVNode("div",{class:"p-4 border-b"},[e.createElementVNode("p",{class:"text-sm text-gray-600"},"Select a field to start creating a filter.")],-1)),e.createElementVNode("div",ul,[k.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(x)),([h,B])=>(e.openBlock(),e.createElementBlock("button",{key:h,onClick:()=>{l.value=h},class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e.unref(l)===h?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":""])},[e.createElementVNode("div",pl,[e.createElementVNode("span",gl,e.toDisplayString(B.label),1)]),(Array.isArray(e.unref(m)[h])?e.unref(m)[h]?.length>0:e.unref(m)[h]||e.unref(m)[h]===null)?(e.openBlock(),e.createElementBlock("div",yl)):e.createCommentVNode("",!0)],10,ml))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),(h,B)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+B,onClick:C=>l.value=h.props.name,class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e.unref(l)===h.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":""])},[e.createElementVNode("div",hl,[e.createElementVNode("span",kl,e.toDisplayString(h.props.label),1)]),e.unref(m)[h.props.name]?.length>0?(e.openBlock(),e.createElementBlock("div",xl)):e.createCommentVNode("",!0)],10,bl))),128))]),e.unref(b)>0?(e.openBlock(),e.createElementBlock("div",wl,[e.createElementVNode("button",{class:"w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors",onClick:o[0]||(o[0]=h=>e.unref(u)()),"data-inside-popover":""}," Очистити всі ")])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Vl,[e.unref(l)===""?(e.openBlock(),e.createElementBlock("div",Bl,o[8]||(o[8]=[e.createElementVNode("p",{class:"text-sm"},"Select a field to start creating a filter.",-1)]))):e.createCommentVNode("",!0),e.unref(l)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(x)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(x)),([h,B])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(l)===h?(e.openBlock(),e.createBlock(M,e.mergeProps({name:h,key:h,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:w},{ref_for:!0},B,{onChange:o[1]||(o[1]=C=>e.unref(c)(C.name,C.value)),onClear:o[2]||(o[2]=C=>{e.unref(s)(C),e.unref(c)(C,void 0)}),modelValue:e.unref(m)[h],"onUpdate:modelValue":C=>e.unref(m)[h]=C,cleanable:!0}),null,16,["name","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),(h,B)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+B},[e.unref(l)===h.props.name?(e.openBlock(),e.createBlock(M,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},h.props,{ref_for:!0,ref_key:"filterRef",ref:w,onChange:o[3]||(o[3]=C=>e.unref(c)(C.name,C.value)),onClear:o[4]||(o[4]=C=>{e.unref(s)(C),e.unref(c)(C,void 0)}),modelValue:e.unref(m)[h.props.name],"onUpdate:modelValue":C=>e.unref(m)[h.props.name]=C,cleanable:!0}),null,16,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0)])])]),_:1},8,["onOpen"]))}}),Cl={class:"flex gap-1 items-center flex-wrap"},se=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(d,{expose:n,emit:y}){const t=d,r=y,a=e.useSlots(),i=e.ref({}),{activeFilter:f,activeFilterCount:m,onFilterChange:b,clearFilter:c,clearAllFilters:s,limitedSchema:u,popoverSchema:x,filtersSlot:p,limitedFiltersSlot:g,popoverFiltersSlot:l}=G({...t,schema:i,slots:a},r),w=e.ref();function k(){w.value&&w.value.clearAllFilters(!0),s()}return e.watch(()=>t.schema,o=>{i.value=o},{deep:!0,immediate:!0}),n({clearFilter:c,clearAllFilters:s}),(o,h)=>(e.openBlock(),e.createElementBlock("div",Cl,[o.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(u)),([B,C])=>(e.openBlock(),e.createBlock(M,e.mergeProps({key:B,name:B,mode:o.mode},{ref_for:!0},C,{onChange:h[0]||(h[0]=N=>e.unref(b)(N.name,N.value)),onClear:e.unref(c),layout:"inline",cleanable:!0,modelValue:e.unref(f)[B],"onUpdate:modelValue":N=>e.unref(f)[B]=N}),null,16,["name","mode","onClear","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(B,C)=>(e.openBlock(),e.createBlock(M,e.mergeProps({key:"slot-"+C,layout:"inline"},{ref_for:!0},B.props,{onChange:h[1]||(h[1]=N=>e.unref(b)(N.name,N.value)),onClear:h[2]||(h[2]=N=>{e.unref(c)(N),e.unref(b)(N,void 0)}),cleanable:!0,modelValue:e.unref(f)[B.props.name],"onUpdate:modelValue":N=>e.unref(f)[B.props.name]=N}),null,16,["modelValue","onUpdate:modelValue"]))),128)),Object.entries(e.unref(x)).length>0||e.unref(l).length>0?(e.openBlock(),e.createBlock(ae,e.mergeProps({key:1},t,{schema:e.unref(x),limit:0,onChange:h[3]||(h[3]=B=>e.unref(b)(B.name,B.value)),onClearAll:h[4]||(h[4]=B=>e.unref(s)()),onClear:h[5]||(h[5]=B=>e.unref(c)(B.name)),mode:o.mode,ref_key:"popoverRef",ref:w,cleanable:!0}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),(B,C)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(B),e.mergeProps({key:"slot-"+C,layout:"popover"},{ref_for:!0},B.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","mode"])):e.createCommentVNode("",!0),e.unref(m)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:k,class:"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-lg bg-gray-100 border border-transparent text-gray-800 hover:bg-gray-200 focus:bg-gray-200"}," Очистити ")):e.createCommentVNode("",!0)]))}}),El={key:0,class:"p-2 overflow-y-auto overflow-hidden [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500 dark:bg-neutral-800 max-h-[calc(100%-142px)] h-full bg-gray-100"},Nl={class:"flex items-center vst-filters vsTailwind flex-col w-full"},$l=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(d,{expose:n,emit:y}){const t=d,r=y,a=e.useSlots(),{activeFilter:i,activeFilterCount:f,onFilterChange:m,clearFilter:b,clearAllFilters:c,filtersSlot:s}=G({...t,slots:a},r);return n({clearFilter:b,clearAllFilters:c}),(u,x)=>u.view==="vertical"?(e.openBlock(),e.createElementBlock("div",El,[e.createElementVNode("div",Nl,[e.unref(f)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:x[0]||(x[0]=p=>e.unref(c)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:"w-full ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground border h-10 px-4 py-2 gap-2 m-2 bg-white text-gray-800 hover:bg-gray-200 focus:bg-gray-200",type:"button"}," Очистити ")):e.createCommentVNode("",!0),u.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(u.schema),([p,g])=>(e.openBlock(),e.createBlock(M,e.mergeProps({name:p,layout:"vertical"},{ref_for:!0},g,{onChange:x[1]||(x[1]=l=>e.unref(m)(l.name,l.value)),onClear:x[2]||(x[2]=l=>{e.unref(b)(l),e.unref(m)(l,void 0)}),modelValue:e.unref(i)[p],"onUpdate:modelValue":l=>e.unref(i)[p]=l,showClean:!0}),null,16,["name","modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),(p,g)=>(e.openBlock(),e.createBlock(M,e.mergeProps({key:"slot-"+g,layout:"vertical"},{ref_for:!0},p.props,{onChange:x[3]||(x[3]=l=>e.unref(m)(l.name,l.value)),onClear:x[4]||(x[4]=l=>{e.unref(b)(l),e.unref(m)(l,void 0)}),modelValue:e.unref(i)[p.props.name],"onUpdate:modelValue":l=>e.unref(i)[p.props.name]=l,showClean:!0}),null,16,["modelValue","onUpdate:modelValue"]))),128))])])):e.createCommentVNode("",!0)}}),z=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(d,{expose:n,emit:y}){const t=d,r=e.ref(t.value??{}),a=y,i=e.ref();function f(g){if(Array.isArray(g))return g.map(l=>f(l));if(g!==null&&typeof g=="object"){const l=e.toRaw(g),w={};for(const k in l)w[k]=f(l[k]);return w}return g}function m(g,l){l!==void 0?r.value={...r.value,[g]:l}:delete r.value[g],a("change",{data:f(r.value),name:g,value:f(l)})}function b(g){delete r.value[g],a("clear",{data:f(r.value),name:g}),a("change",{data:f(r.value),name:g,value:null})}function c(){r.value={},a("clear",{data:f(r.value),name:"ALL"}),a("change",{data:f(r.value),name:"ALL",value:null})}const s=e.ref({});function u(){switch(t.view){case"inline":return se;case"vertical":return $l;case"popover":return ae;default:return se}}e.watch(()=>t.schema,g=>{if(!g){s.value={};return}if(Array.isArray(g)&&!g.length){s.value={};return}Array.isArray(g)?s.value=g.filter(l=>l.type).reduce((l,w)=>(Object.assign(w,{name:w.id||w.name,type:{datepicker:"date"}[w.type.toLowerCase()]||w.type.toLowerCase(),label:w.label||w.ua}),l[w.name]=w,w.data&&!w.api&&!w.options&&Object.assign(w,{api:`/api/suggest/${w.data}`}),l),{}):(Object.entries(g).forEach(([l,w])=>{Object.assign(w,{name:l||w.name||w.id,type:w.type.toLowerCase()})}),s.value={...g})},{immediate:!0,deep:!0});function x(g){i.value.clearFilter(g),b(g)}function p(){i.value.clearAllFilters(),c()}return e.watch(()=>r.value,g=>{if(t.history){const l=new URL(window.location.href),w=new URLSearchParams(window.location.search);Object.keys(g).length>0?w.set("filter",Object.entries(g).filter(([,k])=>k).map(([k,o])=>`${k}=${o}`).join("|")):w.delete("filter"),l.search=decodeURI(w.toString()),window.history.pushState({},"",l)}}),n({clearAllFilters:p,clearFilter:x}),(g,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u()),e.mergeProps(t,{schema:s.value,onChange:l[0]||(l[0]=w=>m(w.name,w.value)),onClear:l[1]||(l[1]=w=>b(w.name)),onClearAll:c,ref_key:"filterRef",ref:i}),{default:e.withCtx(()=>[e.renderSlot(g.$slots,"default")]),_:3},16,["schema"]))}});z.install=function(n){n.component("Filter",z),n.component("FilterField",M)},R.Filter=z,R.FilterField=M,R.default=z,Object.defineProperties(R,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(R,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(R=typeof globalThis<"u"?globalThis:R||self,e(R.FilterLib={},R.Vue))})(this,function(R,e){"use strict";const ie={class:"flex items-center justify-between w-full text-sm"},ce={class:"flex items-center cursor-pointer w-full"},de={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},fe=["value"],ue={class:"w-[calc(100%-18px)] flex flex-row items-center justify-between pl-[10px]"},me={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},pe={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},P=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(d,{expose:n,emit:y}){const t=d,r=y;function a(){r("itemClick",t.value)}const i=e.ref(null);return n({el:i}),(f,m)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-lg group hover:bg-gray-100",ref_key:"el",ref:i},[e.createElementVNode("div",ie,[e.createElementVNode("div",ce,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(f.layout)?"text-sm text-gray-500 px-2 w-full py-2 cursor-pointer !flex flex-row items-center":"flex flex-row items-center w-full px-2 py-2 text-sm text-gray-500 cursor-pointer",{"bg-blue-100":f.highlighted}]),onClick:e.withModifiers(a,["stop","prevent"])},[e.createElementVNode("div",{class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[f.type=="checkbox"?"rounded-[4px]":"rounded-full",f.color?`bg-[${f.color}] border-[#ffffff]`:f.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[f.isSelected?(e.openBlock(),e.createElementBlock("img",de)):e.createCommentVNode("",!0)],2),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:f.value},null,8,fe),e.createElementVNode("div",ue,[e.createElementVNode("span",me,e.toDisplayString(f.label??"Відсутні данні"),1),f.count?(e.openBlock(),e.createElementBlock("div",pe," ("+e.toDisplayString(f.count)+") ",1)):e.createCommentVNode("",!0)])],2)])])],512))}});function X(d,n){const{options:y=[],limit:t=20}=d;function r(o){return Array.isArray(o)?o[0]:o}const a=e.ref(r(d.modelValue)),i=e.ref(""),f=e.ref(!1),m=e.ref([]),b=e.ref("id"),c=e.ref("text"),s=e.ref(!1),u=e.ref(d.layout!=="popover"&&y.length>t);function x(o){const h=o.find(Boolean)??{},B=["id","value","code","key"].find(N=>N in h)??"id",C=["text","label","name","title"].find(N=>N in h)??"text";return{autoValueKey:B,autoLabelKey:C}}if(y.length>0){const o=x(y);b.value=o.autoValueKey,c.value=o.autoLabelKey}const p=e.computed(()=>{const o=m.value;return d.layout==="popover"||s.value?o:o.slice(0,t)});e.watch(()=>d.modelValue,o=>{a.value=r(o)},{immediate:!0}),m.value=[...y].sort((o,h)=>d.sort==="count"?h.count&&o.count?h.count-o.count:0:d.sort==="name"?String(o[c.value]??"").localeCompare(String(h[c.value]??"")):0);function g(o){return a.value===o[b.value]}function l(o){a.value=o[b.value],n("update:modelValue",a.value),n("change",{name:d.name,value:a.value})}function w(){a.value=void 0,n("update:modelValue",a.value),n("clear",d.name)}function k(){s.value=!s.value}return{innerValue:a,searchTerm:i,filteredOptions:p,isSelected:g,selectItem:l,clear:w,toggleShowAll:k,isReqProc:f,showAll:s,isEnableShowAll:u,labelKey:c,valueKey:b,allOptions:m}}const F=(d,n)=>{const y=d.__vccOpts||d;for(const[t,r]of n)y[t]=r;return y},ge={},ye={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function be(d,n){return e.openBlock(),e.createElementBlock("svg",ye,n[0]||(n[0]=[e.createStaticVNode('<rect x="27" y="50.5" width="124" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="27" y="50.5" width="124" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter1)"><rect x="12" y="6" width="154" height="40" rx="8" fill="currentColor" class="fill-white dark:fill-neutral-800" shape-rendering="crispEdges"></rect><rect x="12.5" y="6.5" width="153" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/60" shape-rendering="crispEdges"></rect><rect x="20" y="14" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter1" x="0" y="0" width="178" height="64" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="6"></feOffset><feGaussianBlur stdDeviation="6"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1187_14810"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1187_14810" result="shape"></feBlend></filter></defs>',12)]))}const H=F(ge,[["render",be]]),he={},ke={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate"};function xe(d,n){return e.openBlock(),e.createElementBlock("svg",ke,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const L=F(he,[["render",xe]]),we={},Ve={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate-[180deg]"};function Be(d,n){return e.openBlock(),e.createElementBlock("svg",Ve,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Y=F(we,[["render",Be]]),Ce={key:0,class:"w-full"},Ee={class:"flex flex-col items-center justify-center p-5 text-center"},Ne={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},$e={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},_e=e.defineComponent({__name:"radio",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=e.ref(null),a=y,{innerValue:i,filteredOptions:f,isSelected:m,selectItem:b,clear:c,toggleShowAll:s,isReqProc:u,showAll:x,isEnableShowAll:p,labelKey:g,valueKey:l,allOptions:w}=X({...t,modelValue:t.modelValue??t.default??""},a);return n({clear:c,inputTextRef:r}),e.watch(()=>t.modelValue,k=>{k===void 0&&(i.value=void 0)}),(k,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([k.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([k.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",k.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),h=>(e.openBlock(),e.createBlock(P,{layout:k.layout,key:h[e.unref(l)],count:h.count,label:h[e.unref(g)],color:h.color,type:"radio",value:h[e.unref(l)],"is-selected":e.unref(m)(h),onItemClick:B=>e.unref(b)(h)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),k.type==="select"&&e.unref(f).length===0&&!e.unref(u)?(e.openBlock(),e.createElementBlock("div",Ce,[e.createElementVNode("div",Ee,[e.createVNode(H),o[4]||(o[4]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),k.layout!=="popover"&&k.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(x)&&e.unref(p)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:o[0]||(o[0]=(...h)=>e.unref(s)&&e.unref(s)(...h)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[o[5]||(o[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(L)])):e.createCommentVNode("",!0),e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:o[1]||(o[1]=(...h)=>e.unref(s)&&e.unref(s)(...h)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[o[6]||(o[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Y)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),k.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[k.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ne,[e.createTextVNode(e.toDisplayString(e.unref(i)||e.unref(i)===null?1:0)+" з "+e.toDisplayString(e.unref(w).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:o[2]||(o[2]=(...h)=>e.unref(c)&&e.unref(c)(...h))}," Очистити ",512),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0]])])):e.createCommentVNode("",!0),k.layout==="popover"?(e.openBlock(),e.createElementBlock("div",$e,[e.createElementVNode("span",null,e.toDisplayString(e.unref(i)||e.unref(i)===null?1:0)+" з "+e.toDisplayString(e.unref(w).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:o[3]||(o[3]=(...h)=>e.unref(c)&&e.unref(c)(...h))}," Очистити ",512),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function J(d,n){const{options:y=[],limit:t=20}=d;function r(o){return Array.isArray(o)?o:o?[o]:[]}const a=e.ref(r(d.modelValue)),i=e.ref(""),f=e.ref(!1),m=e.ref([]),b=e.ref("id"),c=e.ref("text"),s=e.ref(!1),u=e.ref(d.layout!=="popover"&&y.length>t);function x(o){const h=o.find(Boolean)??{},B=["id","value","code","key"].find(N=>N in h)??"id",C=["text","label","name","title"].find(N=>N in h)??"text";return{autoValueKey:B,autoLabelKey:C}}if(y.length>0){const o=x(y);b.value=o.autoValueKey,c.value=o.autoLabelKey}const p=e.computed(()=>{const o=m.value;return d.layout==="popover"||s.value?o:o.slice(0,t)});e.watch(()=>d.modelValue,o=>{a.value=r(o)},{immediate:!0}),m.value=[...y].sort((o,h)=>d.sort==="count"?h.count&&o.count?h.count-o.count:0:d.sort==="name"?String(o[c.value]).localeCompare(String(h[c.value])):0);function g(o){return a.value&&a.value.includes(o[b.value])}function l(o){const h=a.value.includes(o[b.value]);a.value=h?a.value.filter(B=>B!==o[b.value]):[...a.value,o[b.value]],n("update:modelValue",a.value),n("change",{name:d.name,value:a.value})}function w(){a.value=[],n("update:modelValue",a.value),n("clear",d.name)}function k(){s.value=!s.value}return{innerValue:a,searchTerm:i,filteredOptions:p,isSelected:g,selectItem:l,clear:w,toggleShowAll:k,isReqProc:f,showAll:s,isEnableShowAll:u,labelKey:c,valueKey:b,allOptions:m}}const De={key:0,class:"w-full"},Se={class:"flex flex-col items-center justify-center p-5 text-center"},Ae={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Fe={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Z=e.defineComponent({__name:"checkbox",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=y,{innerValue:a,filteredOptions:i,isSelected:f,selectItem:m,clear:b,toggleShowAll:c,isReqProc:s,showAll:u,isEnableShowAll:x,labelKey:p,valueKey:g,allOptions:l}=J({...t,modelValue:t.modelValue},r);return e.watch(()=>t.modelValue,w=>{w===void 0&&(a.value=[])}),n({clear:b}),(w,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([w.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([w.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",w.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),o=>(e.openBlock(),e.createBlock(P,{layout:w.layout,count:o.count,label:o[e.unref(p)],color:o.color,type:"checkbox",value:o[e.unref(g)],"is-selected":e.unref(f)(o),onItemClick:h=>e.unref(m)(o)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),w.type==="select"&&e.unref(i).length===0&&!e.unref(s)?(e.openBlock(),e.createElementBlock("div",De,[e.createElementVNode("div",Se,[e.createVNode(H),k[4]||(k[4]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),w.layout!=="popover"&&w.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(u)&&e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:k[0]||(k[0]=(...o)=>e.unref(c)&&e.unref(c)(...o)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[k[5]||(k[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(L)])):e.createCommentVNode("",!0),e.unref(u)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:k[1]||(k[1]=(...o)=>e.unref(c)&&e.unref(c)(...o)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[k[6]||(k[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Y)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),w.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[w.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ae,[e.createTextVNode(e.toDisplayString(e.unref(a).length)+" з "+e.toDisplayString(e.unref(l).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:k[2]||(k[2]=(...o)=>e.unref(b)&&e.unref(b)(...o))}," Очистити ",512),[[e.vShow,e.unref(a).length!==0]])])):e.createCommentVNode("",!0),w.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Fe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).length)+" з "+e.toDisplayString(e.unref(l).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:k[3]||(k[3]=(...o)=>e.unref(b)&&e.unref(b)(...o))}," Очистити ",512),[[e.vShow,e.unref(a).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Re={},Me={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"15px",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-search stroke-gray-500 transition-all"};function Te(d,n){return e.openBlock(),e.createElementBlock("svg",Me,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"},null,-1),e.createElementVNode("path",{d:"M21 21l-6 -6"},null,-1)]))}const v=F(Re,[["render",Te]]),je={},Ke={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-x stroke-gray-500 hover:stroke-red-500 transition-all",width:"15px",height:"15px"};function Le(d,n){return e.openBlock(),e.createElementBlock("svg",Ke,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M18 6l-12 12"},null,-1),e.createElementVNode("path",{d:"M6 6l12 12"},null,-1)]))}const ee=F(je,[["render",Le]]);class W{static getWidthClass(n){return typeof n=="number"?`max-w-[${n}px]`:typeof n=="string"?n.endsWith("%")||n.endsWith("px")?`max-w-[${n}]`:`max-w-${n}`:"w-full"}}const ze={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},Oe=["placeholder"],Ie=e.defineComponent({__name:"text-input",props:{id:{},name:{},type:{},label:{},width:{default:220},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{emit:n}){const y=d,t=e.ref((y.placeHolder||y.label||y.name||"search").toString()),r=n,a=e.ref(y.modelValue?.toString()??"");e.watch(()=>y.modelValue,b=>{b!==a.value&&(a.value=b?.toString()??"")});let i=null;function f(){if(a.value=a.value.trimStart(),a.value.length===0){m();return}i&&clearTimeout(i),i=setTimeout(()=>{r("update:modelValue",a.value),r("change",{name:y.name,value:a.value})},300)}function m(){a.value="",r("update:modelValue",""),r("clear",y.name)}return(b,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white rounded-lg [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:rounded-lg [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",b.layout==="inline"?e.unref(W).getWidthClass(b.width):"mb-2"+(b.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",ze,[e.createVNode(v)]),a.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:m,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(ee)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":c[0]||(c[0]=s=>a.value=s),onInput:f,placeholder:t.value,class:"!pr-7 !pl-8 bg-white h-[38px] min-w-[100px] text-sm py-2 px-3 block w-full border border-solid placeholder:text-nowrap border-stone-200 rounded-lg text-sm text-stone-800 placeholder:text-stone-400 focus:border-2 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500"},null,40,Oe),[[e.vModelText,a.value]])],2))}});function te(d={color:"blue"}){return e.computed(()=>{const y=`w-full px-3 py-2 border-solid border border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${d.color}-500 focus:border-transparent`;return d?.size==="sm"?`${y}h-[32px]`:`${y}h-[38px]`})}function Ue(){return"rounded-md font-medium border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 px-4 py-2 w-full bg-transparent border text-black text-sm h-[38px]"}function Pe(){return"font-medium border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 border h-7 rounded-md text-xs px-2 py-1 hover:bg-gray-100"}function le(d){return d==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent text-gray-600 hover:bg-blue-100 hover:text-gray-800 focus:outline-hidden focus:bg-gray-100 focus:text-gray-800 disabled:opacity-50 disabled:pointer-events-none dark:text-gray-500 dark:hover:bg-blue-800/30 dark:hover:text-blue-400 dark:focus:bg-blue-800/30 dark:focus:text-blue-400":d==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-gray-100 text-gray-800 hover:bg-gray-200 hover:bg-gray-200 focus:outline-hidden focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:text-blue-400 dark:hover:bg-blue-900 dark:focus:bg-blue-900":"relative border-solid border-gray-200 focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-2 bg-transparent h-[38px]"}const He={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Ye=["placeholder","disabled"],We={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},qe={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Qe=["placeholder","disabled"],Ge=["disabled"],_l={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Dl={key:1,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},Xe=e.defineComponent({__name:"range-input",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=te(),r=Ue(),a=d,i=e.ref(a.modelValue??a.default??[]),f=y,m=e.computed({get:()=>a.modelValue??i.value,set:s=>{a.modelValue!==void 0?f("update:modelValue",s):i.value=s}});function b(){f("change",{name:a.name,value:m.value||i.value})}function c(){i.value=[],m.value=i.value,f("clear",a.name)}return e.watch(()=>a.modelValue,s=>{s!==void 0&&a.layout!=="popover"?(i.value=s,f("update:modelValue",s)):i.value=[]}),n({clear:c,currentValue:m}),(s,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(s.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[s.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",He,"Від")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:s.placeHolder?.[0]??"min",step:"1",style:{outline:"none"},"onUpdate:modelValue":u[0]||(u[0]=x=>m.value[0]=x),disabled:s.disabled},null,10,Ye),[[e.vModelText,m.value[0]]])]),s.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",We," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[s.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",qe,"До")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:s.placeHolder?.[1]??"max",min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":u[1]||(u[1]=x=>m.value[1]=x),disabled:s.disabled},null,10,Qe),[[e.vModelText,m.value[1]]])]),["popover","inline","vertical"].includes(s.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:b,class:e.normalizeClass(e.unref(r)+(s.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(s.layout==="vertical"?"Ok":"Застосувати"),3)):e.createCommentVNode("",!0),["popover","inline"].includes(s.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(m.value[0]||m.value[1]),onClick:c,class:e.normalizeClass(e.unref(r)+" hover:bg-gray-100")},"Очистити",10,Ge)):e.createCommentVNode("",!0)],2)]),(s.cleanable&&i.value.length,e.createCommentVNode("",!0))],64))}}),Je=["disabled","title"],Ze={key:0,class:"absolute top-0 end-0 inline-flex min-h-[10px] min-w-[10px] z-10 items-center py-0.5 rounded-full text-xs font-medium transform -translate-y-1/2 translate-x-1/2 bg-blue-600 text-white px-1"},ve={class:"w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-lg focus:outline-none focus:bg-stone-100 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full"},et={class:"w-[360px] max-h-[500px] overflow-auto [&::-webkit-scrollbar]:h-2 [&::-webkit-scrollbar]:w-1 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-stone-100 [&::-webkit-scrollbar-thumb]:bg-stone-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500 before:w-full p-2"},q=e.defineComponent({__name:"popover-field",props:{disabled:{type:Boolean,default:!1},label:{},currentValue:{},fieldRef:{},width:{},mode:{},layout:{}},setup(d,{expose:n}){const y=d,t=e.computed(()=>le(y.mode)),r=e.ref(!1),a=e.ref({top:0,left:0}),i=e.ref(null),f=e.ref(null),m=e.ref(null);function b(){const l=f.value,w=m.value;if(!l||!w)return;const k=l.getBoundingClientRect(),o=w.offsetWidth,h=window.innerWidth,B=k.bottom+8;let{left:C}=k;C+o>h&&(C=Math.max(h-o-10,10)),a.value={top:B,left:C}}function c(){console.log("~~~~~~~~~~"),console.log(r.value),r.value=!r.value,console.log(r.value),r.value&&e.nextTick(()=>{b(),y.fieldRef?.inputTextRef&&y.fieldRef?.inputTextRef?.focus?.(),y.fieldRef?.loadData&&y.fieldRef?.loadData?.()})}function s(l){!i.value?.contains(l.target)&&!m.value?.contains(l.target)&&!f.value?.contains(l.target)&&(r.value=!1)}function u(l){l.key==="Escape"&&(r.value=!1)}const x=e.ref(!1);e.onMounted(()=>{x.value=!0}),e.onMounted(()=>{document.addEventListener("click",s,!0),document.addEventListener("keydown",u),window.addEventListener("scroll",b,!0)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",s,!0),document.removeEventListener("keydown",u),window.removeEventListener("scroll",b,!0)});function p(){r.value=!1}n({close:p});const g=e.computed(()=>{const l=y.fieldRef?.selectedLabels;return!l||["inline"].includes(y.layout)?y.label??"":Array.isArray(l)?l.length>0?l.join(", "):y.label??"":String(l)});return(l,w)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:c,disabled:l.disabled,ref_key:"triggerRef",ref:f,title:l.label,class:e.normalizeClass(t.value+" "+(l.width?e.unref(W).getWidthClass(l.width):"w-full"))},[e.createElementVNode("span",{class:e.normalizeClass(["truncate text-ellipsis block",l.width?e.unref(W).getWidthClass(l.width-50):"w-full"])},e.toDisplayString(g.value),3),e.createVNode(L,{class:"h-4 w-4"}),(Array.isArray(l.currentValue)?l.currentValue===null||l.currentValue.length>0:l.currentValue===null||l.currentValue)&&l.layout==="inline"?(e.openBlock(),e.createElementBlock("span",Ze)):e.createCommentVNode("",!0)],10,Je),x.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:m,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${a.value.top}px`,left:`${a.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",ve,[e.createElementVNode("div",et,[e.renderSlot(l.$slots,"default")])])],4),[[e.vShow,r.value]])])):e.createCommentVNode("",!0)]))}});function tt(d){return String(d).charAt(0).toUpperCase()+String(d).slice(1)}class S{static format(n){const y=n.getFullYear(),t=(n.getMonth()+1).toString().padStart(2,"0"),r=n.getDate().toString().padStart(2,"0");return`${y}-${t}-${r}`}static getShiftedDay(n,y=0){const t=n?new Date(n):new Date;return t.setDate(t.getDate()+y),this.format(t)}static getLastWeekRange(n,y,t=0){if(n&&y){const b=new Date(n),c=new Date(y);return b.setDate(b.getDate()+t*7),c.setDate(c.getDate()+t*7),[this.format(b),this.format(c)]}const r=new Date,a=r.getDay(),i=a===0?13:a-1+7,f=new Date(r);f.setDate(r.getDate()-i+t*7);const m=new Date(f);return m.setDate(f.getDate()+6),[this.format(f),this.format(m)]}static getMonthRange(n,y,t=0){let r;n?r=new Date(n):r=new Date,r=new Date(r.getFullYear(),r.getMonth()+t,1);const a=r,i=new Date(r.getFullYear(),r.getMonth()+1,0);return[this.format(a),this.format(i)]}static getQuarterRange(n,y,t=0){const r=n||y,a=r?new Date(r):new Date;let i=Math.floor(a.getMonth()/3);i+=t;const f=(i%4+4)%4*3,m=a.getFullYear()+Math.floor(i/4),b=new Date(m,f,1),c=new Date(m,f+3,0);return[this.format(b),this.format(c)]}static getYear(n,y=0){let t;return n&&/^\d{4}$/.test(n)?t=parseInt(n,10):n?t=new Date(n).getFullYear():t=new Date().getFullYear(),String(t+y)}static getYearRange(n,y=0){let t;return n&&/^\d{4}$/.test(n)?t=parseInt(n,10):n?t=new Date(n).getFullYear():t=new Date().getFullYear(),[this.format(new Date(t+y,0,1)),this.format(new Date(t+y+1,0,0))]}static getRangeFromDaysBefore(n){const y=new Date,t=new Date(y.getTime());return t.setDate(y.getDate()-n),[this.format(t),this.format(y)]}}function oe(d,n){const{popoverRef:y}=d,t=e.ref(""),r=e.ref(d.modelValue??d.default??[]),a=e.ref(0);function i(){const g=S.getRangeFromDaysBefore(a.value);return r.value=[...g],n("change",{name:d.name,value:r.value}),n("update:modelValue",r.value),g}function f(g){t.value=g,y.value?.close();const l=[];switch(t.value){case"today":l.push(S.getShiftedDay()),l.push(S.getShiftedDay());break;case"week":l.push(...S.getLastWeekRange());break;case"month":l.push(...S.getMonthRange());break;case"quarter":l.push(...S.getQuarterRange());break;case"year":l.push(...S.getYearRange());break;case"last_7_days":a.value=7,i();break;case"range":a.value=7,l.push(...i());break}r.value=[...l],n("change",{name:d.name,value:r.value}),n("update:modelValue",r.value)}function m(){const g=[];switch(t.value){case"today":g.push(S.getShiftedDay(r.value[0],1));break;case"week":g.push(...S.getLastWeekRange(r.value[0],r.value[1],1));break;case"month":g.push(...S.getMonthRange(r.value[0],r.value[1],1));break;case"quarter":g.push(...S.getQuarterRange(r.value[0],r.value[1],1));break;case"year":g.push(...S.getYearRange(r.value[0],1));break}r.value=[...g],n("change",{name:d.name,value:r.value}),n("update:modelValue",r.value)}function b(){const g=[];switch(t.value){case"today":g.push(S.getShiftedDay(r.value[0],-1));break;case"week":g.push(...S.getLastWeekRange(r.value[0],r.value[1],-1));break;case"month":g.push(...S.getMonthRange(r.value[0],r.value[1],-1));break;case"quarter":g.push(...S.getQuarterRange(r.value[0],r.value[1],-1));break;case"year":g.push(...S.getYearRange(r.value[0],-1));break}r.value=[...g],n("change",{name:d.name,value:r.value}),n("update:modelValue",r.value)}const c=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function s(g){const[l,w,k]=g.split("-");return`${k}.${w}.${l}`}function u(g){const{value:l}=r;switch(g){case"today":return s(l[0]);case"range":return"Період";case"week":return l[0]&&l[1]?`${s(l[0])} – ${s(l[1])}`:"";case"quarter":if(l[0]){const w=new Date(l[0]),k=w.getFullYear(),o=w.getMonth();return`${Math.floor(o/3)+1} квартал ${k}`}return"";case"month":if(l[0]){const[w,k]=l[0].split("-");return`${c[parseInt(k,10)-1]} ${w}`}return"";case"year":return l[0]||"";case"last_7_days":return"За останні дні";default:return d.label??""}}const x=e.computed(()=>t.value?u(t.value):d.label??"");function p(){t.value="",r.value=[],n("update:modelValue",[]),n("clear",d.name)}return{activeMode:t,innerValue:r,daysBefore:a,onDaysBeforeChange:i,onSelectChange:f,nextClick:m,prevClick:b,ukMonths:c,formatDisplayDate:s,getModeLabel:u,currentLabel:x,clear:p}}const lt={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},ot={key:0,class:"flex gap-1 !w-[75%] rounded-lg"},nt=["max","disabled"],rt=["min","disabled"],at={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},st=["max","disabled"],it={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ct={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},dt=["min","disabled"],ft={class:"flex gap-1 pt-2"},ut=["onClick"],Sl={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},mt=e.defineComponent({__name:"date-input",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=te(),a=Pe(),i=y,f=e.ref(null),{activeMode:m,innerValue:b,onSelectChange:c,nextClick:s,prevClick:u,clear:x}=oe({...t,popoverRef:f},i);return e.watch(()=>t.modelValue,p=>{p!==void 0?(b.value=p,i("update:modelValue",p)):(m.value="",b.value=[])}),n({clear:x,popoverRef:f}),(p,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[p.layout==="inline"?(e.openBlock(),e.createElementBlock("div",lt,[e.unref(m)!==""&&e.unref(m)==="range"?(e.openBlock(),e.createElementBlock("div",ot,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(b)[1],locale:"uk-UA","onUpdate:modelValue":g[0]||(g[0]=l=>e.unref(b)[0]=l),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:p.disabled},null,8,nt),[[e.vModelText,e.unref(b)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(b)[0],locale:"uk-UA","onUpdate:modelValue":g[1]||(g[1]=l=>e.unref(b)[1]=l),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:p.disabled},null,8,rt),[[e.vModelText,e.unref(b)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(p.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(p.layout!=="popover"?"w-[48%]":"")},[p.layout==="popover"?(e.openBlock(),e.createElementBlock("label",at,"Від")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(b)[1],locale:"uk-UA","onUpdate:modelValue":g[2]||(g[2]=l=>e.unref(b)[0]=l),class:e.normalizeClass(e.unref(r)),disabled:p.disabled},null,10,st),[[e.vModelText,e.unref(b)[0]]])],2),p.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",it," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(p.layout!=="popover"?"w-[48%]":"")},[p.layout==="popover"?(e.openBlock(),e.createElementBlock("label",ct,"До")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(b)[0],locale:"uk-UA","onUpdate:modelValue":g[3]||(g[3]=l=>e.unref(b)[1]=l),class:e.normalizeClass(e.unref(r)),disabled:p.disabled},null,10,dt),[[e.vModelText,e.unref(b)[1]]])],2)],2),e.createElementVNode("div",ft,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["today","week","month","quarter","year"],l=>e.createElementVNode("button",{key:l,class:e.normalizeClass(e.unref(a)+(e.unref(m)===l?" bg-blue-100":"")),onClick:w=>e.unref(c)(l)},e.toDisplayString(e.unref(tt)(l)),11,ut)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a)),onClick:g[4]||(g[4]=(...l)=>e.unref(u)&&e.unref(u)(...l))}," <",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a)),onClick:g[5]||(g[5]=(...l)=>e.unref(s)&&e.unref(s)(...l))}," >",2)]),(p.cleanable,e.createCommentVNode("",!0))],64))}});function pt(d,n){const{api:y,options:t=[],limit:r=20,dataKey:a="data"}=d,i=d.multi;function f(V){return i?Array.isArray(V)?V:V?[V]:[]:Array.isArray(V)?V[0]:V}const m=e.ref(f(d.modelValue)),b=e.ref(""),c=e.ref(!1),s=e.ref(t),u=e.ref("id"),x=e.ref("text"),p=e.ref(!1),g=e.ref(d.layout!=="popover"&&t.length>r),l=e.ref([]),w=e.ref(0);function k(V){const D=V.find(Boolean)??{},A=["id","value","code","key"].find(K=>K in D)??"id",U=["text","label","name","title"].find(K=>K in D)??"text";return{autoValueKey:A,autoLabelKey:U}}if(t.length>0){const V=k(t);u.value=V.autoValueKey,x.value=V.autoLabelKey}const o=e.computed(()=>{if(y)return s.value;const V=s.value;if(d.layout==="popover")return V;if(!b.value)return p.value?V:V.slice(0,r);const D=b.value.toLowerCase();return V.filter(A=>A[x.value].toLowerCase().includes(D))});let h=null;async function B(V){if(y){c.value=!0;try{const D=new URL(y,window.location.origin);D.searchParams.set("json","1"),D.searchParams.set("key",V),D.searchParams.set("limit",r.toString());const A=await fetch(D.toString());if(!A.ok)throw new Error(`HTTP error! status: ${A.status}`);const U=await A.json();if(s.value=U[a],s.value.length>0){const K=k(s.value);u.value=K.autoValueKey,x.value=K.autoLabelKey}w.value=U.total}catch(D){console.error("Failed to fetch remote options:",D)}finally{c.value=!1}}}e.watch(b,V=>{y&&(h&&clearTimeout(h),h=setTimeout(()=>{B(V)},200))}),e.watch(()=>d.modelValue,V=>{m.value=f(V)},{immediate:!0});function C(V){return i&&Array.isArray(m.value)?m.value.includes(V[u.value]):m.value&&m.value===V[u.value]}function N(V){if(i&&!Array.isArray(m.value)&&(m.value=[]),i&&Array.isArray(m.value)){const D=m.value.includes(V[u.value]);m.value=D?m.value.filter(A=>A!==V[u.value]):[...m.value,V[u.value]],l.value=D?l.value.filter(A=>A!==V[x.value]):[...l.value,V[x.value]]}else m.value=V[u.value],l.value=V[x.value];n("update:modelValue",m.value),n("change",{name:d.name,value:m.value})}function j(){i?(m.value=[],l.value=[]):(m.value=void 0,l.value=[]),n("update:modelValue",m.value),n("clear",d.name)}function _(){h&&clearTimeout(h),b.value="",p.value=!1}function $(){p.value=!p.value}e.onBeforeUnmount(()=>{h&&clearTimeout(h)});const E=e.ref(-1);e.watch(o,()=>{E.value=o.value.length>0?0:-1});function O(V){const D=o.value.length;if(V.key==="ArrowDown")V.preventDefault(),E.value=(E.value+1)%D;else if(V.key==="ArrowUp")V.preventDefault(),E.value=(E.value-1+D)%D;else if(V.key==="Enter"&&(V.preventDefault(),E.value>=0&&E.value<o.value.length)){const A=o.value[E.value];N(A)}}function I(){y&&s.value.length===0&&b.value.length===0&&B(b.value)}return{innerValue:m,searchTerm:b,filteredOptions:o,isSelected:C,selectItem:N,clear:j,resetSearch:_,toggleShowAll:$,isReqProc:c,showAll:p,isEnableShowAll:g,labelKey:x,valueKey:u,allOptions:s,highlightedIndex:E,onKeyDown:O,selectedLabels:l,totalCount:w,loadData:I}}const gt={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},yt={key:0,class:"w-full"},bt={class:"flex flex-col items-center justify-center p-5 text-center"},ht={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},kt={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},xt=e.defineComponent({__name:"select",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(null),{innerValue:i,filteredOptions:f,isSelected:m,selectItem:b,clear:c,resetSearch:s,toggleShowAll:u,isReqProc:x,showAll:p,isEnableShowAll:g,searchTerm:l,labelKey:w,valueKey:k,highlightedIndex:o,onKeyDown:h,selectedLabels:B,totalCount:C,loadData:N}=pt({...t,modelValue:t.modelValue},r);e.onMounted(()=>{s(),t.layout!=="inline"&&(N(),a.value&&t.layout==="popover"&&a.value.focus())}),e.watch(()=>t.modelValue,_=>{_===void 0&&(t.multi?i.value=[]:i.value=void 0)});const j=e.ref([]);return e.watch(o,_=>{_>=0&&j.value[_]&&j.value[_]?.scrollIntoView({block:"nearest",behavior:"smooth"})}),e.watch(f,()=>{j.value=[]}),n({clear:c,inputTextRef:a,selectedLabels:B,loadData:N}),(_,$)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([_.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",gt,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":$[0]||($[0]=E=>e.isRef(l)?l.value=E:null),onKeydown:$[1]||($[1]=(...E)=>e.unref(h)&&e.unref(h)(...E)),class:"w-full h-full text-[13px] px-4 border rounded-sm pl-9 focus:outline-none focus:ring-ring focus:ring-1 focus:ring-blue-500 text-gray-700",placeholder:"Пошук",type:"text",ref_key:"inputTextRef",ref:a},null,544),[[e.vModelText,e.unref(l)]]),e.createVNode(v,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(l)!=""?(e.openBlock(),e.createBlock(ee,{key:0,onClick:$[2]||($[2]=E=>l.value=""),class:"absolute text-gray-400 -translate-y-1/2 cursor-pointer hover:text-red-500 right-4 top-1/2"})):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass([_.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",_.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),(E,O)=>(e.openBlock(),e.createBlock(P,{layout:_.layout,count:E.count,label:E[e.unref(w)],color:E.color,type:_.multi?"checkbox":"radio",value:E[e.unref(k)],"is-selected":e.unref(m)(E),highlighted:O===e.unref(o),onItemClick:I=>e.unref(b)(E),ref_for:!0,ref:I=>j.value[O]=I?.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),_.type==="select"&&e.unref(f).length===0&&!e.unref(x)?(e.openBlock(),e.createElementBlock("div",yt,[e.createElementVNode("div",bt,[e.createVNode(H),$[7]||($[7]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),_.layout!=="popover"&&_.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(p)&&e.unref(g)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:$[3]||($[3]=(...E)=>e.unref(u)&&e.unref(u)(...E)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[$[8]||($[8]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(L)])):e.createCommentVNode("",!0),e.unref(p)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:$[4]||($[4]=(...E)=>e.unref(u)&&e.unref(u)(...E)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[$[9]||($[9]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Y)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),_.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[_.layout==="inline"?(e.openBlock(),e.createElementBlock("div",ht,[e.createTextVNode(e.toDisplayString(_.multi&&Array.isArray(e.unref(i))?e.unref(i)?.length:e.unref(i)!==void 0&&(e.unref(i)||e.unref(i)===null)?1:0)+" з "+e.toDisplayString(e.unref(C))+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:$[5]||($[5]=(...E)=>e.unref(c)&&e.unref(c)(...E))}," Очистити ",512),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0||e.unref(i)]])])):e.createCommentVNode("",!0),_.layout==="popover"?(e.openBlock(),e.createElementBlock("div",kt,[e.createElementVNode("span",null,e.toDisplayString(_.multi&&Array.isArray(e.unref(i))?e.unref(i)?.length:e.unref(i)!==void 0&&(e.unref(i)||e.unref(i)===null)?1:0)+" з "+e.toDisplayString(e.unref(C))+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:$[6]||($[6]=(...E)=>e.unref(c)&&e.unref(c)(...E))}," Очистити ",512),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0||e.unref(i)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),wt=["for","onClick"],Vt=["id","name","value"],Bt={class:"block"},Ct={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Et={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Nt=e.defineComponent({__name:"tag-field",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=y,{innerValue:a,isSelected:i,selectItem:f,clear:m,labelKey:b,valueKey:c,allOptions:s}=t.multi?J({...t,modelValue:t.modelValue??t.default??[]},r):X({...t,modelValue:t.modelValue!==void 0?t.modelValue:t.default??""},r);return n({clear:m}),e.watch(()=>t.modelValue,u=>{u===void 0&&(t.multi?a.value=[]:a.value=void 0)}),(u,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",u.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),p=>(e.openBlock(),e.createElementBlock("label",{key:`item-${p[e.unref(c)]}`,for:`item-${p[e.unref(c)]}`,onClick:e.withModifiers(g=>e.unref(f)(p),["stop","prevent"]),class:e.normalizeClass([e.unref(i)(p)?"ring-2 ring-indigo-600":"","p-2.5 group relative flex justify-center items-center gap-x-12 text-center text-xs bg-white text-gray-800 border border-gray-200 cursor-pointer rounded-lg dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-200 peer-checked:text-indigo-600 dark:has-checked:text-indigo-500 peer-checked:border-indigo-600 dark:has-checked:border-indigo-500 peer-checked:ring peer-checked:shadow focus:ring dark:has-checked:ring-indigo-500 has-disabled:pointer-events-none has-disabled:text-gray-200 dark:has-disabled:text-neutral-700 has-disabled:after:absolute has-disabled:after:inset-0 has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-gray-200)_calc(50%-1px),var(--color-gray-200)_50%,transparent_50%)] dark:has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-neutral-700)_calc(50%-1px),var(--color-neutral-700)_50%,transparent_50%)]"])},[e.createElementVNode("input",{type:"checkbox",id:`item-${p[e.unref(c)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${p[e.unref(c)]}`,value:p[e.unref(c)]},null,8,Vt),e.createElementVNode("span",Bt,e.toDisplayString(p[e.unref(b)]),1)],10,wt))),128))],2),u.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[u.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ct,[e.createTextVNode(e.toDisplayString(u.multi&&Array.isArray(e.unref(a))?e.unref(a)?.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" з "+e.toDisplayString(e.unref(s).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[0]||(x[0]=(...p)=>e.unref(m)&&e.unref(m)(...p))}," Очистити ",512),[[e.vShow,e.unref(a)!==""&&e.unref(a)!==void 0||e.unref(a)]])])):e.createCommentVNode("",!0),u.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Et,[e.createElementVNode("span",null,e.toDisplayString(u.multi&&Array.isArray(e.unref(a))?e.unref(a)?.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" з "+e.toDisplayString(e.unref(s).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[1]||(x[1]=(...p)=>e.unref(m)&&e.unref(m)(...p))}," Очистити ",512),[[e.vShow,e.unref(a)!==void 0&&e.unref(a)!==""||e.unref(a)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))}}),$t={},_t={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"text-blue-600 w-[16px] h-[16px]"};function Dt(d,n){return e.openBlock(),e.createElementBlock("svg",_t,n[0]||(n[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)]))}const T=F($t,[["render",Dt]]),St={},At={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[90deg]"};function Ft(d,n){return e.openBlock(),e.createElementBlock("svg",At,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Rt=F(St,[["render",Ft]]),Mt={},Tt={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[270deg]"};function jt(d,n){return e.openBlock(),e.createElementBlock("svg",Tt,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Kt=F(Mt,[["render",jt]]),Lt={class:"flex"},zt={class:"mb-1"},Ot={class:"mb-1"},It={class:"inline-flex rounded-lg shrink-0 pl-1"},Ut={class:"inline-flex rounded-lg shrink-0 pl-1"},Pt={key:1,class:"flex gap-1 !w-[75%] rounded-lg"},Ht=["max","disabled"],Yt=["min","disabled"],Al={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},ne={radio:_e,checkbox:Z,check:Z,text:Ie,range:Xe,date:mt,select:xt,tag:Nt,"date:inline":e.defineComponent({__name:"date-input-inline",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(null),{activeMode:i,innerValue:f,onSelectChange:m,nextClick:b,prevClick:c,currentLabel:s,clear:u}=oe({...t,popoverRef:a},r);return e.watch(()=>t.modelValue,x=>{x!==void 0?(f.value=x,r("update:modelValue",x)):(i.value="",f.value=[])}),n({clear:u,popoverRef:a}),(x,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Lt,[e.createVNode(q,{ref_key:"popoverRef",ref:a,label:e.unref(s),"current-value":e.unref(f),mode:x.mode,onClear:e.unref(u),layout:x.layout},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:p[0]||(p[0]=g=>e.unref(m)("range")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[p[12]||(p[12]=e.createTextVNode(" Період ",-1)),e.unref(i)==="range"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),p[19]||(p[19]=e.createElementVNode("div",null,[e.createElementVNode("div",{class:"pt-1 mt-1 border-t"})],-1)),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:p[1]||(p[1]=g=>e.unref(m)("today")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[p[13]||(p[13]=e.createTextVNode(" Сьогодні ",-1)),e.unref(i)==="today"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:p[2]||(p[2]=g=>e.unref(m)("week")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[p[14]||(p[14]=e.createTextVNode(" Тиждень ",-1)),e.unref(i)==="week"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:p[3]||(p[3]=g=>e.unref(m)("month")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[p[15]||(p[15]=e.createTextVNode(" Місяць ",-1)),e.unref(i)==="month"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:p[4]||(p[4]=g=>e.unref(m)("quarter")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[p[16]||(p[16]=e.createTextVNode(" Квартал ",-1)),e.unref(i)==="quarter"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",zt,[e.createElementVNode("button",{type:"button",onClick:p[5]||(p[5]=g=>e.unref(m)("year")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[p[17]||(p[17]=e.createTextVNode(" Рік ",-1)),e.unref(i)==="year"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Ot,[e.createElementVNode("button",{type:"button",onClick:p[6]||(p[6]=g=>e.unref(u)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[p[18]||(p[18]=e.createTextVNode(" Весь час ",-1)),e.unref(f)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T,{key:0}))])])]),_:1,__:[19]},8,["label","current-value","mode","onClear","layout"]),e.unref(i)!==""&&e.unref(i)!=="range"&&e.unref(i)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",It,[e.createElementVNode("button",{type:"button",title:"Попередній період",class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 bg-gray-100 gap-x-2 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:p[7]||(p[7]=(...g)=>e.unref(c)&&e.unref(c)(...g))},[e.createVNode(Rt)])]),e.createElementVNode("div",Ut,[e.createElementVNode("button",{type:"button",title:"Наступний період",class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 gap-x-2 bg-gray-100 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:p[8]||(p[8]=(...g)=>e.unref(b)&&e.unref(b)(...g))},[e.createVNode(Kt)])])],64)):e.createCommentVNode("",!0),e.unref(i)!==""&&e.unref(i)==="range"?(e.openBlock(),e.createElementBlock("div",Pt,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(f)[1],locale:"uk-UA","onUpdate:modelValue":p[9]||(p[9]=g=>e.unref(f)[0]=g),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:x.disabled},null,8,Ht),[[e.vModelText,e.unref(f)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(f)[0],locale:"uk-UA","onUpdate:modelValue":p[10]||(p[10]=g=>e.unref(f)[1]=g),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:x.disabled},null,8,Yt),[[e.vModelText,e.unref(f)[1]]])])):e.createCommentVNode("",!0)]),(x.cleanable,e.createCommentVNode("",!0))],64))}})};function Q(d,n){let y;switch(d.toLowerCase()){case"autocomplete":y="select";break;case"check":y="checkbox";break;default:y=d?.toString().toLowerCase()}return y==="date"&&n&&n==="inline"&&(y="date:inline"),{component:ne[y]||ne.text,type:y}}const Wt={},qt={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-reload absolute inline mr-1 text-gray-800 transition-all cursor-pointer active:rotate-90 right-1 top-1 hover:text-blue-500"};function Qt(d,n){return e.openBlock(),e.createElementBlock("svg",qt,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M19.933 13.041a8 8 0 1 1 -9.925 -8.788c3.899 -1 7.935 1.007 9.425 4.747"},null,-1),e.createElementVNode("path",{d:"M20 4v5h-5"},null,-1)]))}const Gt=F(Wt,[["render",Qt]]),Xt={style:{display:"inline-flex",margin:"0px",width:"100%"}},Jt={class:"relative w-full mb-2 p-4 bg-white rounded-lg shadow-sm"},Zt={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},vt={class:"flex items-center"},el={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},tl={class:"filter-layout__body"},ll=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(),i=Q(t.type,t.layout),f=e.computed({get:()=>t.modelValue,set:s=>r("update:modelValue",s)});function m(s){r("clear",s)}function b(s,u){r("change",{name:s,value:u}),t.modelValue!==void 0&&r("update:modelValue",u)}function c(){a.value&&a.value.clear(),r("clear",t.name)}return e.watch(()=>t.default,s=>{f.value=s}),e.watch(()=>t.modelValue,s=>{f.value=s}),n({filterRef:a}),(s,u)=>(e.openBlock(),e.createElementBlock("div",Xt,[e.createElementVNode("div",Jt,[e.createElementVNode("div",Zt,[e.createElementVNode("div",vt,[e.createElementVNode("span",el,e.toDisplayString(s.label),1)]),typeof f.value=="string"&&f.value.trim()!==""||Array.isArray(f.value)&&f.value.length>0&&f.value.some(x=>x!==void 0)||f.value===null?(e.openBlock(),e.createBlock(Gt,{key:0,onClick:c})):e.createCommentVNode("",!0)]),e.createElementVNode("div",tl,[e.unref(i)?.type!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i)?.component),e.mergeProps({key:0},t,{type:e.unref(i)?.type,onChange:u[0]||(u[0]=x=>b(x.name,x.value)),onClear:u[1]||(u[1]=x=>m(x)),ref_key:"filterRef",ref:a}),null,16,["type"])):(e.openBlock(),e.createBlock(q,{key:1,"current-value":f.value,label:s.label,mode:s.mode,onClear:c,fieldRef:a.value,width:void 0,disabled:s.disabled,layout:"vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i)?.component),e.mergeProps({ref_key:"filterRef",ref:a},t,{type:e.unref(i)?.type,onChange:u[2]||(u[2]=x=>b(x.name,x.value)),onClear:u[3]||(u[3]=x=>m(x))}),null,16,["type"]))]),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])]))}}),re=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(),i=Q(t.type,t.layout),f=e.computed({get:()=>t.modelValue,set:c=>r("update:modelValue",c)});function m(c=t.name){r("clear",c)}function b(c,s){r("change",{name:c,value:s}),t.modelValue!==void 0&&r("update:modelValue",s)}return e.watch(()=>t.default,c=>{f.value=c}),e.watch(()=>t.modelValue,c=>{f.value=c}),n({filterRef:a}),(c,s)=>["text","date"].includes(c.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i)?.component),e.mergeProps({key:0},t,{type:e.unref(i)?.type,onChange:s[0]||(s[0]=u=>b(u.name,u.value)),onClear:s[1]||(s[1]=u=>m(u)),disabled:c.disabled,modelValue:f.value,"onUpdate:modelValue":s[2]||(s[2]=u=>f.value=u)}),null,16,["type","disabled","modelValue"])):(e.openBlock(),e.createBlock(q,{key:1,"current-value":f.value,label:c.label,mode:c.mode,onClear:m,fieldRef:a.value,width:t.width,disabled:c.disabled,layout:"inline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i)?.component),e.mergeProps({ref_key:"filterRef",ref:a},t,{modelValue:f.value,"onUpdate:modelValue":s[3]||(s[3]=u=>f.value=u),type:e.unref(i)?.type,onChange:s[4]||(s[4]=u=>b(u.name,u.value)),onClear:s[5]||(s[5]=u=>m(u))}),null,16,["modelValue","type"]))]),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}),ol=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(),i=e.ref(Q(t.type,t.layout)),f=e.computed({get:()=>t.modelValue,set:c=>r("update:modelValue",c)});function m(c){r("clear",c)}function b(c,s){r("change",{name:c,value:s}),t.modelValue!==void 0&&r("update:modelValue",s)}return e.watch(()=>t.default,c=>{f.value=c}),e.watch(()=>t.modelValue,c=>{f.value=c}),e.watch(()=>t,c=>{f.value=c}),n({filterRef:a}),(c,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value?.component),e.mergeProps(t,{type:i.value?.type,modelValue:f.value,"onUpdate:modelValue":s[0]||(s[0]=u=>f.value=u),onChange:s[1]||(s[1]=u=>b(u.name,u.value)),onClear:s[2]||(s[2]=u=>m(u)),ref_key:"filterRef",ref:a}),null,16,["type","modelValue"]))}}),M=e.defineComponent({__name:"filter-field",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean,default:!0},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{default:"name"},ua:{}},emits:["update:modelValue","change","clear"],setup(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(),i=e.computed({get:()=>t.modelValue,set:c=>r("update:modelValue",c)});function f(c){r("clear",c)}function m(c,s){r("change",{name:c,value:s}),t.modelValue!==void 0&&r("update:modelValue",s)}e.watch(()=>t.default,c=>{i.value=c}),e.watch(()=>t.modelValue,c=>{i.value=c}),n({filterRef:a});function b(){switch(t.layout){case"inline":return re;case"vertical":return ll;case"popover":return ol;default:return re}}return(c,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b()),e.mergeProps(t,{onChange:s[0]||(s[0]=u=>m(u.name,u.value)),onClear:s[1]||(s[1]=u=>f(u)),modelValue:i.value,"onUpdate:modelValue":s[2]||(s[2]=u=>i.value=u)}),null,16,["modelValue"]))}});function G(d,n){const{slots:y}=d,t=e.ref(d.value??{}),r=e.computed(()=>(e.toRaw(y?.default?.())??[]).flatMap(o=>Array.isArray(o.children)?o.children:[o]));function a(k){delete t.value[k],n("clear",{data:e.toRaw(t.value),name:k})}function i(k,o){o===void 0?a(k):t.value={...t.value,[k]:o},n("change",{data:e.toRaw(t.value),name:k,value:o})}const f=e.computed(()=>r.value.map(k=>{const o=k.props?.name;return e.cloneVNode(k,{...k.props,layout:d.view,showClean:!0,modelValue:t[o],"onUpdate:modelValue":h=>{i(o,h)},onClear:()=>a(o)})})),m=e.computed(()=>new Map(f.value.map(k=>{const o=k.props?.name;return o?[o,k]:null}).filter(k=>k!==null)));function b(k=!1){t.value={},k||n("clearAll",{data:e.toRaw(t.value),name:"ALL"})}const c=e.ref(""),s=e.computed(()=>d.schema?.value?Object.entries(t.value).filter(([k,o])=>d.schema&&!(k in d.schema.value)?!1:Array.isArray(o)?o.some(h=>h!==""&&h!==void 0):o!==""&&o!==void 0).length:0),u=e.ref();e.watch(c,async()=>{await e.nextTick(),u?.value?.filterRef?.inputTextRef&&u.value.filterRef.inputTextRef.focus()});const x=e.computed(()=>d.schema?.value?Object.fromEntries(Object.entries(d.schema?.value).slice(0,d.limit)):{}),p=e.computed(()=>d.schema?.value?d.view!=="inline"?d.schema?.value:Object.fromEntries(Object.entries(d.schema?.value).slice(d.limit)):{}),g=e.computed(()=>{if(f.value.length===0)return[];let k=0;if(d.schema?.value){const o=Object.entries(d.schema.value).length;d.limit&&o<d.limit?k=d.limit-o:k=0}return f.value.slice(0,k)}),l=e.computed(()=>f.value.length===0?[]:d.view!=="inline"?f.value:f.value.slice(g.value.length));function w(){if(p.value){const[k]=Object.keys(p.value);c.value=k}else l.value.length>0?c.value=l.value[0].props.name:c.value=""}return{activeFilter:t,activeFilterCount:s,onFilterChange:i,clearFilter:a,clearAllFilters:b,limitedSchema:x,popoverSchema:p,filtersSlot:f,limitedFiltersSlot:g,popoverFiltersSlot:l,vnodeMap:m,onPopoverOpen:w,selectedFilter:c,filterRef:u}}const nl=e.defineComponent({__name:"popover",emits:["open","close"],setup(d,{emit:n}){const y=e.ref(!1),t=e.ref(null),r=e.ref(null),a=e.ref(null),i=e.ref({top:"0px",left:"0px",position:"absolute"});function f(){y.value=!y.value}function m(){const u=a.value,x=t.value;if(!u||!x)return;const p=u.getBoundingClientRect(),g=x.offsetWidth,l=window.innerWidth-p.left;let w=p.left+window.scrollX;g>l&&(w=window.innerWidth-g-8,w<8&&(w=8)),i.value={position:"absolute",top:`${p.bottom+window.scrollY+8}px`,left:`${w}px`}}function b(u){const x=u.target;!a.value?.contains(u.target)&&!t.value?.contains(u.target)&&!x.closest("[data-inside-popover]")&&(y.value=!1)}const c=e.ref(!1);e.onMounted(()=>{c.value=!0}),e.onMounted(()=>{a.value=r.value?.querySelector("[data-popover-trigger]")||null,a.value?.addEventListener("click",f),document.addEventListener("click",b),window.addEventListener("resize",m),window.addEventListener("scroll",m,!0)}),e.onBeforeUnmount(()=>{a.value?.removeEventListener("click",f),document.removeEventListener("click",b),window.removeEventListener("resize",m),window.removeEventListener("scroll",m,!0)});const s=n;return e.watch(y,async u=>{u?(s("open"),await e.nextTick(),m()):s("close")}),(u,x)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:r},[e.renderSlot(u.$slots,"trigger"),c.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popoverRef",ref:t,class:"absolute z-[50] w-[600px] rounded-md border bg-white shadow-md",style:e.normalizeStyle(i.value)},[e.renderSlot(u.$slots,"default")],4),[[e.vShow,y.value]])])):e.createCommentVNode("",!0)],512))}}),rl={},al={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-filter h-4 w-4"};function sl(d,n){return e.openBlock(),e.createElementBlock("svg",al,n[0]||(n[0]=[e.createElementVNode("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"},null,-1)]))}const il=F(rl,[["render",sl]]),cl={key:0,class:"inline-flex rounded-sm items-center border font-semibold border-transparent hover:bg-secondary/80 bg-blue-500 text-white text-xs px-1.5"},dl={class:"flex"},fl={class:"w-64 border-r border-gray-200"},ul={class:"p-2"},ml=["onClick"],pl={class:"flex items-center gap-2"},gl={class:"text-sm font-medium"},yl={key:0,class:"inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 bg-blue-100 text-blue-700 text-xs p-2"},bl=["onClick"],hl={class:"flex items-center gap-2"},kl={class:"text-sm font-medium"},xl={key:0,class:"inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 bg-blue-100 text-blue-700 text-xs p-2"},wl={key:0,class:"p-2 border-t"},Vl={class:"flex-1 min-h-[300px] overflow-y-auto"},Bl={key:0,class:"flex items-center justify-center h-full text-gray-500"},ae=e.defineComponent({__name:"popover-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(d,{expose:n,emit:y}){const t=d,r=le(t.mode),a=e.useSlots(),i=y,f=e.ref({}),{activeFilter:m,activeFilterCount:b,onFilterChange:c,clearFilter:s,clearAllFilters:u,popoverSchema:x,popoverFiltersSlot:p,onPopoverOpen:g,selectedFilter:l,filterRef:w}=G({...t,schema:f,slots:a},i);return e.watch(()=>t.schema,k=>{f.value=k},{deep:!0,immediate:!0}),n({clearFilter:s,clearAllFilters:u}),(k,o)=>(e.openBlock(),e.createBlock(nl,{onOpen:e.unref(g),onClose:o[5]||(o[5]=h=>l.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass(e.unref(r)+(e.unref(b)>0?"bg-blue-50 border-blue-200 text-blue-700 hover:bg-blue-100":"text-gray-800 hover:bg-gray-200 focus:bg-gray-200")),type:"button"},[e.createVNode(il),o[6]||(o[6]=e.createTextVNode(" Фільтр ",-1)),e.unref(b)>0?(e.openBlock(),e.createElementBlock("div",cl,e.toDisplayString(e.unref(b)),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",dl,[e.createElementVNode("div",fl,[o[7]||(o[7]=e.createElementVNode("div",{class:"p-4 border-b"},[e.createElementVNode("p",{class:"text-sm text-gray-600"},"Select a field to start creating a filter.")],-1)),e.createElementVNode("div",ul,[k.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(x)),([h,B])=>(e.openBlock(),e.createElementBlock("button",{key:h,onClick:()=>{l.value=h},class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e.unref(l)===h?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-gray-700"])},[e.createElementVNode("div",pl,[e.createElementVNode("span",gl,e.toDisplayString(B.label),1)]),(Array.isArray(e.unref(m)[h])?e.unref(m)[h]?.length>0:e.unref(m)[h]||e.unref(m)[h]===null)?(e.openBlock(),e.createElementBlock("div",yl)):e.createCommentVNode("",!0)],10,ml))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),(h,B)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+B,onClick:C=>l.value=h.props.name,class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e.unref(l)===h.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":""])},[e.createElementVNode("div",hl,[e.createElementVNode("span",kl,e.toDisplayString(h.props.label),1)]),e.unref(m)[h.props.name]?.length>0?(e.openBlock(),e.createElementBlock("div",xl)):e.createCommentVNode("",!0)],10,bl))),128))]),e.unref(b)>0?(e.openBlock(),e.createElementBlock("div",wl,[e.createElementVNode("button",{class:"w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors",onClick:o[0]||(o[0]=h=>e.unref(u)()),"data-inside-popover":""}," Очистити всі ")])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Vl,[e.unref(l)===""?(e.openBlock(),e.createElementBlock("div",Bl,o[8]||(o[8]=[e.createElementVNode("p",{class:"text-sm"},"Select a field to start creating a filter.",-1)]))):e.createCommentVNode("",!0),e.unref(l)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(x)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(x)),([h,B])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(l)===h?(e.openBlock(),e.createBlock(M,e.mergeProps({name:h,key:h,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:w},{ref_for:!0},B,{onChange:o[1]||(o[1]=C=>e.unref(c)(C.name,C.value)),onClear:o[2]||(o[2]=C=>{e.unref(s)(C),e.unref(c)(C,void 0)}),modelValue:e.unref(m)[h],"onUpdate:modelValue":C=>e.unref(m)[h]=C,cleanable:!0}),null,16,["name","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),(h,B)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+B},[e.unref(l)===h.props.name?(e.openBlock(),e.createBlock(M,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},h.props,{ref_for:!0,ref_key:"filterRef",ref:w,onChange:o[3]||(o[3]=C=>e.unref(c)(C.name,C.value)),onClear:o[4]||(o[4]=C=>{e.unref(s)(C),e.unref(c)(C,void 0)}),modelValue:e.unref(m)[h.props.name],"onUpdate:modelValue":C=>e.unref(m)[h.props.name]=C,cleanable:!0}),null,16,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0)])])]),_:1},8,["onOpen"]))}}),Cl={class:"flex gap-1 items-center flex-wrap"},se=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(d,{expose:n,emit:y}){const t=d,r=y,a=e.useSlots(),i=e.ref({}),{activeFilter:f,activeFilterCount:m,onFilterChange:b,clearFilter:c,clearAllFilters:s,limitedSchema:u,popoverSchema:x,filtersSlot:p,limitedFiltersSlot:g,popoverFiltersSlot:l}=G({...t,schema:i,slots:a},r),w=e.ref();function k(){w.value&&w.value.clearAllFilters(!0),s()}return e.watch(()=>t.schema,o=>{i.value=o},{deep:!0,immediate:!0}),n({clearFilter:c,clearAllFilters:s}),(o,h)=>(e.openBlock(),e.createElementBlock("div",Cl,[o.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(u)),([B,C])=>(e.openBlock(),e.createBlock(M,e.mergeProps({key:B,name:B,mode:o.mode},{ref_for:!0},C,{onChange:h[0]||(h[0]=N=>e.unref(b)(N.name,N.value)),onClear:e.unref(c),layout:"inline",cleanable:!0,modelValue:e.unref(f)[B],"onUpdate:modelValue":N=>e.unref(f)[B]=N}),null,16,["name","mode","onClear","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(B,C)=>(e.openBlock(),e.createBlock(M,e.mergeProps({key:"slot-"+C,layout:"inline"},{ref_for:!0},B.props,{onChange:h[1]||(h[1]=N=>e.unref(b)(N.name,N.value)),onClear:h[2]||(h[2]=N=>{e.unref(c)(N),e.unref(b)(N,void 0)}),cleanable:!0,modelValue:e.unref(f)[B.props.name],"onUpdate:modelValue":N=>e.unref(f)[B.props.name]=N}),null,16,["modelValue","onUpdate:modelValue"]))),128)),Object.entries(e.unref(x)).length>0||e.unref(l).length>0?(e.openBlock(),e.createBlock(ae,e.mergeProps({key:1},t,{schema:e.unref(x),limit:0,onChange:h[3]||(h[3]=B=>e.unref(b)(B.name,B.value)),onClearAll:h[4]||(h[4]=B=>e.unref(s)()),onClear:h[5]||(h[5]=B=>e.unref(c)(B.name)),mode:o.mode,ref_key:"popoverRef",ref:w,cleanable:!0}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),(B,C)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(B),e.mergeProps({key:"slot-"+C,layout:"popover"},{ref_for:!0},B.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","mode"])):e.createCommentVNode("",!0),e.unref(m)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:k,class:"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-lg bg-gray-100 border border-transparent text-gray-800 hover:bg-gray-200 focus:bg-gray-200"}," Очистити ")):e.createCommentVNode("",!0)]))}}),El={key:0,class:"p-2 overflow-y-auto overflow-hidden [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500 dark:bg-neutral-800 max-h-[calc(100%-142px)] h-full bg-gray-100"},Nl={class:"flex items-center vst-filters vsTailwind flex-col w-full"},$l=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(d,{expose:n,emit:y}){const t=d,r=y,a=e.useSlots(),{activeFilter:i,activeFilterCount:f,onFilterChange:m,clearFilter:b,clearAllFilters:c,filtersSlot:s}=G({...t,slots:a},r);return n({clearFilter:b,clearAllFilters:c}),(u,x)=>u.view==="vertical"?(e.openBlock(),e.createElementBlock("div",El,[e.createElementVNode("div",Nl,[e.unref(f)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:x[0]||(x[0]=p=>e.unref(c)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:"w-full ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground border h-10 px-4 py-2 gap-2 m-2 bg-white text-gray-800 hover:bg-gray-200 focus:bg-gray-200",type:"button"}," Очистити ")):e.createCommentVNode("",!0),u.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(u.schema),([p,g])=>(e.openBlock(),e.createBlock(M,e.mergeProps({name:p,layout:"vertical"},{ref_for:!0},g,{onChange:x[1]||(x[1]=l=>e.unref(m)(l.name,l.value)),onClear:x[2]||(x[2]=l=>{e.unref(b)(l),e.unref(m)(l,void 0)}),modelValue:e.unref(i)[p],"onUpdate:modelValue":l=>e.unref(i)[p]=l,showClean:!0}),null,16,["name","modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),(p,g)=>(e.openBlock(),e.createBlock(M,e.mergeProps({key:"slot-"+g,layout:"vertical"},{ref_for:!0},p.props,{onChange:x[3]||(x[3]=l=>e.unref(m)(l.name,l.value)),onClear:x[4]||(x[4]=l=>{e.unref(b)(l),e.unref(m)(l,void 0)}),modelValue:e.unref(i)[p.props.name],"onUpdate:modelValue":l=>e.unref(i)[p.props.name]=l,showClean:!0}),null,16,["modelValue","onUpdate:modelValue"]))),128))])])):e.createCommentVNode("",!0)}}),z=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(d,{expose:n,emit:y}){const t=d,r=e.ref(t.value??{}),a=y,i=e.ref();function f(g){if(Array.isArray(g))return g.map(l=>f(l));if(g!==null&&typeof g=="object"){const l=e.toRaw(g),w={};for(const k in l)w[k]=f(l[k]);return w}return g}function m(g,l){l!==void 0?r.value={...r.value,[g]:l}:delete r.value[g],a("change",{data:f(r.value),name:g,value:f(l)})}function b(g){delete r.value[g],a("clear",{data:f(r.value),name:g}),a("change",{data:f(r.value),name:g,value:null})}function c(){r.value={},a("clear",{data:f(r.value),name:"ALL"}),a("change",{data:f(r.value),name:"ALL",value:null})}const s=e.ref({});function u(){switch(t.view){case"inline":return se;case"vertical":return $l;case"popover":return ae;default:return se}}e.watch(()=>t.schema,g=>{if(!g){s.value={};return}if(Array.isArray(g)&&!g.length){s.value={};return}Array.isArray(g)?s.value=g.filter(l=>l.type).reduce((l,w)=>(Object.assign(w,{name:w.id||w.name,type:{datepicker:"date"}[w.type.toLowerCase()]||w.type.toLowerCase(),label:w.label||w.ua}),l[w.name]=w,w.data&&!w.api&&!w.options&&Object.assign(w,{api:`/api/suggest/${w.data}`}),l),{}):(Object.entries(g).forEach(([l,w])=>{Object.assign(w,{name:l||w.name||w.id,type:w.type.toLowerCase()})}),s.value={...g})},{immediate:!0,deep:!0});function x(g){i.value.clearFilter(g),b(g)}function p(){i.value.clearAllFilters(),c()}return e.watch(()=>r.value,g=>{if(t.history){const l=new URL(window.location.href),w=new URLSearchParams(window.location.search);Object.keys(g).length>0?w.set("filter",Object.entries(g).filter(([,k])=>k).map(([k,o])=>`${k}=${o}`).join("|")):w.delete("filter"),l.search=decodeURI(w.toString()),window.history.pushState({},"",l)}}),n({clearAllFilters:p,clearFilter:x}),(g,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u()),e.mergeProps(t,{schema:s.value,onChange:l[0]||(l[0]=w=>m(w.name,w.value)),onClear:l[1]||(l[1]=w=>b(w.name)),onClearAll:c,ref_key:"filterRef",ref:i}),{default:e.withCtx(()=>[e.renderSlot(g.$slots,"default")]),_:3},16,["schema"]))}});z.install=function(n){n.component("Filter",z),n.component("FilterField",M)},R.Filter=z,R.FilterField=M,R.default=z,Object.defineProperties(R,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|