@opengis/filter 0.1.27 → 0.1.28

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/README.md CHANGED
@@ -1,74 +1,74 @@
1
- # Filter Panel
2
-
3
- A flexible and extensible filter component system for Vue 3.
4
- Ideal for building customizable filter UIs with checkbox, radio, or custom slot fields.
5
-
6
- ---
7
-
8
- ## Features
9
-
10
- - Schema-based filter rendering (radio, checkbox)
11
- - Slot-based extensibility for custom filters
12
- - Built-in clear/reset support
13
- - Emits `change` and `clear` events
14
- - Popover support with positioning logic
15
- - Show more / limit options logic
16
- - Written in TypeScript
17
- - Fully styleable with Tailwind CSS
18
- - Mobile-friendly and responsive
19
-
20
- ---
21
-
22
- ## Documentation
23
-
24
- Check out the documentation and live demo here: [Live Demo & Docs](https://filter.opengis.info)
25
-
26
- ## Install & Usage
27
-
28
- ### Install
29
-
30
- ```bash
31
- npm i @opengis/filter
32
- ```
33
-
34
- ### Usage
35
-
36
- ```vue
37
- <template>
38
- <VsFilter :schema="schema" @change="console.log($event.data)" />
39
- </template>
40
-
41
- <script setup lang="ts">
42
-
43
- import {ref} from 'vue'
44
- import VsFilter from "@opengis/filter";
45
-
46
- // import { Filter, FilterField } from '@opengis/filter'; // component import
47
-
48
- const schema = ref([
49
- {name: 'media', type: 'checkbox', label: 'Media type', options: [...] },
50
- {name: 'source', type: 'radio', label: 'Source', options: [...] }
51
- ]);
52
- </script>
53
- ```
54
-
55
- ### Register
56
-
57
- ```ts
58
- // main.ts
59
- import VsFilter from '@opengis/filter';
60
- app.use(VsFilter); // Register: Filter, VsFilter, FilterField
61
- ```
62
-
63
- ### Style
64
-
65
- ```html
66
- <script src="https://cdn.tailwindcss.com"></script>
67
- ```
68
-
69
- ---
70
-
71
- ## Contributions
72
-
73
- We welcome contributions!
74
- Feel free to open issues, suggest features, or submit pull requests.
1
+ # Filter Panel
2
+
3
+ A flexible and extensible filter component system for Vue 3.
4
+ Ideal for building customizable filter UIs with checkbox, radio, or custom slot fields.
5
+
6
+ ---
7
+
8
+ ## Features
9
+
10
+ - Schema-based filter rendering (radio, checkbox)
11
+ - Slot-based extensibility for custom filters
12
+ - Built-in clear/reset support
13
+ - Emits `change` and `clear` events
14
+ - Popover support with positioning logic
15
+ - Show more / limit options logic
16
+ - Written in TypeScript
17
+ - Fully styleable with Tailwind CSS
18
+ - Mobile-friendly and responsive
19
+
20
+ ---
21
+
22
+ ## Documentation
23
+
24
+ Check out the documentation and live demo here: [Live Demo & Docs](https://filter.opengis.info)
25
+
26
+ ## Install & Usage
27
+
28
+ ### Install
29
+
30
+ ```bash
31
+ npm i @opengis/filter
32
+ ```
33
+
34
+ ### Usage
35
+
36
+ ```vue
37
+ <template>
38
+ <VsFilter :schema="schema" @change="console.log($event.data)" />
39
+ </template>
40
+
41
+ <script setup lang="ts">
42
+
43
+ import {ref} from 'vue'
44
+ import VsFilter from "@opengis/filter";
45
+
46
+ // import { Filter, FilterField } from '@opengis/filter'; // component import
47
+
48
+ const schema = ref([
49
+ {name: 'media', type: 'checkbox', label: 'Media type', options: [...] },
50
+ {name: 'source', type: 'radio', label: 'Source', options: [...] }
51
+ ]);
52
+ </script>
53
+ ```
54
+
55
+ ### Register
56
+
57
+ ```ts
58
+ // main.ts
59
+ import VsFilter from '@opengis/filter';
60
+ app.use(VsFilter); // Register: Filter, VsFilter, FilterField
61
+ ```
62
+
63
+ ### Style
64
+
65
+ ```html
66
+ <script src="https://cdn.tailwindcss.com"></script>
67
+ ```
68
+
69
+ ---
70
+
71
+ ## Contributions
72
+
73
+ We welcome contributions!
74
+ Feel free to open issues, suggest features, or submit pull requests.
@@ -1 +1 @@
1
- {"version":3,"file":"popover-filter-layout.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/filter/layouts/popover-filter-layout.vue"],"names":[],"mappings":"AA6PA,OAAO,KAAK,EAAE,OAAO,EAAyB,MAAM,0BAA0B,CAAC;AAS/E,UAAU,YAAa,SAAQ,OAAO;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAseD,wBASG"}
1
+ {"version":3,"file":"popover-filter-layout.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/filter/layouts/popover-filter-layout.vue"],"names":[],"mappings":"AA6PA,OAAO,KAAK,EAAE,OAAO,EAAyB,MAAM,0BAA0B,CAAC;AAS/E,UAAU,YAAa,SAAQ,OAAO;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsgBD,wBASG"}
@@ -1 +1 @@
1
- {"version":3,"file":"popover.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ui/popover.vue"],"names":[],"mappings":"AA0OA,QAAA,IAAI,OAAO,IAAU,EAAE,OAAO,IAAW,CAAE;AAC3C,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC5C;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AA0B/C,QAAA,MAAM,eAAe;;;;;;iFAMnB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAE1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"popover.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ui/popover.vue"],"names":[],"mappings":"AA2OA,QAAA,IAAI,OAAO,IAAU,EAAE,OAAO,IAAW,CAAE;AAC3C,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC5C;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AA0B/C,QAAA,MAAM,eAAe;;;;;;iFAMnB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAE1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@ const ee = (m, n) => {
18
18
  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"
19
19
  };
