@opengis/filter 0.0.12 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/README.md +82 -0
- package/dist/filter.js +14 -14
- package/dist/filter.umd.cjs +1 -1
- package/dist/package.json +22 -0
- package/package.json +24 -10
package/dist/README.md
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
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
|
+
## Documentation
|
|
22
|
+
|
|
23
|
+
### Live Demo & Docs
|
|
24
|
+
|
|
25
|
+
Check out the documentation and live demo here:
|
|
26
|
+
- [FIlter](https://filter.opengis.info)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## Install & Usage
|
|
30
|
+
|
|
31
|
+
### 1. Install the packag
|
|
32
|
+
```bash
|
|
33
|
+
npm i @opengis/filter
|
|
34
|
+
```
|
|
35
|
+
### 2. Register the component
|
|
36
|
+
```typescript
|
|
37
|
+
// main.ts or main.js
|
|
38
|
+
import { createApp } from 'vue'
|
|
39
|
+
import App from './App.vue'
|
|
40
|
+
import InlineFilter from 'filter'
|
|
41
|
+
|
|
42
|
+
createApp(App).component('Filter', InlineFilter).mount('#app')
|
|
43
|
+
```
|
|
44
|
+
### 3. Use it in your template
|
|
45
|
+
|
|
46
|
+
```vue
|
|
47
|
+
|
|
48
|
+
<template>
|
|
49
|
+
<filter :schema="schema" @change="filter = $event" @clear="console.log($event.data)">
|
|
50
|
+
<filter-field :options="options" label="test label" limit=1 name="test" type="checkbox"/>
|
|
51
|
+
</filter>
|
|
52
|
+
</template>
|
|
53
|
+
|
|
54
|
+
<script setup lang="ts">
|
|
55
|
+
import {ref} from 'vue'
|
|
56
|
+
import {ListItem, Schema} from "./forms.model";
|
|
57
|
+
|
|
58
|
+
const options: ListItem[] = [
|
|
59
|
+
{
|
|
60
|
+
value: 'is_video',
|
|
61
|
+
label: 'Video',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
value: 'is_photo',
|
|
65
|
+
label: 'Photo',
|
|
66
|
+
},
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
const schema = ref({
|
|
70
|
+
name: {type: 'radio', label: 'Наявність фото / відео', options}
|
|
71
|
+
} as Schema);
|
|
72
|
+
|
|
73
|
+
const selectedIcon = ref('')
|
|
74
|
+
const myIcons = ['home', 'user', 'settings', 'arrow-left', 'check'] // your SVG names
|
|
75
|
+
</script>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Contributions
|
|
81
|
+
We welcome contributions!
|
|
82
|
+
Feel free to open issues, suggest features, or submit pull requests.
|
package/dist/filter.js
CHANGED
|
@@ -275,7 +275,7 @@ const ye = /* @__PURE__ */ J(Je, [["render", et]]), tt = {
|
|
|
275
275
|
(...b) => e(a) && e(a)(...b)),
|
|
276
276
|
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"
|
|
277
277
|
}, [
|
|
278
|
-
l[5] || (l[5] = z(" Показати більше ")),
|
|
278
|
+
l[5] || (l[5] = z(" Показати більше ", -1)),
|
|
279
279
|
N(ie)
|
|
280
280
|
])) : V("", !0),
|
|
281
281
|
e(h) ? (f(), w("div", {
|
|
@@ -284,7 +284,7 @@ const ye = /* @__PURE__ */ J(Je, [["render", et]]), tt = {
|
|
|
284
284
|
(...b) => e(a) && e(a)(...b)),
|
|
285
285
|
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"
|
|
286
286
|
}, [
|
|
287
|
-
l[6] || (l[6] = z(" Показати менше ")),
|
|
287
|
+
l[6] || (l[6] = z(" Показати менше ", -1)),
|
|
288
288
|
N(ye)
|
|
289
289
|
])) : V("", !0)
|
|
290
290
|
], 64)) : V("", !0),
|
|
@@ -462,7 +462,7 @@ const rt = {
|
|
|
462
462
|
(...l) => e(p) && e(p)(...l)),
|
|
463
463
|
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"
|
|
464
464
|
}, [
|
|
465
|
-
C[5] || (C[5] = z(" Показати більше ")),
|
|
465
|
+
C[5] || (C[5] = z(" Показати більше ", -1)),
|
|
466
466
|
N(ie)
|
|
467
467
|
])) : V("", !0),
|
|
468
468
|
e(o) ? (f(), w("div", {
|
|
@@ -471,7 +471,7 @@ const rt = {
|
|
|
471
471
|
(...l) => e(p) && e(p)(...l)),
|
|
472
472
|
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"
|
|
473
473
|
}, [
|
|
474
|
-
C[6] || (C[6] = z(" Показати менше ")),
|
|
474
|
+
C[6] || (C[6] = z(" Показати менше ", -1)),
|
|
475
475
|
N(ye)
|
|
476
476
|
])) : V("", !0)
|
|
477
477
|
], 64)) : V("", !0),
|
|
@@ -1420,7 +1420,7 @@ const Pt = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relat
|
|
|
1420
1420
|
(...E) => e(o) && e(o)(...E)),
|
|
1421
1421
|
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"
|
|
1422
1422
|
}, [
|
|
1423
|
-
j[8] || (j[8] = z(" Показати більше ")),
|
|
1423
|
+
j[8] || (j[8] = z(" Показати більше ", -1)),
|
|
1424
1424
|
N(ie)
|
|
1425
1425
|
])) : V("", !0),
|
|
1426
1426
|
e(g) ? (f(), w("div", {
|
|
@@ -1429,7 +1429,7 @@ const Pt = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relat
|
|
|
1429
1429
|
(...E) => e(o) && e(o)(...E)),
|
|
1430
1430
|
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"
|
|
1431
1431
|
}, [
|
|
1432
|
-
j[9] || (j[9] = z(" Показати менше ")),
|
|
1432
|
+
j[9] || (j[9] = z(" Показати менше ", -1)),
|
|
1433
1433
|
N(ye)
|
|
1434
1434
|
])) : V("", !0)
|
|
1435
1435
|
], 64)) : V("", !0),
|
|
@@ -1683,7 +1683,7 @@ const Cl = /* @__PURE__ */ O({
|
|
|
1683
1683
|
onClick: g[0] || (g[0] = (k) => e(c)("range")),
|
|
1684
1684
|
class: "flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"
|
|
1685
1685
|
}, [
|
|
1686
|
-
g[12] || (g[12] = z(" Період ")),
|
|
1686
|
+
g[12] || (g[12] = z(" Період ", -1)),
|
|
1687
1687
|
e(d) === "range" ? (f(), S(te, { key: 0 })) : V("", !0)
|
|
1688
1688
|
])
|
|
1689
1689
|
]),
|
|
@@ -1696,7 +1696,7 @@ const Cl = /* @__PURE__ */ O({
|
|
|
1696
1696
|
onClick: g[1] || (g[1] = (k) => e(c)("today")),
|
|
1697
1697
|
class: "flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"
|
|
1698
1698
|
}, [
|
|
1699
|
-
g[13] || (g[13] = z(" Сьогодні ")),
|
|
1699
|
+
g[13] || (g[13] = z(" Сьогодні ", -1)),
|
|
1700
1700
|
e(d) === "today" ? (f(), S(te, { key: 0 })) : V("", !0)
|
|
1701
1701
|
])
|
|
1702
1702
|
]),
|
|
@@ -1706,7 +1706,7 @@ const Cl = /* @__PURE__ */ O({
|
|
|
1706
1706
|
onClick: g[2] || (g[2] = (k) => e(c)("week")),
|
|
1707
1707
|
class: "flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"
|
|
1708
1708
|
}, [
|
|
1709
|
-
g[14] || (g[14] = z(" Тиждень ")),
|
|
1709
|
+
g[14] || (g[14] = z(" Тиждень ", -1)),
|
|
1710
1710
|
e(d) === "week" ? (f(), S(te, { key: 0 })) : V("", !0)
|
|
1711
1711
|
])
|
|
1712
1712
|
]),
|
|
@@ -1716,7 +1716,7 @@ const Cl = /* @__PURE__ */ O({
|
|
|
1716
1716
|
onClick: g[3] || (g[3] = (k) => e(c)("month")),
|
|
1717
1717
|
class: "flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"
|
|
1718
1718
|
}, [
|
|
1719
|
-
g[15] || (g[15] = z(" Місяць ")),
|
|
1719
|
+
g[15] || (g[15] = z(" Місяць ", -1)),
|
|
1720
1720
|
e(d) === "month" ? (f(), S(te, { key: 0 })) : V("", !0)
|
|
1721
1721
|
])
|
|
1722
1722
|
]),
|
|
@@ -1726,7 +1726,7 @@ const Cl = /* @__PURE__ */ O({
|
|
|
1726
1726
|
onClick: g[4] || (g[4] = (k) => e(c)("quarter")),
|
|
1727
1727
|
class: "flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"
|
|
1728
1728
|
}, [
|
|
1729
|
-
g[16] || (g[16] = z(" Квартал ")),
|
|
1729
|
+
g[16] || (g[16] = z(" Квартал ", -1)),
|
|
1730
1730
|
e(d) === "quarter" ? (f(), S(te, { key: 0 })) : V("", !0)
|
|
1731
1731
|
])
|
|
1732
1732
|
]),
|
|
@@ -1736,7 +1736,7 @@ const Cl = /* @__PURE__ */ O({
|
|
|
1736
1736
|
onClick: g[5] || (g[5] = (k) => e(c)("year")),
|
|
1737
1737
|
class: "flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"
|
|
1738
1738
|
}, [
|
|
1739
|
-
g[17] || (g[17] = z(" Рік ")),
|
|
1739
|
+
g[17] || (g[17] = z(" Рік ", -1)),
|
|
1740
1740
|
e(d) === "year" ? (f(), S(te, { key: 0 })) : V("", !0)
|
|
1741
1741
|
])
|
|
1742
1742
|
]),
|
|
@@ -1746,7 +1746,7 @@ const Cl = /* @__PURE__ */ O({
|
|
|
1746
1746
|
onClick: g[6] || (g[6] = (k) => e(o)()),
|
|
1747
1747
|
class: "flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"
|
|
1748
1748
|
}, [
|
|
1749
|
-
g[18] || (g[18] = z(" Весь час ")),
|
|
1749
|
+
g[18] || (g[18] = z(" Весь час ", -1)),
|
|
1750
1750
|
e(m)[0] ? V("", !0) : (f(), S(te, { key: 0 }))
|
|
1751
1751
|
])
|
|
1752
1752
|
])
|
|
@@ -2397,7 +2397,7 @@ const Ol = /* @__PURE__ */ J(El, [["render", Tl]]), Ul = {
|
|
|
2397
2397
|
type: "button"
|
|
2398
2398
|
}, [
|
|
2399
2399
|
N(Ol),
|
|
2400
|
-
l[6] || (l[6] = z(" Фільтр ")),
|
|
2400
|
+
l[6] || (l[6] = z(" Фільтр ", -1)),
|
|
2401
2401
|
e(x) > 0 ? (f(), w("div", Ul, F(e(x)), 1)) : V("", !0)
|
|
2402
2402
|
], 2)
|
|
2403
2403
|
]),
|
package/dist/filter.umd.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(R,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(R=typeof globalThis<"u"?globalThis:R||self,e(R.FilterLib={},R.Vue))})(this,function(R,e){"use strict";const se={class:"flex items-center justify-between w-full text-sm"},ie={class:"flex items-center cursor-pointer w-full"},ce={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},de=["value"],fe={class:"w-[calc(100%-18px)] flex flex-row items-center justify-between pl-[10px]"},ue={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},me={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},U=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(i,{expose:r,emit:m}){const t=i,s=m;function a(){s("itemClick",t.value)}const c=e.ref(null);return r({el:c}),(u,d)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-lg group hover:bg-gray-100",ref_key:"el",ref:c},[e.createElementVNode("div",se,[e.createElementVNode("div",ie,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(u.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":u.highlighted}]),onClick:e.withModifiers(a,["stop","prevent"])},[e.createElementVNode("div",{class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[u.type=="checkbox"?"rounded-[4px]":"rounded-full",u.color?`bg-[${u.color}] border-[#ffffff]`:u.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[u.isSelected?(e.openBlock(),e.createElementBlock("img",ce)):e.createCommentVNode("",!0)],2),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:u.value},null,8,de),e.createElementVNode("div",fe,[e.createElementVNode("span",ue,e.toDisplayString(u.label??"Відсутні данні"),1),u.count?(e.openBlock(),e.createElementBlock("div",me," ("+e.toDisplayString(u.count)+") ",1)):e.createCommentVNode("",!0)])],2)])])],512))}});function G(i,r){const{options:m=[],limit:t=20}=i;function s(l){return Array.isArray(l)?l[0]:l}const a=e.ref(s(i.modelValue)),c=e.ref(""),u=e.ref(!1),d=e.ref([]),k=e.ref("id"),f=e.ref("text"),n=e.ref(!1),o=e.ref(i.layout!=="popover"&&m.length>t);function b(l){const y=l.find(Boolean)??{},C=["id","value","code","key"].find(S=>S in y)??"id",V=["text","label","name","title"].find(S=>S in y)??"text";return{autoValueKey:C,autoLabelKey:V}}if(m.length>0){const l=b(m);k.value=l.autoValueKey,f.value=l.autoLabelKey}const g=e.computed(()=>{const l=d.value;return i.layout==="popover"||n.value?l:l.slice(0,t)});e.watch(()=>i.modelValue,l=>{a.value=s(l)},{immediate:!0}),d.value=[...m].sort((l,y)=>i.sort==="count"?y.count&&l.count?y.count-l.count:0:i.sort==="name"?String(l[f.value]??"").localeCompare(String(y[f.value]??"")):0);function h(l){return a.value===l[k.value]}function p(l){a.value=l[k.value],r("update:modelValue",a.value),r("change",{name:i.name,value:a.value})}function w(){a.value=void 0,r("update:modelValue",a.value),r("clear",i.name)}function x(){n.value=!n.value}return{innerValue:a,searchTerm:c,filteredOptions:g,isSelected:h,selectItem:p,clear:w,toggleShowAll:x,isReqProc:u,showAll:n,isEnableShowAll:o,labelKey:f,valueKey:k,allOptions:d}}const M=(i,r)=>{const m=i.__vccOpts||i;for(const[t,s]of r)m[t]=s;return m},pe={},ge={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function ye(i,r){return e.openBlock(),e.createElementBlock("svg",ge,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 P=M(pe,[["render",ye]]),be={},ke={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate"};function he(i,r){return e.openBlock(),e.createElementBlock("svg",ke,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 j=M(be,[["render",he]]),xe={},we={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 Ve(i,r){return e.openBlock(),e.createElementBlock("svg",we,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 H=M(xe,[["render",Ve]]),Be={key:0,class:"w-full"},Ce={class:"flex flex-col items-center justify-center p-5 text-center"},Ee={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ne={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},_e=e.defineComponent({__name:"radio",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=e.ref(null),a=m,{innerValue:c,filteredOptions:u,isSelected:d,selectItem:k,clear:f,toggleShowAll:n,isReqProc:o,showAll:b,isEnableShowAll:g,labelKey:h,valueKey:p,allOptions:w}=G({...t,modelValue:t.modelValue??t.default??""},a);return r({clear:f,inputTextRef:s}),e.watch(()=>t.modelValue,x=>{x===void 0&&(c.value=void 0)}),(x,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([x.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([x.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",x.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),y=>(e.openBlock(),e.createBlock(U,{layout:x.layout,key:y[e.unref(p)],count:y.count,label:y[e.unref(h)],color:y.color,type:"radio",value:y[e.unref(p)],"is-selected":e.unref(d)(y),onItemClick:C=>e.unref(k)(y)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),x.type==="select"&&e.unref(u).length===0&&!e.unref(o)?(e.openBlock(),e.createElementBlock("div",Be,[e.createElementVNode("div",Ce,[e.createVNode(P),l[4]||(l[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),x.layout!=="popover"&&x.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(b)&&e.unref(g)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:l[0]||(l[0]=(...y)=>e.unref(n)&&e.unref(n)(...y)),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"},[l[5]||(l[5]=e.createTextVNode(" Показати більше ")),e.createVNode(j)])):e.createCommentVNode("",!0),e.unref(b)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:l[1]||(l[1]=(...y)=>e.unref(n)&&e.unref(n)(...y)),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"},[l[6]||(l[6]=e.createTextVNode(" Показати менше ")),e.createVNode(H)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),x.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[x.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ee,[e.createTextVNode(e.toDisplayString(e.unref(c)||e.unref(c)===null?1:0)+" з "+e.toDisplayString(e.unref(w).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:l[2]||(l[2]=(...y)=>e.unref(f)&&e.unref(f)(...y))}," Очистити ",512),[[e.vShow,e.unref(c)!==""&&e.unref(c)!==void 0]])])):e.createCommentVNode("",!0),x.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ne,[e.createElementVNode("span",null,e.toDisplayString(e.unref(c)||e.unref(c)===null?1:0)+" з "+e.toDisplayString(e.unref(w).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:l[3]||(l[3]=(...y)=>e.unref(f)&&e.unref(f)(...y))}," Очистити ",512),[[e.vShow,e.unref(c)!==""&&e.unref(c)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function X(i,r){const{options:m=[],limit:t=20}=i;function s(l){return Array.isArray(l)?l:l?[l]:[]}const a=e.ref(s(i.modelValue)),c=e.ref(""),u=e.ref(!1),d=e.ref([]),k=e.ref("id"),f=e.ref("text"),n=e.ref(!1),o=e.ref(i.layout!=="popover"&&m.length>t);function b(l){const y=l.find(Boolean)??{},C=["id","value","code","key"].find(S=>S in y)??"id",V=["text","label","name","title"].find(S=>S in y)??"text";return{autoValueKey:C,autoLabelKey:V}}if(m.length>0){const l=b(m);k.value=l.autoValueKey,f.value=l.autoLabelKey}const g=e.computed(()=>{const l=d.value;return i.layout==="popover"||n.value?l:l.slice(0,t)});e.watch(()=>i.modelValue,l=>{a.value=s(l)},{immediate:!0}),d.value=[...m].sort((l,y)=>i.sort==="count"?y.count&&l.count?y.count-l.count:0:i.sort==="name"?String(l[f.value]).localeCompare(String(y[f.value])):0);function h(l){return a.value&&a.value.includes(l[k.value])}function p(l){const y=a.value.includes(l[k.value]);a.value=y?a.value.filter(C=>C!==l[k.value]):[...a.value,l[k.value]],r("update:modelValue",a.value),r("change",{name:i.name,value:a.value})}function w(){a.value=[],r("update:modelValue",a.value),r("clear",i.name)}function x(){n.value=!n.value}return{innerValue:a,searchTerm:c,filteredOptions:g,isSelected:h,selectItem:p,clear:w,toggleShowAll:x,isReqProc:u,showAll:n,isEnableShowAll:o,labelKey:f,valueKey:k,allOptions:d}}const $e={key:0,class:"w-full"},De={class:"flex flex-col items-center justify-center p-5 text-center"},Se={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ae={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},J=e.defineComponent({__name:"checkbox",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=m,{innerValue:a,filteredOptions:c,isSelected:u,selectItem:d,clear:k,toggleShowAll:f,isReqProc:n,showAll:o,isEnableShowAll:b,labelKey:g,valueKey:h,allOptions:p}=X({...t,modelValue:t.modelValue},s);return e.watch(()=>t.modelValue,w=>{w===void 0&&(a.value=[])}),r({clear:k}),(w,x)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([w.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([w.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",w.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(c),l=>(e.openBlock(),e.createBlock(U,{layout:w.layout,count:l.count,label:l[e.unref(g)],color:l.color,type:"checkbox",value:l[e.unref(h)],"is-selected":e.unref(u)(l),onItemClick:y=>e.unref(d)(l)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),w.type==="select"&&e.unref(c).length===0&&!e.unref(n)?(e.openBlock(),e.createElementBlock("div",$e,[e.createElementVNode("div",De,[e.createVNode(P),x[4]||(x[4]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),w.layout!=="popover"&&w.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(o)&&e.unref(b)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:x[0]||(x[0]=(...l)=>e.unref(f)&&e.unref(f)(...l)),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"},[x[5]||(x[5]=e.createTextVNode(" Показати більше ")),e.createVNode(j)])):e.createCommentVNode("",!0),e.unref(o)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:x[1]||(x[1]=(...l)=>e.unref(f)&&e.unref(f)(...l)),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"},[x[6]||(x[6]=e.createTextVNode(" Показати менше ")),e.createVNode(H)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),w.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[w.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Se,[e.createTextVNode(e.toDisplayString(e.unref(a).length)+" з "+e.toDisplayString(e.unref(p).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[2]||(x[2]=(...l)=>e.unref(k)&&e.unref(k)(...l))}," Очистити ",512),[[e.vShow,e.unref(a).length!==0]])])):e.createCommentVNode("",!0),w.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ae,[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).length)+" з "+e.toDisplayString(e.unref(p).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[3]||(x[3]=(...l)=>e.unref(k)&&e.unref(k)(...l))}," Очистити ",512),[[e.vShow,e.unref(a).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Fe={},Me={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"15px",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-search stroke-gray-500 transition-all"};function Re(i,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:"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 Z=M(Fe,[["render",Re]]),Te={},Ke={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-x stroke-gray-500 hover:stroke-red-500 transition-all",width:"15px",height:"15px"};function Le(i,r){return e.openBlock(),e.createElementBlock("svg",Ke,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 v=M(Te,[["render",Le]]);class Y{static getWidthClass(r){return typeof r=="number"?`max-w-[${r}px]`:typeof r=="string"?r.endsWith("%")||r.endsWith("px")?`max-w-[${r}]`:`max-w-${r}`:"w-full"}}const je={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},ze=["placeholder"],Ie=e.defineComponent({__name:"text-input",props:{id:{},name:{},type:{},label:{},width:{default:220},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{emit:r}){const m=i,t=e.ref((m.placeHolder||m.label||m.name).toString()),s=r,a=e.ref(m.modelValue??"");e.watch(()=>m.modelValue,d=>{d!==a.value&&(a.value=d??"")});function c(){s("update:modelValue",a.value),s("change",{name:m.name,value:a.value})}function u(){a.value="",s("update:modelValue",""),s("clear",m.name)}return(d,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white rounded-lg [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:rounded-lg [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",d.layout==="inline"?e.unref(Y).getWidthClass(d.width):"w-full mb-2"])},[e.createElementVNode("div",je,[e.createVNode(Z)]),a.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:u,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(v)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":k[0]||(k[0]=f=>a.value=f),onInput:c,placeholder:t.value,class:"!pr-7 !pl-8 bg-white h-[38px] text-sm py-2 px-3 block w-full border border-solid placeholder:text-nowrap border-stone-200 rounded-lg text-sm text-stone-800 placeholder:text-stone-400 focus:border-2 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500"},null,40,ze),[[e.vModelText,a.value]])],2))}});function ee(i={color:"blue"}){return e.computed(()=>{const m=`w-full px-3 py-2 border-solid border border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${i.color}-500 focus:border-transparent`;return i?.size==="sm"?`${m}h-[32px]`:`${m}h-[38px]`})}function Oe(){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 Ue(){return"font-medium border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 border h-7 rounded-md text-xs px-2 py-1 hover:bg-gray-100"}function te(i){return i==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent text-gray-600 hover:bg-blue-100 hover:text-gray-800 focus:outline-hidden focus:bg-gray-100 focus:text-gray-800 disabled:opacity-50 disabled:pointer-events-none dark:text-gray-500 dark:hover:bg-blue-800/30 dark:hover:text-blue-400 dark:focus:bg-blue-800/30 dark:focus:text-blue-400":i==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-gray-100 text-gray-800 hover:bg-gray-200 hover:bg-gray-200 focus:outline-hidden focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:text-blue-400 dark:hover:bg-blue-900 dark:focus:bg-blue-900":"relative border-solid border-gray-200 focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-2 bg-transparent h-[38px]"}const Pe={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},He=["placeholder","disabled"],Ye={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},We={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},qe=["placeholder","disabled"],Qe=["disabled"],_l={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},$l={key:1,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},Ge=e.defineComponent({__name:"range-input",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=ee(),s=Oe(),a=i,c=e.ref(a.modelValue??a.default??[]),u=m,d=e.computed({get:()=>a.modelValue??c.value,set:n=>{a.modelValue!==void 0?u("update:modelValue",n):c.value=n}});function k(){u("change",{name:a.name,value:d.value||c.value})}function f(){c.value=[],d.value=c.value,u("clear",a.name)}return e.watch(()=>a.modelValue,n=>{n!==void 0&&a.layout!=="popover"?(c.value=n,u("update:modelValue",n)):c.value=[]}),r({clear:f,currentValue:d}),(n,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(n.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[n.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",Pe,"Від")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:n.placeHolder?.[0]??"min",step:"1",style:{outline:"none"},"onUpdate:modelValue":o[0]||(o[0]=b=>d.value[0]=b),disabled:n.disabled},null,10,He),[[e.vModelText,d.value[0]]])]),n.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",Ye," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[n.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",We,"До")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:n.placeHolder?.[1]??"max",min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":o[1]||(o[1]=b=>d.value[1]=b),disabled:n.disabled},null,10,qe),[[e.vModelText,d.value[1]]])]),["popover","inline","vertical"].includes(n.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:k,class:e.normalizeClass(e.unref(s)+(n.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(n.layout==="vertical"?"Ok":"Застосувати"),3)):e.createCommentVNode("",!0),["popover","inline"].includes(n.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(d.value[0]||d.value[1]),onClick:f,class:e.normalizeClass(e.unref(s)+" hover:bg-gray-100")},"Очистити",10,Qe)):e.createCommentVNode("",!0)],2)]),(n.cleanable&&c.value.length,e.createCommentVNode("",!0))],64))}}),Xe=["disabled","title"],Je={key:0,class:"absolute top-0 end-0 inline-flex min-h-[10px] min-w-[10px] z-10 items-center py-0.5 rounded-full text-xs font-medium transform -translate-y-1/2 translate-x-1/2 bg-blue-600 text-white px-1"},Ze={class:"w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-lg focus:outline-none focus:bg-stone-100 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full"},ve={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"},W=e.defineComponent({__name:"popover-field",props:{disabled:{type:Boolean,default:!1},label:{},currentValue:{},fieldRef:{},width:{},mode:{},layout:{}},setup(i,{expose:r}){const m=i,t=e.computed(()=>te(m.mode)),s=e.ref(!1),a=e.ref({top:0,left:0}),c=e.ref(null),u=e.ref(null),d=e.ref(null);function k(){const p=u.value,w=d.value;if(!p||!w)return;const x=p.getBoundingClientRect(),l=w.offsetWidth,y=window.innerWidth,C=x.bottom+8;let{left:V}=x;V+l>y&&(V=Math.max(y-l-10,10)),a.value={top:C,left:V}}function f(){s.value=!s.value,s.value&&e.nextTick(()=>{k(),m.fieldRef?.inputTextRef&&m.fieldRef?.inputTextRef.focus()})}function n(p){!c.value?.contains(p.target)&&!d.value?.contains(p.target)&&(s.value=!1)}function o(p){p.key==="Escape"&&(s.value=!1)}const b=e.ref(!1);e.onMounted(()=>{b.value=!0}),e.onMounted(()=>{document.addEventListener("click",n,!0),document.addEventListener("keydown",o),window.addEventListener("scroll",k,!0)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",n,!0),document.removeEventListener("keydown",o),window.removeEventListener("scroll",k,!0)});function g(){s.value=!1}r({close:g});const h=e.computed(()=>{const p=m.fieldRef?.selectedLabels;return p?Array.isArray(p)?p.length>0?p.join(", "):m.label??"":String(p):m.label??""});return(p,w)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:f,disabled:p.disabled,ref_key:"triggerRef",ref:u,title:p.label,class:e.normalizeClass(t.value+" "+(p.width?e.unref(Y).getWidthClass(p.width):"w-full"))},[e.createElementVNode("span",{class:e.normalizeClass(["truncate text-ellipsis block",p.width?e.unref(Y).getWidthClass(p.width-50):"w-full"])},e.toDisplayString(h.value),3),e.createVNode(j,{class:"h-4 w-4"}),(Array.isArray(p.currentValue)?p.currentValue===null||p.currentValue.length>0:p.currentValue===null||p.currentValue)&&p.layout==="inline"?(e.openBlock(),e.createElementBlock("span",Je)):e.createCommentVNode("",!0)],10,Xe),b.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:d,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${a.value.top}px`,left:`${a.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",Ze,[e.createElementVNode("div",ve,[e.renderSlot(p.$slots,"default")])])],4),[[e.vShow,s.value]])])):e.createCommentVNode("",!0)]))}});function et(i){return String(i).charAt(0).toUpperCase()+String(i).slice(1)}class D{static format(r){const m=r.getFullYear(),t=(r.getMonth()+1).toString().padStart(2,"0"),s=r.getDate().toString().padStart(2,"0");return`${m}-${t}-${s}`}static getShiftedDay(r,m=0){const t=r?new Date(r):new Date;return t.setDate(t.getDate()+m),this.format(t)}static getLastWeekRange(r,m,t=0){if(r&&m){const k=new Date(r),f=new Date(m);return k.setDate(k.getDate()+t*7),f.setDate(f.getDate()+t*7),[this.format(k),this.format(f)]}const s=new Date,a=s.getDay(),c=a===0?13:a-1+7,u=new Date(s);u.setDate(s.getDate()-c+t*7);const d=new Date(u);return d.setDate(u.getDate()+6),[this.format(u),this.format(d)]}static getMonthRange(r,m,t=0){let s;r?s=new Date(r):s=new Date,s=new Date(s.getFullYear(),s.getMonth()+t,1);const a=s,c=new Date(s.getFullYear(),s.getMonth()+1,0);return[this.format(a),this.format(c)]}static getQuarterRange(r,m,t=0){const s=r||m,a=s?new Date(s):new Date;let c=Math.floor(a.getMonth()/3);c+=t;const u=(c%4+4)%4*3,d=a.getFullYear()+Math.floor(c/4),k=new Date(d,u,1),f=new Date(d,u+3,0);return[this.format(k),this.format(f)]}static getYear(r,m=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+m)}static getYearRange(r,m=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+m,0,1)),this.format(new Date(t+m+1,0,0))]}static getRangeFromDaysBefore(r){const m=new Date,t=new Date(m.getTime());return t.setDate(m.getDate()-r),[this.format(t),this.format(m)]}}function le(i,r){const{popoverRef:m}=i,t=e.ref(""),s=e.ref(i.modelValue??i.default??[]),a=e.ref(0);function c(){const h=D.getRangeFromDaysBefore(a.value);return s.value=[...h],r("change",{name:i.name,value:s.value}),r("update:modelValue",s.value),h}function u(h){t.value=h,m.value?.close();const p=[];switch(t.value){case"today":p.push(D.getShiftedDay()),p.push(D.getShiftedDay());break;case"week":p.push(...D.getLastWeekRange());break;case"month":p.push(...D.getMonthRange());break;case"quarter":p.push(...D.getQuarterRange());break;case"year":p.push(...D.getYearRange());break;case"last_7_days":a.value=7,c();break;case"range":a.value=7,p.push(...c());break}s.value=[...p],r("change",{name:i.name,value:s.value}),r("update:modelValue",s.value)}function d(){const h=[];switch(t.value){case"today":h.push(D.getShiftedDay(s.value[0],1));break;case"week":h.push(...D.getLastWeekRange(s.value[0],s.value[1],1));break;case"month":h.push(...D.getMonthRange(s.value[0],s.value[1],1));break;case"quarter":h.push(...D.getQuarterRange(s.value[0],s.value[1],1));break;case"year":h.push(...D.getYearRange(s.value[0],1));break}s.value=[...h],r("change",{name:i.name,value:s.value}),r("update:modelValue",s.value)}function k(){const h=[];switch(t.value){case"today":h.push(D.getShiftedDay(s.value[0],-1));break;case"week":h.push(...D.getLastWeekRange(s.value[0],s.value[1],-1));break;case"month":h.push(...D.getMonthRange(s.value[0],s.value[1],-1));break;case"quarter":h.push(...D.getQuarterRange(s.value[0],s.value[1],-1));break;case"year":h.push(...D.getYearRange(s.value[0],-1));break}s.value=[...h],r("change",{name:i.name,value:s.value}),r("update:modelValue",s.value)}const f=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function n(h){const[p,w,x]=h.split("-");return`${x}.${w}.${p}`}function o(h){const{value:p}=s;switch(h){case"today":return n(p[0]);case"range":return"Період";case"week":return p[0]&&p[1]?`${n(p[0])} – ${n(p[1])}`:"";case"quarter":if(p[0]){const w=new Date(p[0]),x=w.getFullYear(),l=w.getMonth();return`${Math.floor(l/3)+1} квартал ${x}`}return"";case"month":if(p[0]){const[w,x]=p[0].split("-");return`${f[parseInt(x,10)-1]} ${w}`}return"";case"year":return p[0]||"";case"last_7_days":return"За останні дні";default:return i.label??""}}const b=e.computed(()=>t.value?o(t.value):i.label??"");function g(){t.value="",s.value=[],r("update:modelValue",[]),r("clear",i.name)}return{activeMode:t,innerValue:s,daysBefore:a,onDaysBeforeChange:c,onSelectChange:u,nextClick:d,prevClick:k,ukMonths:f,formatDisplayDate:n,getModeLabel:o,currentLabel:b,clear:g}}const tt={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},lt={key:0,class:"flex gap-1 !w-[75%] rounded-lg"},ot=["max","disabled"],nt=["min","disabled"],rt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},at=["max","disabled"],st={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},it={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ct=["min","disabled"],dt={class:"flex gap-1 pt-2"},ft=["onClick"],Dl={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},ut=e.defineComponent({__name:"date-input",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=ee(),a=Ue(),c=m,u=e.ref(null),{activeMode:d,innerValue:k,onSelectChange:f,nextClick:n,prevClick:o,clear:b}=le({...t,popoverRef:u},c);return e.watch(()=>t.modelValue,g=>{g!==void 0?(k.value=g,c("update:modelValue",g)):(d.value="",k.value=[])}),r({clear:b,popoverRef:u}),(g,h)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[g.layout==="inline"?(e.openBlock(),e.createElementBlock("div",tt,[e.unref(d)!==""&&e.unref(d)==="range"?(e.openBlock(),e.createElementBlock("div",lt,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(k)[1],locale:"uk-UA","onUpdate:modelValue":h[0]||(h[0]=p=>e.unref(k)[0]=p),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:g.disabled},null,8,ot),[[e.vModelText,e.unref(k)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(k)[0],locale:"uk-UA","onUpdate:modelValue":h[1]||(h[1]=p=>e.unref(k)[1]=p),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:g.disabled},null,8,nt),[[e.vModelText,e.unref(k)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(g.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(g.layout!=="popover"?"w-[48%]":"")},[g.layout==="popover"?(e.openBlock(),e.createElementBlock("label",rt,"Від")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(k)[1],locale:"uk-UA","onUpdate:modelValue":h[2]||(h[2]=p=>e.unref(k)[0]=p),class:e.normalizeClass(e.unref(s)),disabled:g.disabled},null,10,at),[[e.vModelText,e.unref(k)[0]]])],2),g.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",st," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(g.layout!=="popover"?"w-[48%]":"")},[g.layout==="popover"?(e.openBlock(),e.createElementBlock("label",it,"До")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(k)[0],locale:"uk-UA","onUpdate:modelValue":h[3]||(h[3]=p=>e.unref(k)[1]=p),class:e.normalizeClass(e.unref(s)),disabled:g.disabled},null,10,ct),[[e.vModelText,e.unref(k)[1]]])],2)],2),e.createElementVNode("div",dt,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["today","week","month","quarter","year"],p=>e.createElementVNode("button",{key:p,class:e.normalizeClass(e.unref(a)+(e.unref(d)===p?" bg-blue-100":"")),onClick:w=>e.unref(f)(p)},e.toDisplayString(e.unref(et)(p)),11,ft)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a)),onClick:h[4]||(h[4]=(...p)=>e.unref(o)&&e.unref(o)(...p))}," <",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a)),onClick:h[5]||(h[5]=(...p)=>e.unref(n)&&e.unref(n)(...p))}," >",2)]),(g.cleanable,e.createCommentVNode("",!0))],64))}});function mt(i,r){const{api:m,options:t=[],limit:s=20,dataKey:a="data"}=i,c=i.multi;function u(B){return c?Array.isArray(B)?B:B?[B]:[]:Array.isArray(B)?B[0]:B}const d=e.ref(u(i.modelValue)),k=e.ref(""),f=e.ref(!1),n=e.ref([]),o=e.ref("id"),b=e.ref("text"),g=e.ref(!1),h=e.ref(i.layout!=="popover"&&t.length>s),p=e.ref([]),w=e.ref(0);function x(B){const $=B.find(Boolean)??{},A=["id","value","code","key"].find(L=>L in $)??"id",O=["text","label","name","title"].find(L=>L in $)??"text";return{autoValueKey:A,autoLabelKey:O}}if(t.length>0){const B=x(t);o.value=B.autoValueKey,b.value=B.autoLabelKey}const l=e.computed(()=>{if(m)return n.value;const B=n.value;if(i.layout==="popover")return B;if(!k.value)return g.value?B:B.slice(0,s);const $=k.value.toLowerCase();return B.filter(A=>A[b.value].toLowerCase().includes($))});let y=null;async function C(B){if(m){f.value=!0;try{const $=new URL(m,window.location.origin);$.searchParams.set("json","1"),$.searchParams.set("key",B),$.searchParams.set("limit",s.toString());const A=await fetch($.toString());if(!A.ok)throw new Error(`HTTP error! status: ${A.status}`);const O=await A.json();if(n.value=O[a],n.value.length>0){const L=x(n.value);o.value=L.autoValueKey,b.value=L.autoLabelKey}w.value=O.total}catch($){console.error("Failed to fetch remote options:",$)}finally{f.value=!1}}}e.watch(k,B=>{m&&(y&&clearTimeout(y),y=setTimeout(()=>{C(B)},200))}),e.watch(()=>i.modelValue,B=>{d.value=u(B)},{immediate:!0}),m?C(""):n.value=t;function V(B){return c&&Array.isArray(d.value)?d.value.includes(B[o.value]):d.value&&d.value===B[o.value]}function S(B){if(c&&!Array.isArray(d.value)&&(d.value=[]),c&&Array.isArray(d.value)){const $=d.value.includes(B[o.value]);d.value=$?d.value.filter(A=>A!==B[o.value]):[...d.value,B[o.value]],p.value=$?p.value.filter(A=>A!==B[b.value]):[...p.value,B[b.value]]}else d.value=B[o.value],p.value=B[b.value];r("update:modelValue",d.value),r("change",{name:i.name,value:d.value})}function N(){c?(d.value=[],p.value=[]):(d.value=void 0,p.value=[]),r("update:modelValue",d.value),r("clear",i.name)}function E(){y&&clearTimeout(y),k.value="",g.value=!1}function _(){g.value=!g.value}e.onBeforeUnmount(()=>{y&&clearTimeout(y)});const F=e.ref(-1);e.watch(l,()=>{F.value=l.value.length>0?0:-1});function I(B){const $=l.value.length;if(B.key==="ArrowDown")B.preventDefault(),F.value=(F.value+1)%$;else if(B.key==="ArrowUp")B.preventDefault(),F.value=(F.value-1+$)%$;else if(B.key==="Enter"&&(B.preventDefault(),F.value>=0&&F.value<l.value.length)){const A=l.value[F.value];S(A)}}return{innerValue:d,searchTerm:k,filteredOptions:l,isSelected:V,selectItem:S,clear:N,resetSearch:E,toggleShowAll:_,isReqProc:f,showAll:g,isEnableShowAll:h,labelKey:b,valueKey:o,allOptions:n,highlightedIndex:F,onKeyDown:I,selectedLabels:p,totalCount:w}}const pt={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},gt={key:0,class:"w-full"},yt={class:"flex flex-col items-center justify-center p-5 text-center"},bt={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"},ht=e.defineComponent({__name:"select",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=m,a=e.ref(null),{innerValue:c,filteredOptions:u,isSelected:d,selectItem:k,clear:f,resetSearch:n,toggleShowAll:o,isReqProc:b,showAll:g,isEnableShowAll:h,searchTerm:p,labelKey:w,valueKey:x,highlightedIndex:l,onKeyDown:y,selectedLabels:C,totalCount:V}=mt({...t,modelValue:t.modelValue},s);e.onMounted(()=>{n()}),e.watch(()=>t.modelValue,N=>{N===void 0&&(t.multi?c.value=[]:c.value=void 0)});const S=e.ref([]);return e.watch(l,N=>{N>=0&&S.value[N]&&S.value[N]?.scrollIntoView({block:"nearest",behavior:"smooth"})}),e.watch(u,()=>{S.value=[]}),r({clear:f,inputTextRef:a,selectedLabels:C}),(N,E)=>(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",pt,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E[0]||(E[0]=_=>e.isRef(p)?p.value=_:null),onKeydown:E[1]||(E[1]=(..._)=>e.unref(y)&&e.unref(y)(..._)),class:"w-full h-full text-[13px] px-4 border rounded-sm pl-9 focus:outline-none focus:ring-ring focus:ring-1 focus:ring-blue-500",placeholder:"Пошук",type:"text",ref_key:"inputTextRef",ref:a},null,544),[[e.vModelText,e.unref(p)]]),e.createVNode(Z,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.createVNode(v,{onClick:E[2]||(E[2]=_=>p.value=""),class:"absolute text-gray-400 -translate-y-1/2 cursor-pointer hover:text-red-500 right-4 top-1/2"})]),e.createElementVNode("div",{class:e.normalizeClass([N.layout==="popover"?"flex-1 overflow-y-auto max-h-64 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(u),(_,F)=>(e.openBlock(),e.createBlock(U,{layout:N.layout,count:_.count,label:_[e.unref(w)],color:_.color,type:N.multi?"checkbox":"radio",value:_[e.unref(x)],"is-selected":e.unref(d)(_),highlighted:F===e.unref(l),onItemClick:I=>e.unref(k)(_),ref_for:!0,ref:I=>S.value[F]=I?.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),N.type==="select"&&e.unref(u).length===0&&!e.unref(b)?(e.openBlock(),e.createElementBlock("div",gt,[e.createElementVNode("div",yt,[e.createVNode(P),E[7]||(E[7]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),N.layout!=="popover"&&N.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(g)&&e.unref(h)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:E[3]||(E[3]=(..._)=>e.unref(o)&&e.unref(o)(..._)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[E[8]||(E[8]=e.createTextVNode(" Показати більше ")),e.createVNode(j)])):e.createCommentVNode("",!0),e.unref(g)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:E[4]||(E[4]=(..._)=>e.unref(o)&&e.unref(o)(..._)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[E[9]||(E[9]=e.createTextVNode(" Показати менше ")),e.createVNode(H)])):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",bt,[e.createTextVNode(e.toDisplayString(N.multi&&Array.isArray(e.unref(c))?e.unref(c)?.length:e.unref(c)!==void 0&&(e.unref(c)||e.unref(c)===null)?1:0)+" з "+e.toDisplayString(e.unref(V))+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:E[5]||(E[5]=(..._)=>e.unref(f)&&e.unref(f)(..._))}," Очистити ",512),[[e.vShow,e.unref(c)!==""&&e.unref(c)!==void 0||e.unref(c)]])])):e.createCommentVNode("",!0),N.layout==="popover"?(e.openBlock(),e.createElementBlock("div",kt,[e.createElementVNode("span",null,e.toDisplayString(N.multi&&Array.isArray(e.unref(c))?e.unref(c)?.length:e.unref(c)!==void 0&&(e.unref(c)||e.unref(c)===null)?1:0)+" з "+e.toDisplayString(e.unref(V))+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:E[6]||(E[6]=(..._)=>e.unref(f)&&e.unref(f)(..._))}," Очистити ",512),[[e.vShow,e.unref(c)!==""&&e.unref(c)!==void 0||e.unref(c)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),xt=["for","onClick"],wt=["id","name","value"],Vt={class:"block"},Bt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ct={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Et=e.defineComponent({__name:"tag-field",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=m,{innerValue:a,isSelected:c,selectItem:u,clear:d,labelKey:k,valueKey:f,allOptions:n}=t.multi?X({...t,modelValue:t.modelValue??t.default??[]},s):G({...t,modelValue:t.modelValue!==void 0?t.modelValue:t.default??""},s);return r({clear:d}),e.watch(()=>t.modelValue,o=>{o===void 0&&(t.multi?a.value=[]:a.value=void 0)}),(o,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",o.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n),g=>(e.openBlock(),e.createElementBlock("label",{key:`item-${g[e.unref(f)]}`,for:`item-${g[e.unref(f)]}`,onClick:e.withModifiers(h=>e.unref(u)(g),["stop","prevent"]),class:e.normalizeClass([e.unref(c)(g)?"ring-2 ring-indigo-600":"","p-2.5 group relative flex justify-center items-center gap-x-12 text-center text-xs bg-white text-gray-800 border border-gray-200 cursor-pointer rounded-lg dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-200 peer-checked:text-indigo-600 dark:has-checked:text-indigo-500 peer-checked:border-indigo-600 dark:has-checked:border-indigo-500 peer-checked:ring peer-checked:shadow focus:ring dark:has-checked:ring-indigo-500 has-disabled:pointer-events-none has-disabled:text-gray-200 dark:has-disabled:text-neutral-700 has-disabled:after:absolute has-disabled:after:inset-0 has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-gray-200)_calc(50%-1px),var(--color-gray-200)_50%,transparent_50%)] dark:has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-neutral-700)_calc(50%-1px),var(--color-neutral-700)_50%,transparent_50%)]"])},[e.createElementVNode("input",{type:"checkbox",id:`item-${g[e.unref(f)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${g[e.unref(f)]}`,value:g[e.unref(f)]},null,8,wt),e.createElementVNode("span",Vt,e.toDisplayString(g[e.unref(k)]),1)],10,xt))),128))],2),o.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Bt,[e.createTextVNode(e.toDisplayString(o.multi&&Array.isArray(e.unref(a))?e.unref(a)?.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" з "+e.toDisplayString(e.unref(n).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:b[0]||(b[0]=(...g)=>e.unref(d)&&e.unref(d)(...g))}," Очистити ",512),[[e.vShow,e.unref(a)!==""&&e.unref(a)!==void 0||e.unref(a)]])])):e.createCommentVNode("",!0),o.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ct,[e.createElementVNode("span",null,e.toDisplayString(o.multi&&Array.isArray(e.unref(a))?e.unref(a)?.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" з "+e.toDisplayString(e.unref(n).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:b[1]||(b[1]=(...g)=>e.unref(d)&&e.unref(d)(...g))}," Очистити ",512),[[e.vShow,e.unref(a)!==void 0&&e.unref(a)!==""||e.unref(a)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))}}),Nt={},_t={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"text-blue-600 w-[16px] h-[16px]"};function $t(i,r){return e.openBlock(),e.createElementBlock("svg",_t,r[0]||(r[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)]))}const T=M(Nt,[["render",$t]]),Dt={},St={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 At(i,r){return e.openBlock(),e.createElementBlock("svg",St,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 Ft=M(Dt,[["render",At]]),Mt={},Rt={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 Tt(i,r){return e.openBlock(),e.createElementBlock("svg",Rt,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 Kt=M(Mt,[["render",Tt]]),Lt={class:"flex"},jt={class:"mb-1"},zt={class:"mb-1"},It={class:"inline-flex rounded-lg shrink-0 pl-1"},Ot={class:"inline-flex rounded-lg shrink-0 pl-1"},Ut={key:1,class:"flex gap-1 !w-[75%] rounded-lg"},Pt=["max","disabled"],Ht=["min","disabled"],Sl={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},oe={radio:_e,checkbox:J,check:J,text:Ie,range:Ge,date:ut,select:ht,tag:Et,"date:inline":e.defineComponent({__name:"date-input-inline",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=m,a=e.ref(null),{activeMode:c,innerValue:u,onSelectChange:d,nextClick:k,prevClick:f,currentLabel:n,clear:o}=le({...t,popoverRef:a},s);return e.watch(()=>t.modelValue,b=>{b!==void 0?(u.value=b,s("update:modelValue",b)):(c.value="",u.value=[])}),r({clear:o,popoverRef:a}),(b,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Lt,[e.createVNode(W,{ref_key:"popoverRef",ref:a,label:e.unref(n),"current-value":e.unref(u),mode:b.mode,onClear:e.unref(o),layout:b.layout},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:g[0]||(g[0]=h=>e.unref(d)("range")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[g[12]||(g[12]=e.createTextVNode(" Період ")),e.unref(c)==="range"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),g[19]||(g[19]=e.createElementVNode("div",null,[e.createElementVNode("div",{class:"pt-1 mt-1 border-t"})],-1)),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:g[1]||(g[1]=h=>e.unref(d)("today")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[g[13]||(g[13]=e.createTextVNode(" Сьогодні ")),e.unref(c)==="today"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:g[2]||(g[2]=h=>e.unref(d)("week")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[g[14]||(g[14]=e.createTextVNode(" Тиждень ")),e.unref(c)==="week"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:g[3]||(g[3]=h=>e.unref(d)("month")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[g[15]||(g[15]=e.createTextVNode(" Місяць ")),e.unref(c)==="month"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:g[4]||(g[4]=h=>e.unref(d)("quarter")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[g[16]||(g[16]=e.createTextVNode(" Квартал ")),e.unref(c)==="quarter"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",jt,[e.createElementVNode("button",{type:"button",onClick:g[5]||(g[5]=h=>e.unref(d)("year")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[g[17]||(g[17]=e.createTextVNode(" Рік ")),e.unref(c)==="year"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",zt,[e.createElementVNode("button",{type:"button",onClick:g[6]||(g[6]=h=>e.unref(o)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[g[18]||(g[18]=e.createTextVNode(" Весь час ")),e.unref(u)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T,{key:0}))])])]),_:1,__:[19]},8,["label","current-value","mode","onClear","layout"]),e.unref(c)!==""&&e.unref(c)!=="range"&&e.unref(c)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",It,[e.createElementVNode("button",{type:"button",title:"Попередній період",class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 bg-gray-100 gap-x-2 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:g[7]||(g[7]=(...h)=>e.unref(f)&&e.unref(f)(...h))},[e.createVNode(Ft)])]),e.createElementVNode("div",Ot,[e.createElementVNode("button",{type:"button",title:"Наступний період",class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 gap-x-2 bg-gray-100 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:g[8]||(g[8]=(...h)=>e.unref(k)&&e.unref(k)(...h))},[e.createVNode(Kt)])])],64)):e.createCommentVNode("",!0),e.unref(c)!==""&&e.unref(c)==="range"?(e.openBlock(),e.createElementBlock("div",Ut,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(u)[1],locale:"uk-UA","onUpdate:modelValue":g[9]||(g[9]=h=>e.unref(u)[0]=h),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:b.disabled},null,8,Pt),[[e.vModelText,e.unref(u)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(u)[0],locale:"uk-UA","onUpdate:modelValue":g[10]||(g[10]=h=>e.unref(u)[1]=h),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:b.disabled},null,8,Ht),[[e.vModelText,e.unref(u)[1]]])])):e.createCommentVNode("",!0)]),(b.cleanable,e.createCommentVNode("",!0))],64))}})};function q(i,r){let m;switch(i.toLowerCase()){case"autocomplete":m="select";break;case"check":m="checkbox";break;default:m=i?.toString().toLowerCase()}return m==="date"&&r&&r==="inline"&&(m="date:inline"),{component:oe[m]||oe.text,type:m}}const Yt={},Wt={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-reload absolute inline mr-1 text-gray-800 transition-all cursor-pointer active:rotate-90 right-1 top-1 hover:text-blue-500"};function qt(i,r){return e.openBlock(),e.createElementBlock("svg",Wt,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 Qt=M(Yt,[["render",qt]]),Gt={style:{display:"inline-flex",margin:"0px",width:"100%"}},Xt={class:"relative w-full mb-2 p-4 bg-white rounded-lg shadow-sm"},Jt={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},Zt={class:"flex items-center"},vt={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},el={class:"filter-layout__body"},tl=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=m,a=e.ref(),c=q(t.type,t.layout),u=e.computed({get:()=>t.modelValue,set:n=>s("update:modelValue",n)});function d(n){s("clear",n)}function k(n,o){s("change",{name:n,value:o}),t.modelValue!==void 0&&s("update:modelValue",o)}function f(){a.value&&a.value.clear(),s("clear",t.name)}return e.watch(()=>t.default,n=>{u.value=n}),e.watch(()=>t.modelValue,n=>{u.value=n}),r({filterRef:a}),(n,o)=>(e.openBlock(),e.createElementBlock("div",Gt,[e.createElementVNode("div",Xt,[e.createElementVNode("div",Jt,[e.createElementVNode("div",Zt,[e.createElementVNode("span",vt,e.toDisplayString(n.label),1)]),typeof u.value=="string"&&u.value.trim()!==""||Array.isArray(u.value)&&u.value.length>0&&u.value.some(b=>b!==void 0)||u.value===null?(e.openBlock(),e.createBlock(Qt,{key:0,onClick:f})):e.createCommentVNode("",!0)]),e.createElementVNode("div",el,[e.unref(c)?.type!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c)?.component),e.mergeProps({key:0},t,{type:e.unref(c)?.type,onChange:o[0]||(o[0]=b=>k(b.name,b.value)),onClear:o[1]||(o[1]=b=>d(b)),ref_key:"filterRef",ref:a}),null,16,["type"])):(e.openBlock(),e.createBlock(W,{key:1,"current-value":u.value,label:n.label,mode:n.mode,onClear:f,fieldRef:a.value,width:void 0,disabled:n.disabled,layout:"vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c)?.component),e.mergeProps({ref_key:"filterRef",ref:a},t,{type:e.unref(c)?.type,onChange:o[2]||(o[2]=b=>k(b.name,b.value)),onClear:o[3]||(o[3]=b=>d(b))}),null,16,["type"]))]),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])]))}}),ne=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=m,a=e.ref(),c=q(t.type,t.layout),u=e.computed({get:()=>t.modelValue,set:n=>s("update:modelValue",n)});function d(n){s("clear",n)}function k(n,o){s("change",{name:n,value:o}),t.modelValue!==void 0&&s("update:modelValue",o)}function f(){a.value&&a.value.clear(),s("clear",t.name)}return e.watch(()=>t.default,n=>{u.value=n}),e.watch(()=>t.modelValue,n=>{u.value=n}),r({filterRef:a}),(n,o)=>["text","date"].includes(n.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c)?.component),e.mergeProps({key:0},t,{type:e.unref(c)?.type,onChange:o[0]||(o[0]=b=>k(b.name,b.value)),onClear:o[1]||(o[1]=b=>d(b)),disabled:n.disabled,modelValue:u.value,"onUpdate:modelValue":o[2]||(o[2]=b=>u.value=b)}),null,16,["type","disabled","modelValue"])):(e.openBlock(),e.createBlock(W,{key:1,"current-value":u.value,label:n.label,mode:n.mode,onClear:f,fieldRef:a.value,width:t.width,disabled:n.disabled,layout:"inline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c)?.component),e.mergeProps({ref_key:"filterRef",ref:a},t,{modelValue:u.value,"onUpdate:modelValue":o[3]||(o[3]=b=>u.value=b),type:e.unref(c)?.type,onChange:o[4]||(o[4]=b=>k(b.name,b.value)),onClear:o[5]||(o[5]=b=>d(b))}),null,16,["modelValue","type"]))]),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}),ll=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=m,a=e.ref(),c=e.ref(q(t.type,t.layout)),u=e.computed({get:()=>t.modelValue,set:f=>s("update:modelValue",f)});function d(f){s("clear",f)}function k(f,n){s("change",{name:f,value:n}),t.modelValue!==void 0&&s("update:modelValue",n)}return e.watch(()=>t.default,f=>{u.value=f}),e.watch(()=>t.modelValue,f=>{u.value=f}),e.watch(()=>t,f=>{u.value=f}),r({filterRef:a}),(f,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value?.component),e.mergeProps(t,{type:c.value?.type,modelValue:u.value,"onUpdate:modelValue":n[0]||(n[0]=o=>u.value=o),onChange:n[1]||(n[1]=o=>k(o.name,o.value)),onClear:n[2]||(n[2]=o=>d(o)),ref_key:"filterRef",ref:a}),null,16,["type","modelValue"]))}}),K=e.defineComponent({__name:"filter-field",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean,default:!0},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{default:"name"}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=m,a=e.ref(),c=e.computed({get:()=>t.modelValue,set:f=>s("update:modelValue",f)});function u(f){s("clear",f)}function d(f,n){s("change",{name:f,value:n}),t.modelValue!==void 0&&s("update:modelValue",n)}e.watch(()=>t.default,f=>{c.value=f}),e.watch(()=>t.modelValue,f=>{c.value=f}),r({filterRef:a});function k(){switch(t.layout){case"inline":return ne;case"vertical":return tl;case"popover":return ll;default:return ne}}return(f,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k()),e.mergeProps(t,{onChange:n[0]||(n[0]=o=>d(o.name,o.value)),onClear:n[1]||(n[1]=o=>u(o)),modelValue:c.value,"onUpdate:modelValue":n[2]||(n[2]=o=>c.value=o)}),null,16,["modelValue"]))}});function Q(i,r){const{slots:m}=i,t=e.ref(i.value??{}),s=e.computed(()=>(e.toRaw(m?.default?.())??[]).flatMap(l=>Array.isArray(l.children)?l.children:[l]));function a(x){delete t.value[x],r("clear",{data:e.toRaw(t.value),name:x})}function c(x,l){l===void 0?(a(x),r("change",{data:e.toRaw(t.value),name:x,undefined:void 0})):t.value={...t.value,[x]:l},r("change",{data:e.toRaw(t.value),name:x,value:l})}const u=e.computed(()=>s.value.map(x=>{const l=x.props?.name;return e.cloneVNode(x,{...x.props,layout:i.view,showClean:!0,modelValue:t[l],"onUpdate:modelValue":y=>{c(l,y)},onClear:()=>a(l)})})),d=e.computed(()=>new Map(u.value.map(x=>{const l=x.props?.name;return l?[l,x]:null}).filter(x=>x!==null)));function k(){t.value={},r("clearAll",{data:e.toRaw(t.value),name:"ALL"})}const f=e.ref(""),n=e.computed(()=>i.schema?.value?Object.entries(t.value).filter(([x,l])=>i.schema&&!(x in i.schema.value)?!1:Array.isArray(l)?l.some(y=>y!==""&&y!==void 0):l!==""&&l!==void 0).length:0),o=e.ref();e.watch(f,async()=>{await e.nextTick(),o?.value?.filterRef?.inputTextRef&&o.value.filterRef.inputTextRef.focus()});const b=e.computed(()=>i.schema?.value?Object.fromEntries(Object.entries(i.schema?.value).slice(0,i.limit)):{}),g=e.computed(()=>i.schema?.value?i.view!=="inline"?i.schema?.value:Object.fromEntries(Object.entries(i.schema?.value).slice(i.limit)):{}),h=e.computed(()=>{if(u.value.length===0)return[];let x=0;if(i.schema?.value){const l=Object.entries(i.schema.value).length;l<i.limit?x=i.limit-l:x=0}return u.value.slice(0,x)}),p=e.computed(()=>u.value.length===0?[]:i.view!=="inline"?u.value:u.value.slice(h.value.length));function w(){if(g.value){const[x]=Object.keys(g.value);f.value=x}else p.value.length>0?f.value=p.value[0].props.name:f.value=""}return{activeFilter:t,activeFilterCount:n,onFilterChange:c,clearFilter:a,clearAllFilters:k,limitedSchema:b,popoverSchema:g,filtersSlot:u,limitedFiltersSlot:h,popoverFiltersSlot:p,vnodeMap:d,onPopoverOpen:w,selectedFilter:f,filterRef:o}}const ol=e.defineComponent({__name:"popover",emits:["open","close"],setup(i,{emit:r}){const m=e.ref(!1),t=e.ref(null),s=e.ref(null),a=e.ref(null),c=e.ref({top:"0px",left:"0px",position:"absolute"});function u(){m.value=!m.value}function d(){const o=a.value,b=t.value;if(!o||!b)return;const g=o.getBoundingClientRect(),h=b.offsetWidth,p=window.innerWidth-g.left;let w=g.left+window.scrollX;h>p&&(w=window.innerWidth-h-8,w<8&&(w=8)),c.value={position:"absolute",top:`${g.bottom+window.scrollY+8}px`,left:`${w}px`}}function k(o){const b=o.target;!a.value?.contains(o.target)&&!t.value?.contains(o.target)&&!b.closest("[data-inside-popover]")&&(m.value=!1)}const f=e.ref(!1);e.onMounted(()=>{f.value=!0}),e.onMounted(()=>{a.value=s.value?.querySelector("[data-popover-trigger]")||null,a.value?.addEventListener("click",u),document.addEventListener("click",k),window.addEventListener("resize",d),window.addEventListener("scroll",d,!0)}),e.onBeforeUnmount(()=>{a.value?.removeEventListener("click",u),document.removeEventListener("click",k),window.removeEventListener("resize",d),window.removeEventListener("scroll",d,!0)});const n=r;return e.watch(m,async o=>{o?(n("open"),await e.nextTick(),d()):n("close")}),(o,b)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:s},[e.renderSlot(o.$slots,"trigger"),f.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(c.value)},[e.renderSlot(o.$slots,"default")],4),[[e.vShow,m.value]])])):e.createCommentVNode("",!0)],512))}}),nl={},rl={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 al(i,r){return e.openBlock(),e.createElementBlock("svg",rl,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 sl=M(nl,[["render",al]]),il={key:0,class:"inline-flex rounded-sm items-center border font-semibold border-transparent hover:bg-secondary/80 bg-blue-500 text-white text-xs px-1.5"},cl={class:"flex"},dl={class:"w-64 border-r border-gray-200"},fl={class:"p-2"},ul=["onClick"],ml={class:"flex items-center gap-2"},pl={class:"text-sm font-medium"},gl={key:0,class:"inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 bg-blue-100 text-blue-700 text-xs p-2"},yl=["onClick"],bl={class:"flex items-center gap-2"},kl={class:"text-sm font-medium"},hl={key:0,class:"inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 bg-blue-100 text-blue-700 text-xs p-2"},xl={key:0,class:"p-2 border-t"},wl={class:"flex-1 min-h-[300px] overflow-y-auto"},Vl={key:0,class:"flex items-center justify-center h-full text-gray-500"},re=e.defineComponent({__name:"popover-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(i,{expose:r,emit:m}){const t=i,s=te(t.mode),a=e.useSlots(),c=m,u=e.ref({}),{activeFilter:d,activeFilterCount:k,onFilterChange:f,clearFilter:n,clearAllFilters:o,popoverSchema:b,popoverFiltersSlot:g,onPopoverOpen:h,selectedFilter:p,filterRef:w}=Q({...t,schema:u,slots:a},c);return e.watch(()=>t.schema,x=>{u.value=x},{deep:!0,immediate:!0}),r({clearFilter:n,clearAllFilters:o}),(x,l)=>(e.openBlock(),e.createBlock(ol,{onOpen:e.unref(h),onClose:l[5]||(l[5]=y=>p.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass(e.unref(s)+(e.unref(k)>0?"bg-blue-50 border-blue-200 text-blue-700 hover:bg-blue-100":"text-gray-800 hover:bg-gray-200 focus:bg-gray-200")),type:"button"},[e.createVNode(sl),l[6]||(l[6]=e.createTextVNode(" Фільтр ")),e.unref(k)>0?(e.openBlock(),e.createElementBlock("div",il,e.toDisplayString(e.unref(k)),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",cl,[e.createElementVNode("div",dl,[l[7]||(l[7]=e.createElementVNode("div",{class:"p-4 border-b"},[e.createElementVNode("p",{class:"text-sm text-gray-600"},"Select a field to start creating a filter.")],-1)),e.createElementVNode("div",fl,[x.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(b)),([y,C])=>(e.openBlock(),e.createElementBlock("button",{key:y,onClick:()=>{p.value=y},class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e.unref(p)===y?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":""])},[e.createElementVNode("div",ml,[e.createElementVNode("span",pl,e.toDisplayString(C.label),1)]),(Array.isArray(e.unref(d)[y])?e.unref(d)[y]?.length>0:e.unref(d)[y]||e.unref(d)[y]===null)?(e.openBlock(),e.createElementBlock("div",gl)):e.createCommentVNode("",!0)],10,ul))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(y,C)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+C,onClick:V=>p.value=y.props.name,class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e.unref(p)===y.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":""])},[e.createElementVNode("div",bl,[e.createElementVNode("span",kl,e.toDisplayString(y.props.label),1)]),e.unref(d)[y.props.name]?.length>0?(e.openBlock(),e.createElementBlock("div",hl)):e.createCommentVNode("",!0)],10,yl))),128))]),e.unref(k)>0?(e.openBlock(),e.createElementBlock("div",xl,[e.createElementVNode("button",{class:"w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors",onClick:l[0]||(l[0]=(...y)=>e.unref(o)&&e.unref(o)(...y)),"data-inside-popover":""}," Очистити всі ")])):e.createCommentVNode("",!0)]),e.createElementVNode("div",wl,[e.unref(p)===""?(e.openBlock(),e.createElementBlock("div",Vl,l[8]||(l[8]=[e.createElementVNode("p",{class:"text-sm"},"Select a field to start creating a filter.",-1)]))):e.createCommentVNode("",!0),e.unref(p)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(b)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(b)),([y,C])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(p)===y?(e.openBlock(),e.createBlock(K,e.mergeProps({name:y,key:y,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:w},{ref_for:!0},C,{onChange:l[1]||(l[1]=V=>e.unref(f)(V.name,V.value)),onClear:l[2]||(l[2]=V=>{e.unref(n)(V),e.unref(f)(V,void 0)}),modelValue:e.unref(d)[y],"onUpdate:modelValue":V=>e.unref(d)[y]=V,cleanable:!0}),null,16,["name","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(y,C)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+C},[e.unref(p)===y.props.name?(e.openBlock(),e.createBlock(K,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},y.props,{ref_for:!0,ref_key:"filterRef",ref:w,onChange:l[3]||(l[3]=V=>e.unref(f)(V.name,V.value)),onClear:l[4]||(l[4]=V=>{e.unref(n)(V),e.unref(f)(V,void 0)}),modelValue:e.unref(d)[y.props.name],"onUpdate:modelValue":V=>e.unref(d)[y.props.name]=V,cleanable:!0}),null,16,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0)])])]),_:1},8,["onOpen"]))}}),Bl={class:"flex gap-1 items-center flex-wrap"},ae=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(i,{emit:r}){const m=i,t=r,s=e.useSlots(),a=e.ref({}),{activeFilter:c,activeFilterCount:u,onFilterChange:d,clearFilter:k,clearAllFilters:f,limitedSchema:n,popoverSchema:o,filtersSlot:b,limitedFiltersSlot:g,popoverFiltersSlot:h}=Q({...m,schema:a,slots:s},t),p=e.ref();function w(){p.value&&p.value.clearAllFilters(),f()}return e.watch(()=>m.schema,x=>{a.value=x},{deep:!0,immediate:!0}),(x,l)=>(e.openBlock(),e.createElementBlock("div",Bl,[x.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(n)),([y,C])=>(e.openBlock(),e.createBlock(K,e.mergeProps({key:y,name:y,mode:x.mode},{ref_for:!0},C,{onChange:l[0]||(l[0]=V=>e.unref(d)(V.name,V.value)),onClear:l[1]||(l[1]=V=>{e.unref(k)(V),e.unref(d)(V,void 0)}),layout:"inline",cleanable:!0,modelValue:e.unref(c)[y],"onUpdate:modelValue":V=>e.unref(c)[y]=V}),null,16,["name","mode","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(y,C)=>(e.openBlock(),e.createBlock(K,e.mergeProps({key:"slot-"+C,layout:"inline"},{ref_for:!0},y.props,{onChange:l[2]||(l[2]=V=>e.unref(d)(V.name,V.value)),onClear:l[3]||(l[3]=V=>{e.unref(k)(V),e.unref(d)(V,void 0)}),cleanable:!0,modelValue:e.unref(c)[y.props.name],"onUpdate:modelValue":V=>e.unref(c)[y.props.name]=V}),null,16,["modelValue","onUpdate:modelValue"]))),128)),Object.entries(e.unref(o)).length>0||e.unref(h).length>0?(e.openBlock(),e.createBlock(re,e.mergeProps({key:1},m,{schema:e.unref(o),limit:0,onChange:l[4]||(l[4]=y=>e.unref(d)(y.name,y.value)),onClearAll:e.unref(f),onClear:l[5]||(l[5]=y=>e.unref(k)(y.name)),mode:x.mode,ref_key:"popoverRef",ref:p,cleanable:!0}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),(y,C)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y),e.mergeProps({key:"slot-"+C,layout:"popover"},{ref_for:!0},y.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","onClearAll","mode"])):e.createCommentVNode("",!0),e.unref(u)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:w,class:"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-lg bg-gray-100 border border-transparent text-gray-800 hover:bg-gray-200 focus:bg-gray-200"}," Очистити ")):e.createCommentVNode("",!0)]))}}),Cl={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"},El={class:"flex items-center vst-filters vsTailwind flex-col w-full"},Nl=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(i,{emit:r}){const m=i,t=r,s=e.useSlots(),{activeFilter:a,activeFilterCount:c,onFilterChange:u,clearFilter:d,clearAllFilters:k,filtersSlot:f}=Q({...m,slots:s},t);return(n,o)=>n.view==="vertical"?(e.openBlock(),e.createElementBlock("div",Cl,[e.createElementVNode("div",El,[e.unref(c)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:o[0]||(o[0]=(...b)=>e.unref(k)&&e.unref(k)(...b)),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:"w-full ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground border h-10 px-4 py-2 gap-2 m-2 bg-white text-gray-800 hover:bg-gray-200 focus:bg-gray-200",type:"button"}," Очистити ")):e.createCommentVNode("",!0),n.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(n.schema),([b,g])=>(e.openBlock(),e.createBlock(K,e.mergeProps({name:b,layout:"vertical"},{ref_for:!0},g,{onChange:o[1]||(o[1]=h=>e.unref(u)(h.name,h.value)),onClear:o[2]||(o[2]=h=>{e.unref(d)(h),e.unref(u)(h,void 0)}),modelValue:e.unref(a)[b],"onUpdate:modelValue":h=>e.unref(a)[b]=h,showClean:!0}),null,16,["name","modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),(b,g)=>(e.openBlock(),e.createBlock(K,e.mergeProps({key:"slot-"+g,layout:"vertical"},{ref_for:!0},b.props,{onChange:o[3]||(o[3]=h=>e.unref(u)(h.name,h.value)),onClear:o[4]||(o[4]=h=>{e.unref(d)(h),e.unref(u)(h,void 0)}),modelValue:e.unref(a)[b.props.name],"onUpdate:modelValue":h=>e.unref(a)[b.props.name]=h,showClean:!0}),null,16,["modelValue","onUpdate:modelValue"]))),128))])])):e.createCommentVNode("",!0)}}),z=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(i,{emit:r}){const m=i,t=e.ref(m.value??{}),s=r;function a(f,n){t.value={...t.value,[f]:n},s("change",{data:e.toRaw(t.value),name:f,value:n})}function c(f){delete t.value[f],s("clear",{data:e.toRaw(t.value),name:f})}function u(){t.value={},s("clear",{data:e.toRaw(t.value),name:"ALL"}),s("change",{data:e.toRaw(t.value),name:"ALL",value:null})}const d=e.ref({});function k(){switch(m.view){case"inline":return ae;case"vertical":return Nl;case"popover":return re;default:return ae}}return e.watch(()=>m.schema,f=>{if(!f){d.value={};return}if(Array.isArray(f)&&!f.length){d.value={};return}Array.isArray(f)?d.value=f.filter(n=>n.type).reduce((n,o)=>(Object.assign(o,{name:o.id||o.name,type:o.type.toLowerCase()}),n[o.name]=o,o.data&&!o.api&&!o.options&&Object.assign(o,{api:`/api/suggest/${o.data}`}),n),{}):(Object.entries(f).forEach(([n,o])=>{Object.assign(o,{name:n||o.name||o.id,type:o.type.toLowerCase()})}),d.value={...f})},{immediate:!0,deep:!0}),(f,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k()),e.mergeProps(m,{schema:d.value,onChange:n[0]||(n[0]=o=>a(o.name,o.value)),onClear:n[1]||(n[1]=o=>c(o.name)),onClearAll:u}),{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default")]),_:3},16,["schema"]))}});z.install=function(r){r.component("VsFilter",z)},R.Filter=z,R.FilterField=K,R.default=z,Object.defineProperties(R,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(R,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(R=typeof globalThis<"u"?globalThis:R||self,e(R.FilterLib={},R.Vue))})(this,function(R,e){"use strict";const se={class:"flex items-center justify-between w-full text-sm"},ie={class:"flex items-center cursor-pointer w-full"},ce={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},de=["value"],fe={class:"w-[calc(100%-18px)] flex flex-row items-center justify-between pl-[10px]"},ue={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},me={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},U=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(i,{expose:r,emit:m}){const t=i,s=m;function a(){s("itemClick",t.value)}const c=e.ref(null);return r({el:c}),(u,d)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-lg group hover:bg-gray-100",ref_key:"el",ref:c},[e.createElementVNode("div",se,[e.createElementVNode("div",ie,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(u.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":u.highlighted}]),onClick:e.withModifiers(a,["stop","prevent"])},[e.createElementVNode("div",{class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[u.type=="checkbox"?"rounded-[4px]":"rounded-full",u.color?`bg-[${u.color}] border-[#ffffff]`:u.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[u.isSelected?(e.openBlock(),e.createElementBlock("img",ce)):e.createCommentVNode("",!0)],2),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:u.value},null,8,de),e.createElementVNode("div",fe,[e.createElementVNode("span",ue,e.toDisplayString(u.label??"Відсутні данні"),1),u.count?(e.openBlock(),e.createElementBlock("div",me," ("+e.toDisplayString(u.count)+") ",1)):e.createCommentVNode("",!0)])],2)])])],512))}});function G(i,r){const{options:m=[],limit:t=20}=i;function s(l){return Array.isArray(l)?l[0]:l}const a=e.ref(s(i.modelValue)),c=e.ref(""),u=e.ref(!1),d=e.ref([]),k=e.ref("id"),f=e.ref("text"),n=e.ref(!1),o=e.ref(i.layout!=="popover"&&m.length>t);function b(l){const y=l.find(Boolean)??{},C=["id","value","code","key"].find(S=>S in y)??"id",V=["text","label","name","title"].find(S=>S in y)??"text";return{autoValueKey:C,autoLabelKey:V}}if(m.length>0){const l=b(m);k.value=l.autoValueKey,f.value=l.autoLabelKey}const g=e.computed(()=>{const l=d.value;return i.layout==="popover"||n.value?l:l.slice(0,t)});e.watch(()=>i.modelValue,l=>{a.value=s(l)},{immediate:!0}),d.value=[...m].sort((l,y)=>i.sort==="count"?y.count&&l.count?y.count-l.count:0:i.sort==="name"?String(l[f.value]??"").localeCompare(String(y[f.value]??"")):0);function h(l){return a.value===l[k.value]}function p(l){a.value=l[k.value],r("update:modelValue",a.value),r("change",{name:i.name,value:a.value})}function w(){a.value=void 0,r("update:modelValue",a.value),r("clear",i.name)}function x(){n.value=!n.value}return{innerValue:a,searchTerm:c,filteredOptions:g,isSelected:h,selectItem:p,clear:w,toggleShowAll:x,isReqProc:u,showAll:n,isEnableShowAll:o,labelKey:f,valueKey:k,allOptions:d}}const M=(i,r)=>{const m=i.__vccOpts||i;for(const[t,s]of r)m[t]=s;return m},pe={},ge={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function ye(i,r){return e.openBlock(),e.createElementBlock("svg",ge,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 P=M(pe,[["render",ye]]),be={},ke={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate"};function he(i,r){return e.openBlock(),e.createElementBlock("svg",ke,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 j=M(be,[["render",he]]),xe={},we={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 Ve(i,r){return e.openBlock(),e.createElementBlock("svg",we,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 H=M(xe,[["render",Ve]]),Be={key:0,class:"w-full"},Ce={class:"flex flex-col items-center justify-center p-5 text-center"},Ee={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ne={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},_e=e.defineComponent({__name:"radio",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=e.ref(null),a=m,{innerValue:c,filteredOptions:u,isSelected:d,selectItem:k,clear:f,toggleShowAll:n,isReqProc:o,showAll:b,isEnableShowAll:g,labelKey:h,valueKey:p,allOptions:w}=G({...t,modelValue:t.modelValue??t.default??""},a);return r({clear:f,inputTextRef:s}),e.watch(()=>t.modelValue,x=>{x===void 0&&(c.value=void 0)}),(x,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([x.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([x.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",x.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),y=>(e.openBlock(),e.createBlock(U,{layout:x.layout,key:y[e.unref(p)],count:y.count,label:y[e.unref(h)],color:y.color,type:"radio",value:y[e.unref(p)],"is-selected":e.unref(d)(y),onItemClick:C=>e.unref(k)(y)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),x.type==="select"&&e.unref(u).length===0&&!e.unref(o)?(e.openBlock(),e.createElementBlock("div",Be,[e.createElementVNode("div",Ce,[e.createVNode(P),l[4]||(l[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),x.layout!=="popover"&&x.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(b)&&e.unref(g)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:l[0]||(l[0]=(...y)=>e.unref(n)&&e.unref(n)(...y)),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"},[l[5]||(l[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(j)])):e.createCommentVNode("",!0),e.unref(b)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:l[1]||(l[1]=(...y)=>e.unref(n)&&e.unref(n)(...y)),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"},[l[6]||(l[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(H)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),x.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[x.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ee,[e.createTextVNode(e.toDisplayString(e.unref(c)||e.unref(c)===null?1:0)+" з "+e.toDisplayString(e.unref(w).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:l[2]||(l[2]=(...y)=>e.unref(f)&&e.unref(f)(...y))}," Очистити ",512),[[e.vShow,e.unref(c)!==""&&e.unref(c)!==void 0]])])):e.createCommentVNode("",!0),x.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ne,[e.createElementVNode("span",null,e.toDisplayString(e.unref(c)||e.unref(c)===null?1:0)+" з "+e.toDisplayString(e.unref(w).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:l[3]||(l[3]=(...y)=>e.unref(f)&&e.unref(f)(...y))}," Очистити ",512),[[e.vShow,e.unref(c)!==""&&e.unref(c)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function X(i,r){const{options:m=[],limit:t=20}=i;function s(l){return Array.isArray(l)?l:l?[l]:[]}const a=e.ref(s(i.modelValue)),c=e.ref(""),u=e.ref(!1),d=e.ref([]),k=e.ref("id"),f=e.ref("text"),n=e.ref(!1),o=e.ref(i.layout!=="popover"&&m.length>t);function b(l){const y=l.find(Boolean)??{},C=["id","value","code","key"].find(S=>S in y)??"id",V=["text","label","name","title"].find(S=>S in y)??"text";return{autoValueKey:C,autoLabelKey:V}}if(m.length>0){const l=b(m);k.value=l.autoValueKey,f.value=l.autoLabelKey}const g=e.computed(()=>{const l=d.value;return i.layout==="popover"||n.value?l:l.slice(0,t)});e.watch(()=>i.modelValue,l=>{a.value=s(l)},{immediate:!0}),d.value=[...m].sort((l,y)=>i.sort==="count"?y.count&&l.count?y.count-l.count:0:i.sort==="name"?String(l[f.value]).localeCompare(String(y[f.value])):0);function h(l){return a.value&&a.value.includes(l[k.value])}function p(l){const y=a.value.includes(l[k.value]);a.value=y?a.value.filter(C=>C!==l[k.value]):[...a.value,l[k.value]],r("update:modelValue",a.value),r("change",{name:i.name,value:a.value})}function w(){a.value=[],r("update:modelValue",a.value),r("clear",i.name)}function x(){n.value=!n.value}return{innerValue:a,searchTerm:c,filteredOptions:g,isSelected:h,selectItem:p,clear:w,toggleShowAll:x,isReqProc:u,showAll:n,isEnableShowAll:o,labelKey:f,valueKey:k,allOptions:d}}const $e={key:0,class:"w-full"},De={class:"flex flex-col items-center justify-center p-5 text-center"},Se={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ae={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},J=e.defineComponent({__name:"checkbox",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=m,{innerValue:a,filteredOptions:c,isSelected:u,selectItem:d,clear:k,toggleShowAll:f,isReqProc:n,showAll:o,isEnableShowAll:b,labelKey:g,valueKey:h,allOptions:p}=X({...t,modelValue:t.modelValue},s);return e.watch(()=>t.modelValue,w=>{w===void 0&&(a.value=[])}),r({clear:k}),(w,x)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([w.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([w.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",w.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(c),l=>(e.openBlock(),e.createBlock(U,{layout:w.layout,count:l.count,label:l[e.unref(g)],color:l.color,type:"checkbox",value:l[e.unref(h)],"is-selected":e.unref(u)(l),onItemClick:y=>e.unref(d)(l)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),w.type==="select"&&e.unref(c).length===0&&!e.unref(n)?(e.openBlock(),e.createElementBlock("div",$e,[e.createElementVNode("div",De,[e.createVNode(P),x[4]||(x[4]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),w.layout!=="popover"&&w.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(o)&&e.unref(b)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:x[0]||(x[0]=(...l)=>e.unref(f)&&e.unref(f)(...l)),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"},[x[5]||(x[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(j)])):e.createCommentVNode("",!0),e.unref(o)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:x[1]||(x[1]=(...l)=>e.unref(f)&&e.unref(f)(...l)),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"},[x[6]||(x[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(H)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),w.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[w.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Se,[e.createTextVNode(e.toDisplayString(e.unref(a).length)+" з "+e.toDisplayString(e.unref(p).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[2]||(x[2]=(...l)=>e.unref(k)&&e.unref(k)(...l))}," Очистити ",512),[[e.vShow,e.unref(a).length!==0]])])):e.createCommentVNode("",!0),w.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ae,[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).length)+" з "+e.toDisplayString(e.unref(p).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[3]||(x[3]=(...l)=>e.unref(k)&&e.unref(k)(...l))}," Очистити ",512),[[e.vShow,e.unref(a).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Fe={},Me={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"15px",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-search stroke-gray-500 transition-all"};function Re(i,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:"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 Z=M(Fe,[["render",Re]]),Te={},Ke={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-x stroke-gray-500 hover:stroke-red-500 transition-all",width:"15px",height:"15px"};function Le(i,r){return e.openBlock(),e.createElementBlock("svg",Ke,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 v=M(Te,[["render",Le]]);class Y{static getWidthClass(r){return typeof r=="number"?`max-w-[${r}px]`:typeof r=="string"?r.endsWith("%")||r.endsWith("px")?`max-w-[${r}]`:`max-w-${r}`:"w-full"}}const je={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},ze=["placeholder"],Ie=e.defineComponent({__name:"text-input",props:{id:{},name:{},type:{},label:{},width:{default:220},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{emit:r}){const m=i,t=e.ref((m.placeHolder||m.label||m.name).toString()),s=r,a=e.ref(m.modelValue??"");e.watch(()=>m.modelValue,d=>{d!==a.value&&(a.value=d??"")});function c(){s("update:modelValue",a.value),s("change",{name:m.name,value:a.value})}function u(){a.value="",s("update:modelValue",""),s("clear",m.name)}return(d,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white rounded-lg [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:rounded-lg [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",d.layout==="inline"?e.unref(Y).getWidthClass(d.width):"w-full mb-2"])},[e.createElementVNode("div",je,[e.createVNode(Z)]),a.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:u,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(v)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":k[0]||(k[0]=f=>a.value=f),onInput:c,placeholder:t.value,class:"!pr-7 !pl-8 bg-white h-[38px] text-sm py-2 px-3 block w-full border border-solid placeholder:text-nowrap border-stone-200 rounded-lg text-sm text-stone-800 placeholder:text-stone-400 focus:border-2 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500"},null,40,ze),[[e.vModelText,a.value]])],2))}});function ee(i={color:"blue"}){return e.computed(()=>{const m=`w-full px-3 py-2 border-solid border border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${i.color}-500 focus:border-transparent`;return i?.size==="sm"?`${m}h-[32px]`:`${m}h-[38px]`})}function Oe(){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 Ue(){return"font-medium border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 border h-7 rounded-md text-xs px-2 py-1 hover:bg-gray-100"}function te(i){return i==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent text-gray-600 hover:bg-blue-100 hover:text-gray-800 focus:outline-hidden focus:bg-gray-100 focus:text-gray-800 disabled:opacity-50 disabled:pointer-events-none dark:text-gray-500 dark:hover:bg-blue-800/30 dark:hover:text-blue-400 dark:focus:bg-blue-800/30 dark:focus:text-blue-400":i==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-gray-100 text-gray-800 hover:bg-gray-200 hover:bg-gray-200 focus:outline-hidden focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:text-blue-400 dark:hover:bg-blue-900 dark:focus:bg-blue-900":"relative border-solid border-gray-200 focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-2 bg-transparent h-[38px]"}const Pe={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},He=["placeholder","disabled"],Ye={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},We={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},qe=["placeholder","disabled"],Qe=["disabled"],_l={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},$l={key:1,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},Ge=e.defineComponent({__name:"range-input",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=ee(),s=Oe(),a=i,c=e.ref(a.modelValue??a.default??[]),u=m,d=e.computed({get:()=>a.modelValue??c.value,set:n=>{a.modelValue!==void 0?u("update:modelValue",n):c.value=n}});function k(){u("change",{name:a.name,value:d.value||c.value})}function f(){c.value=[],d.value=c.value,u("clear",a.name)}return e.watch(()=>a.modelValue,n=>{n!==void 0&&a.layout!=="popover"?(c.value=n,u("update:modelValue",n)):c.value=[]}),r({clear:f,currentValue:d}),(n,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(n.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[n.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",Pe,"Від")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:n.placeHolder?.[0]??"min",step:"1",style:{outline:"none"},"onUpdate:modelValue":o[0]||(o[0]=b=>d.value[0]=b),disabled:n.disabled},null,10,He),[[e.vModelText,d.value[0]]])]),n.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",Ye," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[n.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",We,"До")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:n.placeHolder?.[1]??"max",min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":o[1]||(o[1]=b=>d.value[1]=b),disabled:n.disabled},null,10,qe),[[e.vModelText,d.value[1]]])]),["popover","inline","vertical"].includes(n.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:k,class:e.normalizeClass(e.unref(s)+(n.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(n.layout==="vertical"?"Ok":"Застосувати"),3)):e.createCommentVNode("",!0),["popover","inline"].includes(n.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(d.value[0]||d.value[1]),onClick:f,class:e.normalizeClass(e.unref(s)+" hover:bg-gray-100")},"Очистити",10,Qe)):e.createCommentVNode("",!0)],2)]),(n.cleanable&&c.value.length,e.createCommentVNode("",!0))],64))}}),Xe=["disabled","title"],Je={key:0,class:"absolute top-0 end-0 inline-flex min-h-[10px] min-w-[10px] z-10 items-center py-0.5 rounded-full text-xs font-medium transform -translate-y-1/2 translate-x-1/2 bg-blue-600 text-white px-1"},Ze={class:"w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-lg focus:outline-none focus:bg-stone-100 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full"},ve={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"},W=e.defineComponent({__name:"popover-field",props:{disabled:{type:Boolean,default:!1},label:{},currentValue:{},fieldRef:{},width:{},mode:{},layout:{}},setup(i,{expose:r}){const m=i,t=e.computed(()=>te(m.mode)),s=e.ref(!1),a=e.ref({top:0,left:0}),c=e.ref(null),u=e.ref(null),d=e.ref(null);function k(){const p=u.value,w=d.value;if(!p||!w)return;const x=p.getBoundingClientRect(),l=w.offsetWidth,y=window.innerWidth,C=x.bottom+8;let{left:V}=x;V+l>y&&(V=Math.max(y-l-10,10)),a.value={top:C,left:V}}function f(){s.value=!s.value,s.value&&e.nextTick(()=>{k(),m.fieldRef?.inputTextRef&&m.fieldRef?.inputTextRef.focus()})}function n(p){!c.value?.contains(p.target)&&!d.value?.contains(p.target)&&(s.value=!1)}function o(p){p.key==="Escape"&&(s.value=!1)}const b=e.ref(!1);e.onMounted(()=>{b.value=!0}),e.onMounted(()=>{document.addEventListener("click",n,!0),document.addEventListener("keydown",o),window.addEventListener("scroll",k,!0)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",n,!0),document.removeEventListener("keydown",o),window.removeEventListener("scroll",k,!0)});function g(){s.value=!1}r({close:g});const h=e.computed(()=>{const p=m.fieldRef?.selectedLabels;return p?Array.isArray(p)?p.length>0?p.join(", "):m.label??"":String(p):m.label??""});return(p,w)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:f,disabled:p.disabled,ref_key:"triggerRef",ref:u,title:p.label,class:e.normalizeClass(t.value+" "+(p.width?e.unref(Y).getWidthClass(p.width):"w-full"))},[e.createElementVNode("span",{class:e.normalizeClass(["truncate text-ellipsis block",p.width?e.unref(Y).getWidthClass(p.width-50):"w-full"])},e.toDisplayString(h.value),3),e.createVNode(j,{class:"h-4 w-4"}),(Array.isArray(p.currentValue)?p.currentValue===null||p.currentValue.length>0:p.currentValue===null||p.currentValue)&&p.layout==="inline"?(e.openBlock(),e.createElementBlock("span",Je)):e.createCommentVNode("",!0)],10,Xe),b.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:d,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${a.value.top}px`,left:`${a.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",Ze,[e.createElementVNode("div",ve,[e.renderSlot(p.$slots,"default")])])],4),[[e.vShow,s.value]])])):e.createCommentVNode("",!0)]))}});function et(i){return String(i).charAt(0).toUpperCase()+String(i).slice(1)}class D{static format(r){const m=r.getFullYear(),t=(r.getMonth()+1).toString().padStart(2,"0"),s=r.getDate().toString().padStart(2,"0");return`${m}-${t}-${s}`}static getShiftedDay(r,m=0){const t=r?new Date(r):new Date;return t.setDate(t.getDate()+m),this.format(t)}static getLastWeekRange(r,m,t=0){if(r&&m){const k=new Date(r),f=new Date(m);return k.setDate(k.getDate()+t*7),f.setDate(f.getDate()+t*7),[this.format(k),this.format(f)]}const s=new Date,a=s.getDay(),c=a===0?13:a-1+7,u=new Date(s);u.setDate(s.getDate()-c+t*7);const d=new Date(u);return d.setDate(u.getDate()+6),[this.format(u),this.format(d)]}static getMonthRange(r,m,t=0){let s;r?s=new Date(r):s=new Date,s=new Date(s.getFullYear(),s.getMonth()+t,1);const a=s,c=new Date(s.getFullYear(),s.getMonth()+1,0);return[this.format(a),this.format(c)]}static getQuarterRange(r,m,t=0){const s=r||m,a=s?new Date(s):new Date;let c=Math.floor(a.getMonth()/3);c+=t;const u=(c%4+4)%4*3,d=a.getFullYear()+Math.floor(c/4),k=new Date(d,u,1),f=new Date(d,u+3,0);return[this.format(k),this.format(f)]}static getYear(r,m=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+m)}static getYearRange(r,m=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+m,0,1)),this.format(new Date(t+m+1,0,0))]}static getRangeFromDaysBefore(r){const m=new Date,t=new Date(m.getTime());return t.setDate(m.getDate()-r),[this.format(t),this.format(m)]}}function le(i,r){const{popoverRef:m}=i,t=e.ref(""),s=e.ref(i.modelValue??i.default??[]),a=e.ref(0);function c(){const h=D.getRangeFromDaysBefore(a.value);return s.value=[...h],r("change",{name:i.name,value:s.value}),r("update:modelValue",s.value),h}function u(h){t.value=h,m.value?.close();const p=[];switch(t.value){case"today":p.push(D.getShiftedDay()),p.push(D.getShiftedDay());break;case"week":p.push(...D.getLastWeekRange());break;case"month":p.push(...D.getMonthRange());break;case"quarter":p.push(...D.getQuarterRange());break;case"year":p.push(...D.getYearRange());break;case"last_7_days":a.value=7,c();break;case"range":a.value=7,p.push(...c());break}s.value=[...p],r("change",{name:i.name,value:s.value}),r("update:modelValue",s.value)}function d(){const h=[];switch(t.value){case"today":h.push(D.getShiftedDay(s.value[0],1));break;case"week":h.push(...D.getLastWeekRange(s.value[0],s.value[1],1));break;case"month":h.push(...D.getMonthRange(s.value[0],s.value[1],1));break;case"quarter":h.push(...D.getQuarterRange(s.value[0],s.value[1],1));break;case"year":h.push(...D.getYearRange(s.value[0],1));break}s.value=[...h],r("change",{name:i.name,value:s.value}),r("update:modelValue",s.value)}function k(){const h=[];switch(t.value){case"today":h.push(D.getShiftedDay(s.value[0],-1));break;case"week":h.push(...D.getLastWeekRange(s.value[0],s.value[1],-1));break;case"month":h.push(...D.getMonthRange(s.value[0],s.value[1],-1));break;case"quarter":h.push(...D.getQuarterRange(s.value[0],s.value[1],-1));break;case"year":h.push(...D.getYearRange(s.value[0],-1));break}s.value=[...h],r("change",{name:i.name,value:s.value}),r("update:modelValue",s.value)}const f=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function n(h){const[p,w,x]=h.split("-");return`${x}.${w}.${p}`}function o(h){const{value:p}=s;switch(h){case"today":return n(p[0]);case"range":return"Період";case"week":return p[0]&&p[1]?`${n(p[0])} – ${n(p[1])}`:"";case"quarter":if(p[0]){const w=new Date(p[0]),x=w.getFullYear(),l=w.getMonth();return`${Math.floor(l/3)+1} квартал ${x}`}return"";case"month":if(p[0]){const[w,x]=p[0].split("-");return`${f[parseInt(x,10)-1]} ${w}`}return"";case"year":return p[0]||"";case"last_7_days":return"За останні дні";default:return i.label??""}}const b=e.computed(()=>t.value?o(t.value):i.label??"");function g(){t.value="",s.value=[],r("update:modelValue",[]),r("clear",i.name)}return{activeMode:t,innerValue:s,daysBefore:a,onDaysBeforeChange:c,onSelectChange:u,nextClick:d,prevClick:k,ukMonths:f,formatDisplayDate:n,getModeLabel:o,currentLabel:b,clear:g}}const tt={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},lt={key:0,class:"flex gap-1 !w-[75%] rounded-lg"},ot=["max","disabled"],nt=["min","disabled"],rt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},at=["max","disabled"],st={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},it={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ct=["min","disabled"],dt={class:"flex gap-1 pt-2"},ft=["onClick"],Dl={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},ut=e.defineComponent({__name:"date-input",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=ee(),a=Ue(),c=m,u=e.ref(null),{activeMode:d,innerValue:k,onSelectChange:f,nextClick:n,prevClick:o,clear:b}=le({...t,popoverRef:u},c);return e.watch(()=>t.modelValue,g=>{g!==void 0?(k.value=g,c("update:modelValue",g)):(d.value="",k.value=[])}),r({clear:b,popoverRef:u}),(g,h)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[g.layout==="inline"?(e.openBlock(),e.createElementBlock("div",tt,[e.unref(d)!==""&&e.unref(d)==="range"?(e.openBlock(),e.createElementBlock("div",lt,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(k)[1],locale:"uk-UA","onUpdate:modelValue":h[0]||(h[0]=p=>e.unref(k)[0]=p),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:g.disabled},null,8,ot),[[e.vModelText,e.unref(k)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(k)[0],locale:"uk-UA","onUpdate:modelValue":h[1]||(h[1]=p=>e.unref(k)[1]=p),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:g.disabled},null,8,nt),[[e.vModelText,e.unref(k)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(g.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(g.layout!=="popover"?"w-[48%]":"")},[g.layout==="popover"?(e.openBlock(),e.createElementBlock("label",rt,"Від")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(k)[1],locale:"uk-UA","onUpdate:modelValue":h[2]||(h[2]=p=>e.unref(k)[0]=p),class:e.normalizeClass(e.unref(s)),disabled:g.disabled},null,10,at),[[e.vModelText,e.unref(k)[0]]])],2),g.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",st," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(g.layout!=="popover"?"w-[48%]":"")},[g.layout==="popover"?(e.openBlock(),e.createElementBlock("label",it,"До")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(k)[0],locale:"uk-UA","onUpdate:modelValue":h[3]||(h[3]=p=>e.unref(k)[1]=p),class:e.normalizeClass(e.unref(s)),disabled:g.disabled},null,10,ct),[[e.vModelText,e.unref(k)[1]]])],2)],2),e.createElementVNode("div",dt,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["today","week","month","quarter","year"],p=>e.createElementVNode("button",{key:p,class:e.normalizeClass(e.unref(a)+(e.unref(d)===p?" bg-blue-100":"")),onClick:w=>e.unref(f)(p)},e.toDisplayString(e.unref(et)(p)),11,ft)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a)),onClick:h[4]||(h[4]=(...p)=>e.unref(o)&&e.unref(o)(...p))}," <",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a)),onClick:h[5]||(h[5]=(...p)=>e.unref(n)&&e.unref(n)(...p))}," >",2)]),(g.cleanable,e.createCommentVNode("",!0))],64))}});function mt(i,r){const{api:m,options:t=[],limit:s=20,dataKey:a="data"}=i,c=i.multi;function u(B){return c?Array.isArray(B)?B:B?[B]:[]:Array.isArray(B)?B[0]:B}const d=e.ref(u(i.modelValue)),k=e.ref(""),f=e.ref(!1),n=e.ref([]),o=e.ref("id"),b=e.ref("text"),g=e.ref(!1),h=e.ref(i.layout!=="popover"&&t.length>s),p=e.ref([]),w=e.ref(0);function x(B){const $=B.find(Boolean)??{},A=["id","value","code","key"].find(L=>L in $)??"id",O=["text","label","name","title"].find(L=>L in $)??"text";return{autoValueKey:A,autoLabelKey:O}}if(t.length>0){const B=x(t);o.value=B.autoValueKey,b.value=B.autoLabelKey}const l=e.computed(()=>{if(m)return n.value;const B=n.value;if(i.layout==="popover")return B;if(!k.value)return g.value?B:B.slice(0,s);const $=k.value.toLowerCase();return B.filter(A=>A[b.value].toLowerCase().includes($))});let y=null;async function C(B){if(m){f.value=!0;try{const $=new URL(m,window.location.origin);$.searchParams.set("json","1"),$.searchParams.set("key",B),$.searchParams.set("limit",s.toString());const A=await fetch($.toString());if(!A.ok)throw new Error(`HTTP error! status: ${A.status}`);const O=await A.json();if(n.value=O[a],n.value.length>0){const L=x(n.value);o.value=L.autoValueKey,b.value=L.autoLabelKey}w.value=O.total}catch($){console.error("Failed to fetch remote options:",$)}finally{f.value=!1}}}e.watch(k,B=>{m&&(y&&clearTimeout(y),y=setTimeout(()=>{C(B)},200))}),e.watch(()=>i.modelValue,B=>{d.value=u(B)},{immediate:!0}),m?C(""):n.value=t;function V(B){return c&&Array.isArray(d.value)?d.value.includes(B[o.value]):d.value&&d.value===B[o.value]}function S(B){if(c&&!Array.isArray(d.value)&&(d.value=[]),c&&Array.isArray(d.value)){const $=d.value.includes(B[o.value]);d.value=$?d.value.filter(A=>A!==B[o.value]):[...d.value,B[o.value]],p.value=$?p.value.filter(A=>A!==B[b.value]):[...p.value,B[b.value]]}else d.value=B[o.value],p.value=B[b.value];r("update:modelValue",d.value),r("change",{name:i.name,value:d.value})}function N(){c?(d.value=[],p.value=[]):(d.value=void 0,p.value=[]),r("update:modelValue",d.value),r("clear",i.name)}function E(){y&&clearTimeout(y),k.value="",g.value=!1}function _(){g.value=!g.value}e.onBeforeUnmount(()=>{y&&clearTimeout(y)});const F=e.ref(-1);e.watch(l,()=>{F.value=l.value.length>0?0:-1});function I(B){const $=l.value.length;if(B.key==="ArrowDown")B.preventDefault(),F.value=(F.value+1)%$;else if(B.key==="ArrowUp")B.preventDefault(),F.value=(F.value-1+$)%$;else if(B.key==="Enter"&&(B.preventDefault(),F.value>=0&&F.value<l.value.length)){const A=l.value[F.value];S(A)}}return{innerValue:d,searchTerm:k,filteredOptions:l,isSelected:V,selectItem:S,clear:N,resetSearch:E,toggleShowAll:_,isReqProc:f,showAll:g,isEnableShowAll:h,labelKey:b,valueKey:o,allOptions:n,highlightedIndex:F,onKeyDown:I,selectedLabels:p,totalCount:w}}const pt={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},gt={key:0,class:"w-full"},yt={class:"flex flex-col items-center justify-center p-5 text-center"},bt={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"},ht=e.defineComponent({__name:"select",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=m,a=e.ref(null),{innerValue:c,filteredOptions:u,isSelected:d,selectItem:k,clear:f,resetSearch:n,toggleShowAll:o,isReqProc:b,showAll:g,isEnableShowAll:h,searchTerm:p,labelKey:w,valueKey:x,highlightedIndex:l,onKeyDown:y,selectedLabels:C,totalCount:V}=mt({...t,modelValue:t.modelValue},s);e.onMounted(()=>{n()}),e.watch(()=>t.modelValue,N=>{N===void 0&&(t.multi?c.value=[]:c.value=void 0)});const S=e.ref([]);return e.watch(l,N=>{N>=0&&S.value[N]&&S.value[N]?.scrollIntoView({block:"nearest",behavior:"smooth"})}),e.watch(u,()=>{S.value=[]}),r({clear:f,inputTextRef:a,selectedLabels:C}),(N,E)=>(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",pt,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E[0]||(E[0]=_=>e.isRef(p)?p.value=_:null),onKeydown:E[1]||(E[1]=(..._)=>e.unref(y)&&e.unref(y)(..._)),class:"w-full h-full text-[13px] px-4 border rounded-sm pl-9 focus:outline-none focus:ring-ring focus:ring-1 focus:ring-blue-500",placeholder:"Пошук",type:"text",ref_key:"inputTextRef",ref:a},null,544),[[e.vModelText,e.unref(p)]]),e.createVNode(Z,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.createVNode(v,{onClick:E[2]||(E[2]=_=>p.value=""),class:"absolute text-gray-400 -translate-y-1/2 cursor-pointer hover:text-red-500 right-4 top-1/2"})]),e.createElementVNode("div",{class:e.normalizeClass([N.layout==="popover"?"flex-1 overflow-y-auto max-h-64 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(u),(_,F)=>(e.openBlock(),e.createBlock(U,{layout:N.layout,count:_.count,label:_[e.unref(w)],color:_.color,type:N.multi?"checkbox":"radio",value:_[e.unref(x)],"is-selected":e.unref(d)(_),highlighted:F===e.unref(l),onItemClick:I=>e.unref(k)(_),ref_for:!0,ref:I=>S.value[F]=I?.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),N.type==="select"&&e.unref(u).length===0&&!e.unref(b)?(e.openBlock(),e.createElementBlock("div",gt,[e.createElementVNode("div",yt,[e.createVNode(P),E[7]||(E[7]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),N.layout!=="popover"&&N.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(g)&&e.unref(h)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:E[3]||(E[3]=(..._)=>e.unref(o)&&e.unref(o)(..._)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[E[8]||(E[8]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(j)])):e.createCommentVNode("",!0),e.unref(g)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:E[4]||(E[4]=(..._)=>e.unref(o)&&e.unref(o)(..._)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[E[9]||(E[9]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(H)])):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",bt,[e.createTextVNode(e.toDisplayString(N.multi&&Array.isArray(e.unref(c))?e.unref(c)?.length:e.unref(c)!==void 0&&(e.unref(c)||e.unref(c)===null)?1:0)+" з "+e.toDisplayString(e.unref(V))+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:E[5]||(E[5]=(..._)=>e.unref(f)&&e.unref(f)(..._))}," Очистити ",512),[[e.vShow,e.unref(c)!==""&&e.unref(c)!==void 0||e.unref(c)]])])):e.createCommentVNode("",!0),N.layout==="popover"?(e.openBlock(),e.createElementBlock("div",kt,[e.createElementVNode("span",null,e.toDisplayString(N.multi&&Array.isArray(e.unref(c))?e.unref(c)?.length:e.unref(c)!==void 0&&(e.unref(c)||e.unref(c)===null)?1:0)+" з "+e.toDisplayString(e.unref(V))+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:E[6]||(E[6]=(..._)=>e.unref(f)&&e.unref(f)(..._))}," Очистити ",512),[[e.vShow,e.unref(c)!==""&&e.unref(c)!==void 0||e.unref(c)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),xt=["for","onClick"],wt=["id","name","value"],Vt={class:"block"},Bt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ct={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Et=e.defineComponent({__name:"tag-field",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=m,{innerValue:a,isSelected:c,selectItem:u,clear:d,labelKey:k,valueKey:f,allOptions:n}=t.multi?X({...t,modelValue:t.modelValue??t.default??[]},s):G({...t,modelValue:t.modelValue!==void 0?t.modelValue:t.default??""},s);return r({clear:d}),e.watch(()=>t.modelValue,o=>{o===void 0&&(t.multi?a.value=[]:a.value=void 0)}),(o,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",o.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n),g=>(e.openBlock(),e.createElementBlock("label",{key:`item-${g[e.unref(f)]}`,for:`item-${g[e.unref(f)]}`,onClick:e.withModifiers(h=>e.unref(u)(g),["stop","prevent"]),class:e.normalizeClass([e.unref(c)(g)?"ring-2 ring-indigo-600":"","p-2.5 group relative flex justify-center items-center gap-x-12 text-center text-xs bg-white text-gray-800 border border-gray-200 cursor-pointer rounded-lg dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-200 peer-checked:text-indigo-600 dark:has-checked:text-indigo-500 peer-checked:border-indigo-600 dark:has-checked:border-indigo-500 peer-checked:ring peer-checked:shadow focus:ring dark:has-checked:ring-indigo-500 has-disabled:pointer-events-none has-disabled:text-gray-200 dark:has-disabled:text-neutral-700 has-disabled:after:absolute has-disabled:after:inset-0 has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-gray-200)_calc(50%-1px),var(--color-gray-200)_50%,transparent_50%)] dark:has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-neutral-700)_calc(50%-1px),var(--color-neutral-700)_50%,transparent_50%)]"])},[e.createElementVNode("input",{type:"checkbox",id:`item-${g[e.unref(f)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${g[e.unref(f)]}`,value:g[e.unref(f)]},null,8,wt),e.createElementVNode("span",Vt,e.toDisplayString(g[e.unref(k)]),1)],10,xt))),128))],2),o.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Bt,[e.createTextVNode(e.toDisplayString(o.multi&&Array.isArray(e.unref(a))?e.unref(a)?.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" з "+e.toDisplayString(e.unref(n).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:b[0]||(b[0]=(...g)=>e.unref(d)&&e.unref(d)(...g))}," Очистити ",512),[[e.vShow,e.unref(a)!==""&&e.unref(a)!==void 0||e.unref(a)]])])):e.createCommentVNode("",!0),o.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ct,[e.createElementVNode("span",null,e.toDisplayString(o.multi&&Array.isArray(e.unref(a))?e.unref(a)?.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" з "+e.toDisplayString(e.unref(n).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:b[1]||(b[1]=(...g)=>e.unref(d)&&e.unref(d)(...g))}," Очистити ",512),[[e.vShow,e.unref(a)!==void 0&&e.unref(a)!==""||e.unref(a)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))}}),Nt={},_t={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"text-blue-600 w-[16px] h-[16px]"};function $t(i,r){return e.openBlock(),e.createElementBlock("svg",_t,r[0]||(r[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)]))}const T=M(Nt,[["render",$t]]),Dt={},St={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 At(i,r){return e.openBlock(),e.createElementBlock("svg",St,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 Ft=M(Dt,[["render",At]]),Mt={},Rt={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 Tt(i,r){return e.openBlock(),e.createElementBlock("svg",Rt,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 Kt=M(Mt,[["render",Tt]]),Lt={class:"flex"},jt={class:"mb-1"},zt={class:"mb-1"},It={class:"inline-flex rounded-lg shrink-0 pl-1"},Ot={class:"inline-flex rounded-lg shrink-0 pl-1"},Ut={key:1,class:"flex gap-1 !w-[75%] rounded-lg"},Pt=["max","disabled"],Ht=["min","disabled"],Sl={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},oe={radio:_e,checkbox:J,check:J,text:Ie,range:Ge,date:ut,select:ht,tag:Et,"date:inline":e.defineComponent({__name:"date-input-inline",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=m,a=e.ref(null),{activeMode:c,innerValue:u,onSelectChange:d,nextClick:k,prevClick:f,currentLabel:n,clear:o}=le({...t,popoverRef:a},s);return e.watch(()=>t.modelValue,b=>{b!==void 0?(u.value=b,s("update:modelValue",b)):(c.value="",u.value=[])}),r({clear:o,popoverRef:a}),(b,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Lt,[e.createVNode(W,{ref_key:"popoverRef",ref:a,label:e.unref(n),"current-value":e.unref(u),mode:b.mode,onClear:e.unref(o),layout:b.layout},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:g[0]||(g[0]=h=>e.unref(d)("range")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[g[12]||(g[12]=e.createTextVNode(" Період ",-1)),e.unref(c)==="range"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),g[19]||(g[19]=e.createElementVNode("div",null,[e.createElementVNode("div",{class:"pt-1 mt-1 border-t"})],-1)),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:g[1]||(g[1]=h=>e.unref(d)("today")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[g[13]||(g[13]=e.createTextVNode(" Сьогодні ",-1)),e.unref(c)==="today"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:g[2]||(g[2]=h=>e.unref(d)("week")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[g[14]||(g[14]=e.createTextVNode(" Тиждень ",-1)),e.unref(c)==="week"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:g[3]||(g[3]=h=>e.unref(d)("month")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[g[15]||(g[15]=e.createTextVNode(" Місяць ",-1)),e.unref(c)==="month"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:g[4]||(g[4]=h=>e.unref(d)("quarter")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[g[16]||(g[16]=e.createTextVNode(" Квартал ",-1)),e.unref(c)==="quarter"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",jt,[e.createElementVNode("button",{type:"button",onClick:g[5]||(g[5]=h=>e.unref(d)("year")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[g[17]||(g[17]=e.createTextVNode(" Рік ",-1)),e.unref(c)==="year"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",zt,[e.createElementVNode("button",{type:"button",onClick:g[6]||(g[6]=h=>e.unref(o)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[g[18]||(g[18]=e.createTextVNode(" Весь час ",-1)),e.unref(u)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T,{key:0}))])])]),_:1,__:[19]},8,["label","current-value","mode","onClear","layout"]),e.unref(c)!==""&&e.unref(c)!=="range"&&e.unref(c)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",It,[e.createElementVNode("button",{type:"button",title:"Попередній період",class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 bg-gray-100 gap-x-2 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:g[7]||(g[7]=(...h)=>e.unref(f)&&e.unref(f)(...h))},[e.createVNode(Ft)])]),e.createElementVNode("div",Ot,[e.createElementVNode("button",{type:"button",title:"Наступний період",class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 gap-x-2 bg-gray-100 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:g[8]||(g[8]=(...h)=>e.unref(k)&&e.unref(k)(...h))},[e.createVNode(Kt)])])],64)):e.createCommentVNode("",!0),e.unref(c)!==""&&e.unref(c)==="range"?(e.openBlock(),e.createElementBlock("div",Ut,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(u)[1],locale:"uk-UA","onUpdate:modelValue":g[9]||(g[9]=h=>e.unref(u)[0]=h),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:b.disabled},null,8,Pt),[[e.vModelText,e.unref(u)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(u)[0],locale:"uk-UA","onUpdate:modelValue":g[10]||(g[10]=h=>e.unref(u)[1]=h),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:b.disabled},null,8,Ht),[[e.vModelText,e.unref(u)[1]]])])):e.createCommentVNode("",!0)]),(b.cleanable,e.createCommentVNode("",!0))],64))}})};function q(i,r){let m;switch(i.toLowerCase()){case"autocomplete":m="select";break;case"check":m="checkbox";break;default:m=i?.toString().toLowerCase()}return m==="date"&&r&&r==="inline"&&(m="date:inline"),{component:oe[m]||oe.text,type:m}}const Yt={},Wt={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-reload absolute inline mr-1 text-gray-800 transition-all cursor-pointer active:rotate-90 right-1 top-1 hover:text-blue-500"};function qt(i,r){return e.openBlock(),e.createElementBlock("svg",Wt,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 Qt=M(Yt,[["render",qt]]),Gt={style:{display:"inline-flex",margin:"0px",width:"100%"}},Xt={class:"relative w-full mb-2 p-4 bg-white rounded-lg shadow-sm"},Jt={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},Zt={class:"flex items-center"},vt={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},el={class:"filter-layout__body"},tl=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=m,a=e.ref(),c=q(t.type,t.layout),u=e.computed({get:()=>t.modelValue,set:n=>s("update:modelValue",n)});function d(n){s("clear",n)}function k(n,o){s("change",{name:n,value:o}),t.modelValue!==void 0&&s("update:modelValue",o)}function f(){a.value&&a.value.clear(),s("clear",t.name)}return e.watch(()=>t.default,n=>{u.value=n}),e.watch(()=>t.modelValue,n=>{u.value=n}),r({filterRef:a}),(n,o)=>(e.openBlock(),e.createElementBlock("div",Gt,[e.createElementVNode("div",Xt,[e.createElementVNode("div",Jt,[e.createElementVNode("div",Zt,[e.createElementVNode("span",vt,e.toDisplayString(n.label),1)]),typeof u.value=="string"&&u.value.trim()!==""||Array.isArray(u.value)&&u.value.length>0&&u.value.some(b=>b!==void 0)||u.value===null?(e.openBlock(),e.createBlock(Qt,{key:0,onClick:f})):e.createCommentVNode("",!0)]),e.createElementVNode("div",el,[e.unref(c)?.type!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c)?.component),e.mergeProps({key:0},t,{type:e.unref(c)?.type,onChange:o[0]||(o[0]=b=>k(b.name,b.value)),onClear:o[1]||(o[1]=b=>d(b)),ref_key:"filterRef",ref:a}),null,16,["type"])):(e.openBlock(),e.createBlock(W,{key:1,"current-value":u.value,label:n.label,mode:n.mode,onClear:f,fieldRef:a.value,width:void 0,disabled:n.disabled,layout:"vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c)?.component),e.mergeProps({ref_key:"filterRef",ref:a},t,{type:e.unref(c)?.type,onChange:o[2]||(o[2]=b=>k(b.name,b.value)),onClear:o[3]||(o[3]=b=>d(b))}),null,16,["type"]))]),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])]))}}),ne=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=m,a=e.ref(),c=q(t.type,t.layout),u=e.computed({get:()=>t.modelValue,set:n=>s("update:modelValue",n)});function d(n){s("clear",n)}function k(n,o){s("change",{name:n,value:o}),t.modelValue!==void 0&&s("update:modelValue",o)}function f(){a.value&&a.value.clear(),s("clear",t.name)}return e.watch(()=>t.default,n=>{u.value=n}),e.watch(()=>t.modelValue,n=>{u.value=n}),r({filterRef:a}),(n,o)=>["text","date"].includes(n.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c)?.component),e.mergeProps({key:0},t,{type:e.unref(c)?.type,onChange:o[0]||(o[0]=b=>k(b.name,b.value)),onClear:o[1]||(o[1]=b=>d(b)),disabled:n.disabled,modelValue:u.value,"onUpdate:modelValue":o[2]||(o[2]=b=>u.value=b)}),null,16,["type","disabled","modelValue"])):(e.openBlock(),e.createBlock(W,{key:1,"current-value":u.value,label:n.label,mode:n.mode,onClear:f,fieldRef:a.value,width:t.width,disabled:n.disabled,layout:"inline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c)?.component),e.mergeProps({ref_key:"filterRef",ref:a},t,{modelValue:u.value,"onUpdate:modelValue":o[3]||(o[3]=b=>u.value=b),type:e.unref(c)?.type,onChange:o[4]||(o[4]=b=>k(b.name,b.value)),onClear:o[5]||(o[5]=b=>d(b))}),null,16,["modelValue","type"]))]),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}),ll=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},type:{},label:{},width:{},options:{},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=m,a=e.ref(),c=e.ref(q(t.type,t.layout)),u=e.computed({get:()=>t.modelValue,set:f=>s("update:modelValue",f)});function d(f){s("clear",f)}function k(f,n){s("change",{name:f,value:n}),t.modelValue!==void 0&&s("update:modelValue",n)}return e.watch(()=>t.default,f=>{u.value=f}),e.watch(()=>t.modelValue,f=>{u.value=f}),e.watch(()=>t,f=>{u.value=f}),r({filterRef:a}),(f,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value?.component),e.mergeProps(t,{type:c.value?.type,modelValue:u.value,"onUpdate:modelValue":n[0]||(n[0]=o=>u.value=o),onChange:n[1]||(n[1]=o=>k(o.name,o.value)),onClear:n[2]||(n[2]=o=>d(o)),ref_key:"filterRef",ref:a}),null,16,["type","modelValue"]))}}),K=e.defineComponent({__name:"filter-field",props:{id:{},name:{},type:{},label:{},width:{},options:{default:()=>[]},placeHolder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean,default:!0},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{default:"name"}},emits:["update:modelValue","change","clear"],setup(i,{expose:r,emit:m}){const t=i,s=m,a=e.ref(),c=e.computed({get:()=>t.modelValue,set:f=>s("update:modelValue",f)});function u(f){s("clear",f)}function d(f,n){s("change",{name:f,value:n}),t.modelValue!==void 0&&s("update:modelValue",n)}e.watch(()=>t.default,f=>{c.value=f}),e.watch(()=>t.modelValue,f=>{c.value=f}),r({filterRef:a});function k(){switch(t.layout){case"inline":return ne;case"vertical":return tl;case"popover":return ll;default:return ne}}return(f,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k()),e.mergeProps(t,{onChange:n[0]||(n[0]=o=>d(o.name,o.value)),onClear:n[1]||(n[1]=o=>u(o)),modelValue:c.value,"onUpdate:modelValue":n[2]||(n[2]=o=>c.value=o)}),null,16,["modelValue"]))}});function Q(i,r){const{slots:m}=i,t=e.ref(i.value??{}),s=e.computed(()=>(e.toRaw(m?.default?.())??[]).flatMap(l=>Array.isArray(l.children)?l.children:[l]));function a(x){delete t.value[x],r("clear",{data:e.toRaw(t.value),name:x})}function c(x,l){l===void 0?(a(x),r("change",{data:e.toRaw(t.value),name:x,undefined:void 0})):t.value={...t.value,[x]:l},r("change",{data:e.toRaw(t.value),name:x,value:l})}const u=e.computed(()=>s.value.map(x=>{const l=x.props?.name;return e.cloneVNode(x,{...x.props,layout:i.view,showClean:!0,modelValue:t[l],"onUpdate:modelValue":y=>{c(l,y)},onClear:()=>a(l)})})),d=e.computed(()=>new Map(u.value.map(x=>{const l=x.props?.name;return l?[l,x]:null}).filter(x=>x!==null)));function k(){t.value={},r("clearAll",{data:e.toRaw(t.value),name:"ALL"})}const f=e.ref(""),n=e.computed(()=>i.schema?.value?Object.entries(t.value).filter(([x,l])=>i.schema&&!(x in i.schema.value)?!1:Array.isArray(l)?l.some(y=>y!==""&&y!==void 0):l!==""&&l!==void 0).length:0),o=e.ref();e.watch(f,async()=>{await e.nextTick(),o?.value?.filterRef?.inputTextRef&&o.value.filterRef.inputTextRef.focus()});const b=e.computed(()=>i.schema?.value?Object.fromEntries(Object.entries(i.schema?.value).slice(0,i.limit)):{}),g=e.computed(()=>i.schema?.value?i.view!=="inline"?i.schema?.value:Object.fromEntries(Object.entries(i.schema?.value).slice(i.limit)):{}),h=e.computed(()=>{if(u.value.length===0)return[];let x=0;if(i.schema?.value){const l=Object.entries(i.schema.value).length;l<i.limit?x=i.limit-l:x=0}return u.value.slice(0,x)}),p=e.computed(()=>u.value.length===0?[]:i.view!=="inline"?u.value:u.value.slice(h.value.length));function w(){if(g.value){const[x]=Object.keys(g.value);f.value=x}else p.value.length>0?f.value=p.value[0].props.name:f.value=""}return{activeFilter:t,activeFilterCount:n,onFilterChange:c,clearFilter:a,clearAllFilters:k,limitedSchema:b,popoverSchema:g,filtersSlot:u,limitedFiltersSlot:h,popoverFiltersSlot:p,vnodeMap:d,onPopoverOpen:w,selectedFilter:f,filterRef:o}}const ol=e.defineComponent({__name:"popover",emits:["open","close"],setup(i,{emit:r}){const m=e.ref(!1),t=e.ref(null),s=e.ref(null),a=e.ref(null),c=e.ref({top:"0px",left:"0px",position:"absolute"});function u(){m.value=!m.value}function d(){const o=a.value,b=t.value;if(!o||!b)return;const g=o.getBoundingClientRect(),h=b.offsetWidth,p=window.innerWidth-g.left;let w=g.left+window.scrollX;h>p&&(w=window.innerWidth-h-8,w<8&&(w=8)),c.value={position:"absolute",top:`${g.bottom+window.scrollY+8}px`,left:`${w}px`}}function k(o){const b=o.target;!a.value?.contains(o.target)&&!t.value?.contains(o.target)&&!b.closest("[data-inside-popover]")&&(m.value=!1)}const f=e.ref(!1);e.onMounted(()=>{f.value=!0}),e.onMounted(()=>{a.value=s.value?.querySelector("[data-popover-trigger]")||null,a.value?.addEventListener("click",u),document.addEventListener("click",k),window.addEventListener("resize",d),window.addEventListener("scroll",d,!0)}),e.onBeforeUnmount(()=>{a.value?.removeEventListener("click",u),document.removeEventListener("click",k),window.removeEventListener("resize",d),window.removeEventListener("scroll",d,!0)});const n=r;return e.watch(m,async o=>{o?(n("open"),await e.nextTick(),d()):n("close")}),(o,b)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:s},[e.renderSlot(o.$slots,"trigger"),f.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(c.value)},[e.renderSlot(o.$slots,"default")],4),[[e.vShow,m.value]])])):e.createCommentVNode("",!0)],512))}}),nl={},rl={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 al(i,r){return e.openBlock(),e.createElementBlock("svg",rl,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 sl=M(nl,[["render",al]]),il={key:0,class:"inline-flex rounded-sm items-center border font-semibold border-transparent hover:bg-secondary/80 bg-blue-500 text-white text-xs px-1.5"},cl={class:"flex"},dl={class:"w-64 border-r border-gray-200"},fl={class:"p-2"},ul=["onClick"],ml={class:"flex items-center gap-2"},pl={class:"text-sm font-medium"},gl={key:0,class:"inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 bg-blue-100 text-blue-700 text-xs p-2"},yl=["onClick"],bl={class:"flex items-center gap-2"},kl={class:"text-sm font-medium"},hl={key:0,class:"inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 bg-blue-100 text-blue-700 text-xs p-2"},xl={key:0,class:"p-2 border-t"},wl={class:"flex-1 min-h-[300px] overflow-y-auto"},Vl={key:0,class:"flex items-center justify-center h-full text-gray-500"},re=e.defineComponent({__name:"popover-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(i,{expose:r,emit:m}){const t=i,s=te(t.mode),a=e.useSlots(),c=m,u=e.ref({}),{activeFilter:d,activeFilterCount:k,onFilterChange:f,clearFilter:n,clearAllFilters:o,popoverSchema:b,popoverFiltersSlot:g,onPopoverOpen:h,selectedFilter:p,filterRef:w}=Q({...t,schema:u,slots:a},c);return e.watch(()=>t.schema,x=>{u.value=x},{deep:!0,immediate:!0}),r({clearFilter:n,clearAllFilters:o}),(x,l)=>(e.openBlock(),e.createBlock(ol,{onOpen:e.unref(h),onClose:l[5]||(l[5]=y=>p.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass(e.unref(s)+(e.unref(k)>0?"bg-blue-50 border-blue-200 text-blue-700 hover:bg-blue-100":"text-gray-800 hover:bg-gray-200 focus:bg-gray-200")),type:"button"},[e.createVNode(sl),l[6]||(l[6]=e.createTextVNode(" Фільтр ",-1)),e.unref(k)>0?(e.openBlock(),e.createElementBlock("div",il,e.toDisplayString(e.unref(k)),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",cl,[e.createElementVNode("div",dl,[l[7]||(l[7]=e.createElementVNode("div",{class:"p-4 border-b"},[e.createElementVNode("p",{class:"text-sm text-gray-600"},"Select a field to start creating a filter.")],-1)),e.createElementVNode("div",fl,[x.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(b)),([y,C])=>(e.openBlock(),e.createElementBlock("button",{key:y,onClick:()=>{p.value=y},class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e.unref(p)===y?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":""])},[e.createElementVNode("div",ml,[e.createElementVNode("span",pl,e.toDisplayString(C.label),1)]),(Array.isArray(e.unref(d)[y])?e.unref(d)[y]?.length>0:e.unref(d)[y]||e.unref(d)[y]===null)?(e.openBlock(),e.createElementBlock("div",gl)):e.createCommentVNode("",!0)],10,ul))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(y,C)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+C,onClick:V=>p.value=y.props.name,class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e.unref(p)===y.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":""])},[e.createElementVNode("div",bl,[e.createElementVNode("span",kl,e.toDisplayString(y.props.label),1)]),e.unref(d)[y.props.name]?.length>0?(e.openBlock(),e.createElementBlock("div",hl)):e.createCommentVNode("",!0)],10,yl))),128))]),e.unref(k)>0?(e.openBlock(),e.createElementBlock("div",xl,[e.createElementVNode("button",{class:"w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors",onClick:l[0]||(l[0]=(...y)=>e.unref(o)&&e.unref(o)(...y)),"data-inside-popover":""}," Очистити всі ")])):e.createCommentVNode("",!0)]),e.createElementVNode("div",wl,[e.unref(p)===""?(e.openBlock(),e.createElementBlock("div",Vl,l[8]||(l[8]=[e.createElementVNode("p",{class:"text-sm"},"Select a field to start creating a filter.",-1)]))):e.createCommentVNode("",!0),e.unref(p)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(b)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(b)),([y,C])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(p)===y?(e.openBlock(),e.createBlock(K,e.mergeProps({name:y,key:y,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:w},{ref_for:!0},C,{onChange:l[1]||(l[1]=V=>e.unref(f)(V.name,V.value)),onClear:l[2]||(l[2]=V=>{e.unref(n)(V),e.unref(f)(V,void 0)}),modelValue:e.unref(d)[y],"onUpdate:modelValue":V=>e.unref(d)[y]=V,cleanable:!0}),null,16,["name","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(y,C)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+C},[e.unref(p)===y.props.name?(e.openBlock(),e.createBlock(K,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},y.props,{ref_for:!0,ref_key:"filterRef",ref:w,onChange:l[3]||(l[3]=V=>e.unref(f)(V.name,V.value)),onClear:l[4]||(l[4]=V=>{e.unref(n)(V),e.unref(f)(V,void 0)}),modelValue:e.unref(d)[y.props.name],"onUpdate:modelValue":V=>e.unref(d)[y.props.name]=V,cleanable:!0}),null,16,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0)])])]),_:1},8,["onOpen"]))}}),Bl={class:"flex gap-1 items-center flex-wrap"},ae=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(i,{emit:r}){const m=i,t=r,s=e.useSlots(),a=e.ref({}),{activeFilter:c,activeFilterCount:u,onFilterChange:d,clearFilter:k,clearAllFilters:f,limitedSchema:n,popoverSchema:o,filtersSlot:b,limitedFiltersSlot:g,popoverFiltersSlot:h}=Q({...m,schema:a,slots:s},t),p=e.ref();function w(){p.value&&p.value.clearAllFilters(),f()}return e.watch(()=>m.schema,x=>{a.value=x},{deep:!0,immediate:!0}),(x,l)=>(e.openBlock(),e.createElementBlock("div",Bl,[x.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(n)),([y,C])=>(e.openBlock(),e.createBlock(K,e.mergeProps({key:y,name:y,mode:x.mode},{ref_for:!0},C,{onChange:l[0]||(l[0]=V=>e.unref(d)(V.name,V.value)),onClear:l[1]||(l[1]=V=>{e.unref(k)(V),e.unref(d)(V,void 0)}),layout:"inline",cleanable:!0,modelValue:e.unref(c)[y],"onUpdate:modelValue":V=>e.unref(c)[y]=V}),null,16,["name","mode","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(y,C)=>(e.openBlock(),e.createBlock(K,e.mergeProps({key:"slot-"+C,layout:"inline"},{ref_for:!0},y.props,{onChange:l[2]||(l[2]=V=>e.unref(d)(V.name,V.value)),onClear:l[3]||(l[3]=V=>{e.unref(k)(V),e.unref(d)(V,void 0)}),cleanable:!0,modelValue:e.unref(c)[y.props.name],"onUpdate:modelValue":V=>e.unref(c)[y.props.name]=V}),null,16,["modelValue","onUpdate:modelValue"]))),128)),Object.entries(e.unref(o)).length>0||e.unref(h).length>0?(e.openBlock(),e.createBlock(re,e.mergeProps({key:1},m,{schema:e.unref(o),limit:0,onChange:l[4]||(l[4]=y=>e.unref(d)(y.name,y.value)),onClearAll:e.unref(f),onClear:l[5]||(l[5]=y=>e.unref(k)(y.name)),mode:x.mode,ref_key:"popoverRef",ref:p,cleanable:!0}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),(y,C)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y),e.mergeProps({key:"slot-"+C,layout:"popover"},{ref_for:!0},y.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","onClearAll","mode"])):e.createCommentVNode("",!0),e.unref(u)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:w,class:"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-lg bg-gray-100 border border-transparent text-gray-800 hover:bg-gray-200 focus:bg-gray-200"}," Очистити ")):e.createCommentVNode("",!0)]))}}),Cl={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"},El={class:"flex items-center vst-filters vsTailwind flex-col w-full"},Nl=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(i,{emit:r}){const m=i,t=r,s=e.useSlots(),{activeFilter:a,activeFilterCount:c,onFilterChange:u,clearFilter:d,clearAllFilters:k,filtersSlot:f}=Q({...m,slots:s},t);return(n,o)=>n.view==="vertical"?(e.openBlock(),e.createElementBlock("div",Cl,[e.createElementVNode("div",El,[e.unref(c)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:o[0]||(o[0]=(...b)=>e.unref(k)&&e.unref(k)(...b)),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:"w-full ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground border h-10 px-4 py-2 gap-2 m-2 bg-white text-gray-800 hover:bg-gray-200 focus:bg-gray-200",type:"button"}," Очистити ")):e.createCommentVNode("",!0),n.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(n.schema),([b,g])=>(e.openBlock(),e.createBlock(K,e.mergeProps({name:b,layout:"vertical"},{ref_for:!0},g,{onChange:o[1]||(o[1]=h=>e.unref(u)(h.name,h.value)),onClear:o[2]||(o[2]=h=>{e.unref(d)(h),e.unref(u)(h,void 0)}),modelValue:e.unref(a)[b],"onUpdate:modelValue":h=>e.unref(a)[b]=h,showClean:!0}),null,16,["name","modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),(b,g)=>(e.openBlock(),e.createBlock(K,e.mergeProps({key:"slot-"+g,layout:"vertical"},{ref_for:!0},b.props,{onChange:o[3]||(o[3]=h=>e.unref(u)(h.name,h.value)),onClear:o[4]||(o[4]=h=>{e.unref(d)(h),e.unref(u)(h,void 0)}),modelValue:e.unref(a)[b.props.name],"onUpdate:modelValue":h=>e.unref(a)[b.props.name]=h,showClean:!0}),null,16,["modelValue","onUpdate:modelValue"]))),128))])])):e.createCommentVNode("",!0)}}),z=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(i,{emit:r}){const m=i,t=e.ref(m.value??{}),s=r;function a(f,n){t.value={...t.value,[f]:n},s("change",{data:e.toRaw(t.value),name:f,value:n})}function c(f){delete t.value[f],s("clear",{data:e.toRaw(t.value),name:f})}function u(){t.value={},s("clear",{data:e.toRaw(t.value),name:"ALL"}),s("change",{data:e.toRaw(t.value),name:"ALL",value:null})}const d=e.ref({});function k(){switch(m.view){case"inline":return ae;case"vertical":return Nl;case"popover":return re;default:return ae}}return e.watch(()=>m.schema,f=>{if(!f){d.value={};return}if(Array.isArray(f)&&!f.length){d.value={};return}Array.isArray(f)?d.value=f.filter(n=>n.type).reduce((n,o)=>(Object.assign(o,{name:o.id||o.name,type:o.type.toLowerCase()}),n[o.name]=o,o.data&&!o.api&&!o.options&&Object.assign(o,{api:`/api/suggest/${o.data}`}),n),{}):(Object.entries(f).forEach(([n,o])=>{Object.assign(o,{name:n||o.name||o.id,type:o.type.toLowerCase()})}),d.value={...f})},{immediate:!0,deep:!0}),(f,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k()),e.mergeProps(m,{schema:d.value,onChange:n[0]||(n[0]=o=>a(o.name,o.value)),onClear:n[1]||(n[1]=o=>c(o.name)),onClearAll:u}),{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default")]),_:3},16,["schema"]))}});z.install=function(r){r.component("VsFilter",z)},R.Filter=z,R.FilterField=K,R.default=z,Object.defineProperties(R,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@opengis/filter",
|
|
3
|
+
"version": "0.0.13",
|
|
4
|
+
"description": "A flexible and extensible filter component system for Vue 3. Ideal for building customizable filter UIs with checkbox, radio, or custom slot fields.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "filter.js",
|
|
7
|
+
"module": "filter.es.js",
|
|
8
|
+
"types": "filter.d.ts",
|
|
9
|
+
"files": [
|
|
10
|
+
"."
|
|
11
|
+
],
|
|
12
|
+
"homepage": "https://filter.opengis.info/",
|
|
13
|
+
"keywords": [
|
|
14
|
+
"filter",
|
|
15
|
+
"vue3"
|
|
16
|
+
],
|
|
17
|
+
"author": {
|
|
18
|
+
"name": "OpenGIS",
|
|
19
|
+
"url": "https://opengis.info/"
|
|
20
|
+
},
|
|
21
|
+
"license": "MIT"
|
|
22
|
+
}
|
package/package.json
CHANGED
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengis/filter",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.14",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"main": "
|
|
5
|
+
"main": "filter.js",
|
|
6
|
+
"private": false,
|
|
7
|
+
"module": "filter.es.js",
|
|
8
|
+
"types": "filter.d.ts",
|
|
6
9
|
"files": [
|
|
7
10
|
"dist"
|
|
8
11
|
],
|
|
12
|
+
"description": "A flexible and extensible filter component system for Vue 3. Ideal for building customizable filter UIs with checkbox, radio, or custom slot fields.",
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"homepage": "https://filter.opengis.info/",
|
|
15
|
+
"author": {
|
|
16
|
+
"name": "OpenGIS",
|
|
17
|
+
"url": "https://opengis.info/"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"filter",
|
|
21
|
+
"vue3"
|
|
22
|
+
],
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "git://github.com/opengisinfo/filter"
|
|
26
|
+
},
|
|
9
27
|
"scripts": {
|
|
10
28
|
"lint": "eslint src --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
|
|
11
29
|
"dev": "vite",
|
|
@@ -16,20 +34,14 @@
|
|
|
16
34
|
"test": "vitest",
|
|
17
35
|
"docs:dev": "npm run --prefix ./docs docs:dev",
|
|
18
36
|
"docs:build": "npm run --prefix ./docs docs:build",
|
|
19
|
-
"prepare-publish": "bun run scripts/pre-publish.ts",
|
|
20
|
-
"post-publish": "bun run scripts/post-publish.ts",
|
|
21
|
-
"prepublishOnly": "bun run build && bun run prepare-publish",
|
|
22
|
-
"after-publish": "bun run post-publish",
|
|
23
37
|
"publish": "bun run custom-publish",
|
|
24
|
-
"custom-publish": "bun run build && bun run scripts/pre-publish.ts &&
|
|
38
|
+
"custom-publish": "bun run build && bun run scripts/pre-publish.ts && cd dist/ && bun publish",
|
|
25
39
|
"docs:preview": "npm run --prefix ./docs docs:preview"
|
|
26
40
|
},
|
|
27
41
|
"dependencies": {},
|
|
28
42
|
"devDependencies": {
|
|
29
43
|
"@tsconfig/node22": "^22.0.2",
|
|
30
44
|
"@types/node": "^22.15.32",
|
|
31
|
-
"typescript": "~5.8.0",
|
|
32
|
-
"vue-tsc": "^2.2.10",
|
|
33
45
|
"@vitejs/plugin-vue": "^6.0.0",
|
|
34
46
|
"@vue/eslint-config-typescript": "^12.0.0",
|
|
35
47
|
"@vue/test-utils": "^2.4.6",
|
|
@@ -38,8 +50,10 @@
|
|
|
38
50
|
"eslint-config-airbnb": "19.0.4",
|
|
39
51
|
"eslint-plugin-import": "^2.25.3",
|
|
40
52
|
"eslint-plugin-vue": "^9.17.0",
|
|
53
|
+
"typescript": "~5.8.0",
|
|
41
54
|
"vite": "^7.0.0",
|
|
42
55
|
"vitest": "^3.2.4",
|
|
43
|
-
"vue": "^3.5.18"
|
|
56
|
+
"vue": "^3.5.18",
|
|
57
|
+
"vue-tsc": "^2.2.10"
|
|
44
58
|
}
|
|
45
59
|
}
|