@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 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 j, 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";
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, j(p.label ?? "Відсутні данні"), 1),
60
- p.count ? (f(), k("div", Pe, " (" + j(p.count) + ") ", 1)) : $("", !0)
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((L) => L in x) ?? "id", B = ["text", "label", "name", "title"].find((L) => L in x) ?? "text";
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(j(e(u) || e(u) === null ? 1 : 0) + " з " + j(e(V).length) + " обрано ", 1),
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, j(e(u) || e(u) === null ? 1 : 0) + " з " + j(e(V).length) + " обрано", 1),
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((L) => L in x) ?? "id", B = ["text", "label", "name", "title"].find((L) => L in x) ?? "text";
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(j(e(r).length) + " з " + j(e(l).length) + " обрано ", 1),
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, j(e(r).length) + " з " + j(e(l).length) + " обрано", 1),
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
- }, j(s.layout === "vertical" ? "Ok" : "Застосувати"), 3)) : $("", !0),
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.focus(), b.fieldRef?.loadData && b.fieldRef?.loadData();
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
- }, j(g.value), 3),
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
- }, j(e(Ft)(l)), 11, Ht)), 64)),
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 = _([]), m = _("id"), C = _("text"), y = _(!1), g = _(d.layout !== "popover" && t.length > n), l = _([]), V = _(0);
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 L(A) {
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
- L(q);
1275
+ j(q);
1276
1276
  }
1277
1277
  }
1278
1278
  function se() {
1279
- b && s.value.length === 0 && h.value.length === 0 ? S(h.value) : s.value = t;
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: L,
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: L
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: L
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(j(T.multi && Array.isArray(e(u)) ? e(u)?.length : e(u) !== void 0 && (e(u) || e(u) === null) ? 1 : 0) + " з " + j(e(B)) + " обрано ", 1),
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, j(T.multi && Array.isArray(e(u)) ? e(u)?.length : e(u) !== void 0 && (e(u) || e(u) === null) ? 1 : 0) + " з " + j(e(B)) + " обрано", 1),
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, j(y[e(h)]), 1)
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(j(m.multi && Array.isArray(e(r)) ? e(r)?.length : e(r) !== void 0 && (e(r) || e(r) === null) ? 1 : 0) + " з " + j(e(s).length) + " обрано ", 1),
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, j(m.multi && Array.isArray(e(r)) ? e(r)?.length : e(r) !== void 0 && (e(r) || e(r) === null) ? 1 : 0) + " з " + j(e(s).length) + " обрано", 1),
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, j(s.label), 1)
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, j(e(h)), 1)) : $("", !0)
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, j(S.label), 1)
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, j(x.props.label), 1)
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] = (L) => e(h)(L.name, L.value)),
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": (L) => e(p)[S] = L
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] = (L) => e(h)(L.name, L.value)),
2577
- onClear: x[2] || (x[2] = (L) => {
2578
- e(i)(L), e(h)(L, void 0);
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": (L) => e(p)[S.props.name] = L
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),
@@ -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"}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengis/filter",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "type": "module",
5
5
  "main": "dist/filter.js",
6
6
  "private": false,