20
20
  function Ze(m, n) {
21
- return u(), w("svg", Je, n[0] || (n[0] = [
21
+ return u(), w("svg", Je, [...n[0] || (n[0] = [
22
22
  d("path", {
23
23
  stroke: "none",
24
24
  d: "M0 0h24v24H0z",
@@ -26,7 +26,7 @@ function Ze(m, n) {
26
26
  }, null, -1),
27
27
  d("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),
28
28
  d("path", { d: "M20 4v5h-5" }, null, -1)
29
- ]));
29
+ ])]);
30
30
  }
31
31
  const et = /* @__PURE__ */ ee(Xe, [["render", Ze]]), tt = {}, lt = {
32
32
  xmlns: "http://www.w3.org/2000/svg",
@@ -41,9 +41,9 @@ const et = /* @__PURE__ */ ee(Xe, [["render", Ze]]), tt = {}, lt = {
41
41
  class: "text-blue-600 w-[16px] h-[16px]"
42
42
  };
43
43
  function ot(m, n) {
44
- return u(), w("svg", lt, n[0] || (n[0] = [
44
+ return u(), w("svg", lt, [...n[0] || (n[0] = [
45
45
  d("path", { d: "M20 6 9 17l-5-5" }, null, -1)
46
- ]));
46
+ ])]);
47
47
  }
48
48
  const oe = /* @__PURE__ */ ee(tt, [["render", ot]]), at = { class: "flex items-center justify-between w-full text-sm" }, nt = { class: "flex items-center cursor-pointer w-full" }, rt = {
49
49
  key: 0,
@@ -179,9 +179,9 @@ const ct = {}, ft = {
179
179
  xmlns: "http://www.w3.org/2000/svg"
180
180
  };
181
181
  function pt(m, n) {
182
- return u(), w("svg", ft, n[0] || (n[0] = [
182
+ return u(), w("svg", ft, [...n[0] || (n[0] = [
183
183
  Ne('<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)
184
- ]));
184
+ ])]);
185
185
  }
186
186
  const we = /* @__PURE__ */ ee(ct, [["render", pt]]), mt = {}, vt = {
187
187
  xmlns: "http://www.w3.org/2000/svg",
@@ -196,14 +196,14 @@ const we = /* @__PURE__ */ ee(ct, [["render", pt]]), mt = {}, vt = {
196
196
  class: "icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate"
197
197
  };
198
198
  function yt(m, n) {
199
- return u(), w("svg", vt, n[0] || (n[0] = [
199
+ return u(), w("svg", vt, [...n[0] || (n[0] = [
200
200
  d("path", {
201
201
  stroke: "none",
202
202
  d: "M0 0h24v24H0z",
203
203
  fill: "none"
204
204
  }, null, -1),
205
205
  d("path", { d: "M6 9l6 6l6 -6" }, null, -1)
206
- ]));
206
+ ])]);
207
207
  }
208
208
  const ve = /* @__PURE__ */ ee(mt, [["render", yt]]), gt = {}, bt = {
209
209
  xmlns: "http://www.w3.org/2000/svg",
@@ -218,14 +218,14 @@ const ve = /* @__PURE__ */ ee(mt, [["render", yt]]), gt = {}, bt = {
218
218
  class: "icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate-[180deg]"
219
219
  };
220
220
  function ht(m, n) {
221
- return u(), w("svg", bt, n[0] || (n[0] = [
221
+ return u(), w("svg", bt, [...n[0] || (n[0] = [
222
222
  d("path", {
223
223
  stroke: "none",
224
224
  d: "M0 0h24v24H0z",
225
225
  fill: "none"
226
226
  }, null, -1),
227
227
  d("path", { d: "M6 9l6 6l6 -6" }, null, -1)
228
- ]));
228
+ ])]);
229
229
  }
230
230
  const ke = /* @__PURE__ */ ee(gt, [["render", ht]]), xt = {
231
231
  key: 0,
@@ -625,7 +625,7 @@ const _t = {
625
625
  class: "icon icon-tabler icons-tabler-outline icon-tabler-search stroke-gray-500 transition-all"
626
626
  };
627
627
  function Ft(m, n) {
628
- return u(), w("svg", Rt, n[0] || (n[0] = [
628
+ return u(), w("svg", Rt, [...n[0] || (n[0] = [
629
629
  d("path", {
630
630
  stroke: "none",
631
631
  d: "M0 0h24v24H0z",
@@ -633,7 +633,7 @@ function Ft(m, n) {
633
633
  }, null, -1),
634
634
  d("path", { d: "M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" }, null, -1),
635
635
  d("path", { d: "M21 21l-6 -6" }, null, -1)
636
- ]));
636
+ ])]);
637
637
  }
638
638
  const Le = /* @__PURE__ */ ee(Dt, [["render", Ft]]), Kt = {}, Mt = {
639
639
  xmlns: "http://www.w3.org/2000/svg",
@@ -648,7 +648,7 @@ const Le = /* @__PURE__ */ ee(Dt, [["render", Ft]]), Kt = {}, Mt = {
648
648
  height: "15px"
649
649
  };
650
650
  function Lt(m, n) {
651
- return u(), w("svg", Mt, n[0] || (n[0] = [
651
+ return u(), w("svg", Mt, [...n[0] || (n[0] = [
652
652
  d("path", {
653
653
  stroke: "none",
654
654
  d: "M0 0h24v24H0z",
@@ -656,7 +656,7 @@ function Lt(m, n) {
656
656
  }, null, -1),
657
657
  d("path", { d: "M18 6l-12 12" }, null, -1),
658
658
  d("path", { d: "M6 6l12 12" }, null, -1)
659
- ]));
659
+ ])]);
660
660
  }
661
661
  const Ce = /* @__PURE__ */ ee(Kt, [["render", Lt]]);
662
662
  class Ee {
@@ -1754,14 +1754,14 @@ const il = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relat
1754
1754
  class: "icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[90deg]"
1755
1755
  };
1756
1756
  function Dl(m, n) {
1757
- return u(), w("svg", jl, n[0] || (n[0] = [
1757
+ return u(), w("svg", jl, [...n[0] || (n[0] = [
1758
1758
  d("path", {
1759
1759
  stroke: "none",
1760
1760
  d: "M0 0h24v24H0z",
1761
1761
  fill: "none"
1762
1762
  }, null, -1),
1763
1763
  d("path", { d: "M6 9l6 6l6 -6" }, null, -1)
1764
- ]));
1764
+ ])]);
1765
1765
  }
1766
1766
  const Rl = /* @__PURE__ */ ee(Bl, [["render", Dl]]), Fl = {}, Kl = {
1767
1767
  xmlns: "http://www.w3.org/2000/svg",
@@ -1776,14 +1776,14 @@ const Rl = /* @__PURE__ */ ee(Bl, [["render", Dl]]), Fl = {}, Kl = {
1776
1776
  class: "icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[270deg]"
1777
1777
  };
1778
1778
  function Ml(m, n) {
1779
- return u(), w("svg", Kl, n[0] || (n[0] = [
1779
+ return u(), w("svg", Kl, [...n[0] || (n[0] = [
1780
1780
  d("path", {
1781
1781
  stroke: "none",
1782
1782
  d: "M0 0h24v24H0z",
1783
1783
  fill: "none"
1784
1784
  }, null, -1),
1785
1785
  d("path", { d: "M6 9l6 6l6 -6" }, null, -1)
1786
- ]));
1786
+ ])]);
1787
1787
  }
1788
1788
  const Ll = /* @__PURE__ */ ee(Fl, [["render", Ml]]), El = { class: "flex gap-1" }, Ol = { class: "mb-1" }, Tl = { class: "mb-1" }, Il = { class: "inline-flex rounded-sm shrink-0 pl-1" }, Ul = ["title"], zl = { class: "inline-flex rounded-sm shrink-0 pl-1" }, Nl = ["title"], Pl = {
1789
1789
  key: 1,
@@ -1939,8 +1939,7 @@ const ql = /* @__PURE__ */ W({
1939
1939
  ])
1940
1940
  ])
1941
1941
  ]),
1942
- _: 1,
1943
- __: [12]
1942
+ _: 1
1944
1943
  }, 8, ["label", "current-value", "mode", "width", "onClear", "layout", "class"]),
1945
1944
  e(p) !== "" && e(p) !== "range" && e(p) !== "last_7_days" ? (u(), w(U, { key: 0 }, [
1946
1945
  d("div", Il, [
@@ -2560,7 +2559,7 @@ const ro = /* @__PURE__ */ W({
2560
2559
  H(d("div", {
2561
2560
  ref_key: "popoverRef",
2562
2561
  ref: t,
2563
- class: "absolute z-[50] w-[600px] rounded-md border bg-white shadow-md",
2562
+ class: "absolute z-[50] w-[calc(100vw-32px)] md:w-[600px] rounded-md border bg-white shadow-md",
2564
2563
  style: be(x.value)
2565
2564
  }, [
2566
2565
  de(k.$slots, "default")
@@ -2583,26 +2582,26 @@ const ro = /* @__PURE__ */ W({
2583
2582
  class: "lucide lucide-filter h-4 w-4"
2584
2583
  };
2585
2584
  function uo(m, n) {
2586
- return u(), w("svg", io, n[0] || (n[0] = [
2585
+ return u(), w("svg", io, [...n[0] || (n[0] = [
2587
2586
  d("polygon", { points: "22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3" }, null, -1)
2588
- ]));
2587
+ ])]);
2589
2588
  }
2590
2589
  const Ue = /* @__PURE__ */ ee(so, [["render", uo]]), co = { class: "flex items-center gap-2 overflow-hidden" }, fo = {
2591
2590
  key: 0,
2592
2591
  class: "inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-500 px-1 text-[11px] font-semibold text-white"
2593
- }, po = { class: "flex max-h-[400px]" }, mo = { class: "w-64 border-r border-gray-200 overflow-y-auto" }, vo = { class: "p-4 border-b" }, yo = { class: "text-sm text-gray-600" }, go = { class: "p-2" }, bo = ["onClick"], ho = { class: "flex items-center gap-2" }, xo = { class: "text-sm font-medium" }, wo = {
2592
+ }, po = { class: "flex max-h-[400px] md:max-h-[400px]" }, mo = { class: "w-[150px] sm:w-[180px] md:w-64 border-r border-gray-200 overflow-y-auto" }, vo = { class: "p-2 md:p-4 border-b" }, yo = { class: "text-xs md:text-sm text-gray-600" }, go = { class: "p-1 md:p-2" }, bo = ["onClick"], ho = { class: "flex items-center gap-1.5 md:gap-2" }, xo = { class: "text-xs md:text-sm font-medium line-clamp-3" }, wo = {
2594
2593
  key: 0,
2595
- class: "inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-1 text-[11px] font-semibold text-blue-600"
2596
- }, ko = ["onClick"], Co = { class: "flex items-center gap-2" }, Vo = { class: "text-sm font-medium" }, _o = {
2594
+ class: "inline-flex min-h-[16px] md:min-h-[18px] min-w-[16px] md:min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-0.5 md:px-1 text-[10px] md:text-[11px] font-semibold text-blue-600 flex-shrink-0"
2595
+ }, ko = ["onClick"], Co = { class: "flex items-center gap-1.5 md:gap-2" }, Vo = { class: "text-xs md:text-sm font-medium truncate" }, _o = {
2597
2596
  key: 0,
2598
- class: "inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-1 text-[11px] font-semibold text-blue-600"
2597
+ class: "inline-flex min-h-[16px] md:min-h-[18px] min-w-[16px] md:min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-0.5 md:px-1 text-[10px] md:text-[11px] font-semibold text-blue-600 flex-shrink-0"
2599
2598
  }, $o = {
2600
2599
  key: 0,
2601
- class: "p-2 border-t"
2602
- }, Ao = { class: "flex-1 min-h-[300px] overflow-y-auto" }, So = {
2600
+ class: "p-1 md:p-2 border-t"
2601
+ }, Ao = { class: "flex-1 min-h-[250px] md:min-h-[300px] overflow-y-auto" }, So = {
2603
2602
  key: 0,
2604
2603
  class: "flex items-center justify-center h-full text-gray-500"
2605
- }, Bo = { class: "text-sm" }, ze = /* @__PURE__ */ W({
2604
+ }, Bo = { class: "text-xs md:text-sm" }, ze = /* @__PURE__ */ W({
2606
2605
  __name: "popover-filter-layout",
2607
2606
  props: {
2608
2607
  badgeCount: {},
@@ -2692,7 +2691,7 @@ const Ue = /* @__PURE__ */ ee(so, [["render", uo]]), co = { class: "flex items-c
2692
2691
  i.value = S;
2693
2692
  },
2694
2693
  class: O([
2695
- "flex w-full items-center justify-between px-3 py-2 text-left transition-colors hover:bg-gray-50",
2694
+ "flex w-full items-center justify-between px-2 md:px-3 py-1.5 md:py-2 text-left transition-colors hover:bg-gray-50",
2696
2695
  e(i) === S ? "bg-blue-50 text-blue-700 border-l-2 border-blue-500" : "text-neutral-700"
2697
2696
  ])
2698
2697
  }, [
@@ -2705,7 +2704,7 @@ const Ue = /* @__PURE__ */ ee(so, [["render", uo]]), co = { class: "flex items-c
2705
2704
  key: "slot-" + F,
2706
2705
  onClick: (D) => i.value = S.props.name,
2707
2706
  class: O([
2708
- "flex items-center justify-between px-3 py-2 text-left transition-colors hover:bg-gray-50",
2707
+ "flex items-center justify-between px-2 md:px-3 py-1.5 md:py-2 text-left transition-colors hover:bg-gray-50",
2709
2708
  e(i) === S.props.name ? "bg-blue-50 text-blue-700 border-l-2 border-blue-500" : "text-neutral-700"
2710
2709
  ])
2711
2710
  }, [
@@ -2717,7 +2716,7 @@ const Ue = /* @__PURE__ */ ee(so, [["render", uo]]), co = { class: "flex items-c
2717
2716
  ]),
2718
2717
  e(v) > 0 ? (u(), w("div", $o, [
2719
2718
  d("button", {
2720
- class: O([L.itemClass, "w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors"]),
2719
+ class: O([L.itemClass, "w-full px-2 md:px-3 py-1.5 md:py-2 text-left text-xs md:text-sm text-gray-600 hover:bg-gray-50 transition-colors"]),
2721
2720
  onClick: $[0] || ($[0] = (S) => e(_)()),
2722
2721
  "data-inside-popover": ""
2723
2722
  }, " Очистити всі ", 2)
@@ -1,2 +1,2 @@
1
- (function(T,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@opengis/core")):typeof define=="function"&&define.amd?define(["exports","vue","@opengis/core"],e):(T=typeof globalThis<"u"?globalThis:T||self,e(T.FilterLib={},T.Vue,T.OpenGISCore))})(this,function(T,e,Z){"use strict";const K=(m,r)=>{const p=m.__vccOpts||m;for(const[t,s]of r)p[t]=s;return p},ue={},pe={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 ye(m,r){return e.openBlock(),e.createElementBlock("svg",pe,r[0]||(r[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 ge=K(ue,[["render",ye]]),he={},be={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 ke(m,r){return e.openBlock(),e.createElementBlock("svg",be,r[0]||(r[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)]))}const O=K(he,[["render",ke]]),xe={class:"flex items-center justify-between w-full text-sm"},we={class:"flex items-center cursor-pointer w-full"},Ve={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},Ce=["value"],Be={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},Ee={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},Ne={key:1,class:"absolute right-2 flex size-3.5 items-center justify-center"},W=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(m,{expose:r,emit:p}){const t=m,s=p;function o(){s("itemClick",t.value)}const y=e.ref(null),f=e.computed(()=>t.layout==="inline"&&t.type==="radio");return r({el:y}),(a,b)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-sm group hover:bg-gray-100",ref_key:"el",ref:y},[e.createElementVNode("div",xe,[e.createElementVNode("div",we,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(a.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":a.highlighted,relative:f.value}]),onClick:e.withModifiers(o,["stop","prevent"])},[f.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[a.type==="checkbox"?"rounded-[4px]":"rounded-full",a.color?`bg-[${a.color}] border-[#ffffff]`:a.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[a.isSelected?(e.openBlock(),e.createElementBlock("img",Ve)):e.createCommentVNode("",!0)],2)),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:a.value},null,8,Ce),e.createElementVNode("div",{class:e.normalizeClass(["flex flex-1 flex-row items-center justify-between",f.value?"pl-1 pr-6":"w-[calc(100%-18px)] pl-[10px]"])},[e.createElementVNode("span",Be,e.toDisplayString(a.label??"Відсутні дані"),1),a.count?(e.openBlock(),e.createElementBlock("div",Ee," ("+e.toDisplayString(a.count)+") ",1)):e.createCommentVNode("",!0)],2),f.value&&a.isSelected?(e.openBlock(),e.createElementBlock("span",Ne,[e.createVNode(O)])):e.createCommentVNode("",!0)],2)])])],512))}});function q(m,r){const{options:p=[],limit:t=20}=m;function s(g){return Array.isArray(g)?g[0]:g}const o=e.ref(s(m.modelValue)),y=e.ref(""),f=e.ref(!1),a=e.ref([]),b=e.ref("id"),c=e.ref("text"),u=e.ref(!1),d=e.ref(m.layout!=="popover"&&p.length>t);function k(g){const h=g.find(Boolean)??{},_=["id","value","code","key"].find(V=>V in h)??"id",D=["text","label","name","title"].find(V=>V in h)??"text";return{autoValueKey:_,autoLabelKey:D}}if(p.length>0){const g=k(p);b.value=g.autoValueKey,c.value=g.autoLabelKey}const w=e.computed(()=>{const g=a.value;return m.layout==="popover"||u.value?g:g.slice(0,t)});e.watch(()=>m.modelValue,g=>{o.value=s(g)},{immediate:!0}),a.value=[...p].sort((g,h)=>m.sort==="count"?h.count&&g.count?h.count-g.count:0:m.sort==="name"?String(g[c.value]??"").localeCompare(String(h[c.value]??"")):0);function x(g){return o.value===g[b.value]}function i(g){o.value=g[b.value],r("update:modelValue",o.value),r("change",{name:m.name,value:o.value})}function l(){o.value=void 0,r("update:modelValue",o.value),r("clear",m.name)}function n(){u.value=!u.value}return{innerValue:o,searchTerm:y,filteredOptions:w,isSelected:x,selectItem:i,clear:l,toggleShowAll:n,isReqProc:f,showAll:u,isEnableShowAll:d,labelKey:c,valueKey:b,allOptions:a}}const Se={},_e={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function De(m,r){return e.openBlock(),e.createElementBlock("svg",_e,r[0]||(r[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=K(Se,[["render",De]]),$e={},Fe={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 Ae(m,r){return e.openBlock(),e.createElementBlock("svg",Fe,r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const U=K($e,[["render",Ae]]),je={},Me={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 Re(m,r){return e.openBlock(),e.createElementBlock("svg",Me,r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Q=K(je,[["render",Re]]),Te={key:0,class:"w-full"},Ke={class:"flex flex-col items-center justify-center p-5 text-center"},Le={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},ze={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Oe=e.defineComponent({__name:"radio",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(m,{expose:r,emit:p}){const t=m,s=e.ref(null),o=p,{innerValue:y,filteredOptions:f,isSelected:a,selectItem:b,clear:c,toggleShowAll:u,isReqProc:d,showAll:k,isEnableShowAll:w,labelKey:x,valueKey:i,allOptions:l}=q({...t,modelValue:t.modelValue??t.default??""},o);return r({clear:c,inputTextRef:s}),e.watch(()=>t.modelValue,n=>{n===void 0&&(y.value=void 0)}),(n,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([n.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([n.layout==="popover"?"flex-1 overflow-y-auto p-2":"",n.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(W,{layout:n.layout,key:h[e.unref(i)],count:h.count,label:h[e.unref(x)],color:h.color,type:"radio",value:h[e.unref(i)],"is-selected":e.unref(a)(h),onItemClick:_=>e.unref(b)(h)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),n.type==="select"&&e.unref(f).length===0&&!e.unref(d)?(e.openBlock(),e.createElementBlock("div",Te,[e.createElementVNode("div",Ke,[e.createVNode(H),g[4]||(g[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),n.layout!=="popover"&&n.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(k)&&e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:g[0]||(g[0]=(...h)=>e.unref(u)&&e.unref(u)(...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"},[g[5]||(g[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(U)])):e.createCommentVNode("",!0),e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:g[1]||(g[1]=(...h)=>e.unref(u)&&e.unref(u)(...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"},[g[6]||(g[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Q)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),n.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[n.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Le,[e.createTextVNode(e.toDisplayString(e.unref(y)||e.unref(y)===null?1:0)+" з "+e.toDisplayString(e.unref(l).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:g[2]||(g[2]=(...h)=>e.unref(c)&&e.unref(c)(...h))}," Очистити ",512),[[e.vShow,e.unref(y)!==""&&e.unref(y)!==void 0]])])):e.createCommentVNode("",!0),n.layout==="popover"?(e.openBlock(),e.createElementBlock("div",ze,[e.createElementVNode("span",null,e.toDisplayString(e.unref(y)||e.unref(y)===null?1:0)+" з "+e.toDisplayString(e.unref(l).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:g[3]||(g[3]=(...h)=>e.unref(c)&&e.unref(c)(...h))}," Очистити ",512),[[e.vShow,e.unref(y)!==""&&e.unref(y)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function v(m,r){const{options:p=[],limit:t=20}=m;function s(g){return Array.isArray(g)?g:g?[g]:[]}const o=e.ref(s(m.modelValue)),y=e.ref(""),f=e.ref(!1),a=e.ref([]),b=e.ref("id"),c=e.ref("text"),u=e.ref(!1),d=e.ref(m.layout!=="popover"&&p.length>t);function k(g){const h=g.find(Boolean)??{},_=["id","value","code","key"].find(V=>V in h)??"id",D=["text","label","name","title"].find(V=>V in h)??"text";return{autoValueKey:_,autoLabelKey:D}}if(p.length>0){const g=k(p);b.value=g.autoValueKey,c.value=g.autoLabelKey}const w=e.computed(()=>{const g=a.value;return m.layout==="popover"||u.value?g:g.slice(0,t)});e.watch(()=>m.modelValue,g=>{o.value=s(g)},{immediate:!0}),a.value=[...p].sort((g,h)=>m.sort==="count"?h.count&&g.count?h.count-g.count:0:m.sort==="name"?String(g[c.value]).localeCompare(String(h[c.value])):0);function x(g){return o.value&&o.value.includes(g[b.value])}function i(g){const h=o.value.includes(g[b.value]);o.value=h?o.value.filter(_=>_!==g[b.value]):[...o.value,g[b.value]],r("update:modelValue",o.value),r("change",{name:m.name,value:o.value})}function l(){o.value=[],r("update:modelValue",o.value),r("clear",m.name)}function n(){u.value=!u.value}return{innerValue:o,searchTerm:y,filteredOptions:w,isSelected:x,selectItem:i,clear:l,toggleShowAll:n,isReqProc:f,showAll:u,isEnableShowAll:d,labelKey:c,valueKey:b,allOptions:a}}const ee={en:{apply:"Apply",search:"Search",more:"Show more",less:"Show less",selected:"selected",clear:"Clear",notfound:"Nothing found",period:"Period",today:"Today",week:"Week",max:"max",min:"min",month:"Month",quarter:"Quarter",year:"Year",alltime:"All Time",prev:"Prev",next:"Next",selectFieldHelp:"Select a field to start creating a filter."},uk:{apply:"Застосувати",search:"Пошук",more:"Показати більше",less:"Показати меньше",selected:"обрано",clear:"Очистити",notfound:"Нічого не знайдено",period:"Період",today:"Сьогодні",week:"Тиждень",max:"макс",min:"мін",month:"Місяць",quarter:"Квартал",year:"Рік",alltime:"Весь час",prev:"Попередній період",next:"Настпуний період",selectFieldHelp:"Оберіть поле, щоб розпочати створення фільтра."}};function te(m){const r=m.split(".")[1],p=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(ee[p||navigator.language]||ee.uk)[r]}function z(){const m=e.getCurrentInstance();if(!m.appContext.config.globalProperties.$i18n)return te;const r=m.appContext.config.globalProperties.$t;return p=>{const t=r(p);return t===p?te(p):t}}const Ie={key:0,class:"w-full"},Ue={class:"flex flex-col items-center justify-center p-5 text-center"},Pe={class:"max-w-sm mx-auto mt-6"},Ye={class:"font-medium text-gray-800 dark:text-neutral-200"},We={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},qe={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},le=e.defineComponent({__name:"checkbox",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(m,{expose:r,emit:p}){const t=z(),s=m,o=p,{innerValue:y,filteredOptions:f,isSelected:a,selectItem:b,clear:c,toggleShowAll:u,isReqProc:d,showAll:k,isEnableShowAll:w,labelKey:x,valueKey:i,allOptions:l}=v({...s,modelValue:s.modelValue},o);return e.watch(()=>s.modelValue,n=>{n===void 0&&(y.value=[])}),r({clear:c}),(n,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([n.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([n.layout==="popover"?"flex-1 overflow-y-auto p-2":"",n.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(W,{layout:n.layout,count:h.count,label:h[e.unref(x)],color:h.color,type:"checkbox",value:h[e.unref(i)],"is-selected":e.unref(a)(h),onItemClick:_=>e.unref(b)(h)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),n.type==="select"&&e.unref(f).length===0&&!e.unref(d)?(e.openBlock(),e.createElementBlock("div",Ie,[e.createElementVNode("div",Ue,[e.createVNode(H),e.createElementVNode("div",Pe,[e.createElementVNode("p",Ye,e.toDisplayString(e.unref(t)("filter.notfound")),1),g[4]||(g[4]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),n.layout!=="popover"&&n.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(k)&&e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:g[0]||(g[0]=(...h)=>e.unref(u)&&e.unref(u)(...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"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.more"))+" ",1),e.createVNode(U)])):e.createCommentVNode("",!0),e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:g[1]||(g[1]=(...h)=>e.unref(u)&&e.unref(u)(...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"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.less"))+" ",1),e.createVNode(Q)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),n.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[n.layout==="inline"?(e.openBlock(),e.createElementBlock("div",We,[e.createTextVNode(e.toDisplayString(e.unref(y).length)+" / "+e.toDisplayString(e.unref(l).length)+" "+e.toDisplayString(e.unref(t)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:g[2]||(g[2]=(...h)=>e.unref(c)&&e.unref(c)(...h))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(y).length!==0]])])):e.createCommentVNode("",!0),n.layout==="popover"?(e.openBlock(),e.createElementBlock("div",qe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(y).length)+" / "+e.toDisplayString(e.unref(l).length)+" "+e.toDisplayString(e.unref(t)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:g[3]||(g[3]=(...h)=>e.unref(c)&&e.unref(c)(...h))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(y).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),He={},Qe={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 Ge(m,r){return e.openBlock(),e.createElementBlock("svg",Qe,r[0]||(r[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 oe=K(He,[["render",Ge]]),Xe={},Je={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 Ze(m,r){return e.openBlock(),e.createElementBlock("svg",Je,r[0]||(r[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 G=K(Xe,[["render",Ze]]);class ne{static getWidthClass(r){return typeof r=="number"?`max-w-[${r}px] min-w-[${r}px]`:typeof r=="string"?r.endsWith("%")||r.endsWith("px")?`max-w-[${r}]`:`max-w-${r}`:"w-full"}}const ve={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},et=["placeholder"],tt=e.defineComponent({__name:"text-input",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(m,{emit:r}){const p=m,t=e.ref((p.placeholder||p.label||p.title||p.name||"search").toString()),s=r,o=e.ref(p.modelValue?.toString()??"");e.watch(()=>p.modelValue,b=>{b!==o.value&&(o.value=b?.toString()??"")});let y=null;function f(){if(o.value=o.value.trimStart(),o.value.length===0){a();return}y&&clearTimeout(y),y=setTimeout(()=>{s("update:modelValue",o.value),s("change",{name:p.name,value:o.value})},300)}function a(){o.value="",s("update:modelValue",""),s("clear",p.name)}return(b,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white rounded-sm [&>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-sm [&>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(ne).getWidthClass(b.width):"mb-2"+(b.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",ve,[e.createVNode(oe)]),o.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:a,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(G)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":c[0]||(c[0]=u=>o.value=u),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-sm 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,et),[[e.vModelText,o.value]])],2))}});function re(m={color:"blue"}){return e.computed(()=>{const p=`w-full px-3 py-2 border-solid border text-black border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${m.color}-500 focus:border-transparent
2
- text-gray-800 bg-white dark:text-neutral-300 dark:bg-neutral-800 dark:border-neutral-600`;return m?.size==="sm"?`${p}h-[32px]`:`${p}h-[38px]`})}function lt(){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 ot(){return"font-medium border border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 h-7 rounded-md text-xs px-2 py-1 text-gray-800 bg-white hover:bg-gray-100 dark:text-neutral-300 dark:bg-neutral-800 dark:hover:bg-neutral-700 dark:border-neutral-600"}function ae(m){return m==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border 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":m==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border bg-white-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-1 bg-transparent h-[38px]"}const nt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},rt=["placeholder","disabled"],at={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},st={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},it=["placeholder","disabled"],ct=["disabled"],no={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},ro={key:1,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},dt=e.defineComponent({__name:"range-input",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(m,{expose:r,emit:p}){const t=re(),s=lt(),o=z(),y=m,f=e.ref(y.modelValue??y.default??[]),a=p,b=e.computed({get:()=>y.modelValue??f.value,set:d=>{y.modelValue!==void 0?a("update:modelValue",d):f.value=d}});function c(){a("change",{name:y.name,value:b.value||f.value})}function u(){f.value=[],b.value=f.value,a("clear",y.name)}return e.watch(()=>y.modelValue,d=>{d!==void 0&&y.layout!=="popover"?(f.value=d,a("update:modelValue",d)):f.value=[]}),r({clear:u,currentValue:b}),(d,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(d.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[d.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",nt,e.toDisplayString(e.unref(o)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:d.placeholder?.[0]??e.unref(o)("filter.min"),step:"1",style:{outline:"none"},"onUpdate:modelValue":k[0]||(k[0]=w=>b.value[0]=w),disabled:d.disabled},null,10,rt),[[e.vModelText,b.value[0]]])]),d.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",at," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[d.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",st,e.toDisplayString(e.unref(o)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:d.placeholder?.[1]??e.unref(o)("filter.max"),min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":k[1]||(k[1]=w=>b.value[1]=w),disabled:d.disabled},null,10,it),[[e.vModelText,b.value[1]]])]),["popover","inline","vertical"].includes(d.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:c,class:e.normalizeClass(e.unref(s)+(d.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(d.layout==="vertical"?"Ok":e.unref(o)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(d.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(b.value[0]||b.value[1]),onClick:u,class:e.normalizeClass(e.unref(s)+" hover:bg-gray-100")},e.toDisplayString(e.unref(o)("filter.clear")),11,ct)):e.createCommentVNode("",!0)],2)]),(d.cleanable&&f.value.length,e.createCommentVNode("",!0))],64))}});class R{static format(r){const p=r.getFullYear(),t=(r.getMonth()+1).toString().padStart(2,"0"),s=r.getDate().toString().padStart(2,"0");return`${p}-${t}-${s}`}static getShiftedDay(r,p=0){const t=r?new Date(r):new Date;return t.setDate(t.getDate()+p),this.format(t)}static getLastWeekRange(r,p,t=0){if(r&&p){const b=new Date(r),c=new Date(p);return b.setDate(b.getDate()+t*7),c.setDate(c.getDate()+t*7),[this.format(b),this.format(c)]}const s=new Date,o=s.getDay(),y=o===0?13:o-1+7,f=new Date(s);f.setDate(s.getDate()-y+t*7);const a=new Date(f);return a.setDate(f.getDate()+6),[this.format(f),this.format(a)]}static getMonthRange(r,p,t=0){let s;r?s=new Date(r):s=new Date,s=new Date(s.getFullYear(),s.getMonth()+t,1);const o=s,y=new Date(s.getFullYear(),s.getMonth()+1,0);return[this.format(o),this.format(y)]}static getQuarterRange(r,p,t=0){const s=r||p,o=s?new Date(s):new Date;let y=Math.floor(o.getMonth()/3);y+=t;const f=(y%4+4)%4*3,a=o.getFullYear()+Math.floor(y/4),b=new Date(a,f,1),c=new Date(a,f+3,0);return[this.format(b),this.format(c)]}static getYear(r,p=0){let t;return r&&/^\d{4}$/.test(r)?t=parseInt(r,10):r?t=new Date(r).getFullYear():t=new Date().getFullYear(),String(t+p)}static getYearRange(r,p=0){let t;return r&&/^\d{4}$/.test(r)?t=parseInt(r,10):r?t=new Date(r).getFullYear():t=new Date().getFullYear(),[this.format(new Date(t+p,0,1)),this.format(new Date(t+p+1,0,0))]}static getRangeFromDaysBefore(r){const p=new Date,t=new Date(p.getTime());return t.setDate(p.getDate()-r),[this.format(t),this.format(p)]}}function se(m,r){const{popoverRef:p}=m,t=z(),s=e.ref(""),o=e.ref(m.modelValue??m.default??[]),y=e.ref(0);function f(){const l=R.getRangeFromDaysBefore(y.value);return o.value=[...l],r("change",{name:m.name,value:o.value}),r("update:modelValue",o.value),l}function a(l){s.value=l,p.value?.close();const n=[];switch(s.value){case"today":n.push(R.getShiftedDay()),n.push(R.getShiftedDay());break;case"week":n.push(...R.getLastWeekRange());break;case"month":n.push(...R.getMonthRange());break;case"quarter":n.push(...R.getQuarterRange());break;case"year":n.push(...R.getYearRange());break;case"last_7_days":y.value=7,f();break;case"range":y.value=7,n.push(...f());break}o.value=[...n],r("change",{name:m.name,value:o.value}),r("update:modelValue",o.value)}function b(){const l=[];switch(s.value){case"today":l.push(R.getShiftedDay(o.value[0],1));break;case"week":l.push(...R.getLastWeekRange(o.value[0],o.value[1],1));break;case"month":l.push(...R.getMonthRange(o.value[0],o.value[1],1));break;case"quarter":l.push(...R.getQuarterRange(o.value[0],o.value[1],1));break;case"year":l.push(...R.getYearRange(o.value[0],1));break}o.value=[...l],r("change",{name:m.name,value:o.value}),r("update:modelValue",o.value)}function c(){const l=[];switch(s.value){case"today":l.push(R.getShiftedDay(o.value[0],-1));break;case"week":l.push(...R.getLastWeekRange(o.value[0],o.value[1],-1));break;case"month":l.push(...R.getMonthRange(o.value[0],o.value[1],-1));break;case"quarter":l.push(...R.getQuarterRange(o.value[0],o.value[1],-1));break;case"year":l.push(...R.getYearRange(o.value[0],-1));break}o.value=[...l],r("change",{name:m.name,value:o.value}),r("update:modelValue",o.value)}const u=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function d(l){const[n,g,h]=l.split("-");return`${h}.${g}.${n}`}function k(l,n="long"){const g=new Date(Date.UTC(2e3,l-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:n,timeZone:"UTC"}).format(g)}function w(l){const{value:n}=o;switch(l){case"today":return d(n[0]);case"range":return"Період";case"week":return n[0]&&n[1]?`${d(n[0])} – ${d(n[1])}`:"";case"quarter":if(n[0]){const g=new Date(n[0]),h=g.getFullYear(),_=g.getMonth();return`${Math.floor(_/3)+1} ${t("filter.quarter")} ${h}`}return"";case"month":if(n[0]){const[g,h]=n[0].split("-");return`${k(parseInt(h,10))} ${g}`}return"";case"year":return n[0]||"";case"last_7_days":return"За останні дні";default:return m.label??""}}const x=e.computed(()=>s.value?w(s.value):m.label??"");function i(){s.value="",o.value=[],r("update:modelValue",[]),r("clear",m.name)}return{activeMode:s,innerValue:o,daysBefore:y,onDaysBeforeChange:f,onSelectChange:a,nextClick:b,prevClick:c,ukMonths:u,formatDisplayDate:d,getModeLabel:w,currentLabel:x,clear:i}}const ft={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},mt={key:0,class:"flex gap-1 !w-[75%] rounded-sm"},ut=["max","disabled"],pt=["min","disabled"],yt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},gt=["max","disabled"],ht={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},bt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},kt=["min","disabled"],xt={class:"flex gap-1 pt-2"},wt=["onClick"],ao={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},Vt=e.defineComponent({__name:"date-input",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(m,{expose:r,emit:p}){const t=m,s=re(),o=ot(),y=z(),f=p,a=e.ref(null),{activeMode:b,innerValue:c,onSelectChange:u,nextClick:d,prevClick:k,clear:w}=se({...t,popoverRef:a},f);return e.watch(()=>t.modelValue,x=>{x!==void 0?(c.value=x,f("update:modelValue",x)):(b.value="",c.value=[])}),e.watch(c,x=>{f("update:modelValue",x),f("change",{name:t.name,value:x})},{deep:!0}),r({clear:w,popoverRef:a}),(x,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[x.layout==="inline"?(e.openBlock(),e.createElementBlock("div",ft,[e.unref(b)!==""&&e.unref(b)==="range"?(e.openBlock(),e.createElementBlock("div",mt,[i[7]||(i[7]=e.createTextVNode(" 1111 ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(c)[1],locale:"uk-UA","onUpdate:modelValue":i[0]||(i[0]=l=>e.unref(c)[0]=l),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:x.disabled},null,8,ut),[[e.vModelText,e.unref(c)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(c)[0],locale:"uk-UA","onUpdate:modelValue":i[1]||(i[1]=l=>e.unref(c)[1]=l),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:x.disabled},null,8,pt),[[e.vModelText,e.unref(c)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(x.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(x.layout!=="popover"?"w-[48%]":"")},[x.layout==="popover"?(e.openBlock(),e.createElementBlock("label",yt,e.toDisplayString(e.unref(y)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(c)[1],locale:"uk-UA","onUpdate:modelValue":i[2]||(i[2]=l=>e.unref(c)[0]=l),class:e.normalizeClass(e.unref(s)),disabled:x.disabled},null,10,gt),[[e.vModelText,e.unref(c)[0]]])],2),x.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",ht," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(x.layout!=="popover"?"w-[48%]":"")},[x.layout==="popover"?(e.openBlock(),e.createElementBlock("label",bt,e.toDisplayString(e.unref(y)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(c)[0],locale:"uk-UA","onUpdate:modelValue":i[3]||(i[3]=l=>e.unref(c)[1]=l),class:e.normalizeClass(e.unref(s)),disabled:x.disabled},null,10,kt),[[e.vModelText,e.unref(c)[1]]])],2)],2),e.createElementVNode("div",xt,[(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(o)+(e.unref(b)===l?" bg-blue-100":"")),onClick:n=>e.unref(u)(l)},e.toDisplayString(e.unref(y)("filter."+l)),11,wt)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(o)),onClick:i[4]||(i[4]=(...l)=>e.unref(k)&&e.unref(k)(...l))},"<",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(o)),onClick:i[5]||(i[5]=(...l)=>e.unref(d)&&e.unref(d)(...l))},">",2)]),(x.cleanable,e.createCommentVNode("",!0))],64))}});function Ct(m,r){const{api:p,options:t=[],limit:s=20,dataKey:o="data"}=m,y=m.multi;function f(B){return y?Array.isArray(B)?B:B?[B]:[]:Array.isArray(B)?B[0]:B}const a=e.ref(f(m.modelValue)),b=e.ref(""),c=e.ref(!1),u=e.ref(t),d=e.ref("id"),k=e.ref("text"),w=e.ref(!1),x=e.ref(m.layout!=="popover"&&t.length>s),i=e.ref([]),l=e.ref(0);function n(B){const $=B.find(Boolean)??{},j=["id","value","code","key"].find(I=>I in $)??"id",M=["text","label","name","title"].find(I=>I in $)??"text";return{autoValueKey:j,autoLabelKey:M}}if(t.length>0){const B=n(t);d.value=B.autoValueKey,k.value=B.autoLabelKey}const g=e.computed(()=>{if(p)return u.value;const B=u.value;if(m.layout==="popover")return B;if(!b.value)return w.value?B:B.slice(0,s);const $=b.value.toLowerCase();return B.filter(j=>j[k.value].toLowerCase().includes($))});let h=null;async function _(B){if(p){c.value=!0;try{const $=new URL(p,window.location.origin);$.searchParams.set("json","1"),$.searchParams.set("key",B),$.searchParams.set("limit",s.toString());const j=await fetch($.toString());if(!j.ok){Z.notify({type:"error",title:"Error",message:"Failed to fetch remote options"}),u.value=[];return}const M=await j.json();if(!M[o]){Z.notify({type:"error",title:"Error",message:M}),u.value=[];return}if(u.value=M[o],u.value.length>0){const I=n(u.value);d.value=I.autoValueKey,k.value=I.autoLabelKey}l.value=M.total}catch($){console.error("Failed to fetch remote options:",$)}finally{c.value=!1}}}e.watch(b,B=>{p&&(h&&clearTimeout(h),h=setTimeout(()=>{_(B)},200))}),e.watch(()=>m.modelValue,B=>{a.value=f(B)},{immediate:!0});function D(B){return y&&Array.isArray(a.value)?a.value.includes(B[d.value]):a.value&&a.value===B[d.value]}function V(B){if(y&&!Array.isArray(a.value)&&(a.value=[]),y&&Array.isArray(a.value)){const $=a.value.includes(B[d.value]);a.value=$?a.value.filter(j=>j!==B[d.value]):[...a.value,B[d.value]],i.value=$?i.value.filter(j=>j!==B[k.value]):[...i.value,B[k.value]]}else a.value=B[d.value],i.value=B[k.value];r("update:modelValue",a.value),r("change",{name:m.name,value:a.value})}function C(){y?(a.value=[],i.value=[]):(a.value=void 0,i.value=[]),r("update:modelValue",a.value),r("clear",m.name)}function S(){h&&clearTimeout(h),b.value="",w.value=!1}function E(){w.value=!w.value}e.onBeforeUnmount(()=>{h&&clearTimeout(h)});const N=e.ref(-1);e.watch(g,()=>{N.value=g.value.length>0?0:-1});function A(B){const $=g.value.length;if(B.key==="ArrowDown")B.preventDefault(),N.value=(N.value+1)%$;else if(B.key==="ArrowUp")B.preventDefault(),N.value=(N.value-1+$)%$;else if(B.key==="Enter"&&(B.preventDefault(),N.value>=0&&N.value<g.value.length)){const j=g.value[N.value];V(j)}}function F(){p&&u.value.length===0&&b.value.length===0&&_(b.value)}return{innerValue:a,searchTerm:b,filteredOptions:g,isSelected:D,selectItem:V,clear:C,resetSearch:S,toggleShowAll:E,isReqProc:c,showAll:w,isEnableShowAll:x,labelKey:k,valueKey:d,allOptions:u,highlightedIndex:N,onKeyDown:A,selectedLabels:i,totalCount:l,loadData:F}}const Bt={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},Et=["placeholder"],Nt={key:0,class:"w-full"},St={class:"flex flex-col items-center justify-center p-5 text-center"},_t={class:"max-w-sm mx-auto mt-6"},Dt={class:"font-medium text-gray-800 dark:text-neutral-200"},$t={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ft={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},At=e.defineComponent({__name:"select",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(m,{expose:r,emit:p}){const t=z(),s=m,o=p,y=e.ref(null),{innerValue:f,filteredOptions:a,isSelected:b,selectItem:c,clear:u,resetSearch:d,toggleShowAll:k,isReqProc:w,showAll:x,isEnableShowAll:i,searchTerm:l,labelKey:n,valueKey:g,highlightedIndex:h,onKeyDown:_,selectedLabels:D,totalCount:V,loadData:C}=Ct({...s,modelValue:s.modelValue},o);e.onMounted(()=>{d(),s.layout!=="inline"&&(C(),y.value&&s.layout==="popover"&&y.value.focus())}),e.watch(()=>s.modelValue,E=>{E===void 0&&(s.multi?f.value=[]:f.value=void 0)});const S=e.ref([]);return e.watch(h,E=>{E>=0&&S.value[E]&&S.value[E]?.scrollIntoView({block:"nearest",behavior:"smooth"})}),e.watch(a,()=>{S.value=[]}),r({clear:u,inputTextRef:y,selectedLabels:D,loadData:C}),(E,N)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([E.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",Bt,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":N[0]||(N[0]=A=>e.isRef(l)?l.value=A:null),onKeydown:N[1]||(N[1]=(...A)=>e.unref(_)&&e.unref(_)(...A)),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:e.unref(t)("filter.search"),type:"text",ref_key:"inputTextRef",ref:y},null,40,Et),[[e.vModelText,e.unref(l)]]),e.createVNode(oe,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(l)!=""?(e.openBlock(),e.createBlock(G,{key:0,onClick:N[2]||(N[2]=A=>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([E.layout==="popover"?"flex-1 overflow-y-auto p-2":"",E.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a),(A,F)=>(e.openBlock(),e.createBlock(W,{layout:E.layout,count:A.count,label:A[e.unref(n)],color:A.color,type:E.multi?"checkbox":"radio",value:A[e.unref(g)],"is-selected":e.unref(b)(A),highlighted:F===e.unref(h),onItemClick:B=>e.unref(c)(A),ref_for:!0,ref:B=>S.value[F]=B?.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),E.type==="select"&&e.unref(a).length===0&&!e.unref(w)?(e.openBlock(),e.createElementBlock("div",Nt,[e.createElementVNode("div",St,[e.createVNode(H),e.createElementVNode("div",_t,[e.createElementVNode("p",Dt,e.toDisplayString(e.unref(t)("filter.notfound")),1),N[7]||(N[7]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),E.layout!=="popover"&&E.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(x)&&e.unref(i)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:N[3]||(N[3]=(...A)=>e.unref(k)&&e.unref(k)(...A)),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"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.more"))+" ",1),e.createVNode(U)])):e.createCommentVNode("",!0),e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:N[4]||(N[4]=(...A)=>e.unref(k)&&e.unref(k)(...A)),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"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.less"))+" ",1),e.createVNode(Q)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),E.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[E.layout==="inline"?(e.openBlock(),e.createElementBlock("div",$t,[e.createTextVNode(e.toDisplayString(E.multi&&Array.isArray(e.unref(f))?e.unref(f)?.length:e.unref(f)!==void 0&&(e.unref(f)||e.unref(f)===null)?1:0)+" / "+e.toDisplayString(e.unref(V))+" "+e.toDisplayString(e.unref(t)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:N[5]||(N[5]=(...A)=>e.unref(u)&&e.unref(u)(...A))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(f)!==""&&e.unref(f)!==void 0||e.unref(f)]])])):e.createCommentVNode("",!0),E.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ft,[e.createElementVNode("span",null,e.toDisplayString(E.multi&&Array.isArray(e.unref(f))?e.unref(f)?.length:e.unref(f)!==void 0&&(e.unref(f)||e.unref(f)===null)?1:0)+" / "+e.toDisplayString(e.unref(V))+" "+e.toDisplayString(e.unref(t)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:N[6]||(N[6]=(...A)=>e.unref(u)&&e.unref(u)(...A))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(f)!==""&&e.unref(f)!==void 0||e.unref(f)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),jt=["for","onClick"],Mt=["id","name","value"],Rt={class:"block"},Tt={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"},Lt=e.defineComponent({__name:"tag-field",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(m,{expose:r,emit:p}){const t=m,s=p,{innerValue:o,isSelected:y,selectItem:f,clear:a,labelKey:b,valueKey:c,allOptions:u}=t.multi?v({...t,modelValue:t.modelValue??t.default??[]},s):q({...t,modelValue:t.modelValue!==void 0?t.modelValue:t.default??""},s);return r({clear:a}),e.watch(()=>t.modelValue,d=>{d===void 0&&(t.multi?o.value=[]:o.value=void 0)}),(d,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",d.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),w=>(e.openBlock(),e.createElementBlock("label",{key:`item-${w[e.unref(c)]}`,for:`item-${w[e.unref(c)]}`,onClick:e.withModifiers(x=>e.unref(f)(w),["stop","prevent"]),class:e.normalizeClass([e.unref(y)(w)?"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-sm 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-${w[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-${w[e.unref(c)]}`,value:w[e.unref(c)]},null,8,Mt),e.createElementVNode("span",Rt,e.toDisplayString(w[e.unref(b)]),1)],10,jt))),128))],2),d.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[d.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Tt,[e.createTextVNode(e.toDisplayString(d.multi&&Array.isArray(e.unref(o))?e.unref(o)?.length:e.unref(o)!==void 0&&(e.unref(o)||e.unref(o)===null)?1:0)+" з "+e.toDisplayString(e.unref(u).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:k[0]||(k[0]=(...w)=>e.unref(a)&&e.unref(a)(...w))}," Очистити ",512),[[e.vShow,e.unref(o)!==""&&e.unref(o)!==void 0||e.unref(o)]])])):e.createCommentVNode("",!0),d.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Kt,[e.createElementVNode("span",null,e.toDisplayString(d.multi&&Array.isArray(e.unref(o))?e.unref(o)?.length:e.unref(o)!==void 0&&(e.unref(o)||e.unref(o)===null)?1:0)+" з "+e.toDisplayString(e.unref(u).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:k[1]||(k[1]=(...w)=>e.unref(a)&&e.unref(a)(...w))}," Очистити ",512),[[e.vShow,e.unref(o)!==void 0&&e.unref(o)!==""||e.unref(o)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))}}),zt=["disabled","title"],Ot={class:"flex w-full items-center justify-between gap-1 overflow-hidden text-left"},It={class:"truncate text-ellipsis text-sm"},Ut={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-sm bg-blue-100 px-2 text-[11px] font-semibold text-blue-600"},Pt={class:"w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-sm 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"},Yt={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"},X=e.defineComponent({__name:"popover-field",props:{disabled:{type:Boolean,default:!1},label:{},en:{},ua:{},uk:{},fr:{},de:{},es:{},currentValue:{},fieldRef:{},width:{},mode:{},layout:{}},setup(m,{expose:r}){const p=m,t=e.computed(()=>ae(p.mode)),s=e.ref(!1),o=e.ref({top:0,left:0}),y=e.ref(null),f=e.ref(null),a=e.ref(null);function b(){const h=f.value,_=a.value;if(!h||!_)return;const D=h.getBoundingClientRect(),V=_.offsetWidth,C=_.offsetHeight,S=window.innerWidth,E=window.innerHeight,N=8;let A=D.bottom+N,{left:F}=D;const B=Math.max(S-V-10,10);if(F=Math.min(F,B),F=Math.max(F,10),A+C>E-10){const $=D.top-C-N;A=$>=10?$:Math.max(E-C-10,10)}A<10&&(A=10),o.value={top:A,left:F}}function c(){s.value=!s.value,s.value&&e.nextTick(()=>{b(),p.fieldRef?.inputTextRef&&p.fieldRef?.inputTextRef?.focus?.(),p.fieldRef?.loadData&&p.fieldRef?.loadData?.()})}function u(h){!y.value?.contains(h.target)&&!a.value?.contains(h.target)&&!f.value?.contains(h.target)&&(s.value=!1)}function d(h){h.key==="Escape"&&(s.value=!1)}const k=e.ref(!1),w=e.ref("ua"),x=h=>{h.detail.key==="locale"&&(w.value=h.detail.newValue)};e.onMounted(()=>{k.value=!0,w.value=localStorage.locale,window.addEventListener("storage",x),document.addEventListener("click",u,!0),document.addEventListener("keydown",d),window.addEventListener("scroll",b,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",x),document.removeEventListener("click",u,!0),document.removeEventListener("keydown",d),window.removeEventListener("scroll",b,!0)});function i(){s.value=!1}r({close:i});function l(h){return Array.isArray(h)?h.filter(_=>_!=null&&_!=="").length:h&&typeof h=="object"?Object.values(h).filter(_=>_!=null&&_!=="").length:typeof h=="string"?h.trim()===""?0:1:typeof h=="number"?Number.isNaN(h)?0:1:h===null||h!==void 0?1:0}const n=e.computed(()=>{const h=p.fieldRef?.selectedLabels,_=l(h);return _>0?_:l(p.currentValue)}),g=e.computed(()=>{const h=p.fieldRef?.selectedLabels;return!h||["inline"].includes(p.layout||"")?p[w.value]||(p.label??""):Array.isArray(h)?h.length>0?h.join(", "):p.label??"":String(h)});return(h,_)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:c,disabled:h.disabled,ref_key:"triggerRef",ref:f,title:h.label,class:e.normalizeClass([t.value,h.width?e.unref(ne).getWidthClass(h.width):"w-full",h.layout==="inline"&&n.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",Ot,[e.createElementVNode("span",It,e.toDisplayString(g.value),1),h.layout==="inline"&&n.value>0?(e.openBlock(),e.createElementBlock("span",Ut,e.toDisplayString(n.value),1)):e.createCommentVNode("",!0)]),e.createVNode(U,{class:"h-4 w-4 text-neutral-500"})],10,zt),k.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:a,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${o.value.top}px`,left:`${o.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",Pt,[e.createElementVNode("div",Yt,[e.renderSlot(h.$slots,"default")])])],4),[[e.vShow,s.value]])])):e.createCommentVNode("",!0)]))}}),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-chevron-down text-gray-800 rotate-[90deg]"};function Ht(m,r){return e.openBlock(),e.createElementBlock("svg",qt,r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Qt=K(Wt,[["render",Ht]]),Gt={},Xt={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(m,r){return e.openBlock(),e.createElementBlock("svg",Xt,r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Zt=K(Gt,[["render",Jt]]),vt={class:"flex gap-1"},el={class:"mb-1"},tl={class:"mb-1"},ll={class:"inline-flex rounded-sm shrink-0 pl-1"},ol=["title"],nl={class:"inline-flex rounded-sm shrink-0 pl-1"},rl=["title"],al={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},sl=["max","value","disabled"],il=["min","value","disabled"],so={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},cl=e.defineComponent({__name:"date-input-inline",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(m,{expose:r,emit:p}){const t=z(),s=m,o=p,y=e.ref(null),{activeMode:f,innerValue:a,onSelectChange:b,nextClick:c,prevClick:u,currentLabel:d,clear:k}=se({...s,popoverRef:y},o);e.watch(()=>s.modelValue,i=>{i!==void 0?(a.value=i,o("update:modelValue",i)):(f.value="",a.value=[])}),e.watch(a,i=>{o("update:modelValue",i),o("change",{name:s.name,value:i})},{deep:!0});function w(i){const l=Array.isArray(a.value)?[...a.value]:[];a.value=[i,l[1]||""]}function x(i){const l=Array.isArray(a.value)?[...a.value]:[];a.value=[l[0]||"",i]}return r({clear:k,popoverRef:y}),(i,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",vt,[e.createVNode(X,{ref_key:"popoverRef",ref:y,label:e.unref(d),"current-value":e.unref(a),mode:i.mode,width:typeof i.width=="number"&&e.unref(a).length?i.width-70:i.width,onClear:e.unref(k),layout:i.layout,class:e.normalizeClass(i.itemClass)},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:l[0]||(l[0]=n=>e.unref(b)("range")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.period"))+" ",1),e.unref(f)==="range"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),l[12]||(l[12]=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:l[1]||(l[1]=n=>e.unref(b)("today")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.today"))+" ",1),e.unref(f)==="today"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:l[2]||(l[2]=n=>e.unref(b)("week")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.week"))+" ",1),e.unref(f)==="week"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:l[3]||(l[3]=n=>e.unref(b)("month")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.month"))+" ",1),e.unref(f)==="month"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:l[4]||(l[4]=n=>e.unref(b)("quarter")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.quarter"))+" ",1),e.unref(f)==="quarter"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",el,[e.createElementVNode("button",{type:"button",onClick:l[5]||(l[5]=n=>e.unref(b)("year")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.year"))+" ",1),e.unref(f)==="year"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",tl,[e.createElementVNode("button",{type:"button",onClick:l[6]||(l[6]=n=>e.unref(k)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.alltime"))+" ",1),e.unref(a)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(O,{key:0}))])])]),_:1,__:[12]},8,["label","current-value","mode","width","onClear","layout","class"]),e.unref(f)!==""&&e.unref(f)!=="range"&&e.unref(f)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",ll,[e.createElementVNode("button",{type:"button",title:e.unref(t)("filter.prev"),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:l[7]||(l[7]=(...n)=>e.unref(u)&&e.unref(u)(...n))},[e.createVNode(Qt)],8,ol)]),e.createElementVNode("div",nl,[e.createElementVNode("button",{type:"button",title:e.unref(t)("filter.next"),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:l[8]||(l[8]=(...n)=>e.unref(c)&&e.unref(c)(...n))},[e.createVNode(Zt)],8,rl)])],64)):e.createCommentVNode("",!0),e.unref(f)!==""&&e.unref(f)==="range"?(e.openBlock(),e.createElementBlock("div",al,[e.createElementVNode("input",{type:"date",max:e.unref(a)[1],locale:"uk-UA",value:e.unref(a)[0],onInput:l[9]||(l[9]=n=>w(n.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:i.disabled},null,40,sl),e.createElementVNode("input",{type:"date",min:e.unref(a)[0],locale:"uk-UA",value:e.unref(a)[1],onInput:l[10]||(l[10]=n=>x(n.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:i.disabled},null,40,il)])):e.createCommentVNode("",!0)]),(i.cleanable,e.createCommentVNode("",!0))],64))}}),dl={class:"flex flex-wrap items-center gap-2"},fl=["disabled","onClick"],ml={key:0,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},ie={radio:Oe,checkbox:le,check:le,text:tt,range:dt,date:Vt,select:At,tag:Lt,button:e.defineComponent({__name:"button-field",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(m,{expose:r,emit:p}){const t=m,s=p,{innerValue:o,isSelected:y,selectItem:f,clear:a,labelKey:b,valueKey:c,allOptions:u}=q({...t,modelValue:t.modelValue??t.default??""},s),d=e.computed(()=>o.value!==void 0&&!(typeof o.value=="string"&&o.value==="")),k=e.computed(()=>d.value?1:0);function w(i){return y(i)?["bg-blue-600 text-white"].filter(l=>typeof l=="string"&&l.trim().length>0).join(" "):["text-gray-700 hover:bg-gray-200 bg-gray-50 "].filter(l=>typeof l=="string"&&l.trim().length>0).join(" ")}function x(i){t.disabled||f(i)}return r({clear:a}),e.watch(()=>t.modelValue,i=>{i===void 0&&(o.value=void 0)}),(i,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",dl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),n=>(e.openBlock(),e.createElementBlock("button",{key:n[e.unref(c)],type:"button",class:e.normalizeClass(["px-3 py-2 text-sm font-medium rounded-md transition-colors",w(n)]),disabled:i.disabled,onClick:g=>x(n)},e.toDisplayString(n[e.unref(b)]),11,fl))),128))]),i.cleanable&&i.layout==="popover"?(e.openBlock(),e.createElementBlock("div",ml,[e.createElementVNode("span",null,e.toDisplayString(k.value)+" з "+e.toDisplayString(e.unref(u).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:l[0]||(l[0]=(...n)=>e.unref(a)&&e.unref(a)(...n))}," Очистити ",512),[[e.vShow,d.value]])])):e.createCommentVNode("",!0)],64))}}),"date:inline":cl};function J(m,r){let p;switch(m.toLowerCase()){case"autocomplete":p="select";break;case"check":p="checkbox";break;default:p=m?.toString().toLowerCase()}return p==="date"&&r&&r==="inline"&&(p="date:inline"),{component:ie[p]||ie.text,type:p}}const ul={style:{display:"inline-flex",margin:"0px",width:"100%"}},pl={class:"relative w-full mb-2 p-4 bg-white rounded-lg shadow-sm"},yl={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},gl={class:"flex items-center"},hl={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},bl={class:"filter-layout__body"},kl=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(m,{expose:r,emit:p}){const t=m,s=p,o=e.ref(),y=e.computed(()=>J(t.type,t.layout)),f=e.computed({get:()=>t.modelValue,set:u=>s("update:modelValue",u)});function a(u){s("clear",u)}function b(u,d){s("change",{name:u,value:d}),t.modelValue!==void 0&&s("update:modelValue",d)}function c(){s("clear",t.name)}return e.watch(()=>t.default,u=>{f.value=u}),e.watch(()=>t.modelValue,u=>{f.value=u}),r({filterRef:o}),(u,d)=>(e.openBlock(),e.createElementBlock("div",ul,[e.createElementVNode("div",pl,[e.createElementVNode("div",yl,[e.createElementVNode("div",gl,[e.createElementVNode("span",hl,e.toDisplayString(u.label),1)]),typeof f.value=="string"&&f.value.trim()!==""||Array.isArray(f.value)&&f.value.length>0&&f.value.some(k=>k!==void 0)||f.value===null?(e.openBlock(),e.createBlock(ge,{key:0,onClick:c})):e.createCommentVNode("",!0)]),e.createElementVNode("div",bl,[y.value?.type!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.value?.component),e.mergeProps({key:0},t,{type:y.value?.type,class:t.itemClass,onChange:d[0]||(d[0]=k=>b(k.name,k.value)),onClear:d[1]||(d[1]=k=>a(k)),ref_key:"filterRef",ref:o}),null,16,["type","class"])):(e.openBlock(),e.createBlock(X,{key:1,"current-value":f.value,label:u.label,mode:u.mode,onClear:c,fieldRef:o.value,width:void 0,disabled:u.disabled,layout:"vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.value?.component),e.mergeProps({ref_key:"filterRef",ref:o},t,{type:y.value?.type,class:t.itemClass,onChange:d[2]||(d[2]=k=>b(k.name,k.value)),onClear:d[3]||(d[3]=k=>a(k))}),null,16,["type","class"]))]),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])]))}}),ce=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(m,{expose:r,emit:p}){const t=m,s=p,o=e.ref(),y=e.computed(()=>J(t.type,t.layout)),f=e.computed({get:()=>t.modelValue,set:c=>s("update:modelValue",c)});function a(c=t.name){s("clear",c)}function b(c,u){s("change",{name:c,value:u}),t.modelValue!==void 0&&s("update:modelValue",u)}return e.watch(()=>t.default,c=>{f.value=c}),e.watch(()=>t.modelValue,c=>{f.value=c}),r({filterRef:o}),(c,u)=>["text","date","button"].includes(c.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.value?.component),e.mergeProps({key:0},t,{type:y.value?.type,class:c.itemClass,onChange:u[0]||(u[0]=d=>b(d.name,d.value)),onClear:u[1]||(u[1]=d=>a(d)),disabled:c.disabled,modelValue:f.value,"onUpdate:modelValue":u[2]||(u[2]=d=>f.value=d)}),null,16,["type","class","disabled","modelValue"])):(e.openBlock(),e.createBlock(X,{key:1,"current-value":f.value,label:c.label,mode:c.mode,onClear:a,fieldRef:o.value,width:t.width,disabled:c.disabled,layout:"inline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.value?.component),e.mergeProps({ref_key:"filterRef",ref:o},t,{modelValue:f.value,"onUpdate:modelValue":u[3]||(u[3]=d=>f.value=d),type:y.value?.type,class:t.itemClass,onChange:u[4]||(u[4]=d=>b(d.name,d.value)),onClear:u[5]||(u[5]=d=>a(d))}),null,16,["modelValue","type","class"]))]),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}),xl=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(m,{expose:r,emit:p}){const t=m,s=p,o=e.ref(),y=e.computed(()=>J(t.type,t.layout)),f=e.computed({get:()=>t.modelValue,set:c=>s("update:modelValue",c)});function a(c){s("clear",c)}function b(c,u){s("change",{name:c,value:u}),t.modelValue!==void 0&&s("update:modelValue",u)}return e.watch(()=>t.default,c=>{f.value=c}),e.watch(()=>t.modelValue,c=>{f.value=c}),e.watch(()=>t,c=>{f.value=c}),r({filterRef:o}),(c,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.value?.component),e.mergeProps(t,{type:y.value?.type,class:t.itemClass,modelValue:f.value,"onUpdate:modelValue":u[0]||(u[0]=d=>f.value=d),onChange:u[1]||(u[1]=d=>b(d.name,d.value)),onClear:u[2]||(u[2]=d=>a(d)),ref_key:"filterRef",ref:o}),null,16,["type","class","modelValue"]))}}),L=e.defineComponent({__name:"filter-field",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(m,{expose:r,emit:p}){const t=m,s=p,o=e.ref(),y=e.computed({get:()=>t.modelValue,set:c=>s("update:modelValue",c)});function f(c){s("clear",c)}function a(c,u){s("change",{name:c,value:u}),t.modelValue!==void 0&&s("update:modelValue",u)}e.watch(()=>t.default,c=>{y.value=c}),e.watch(()=>t.modelValue,c=>{y.value=c}),r({filterRef:o});function b(){switch(t.layout){case"inline":return ce;case"vertical":return kl;case"popover":return xl;default:return ce}}return(c,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b()),e.mergeProps(t,{onChange:u[0]||(u[0]=d=>a(d.name,d.value)),onClear:u[1]||(u[1]=d=>f(d)),modelValue:y.value,"onUpdate:modelValue":u[2]||(u[2]=d=>y.value=d)}),null,16,["modelValue"]))}});function P(m,r){const{slots:p}=m,t=l=>l?JSON.parse(JSON.stringify(e.toRaw(l))):{},s=e.ref(t(m.value));e.watch(()=>m.value,l=>{s.value=t(l)},{deep:!0,immediate:!0});const o=e.computed(()=>(e.toRaw(p?.default?.())??[]).flatMap(n=>Array.isArray(n.children)?n.children:[n]));function y(l){delete s.value[l],r("clear",{data:e.toRaw(s.value),name:l})}function f(l,n){n===void 0?y(l):s.value={...s.value,[l]:n},r("change",{data:e.toRaw(s.value),name:l,value:n})}const a=e.computed(()=>o.value.map(l=>{const n=l.props?.name;return e.cloneVNode(l,{...l.props,layout:m.view,showClean:!0,modelValue:s.value[n],"onUpdate:modelValue":g=>{f(n,g)},onClear:()=>y(n),class:[m.itemClass,l.props?.class],itemClass:[m.itemClass,l.props?.itemClass].filter(g=>typeof g=="string"&&g.trim().length>0).join(" ")||void 0})})),b=e.computed(()=>new Map(a.value.map(l=>{const n=l.props?.name;return n?[n,l]:null}).filter(l=>l!==null)));function c(l=!1){s.value={},l||r("clearAll",{data:e.toRaw(s.value),name:"ALL"})}const u=e.ref(""),d=e.computed(()=>m.schema?.value?Object.entries(s.value).filter(([l,n])=>m.schema&&!(l in m.schema.value)?!1:Array.isArray(n)?n.some(g=>g!==""&&g!==void 0):n!==""&&n!==void 0).length:0),k=e.ref();e.watch(u,async()=>{await e.nextTick(),k?.value?.filterRef?.inputTextRef&&k.value.filterRef.inputTextRef.focus()});const w=e.computed(()=>m.schema?.value?Object.fromEntries(Object.entries(m.schema?.value).slice(0,m.limit)):{}),x=e.computed(()=>{if(a.value.length===0)return[];let l=0;if(m.schema?.value){const n=Object.entries(m.schema.value).length;m.limit&&n<m.limit?l=m.limit-n:l=0}return a.value.slice(0,l)}),i=e.computed(()=>a.value.length===0?[]:m.view!=="inline"?a.value:a.value.slice(x.value.length));return{activeFilter:s,activeFilterCount:d,onFilterChange:f,clearFilter:y,clearAllFilters:c,limitedSchema:w,filtersSlot:a,limitedFiltersSlot:x,popoverFiltersSlot:i,vnodeMap:b,selectedFilter:u,filterRef:k}}const wl=e.defineComponent({__name:"popover",emits:["open","close"],setup(m,{emit:r}){const p=e.ref(!1),t=e.ref(null),s=e.ref(null),o=e.ref(null),y=e.ref({top:"0px",left:"0px",position:"absolute"});function f(){p.value=!p.value}function a(){const k=o.value,w=t.value;if(!k||!w)return;const x=k.getBoundingClientRect(),i=w.offsetWidth,l=window.innerWidth-x.left;let n=x.left+window.scrollX;i>l&&(n=window.innerWidth-i-18,n<18&&(n=18)),y.value={position:"absolute",top:`${x.bottom+window.scrollY+18}px`,left:`${n}px`}}const b=e.computed(()=>Object.entries(y.value).map(k=>k.join(":")).join(";"));function c(k){const w=k.target;!o.value?.contains(k.target)&&!t.value?.contains(k.target)&&!w.closest("[data-inside-popover]")&&(p.value=!1)}const u=e.ref(!1);e.onMounted(()=>{u.value=!0}),e.onMounted(()=>{o.value=s.value?.querySelector("[data-popover-trigger]")||null,o.value?.addEventListener("click",f),document.addEventListener("click",c),window.addEventListener("resize",a),window.addEventListener("scroll",a,!0)}),e.onBeforeUnmount(()=>{o.value?.removeEventListener("click",f),document.removeEventListener("click",c),window.removeEventListener("resize",a),window.removeEventListener("scroll",a,!0)});const d=r;return e.watch(p,async k=>{k?(d("open"),await e.nextTick(),a()):d("close")}),(k,w)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:s},[e.renderSlot(k.$slots,"trigger"),u.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(b.value)},[e.renderSlot(k.$slots,"default")],4),[[e.vShow,p.value]])])):e.createCommentVNode("",!0)],512))}}),Vl={},Cl={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 Bl(m,r){return e.openBlock(),e.createElementBlock("svg",Cl,r[0]||(r[0]=[e.createElementVNode("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"},null,-1)]))}const de=K(Vl,[["render",Bl]]),El={class:"flex items-center gap-2 overflow-hidden"},Nl={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-500 px-1 text-[11px] font-semibold text-white"},Sl={class:"flex max-h-[400px]"},_l={class:"w-64 border-r border-gray-200 overflow-y-auto"},Dl={class:"p-4 border-b"},$l={class:"text-sm text-gray-600"},Fl={class:"p-2"},Al=["onClick"],jl={class:"flex items-center gap-2"},Ml={class:"text-sm font-medium"},Rl={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-1 text-[11px] font-semibold text-blue-600"},Tl=["onClick"],Kl={class:"flex items-center gap-2"},Ll={class:"text-sm font-medium"},zl={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-1 text-[11px] font-semibold text-blue-600"},Ol={key:0,class:"p-2 border-t"},Il={class:"flex-1 min-h-[300px] overflow-y-auto"},Ul={key:0,class:"flex items-center justify-center h-full text-gray-500"},Pl={class:"text-sm"},fe=e.defineComponent({__name:"popover-filter-layout",props:{badgeCount:{},schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(m,{expose:r,emit:p}){const t=z(),s=m,o=ae(s.mode),y=e.useSlots(),f=p,a=e.ref({}),b=e.computed(()=>a?.value?s.view!=="inline"?a?.value:Object.fromEntries(Object.entries(a?.value).slice(s.limit)):{}),{activeFilter:c,activeFilterCount:u,onFilterChange:d,clearFilter:k,clearAllFilters:w,popoverFiltersSlot:x,selectedFilter:i,filterRef:l}=P({...s,schema:a,slots:y},f),n=e.computed(()=>s.badgeCount??u.value);function g(D){return Array.isArray(D)?D.filter(V=>V!=null&&V!=="").length:D&&typeof D=="object"?Object.values(D).filter(V=>V!=null&&V!=="").length:D===null||D!==void 0&&D!==""?1:0}function h(D){return c.value?g(c.value[D]):0}function _(){if(b.value){const[D]=Object.keys(b.value);i.value=D}else x.value.length>0?i.value=x.value[0].props.name:i.value=""}return e.watch(()=>s.schema,D=>{a.value=D??{}},{deep:!0,immediate:!0}),r({clearFilter:k,clearAllFilters:w}),(D,V)=>(e.openBlock(),e.createBlock(wl,{onOpen:_,onClose:V[5]||(V[5]=C=>i.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([D.itemClass,e.unref(o),"flex items-center justify-between gap-2",n.value>0?"border border-blue-400 bg-blue-50 text-blue-600 hover:border-blue-500":"text-neutral-700 hover:border-neutral-400"]),type:"button"},[e.createElementVNode("span",El,[e.createVNode(de,{class:"h-4 w-4"}),V[6]||(V[6]=e.createElementVNode("span",{class:"text-sm font-medium"},"Фільтр",-1))]),n.value>0?(e.openBlock(),e.createElementBlock("span",Nl,e.toDisplayString(n.value),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",Sl,[e.createElementVNode("div",_l,[e.createElementVNode("div",Dl,[e.createElementVNode("p",$l,e.toDisplayString(e.unref(t)("filter.selectFieldHelp")),1)]),e.createElementVNode("div",Fl,[D.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(b.value),([C,S])=>(e.openBlock(),e.createElementBlock("button",{key:C,onClick:()=>{i.value=C},class:e.normalizeClass(["flex w-full items-center justify-between px-3 py-2 text-left transition-colors hover:bg-gray-50",e.unref(i)===C?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",jl,[e.createElementVNode("span",Ml,e.toDisplayString(S.label),1)]),h(C)>0?(e.openBlock(),e.createElementBlock("div",Rl,e.toDisplayString(h(C)),1)):e.createCommentVNode("",!0)],10,Al))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(x),(C,S)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+S,onClick:E=>i.value=C.props.name,class:e.normalizeClass(["flex items-center justify-between px-3 py-2 text-left transition-colors hover:bg-gray-50",e.unref(i)===C.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Kl,[e.createElementVNode("span",Ll,e.toDisplayString(C.props.label),1)]),h(C.props.name)>0?(e.openBlock(),e.createElementBlock("div",zl,e.toDisplayString(h(C.props.name)),1)):e.createCommentVNode("",!0)],10,Tl))),128))]),e.unref(u)>0?(e.openBlock(),e.createElementBlock("div",Ol,[e.createElementVNode("button",{class:e.normalizeClass([D.itemClass,"w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors"]),onClick:V[0]||(V[0]=C=>e.unref(w)()),"data-inside-popover":""}," Очистити всі ",2)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Il,[e.unref(i)===""?(e.openBlock(),e.createElementBlock("div",Ul,[e.createElementVNode("p",Pl,e.toDisplayString(e.unref(t)("filter.selectFieldHelp")),1)])):e.createCommentVNode("",!0),e.unref(i)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[b.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(b.value),([C,S])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(i)===C?(e.openBlock(),e.createBlock(L,e.mergeProps({key:C,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:l},{ref_for:!0},S,{class:[D.itemClass,S?.class],"item-class":[D.itemClass,S?.itemClass].filter(Boolean).join(" ")||void 0,onChange:V[1]||(V[1]=E=>e.unref(d)(E.name,E.value)),onClear:V[2]||(V[2]=E=>{e.unref(k)(E),e.unref(d)(E,void 0)}),modelValue:e.unref(c)[C],"onUpdate:modelValue":E=>e.unref(c)[C]=E,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(x),(C,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+S},[e.unref(i)===C.props.name?(e.openBlock(),e.createBlock(L,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},C.props,{ref_for:!0,ref_key:"filterRef",ref:l,class:[D.itemClass,C.props?.class],"item-class":[D.itemClass,C.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:V[3]||(V[3]=E=>e.unref(d)(E.name,E.value)),onClear:V[4]||(V[4]=E=>{e.unref(k)(E),e.unref(d)(E,void 0)}),modelValue:e.unref(c)[C.props.name],"onUpdate:modelValue":E=>e.unref(c)[C.props.name]=E,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),Yl={class:"flex gap-1 items-center flex-wrap"},me=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(m,{expose:r,emit:p}){const t=z(),s=m,o=p,y=e.useSlots(),f=e.ref({}),a=e.computed(()=>Object.keys(s.schema).length>s.limit),{activeFilter:b,activeFilterCount:c,onFilterChange:u,clearFilter:d,clearAllFilters:k,limitedSchema:w,filtersSlot:x,limitedFiltersSlot:i}=P({...s,schema:f,slots:y},o);function l(V){return Array.isArray(V)?V.some(C=>C!==""&&C!==void 0&&C!==null):V===null?!0:V&&typeof V=="object"?Object.values(V).some(C=>C!==""&&C!==void 0&&C!==null):V!==""&&V!==void 0}const n=e.computed(()=>{const V=Object.keys(w.value??{}),C=i.value.map(S=>S.props?.name).filter(S=>typeof S=="string");return new Set([...V,...C])}),g=e.computed(()=>Object.entries(b.value??{}).filter(([V,C])=>n.value.has(V)&&l(C)).length),h=e.computed(()=>{const V=c.value??0,C=g.value??0;return Math.max(V-C,0)}),_=e.ref();function D(){_.value&&_.value.clearAllFilters(!0),k()}return e.watch(()=>s.schema,V=>{f.value=V},{deep:!0,immediate:!0}),r({clearFilter:d,clearAllFilters:k}),(V,C)=>(e.openBlock(),e.createElementBlock("div",Yl,[V.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(w)),([S,E])=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:S,mode:V.mode,width:V.width?V.width:E?.width},{ref_for:!0},E,{class:[V.itemClass,E?.class],"item-class":[V.itemClass,E?.itemClass].filter(Boolean).join(" ")||void 0,onChange:C[0]||(C[0]=N=>e.unref(u)(N.name,N.value)),onClear:e.unref(d),layout:"inline",cleanable:!0,modelValue:e.unref(b)[S],"onUpdate:modelValue":N=>e.unref(b)[S]=N}),null,16,["mode","width","class","item-class","onClear","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),(S,E)=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:"slot-"+E,layout:"inline"},{ref_for:!0},S.props,{class:[V.itemClass,S.props?.class],"item-class":[V.itemClass,S.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:C[1]||(C[1]=N=>e.unref(u)(N.name,N.value)),onClear:C[2]||(C[2]=N=>{e.unref(d)(N),e.unref(u)(N,void 0)}),cleanable:!0,modelValue:e.unref(b)[S.props.name],"onUpdate:modelValue":N=>e.unref(b)[S.props.name]=N}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128)),a.value?(e.openBlock(),e.createBlock(fe,e.mergeProps({key:1},s,{schema:V.schema,limit:V.limit,onChange:C[3]||(C[3]=S=>e.unref(u)(S.name,S.value)),onClearAll:C[4]||(C[4]=S=>e.unref(k)()),onClear:C[5]||(C[5]=S=>e.unref(d)(S.name)),mode:V.mode,ref_key:"popoverRef",ref:_,cleanable:!0,"badge-count":h.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(x),(S,E)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S),e.mergeProps({key:"slot-"+E,layout:"popover"},{ref_for:!0},S.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","limit","mode","badge-count"])):e.createCommentVNode("",!0),e.unref(c)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:D,class:e.normalizeClass([V.itemClass,"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-md bg-gray-50 border text-gray-800 hover:bg-gray-200 focus:bg-gray-200"])},e.toDisplayString(e.unref(t)("filter.clear")),3)):e.createCommentVNode("",!0)]))}}),Wl={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"},ql={class:"flex items-center vst-filters vsTailwind flex-col w-full"},Hl=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(m,{expose:r,emit:p}){const t=m,s=p,o=e.useSlots(),{activeFilter:y,activeFilterCount:f,onFilterChange:a,clearFilter:b,clearAllFilters:c,filtersSlot:u}=P({...t,slots:o},s);return r({clearFilter:b,clearAllFilters:c}),(d,k)=>d.view==="vertical"?(e.openBlock(),e.createElementBlock("div",Wl,[e.createElementVNode("div",ql,[e.unref(f)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:k[0]||(k[0]=w=>e.unref(c)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([d.itemClass,"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"}," Очистити ",2)):e.createCommentVNode("",!0),d.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(d.schema),([w,x])=>(e.openBlock(),e.createBlock(L,e.mergeProps({layout:"vertical"},{ref_for:!0},x,{class:[d.itemClass,x?.class],"item-class":[d.itemClass,x?.itemClass].filter(Boolean).join(" ")||void 0,onChange:k[1]||(k[1]=i=>e.unref(a)(i.name,i.value)),onClear:k[2]||(k[2]=i=>{e.unref(b)(i),e.unref(a)(i,void 0)}),modelValue:e.unref(y)[w],"onUpdate:modelValue":i=>e.unref(y)[w]=i,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),(w,x)=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:"slot-"+x,layout:"vertical"},{ref_for:!0},w.props,{class:[d.itemClass,w.props?.class],"item-class":[d.itemClass,w.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:k[3]||(k[3]=i=>e.unref(a)(i.name,i.value)),onClear:k[4]||(k[4]=i=>{e.unref(b)(i),e.unref(a)(i,void 0)}),modelValue:e.unref(y)[w.props.name],"onUpdate:modelValue":i=>e.unref(y)[w.props.name]=i,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128))])])):e.createCommentVNode("",!0)}}),Ql=["onKeydown"],Gl=["disabled"],Xl={key:0,class:"ml-2 inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-full bg-blue-500 px-1.5 text-[11px] font-semibold text-white"},Jl={class:"rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm"},Zl={class:"mb-3 flex items-center justify-between"},vl={class:"text-[15px] font-semibold text-slate-800"},eo={"aria-hidden":"true"},to={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},lo={key:0,class:"mt-3 flex justify-end"},oo=e.defineComponent({__name:"popover-inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:10},width:{default:220},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(m,{emit:r}){const p=z(),t=m,s=r,o=e.ref({}),y=e.useSlots(),{activeFilter:f,activeFilterCount:a,onFilterChange:b,clearFilter:c,clearAllFilters:u,filtersSlot:d}=P({...t,schema:o.value,slots:y},s),k=e.ref(null),w=e.ref(null),x=e.reactive({open:!1,top:0,left:0}),i=e.computed(()=>x.open),l=e.computed(()=>!!t.disabled),n=e.computed(()=>o.value||{}),g=e.computed(()=>t.title??"Фільтр"),h=e.computed(()=>!!y.trigger),_=e.computed(()=>["inline-flex h-9 items-center justify-center gap-2 rounded-lg border border-transparent bg-slate-200/70 px-3 text-sm font-medium text-slate-700 transition-colors hover:bg-blue-100 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-slate-200/70 disabled:hover:text-slate-700",l.value?"cursor-not-allowed opacity-60":"cursor-pointer"]),D=e.computed(()=>x.open?{position:"absolute",top:`${x.top}px`,left:`${x.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function V(){x.open=!1}function C(){if(!k.value)return;const F=k.value.getBoundingClientRect();x.top=F.bottom+window.scrollY+8,x.left=F.left+F.width/2+window.scrollX}function S(){x.open=!x.open,x.open&&e.nextTick(C)}function E(){l.value||S()}function N(){x.open&&C()}function A(){u()}return e.onMounted(()=>{window.addEventListener("resize",N),window.addEventListener("scroll",N,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",N),window.removeEventListener("scroll",N,!0)}),e.watch(()=>t.schema,F=>{if(!F){o.value={};return}if(Array.isArray(F)){const B=F.filter($=>$&&($.name||$.id)).map($=>{const j=$.name||$.id;return[j,{...$,name:j}]});o.value=Object.fromEntries(B);return}o.value=F},{deep:!0,immediate:!0}),e.watch(()=>t.disabled,F=>{F&&V()}),(F,B)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:k},[h.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["inline-flex",l.value?"cursor-not-allowed opacity-60 pointer-events-none":"cursor-pointer"]),role:"button",tabindex:"0","data-popover-trigger":"",onClick:e.withModifiers(E,["prevent","stop"]),onKeydown:[e.withKeys(e.withModifiers(E,["prevent","stop"]),["enter"]),e.withKeys(e.withModifiers(E,["prevent","stop"]),["space"])]},[e.renderSlot(F.$slots,"trigger",{toggle:E,open:i.value,disabled:l.value,activeCount:e.unref(a)})],42,Ql)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(_.value),type:"button",disabled:l.value,onClick:e.withModifiers(E,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(de,{class:"h-4 w-4"}),e.unref(a)>0?(e.openBlock(),e.createElementBlock("div",Xl,e.toDisplayString(e.unref(a)),1)):e.createCommentVNode("",!0)],10,Gl)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[i.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute",typeof F.width=="number"?`min-w-[${F.width+32+(Object.keys(n.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle(D.value),ref_key:"panel",ref:w,onClick:B[4]||(B[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Jl,[e.createElementVNode("div",Zl,[e.createElementVNode("h3",vl,e.toDisplayString(g.value),1),e.createElementVNode("button",{type:"button",class:"inline-flex h-6 w-6 items-center justify-center rounded-full border-0 bg-slate-300/40 text-slate-600 transition-colors hover:bg-blue-200/60 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200",onClick:V},[e.createElementVNode("span",eo,[e.createVNode(G,{class:"h-4 w-4"})]),B[5]||(B[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",to,[Object.keys(n.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(n.value),([$,j])=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:$},{ref_for:!0},{...j,layout:"inline"},{width:F.width?F.width:j?.width,class:[F.itemClass,j?.class],"item-class":[F.itemClass,j?.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(f)[$],"onUpdate:modelValue":M=>e.unref(f)[$]=M,onChange:B[0]||(B[0]=M=>e.unref(b)(M.name,M.value)),onClear:B[1]||(B[1]=M=>{e.unref(c)(M),e.unref(b)(M,void 0)})}),null,16,["width","class","item-class","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),($,j)=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:"slot-"+j,ref_for:!0},{...$.props,layout:"inline"},{class:[F.itemClass,$.props?.class],"item-class":[F.itemClass,$.props?.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(f)[$.props.name],"onUpdate:modelValue":M=>e.unref(f)[$.props.name]=M,onChange:B[2]||(B[2]=M=>e.unref(b)(M.name,M.value)),onClear:B[3]||(B[3]=M=>{e.unref(c)(M),e.unref(b)(M,void 0)})}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128))]),e.unref(a)>0?(e.openBlock(),e.createElementBlock("div",lo,[e.createElementVNode("button",{type:"button",class:e.normalizeClass([F.itemClass,"text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none"]),onClick:A},e.toDisplayString(e.unref(p)("filter.clear")),3)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),Y=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(m,{expose:r,emit:p}){const t=m,s=e.ref(a(t.value??{}));e.watch(()=>t.value,async i=>{s.value=a(i??{}),(!i||Object.keys(i).length===0)&&(await e.nextTick(),y.value?.clearAllFilters?.(!0))},{deep:!0,immediate:!0});const o=p,y=e.ref(),f=e.useSlots();function a(i){if(Array.isArray(i))return i.map(l=>a(l));if(i!==null&&typeof i=="object"){const l=e.toRaw(i),n={};for(const g in l)n[g]=a(l[g]);return n}return i}function b(i,l){l!==void 0?s.value={...s.value,[i]:l}:delete s.value[i],o("change",{data:a(s.value),name:i,value:a(l)})}function c(i){delete s.value[i],o("clear",{data:a(s.value),name:i}),o("change",{data:a(s.value),name:i,value:null})}function u(){s.value={},o("clear",{data:a(s.value),name:"ALL"}),o("change",{data:a(s.value),name:"ALL",value:null})}const d=e.ref({});function k(){switch(t.view){case"inline":return me;case"vertical":return Hl;case"popover":return fe;case"popover-inline":return oo;default:return me}}e.watch(()=>t.schema,i=>{if(!i){d.value={};return}if(Array.isArray(i)&&!i.length){d.value={};return}Array.isArray(i)?d.value=i.filter(l=>l.type).reduce((l,n)=>(Object.assign(n,{name:n.id||n.name,type:{datepicker:"date"}[n.type.toLowerCase()]||n.type.toLowerCase(),label:n.label||n.ua}),l[n.name]=n,n.data&&!n.api&&!n.options&&Object.assign(n,{api:`/api/suggest/${n.data}`}),l),{}):(Object.entries(i).forEach(([l,n])=>{Object.assign(n,{name:l||n.name||n.id,type:n.type.toLowerCase()})}),d.value={...i})},{immediate:!0,deep:!0});function w(i){y.value.clearFilter(i),c(i)}function x(){y.value.clearAllFilters(),u()}return e.watch(()=>s.value,i=>{if(t.history){const l=new URL(window.location.href),n=new URLSearchParams(window.location.search);Object.keys(i).length>0?n.set("filter",Object.entries(i).filter(([,g])=>g).map(([g,h])=>`${g}=${h}`).join("|")):n.delete("filter"),l.search=decodeURI(n.toString()),window.history.pushState({},"",l)}}),r({clearAllFilters:x,clearFilter:w}),(i,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k()),e.mergeProps(t,{schema:d.value,onChange:l[0]||(l[0]=n=>b(n.name,n.value)),onClear:l[1]||(l[1]=n=>c(n.name)),onClearAll:u,ref_key:"filterRef",ref:y}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:2},[e.unref(f).trigger?{name:"trigger",fn:e.withCtx(n=>[e.renderSlot(i.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(n)))]),key:"0"}:void 0]),1040,["schema"]))}});Y.install=function(r){r.component("Filter",Y),r.component("FilterField",L)},T.Filter=Y,T.FilterField=L,T.default=Y,Object.defineProperties(T,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(T,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@opengis/core")):typeof define=="function"&&define.amd?define(["exports","vue","@opengis/core"],e):(T=typeof globalThis<"u"?globalThis:T||self,e(T.FilterLib={},T.Vue,T.OpenGISCore))})(this,(function(T,e,Z){"use strict";const K=(f,r)=>{const p=f.__vccOpts||f;for(const[t,s]of r)p[t]=s;return p},ue={},pe={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 ye(f,r){return e.openBlock(),e.createElementBlock("svg",pe,[...r[0]||(r[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 ge=K(ue,[["render",ye]]),he={},be={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 ke(f,r){return e.openBlock(),e.createElementBlock("svg",be,[...r[0]||(r[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)])])}const O=K(he,[["render",ke]]),xe={class:"flex items-center justify-between w-full text-sm"},we={class:"flex items-center cursor-pointer w-full"},Ve={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},Ce=["value"],Be={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},Ee={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},Ne={key:1,class:"absolute right-2 flex size-3.5 items-center justify-center"},W=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(f,{expose:r,emit:p}){const t=f,s=p;function o(){s("itemClick",t.value)}const y=e.ref(null),m=e.computed(()=>t.layout==="inline"&&t.type==="radio");return r({el:y}),(a,b)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-sm group hover:bg-gray-100",ref_key:"el",ref:y},[e.createElementVNode("div",xe,[e.createElementVNode("div",we,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(a.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":a.highlighted,relative:m.value}]),onClick:e.withModifiers(o,["stop","prevent"])},[m.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[a.type==="checkbox"?"rounded-[4px]":"rounded-full",a.color?`bg-[${a.color}] border-[#ffffff]`:a.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[a.isSelected?(e.openBlock(),e.createElementBlock("img",Ve)):e.createCommentVNode("",!0)],2)),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:a.value},null,8,Ce),e.createElementVNode("div",{class:e.normalizeClass(["flex flex-1 flex-row items-center justify-between",m.value?"pl-1 pr-6":"w-[calc(100%-18px)] pl-[10px]"])},[e.createElementVNode("span",Be,e.toDisplayString(a.label??"Відсутні дані"),1),a.count?(e.openBlock(),e.createElementBlock("div",Ee," ("+e.toDisplayString(a.count)+") ",1)):e.createCommentVNode("",!0)],2),m.value&&a.isSelected?(e.openBlock(),e.createElementBlock("span",Ne,[e.createVNode(O)])):e.createCommentVNode("",!0)],2)])])],512))}});function q(f,r){const{options:p=[],limit:t=20}=f;function s(g){return Array.isArray(g)?g[0]:g}const o=e.ref(s(f.modelValue)),y=e.ref(""),m=e.ref(!1),a=e.ref([]),b=e.ref("id"),c=e.ref("text"),u=e.ref(!1),d=e.ref(f.layout!=="popover"&&p.length>t);function k(g){const h=g.find(Boolean)??{},_=["id","value","code","key"].find(V=>V in h)??"id",D=["text","label","name","title"].find(V=>V in h)??"text";return{autoValueKey:_,autoLabelKey:D}}if(p.length>0){const g=k(p);b.value=g.autoValueKey,c.value=g.autoLabelKey}const w=e.computed(()=>{const g=a.value;return f.layout==="popover"||u.value?g:g.slice(0,t)});e.watch(()=>f.modelValue,g=>{o.value=s(g)},{immediate:!0}),a.value=[...p].sort((g,h)=>f.sort==="count"?h.count&&g.count?h.count-g.count:0:f.sort==="name"?String(g[c.value]??"").localeCompare(String(h[c.value]??"")):0);function x(g){return o.value===g[b.value]}function i(g){o.value=g[b.value],r("update:modelValue",o.value),r("change",{name:f.name,value:o.value})}function l(){o.value=void 0,r("update:modelValue",o.value),r("clear",f.name)}function n(){u.value=!u.value}return{innerValue:o,searchTerm:y,filteredOptions:w,isSelected:x,selectItem:i,clear:l,toggleShowAll:n,isReqProc:m,showAll:u,isEnableShowAll:d,labelKey:c,valueKey:b,allOptions:a}}const Se={},_e={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function De(f,r){return e.openBlock(),e.createElementBlock("svg",_e,[...r[0]||(r[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=K(Se,[["render",De]]),$e={},Fe={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 Ae(f,r){return e.openBlock(),e.createElementBlock("svg",Fe,[...r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const U=K($e,[["render",Ae]]),je={},Me={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 Re(f,r){return e.openBlock(),e.createElementBlock("svg",Me,[...r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Q=K(je,[["render",Re]]),Te={key:0,class:"w-full"},Ke={class:"flex flex-col items-center justify-center p-5 text-center"},Le={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},ze={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Oe=e.defineComponent({__name:"radio",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(f,{expose:r,emit:p}){const t=f,s=e.ref(null),o=p,{innerValue:y,filteredOptions:m,isSelected:a,selectItem:b,clear:c,toggleShowAll:u,isReqProc:d,showAll:k,isEnableShowAll:w,labelKey:x,valueKey:i,allOptions:l}=q({...t,modelValue:t.modelValue??t.default??""},o);return r({clear:c,inputTextRef:s}),e.watch(()=>t.modelValue,n=>{n===void 0&&(y.value=void 0)}),(n,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([n.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([n.layout==="popover"?"flex-1 overflow-y-auto p-2":"",n.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),h=>(e.openBlock(),e.createBlock(W,{layout:n.layout,key:h[e.unref(i)],count:h.count,label:h[e.unref(x)],color:h.color,type:"radio",value:h[e.unref(i)],"is-selected":e.unref(a)(h),onItemClick:_=>e.unref(b)(h)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),n.type==="select"&&e.unref(m).length===0&&!e.unref(d)?(e.openBlock(),e.createElementBlock("div",Te,[e.createElementVNode("div",Ke,[e.createVNode(H),g[4]||(g[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),n.layout!=="popover"&&n.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(k)&&e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:g[0]||(g[0]=(...h)=>e.unref(u)&&e.unref(u)(...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"},[g[5]||(g[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(U)])):e.createCommentVNode("",!0),e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:g[1]||(g[1]=(...h)=>e.unref(u)&&e.unref(u)(...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"},[g[6]||(g[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Q)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),n.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[n.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Le,[e.createTextVNode(e.toDisplayString(e.unref(y)||e.unref(y)===null?1:0)+" з "+e.toDisplayString(e.unref(l).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:g[2]||(g[2]=(...h)=>e.unref(c)&&e.unref(c)(...h))}," Очистити ",512),[[e.vShow,e.unref(y)!==""&&e.unref(y)!==void 0]])])):e.createCommentVNode("",!0),n.layout==="popover"?(e.openBlock(),e.createElementBlock("div",ze,[e.createElementVNode("span",null,e.toDisplayString(e.unref(y)||e.unref(y)===null?1:0)+" з "+e.toDisplayString(e.unref(l).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:g[3]||(g[3]=(...h)=>e.unref(c)&&e.unref(c)(...h))}," Очистити ",512),[[e.vShow,e.unref(y)!==""&&e.unref(y)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function v(f,r){const{options:p=[],limit:t=20}=f;function s(g){return Array.isArray(g)?g:g?[g]:[]}const o=e.ref(s(f.modelValue)),y=e.ref(""),m=e.ref(!1),a=e.ref([]),b=e.ref("id"),c=e.ref("text"),u=e.ref(!1),d=e.ref(f.layout!=="popover"&&p.length>t);function k(g){const h=g.find(Boolean)??{},_=["id","value","code","key"].find(V=>V in h)??"id",D=["text","label","name","title"].find(V=>V in h)??"text";return{autoValueKey:_,autoLabelKey:D}}if(p.length>0){const g=k(p);b.value=g.autoValueKey,c.value=g.autoLabelKey}const w=e.computed(()=>{const g=a.value;return f.layout==="popover"||u.value?g:g.slice(0,t)});e.watch(()=>f.modelValue,g=>{o.value=s(g)},{immediate:!0}),a.value=[...p].sort((g,h)=>f.sort==="count"?h.count&&g.count?h.count-g.count:0:f.sort==="name"?String(g[c.value]).localeCompare(String(h[c.value])):0);function x(g){return o.value&&o.value.includes(g[b.value])}function i(g){const h=o.value.includes(g[b.value]);o.value=h?o.value.filter(_=>_!==g[b.value]):[...o.value,g[b.value]],r("update:modelValue",o.value),r("change",{name:f.name,value:o.value})}function l(){o.value=[],r("update:modelValue",o.value),r("clear",f.name)}function n(){u.value=!u.value}return{innerValue:o,searchTerm:y,filteredOptions:w,isSelected:x,selectItem:i,clear:l,toggleShowAll:n,isReqProc:m,showAll:u,isEnableShowAll:d,labelKey:c,valueKey:b,allOptions:a}}const ee={en:{apply:"Apply",search:"Search",more:"Show more",less:"Show less",selected:"selected",clear:"Clear",notfound:"Nothing found",period:"Period",today:"Today",week:"Week",max:"max",min:"min",month:"Month",quarter:"Quarter",year:"Year",alltime:"All Time",prev:"Prev",next:"Next",selectFieldHelp:"Select a field to start creating a filter."},uk:{apply:"Застосувати",search:"Пошук",more:"Показати більше",less:"Показати меньше",selected:"обрано",clear:"Очистити",notfound:"Нічого не знайдено",period:"Період",today:"Сьогодні",week:"Тиждень",max:"макс",min:"мін",month:"Місяць",quarter:"Квартал",year:"Рік",alltime:"Весь час",prev:"Попередній період",next:"Настпуний період",selectFieldHelp:"Оберіть поле, щоб розпочати створення фільтра."}};function te(f){const r=f.split(".")[1],p=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(ee[p||navigator.language]||ee.uk)[r]}function z(){const f=e.getCurrentInstance();if(!f.appContext.config.globalProperties.$i18n)return te;const r=f.appContext.config.globalProperties.$t;return p=>{const t=r(p);return t===p?te(p):t}}const Ie={key:0,class:"w-full"},Ue={class:"flex flex-col items-center justify-center p-5 text-center"},Pe={class:"max-w-sm mx-auto mt-6"},Ye={class:"font-medium text-gray-800 dark:text-neutral-200"},We={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},qe={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},le=e.defineComponent({__name:"checkbox",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(f,{expose:r,emit:p}){const t=z(),s=f,o=p,{innerValue:y,filteredOptions:m,isSelected:a,selectItem:b,clear:c,toggleShowAll:u,isReqProc:d,showAll:k,isEnableShowAll:w,labelKey:x,valueKey:i,allOptions:l}=v({...s,modelValue:s.modelValue},o);return e.watch(()=>s.modelValue,n=>{n===void 0&&(y.value=[])}),r({clear:c}),(n,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([n.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([n.layout==="popover"?"flex-1 overflow-y-auto p-2":"",n.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),h=>(e.openBlock(),e.createBlock(W,{layout:n.layout,count:h.count,label:h[e.unref(x)],color:h.color,type:"checkbox",value:h[e.unref(i)],"is-selected":e.unref(a)(h),onItemClick:_=>e.unref(b)(h)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),n.type==="select"&&e.unref(m).length===0&&!e.unref(d)?(e.openBlock(),e.createElementBlock("div",Ie,[e.createElementVNode("div",Ue,[e.createVNode(H),e.createElementVNode("div",Pe,[e.createElementVNode("p",Ye,e.toDisplayString(e.unref(t)("filter.notfound")),1),g[4]||(g[4]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),n.layout!=="popover"&&n.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(k)&&e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:g[0]||(g[0]=(...h)=>e.unref(u)&&e.unref(u)(...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"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.more"))+" ",1),e.createVNode(U)])):e.createCommentVNode("",!0),e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:g[1]||(g[1]=(...h)=>e.unref(u)&&e.unref(u)(...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"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.less"))+" ",1),e.createVNode(Q)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),n.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[n.layout==="inline"?(e.openBlock(),e.createElementBlock("div",We,[e.createTextVNode(e.toDisplayString(e.unref(y).length)+" / "+e.toDisplayString(e.unref(l).length)+" "+e.toDisplayString(e.unref(t)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:g[2]||(g[2]=(...h)=>e.unref(c)&&e.unref(c)(...h))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(y).length!==0]])])):e.createCommentVNode("",!0),n.layout==="popover"?(e.openBlock(),e.createElementBlock("div",qe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(y).length)+" / "+e.toDisplayString(e.unref(l).length)+" "+e.toDisplayString(e.unref(t)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:g[3]||(g[3]=(...h)=>e.unref(c)&&e.unref(c)(...h))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(y).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),He={},Qe={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 Ge(f,r){return e.openBlock(),e.createElementBlock("svg",Qe,[...r[0]||(r[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 oe=K(He,[["render",Ge]]),Xe={},Je={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 Ze(f,r){return e.openBlock(),e.createElementBlock("svg",Je,[...r[0]||(r[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 G=K(Xe,[["render",Ze]]);class ne{static getWidthClass(r){return typeof r=="number"?`max-w-[${r}px] min-w-[${r}px]`:typeof r=="string"?r.endsWith("%")||r.endsWith("px")?`max-w-[${r}]`:`max-w-${r}`:"w-full"}}const ve={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},et=["placeholder"],tt=e.defineComponent({__name:"text-input",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(f,{emit:r}){const p=f,t=e.ref((p.placeholder||p.label||p.title||p.name||"search").toString()),s=r,o=e.ref(p.modelValue?.toString()??"");e.watch(()=>p.modelValue,b=>{b!==o.value&&(o.value=b?.toString()??"")});let y=null;function m(){if(o.value=o.value.trimStart(),o.value.length===0){a();return}y&&clearTimeout(y),y=setTimeout(()=>{s("update:modelValue",o.value),s("change",{name:p.name,value:o.value})},300)}function a(){o.value="",s("update:modelValue",""),s("clear",p.name)}return(b,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white rounded-sm [&>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-sm [&>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(ne).getWidthClass(b.width):"mb-2"+(b.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",ve,[e.createVNode(oe)]),o.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:a,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(G)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":c[0]||(c[0]=u=>o.value=u),onInput:m,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-sm 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,et),[[e.vModelText,o.value]])],2))}});function re(f={color:"blue"}){return e.computed(()=>{const p=`w-full px-3 py-2 border-solid border text-black border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${f.color}-500 focus:border-transparent
2
+ text-gray-800 bg-white dark:text-neutral-300 dark:bg-neutral-800 dark:border-neutral-600`;return f?.size==="sm"?`${p}h-[32px]`:`${p}h-[38px]`})}function lt(){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 ot(){return"font-medium border border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 h-7 rounded-md text-xs px-2 py-1 text-gray-800 bg-white hover:bg-gray-100 dark:text-neutral-300 dark:bg-neutral-800 dark:hover:bg-neutral-700 dark:border-neutral-600"}function ae(f){return f==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border 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":f==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border bg-white-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-1 bg-transparent h-[38px]"}const nt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},rt=["placeholder","disabled"],at={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},st={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},it=["placeholder","disabled"],ct=["disabled"],no={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},ro={key:1,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},dt=e.defineComponent({__name:"range-input",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(f,{expose:r,emit:p}){const t=re(),s=lt(),o=z(),y=f,m=e.ref(y.modelValue??y.default??[]),a=p,b=e.computed({get:()=>y.modelValue??m.value,set:d=>{y.modelValue!==void 0?a("update:modelValue",d):m.value=d}});function c(){a("change",{name:y.name,value:b.value||m.value})}function u(){m.value=[],b.value=m.value,a("clear",y.name)}return e.watch(()=>y.modelValue,d=>{d!==void 0&&y.layout!=="popover"?(m.value=d,a("update:modelValue",d)):m.value=[]}),r({clear:u,currentValue:b}),(d,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(d.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[d.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",nt,e.toDisplayString(e.unref(o)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:d.placeholder?.[0]??e.unref(o)("filter.min"),step:"1",style:{outline:"none"},"onUpdate:modelValue":k[0]||(k[0]=w=>b.value[0]=w),disabled:d.disabled},null,10,rt),[[e.vModelText,b.value[0]]])]),d.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",at," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[d.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",st,e.toDisplayString(e.unref(o)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:d.placeholder?.[1]??e.unref(o)("filter.max"),min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":k[1]||(k[1]=w=>b.value[1]=w),disabled:d.disabled},null,10,it),[[e.vModelText,b.value[1]]])]),["popover","inline","vertical"].includes(d.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:c,class:e.normalizeClass(e.unref(s)+(d.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(d.layout==="vertical"?"Ok":e.unref(o)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(d.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(b.value[0]||b.value[1]),onClick:u,class:e.normalizeClass(e.unref(s)+" hover:bg-gray-100")},e.toDisplayString(e.unref(o)("filter.clear")),11,ct)):e.createCommentVNode("",!0)],2)]),(d.cleanable&&m.value.length,e.createCommentVNode("",!0))],64))}});class R{static format(r){const p=r.getFullYear(),t=(r.getMonth()+1).toString().padStart(2,"0"),s=r.getDate().toString().padStart(2,"0");return`${p}-${t}-${s}`}static getShiftedDay(r,p=0){const t=r?new Date(r):new Date;return t.setDate(t.getDate()+p),this.format(t)}static getLastWeekRange(r,p,t=0){if(r&&p){const b=new Date(r),c=new Date(p);return b.setDate(b.getDate()+t*7),c.setDate(c.getDate()+t*7),[this.format(b),this.format(c)]}const s=new Date,o=s.getDay(),y=o===0?13:o-1+7,m=new Date(s);m.setDate(s.getDate()-y+t*7);const a=new Date(m);return a.setDate(m.getDate()+6),[this.format(m),this.format(a)]}static getMonthRange(r,p,t=0){let s;r?s=new Date(r):s=new Date,s=new Date(s.getFullYear(),s.getMonth()+t,1);const o=s,y=new Date(s.getFullYear(),s.getMonth()+1,0);return[this.format(o),this.format(y)]}static getQuarterRange(r,p,t=0){const s=r||p,o=s?new Date(s):new Date;let y=Math.floor(o.getMonth()/3);y+=t;const m=(y%4+4)%4*3,a=o.getFullYear()+Math.floor(y/4),b=new Date(a,m,1),c=new Date(a,m+3,0);return[this.format(b),this.format(c)]}static getYear(r,p=0){let t;return r&&/^\d{4}$/.test(r)?t=parseInt(r,10):r?t=new Date(r).getFullYear():t=new Date().getFullYear(),String(t+p)}static getYearRange(r,p=0){let t;return r&&/^\d{4}$/.test(r)?t=parseInt(r,10):r?t=new Date(r).getFullYear():t=new Date().getFullYear(),[this.format(new Date(t+p,0,1)),this.format(new Date(t+p+1,0,0))]}static getRangeFromDaysBefore(r){const p=new Date,t=new Date(p.getTime());return t.setDate(p.getDate()-r),[this.format(t),this.format(p)]}}function se(f,r){const{popoverRef:p}=f,t=z(),s=e.ref(""),o=e.ref(f.modelValue??f.default??[]),y=e.ref(0);function m(){const l=R.getRangeFromDaysBefore(y.value);return o.value=[...l],r("change",{name:f.name,value:o.value}),r("update:modelValue",o.value),l}function a(l){s.value=l,p.value?.close();const n=[];switch(s.value){case"today":n.push(R.getShiftedDay()),n.push(R.getShiftedDay());break;case"week":n.push(...R.getLastWeekRange());break;case"month":n.push(...R.getMonthRange());break;case"quarter":n.push(...R.getQuarterRange());break;case"year":n.push(...R.getYearRange());break;case"last_7_days":y.value=7,m();break;case"range":y.value=7,n.push(...m());break}o.value=[...n],r("change",{name:f.name,value:o.value}),r("update:modelValue",o.value)}function b(){const l=[];switch(s.value){case"today":l.push(R.getShiftedDay(o.value[0],1));break;case"week":l.push(...R.getLastWeekRange(o.value[0],o.value[1],1));break;case"month":l.push(...R.getMonthRange(o.value[0],o.value[1],1));break;case"quarter":l.push(...R.getQuarterRange(o.value[0],o.value[1],1));break;case"year":l.push(...R.getYearRange(o.value[0],1));break}o.value=[...l],r("change",{name:f.name,value:o.value}),r("update:modelValue",o.value)}function c(){const l=[];switch(s.value){case"today":l.push(R.getShiftedDay(o.value[0],-1));break;case"week":l.push(...R.getLastWeekRange(o.value[0],o.value[1],-1));break;case"month":l.push(...R.getMonthRange(o.value[0],o.value[1],-1));break;case"quarter":l.push(...R.getQuarterRange(o.value[0],o.value[1],-1));break;case"year":l.push(...R.getYearRange(o.value[0],-1));break}o.value=[...l],r("change",{name:f.name,value:o.value}),r("update:modelValue",o.value)}const u=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function d(l){const[n,g,h]=l.split("-");return`${h}.${g}.${n}`}function k(l,n="long"){const g=new Date(Date.UTC(2e3,l-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:n,timeZone:"UTC"}).format(g)}function w(l){const{value:n}=o;switch(l){case"today":return d(n[0]);case"range":return"Період";case"week":return n[0]&&n[1]?`${d(n[0])} – ${d(n[1])}`:"";case"quarter":if(n[0]){const g=new Date(n[0]),h=g.getFullYear(),_=g.getMonth();return`${Math.floor(_/3)+1} ${t("filter.quarter")} ${h}`}return"";case"month":if(n[0]){const[g,h]=n[0].split("-");return`${k(parseInt(h,10))} ${g}`}return"";case"year":return n[0]||"";case"last_7_days":return"За останні дні";default:return f.label??""}}const x=e.computed(()=>s.value?w(s.value):f.label??"");function i(){s.value="",o.value=[],r("update:modelValue",[]),r("clear",f.name)}return{activeMode:s,innerValue:o,daysBefore:y,onDaysBeforeChange:m,onSelectChange:a,nextClick:b,prevClick:c,ukMonths:u,formatDisplayDate:d,getModeLabel:w,currentLabel:x,clear:i}}const mt={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},ft={key:0,class:"flex gap-1 !w-[75%] rounded-sm"},ut=["max","disabled"],pt=["min","disabled"],yt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},gt=["max","disabled"],ht={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},bt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},kt=["min","disabled"],xt={class:"flex gap-1 pt-2"},wt=["onClick"],ao={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},Vt=e.defineComponent({__name:"date-input",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(f,{expose:r,emit:p}){const t=f,s=re(),o=ot(),y=z(),m=p,a=e.ref(null),{activeMode:b,innerValue:c,onSelectChange:u,nextClick:d,prevClick:k,clear:w}=se({...t,popoverRef:a},m);return e.watch(()=>t.modelValue,x=>{x!==void 0?(c.value=x,m("update:modelValue",x)):(b.value="",c.value=[])}),e.watch(c,x=>{m("update:modelValue",x),m("change",{name:t.name,value:x})},{deep:!0}),r({clear:w,popoverRef:a}),(x,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[x.layout==="inline"?(e.openBlock(),e.createElementBlock("div",mt,[e.unref(b)!==""&&e.unref(b)==="range"?(e.openBlock(),e.createElementBlock("div",ft,[i[7]||(i[7]=e.createTextVNode(" 1111 ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(c)[1],locale:"uk-UA","onUpdate:modelValue":i[0]||(i[0]=l=>e.unref(c)[0]=l),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:x.disabled},null,8,ut),[[e.vModelText,e.unref(c)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(c)[0],locale:"uk-UA","onUpdate:modelValue":i[1]||(i[1]=l=>e.unref(c)[1]=l),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:x.disabled},null,8,pt),[[e.vModelText,e.unref(c)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(x.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(x.layout!=="popover"?"w-[48%]":"")},[x.layout==="popover"?(e.openBlock(),e.createElementBlock("label",yt,e.toDisplayString(e.unref(y)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(c)[1],locale:"uk-UA","onUpdate:modelValue":i[2]||(i[2]=l=>e.unref(c)[0]=l),class:e.normalizeClass(e.unref(s)),disabled:x.disabled},null,10,gt),[[e.vModelText,e.unref(c)[0]]])],2),x.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",ht," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(x.layout!=="popover"?"w-[48%]":"")},[x.layout==="popover"?(e.openBlock(),e.createElementBlock("label",bt,e.toDisplayString(e.unref(y)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(c)[0],locale:"uk-UA","onUpdate:modelValue":i[3]||(i[3]=l=>e.unref(c)[1]=l),class:e.normalizeClass(e.unref(s)),disabled:x.disabled},null,10,kt),[[e.vModelText,e.unref(c)[1]]])],2)],2),e.createElementVNode("div",xt,[(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(o)+(e.unref(b)===l?" bg-blue-100":"")),onClick:n=>e.unref(u)(l)},e.toDisplayString(e.unref(y)("filter."+l)),11,wt)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(o)),onClick:i[4]||(i[4]=(...l)=>e.unref(k)&&e.unref(k)(...l))},"<",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(o)),onClick:i[5]||(i[5]=(...l)=>e.unref(d)&&e.unref(d)(...l))},">",2)]),(x.cleanable,e.createCommentVNode("",!0))],64))}});function Ct(f,r){const{api:p,options:t=[],limit:s=20,dataKey:o="data"}=f,y=f.multi;function m(B){return y?Array.isArray(B)?B:B?[B]:[]:Array.isArray(B)?B[0]:B}const a=e.ref(m(f.modelValue)),b=e.ref(""),c=e.ref(!1),u=e.ref(t),d=e.ref("id"),k=e.ref("text"),w=e.ref(!1),x=e.ref(f.layout!=="popover"&&t.length>s),i=e.ref([]),l=e.ref(0);function n(B){const $=B.find(Boolean)??{},j=["id","value","code","key"].find(I=>I in $)??"id",M=["text","label","name","title"].find(I=>I in $)??"text";return{autoValueKey:j,autoLabelKey:M}}if(t.length>0){const B=n(t);d.value=B.autoValueKey,k.value=B.autoLabelKey}const g=e.computed(()=>{if(p)return u.value;const B=u.value;if(f.layout==="popover")return B;if(!b.value)return w.value?B:B.slice(0,s);const $=b.value.toLowerCase();return B.filter(j=>j[k.value].toLowerCase().includes($))});let h=null;async function _(B){if(p){c.value=!0;try{const $=new URL(p,window.location.origin);$.searchParams.set("json","1"),$.searchParams.set("key",B),$.searchParams.set("limit",s.toString());const j=await fetch($.toString());if(!j.ok){Z.notify({type:"error",title:"Error",message:"Failed to fetch remote options"}),u.value=[];return}const M=await j.json();if(!M[o]){Z.notify({type:"error",title:"Error",message:M}),u.value=[];return}if(u.value=M[o],u.value.length>0){const I=n(u.value);d.value=I.autoValueKey,k.value=I.autoLabelKey}l.value=M.total}catch($){console.error("Failed to fetch remote options:",$)}finally{c.value=!1}}}e.watch(b,B=>{p&&(h&&clearTimeout(h),h=setTimeout(()=>{_(B)},200))}),e.watch(()=>f.modelValue,B=>{a.value=m(B)},{immediate:!0});function D(B){return y&&Array.isArray(a.value)?a.value.includes(B[d.value]):a.value&&a.value===B[d.value]}function V(B){if(y&&!Array.isArray(a.value)&&(a.value=[]),y&&Array.isArray(a.value)){const $=a.value.includes(B[d.value]);a.value=$?a.value.filter(j=>j!==B[d.value]):[...a.value,B[d.value]],i.value=$?i.value.filter(j=>j!==B[k.value]):[...i.value,B[k.value]]}else a.value=B[d.value],i.value=B[k.value];r("update:modelValue",a.value),r("change",{name:f.name,value:a.value})}function C(){y?(a.value=[],i.value=[]):(a.value=void 0,i.value=[]),r("update:modelValue",a.value),r("clear",f.name)}function S(){h&&clearTimeout(h),b.value="",w.value=!1}function E(){w.value=!w.value}e.onBeforeUnmount(()=>{h&&clearTimeout(h)});const N=e.ref(-1);e.watch(g,()=>{N.value=g.value.length>0?0:-1});function A(B){const $=g.value.length;if(B.key==="ArrowDown")B.preventDefault(),N.value=(N.value+1)%$;else if(B.key==="ArrowUp")B.preventDefault(),N.value=(N.value-1+$)%$;else if(B.key==="Enter"&&(B.preventDefault(),N.value>=0&&N.value<g.value.length)){const j=g.value[N.value];V(j)}}function F(){p&&u.value.length===0&&b.value.length===0&&_(b.value)}return{innerValue:a,searchTerm:b,filteredOptions:g,isSelected:D,selectItem:V,clear:C,resetSearch:S,toggleShowAll:E,isReqProc:c,showAll:w,isEnableShowAll:x,labelKey:k,valueKey:d,allOptions:u,highlightedIndex:N,onKeyDown:A,selectedLabels:i,totalCount:l,loadData:F}}const Bt={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},Et=["placeholder"],Nt={key:0,class:"w-full"},St={class:"flex flex-col items-center justify-center p-5 text-center"},_t={class:"max-w-sm mx-auto mt-6"},Dt={class:"font-medium text-gray-800 dark:text-neutral-200"},$t={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ft={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},At=e.defineComponent({__name:"select",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(f,{expose:r,emit:p}){const t=z(),s=f,o=p,y=e.ref(null),{innerValue:m,filteredOptions:a,isSelected:b,selectItem:c,clear:u,resetSearch:d,toggleShowAll:k,isReqProc:w,showAll:x,isEnableShowAll:i,searchTerm:l,labelKey:n,valueKey:g,highlightedIndex:h,onKeyDown:_,selectedLabels:D,totalCount:V,loadData:C}=Ct({...s,modelValue:s.modelValue},o);e.onMounted(()=>{d(),s.layout!=="inline"&&(C(),y.value&&s.layout==="popover"&&y.value.focus())}),e.watch(()=>s.modelValue,E=>{E===void 0&&(s.multi?m.value=[]:m.value=void 0)});const S=e.ref([]);return e.watch(h,E=>{E>=0&&S.value[E]&&S.value[E]?.scrollIntoView({block:"nearest",behavior:"smooth"})}),e.watch(a,()=>{S.value=[]}),r({clear:u,inputTextRef:y,selectedLabels:D,loadData:C}),(E,N)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([E.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",Bt,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":N[0]||(N[0]=A=>e.isRef(l)?l.value=A:null),onKeydown:N[1]||(N[1]=(...A)=>e.unref(_)&&e.unref(_)(...A)),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:e.unref(t)("filter.search"),type:"text",ref_key:"inputTextRef",ref:y},null,40,Et),[[e.vModelText,e.unref(l)]]),e.createVNode(oe,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(l)!=""?(e.openBlock(),e.createBlock(G,{key:0,onClick:N[2]||(N[2]=A=>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([E.layout==="popover"?"flex-1 overflow-y-auto p-2":"",E.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a),(A,F)=>(e.openBlock(),e.createBlock(W,{layout:E.layout,count:A.count,label:A[e.unref(n)],color:A.color,type:E.multi?"checkbox":"radio",value:A[e.unref(g)],"is-selected":e.unref(b)(A),highlighted:F===e.unref(h),onItemClick:B=>e.unref(c)(A),ref_for:!0,ref:B=>S.value[F]=B?.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),E.type==="select"&&e.unref(a).length===0&&!e.unref(w)?(e.openBlock(),e.createElementBlock("div",Nt,[e.createElementVNode("div",St,[e.createVNode(H),e.createElementVNode("div",_t,[e.createElementVNode("p",Dt,e.toDisplayString(e.unref(t)("filter.notfound")),1),N[7]||(N[7]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),E.layout!=="popover"&&E.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(x)&&e.unref(i)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:N[3]||(N[3]=(...A)=>e.unref(k)&&e.unref(k)(...A)),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"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.more"))+" ",1),e.createVNode(U)])):e.createCommentVNode("",!0),e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:N[4]||(N[4]=(...A)=>e.unref(k)&&e.unref(k)(...A)),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"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.less"))+" ",1),e.createVNode(Q)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),E.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[E.layout==="inline"?(e.openBlock(),e.createElementBlock("div",$t,[e.createTextVNode(e.toDisplayString(E.multi&&Array.isArray(e.unref(m))?e.unref(m)?.length:e.unref(m)!==void 0&&(e.unref(m)||e.unref(m)===null)?1:0)+" / "+e.toDisplayString(e.unref(V))+" "+e.toDisplayString(e.unref(t)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:N[5]||(N[5]=(...A)=>e.unref(u)&&e.unref(u)(...A))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(m)!==""&&e.unref(m)!==void 0||e.unref(m)]])])):e.createCommentVNode("",!0),E.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ft,[e.createElementVNode("span",null,e.toDisplayString(E.multi&&Array.isArray(e.unref(m))?e.unref(m)?.length:e.unref(m)!==void 0&&(e.unref(m)||e.unref(m)===null)?1:0)+" / "+e.toDisplayString(e.unref(V))+" "+e.toDisplayString(e.unref(t)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:N[6]||(N[6]=(...A)=>e.unref(u)&&e.unref(u)(...A))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(m)!==""&&e.unref(m)!==void 0||e.unref(m)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),jt=["for","onClick"],Mt=["id","name","value"],Rt={class:"block"},Tt={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"},Lt=e.defineComponent({__name:"tag-field",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(f,{expose:r,emit:p}){const t=f,s=p,{innerValue:o,isSelected:y,selectItem:m,clear:a,labelKey:b,valueKey:c,allOptions:u}=t.multi?v({...t,modelValue:t.modelValue??t.default??[]},s):q({...t,modelValue:t.modelValue!==void 0?t.modelValue:t.default??""},s);return r({clear:a}),e.watch(()=>t.modelValue,d=>{d===void 0&&(t.multi?o.value=[]:o.value=void 0)}),(d,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",d.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),w=>(e.openBlock(),e.createElementBlock("label",{key:`item-${w[e.unref(c)]}`,for:`item-${w[e.unref(c)]}`,onClick:e.withModifiers(x=>e.unref(m)(w),["stop","prevent"]),class:e.normalizeClass([e.unref(y)(w)?"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-sm 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-${w[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-${w[e.unref(c)]}`,value:w[e.unref(c)]},null,8,Mt),e.createElementVNode("span",Rt,e.toDisplayString(w[e.unref(b)]),1)],10,jt))),128))],2),d.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[d.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Tt,[e.createTextVNode(e.toDisplayString(d.multi&&Array.isArray(e.unref(o))?e.unref(o)?.length:e.unref(o)!==void 0&&(e.unref(o)||e.unref(o)===null)?1:0)+" з "+e.toDisplayString(e.unref(u).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:k[0]||(k[0]=(...w)=>e.unref(a)&&e.unref(a)(...w))}," Очистити ",512),[[e.vShow,e.unref(o)!==""&&e.unref(o)!==void 0||e.unref(o)]])])):e.createCommentVNode("",!0),d.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Kt,[e.createElementVNode("span",null,e.toDisplayString(d.multi&&Array.isArray(e.unref(o))?e.unref(o)?.length:e.unref(o)!==void 0&&(e.unref(o)||e.unref(o)===null)?1:0)+" з "+e.toDisplayString(e.unref(u).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:k[1]||(k[1]=(...w)=>e.unref(a)&&e.unref(a)(...w))}," Очистити ",512),[[e.vShow,e.unref(o)!==void 0&&e.unref(o)!==""||e.unref(o)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))}}),zt=["disabled","title"],Ot={class:"flex w-full items-center justify-between gap-1 overflow-hidden text-left"},It={class:"truncate text-ellipsis text-sm"},Ut={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-sm bg-blue-100 px-2 text-[11px] font-semibold text-blue-600"},Pt={class:"w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-sm 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"},Yt={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"},X=e.defineComponent({__name:"popover-field",props:{disabled:{type:Boolean,default:!1},label:{},en:{},ua:{},uk:{},fr:{},de:{},es:{},currentValue:{},fieldRef:{},width:{},mode:{},layout:{}},setup(f,{expose:r}){const p=f,t=e.computed(()=>ae(p.mode)),s=e.ref(!1),o=e.ref({top:0,left:0}),y=e.ref(null),m=e.ref(null),a=e.ref(null);function b(){const h=m.value,_=a.value;if(!h||!_)return;const D=h.getBoundingClientRect(),V=_.offsetWidth,C=_.offsetHeight,S=window.innerWidth,E=window.innerHeight,N=8;let A=D.bottom+N,{left:F}=D;const B=Math.max(S-V-10,10);if(F=Math.min(F,B),F=Math.max(F,10),A+C>E-10){const $=D.top-C-N;A=$>=10?$:Math.max(E-C-10,10)}A<10&&(A=10),o.value={top:A,left:F}}function c(){s.value=!s.value,s.value&&e.nextTick(()=>{b(),p.fieldRef?.inputTextRef&&p.fieldRef?.inputTextRef?.focus?.(),p.fieldRef?.loadData&&p.fieldRef?.loadData?.()})}function u(h){!y.value?.contains(h.target)&&!a.value?.contains(h.target)&&!m.value?.contains(h.target)&&(s.value=!1)}function d(h){h.key==="Escape"&&(s.value=!1)}const k=e.ref(!1),w=e.ref("ua"),x=h=>{h.detail.key==="locale"&&(w.value=h.detail.newValue)};e.onMounted(()=>{k.value=!0,w.value=localStorage.locale,window.addEventListener("storage",x),document.addEventListener("click",u,!0),document.addEventListener("keydown",d),window.addEventListener("scroll",b,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",x),document.removeEventListener("click",u,!0),document.removeEventListener("keydown",d),window.removeEventListener("scroll",b,!0)});function i(){s.value=!1}r({close:i});function l(h){return Array.isArray(h)?h.filter(_=>_!=null&&_!=="").length:h&&typeof h=="object"?Object.values(h).filter(_=>_!=null&&_!=="").length:typeof h=="string"?h.trim()===""?0:1:typeof h=="number"?Number.isNaN(h)?0:1:h===null||h!==void 0?1:0}const n=e.computed(()=>{const h=p.fieldRef?.selectedLabels,_=l(h);return _>0?_:l(p.currentValue)}),g=e.computed(()=>{const h=p.fieldRef?.selectedLabels;return!h||["inline"].includes(p.layout||"")?p[w.value]||(p.label??""):Array.isArray(h)?h.length>0?h.join(", "):p.label??"":String(h)});return(h,_)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:c,disabled:h.disabled,ref_key:"triggerRef",ref:m,title:h.label,class:e.normalizeClass([t.value,h.width?e.unref(ne).getWidthClass(h.width):"w-full",h.layout==="inline"&&n.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",Ot,[e.createElementVNode("span",It,e.toDisplayString(g.value),1),h.layout==="inline"&&n.value>0?(e.openBlock(),e.createElementBlock("span",Ut,e.toDisplayString(n.value),1)):e.createCommentVNode("",!0)]),e.createVNode(U,{class:"h-4 w-4 text-neutral-500"})],10,zt),k.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:a,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${o.value.top}px`,left:`${o.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",Pt,[e.createElementVNode("div",Yt,[e.renderSlot(h.$slots,"default")])])],4),[[e.vShow,s.value]])])):e.createCommentVNode("",!0)]))}}),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-chevron-down text-gray-800 rotate-[90deg]"};function Ht(f,r){return e.openBlock(),e.createElementBlock("svg",qt,[...r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Qt=K(Wt,[["render",Ht]]),Gt={},Xt={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(f,r){return e.openBlock(),e.createElementBlock("svg",Xt,[...r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Zt=K(Gt,[["render",Jt]]),vt={class:"flex gap-1"},el={class:"mb-1"},tl={class:"mb-1"},ll={class:"inline-flex rounded-sm shrink-0 pl-1"},ol=["title"],nl={class:"inline-flex rounded-sm shrink-0 pl-1"},rl=["title"],al={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},sl=["max","value","disabled"],il=["min","value","disabled"],so={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},cl=e.defineComponent({__name:"date-input-inline",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(f,{expose:r,emit:p}){const t=z(),s=f,o=p,y=e.ref(null),{activeMode:m,innerValue:a,onSelectChange:b,nextClick:c,prevClick:u,currentLabel:d,clear:k}=se({...s,popoverRef:y},o);e.watch(()=>s.modelValue,i=>{i!==void 0?(a.value=i,o("update:modelValue",i)):(m.value="",a.value=[])}),e.watch(a,i=>{o("update:modelValue",i),o("change",{name:s.name,value:i})},{deep:!0});function w(i){const l=Array.isArray(a.value)?[...a.value]:[];a.value=[i,l[1]||""]}function x(i){const l=Array.isArray(a.value)?[...a.value]:[];a.value=[l[0]||"",i]}return r({clear:k,popoverRef:y}),(i,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",vt,[e.createVNode(X,{ref_key:"popoverRef",ref:y,label:e.unref(d),"current-value":e.unref(a),mode:i.mode,width:typeof i.width=="number"&&e.unref(a).length?i.width-70:i.width,onClear:e.unref(k),layout:i.layout,class:e.normalizeClass(i.itemClass)},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:l[0]||(l[0]=n=>e.unref(b)("range")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.period"))+" ",1),e.unref(m)==="range"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),l[12]||(l[12]=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:l[1]||(l[1]=n=>e.unref(b)("today")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.today"))+" ",1),e.unref(m)==="today"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:l[2]||(l[2]=n=>e.unref(b)("week")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.week"))+" ",1),e.unref(m)==="week"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:l[3]||(l[3]=n=>e.unref(b)("month")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.month"))+" ",1),e.unref(m)==="month"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:l[4]||(l[4]=n=>e.unref(b)("quarter")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.quarter"))+" ",1),e.unref(m)==="quarter"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",el,[e.createElementVNode("button",{type:"button",onClick:l[5]||(l[5]=n=>e.unref(b)("year")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.year"))+" ",1),e.unref(m)==="year"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",tl,[e.createElementVNode("button",{type:"button",onClick:l[6]||(l[6]=n=>e.unref(k)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.alltime"))+" ",1),e.unref(a)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(O,{key:0}))])])]),_:1},8,["label","current-value","mode","width","onClear","layout","class"]),e.unref(m)!==""&&e.unref(m)!=="range"&&e.unref(m)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",ll,[e.createElementVNode("button",{type:"button",title:e.unref(t)("filter.prev"),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:l[7]||(l[7]=(...n)=>e.unref(u)&&e.unref(u)(...n))},[e.createVNode(Qt)],8,ol)]),e.createElementVNode("div",nl,[e.createElementVNode("button",{type:"button",title:e.unref(t)("filter.next"),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:l[8]||(l[8]=(...n)=>e.unref(c)&&e.unref(c)(...n))},[e.createVNode(Zt)],8,rl)])],64)):e.createCommentVNode("",!0),e.unref(m)!==""&&e.unref(m)==="range"?(e.openBlock(),e.createElementBlock("div",al,[e.createElementVNode("input",{type:"date",max:e.unref(a)[1],locale:"uk-UA",value:e.unref(a)[0],onInput:l[9]||(l[9]=n=>w(n.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:i.disabled},null,40,sl),e.createElementVNode("input",{type:"date",min:e.unref(a)[0],locale:"uk-UA",value:e.unref(a)[1],onInput:l[10]||(l[10]=n=>x(n.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:i.disabled},null,40,il)])):e.createCommentVNode("",!0)]),(i.cleanable,e.createCommentVNode("",!0))],64))}}),dl={class:"flex flex-wrap items-center gap-2"},ml=["disabled","onClick"],fl={key:0,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},ie={radio:Oe,checkbox:le,check:le,text:tt,range:dt,date:Vt,select:At,tag:Lt,button:e.defineComponent({__name:"button-field",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(f,{expose:r,emit:p}){const t=f,s=p,{innerValue:o,isSelected:y,selectItem:m,clear:a,labelKey:b,valueKey:c,allOptions:u}=q({...t,modelValue:t.modelValue??t.default??""},s),d=e.computed(()=>o.value!==void 0&&!(typeof o.value=="string"&&o.value==="")),k=e.computed(()=>d.value?1:0);function w(i){return y(i)?["bg-blue-600 text-white"].filter(l=>typeof l=="string"&&l.trim().length>0).join(" "):["text-gray-700 hover:bg-gray-200 bg-gray-50 "].filter(l=>typeof l=="string"&&l.trim().length>0).join(" ")}function x(i){t.disabled||m(i)}return r({clear:a}),e.watch(()=>t.modelValue,i=>{i===void 0&&(o.value=void 0)}),(i,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",dl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),n=>(e.openBlock(),e.createElementBlock("button",{key:n[e.unref(c)],type:"button",class:e.normalizeClass(["px-3 py-2 text-sm font-medium rounded-md transition-colors",w(n)]),disabled:i.disabled,onClick:g=>x(n)},e.toDisplayString(n[e.unref(b)]),11,ml))),128))]),i.cleanable&&i.layout==="popover"?(e.openBlock(),e.createElementBlock("div",fl,[e.createElementVNode("span",null,e.toDisplayString(k.value)+" з "+e.toDisplayString(e.unref(u).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:l[0]||(l[0]=(...n)=>e.unref(a)&&e.unref(a)(...n))}," Очистити ",512),[[e.vShow,d.value]])])):e.createCommentVNode("",!0)],64))}}),"date:inline":cl};function J(f,r){let p;switch(f.toLowerCase()){case"autocomplete":p="select";break;case"check":p="checkbox";break;default:p=f?.toString().toLowerCase()}return p==="date"&&r&&r==="inline"&&(p="date:inline"),{component:ie[p]||ie.text,type:p}}const ul={style:{display:"inline-flex",margin:"0px",width:"100%"}},pl={class:"relative w-full mb-2 p-4 bg-white rounded-lg shadow-sm"},yl={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},gl={class:"flex items-center"},hl={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},bl={class:"filter-layout__body"},kl=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(f,{expose:r,emit:p}){const t=f,s=p,o=e.ref(),y=e.computed(()=>J(t.type,t.layout)),m=e.computed({get:()=>t.modelValue,set:u=>s("update:modelValue",u)});function a(u){s("clear",u)}function b(u,d){s("change",{name:u,value:d}),t.modelValue!==void 0&&s("update:modelValue",d)}function c(){s("clear",t.name)}return e.watch(()=>t.default,u=>{m.value=u}),e.watch(()=>t.modelValue,u=>{m.value=u}),r({filterRef:o}),(u,d)=>(e.openBlock(),e.createElementBlock("div",ul,[e.createElementVNode("div",pl,[e.createElementVNode("div",yl,[e.createElementVNode("div",gl,[e.createElementVNode("span",hl,e.toDisplayString(u.label),1)]),typeof m.value=="string"&&m.value.trim()!==""||Array.isArray(m.value)&&m.value.length>0&&m.value.some(k=>k!==void 0)||m.value===null?(e.openBlock(),e.createBlock(ge,{key:0,onClick:c})):e.createCommentVNode("",!0)]),e.createElementVNode("div",bl,[y.value?.type!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.value?.component),e.mergeProps({key:0},t,{type:y.value?.type,class:t.itemClass,onChange:d[0]||(d[0]=k=>b(k.name,k.value)),onClear:d[1]||(d[1]=k=>a(k)),ref_key:"filterRef",ref:o}),null,16,["type","class"])):(e.openBlock(),e.createBlock(X,{key:1,"current-value":m.value,label:u.label,mode:u.mode,onClear:c,fieldRef:o.value,width:void 0,disabled:u.disabled,layout:"vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.value?.component),e.mergeProps({ref_key:"filterRef",ref:o},t,{type:y.value?.type,class:t.itemClass,onChange:d[2]||(d[2]=k=>b(k.name,k.value)),onClear:d[3]||(d[3]=k=>a(k))}),null,16,["type","class"]))]),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])]))}}),ce=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(f,{expose:r,emit:p}){const t=f,s=p,o=e.ref(),y=e.computed(()=>J(t.type,t.layout)),m=e.computed({get:()=>t.modelValue,set:c=>s("update:modelValue",c)});function a(c=t.name){s("clear",c)}function b(c,u){s("change",{name:c,value:u}),t.modelValue!==void 0&&s("update:modelValue",u)}return e.watch(()=>t.default,c=>{m.value=c}),e.watch(()=>t.modelValue,c=>{m.value=c}),r({filterRef:o}),(c,u)=>["text","date","button"].includes(c.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.value?.component),e.mergeProps({key:0},t,{type:y.value?.type,class:c.itemClass,onChange:u[0]||(u[0]=d=>b(d.name,d.value)),onClear:u[1]||(u[1]=d=>a(d)),disabled:c.disabled,modelValue:m.value,"onUpdate:modelValue":u[2]||(u[2]=d=>m.value=d)}),null,16,["type","class","disabled","modelValue"])):(e.openBlock(),e.createBlock(X,{key:1,"current-value":m.value,label:c.label,mode:c.mode,onClear:a,fieldRef:o.value,width:t.width,disabled:c.disabled,layout:"inline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.value?.component),e.mergeProps({ref_key:"filterRef",ref:o},t,{modelValue:m.value,"onUpdate:modelValue":u[3]||(u[3]=d=>m.value=d),type:y.value?.type,class:t.itemClass,onChange:u[4]||(u[4]=d=>b(d.name,d.value)),onClear:u[5]||(u[5]=d=>a(d))}),null,16,["modelValue","type","class"]))]),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}),xl=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(f,{expose:r,emit:p}){const t=f,s=p,o=e.ref(),y=e.computed(()=>J(t.type,t.layout)),m=e.computed({get:()=>t.modelValue,set:c=>s("update:modelValue",c)});function a(c){s("clear",c)}function b(c,u){s("change",{name:c,value:u}),t.modelValue!==void 0&&s("update:modelValue",u)}return e.watch(()=>t.default,c=>{m.value=c}),e.watch(()=>t.modelValue,c=>{m.value=c}),e.watch(()=>t,c=>{m.value=c}),r({filterRef:o}),(c,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.value?.component),e.mergeProps(t,{type:y.value?.type,class:t.itemClass,modelValue:m.value,"onUpdate:modelValue":u[0]||(u[0]=d=>m.value=d),onChange:u[1]||(u[1]=d=>b(d.name,d.value)),onClear:u[2]||(u[2]=d=>a(d)),ref_key:"filterRef",ref:o}),null,16,["type","class","modelValue"]))}}),L=e.defineComponent({__name:"filter-field",props:{id:{},name:{},title:{},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:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(f,{expose:r,emit:p}){const t=f,s=p,o=e.ref(),y=e.computed({get:()=>t.modelValue,set:c=>s("update:modelValue",c)});function m(c){s("clear",c)}function a(c,u){s("change",{name:c,value:u}),t.modelValue!==void 0&&s("update:modelValue",u)}e.watch(()=>t.default,c=>{y.value=c}),e.watch(()=>t.modelValue,c=>{y.value=c}),r({filterRef:o});function b(){switch(t.layout){case"inline":return ce;case"vertical":return kl;case"popover":return xl;default:return ce}}return(c,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b()),e.mergeProps(t,{onChange:u[0]||(u[0]=d=>a(d.name,d.value)),onClear:u[1]||(u[1]=d=>m(d)),modelValue:y.value,"onUpdate:modelValue":u[2]||(u[2]=d=>y.value=d)}),null,16,["modelValue"]))}});function P(f,r){const{slots:p}=f,t=l=>l?JSON.parse(JSON.stringify(e.toRaw(l))):{},s=e.ref(t(f.value));e.watch(()=>f.value,l=>{s.value=t(l)},{deep:!0,immediate:!0});const o=e.computed(()=>(e.toRaw(p?.default?.())??[]).flatMap(n=>Array.isArray(n.children)?n.children:[n]));function y(l){delete s.value[l],r("clear",{data:e.toRaw(s.value),name:l})}function m(l,n){n===void 0?y(l):s.value={...s.value,[l]:n},r("change",{data:e.toRaw(s.value),name:l,value:n})}const a=e.computed(()=>o.value.map(l=>{const n=l.props?.name;return e.cloneVNode(l,{...l.props,layout:f.view,showClean:!0,modelValue:s.value[n],"onUpdate:modelValue":g=>{m(n,g)},onClear:()=>y(n),class:[f.itemClass,l.props?.class],itemClass:[f.itemClass,l.props?.itemClass].filter(g=>typeof g=="string"&&g.trim().length>0).join(" ")||void 0})})),b=e.computed(()=>new Map(a.value.map(l=>{const n=l.props?.name;return n?[n,l]:null}).filter(l=>l!==null)));function c(l=!1){s.value={},l||r("clearAll",{data:e.toRaw(s.value),name:"ALL"})}const u=e.ref(""),d=e.computed(()=>f.schema?.value?Object.entries(s.value).filter(([l,n])=>f.schema&&!(l in f.schema.value)?!1:Array.isArray(n)?n.some(g=>g!==""&&g!==void 0):n!==""&&n!==void 0).length:0),k=e.ref();e.watch(u,async()=>{await e.nextTick(),k?.value?.filterRef?.inputTextRef&&k.value.filterRef.inputTextRef.focus()});const w=e.computed(()=>f.schema?.value?Object.fromEntries(Object.entries(f.schema?.value).slice(0,f.limit)):{}),x=e.computed(()=>{if(a.value.length===0)return[];let l=0;if(f.schema?.value){const n=Object.entries(f.schema.value).length;f.limit&&n<f.limit?l=f.limit-n:l=0}return a.value.slice(0,l)}),i=e.computed(()=>a.value.length===0?[]:f.view!=="inline"?a.value:a.value.slice(x.value.length));return{activeFilter:s,activeFilterCount:d,onFilterChange:m,clearFilter:y,clearAllFilters:c,limitedSchema:w,filtersSlot:a,limitedFiltersSlot:x,popoverFiltersSlot:i,vnodeMap:b,selectedFilter:u,filterRef:k}}const wl=e.defineComponent({__name:"popover",emits:["open","close"],setup(f,{emit:r}){const p=e.ref(!1),t=e.ref(null),s=e.ref(null),o=e.ref(null),y=e.ref({top:"0px",left:"0px",position:"absolute"});function m(){p.value=!p.value}function a(){const k=o.value,w=t.value;if(!k||!w)return;const x=k.getBoundingClientRect(),i=w.offsetWidth,l=window.innerWidth-x.left;let n=x.left+window.scrollX;i>l&&(n=window.innerWidth-i-18,n<18&&(n=18)),y.value={position:"absolute",top:`${x.bottom+window.scrollY+18}px`,left:`${n}px`}}const b=e.computed(()=>Object.entries(y.value).map(k=>k.join(":")).join(";"));function c(k){const w=k.target;!o.value?.contains(k.target)&&!t.value?.contains(k.target)&&!w.closest("[data-inside-popover]")&&(p.value=!1)}const u=e.ref(!1);e.onMounted(()=>{u.value=!0}),e.onMounted(()=>{o.value=s.value?.querySelector("[data-popover-trigger]")||null,o.value?.addEventListener("click",m),document.addEventListener("click",c),window.addEventListener("resize",a),window.addEventListener("scroll",a,!0)}),e.onBeforeUnmount(()=>{o.value?.removeEventListener("click",m),document.removeEventListener("click",c),window.removeEventListener("resize",a),window.removeEventListener("scroll",a,!0)});const d=r;return e.watch(p,async k=>{k?(d("open"),await e.nextTick(),a()):d("close")}),(k,w)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:s},[e.renderSlot(k.$slots,"trigger"),u.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-[calc(100vw-32px)] md:w-[600px] rounded-md border bg-white shadow-md",style:e.normalizeStyle(b.value)},[e.renderSlot(k.$slots,"default")],4),[[e.vShow,p.value]])])):e.createCommentVNode("",!0)],512))}}),Vl={},Cl={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 Bl(f,r){return e.openBlock(),e.createElementBlock("svg",Cl,[...r[0]||(r[0]=[e.createElementVNode("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"},null,-1)])])}const de=K(Vl,[["render",Bl]]),El={class:"flex items-center gap-2 overflow-hidden"},Nl={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-500 px-1 text-[11px] font-semibold text-white"},Sl={class:"flex max-h-[400px] md:max-h-[400px]"},_l={class:"w-[150px] sm:w-[180px] md:w-64 border-r border-gray-200 overflow-y-auto"},Dl={class:"p-2 md:p-4 border-b"},$l={class:"text-xs md:text-sm text-gray-600"},Fl={class:"p-1 md:p-2"},Al=["onClick"],jl={class:"flex items-center gap-1.5 md:gap-2"},Ml={class:"text-xs md:text-sm font-medium line-clamp-3"},Rl={key:0,class:"inline-flex min-h-[16px] md:min-h-[18px] min-w-[16px] md:min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-0.5 md:px-1 text-[10px] md:text-[11px] font-semibold text-blue-600 flex-shrink-0"},Tl=["onClick"],Kl={class:"flex items-center gap-1.5 md:gap-2"},Ll={class:"text-xs md:text-sm font-medium truncate"},zl={key:0,class:"inline-flex min-h-[16px] md:min-h-[18px] min-w-[16px] md:min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-0.5 md:px-1 text-[10px] md:text-[11px] font-semibold text-blue-600 flex-shrink-0"},Ol={key:0,class:"p-1 md:p-2 border-t"},Il={class:"flex-1 min-h-[250px] md:min-h-[300px] overflow-y-auto"},Ul={key:0,class:"flex items-center justify-center h-full text-gray-500"},Pl={class:"text-xs md:text-sm"},me=e.defineComponent({__name:"popover-filter-layout",props:{badgeCount:{},schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(f,{expose:r,emit:p}){const t=z(),s=f,o=ae(s.mode),y=e.useSlots(),m=p,a=e.ref({}),b=e.computed(()=>a?.value?s.view!=="inline"?a?.value:Object.fromEntries(Object.entries(a?.value).slice(s.limit)):{}),{activeFilter:c,activeFilterCount:u,onFilterChange:d,clearFilter:k,clearAllFilters:w,popoverFiltersSlot:x,selectedFilter:i,filterRef:l}=P({...s,schema:a,slots:y},m),n=e.computed(()=>s.badgeCount??u.value);function g(D){return Array.isArray(D)?D.filter(V=>V!=null&&V!=="").length:D&&typeof D=="object"?Object.values(D).filter(V=>V!=null&&V!=="").length:D===null||D!==void 0&&D!==""?1:0}function h(D){return c.value?g(c.value[D]):0}function _(){if(b.value){const[D]=Object.keys(b.value);i.value=D}else x.value.length>0?i.value=x.value[0].props.name:i.value=""}return e.watch(()=>s.schema,D=>{a.value=D??{}},{deep:!0,immediate:!0}),r({clearFilter:k,clearAllFilters:w}),(D,V)=>(e.openBlock(),e.createBlock(wl,{onOpen:_,onClose:V[5]||(V[5]=C=>i.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([D.itemClass,e.unref(o),"flex items-center justify-between gap-2",n.value>0?"border border-blue-400 bg-blue-50 text-blue-600 hover:border-blue-500":"text-neutral-700 hover:border-neutral-400"]),type:"button"},[e.createElementVNode("span",El,[e.createVNode(de,{class:"h-4 w-4"}),V[6]||(V[6]=e.createElementVNode("span",{class:"text-sm font-medium"},"Фільтр",-1))]),n.value>0?(e.openBlock(),e.createElementBlock("span",Nl,e.toDisplayString(n.value),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",Sl,[e.createElementVNode("div",_l,[e.createElementVNode("div",Dl,[e.createElementVNode("p",$l,e.toDisplayString(e.unref(t)("filter.selectFieldHelp")),1)]),e.createElementVNode("div",Fl,[D.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(b.value),([C,S])=>(e.openBlock(),e.createElementBlock("button",{key:C,onClick:()=>{i.value=C},class:e.normalizeClass(["flex w-full items-center justify-between px-2 md:px-3 py-1.5 md:py-2 text-left transition-colors hover:bg-gray-50",e.unref(i)===C?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",jl,[e.createElementVNode("span",Ml,e.toDisplayString(S.label),1)]),h(C)>0?(e.openBlock(),e.createElementBlock("div",Rl,e.toDisplayString(h(C)),1)):e.createCommentVNode("",!0)],10,Al))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(x),(C,S)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+S,onClick:E=>i.value=C.props.name,class:e.normalizeClass(["flex items-center justify-between px-2 md:px-3 py-1.5 md:py-2 text-left transition-colors hover:bg-gray-50",e.unref(i)===C.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Kl,[e.createElementVNode("span",Ll,e.toDisplayString(C.props.label),1)]),h(C.props.name)>0?(e.openBlock(),e.createElementBlock("div",zl,e.toDisplayString(h(C.props.name)),1)):e.createCommentVNode("",!0)],10,Tl))),128))]),e.unref(u)>0?(e.openBlock(),e.createElementBlock("div",Ol,[e.createElementVNode("button",{class:e.normalizeClass([D.itemClass,"w-full px-2 md:px-3 py-1.5 md:py-2 text-left text-xs md:text-sm text-gray-600 hover:bg-gray-50 transition-colors"]),onClick:V[0]||(V[0]=C=>e.unref(w)()),"data-inside-popover":""}," Очистити всі ",2)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Il,[e.unref(i)===""?(e.openBlock(),e.createElementBlock("div",Ul,[e.createElementVNode("p",Pl,e.toDisplayString(e.unref(t)("filter.selectFieldHelp")),1)])):e.createCommentVNode("",!0),e.unref(i)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[b.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(b.value),([C,S])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(i)===C?(e.openBlock(),e.createBlock(L,e.mergeProps({key:C,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:l},{ref_for:!0},S,{class:[D.itemClass,S?.class],"item-class":[D.itemClass,S?.itemClass].filter(Boolean).join(" ")||void 0,onChange:V[1]||(V[1]=E=>e.unref(d)(E.name,E.value)),onClear:V[2]||(V[2]=E=>{e.unref(k)(E),e.unref(d)(E,void 0)}),modelValue:e.unref(c)[C],"onUpdate:modelValue":E=>e.unref(c)[C]=E,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(x),(C,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+S},[e.unref(i)===C.props.name?(e.openBlock(),e.createBlock(L,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},C.props,{ref_for:!0,ref_key:"filterRef",ref:l,class:[D.itemClass,C.props?.class],"item-class":[D.itemClass,C.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:V[3]||(V[3]=E=>e.unref(d)(E.name,E.value)),onClear:V[4]||(V[4]=E=>{e.unref(k)(E),e.unref(d)(E,void 0)}),modelValue:e.unref(c)[C.props.name],"onUpdate:modelValue":E=>e.unref(c)[C.props.name]=E,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),Yl={class:"flex gap-1 items-center flex-wrap"},fe=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(f,{expose:r,emit:p}){const t=z(),s=f,o=p,y=e.useSlots(),m=e.ref({}),a=e.computed(()=>Object.keys(s.schema).length>s.limit),{activeFilter:b,activeFilterCount:c,onFilterChange:u,clearFilter:d,clearAllFilters:k,limitedSchema:w,filtersSlot:x,limitedFiltersSlot:i}=P({...s,schema:m,slots:y},o);function l(V){return Array.isArray(V)?V.some(C=>C!==""&&C!==void 0&&C!==null):V===null?!0:V&&typeof V=="object"?Object.values(V).some(C=>C!==""&&C!==void 0&&C!==null):V!==""&&V!==void 0}const n=e.computed(()=>{const V=Object.keys(w.value??{}),C=i.value.map(S=>S.props?.name).filter(S=>typeof S=="string");return new Set([...V,...C])}),g=e.computed(()=>Object.entries(b.value??{}).filter(([V,C])=>n.value.has(V)&&l(C)).length),h=e.computed(()=>{const V=c.value??0,C=g.value??0;return Math.max(V-C,0)}),_=e.ref();function D(){_.value&&_.value.clearAllFilters(!0),k()}return e.watch(()=>s.schema,V=>{m.value=V},{deep:!0,immediate:!0}),r({clearFilter:d,clearAllFilters:k}),(V,C)=>(e.openBlock(),e.createElementBlock("div",Yl,[V.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(w)),([S,E])=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:S,mode:V.mode,width:V.width?V.width:E?.width},{ref_for:!0},E,{class:[V.itemClass,E?.class],"item-class":[V.itemClass,E?.itemClass].filter(Boolean).join(" ")||void 0,onChange:C[0]||(C[0]=N=>e.unref(u)(N.name,N.value)),onClear:e.unref(d),layout:"inline",cleanable:!0,modelValue:e.unref(b)[S],"onUpdate:modelValue":N=>e.unref(b)[S]=N}),null,16,["mode","width","class","item-class","onClear","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),(S,E)=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:"slot-"+E,layout:"inline"},{ref_for:!0},S.props,{class:[V.itemClass,S.props?.class],"item-class":[V.itemClass,S.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:C[1]||(C[1]=N=>e.unref(u)(N.name,N.value)),onClear:C[2]||(C[2]=N=>{e.unref(d)(N),e.unref(u)(N,void 0)}),cleanable:!0,modelValue:e.unref(b)[S.props.name],"onUpdate:modelValue":N=>e.unref(b)[S.props.name]=N}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128)),a.value?(e.openBlock(),e.createBlock(me,e.mergeProps({key:1},s,{schema:V.schema,limit:V.limit,onChange:C[3]||(C[3]=S=>e.unref(u)(S.name,S.value)),onClearAll:C[4]||(C[4]=S=>e.unref(k)()),onClear:C[5]||(C[5]=S=>e.unref(d)(S.name)),mode:V.mode,ref_key:"popoverRef",ref:_,cleanable:!0,"badge-count":h.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(x),(S,E)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S),e.mergeProps({key:"slot-"+E,layout:"popover"},{ref_for:!0},S.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","limit","mode","badge-count"])):e.createCommentVNode("",!0),e.unref(c)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:D,class:e.normalizeClass([V.itemClass,"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-md bg-gray-50 border text-gray-800 hover:bg-gray-200 focus:bg-gray-200"])},e.toDisplayString(e.unref(t)("filter.clear")),3)):e.createCommentVNode("",!0)]))}}),Wl={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"},ql={class:"flex items-center vst-filters vsTailwind flex-col w-full"},Hl=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(f,{expose:r,emit:p}){const t=f,s=p,o=e.useSlots(),{activeFilter:y,activeFilterCount:m,onFilterChange:a,clearFilter:b,clearAllFilters:c,filtersSlot:u}=P({...t,slots:o},s);return r({clearFilter:b,clearAllFilters:c}),(d,k)=>d.view==="vertical"?(e.openBlock(),e.createElementBlock("div",Wl,[e.createElementVNode("div",ql,[e.unref(m)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:k[0]||(k[0]=w=>e.unref(c)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([d.itemClass,"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"}," Очистити ",2)):e.createCommentVNode("",!0),d.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(d.schema),([w,x])=>(e.openBlock(),e.createBlock(L,e.mergeProps({layout:"vertical"},{ref_for:!0},x,{class:[d.itemClass,x?.class],"item-class":[d.itemClass,x?.itemClass].filter(Boolean).join(" ")||void 0,onChange:k[1]||(k[1]=i=>e.unref(a)(i.name,i.value)),onClear:k[2]||(k[2]=i=>{e.unref(b)(i),e.unref(a)(i,void 0)}),modelValue:e.unref(y)[w],"onUpdate:modelValue":i=>e.unref(y)[w]=i,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),(w,x)=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:"slot-"+x,layout:"vertical"},{ref_for:!0},w.props,{class:[d.itemClass,w.props?.class],"item-class":[d.itemClass,w.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:k[3]||(k[3]=i=>e.unref(a)(i.name,i.value)),onClear:k[4]||(k[4]=i=>{e.unref(b)(i),e.unref(a)(i,void 0)}),modelValue:e.unref(y)[w.props.name],"onUpdate:modelValue":i=>e.unref(y)[w.props.name]=i,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128))])])):e.createCommentVNode("",!0)}}),Ql=["onKeydown"],Gl=["disabled"],Xl={key:0,class:"ml-2 inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-full bg-blue-500 px-1.5 text-[11px] font-semibold text-white"},Jl={class:"rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm"},Zl={class:"mb-3 flex items-center justify-between"},vl={class:"text-[15px] font-semibold text-slate-800"},eo={"aria-hidden":"true"},to={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},lo={key:0,class:"mt-3 flex justify-end"},oo=e.defineComponent({__name:"popover-inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:10},width:{default:220},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(f,{emit:r}){const p=z(),t=f,s=r,o=e.ref({}),y=e.useSlots(),{activeFilter:m,activeFilterCount:a,onFilterChange:b,clearFilter:c,clearAllFilters:u,filtersSlot:d}=P({...t,schema:o.value,slots:y},s),k=e.ref(null),w=e.ref(null),x=e.reactive({open:!1,top:0,left:0}),i=e.computed(()=>x.open),l=e.computed(()=>!!t.disabled),n=e.computed(()=>o.value||{}),g=e.computed(()=>t.title??"Фільтр"),h=e.computed(()=>!!y.trigger),_=e.computed(()=>["inline-flex h-9 items-center justify-center gap-2 rounded-lg border border-transparent bg-slate-200/70 px-3 text-sm font-medium text-slate-700 transition-colors hover:bg-blue-100 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-slate-200/70 disabled:hover:text-slate-700",l.value?"cursor-not-allowed opacity-60":"cursor-pointer"]),D=e.computed(()=>x.open?{position:"absolute",top:`${x.top}px`,left:`${x.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function V(){x.open=!1}function C(){if(!k.value)return;const F=k.value.getBoundingClientRect();x.top=F.bottom+window.scrollY+8,x.left=F.left+F.width/2+window.scrollX}function S(){x.open=!x.open,x.open&&e.nextTick(C)}function E(){l.value||S()}function N(){x.open&&C()}function A(){u()}return e.onMounted(()=>{window.addEventListener("resize",N),window.addEventListener("scroll",N,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",N),window.removeEventListener("scroll",N,!0)}),e.watch(()=>t.schema,F=>{if(!F){o.value={};return}if(Array.isArray(F)){const B=F.filter($=>$&&($.name||$.id)).map($=>{const j=$.name||$.id;return[j,{...$,name:j}]});o.value=Object.fromEntries(B);return}o.value=F},{deep:!0,immediate:!0}),e.watch(()=>t.disabled,F=>{F&&V()}),(F,B)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:k},[h.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["inline-flex",l.value?"cursor-not-allowed opacity-60 pointer-events-none":"cursor-pointer"]),role:"button",tabindex:"0","data-popover-trigger":"",onClick:e.withModifiers(E,["prevent","stop"]),onKeydown:[e.withKeys(e.withModifiers(E,["prevent","stop"]),["enter"]),e.withKeys(e.withModifiers(E,["prevent","stop"]),["space"])]},[e.renderSlot(F.$slots,"trigger",{toggle:E,open:i.value,disabled:l.value,activeCount:e.unref(a)})],42,Ql)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(_.value),type:"button",disabled:l.value,onClick:e.withModifiers(E,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(de,{class:"h-4 w-4"}),e.unref(a)>0?(e.openBlock(),e.createElementBlock("div",Xl,e.toDisplayString(e.unref(a)),1)):e.createCommentVNode("",!0)],10,Gl)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[i.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute",typeof F.width=="number"?`min-w-[${F.width+32+(Object.keys(n.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle(D.value),ref_key:"panel",ref:w,onClick:B[4]||(B[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Jl,[e.createElementVNode("div",Zl,[e.createElementVNode("h3",vl,e.toDisplayString(g.value),1),e.createElementVNode("button",{type:"button",class:"inline-flex h-6 w-6 items-center justify-center rounded-full border-0 bg-slate-300/40 text-slate-600 transition-colors hover:bg-blue-200/60 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200",onClick:V},[e.createElementVNode("span",eo,[e.createVNode(G,{class:"h-4 w-4"})]),B[5]||(B[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",to,[Object.keys(n.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(n.value),([$,j])=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:$},{ref_for:!0},{...j,layout:"inline"},{width:F.width?F.width:j?.width,class:[F.itemClass,j?.class],"item-class":[F.itemClass,j?.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(m)[$],"onUpdate:modelValue":M=>e.unref(m)[$]=M,onChange:B[0]||(B[0]=M=>e.unref(b)(M.name,M.value)),onClear:B[1]||(B[1]=M=>{e.unref(c)(M),e.unref(b)(M,void 0)})}),null,16,["width","class","item-class","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),($,j)=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:"slot-"+j,ref_for:!0},{...$.props,layout:"inline"},{class:[F.itemClass,$.props?.class],"item-class":[F.itemClass,$.props?.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(m)[$.props.name],"onUpdate:modelValue":M=>e.unref(m)[$.props.name]=M,onChange:B[2]||(B[2]=M=>e.unref(b)(M.name,M.value)),onClear:B[3]||(B[3]=M=>{e.unref(c)(M),e.unref(b)(M,void 0)})}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128))]),e.unref(a)>0?(e.openBlock(),e.createElementBlock("div",lo,[e.createElementVNode("button",{type:"button",class:e.normalizeClass([F.itemClass,"text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none"]),onClick:A},e.toDisplayString(e.unref(p)("filter.clear")),3)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),Y=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(f,{expose:r,emit:p}){const t=f,s=e.ref(a(t.value??{}));e.watch(()=>t.value,async i=>{s.value=a(i??{}),(!i||Object.keys(i).length===0)&&(await e.nextTick(),y.value?.clearAllFilters?.(!0))},{deep:!0,immediate:!0});const o=p,y=e.ref(),m=e.useSlots();function a(i){if(Array.isArray(i))return i.map(l=>a(l));if(i!==null&&typeof i=="object"){const l=e.toRaw(i),n={};for(const g in l)n[g]=a(l[g]);return n}return i}function b(i,l){l!==void 0?s.value={...s.value,[i]:l}:delete s.value[i],o("change",{data:a(s.value),name:i,value:a(l)})}function c(i){delete s.value[i],o("clear",{data:a(s.value),name:i}),o("change",{data:a(s.value),name:i,value:null})}function u(){s.value={},o("clear",{data:a(s.value),name:"ALL"}),o("change",{data:a(s.value),name:"ALL",value:null})}const d=e.ref({});function k(){switch(t.view){case"inline":return fe;case"vertical":return Hl;case"popover":return me;case"popover-inline":return oo;default:return fe}}e.watch(()=>t.schema,i=>{if(!i){d.value={};return}if(Array.isArray(i)&&!i.length){d.value={};return}Array.isArray(i)?d.value=i.filter(l=>l.type).reduce((l,n)=>(Object.assign(n,{name:n.id||n.name,type:{datepicker:"date"}[n.type.toLowerCase()]||n.type.toLowerCase(),label:n.label||n.ua}),l[n.name]=n,n.data&&!n.api&&!n.options&&Object.assign(n,{api:`/api/suggest/${n.data}`}),l),{}):(Object.entries(i).forEach(([l,n])=>{Object.assign(n,{name:l||n.name||n.id,type:n.type.toLowerCase()})}),d.value={...i})},{immediate:!0,deep:!0});function w(i){y.value.clearFilter(i),c(i)}function x(){y.value.clearAllFilters(),u()}return e.watch(()=>s.value,i=>{if(t.history){const l=new URL(window.location.href),n=new URLSearchParams(window.location.search);Object.keys(i).length>0?n.set("filter",Object.entries(i).filter(([,g])=>g).map(([g,h])=>`${g}=${h}`).join("|")):n.delete("filter"),l.search=decodeURI(n.toString()),window.history.pushState({},"",l)}}),r({clearAllFilters:x,clearFilter:w}),(i,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k()),e.mergeProps(t,{schema:d.value,onChange:l[0]||(l[0]=n=>b(n.name,n.value)),onClear:l[1]||(l[1]=n=>c(n.name)),onClearAll:u,ref_key:"filterRef",ref:y}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:2},[e.unref(m).trigger?{name:"trigger",fn:e.withCtx(n=>[e.renderSlot(i.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(n)))]),key:"0"}:void 0]),1040,["schema"]))}});Y.install=function(r){r.component("Filter",Y),r.component("FilterField",L)},T.Filter=Y,T.FilterField=L,T.default=Y,Object.defineProperties(T,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
package/package.json CHANGED
@@ -1,59 +1,59 @@
1
- {
2
- "name": "@opengis/filter",
3
- "version": "0.1.27",
4
- "type": "module",
5
- "types": "./dist/index.d.ts",
6
- "main": "./dist/index.js",
7
- "private": false,
8
- "files": [
9
- "dist"
10
- ],
11
- "description": "A flexible and extensible filter component system for Vue 3. Ideal for building customizable filter UIs with checkbox, radio, or custom slot fields.",
12
- "license": "MIT",
13
- "homepage": "https://filter.opengis.info/",
14
- "author": {
15
- "name": "OpenGIS",
16
- "url": "https://opengis.info/"
17
- },
18
- "keywords": [
19
- "filter",
20
- "vue3"
21
- ],
22
- "repository": {
23
- "type": "git",
24
- "url": "git://github.com/opengisinfo/filter"
25
- },
26
- "scripts": {
27
- "lint": "eslint src --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
28
- "dev": "vite",
29
- "type-check": "vue-tsc --noEmit -p tsconfig.app.json",
30
- "build:types": "vue-tsc --declaration --emitDeclarationOnly -p tsconfig.app.json",
31
- "build": "vue-tsc -b && vite build && npm run build:types",
32
- "preview": "vite preview",
33
- "test": "vitest",
34
- "docs:dev": "npm run --prefix ./docs docs:dev",
35
- "docs:build": "npm run --prefix ./docs docs:build",
36
- "prepublishOnly": "bun run build",
37
- "docs:preview": "npm run --prefix ./docs docs:preview"
38
- },
39
- "dependencies": {},
40
- "devDependencies": {
41
- "vue": "^3.5.18",
42
- "@tsconfig/node22": "^22.0.2",
43
- "@types/node": "^22.15.32",
44
- "@vitejs/plugin-vue": "^6.0.0",
45
- "@vue/eslint-config-typescript": "^12.0.0",
46
- "@vue/test-utils": "^2.4.6",
47
- "@vue/tsconfig": "^0.7.0",
48
- "eslint": "8.49.0",
49
- "eslint-config-airbnb": "19.0.4",
50
- "eslint-plugin-import": "^2.25.3",
51
- "eslint-plugin-vue": "^9.17.0",
52
- "typescript": "~5.8.0",
53
- "vite": "^7.0.0",
54
- "vitest": "^3.2.4",
55
- "vue-tsc": "^2.2.10",
56
- "@opengis/core": "^0.0.26"
57
-
58
- }
59
- }
1
+ {
2
+ "name": "@opengis/filter",
3
+ "version": "0.1.28",
4
+ "type": "module",
5
+ "types": "./dist/index.d.ts",
6
+ "main": "./dist/index.js",
7
+ "private": false,
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "description": "A flexible and extensible filter component system for Vue 3. Ideal for building customizable filter UIs with checkbox, radio, or custom slot fields.",
12
+ "license": "MIT",
13
+ "homepage": "https://filter.opengis.info/",
14
+ "author": {
15
+ "name": "OpenGIS",
16
+ "url": "https://opengis.info/"
17
+ },
18
+ "keywords": [
19
+ "filter",
20
+ "vue3"
21
+ ],
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git://github.com/opengisinfo/filter"
25
+ },
26
+ "scripts": {
27
+ "lint": "eslint src --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
28
+ "dev": "vite",
29
+ "type-check": "vue-tsc --noEmit -p tsconfig.app.json",
30
+ "build:types": "vue-tsc --declaration --emitDeclarationOnly -p tsconfig.app.json",
31
+ "build": "vue-tsc -b && vite build && npm run build:types",
32
+ "preview": "vite preview",
33
+ "test": "vitest",
34
+ "docs:dev": "npm run --prefix ./docs docs:dev",
35
+ "docs:build": "npm run --prefix ./docs docs:build",
36
+ "prepublishOnly": "bun run build",
37
+ "docs:preview": "npm run --prefix ./docs docs:preview"
38
+ },
39
+ "dependencies": {},
40
+ "devDependencies": {
41
+ "vue": "^3.5.18",
42
+ "@tsconfig/node22": "^22.0.2",
43
+ "@types/node": "^22.15.32",
44
+ "@vitejs/plugin-vue": "^6.0.0",
45
+ "@vue/eslint-config-typescript": "^12.0.0",
46
+ "@vue/test-utils": "^2.4.6",
47
+ "@vue/tsconfig": "^0.7.0",
48
+ "eslint": "8.49.0",
49
+ "eslint-config-airbnb": "19.0.4",
50
+ "eslint-plugin-import": "^2.25.3",
51
+ "eslint-plugin-vue": "^9.17.0",
52
+ "typescript": "~5.8.0",
53
+ "vite": "^7.0.0",
54
+ "vitest": "^3.2.4",
55
+ "vue-tsc": "^2.2.10",
56
+ "@opengis/core": "^0.0.26"
57
+
58
+ }
59
+ }