@opengis/filter 0.1.13 → 0.1.15
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/components/filter/layouts/inline-filter-layout.vue.d.ts.map +1 -1
- package/dist/components/filter/layouts/popover-filter-layout.vue.d.ts.map +1 -1
- package/dist/components/filter/layouts/popover-inline-filter-layout.vue.d.ts.map +1 -1
- package/dist/components/filter/layouts/vertical-filter-layout.vue.d.ts.map +1 -1
- package/dist/components/filter-field/fields/button-field.vue.d.ts.map +1 -1
- package/dist/components/filter-field/fields/date-input.vue.d.ts.map +1 -1
- package/dist/components/filter-field/layouts/inline-layout.vue.d.ts.map +1 -1
- package/dist/components/filter-field/layouts/popover-layout.vue.d.ts.map +1 -1
- package/dist/components/filter-field/layouts/vertical-layout.vue.d.ts.map +1 -1
- package/dist/composable/i18n.d.ts.map +1 -1
- package/dist/composable/useFilter.d.ts.map +1 -1
- package/dist/composable/useLocale.d.ts +1 -1
- package/dist/composable/useLocale.d.ts.map +1 -1
- package/dist/composable/useStyle.d.ts.map +1 -1
- package/dist/index.js +1550 -1503
- package/dist/index.umd.cjs +2 -1
- package/dist/types/filter.d.ts +2 -0
- package/dist/types/filter.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { createElementBlock as w, openBlock as
|
|
1
|
+
import { createElementBlock as w, openBlock as i, createElementVNode as s, defineComponent as q, ref as A, withModifiers as se, normalizeClass as E, createCommentVNode as V, toDisplayString as B, computed as O, watch as U, createStaticVNode as Ne, Fragment as I, renderList as X, unref as e, createBlock as T, createVNode as Q, createTextVNode as G, withDirectives as W, vShow as J, getCurrentInstance as Pe, vModelText as ee, onBeforeUnmount as pe, onMounted as ce, isRef as Ye, Teleport as ge, normalizeStyle as be, renderSlot as ue, nextTick as me, withCtx as ae, resolveDynamicComponent as ne, mergeProps as Z, toRaw as de, cloneVNode as We, useSlots as fe, reactive as qe, withKeys as $e, createSlots as Qe, normalizeProps as He, guardReactiveProps as Ge } from "vue";
|
|
2
2
|
import { notify as Ae } from "@opengis/core";
|
|
3
|
-
const te = (
|
|
4
|
-
const
|
|
5
|
-
for (const [t, u] of
|
|
6
|
-
|
|
7
|
-
return
|
|
8
|
-
},
|
|
3
|
+
const te = (f, a) => {
|
|
4
|
+
const y = f.__vccOpts || f;
|
|
5
|
+
for (const [t, u] of a)
|
|
6
|
+
y[t] = u;
|
|
7
|
+
return y;
|
|
8
|
+
}, Xe = {}, Ze = {
|
|
9
9
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10
10
|
width: "15px",
|
|
11
11
|
height: "24",
|
|
@@ -17,26 +17,26 @@ const te = (c, n) => {
|
|
|
17
17
|
"stroke-linejoin": "round",
|
|
18
18
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-reload absolute inline mr-1 text-gray-800 transition-all cursor-pointer active:rotate-90 right-1 top-1 hover:text-blue-500"
|
|
19
19
|
};
|
|
20
|
-
function
|
|
21
|
-
return
|
|
22
|
-
|
|
20
|
+
function Je(f, a) {
|
|
21
|
+
return i(), w("svg", Ze, a[0] || (a[0] = [
|
|
22
|
+
s("path", {
|
|
23
23
|
stroke: "none",
|
|
24
24
|
d: "M0 0h24v24H0z",
|
|
25
25
|
fill: "none"
|
|
26
26
|
}, null, -1),
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
s("path", { d: "M19.933 13.041a8 8 0 1 1 -9.925 -8.788c3.899 -1 7.935 1.007 9.425 4.747" }, null, -1),
|
|
28
|
+
s("path", { d: "M20 4v5h-5" }, null, -1)
|
|
29
29
|
]));
|
|
30
30
|
}
|
|
31
|
-
const
|
|
31
|
+
const et = /* @__PURE__ */ te(Xe, [["render", Je]]), tt = { class: "flex items-center justify-between w-full text-sm" }, lt = { class: "flex items-center cursor-pointer w-full" }, ot = {
|
|
32
32
|
key: 0,
|
|
33
33
|
width: "16",
|
|
34
34
|
height: "auto",
|
|
35
35
|
src: "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="
|
|
36
|
-
},
|
|
36
|
+
}, at = ["value"], nt = { class: "w-[calc(100%-18px)] flex flex-row items-center justify-between pl-[10px]" }, rt = { class: "flex flex-row items-center font-normal text-gray-800 gap-x-1" }, st = {
|
|
37
37
|
key: 0,
|
|
38
38
|
class: "text-xs text-gray-500 dark:text-neutral-500 pr-1"
|
|
39
|
-
}, he = /* @__PURE__ */
|
|
39
|
+
}, he = /* @__PURE__ */ q({
|
|
40
40
|
__name: "list-item",
|
|
41
41
|
props: {
|
|
42
42
|
layout: {},
|
|
@@ -49,44 +49,44 @@ const Je = /* @__PURE__ */ te(Ge, [["render", Ze]]), et = { class: "flex items-c
|
|
|
49
49
|
highlighted: { type: Boolean }
|
|
50
50
|
},
|
|
51
51
|
emits: ["itemClick"],
|
|
52
|
-
setup(
|
|
53
|
-
const t =
|
|
52
|
+
setup(f, { expose: a, emit: y }) {
|
|
53
|
+
const t = f, u = y;
|
|
54
54
|
function l() {
|
|
55
55
|
u("itemClick", t.value);
|
|
56
56
|
}
|
|
57
|
-
const g =
|
|
58
|
-
return
|
|
57
|
+
const g = A(null);
|
|
58
|
+
return a({ el: g }), (n, m) => (i(), w("div", {
|
|
59
59
|
class: "flex items-center w-full rounded-sm group hover:bg-gray-100",
|
|
60
60
|
ref_key: "el",
|
|
61
61
|
ref: g
|
|
62
62
|
}, [
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
s("div", tt, [
|
|
64
|
+
s("div", lt, [
|
|
65
|
+
s("label", {
|
|
66
66
|
for: "radio-9740",
|
|
67
|
-
class:
|
|
68
|
-
["inline", "popover"].includes(
|
|
69
|
-
{ "bg-blue-100":
|
|
67
|
+
class: E([
|
|
68
|
+
["inline", "popover"].includes(n.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",
|
|
69
|
+
{ "bg-blue-100": n.highlighted }
|
|
70
70
|
]),
|
|
71
|
-
onClick:
|
|
71
|
+
onClick: se(l, ["stop", "prevent"])
|
|
72
72
|
}, [
|
|
73
|
-
|
|
74
|
-
class:
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
s("div", {
|
|
74
|
+
class: E(["w-[18px] h-[18px] border flex items-center justify-center", [
|
|
75
|
+
n.type == "checkbox" ? "rounded-[4px]" : "rounded-full",
|
|
76
|
+
n.color ? `bg-[${n.color}] border-[#ffffff]` : n.isSelected ? "bg-[#2563eb] border-[#ffffff]" : "bg-[#ffffff] border-[#d9d9d9]"
|
|
77
77
|
]])
|
|
78
78
|
}, [
|
|
79
|
-
|
|
79
|
+
n.isSelected ? (i(), w("img", ot)) : V("", !0)
|
|
80
80
|
], 2),
|
|
81
|
-
|
|
81
|
+
s("input", {
|
|
82
82
|
type: "checkbox",
|
|
83
83
|
class: "hidden",
|
|
84
84
|
id: "radio-9740",
|
|
85
|
-
value:
|
|
86
|
-
}, null, 8,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
value: n.value
|
|
86
|
+
}, null, 8, at),
|
|
87
|
+
s("div", nt, [
|
|
88
|
+
s("span", rt, B(n.label ?? "Відсутні данні"), 1),
|
|
89
|
+
n.count ? (i(), w("div", st, " (" + B(n.count) + ") ", 1)) : V("", !0)
|
|
90
90
|
])
|
|
91
91
|
], 2)
|
|
92
92
|
])
|
|
@@ -94,70 +94,70 @@ const Je = /* @__PURE__ */ te(Ge, [["render", Ze]]), et = { class: "flex items-c
|
|
|
94
94
|
], 512));
|
|
95
95
|
}
|
|
96
96
|
});
|
|
97
|
-
function xe(
|
|
97
|
+
function xe(f, a) {
|
|
98
98
|
const {
|
|
99
|
-
options:
|
|
99
|
+
options: y = [],
|
|
100
100
|
limit: t = 20
|
|
101
|
-
} =
|
|
101
|
+
} = f;
|
|
102
102
|
function u(h) {
|
|
103
103
|
return Array.isArray(h) ? h[0] : h;
|
|
104
104
|
}
|
|
105
|
-
const l =
|
|
106
|
-
function
|
|
107
|
-
const
|
|
108
|
-
return { autoValueKey:
|
|
105
|
+
const l = A(u(f.modelValue)), g = A(""), n = A(!1), m = A([]), x = A("id"), d = A("text"), p = A(!1), r = A(f.layout !== "popover" && y.length > t);
|
|
106
|
+
function k(h) {
|
|
107
|
+
const b = h.find(Boolean) ?? {}, K = ["id", "value", "code", "key"].find(($) => $ in b) ?? "id", M = ["text", "label", "name", "title"].find(($) => $ in b) ?? "text";
|
|
108
|
+
return { autoValueKey: K, autoLabelKey: M };
|
|
109
109
|
}
|
|
110
|
-
if (
|
|
111
|
-
const h =
|
|
112
|
-
|
|
110
|
+
if (y.length > 0) {
|
|
111
|
+
const h = k(y);
|
|
112
|
+
x.value = h.autoValueKey, d.value = h.autoLabelKey;
|
|
113
113
|
}
|
|
114
|
-
const
|
|
115
|
-
const h =
|
|
116
|
-
return
|
|
114
|
+
const _ = O(() => {
|
|
115
|
+
const h = m.value;
|
|
116
|
+
return f.layout === "popover" || p.value ? h : h.slice(0, t);
|
|
117
117
|
});
|
|
118
|
-
|
|
118
|
+
U(() => f.modelValue, (h) => {
|
|
119
119
|
l.value = u(h);
|
|
120
|
-
}, { immediate: !0 }),
|
|
121
|
-
function
|
|
122
|
-
return l.value === h[
|
|
120
|
+
}, { immediate: !0 }), m.value = [...y].sort((h, b) => f.sort === "count" ? b.count && h.count ? b.count - h.count : 0 : f.sort === "name" ? String(h[d.value] ?? "").localeCompare(String(b[d.value] ?? "")) : 0);
|
|
121
|
+
function C(h) {
|
|
122
|
+
return l.value === h[x.value];
|
|
123
123
|
}
|
|
124
124
|
function o(h) {
|
|
125
|
-
l.value = h[
|
|
125
|
+
l.value = h[x.value], a("update:modelValue", l.value), a("change", { name: f.name, value: l.value });
|
|
126
126
|
}
|
|
127
|
-
function
|
|
128
|
-
l.value = void 0,
|
|
127
|
+
function c() {
|
|
128
|
+
l.value = void 0, a("update:modelValue", l.value), a("clear", f.name);
|
|
129
129
|
}
|
|
130
|
-
function
|
|
131
|
-
|
|
130
|
+
function v() {
|
|
131
|
+
p.value = !p.value;
|
|
132
132
|
}
|
|
133
133
|
return {
|
|
134
134
|
innerValue: l,
|
|
135
135
|
searchTerm: g,
|
|
136
|
-
filteredOptions:
|
|
137
|
-
isSelected:
|
|
136
|
+
filteredOptions: _,
|
|
137
|
+
isSelected: C,
|
|
138
138
|
selectItem: o,
|
|
139
|
-
clear:
|
|
140
|
-
toggleShowAll:
|
|
141
|
-
isReqProc:
|
|
142
|
-
showAll:
|
|
143
|
-
isEnableShowAll:
|
|
144
|
-
labelKey:
|
|
145
|
-
valueKey:
|
|
146
|
-
allOptions:
|
|
139
|
+
clear: c,
|
|
140
|
+
toggleShowAll: v,
|
|
141
|
+
isReqProc: n,
|
|
142
|
+
showAll: p,
|
|
143
|
+
isEnableShowAll: r,
|
|
144
|
+
labelKey: d,
|
|
145
|
+
valueKey: x,
|
|
146
|
+
allOptions: m
|
|
147
147
|
};
|
|
148
148
|
}
|
|
149
|
-
const
|
|
149
|
+
const it = {}, ut = {
|
|
150
150
|
class: "w-48 mx-auto",
|
|
151
151
|
viewBox: "0 0 178 90",
|
|
152
152
|
fill: "none",
|
|
153
153
|
xmlns: "http://www.w3.org/2000/svg"
|
|
154
154
|
};
|
|
155
|
-
function
|
|
156
|
-
return
|
|
157
|
-
|
|
155
|
+
function dt(f, a) {
|
|
156
|
+
return i(), w("svg", ut, a[0] || (a[0] = [
|
|
157
|
+
Ne('<rect x="27" y="50.5" width="124" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="27" y="50.5" width="124" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter1)"><rect x="12" y="6" width="154" height="40" rx="8" fill="currentColor" class="fill-white dark:fill-neutral-800" shape-rendering="crispEdges"></rect><rect x="12.5" y="6.5" width="153" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/60" shape-rendering="crispEdges"></rect><rect x="20" y="14" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter1" x="0" y="0" width="178" height="64" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="6"></feOffset><feGaussianBlur stdDeviation="6"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1187_14810"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1187_14810" result="shape"></feBlend></filter></defs>', 12)
|
|
158
158
|
]));
|
|
159
159
|
}
|
|
160
|
-
const we = /* @__PURE__ */ te(
|
|
160
|
+
const we = /* @__PURE__ */ te(it, [["render", dt]]), ct = {}, ft = {
|
|
161
161
|
xmlns: "http://www.w3.org/2000/svg",
|
|
162
162
|
width: "24",
|
|
163
163
|
height: "24",
|
|
@@ -169,17 +169,17 @@ const we = /* @__PURE__ */ te(st, [["render", ut]]), dt = {}, ct = {
|
|
|
169
169
|
"stroke-linejoin": "round",
|
|
170
170
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate"
|
|
171
171
|
};
|
|
172
|
-
function
|
|
173
|
-
return
|
|
174
|
-
|
|
172
|
+
function pt(f, a) {
|
|
173
|
+
return i(), w("svg", ft, a[0] || (a[0] = [
|
|
174
|
+
s("path", {
|
|
175
175
|
stroke: "none",
|
|
176
176
|
d: "M0 0h24v24H0z",
|
|
177
177
|
fill: "none"
|
|
178
178
|
}, null, -1),
|
|
179
|
-
|
|
179
|
+
s("path", { d: "M6 9l6 6l6 -6" }, null, -1)
|
|
180
180
|
]));
|
|
181
181
|
}
|
|
182
|
-
const ve = /* @__PURE__ */ te(
|
|
182
|
+
const ve = /* @__PURE__ */ te(ct, [["render", pt]]), mt = {}, vt = {
|
|
183
183
|
xmlns: "http://www.w3.org/2000/svg",
|
|
184
184
|
width: "24",
|
|
185
185
|
height: "24",
|
|
@@ -191,26 +191,26 @@ const ve = /* @__PURE__ */ te(dt, [["render", ft]]), pt = {}, mt = {
|
|
|
191
191
|
"stroke-linejoin": "round",
|
|
192
192
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate-[180deg]"
|
|
193
193
|
};
|
|
194
|
-
function
|
|
195
|
-
return
|
|
196
|
-
|
|
194
|
+
function yt(f, a) {
|
|
195
|
+
return i(), w("svg", vt, a[0] || (a[0] = [
|
|
196
|
+
s("path", {
|
|
197
197
|
stroke: "none",
|
|
198
198
|
d: "M0 0h24v24H0z",
|
|
199
199
|
fill: "none"
|
|
200
200
|
}, null, -1),
|
|
201
|
-
|
|
201
|
+
s("path", { d: "M6 9l6 6l6 -6" }, null, -1)
|
|
202
202
|
]));
|
|
203
203
|
}
|
|
204
|
-
const ke = /* @__PURE__ */ te(
|
|
204
|
+
const ke = /* @__PURE__ */ te(mt, [["render", yt]]), gt = {
|
|
205
205
|
key: 0,
|
|
206
206
|
class: "w-full"
|
|
207
|
-
},
|
|
207
|
+
}, bt = { class: "flex flex-col items-center justify-center p-5 text-center" }, ht = {
|
|
208
208
|
key: 0,
|
|
209
209
|
class: "flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"
|
|
210
|
-
},
|
|
210
|
+
}, xt = {
|
|
211
211
|
key: 1,
|
|
212
212
|
class: "flex justify-between items-center text-xs text-gray-500 p-1 border-t"
|
|
213
|
-
},
|
|
213
|
+
}, wt = /* @__PURE__ */ q({
|
|
214
214
|
__name: "radio",
|
|
215
215
|
props: {
|
|
216
216
|
id: {},
|
|
@@ -235,102 +235,103 @@ const ke = /* @__PURE__ */ te(pt, [["render", vt]]), yt = {
|
|
|
235
235
|
mode: {},
|
|
236
236
|
labelKey: {},
|
|
237
237
|
sort: {},
|
|
238
|
-
ua: {}
|
|
238
|
+
ua: {},
|
|
239
|
+
itemClass: {}
|
|
239
240
|
},
|
|
240
241
|
emits: ["update:modelValue", "change", "clear"],
|
|
241
|
-
setup(
|
|
242
|
-
const t =
|
|
242
|
+
setup(f, { expose: a, emit: y }) {
|
|
243
|
+
const t = f, u = A(null), l = y, {
|
|
243
244
|
innerValue: g,
|
|
244
|
-
filteredOptions:
|
|
245
|
-
isSelected:
|
|
246
|
-
selectItem:
|
|
247
|
-
clear:
|
|
248
|
-
toggleShowAll:
|
|
249
|
-
isReqProc:
|
|
250
|
-
showAll:
|
|
251
|
-
isEnableShowAll:
|
|
252
|
-
labelKey:
|
|
245
|
+
filteredOptions: n,
|
|
246
|
+
isSelected: m,
|
|
247
|
+
selectItem: x,
|
|
248
|
+
clear: d,
|
|
249
|
+
toggleShowAll: p,
|
|
250
|
+
isReqProc: r,
|
|
251
|
+
showAll: k,
|
|
252
|
+
isEnableShowAll: _,
|
|
253
|
+
labelKey: C,
|
|
253
254
|
valueKey: o,
|
|
254
|
-
allOptions:
|
|
255
|
+
allOptions: c
|
|
255
256
|
} = xe({
|
|
256
257
|
...t,
|
|
257
258
|
modelValue: t.modelValue ?? t.default ?? ""
|
|
258
259
|
}, l);
|
|
259
|
-
return
|
|
260
|
-
clear:
|
|
260
|
+
return a({
|
|
261
|
+
clear: d,
|
|
261
262
|
inputTextRef: u
|
|
262
|
-
}),
|
|
263
|
+
}), U(
|
|
263
264
|
() => t.modelValue,
|
|
264
|
-
(
|
|
265
|
-
|
|
265
|
+
(v) => {
|
|
266
|
+
v === void 0 && (g.value = void 0);
|
|
266
267
|
}
|
|
267
|
-
), (
|
|
268
|
-
class:
|
|
268
|
+
), (v, h) => (i(), w("div", {
|
|
269
|
+
class: E([v.layout === "popover" ? "flex flex-col h-full" : "flex flex-col vs-filter-checkbox"])
|
|
269
270
|
}, [
|
|
270
|
-
|
|
271
|
-
class:
|
|
272
|
-
|
|
273
|
-
|
|
271
|
+
s("div", {
|
|
272
|
+
class: E([
|
|
273
|
+
v.layout === "popover" ? "flex-1 overflow-y-auto p-2" : "",
|
|
274
|
+
v.layout === "inline" ? "flex-1 overflow-y-auto max-h-80" : ""
|
|
274
275
|
])
|
|
275
276
|
}, [
|
|
276
|
-
(
|
|
277
|
-
layout:
|
|
278
|
-
key:
|
|
279
|
-
count:
|
|
280
|
-
label:
|
|
281
|
-
color:
|
|
277
|
+
(i(!0), w(I, null, X(e(n), (b) => (i(), T(he, {
|
|
278
|
+
layout: v.layout,
|
|
279
|
+
key: b[e(o)],
|
|
280
|
+
count: b.count,
|
|
281
|
+
label: b[e(C)],
|
|
282
|
+
color: b.color,
|
|
282
283
|
type: "radio",
|
|
283
|
-
value:
|
|
284
|
-
"is-selected": e(
|
|
285
|
-
onItemClick: (
|
|
284
|
+
value: b[e(o)],
|
|
285
|
+
"is-selected": e(m)(b),
|
|
286
|
+
onItemClick: (K) => e(x)(b)
|
|
286
287
|
}, null, 8, ["layout", "count", "label", "color", "value", "is-selected", "onItemClick"]))), 128))
|
|
287
288
|
], 2),
|
|
288
|
-
|
|
289
|
-
|
|
289
|
+
v.type === "select" && e(n).length === 0 && !e(r) ? (i(), w("div", gt, [
|
|
290
|
+
s("div", bt, [
|
|
290
291
|
Q(we),
|
|
291
|
-
h[4] || (h[4] =
|
|
292
|
-
|
|
293
|
-
|
|
292
|
+
h[4] || (h[4] = s("div", { class: "max-w-sm mx-auto mt-6" }, [
|
|
293
|
+
s("p", { class: "font-medium text-gray-800 dark:text-neutral-200" }, "За вашим запитом нічого не знайдено"),
|
|
294
|
+
s("p", { class: "mt-2 text-sm text-gray-500 dark:text-neutral-500" })
|
|
294
295
|
], -1))
|
|
295
296
|
])
|
|
296
297
|
])) : V("", !0),
|
|
297
|
-
|
|
298
|
-
!e(
|
|
298
|
+
v.layout !== "popover" && v.type !== "select" ? (i(), w(I, { key: 1 }, [
|
|
299
|
+
!e(k) && e(_) ? (i(), w("div", {
|
|
299
300
|
key: 0,
|
|
300
301
|
onClick: h[0] || (h[0] = //@ts-ignore
|
|
301
|
-
(...
|
|
302
|
+
(...b) => e(p) && e(p)(...b)),
|
|
302
303
|
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"
|
|
303
304
|
}, [
|
|
304
305
|
h[5] || (h[5] = G(" Показати більше ", -1)),
|
|
305
306
|
Q(ve)
|
|
306
307
|
])) : V("", !0),
|
|
307
|
-
e(
|
|
308
|
+
e(k) ? (i(), w("div", {
|
|
308
309
|
key: 1,
|
|
309
310
|
onClick: h[1] || (h[1] = //@ts-ignore
|
|
310
|
-
(...
|
|
311
|
+
(...b) => e(p) && e(p)(...b)),
|
|
311
312
|
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"
|
|
312
313
|
}, [
|
|
313
314
|
h[6] || (h[6] = G(" Показати менше ", -1)),
|
|
314
315
|
Q(ke)
|
|
315
316
|
])) : V("", !0)
|
|
316
317
|
], 64)) : V("", !0),
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
G(
|
|
320
|
-
|
|
318
|
+
v.cleanable ? (i(), w(I, { key: 2 }, [
|
|
319
|
+
v.layout === "inline" ? (i(), w("div", ht, [
|
|
320
|
+
G(B(e(g) || e(g) === null ? 1 : 0) + " з " + B(e(c).length) + " обрано ", 1),
|
|
321
|
+
W(s("button", {
|
|
321
322
|
class: "text-gray-600 hover:text-gray-800",
|
|
322
323
|
onClick: h[2] || (h[2] = //@ts-ignore
|
|
323
|
-
(...
|
|
324
|
+
(...b) => e(d) && e(d)(...b))
|
|
324
325
|
}, " Очистити ", 512), [
|
|
325
326
|
[J, e(g) !== "" && e(g) !== void 0]
|
|
326
327
|
])
|
|
327
328
|
])) : V("", !0),
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
329
|
+
v.layout === "popover" ? (i(), w("div", xt, [
|
|
330
|
+
s("span", null, B(e(g) || e(g) === null ? 1 : 0) + " з " + B(e(c).length) + " обрано", 1),
|
|
331
|
+
W(s("button", {
|
|
331
332
|
class: "text-gray-600 hover:text-gray-800",
|
|
332
333
|
onClick: h[3] || (h[3] = //@ts-ignore
|
|
333
|
-
(...
|
|
334
|
+
(...b) => e(d) && e(d)(...b))
|
|
334
335
|
}, " Очистити ", 512), [
|
|
335
336
|
[J, e(g) !== "" && e(g) !== void 0]
|
|
336
337
|
])
|
|
@@ -339,60 +340,60 @@ const ke = /* @__PURE__ */ te(pt, [["render", vt]]), yt = {
|
|
|
339
340
|
], 2));
|
|
340
341
|
}
|
|
341
342
|
});
|
|
342
|
-
function
|
|
343
|
+
function Me(f, a) {
|
|
343
344
|
const {
|
|
344
|
-
options:
|
|
345
|
+
options: y = [],
|
|
345
346
|
limit: t = 20
|
|
346
|
-
} =
|
|
347
|
+
} = f;
|
|
347
348
|
function u(h) {
|
|
348
349
|
return Array.isArray(h) ? h : h ? [h] : [];
|
|
349
350
|
}
|
|
350
|
-
const l =
|
|
351
|
-
function
|
|
352
|
-
const
|
|
353
|
-
return { autoValueKey:
|
|
351
|
+
const l = A(u(f.modelValue)), g = A(""), n = A(!1), m = A([]), x = A("id"), d = A("text"), p = A(!1), r = A(f.layout !== "popover" && y.length > t);
|
|
352
|
+
function k(h) {
|
|
353
|
+
const b = h.find(Boolean) ?? {}, K = ["id", "value", "code", "key"].find(($) => $ in b) ?? "id", M = ["text", "label", "name", "title"].find(($) => $ in b) ?? "text";
|
|
354
|
+
return { autoValueKey: K, autoLabelKey: M };
|
|
354
355
|
}
|
|
355
|
-
if (
|
|
356
|
-
const h =
|
|
357
|
-
|
|
356
|
+
if (y.length > 0) {
|
|
357
|
+
const h = k(y);
|
|
358
|
+
x.value = h.autoValueKey, d.value = h.autoLabelKey;
|
|
358
359
|
}
|
|
359
|
-
const
|
|
360
|
-
const h =
|
|
361
|
-
return
|
|
360
|
+
const _ = O(() => {
|
|
361
|
+
const h = m.value;
|
|
362
|
+
return f.layout === "popover" || p.value ? h : h.slice(0, t);
|
|
362
363
|
});
|
|
363
|
-
|
|
364
|
+
U(() => f.modelValue, (h) => {
|
|
364
365
|
l.value = u(h);
|
|
365
|
-
}, { immediate: !0 }),
|
|
366
|
-
function
|
|
367
|
-
return l.value && l.value.includes(h[
|
|
366
|
+
}, { immediate: !0 }), m.value = [...y].sort((h, b) => f.sort === "count" ? b.count && h.count ? b.count - h.count : 0 : f.sort === "name" ? String(h[d.value]).localeCompare(String(b[d.value])) : 0);
|
|
367
|
+
function C(h) {
|
|
368
|
+
return l.value && l.value.includes(h[x.value]);
|
|
368
369
|
}
|
|
369
370
|
function o(h) {
|
|
370
|
-
const
|
|
371
|
-
l.value =
|
|
371
|
+
const b = l.value.includes(h[x.value]);
|
|
372
|
+
l.value = b ? l.value.filter((K) => K !== h[x.value]) : [...l.value, h[x.value]], a("update:modelValue", l.value), a("change", { name: f.name, value: l.value });
|
|
372
373
|
}
|
|
373
|
-
function
|
|
374
|
-
l.value = [],
|
|
374
|
+
function c() {
|
|
375
|
+
l.value = [], a("update:modelValue", l.value), a("clear", f.name);
|
|
375
376
|
}
|
|
376
|
-
function
|
|
377
|
-
|
|
377
|
+
function v() {
|
|
378
|
+
p.value = !p.value;
|
|
378
379
|
}
|
|
379
380
|
return {
|
|
380
381
|
innerValue: l,
|
|
381
382
|
searchTerm: g,
|
|
382
|
-
filteredOptions:
|
|
383
|
-
isSelected:
|
|
383
|
+
filteredOptions: _,
|
|
384
|
+
isSelected: C,
|
|
384
385
|
selectItem: o,
|
|
385
|
-
clear:
|
|
386
|
-
toggleShowAll:
|
|
387
|
-
isReqProc:
|
|
388
|
-
showAll:
|
|
389
|
-
isEnableShowAll:
|
|
390
|
-
labelKey:
|
|
391
|
-
valueKey:
|
|
392
|
-
allOptions:
|
|
386
|
+
clear: c,
|
|
387
|
+
toggleShowAll: v,
|
|
388
|
+
isReqProc: n,
|
|
389
|
+
showAll: p,
|
|
390
|
+
isEnableShowAll: r,
|
|
391
|
+
labelKey: d,
|
|
392
|
+
valueKey: x,
|
|
393
|
+
allOptions: m
|
|
393
394
|
};
|
|
394
395
|
}
|
|
395
|
-
const
|
|
396
|
+
const Be = {
|
|
396
397
|
en: {
|
|
397
398
|
search: "Search",
|
|
398
399
|
more: "Show more",
|
|
@@ -408,7 +409,8 @@ const Se = {
|
|
|
408
409
|
year: "Year",
|
|
409
410
|
alltime: "All Time",
|
|
410
411
|
prev: "Prev",
|
|
411
|
-
next: "Next"
|
|
412
|
+
next: "Next",
|
|
413
|
+
selectFieldHelp: "Select a field to start creating a filter."
|
|
412
414
|
},
|
|
413
415
|
uk: {
|
|
414
416
|
search: "Пошук",
|
|
@@ -425,16 +427,22 @@ const Se = {
|
|
|
425
427
|
year: "Рік",
|
|
426
428
|
alltime: "Весь час",
|
|
427
429
|
prev: "Попередній період",
|
|
428
|
-
next: "Настпуний період"
|
|
430
|
+
next: "Настпуний період",
|
|
431
|
+
selectFieldHelp: "Оберіть поле, щоб розпочати створення фільтра."
|
|
429
432
|
}
|
|
430
433
|
};
|
|
431
|
-
function
|
|
432
|
-
const
|
|
433
|
-
return (
|
|
434
|
+
function Se(f) {
|
|
435
|
+
const a = f.split(".")[1], y = typeof window < "u" && window.localStorage ? localStorage.locale : null;
|
|
436
|
+
return (Be[y || navigator.language] || Be.uk)[a];
|
|
434
437
|
}
|
|
435
|
-
function
|
|
436
|
-
const
|
|
437
|
-
|
|
438
|
+
function oe() {
|
|
439
|
+
const f = Pe();
|
|
440
|
+
if (!f.appContext.config.globalProperties.$i18n) return Se;
|
|
441
|
+
const a = f.appContext.config.globalProperties.$t;
|
|
442
|
+
return (y) => {
|
|
443
|
+
const t = a(y);
|
|
444
|
+
return t === y ? Se(y) : t;
|
|
445
|
+
};
|
|
438
446
|
}
|
|
439
447
|
const kt = {
|
|
440
448
|
key: 0,
|
|
@@ -445,7 +453,7 @@ const kt = {
|
|
|
445
453
|
}, At = {
|
|
446
454
|
key: 1,
|
|
447
455
|
class: "flex justify-between items-center text-xs text-gray-500 p-1 border-t"
|
|
448
|
-
},
|
|
456
|
+
}, je = /* @__PURE__ */ q({
|
|
449
457
|
__name: "checkbox",
|
|
450
458
|
props: {
|
|
451
459
|
id: {},
|
|
@@ -470,108 +478,109 @@ const kt = {
|
|
|
470
478
|
mode: {},
|
|
471
479
|
labelKey: {},
|
|
472
480
|
sort: {},
|
|
473
|
-
ua: {}
|
|
481
|
+
ua: {},
|
|
482
|
+
itemClass: {}
|
|
474
483
|
},
|
|
475
484
|
emits: ["update:modelValue", "change", "clear"],
|
|
476
|
-
setup(
|
|
477
|
-
const t =
|
|
485
|
+
setup(f, { expose: a, emit: y }) {
|
|
486
|
+
const t = oe(), u = f, l = y, {
|
|
478
487
|
innerValue: g,
|
|
479
|
-
filteredOptions:
|
|
480
|
-
isSelected:
|
|
481
|
-
selectItem:
|
|
482
|
-
clear:
|
|
483
|
-
toggleShowAll:
|
|
484
|
-
isReqProc:
|
|
485
|
-
showAll:
|
|
486
|
-
isEnableShowAll:
|
|
487
|
-
labelKey:
|
|
488
|
+
filteredOptions: n,
|
|
489
|
+
isSelected: m,
|
|
490
|
+
selectItem: x,
|
|
491
|
+
clear: d,
|
|
492
|
+
toggleShowAll: p,
|
|
493
|
+
isReqProc: r,
|
|
494
|
+
showAll: k,
|
|
495
|
+
isEnableShowAll: _,
|
|
496
|
+
labelKey: C,
|
|
488
497
|
valueKey: o,
|
|
489
|
-
allOptions:
|
|
490
|
-
} =
|
|
498
|
+
allOptions: c
|
|
499
|
+
} = Me({
|
|
491
500
|
...u,
|
|
492
501
|
modelValue: u.modelValue
|
|
493
502
|
}, l);
|
|
494
|
-
return
|
|
503
|
+
return U(
|
|
495
504
|
() => u.modelValue,
|
|
496
|
-
(
|
|
497
|
-
|
|
505
|
+
(v) => {
|
|
506
|
+
v === void 0 && (g.value = []);
|
|
498
507
|
}
|
|
499
|
-
),
|
|
500
|
-
clear:
|
|
501
|
-
}), (
|
|
502
|
-
class:
|
|
508
|
+
), a({
|
|
509
|
+
clear: d
|
|
510
|
+
}), (v, h) => (i(), w("div", {
|
|
511
|
+
class: E([v.layout === "popover" ? "flex flex-col h-full" : "flex flex-col vs-filter-checkbox space-y-0.5"])
|
|
503
512
|
}, [
|
|
504
|
-
|
|
505
|
-
class:
|
|
506
|
-
|
|
507
|
-
|
|
513
|
+
s("div", {
|
|
514
|
+
class: E([
|
|
515
|
+
v.layout === "popover" ? "flex-1 overflow-y-auto p-2" : "",
|
|
516
|
+
v.layout === "inline" ? "flex-1 overflow-y-auto max-h-80" : ""
|
|
508
517
|
])
|
|
509
518
|
}, [
|
|
510
|
-
(
|
|
511
|
-
layout:
|
|
512
|
-
count:
|
|
513
|
-
label:
|
|
514
|
-
color:
|
|
519
|
+
(i(!0), w(I, null, X(e(n), (b) => (i(), T(he, {
|
|
520
|
+
layout: v.layout,
|
|
521
|
+
count: b.count,
|
|
522
|
+
label: b[e(C)],
|
|
523
|
+
color: b.color,
|
|
515
524
|
type: "checkbox",
|
|
516
|
-
value:
|
|
517
|
-
"is-selected": e(
|
|
518
|
-
onItemClick: (
|
|
525
|
+
value: b[e(o)],
|
|
526
|
+
"is-selected": e(m)(b),
|
|
527
|
+
onItemClick: (K) => e(x)(b)
|
|
519
528
|
}, null, 8, ["layout", "count", "label", "color", "value", "is-selected", "onItemClick"]))), 256))
|
|
520
529
|
], 2),
|
|
521
|
-
|
|
522
|
-
|
|
530
|
+
v.type === "select" && e(n).length === 0 && !e(r) ? (i(), w("div", kt, [
|
|
531
|
+
s("div", Ct, [
|
|
523
532
|
Q(we),
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
h[4] || (h[4] =
|
|
533
|
+
s("div", _t, [
|
|
534
|
+
s("p", Vt, B(e(t)("filter.notfound")), 1),
|
|
535
|
+
h[4] || (h[4] = s("p", { class: "mt-2 text-sm text-gray-500 dark:text-neutral-500" }, null, -1))
|
|
527
536
|
])
|
|
528
537
|
])
|
|
529
538
|
])) : V("", !0),
|
|
530
|
-
|
|
531
|
-
!e(
|
|
539
|
+
v.layout !== "popover" && v.type !== "select" ? (i(), w(I, { key: 1 }, [
|
|
540
|
+
!e(k) && e(_) ? (i(), w("div", {
|
|
532
541
|
key: 0,
|
|
533
542
|
onClick: h[0] || (h[0] = //@ts-ignore
|
|
534
|
-
(...
|
|
543
|
+
(...b) => e(p) && e(p)(...b)),
|
|
535
544
|
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"
|
|
536
545
|
}, [
|
|
537
|
-
G(
|
|
546
|
+
G(B(e(t)("filter.more")) + " ", 1),
|
|
538
547
|
Q(ve)
|
|
539
548
|
])) : V("", !0),
|
|
540
|
-
e(
|
|
549
|
+
e(k) ? (i(), w("div", {
|
|
541
550
|
key: 1,
|
|
542
551
|
onClick: h[1] || (h[1] = //@ts-ignore
|
|
543
|
-
(...
|
|
552
|
+
(...b) => e(p) && e(p)(...b)),
|
|
544
553
|
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"
|
|
545
554
|
}, [
|
|
546
|
-
G(
|
|
555
|
+
G(B(e(t)("filter.less")) + " ", 1),
|
|
547
556
|
Q(ke)
|
|
548
557
|
])) : V("", !0)
|
|
549
558
|
], 64)) : V("", !0),
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
G(
|
|
553
|
-
|
|
559
|
+
v.cleanable ? (i(), w(I, { key: 2 }, [
|
|
560
|
+
v.layout === "inline" ? (i(), w("div", $t, [
|
|
561
|
+
G(B(e(g).length) + " / " + B(e(c).length) + " " + B(e(t)("filter.selected")) + " ", 1),
|
|
562
|
+
W(s("button", {
|
|
554
563
|
class: "text-gray-600 hover:text-gray-800",
|
|
555
564
|
onClick: h[2] || (h[2] = //@ts-ignore
|
|
556
|
-
(...
|
|
557
|
-
},
|
|
565
|
+
(...b) => e(d) && e(d)(...b))
|
|
566
|
+
}, B(e(t)("filter.clear")), 513), [
|
|
558
567
|
[J, e(g).length !== 0]
|
|
559
568
|
])
|
|
560
569
|
])) : V("", !0),
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
570
|
+
v.layout === "popover" ? (i(), w("div", At, [
|
|
571
|
+
s("span", null, B(e(g).length) + " / " + B(e(c).length) + " " + B(e(t)("filter.selected")), 1),
|
|
572
|
+
W(s("button", {
|
|
564
573
|
class: "text-gray-600 hover:text-gray-800",
|
|
565
574
|
onClick: h[3] || (h[3] = //@ts-ignore
|
|
566
|
-
(...
|
|
567
|
-
},
|
|
575
|
+
(...b) => e(d) && e(d)(...b))
|
|
576
|
+
}, B(e(t)("filter.clear")), 513), [
|
|
568
577
|
[J, e(g).length !== 0]
|
|
569
578
|
])
|
|
570
579
|
])) : V("", !0)
|
|
571
580
|
], 64)) : V("", !0)
|
|
572
581
|
], 2));
|
|
573
582
|
}
|
|
574
|
-
}),
|
|
583
|
+
}), Bt = {}, St = {
|
|
575
584
|
xmlns: "http://www.w3.org/2000/svg",
|
|
576
585
|
width: "15px",
|
|
577
586
|
height: "15px",
|
|
@@ -583,18 +592,18 @@ const kt = {
|
|
|
583
592
|
"stroke-linejoin": "round",
|
|
584
593
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-search stroke-gray-500 transition-all"
|
|
585
594
|
};
|
|
586
|
-
function
|
|
587
|
-
return
|
|
588
|
-
|
|
595
|
+
function jt(f, a) {
|
|
596
|
+
return i(), w("svg", St, a[0] || (a[0] = [
|
|
597
|
+
s("path", {
|
|
589
598
|
stroke: "none",
|
|
590
599
|
d: "M0 0h24v24H0z",
|
|
591
600
|
fill: "none"
|
|
592
601
|
}, null, -1),
|
|
593
|
-
|
|
594
|
-
|
|
602
|
+
s("path", { d: "M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" }, null, -1),
|
|
603
|
+
s("path", { d: "M21 21l-6 -6" }, null, -1)
|
|
595
604
|
]));
|
|
596
605
|
}
|
|
597
|
-
const
|
|
606
|
+
const Le = /* @__PURE__ */ te(Bt, [["render", jt]]), Dt = {}, Rt = {
|
|
598
607
|
xmlns: "http://www.w3.org/2000/svg",
|
|
599
608
|
viewBox: "0 0 24 24",
|
|
600
609
|
fill: "none",
|
|
@@ -606,24 +615,24 @@ const Me = /* @__PURE__ */ te(St, [["render", Dt]]), jt = {}, Rt = {
|
|
|
606
615
|
width: "15px",
|
|
607
616
|
height: "15px"
|
|
608
617
|
};
|
|
609
|
-
function
|
|
610
|
-
return
|
|
611
|
-
|
|
618
|
+
function Ft(f, a) {
|
|
619
|
+
return i(), w("svg", Rt, a[0] || (a[0] = [
|
|
620
|
+
s("path", {
|
|
612
621
|
stroke: "none",
|
|
613
622
|
d: "M0 0h24v24H0z",
|
|
614
623
|
fill: "none"
|
|
615
624
|
}, null, -1),
|
|
616
|
-
|
|
617
|
-
|
|
625
|
+
s("path", { d: "M18 6l-12 12" }, null, -1),
|
|
626
|
+
s("path", { d: "M6 6l12 12" }, null, -1)
|
|
618
627
|
]));
|
|
619
628
|
}
|
|
620
|
-
const Ce = /* @__PURE__ */ te(
|
|
621
|
-
class
|
|
622
|
-
static getWidthClass(
|
|
623
|
-
return typeof
|
|
629
|
+
const Ce = /* @__PURE__ */ te(Dt, [["render", Ft]]);
|
|
630
|
+
class Ee {
|
|
631
|
+
static getWidthClass(a) {
|
|
632
|
+
return typeof a == "number" ? `max-w-[${a}px] min-w-[${a}px]` : typeof a == "string" ? a.endsWith("%") || a.endsWith("px") ? `max-w-[${a}]` : `max-w-${a}` : "w-full";
|
|
624
633
|
}
|
|
625
634
|
}
|
|
626
|
-
const
|
|
635
|
+
const Kt = { class: "absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3" }, Mt = ["placeholder"], Lt = /* @__PURE__ */ q({
|
|
627
636
|
__name: "text-input",
|
|
628
637
|
props: {
|
|
629
638
|
id: {},
|
|
@@ -648,50 +657,51 @@ const Ft = { class: "absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"
|
|
|
648
657
|
mode: {},
|
|
649
658
|
labelKey: {},
|
|
650
659
|
sort: {},
|
|
651
|
-
ua: {}
|
|
660
|
+
ua: {},
|
|
661
|
+
itemClass: {}
|
|
652
662
|
},
|
|
653
663
|
emits: ["update:modelValue", "change", "clear"],
|
|
654
|
-
setup(
|
|
655
|
-
const
|
|
656
|
-
|
|
657
|
-
() =>
|
|
658
|
-
(
|
|
659
|
-
|
|
664
|
+
setup(f, { emit: a }) {
|
|
665
|
+
const y = f, t = A((y.placeholder || y.label || y.title || y.name || "search").toString()), u = a, l = A(y.modelValue?.toString() ?? "");
|
|
666
|
+
U(
|
|
667
|
+
() => y.modelValue,
|
|
668
|
+
(x) => {
|
|
669
|
+
x !== l.value && (l.value = x?.toString() ?? "");
|
|
660
670
|
}
|
|
661
671
|
);
|
|
662
672
|
let g = null;
|
|
663
|
-
function
|
|
673
|
+
function n() {
|
|
664
674
|
if (l.value = l.value.trimStart(), l.value.length === 0) {
|
|
665
|
-
|
|
675
|
+
m();
|
|
666
676
|
return;
|
|
667
677
|
}
|
|
668
678
|
g && clearTimeout(g), g = setTimeout(() => {
|
|
669
|
-
u("update:modelValue", l.value), u("change", { name:
|
|
679
|
+
u("update:modelValue", l.value), u("change", { name: y.name, value: l.value });
|
|
670
680
|
}, 300);
|
|
671
681
|
}
|
|
672
|
-
function
|
|
673
|
-
l.value = "", u("update:modelValue", ""), u("clear",
|
|
682
|
+
function m() {
|
|
683
|
+
l.value = "", u("update:modelValue", ""), u("clear", y.name);
|
|
674
684
|
}
|
|
675
|
-
return (
|
|
676
|
-
class:
|
|
685
|
+
return (x, d) => (i(), w("div", {
|
|
686
|
+
class: E([
|
|
677
687
|
"vs-form-text relative bg-white rounded-sm [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:rounded-sm [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",
|
|
678
|
-
|
|
688
|
+
x.layout === "inline" ? e(Ee).getWidthClass(x.width) : "mb-2" + (x.layout === "popover" ? " m-2" : "")
|
|
679
689
|
])
|
|
680
690
|
}, [
|
|
681
|
-
|
|
682
|
-
Q(
|
|
691
|
+
s("div", Kt, [
|
|
692
|
+
Q(Le)
|
|
683
693
|
]),
|
|
684
|
-
l.value !== "" ? (
|
|
694
|
+
l.value !== "" ? (i(), w("div", {
|
|
685
695
|
key: 0,
|
|
686
|
-
onClick:
|
|
696
|
+
onClick: m,
|
|
687
697
|
class: "absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"
|
|
688
698
|
}, [
|
|
689
699
|
Q(Ce)
|
|
690
700
|
])) : V("", !0),
|
|
691
|
-
|
|
701
|
+
W(s("input", {
|
|
692
702
|
type: "text",
|
|
693
|
-
"onUpdate:modelValue":
|
|
694
|
-
onInput:
|
|
703
|
+
"onUpdate:modelValue": d[0] || (d[0] = (p) => l.value = p),
|
|
704
|
+
onInput: n,
|
|
695
705
|
placeholder: t.value,
|
|
696
706
|
class: "!pr-7 !pl-8 bg-white h-[38px] min-w-[100px] text-sm py-2 px-3 block w-full border border-solid placeholder:text-nowrap border-stone-200 rounded-sm text-sm text-stone-800 placeholder:text-stone-400 focus:border-2 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500"
|
|
697
707
|
}, null, 40, Mt), [
|
|
@@ -700,20 +710,21 @@ const Ft = { class: "absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"
|
|
|
700
710
|
], 2));
|
|
701
711
|
}
|
|
702
712
|
});
|
|
703
|
-
function
|
|
704
|
-
return
|
|
705
|
-
const
|
|
706
|
-
|
|
713
|
+
function Oe(f = { color: "blue" }) {
|
|
714
|
+
return O(() => {
|
|
715
|
+
const y = `w-full px-3 py-2 border-solid border border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${f.color}-500 focus:border-transparent
|
|
716
|
+
text-gray-800 bg-white dark:text-neutral-300 dark:bg-neutral-800 dark:border-neutral-600`;
|
|
717
|
+
return f?.size === "sm" ? `${y}h-[32px]` : `${y}h-[38px]`;
|
|
707
718
|
});
|
|
708
719
|
}
|
|
709
720
|
function Et() {
|
|
710
721
|
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]";
|
|
711
722
|
}
|
|
712
723
|
function Ot() {
|
|
713
|
-
return "font-medium border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50
|
|
724
|
+
return "font-medium border border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 h-7 rounded-md text-xs px-2 py-1 text-gray-800 bg-white hover:bg-gray-100 dark:text-neutral-300 dark:bg-neutral-800 dark:hover:bg-neutral-700 dark:border-neutral-600";
|
|
714
725
|
}
|
|
715
|
-
function
|
|
716
|
-
return
|
|
726
|
+
function Te(f) {
|
|
727
|
+
return f === "ghost" ? "inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border text-gray-600 hover:bg-blue-100 hover:text-gray-800 focus:outline-hidden focus:bg-gray-100 focus:text-gray-800 disabled:opacity-50 disabled:pointer-events-none dark:text-gray-500 dark:hover:bg-blue-800/30 dark:hover:text-blue-400 dark:focus:bg-blue-800/30 dark:focus:text-blue-400" : f === "soft" ? "inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border bg-white-100 text-gray-800 hover:bg-gray-200 hover:bg-gray-200 focus:outline-hidden focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:text-blue-400 dark:hover:bg-blue-900 dark:focus:bg-blue-900" : "relative border-solid border-gray-200 focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-1 bg-transparent h-[38px]";
|
|
717
728
|
}
|
|
718
729
|
const Tt = {
|
|
719
730
|
key: 0,
|
|
@@ -725,7 +736,7 @@ const Tt = {
|
|
|
725
736
|
key: 0,
|
|
726
737
|
class: "block text-xs font-medium text-gray-600 mb-1"
|
|
727
738
|
}, Nt = ["placeholder", "disabled"], Pt = ["disabled"];
|
|
728
|
-
const Yt = /* @__PURE__ */
|
|
739
|
+
const Yt = /* @__PURE__ */ q({
|
|
729
740
|
__name: "range-input",
|
|
730
741
|
props: {
|
|
731
742
|
id: {},
|
|
@@ -750,214 +761,212 @@ const Yt = /* @__PURE__ */ W({
|
|
|
750
761
|
mode: {},
|
|
751
762
|
labelKey: {},
|
|
752
763
|
sort: {},
|
|
753
|
-
ua: {}
|
|
764
|
+
ua: {},
|
|
765
|
+
itemClass: {}
|
|
754
766
|
},
|
|
755
767
|
emits: ["update:modelValue", "change", "clear"],
|
|
756
|
-
setup(
|
|
757
|
-
const t =
|
|
768
|
+
setup(f, { expose: a, emit: y }) {
|
|
769
|
+
const t = Oe(), u = Et(), l = oe(), g = f, n = A(
|
|
758
770
|
g.modelValue ?? g.default ?? []
|
|
759
|
-
),
|
|
760
|
-
get: () => g.modelValue ??
|
|
761
|
-
set: (
|
|
762
|
-
g.modelValue !== void 0 ?
|
|
771
|
+
), m = y, x = O({
|
|
772
|
+
get: () => g.modelValue ?? n.value,
|
|
773
|
+
set: (r) => {
|
|
774
|
+
g.modelValue !== void 0 ? m("update:modelValue", r) : n.value = r;
|
|
763
775
|
}
|
|
764
776
|
});
|
|
765
|
-
function m() {
|
|
766
|
-
f("change", { name: g.name, value: y.value || a.value });
|
|
767
|
-
}
|
|
768
777
|
function d() {
|
|
769
|
-
|
|
778
|
+
m("change", { name: g.name, value: x.value || n.value });
|
|
770
779
|
}
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
}
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
}), (
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
+
function p() {
|
|
781
|
+
n.value = [], x.value = n.value, m("clear", g.name);
|
|
782
|
+
}
|
|
783
|
+
return U(() => g.modelValue, (r) => {
|
|
784
|
+
r !== void 0 && g.layout !== "popover" ? (n.value = r, m("update:modelValue", r)) : n.value = [];
|
|
785
|
+
}), a({
|
|
786
|
+
clear: p,
|
|
787
|
+
currentValue: x
|
|
788
|
+
}), (r, k) => (i(), w(I, null, [
|
|
789
|
+
s("div", null, [
|
|
790
|
+
s("div", {
|
|
791
|
+
class: E(r.layout === "vertical" ? "inline-flex items-center gap-2" : "space-y-3 p-2")
|
|
780
792
|
}, [
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
793
|
+
s("div", null, [
|
|
794
|
+
r.layout !== "vertical" ? (i(), w("label", Tt, B(e(l)("filter.from")), 1)) : V("", !0),
|
|
795
|
+
W(s("input", {
|
|
784
796
|
type: "number",
|
|
785
|
-
class:
|
|
786
|
-
placeholder:
|
|
797
|
+
class: E(e(t)),
|
|
798
|
+
placeholder: r.placeholder?.[0] ?? "min",
|
|
787
799
|
step: "1",
|
|
788
800
|
style: { outline: "none" },
|
|
789
|
-
"onUpdate:modelValue":
|
|
790
|
-
disabled:
|
|
801
|
+
"onUpdate:modelValue": k[0] || (k[0] = (_) => x.value[0] = _),
|
|
802
|
+
disabled: r.disabled
|
|
791
803
|
}, null, 10, It), [
|
|
792
|
-
[ee,
|
|
804
|
+
[ee, x.value[0]]
|
|
793
805
|
])
|
|
794
806
|
]),
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
807
|
+
r.layout === "vertical" ? (i(), w("label", Ut, " - ")) : V("", !0),
|
|
808
|
+
s("div", null, [
|
|
809
|
+
r.layout !== "vertical" ? (i(), w("label", zt, B(e(l)("filter.to")), 1)) : V("", !0),
|
|
810
|
+
W(s("input", {
|
|
799
811
|
type: "number",
|
|
800
|
-
class:
|
|
801
|
-
placeholder:
|
|
812
|
+
class: E(e(t)),
|
|
813
|
+
placeholder: r.placeholder?.[1] ?? "max",
|
|
802
814
|
min: "0",
|
|
803
815
|
max: "1000000000000000",
|
|
804
816
|
step: "1",
|
|
805
817
|
style: { outline: "none" },
|
|
806
|
-
"onUpdate:modelValue":
|
|
807
|
-
disabled:
|
|
818
|
+
"onUpdate:modelValue": k[1] || (k[1] = (_) => x.value[1] = _),
|
|
819
|
+
disabled: r.disabled
|
|
808
820
|
}, null, 10, Nt), [
|
|
809
|
-
[ee,
|
|
821
|
+
[ee, x.value[1]]
|
|
810
822
|
])
|
|
811
823
|
]),
|
|
812
|
-
["popover", "inline", "vertical"].includes(
|
|
824
|
+
["popover", "inline", "vertical"].includes(r.layout) ? (i(), w("button", {
|
|
813
825
|
key: 1,
|
|
814
|
-
onClick: m,
|
|
815
|
-
class: U(e(u) + (i.layout === "vertical" ? " w-[50px]" : " bg-blue-100 hover:bg-blue-200"))
|
|
816
|
-
}, S(i.layout === "vertical" ? "Ok" : e(l)("filter.apply")), 3)) : V("", !0),
|
|
817
|
-
["popover", "inline"].includes(i.layout) ? (s(), w("button", {
|
|
818
|
-
key: 2,
|
|
819
|
-
disabled: !(y.value[0] || y.value[1]),
|
|
820
826
|
onClick: d,
|
|
821
|
-
class:
|
|
822
|
-
},
|
|
827
|
+
class: E(e(u) + (r.layout === "vertical" ? " w-[50px]" : " bg-blue-100 hover:bg-blue-200"))
|
|
828
|
+
}, B(r.layout === "vertical" ? "Ok" : e(l)("filter.apply")), 3)) : V("", !0),
|
|
829
|
+
["popover", "inline"].includes(r.layout) ? (i(), w("button", {
|
|
830
|
+
key: 2,
|
|
831
|
+
disabled: !(x.value[0] || x.value[1]),
|
|
832
|
+
onClick: p,
|
|
833
|
+
class: E(e(u) + " hover:bg-gray-100")
|
|
834
|
+
}, B(e(l)("filter.clear")), 11, Pt)) : V("", !0)
|
|
823
835
|
], 2)
|
|
824
836
|
]),
|
|
825
|
-
(
|
|
837
|
+
(r.cleanable && n.value.length, V("", !0))
|
|
826
838
|
], 64));
|
|
827
839
|
}
|
|
828
840
|
});
|
|
829
|
-
function Wt(c) {
|
|
830
|
-
return String(c).charAt(0).toUpperCase() + String(c).slice(1);
|
|
831
|
-
}
|
|
832
841
|
class H {
|
|
833
|
-
static format(
|
|
834
|
-
const
|
|
835
|
-
return `${
|
|
836
|
-
}
|
|
837
|
-
static getShiftedDay(
|
|
838
|
-
const t =
|
|
839
|
-
return t.setDate(t.getDate() +
|
|
840
|
-
}
|
|
841
|
-
static getLastWeekRange(
|
|
842
|
-
if (
|
|
843
|
-
const
|
|
844
|
-
return
|
|
842
|
+
static format(a) {
|
|
843
|
+
const y = a.getFullYear(), t = (a.getMonth() + 1).toString().padStart(2, "0"), u = a.getDate().toString().padStart(2, "0");
|
|
844
|
+
return `${y}-${t}-${u}`;
|
|
845
|
+
}
|
|
846
|
+
static getShiftedDay(a, y = 0) {
|
|
847
|
+
const t = a ? new Date(a) : /* @__PURE__ */ new Date();
|
|
848
|
+
return t.setDate(t.getDate() + y), this.format(t);
|
|
849
|
+
}
|
|
850
|
+
static getLastWeekRange(a, y, t = 0) {
|
|
851
|
+
if (a && y) {
|
|
852
|
+
const x = new Date(a), d = new Date(y);
|
|
853
|
+
return x.setDate(x.getDate() + t * 7), d.setDate(d.getDate() + t * 7), [this.format(x), this.format(d)];
|
|
845
854
|
}
|
|
846
|
-
const u = /* @__PURE__ */ new Date(), l = u.getDay(), g = l === 0 ? 13 : l - 1 + 7,
|
|
847
|
-
|
|
848
|
-
const
|
|
849
|
-
return
|
|
855
|
+
const u = /* @__PURE__ */ new Date(), l = u.getDay(), g = l === 0 ? 13 : l - 1 + 7, n = new Date(u);
|
|
856
|
+
n.setDate(u.getDate() - g + t * 7);
|
|
857
|
+
const m = new Date(n);
|
|
858
|
+
return m.setDate(n.getDate() + 6), [this.format(n), this.format(m)];
|
|
850
859
|
}
|
|
851
|
-
static getMonthRange(
|
|
860
|
+
static getMonthRange(a, y, t = 0) {
|
|
852
861
|
let u;
|
|
853
|
-
|
|
862
|
+
a ? u = new Date(a) : u = /* @__PURE__ */ new Date(), u = new Date(u.getFullYear(), u.getMonth() + t, 1);
|
|
854
863
|
const l = u, g = new Date(u.getFullYear(), u.getMonth() + 1, 0);
|
|
855
864
|
return [this.format(l), this.format(g)];
|
|
856
865
|
}
|
|
857
|
-
static getQuarterRange(
|
|
858
|
-
const u =
|
|
866
|
+
static getQuarterRange(a, y, t = 0) {
|
|
867
|
+
const u = a || y, l = u ? new Date(u) : /* @__PURE__ */ new Date();
|
|
859
868
|
let g = Math.floor(l.getMonth() / 3);
|
|
860
869
|
g += t;
|
|
861
|
-
const
|
|
862
|
-
return [this.format(
|
|
870
|
+
const n = (g % 4 + 4) % 4 * 3, m = l.getFullYear() + Math.floor(g / 4), x = new Date(m, n, 1), d = new Date(m, n + 3, 0);
|
|
871
|
+
return [this.format(x), this.format(d)];
|
|
863
872
|
}
|
|
864
|
-
static getYear(
|
|
873
|
+
static getYear(a, y = 0) {
|
|
865
874
|
let t;
|
|
866
|
-
return
|
|
875
|
+
return a && /^\d{4}$/.test(a) ? t = parseInt(a, 10) : a ? t = new Date(a).getFullYear() : t = (/* @__PURE__ */ new Date()).getFullYear(), String(t + y);
|
|
867
876
|
}
|
|
868
|
-
static getYearRange(
|
|
877
|
+
static getYearRange(a, y = 0) {
|
|
869
878
|
let t;
|
|
870
|
-
return
|
|
871
|
-
this.format(new Date(t +
|
|
872
|
-
this.format(new Date(t +
|
|
879
|
+
return a && /^\d{4}$/.test(a) ? t = parseInt(a, 10) : a ? t = new Date(a).getFullYear() : t = (/* @__PURE__ */ new Date()).getFullYear(), [
|
|
880
|
+
this.format(new Date(t + y, 0, 1)),
|
|
881
|
+
this.format(new Date(t + y + 1, 0, 0))
|
|
873
882
|
];
|
|
874
883
|
}
|
|
875
|
-
static getRangeFromDaysBefore(
|
|
876
|
-
const
|
|
877
|
-
return t.setDate(
|
|
884
|
+
static getRangeFromDaysBefore(a) {
|
|
885
|
+
const y = /* @__PURE__ */ new Date(), t = new Date(y.getTime());
|
|
886
|
+
return t.setDate(y.getDate() - a), [this.format(t), this.format(y)];
|
|
878
887
|
}
|
|
879
888
|
}
|
|
880
|
-
function
|
|
889
|
+
function Ie(f, a) {
|
|
881
890
|
const {
|
|
882
|
-
popoverRef:
|
|
883
|
-
} =
|
|
884
|
-
|
|
885
|
-
), g =
|
|
886
|
-
function
|
|
887
|
-
const
|
|
888
|
-
return l.value = [...
|
|
889
|
-
}
|
|
890
|
-
function
|
|
891
|
-
u.value =
|
|
892
|
-
const
|
|
891
|
+
popoverRef: y
|
|
892
|
+
} = f, t = oe(), u = A(""), l = A(
|
|
893
|
+
f.modelValue ?? f.default ?? []
|
|
894
|
+
), g = A(0);
|
|
895
|
+
function n() {
|
|
896
|
+
const c = H.getRangeFromDaysBefore(g.value);
|
|
897
|
+
return l.value = [...c], a("change", { name: f.name, value: l.value }), a("update:modelValue", l.value), c;
|
|
898
|
+
}
|
|
899
|
+
function m(c) {
|
|
900
|
+
u.value = c, y.value?.close();
|
|
901
|
+
const v = [];
|
|
893
902
|
switch (u.value) {
|
|
894
903
|
case "today":
|
|
895
|
-
|
|
904
|
+
v.push(H.getShiftedDay()), v.push(H.getShiftedDay());
|
|
896
905
|
break;
|
|
897
906
|
case "week":
|
|
898
|
-
|
|
907
|
+
v.push(...H.getLastWeekRange());
|
|
899
908
|
break;
|
|
900
909
|
case "month":
|
|
901
|
-
|
|
910
|
+
v.push(...H.getMonthRange());
|
|
902
911
|
break;
|
|
903
912
|
case "quarter":
|
|
904
|
-
|
|
913
|
+
v.push(...H.getQuarterRange());
|
|
905
914
|
break;
|
|
906
915
|
case "year":
|
|
907
|
-
|
|
916
|
+
v.push(...H.getYearRange());
|
|
908
917
|
break;
|
|
909
918
|
case "last_7_days":
|
|
910
|
-
g.value = 7,
|
|
919
|
+
g.value = 7, n();
|
|
911
920
|
break;
|
|
912
921
|
case "range":
|
|
913
|
-
g.value = 7,
|
|
922
|
+
g.value = 7, v.push(...n());
|
|
914
923
|
break;
|
|
915
924
|
}
|
|
916
|
-
l.value = [...
|
|
925
|
+
l.value = [...v], a("change", { name: f.name, value: l.value }), a("update:modelValue", l.value);
|
|
917
926
|
}
|
|
918
|
-
function
|
|
919
|
-
const
|
|
927
|
+
function x() {
|
|
928
|
+
const c = [];
|
|
920
929
|
switch (u.value) {
|
|
921
930
|
case "today":
|
|
922
|
-
|
|
931
|
+
c.push(H.getShiftedDay(l.value[0], 1));
|
|
923
932
|
break;
|
|
924
933
|
case "week":
|
|
925
|
-
|
|
934
|
+
c.push(...H.getLastWeekRange(l.value[0], l.value[1], 1));
|
|
926
935
|
break;
|
|
927
936
|
case "month":
|
|
928
|
-
|
|
937
|
+
c.push(...H.getMonthRange(l.value[0], l.value[1], 1));
|
|
929
938
|
break;
|
|
930
939
|
case "quarter":
|
|
931
|
-
|
|
940
|
+
c.push(...H.getQuarterRange(l.value[0], l.value[1], 1));
|
|
932
941
|
break;
|
|
933
942
|
case "year":
|
|
934
|
-
|
|
943
|
+
c.push(...H.getYearRange(l.value[0], 1));
|
|
935
944
|
break;
|
|
936
945
|
}
|
|
937
|
-
l.value = [...
|
|
946
|
+
l.value = [...c], a("change", { name: f.name, value: l.value }), a("update:modelValue", l.value);
|
|
938
947
|
}
|
|
939
|
-
function
|
|
940
|
-
const
|
|
948
|
+
function d() {
|
|
949
|
+
const c = [];
|
|
941
950
|
switch (u.value) {
|
|
942
951
|
case "today":
|
|
943
|
-
|
|
952
|
+
c.push(H.getShiftedDay(l.value[0], -1));
|
|
944
953
|
break;
|
|
945
954
|
case "week":
|
|
946
|
-
|
|
955
|
+
c.push(...H.getLastWeekRange(l.value[0], l.value[1], -1));
|
|
947
956
|
break;
|
|
948
957
|
case "month":
|
|
949
|
-
|
|
958
|
+
c.push(...H.getMonthRange(l.value[0], l.value[1], -1));
|
|
950
959
|
break;
|
|
951
960
|
case "quarter":
|
|
952
|
-
|
|
961
|
+
c.push(...H.getQuarterRange(l.value[0], l.value[1], -1));
|
|
953
962
|
break;
|
|
954
963
|
case "year":
|
|
955
|
-
|
|
964
|
+
c.push(...H.getYearRange(l.value[0], -1));
|
|
956
965
|
break;
|
|
957
966
|
}
|
|
958
|
-
l.value = [...
|
|
967
|
+
l.value = [...c], a("change", { name: f.name, value: l.value }), a("update:modelValue", l.value);
|
|
959
968
|
}
|
|
960
|
-
const
|
|
969
|
+
const p = [
|
|
961
970
|
"Січень",
|
|
962
971
|
"Лютий",
|
|
963
972
|
"Березень",
|
|
@@ -971,79 +980,79 @@ function Te(c, n) {
|
|
|
971
980
|
"Листопад",
|
|
972
981
|
"Грудень"
|
|
973
982
|
];
|
|
974
|
-
function
|
|
975
|
-
const [
|
|
976
|
-
return `${
|
|
983
|
+
function r(c) {
|
|
984
|
+
const [v, h, b] = c.split("-");
|
|
985
|
+
return `${b}.${h}.${v}`;
|
|
977
986
|
}
|
|
978
|
-
function
|
|
979
|
-
const h = new Date(Date.UTC(2e3,
|
|
980
|
-
return new Intl.DateTimeFormat(localStorage.locale, { month:
|
|
987
|
+
function k(c, v = "long") {
|
|
988
|
+
const h = new Date(Date.UTC(2e3, c - 1, 1));
|
|
989
|
+
return new Intl.DateTimeFormat(localStorage.locale, { month: v, timeZone: "UTC" }).format(h);
|
|
981
990
|
}
|
|
982
|
-
function
|
|
983
|
-
const { value:
|
|
984
|
-
switch (
|
|
991
|
+
function _(c) {
|
|
992
|
+
const { value: v } = l;
|
|
993
|
+
switch (c) {
|
|
985
994
|
case "today":
|
|
986
|
-
return
|
|
995
|
+
return r(v[0]);
|
|
987
996
|
case "range":
|
|
988
997
|
return "Період";
|
|
989
998
|
case "week":
|
|
990
|
-
return
|
|
999
|
+
return v[0] && v[1] ? `${r(v[0])} – ${r(v[1])}` : "";
|
|
991
1000
|
case "quarter":
|
|
992
|
-
if (
|
|
993
|
-
const h = new Date(
|
|
994
|
-
return `${Math.floor(
|
|
1001
|
+
if (v[0]) {
|
|
1002
|
+
const h = new Date(v[0]), b = h.getFullYear(), K = h.getMonth();
|
|
1003
|
+
return `${Math.floor(K / 3) + 1} ${t("filter.quarter")} ${b}`;
|
|
995
1004
|
}
|
|
996
1005
|
return "";
|
|
997
1006
|
case "month":
|
|
998
|
-
if (
|
|
999
|
-
const [h,
|
|
1000
|
-
return `${
|
|
1007
|
+
if (v[0]) {
|
|
1008
|
+
const [h, b] = v[0].split("-");
|
|
1009
|
+
return `${k(parseInt(b, 10))} ${h}`;
|
|
1001
1010
|
}
|
|
1002
1011
|
return "";
|
|
1003
1012
|
case "year":
|
|
1004
|
-
return
|
|
1013
|
+
return v[0] || "";
|
|
1005
1014
|
case "last_7_days":
|
|
1006
1015
|
return "За останні дні";
|
|
1007
1016
|
default:
|
|
1008
|
-
return
|
|
1017
|
+
return f.label ?? "";
|
|
1009
1018
|
}
|
|
1010
1019
|
}
|
|
1011
|
-
const
|
|
1020
|
+
const C = O(() => u.value ? _(u.value) : f.label ?? "");
|
|
1012
1021
|
function o() {
|
|
1013
|
-
u.value = "", l.value = [],
|
|
1022
|
+
u.value = "", l.value = [], a("update:modelValue", []), a("clear", f.name);
|
|
1014
1023
|
}
|
|
1015
1024
|
return {
|
|
1016
1025
|
activeMode: u,
|
|
1017
1026
|
innerValue: l,
|
|
1018
1027
|
daysBefore: g,
|
|
1019
|
-
onDaysBeforeChange:
|
|
1020
|
-
onSelectChange:
|
|
1021
|
-
nextClick:
|
|
1022
|
-
prevClick:
|
|
1023
|
-
ukMonths:
|
|
1024
|
-
formatDisplayDate:
|
|
1025
|
-
getModeLabel:
|
|
1026
|
-
currentLabel:
|
|
1028
|
+
onDaysBeforeChange: n,
|
|
1029
|
+
onSelectChange: m,
|
|
1030
|
+
nextClick: x,
|
|
1031
|
+
prevClick: d,
|
|
1032
|
+
ukMonths: p,
|
|
1033
|
+
formatDisplayDate: r,
|
|
1034
|
+
getModeLabel: _,
|
|
1035
|
+
currentLabel: C,
|
|
1027
1036
|
clear: o
|
|
1028
1037
|
};
|
|
1029
1038
|
}
|
|
1030
|
-
const
|
|
1039
|
+
const Wt = {
|
|
1031
1040
|
key: 0,
|
|
1032
1041
|
class: "relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"
|
|
1033
|
-
},
|
|
1042
|
+
}, qt = {
|
|
1034
1043
|
key: 0,
|
|
1035
1044
|
class: "flex gap-1 !w-[75%] rounded-sm"
|
|
1036
|
-
},
|
|
1045
|
+
}, Qt = ["max", "disabled"], Ht = ["min", "disabled"], Gt = {
|
|
1037
1046
|
key: 0,
|
|
1038
1047
|
class: "block text-xs font-medium text-gray-600 mb-1"
|
|
1039
|
-
},
|
|
1048
|
+
}, Xt = ["max", "disabled"], Zt = {
|
|
1040
1049
|
key: 0,
|
|
1041
1050
|
class: "block text-xs font-medium text-gray-600 mb-1"
|
|
1042
|
-
},
|
|
1051
|
+
}, Jt = {
|
|
1043
1052
|
key: 0,
|
|
1044
1053
|
class: "block text-xs font-medium text-gray-600 mb-1"
|
|
1045
|
-
},
|
|
1046
|
-
const
|
|
1054
|
+
}, el = ["min", "disabled"], tl = { class: "flex gap-1 pt-2" }, ll = ["onClick"];
|
|
1055
|
+
const ol = /* @__PURE__ */ q({
|
|
1047
1056
|
__name: "date-input",
|
|
1048
1057
|
props: {
|
|
1049
1058
|
id: {},
|
|
@@ -1068,244 +1077,245 @@ const nl = /* @__PURE__ */ W({
|
|
|
1068
1077
|
mode: {},
|
|
1069
1078
|
labelKey: {},
|
|
1070
1079
|
sort: {},
|
|
1071
|
-
ua: {}
|
|
1080
|
+
ua: {},
|
|
1081
|
+
itemClass: {}
|
|
1072
1082
|
},
|
|
1073
1083
|
emits: ["update:modelValue", "change", "clear"],
|
|
1074
|
-
setup(
|
|
1075
|
-
const t =
|
|
1076
|
-
activeMode:
|
|
1077
|
-
innerValue:
|
|
1078
|
-
onSelectChange:
|
|
1079
|
-
nextClick:
|
|
1080
|
-
prevClick:
|
|
1081
|
-
clear:
|
|
1082
|
-
} =
|
|
1084
|
+
setup(f, { expose: a, emit: y }) {
|
|
1085
|
+
const t = f, u = Oe(), l = Ot(), g = oe(), n = y, m = A(null), {
|
|
1086
|
+
activeMode: x,
|
|
1087
|
+
innerValue: d,
|
|
1088
|
+
onSelectChange: p,
|
|
1089
|
+
nextClick: r,
|
|
1090
|
+
prevClick: k,
|
|
1091
|
+
clear: _
|
|
1092
|
+
} = Ie({
|
|
1083
1093
|
...t,
|
|
1084
|
-
popoverRef:
|
|
1085
|
-
},
|
|
1086
|
-
return
|
|
1087
|
-
|
|
1088
|
-
}),
|
|
1089
|
-
clear:
|
|
1090
|
-
popoverRef:
|
|
1091
|
-
}), (
|
|
1092
|
-
|
|
1093
|
-
e(
|
|
1094
|
-
|
|
1094
|
+
popoverRef: m
|
|
1095
|
+
}, n);
|
|
1096
|
+
return U(() => t.modelValue, (C) => {
|
|
1097
|
+
C !== void 0 ? (d.value = C, n("update:modelValue", C)) : (x.value = "", d.value = []);
|
|
1098
|
+
}), a({
|
|
1099
|
+
clear: _,
|
|
1100
|
+
popoverRef: m
|
|
1101
|
+
}), (C, o) => (i(), w(I, null, [
|
|
1102
|
+
C.layout === "inline" ? (i(), w("div", Wt, [
|
|
1103
|
+
e(x) !== "" && e(x) === "range" ? (i(), w("div", qt, [
|
|
1104
|
+
W(s("input", {
|
|
1095
1105
|
type: "date",
|
|
1096
|
-
max: e(
|
|
1106
|
+
max: e(d)[1],
|
|
1097
1107
|
locale: "uk-UA",
|
|
1098
|
-
"onUpdate:modelValue":
|
|
1108
|
+
"onUpdate:modelValue": o[0] || (o[0] = (c) => e(d)[0] = c),
|
|
1099
1109
|
class: "px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",
|
|
1100
|
-
disabled:
|
|
1101
|
-
}, null, 8,
|
|
1102
|
-
[ee, e(
|
|
1110
|
+
disabled: C.disabled
|
|
1111
|
+
}, null, 8, Qt), [
|
|
1112
|
+
[ee, e(d)[0]]
|
|
1103
1113
|
]),
|
|
1104
|
-
|
|
1114
|
+
W(s("input", {
|
|
1105
1115
|
type: "date",
|
|
1106
|
-
min: e(
|
|
1116
|
+
min: e(d)[0],
|
|
1107
1117
|
locale: "uk-UA",
|
|
1108
|
-
"onUpdate:modelValue":
|
|
1118
|
+
"onUpdate:modelValue": o[1] || (o[1] = (c) => e(d)[1] = c),
|
|
1109
1119
|
class: "px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",
|
|
1110
|
-
disabled:
|
|
1111
|
-
}, null, 8,
|
|
1112
|
-
[ee, e(
|
|
1120
|
+
disabled: C.disabled
|
|
1121
|
+
}, null, 8, Ht), [
|
|
1122
|
+
[ee, e(d)[1]]
|
|
1113
1123
|
])
|
|
1114
1124
|
])) : V("", !0)
|
|
1115
1125
|
])) : V("", !0),
|
|
1116
|
-
|
|
1117
|
-
class:
|
|
1126
|
+
s("div", {
|
|
1127
|
+
class: E(C.layout === "popover" ? "space-y-3 p-2" : "flex items-center gap-2")
|
|
1118
1128
|
}, [
|
|
1119
|
-
|
|
1120
|
-
class:
|
|
1129
|
+
s("div", {
|
|
1130
|
+
class: E(C.layout !== "popover" ? "w-[48%]" : "")
|
|
1121
1131
|
}, [
|
|
1122
|
-
|
|
1123
|
-
|
|
1132
|
+
C.layout === "popover" ? (i(), w("label", Gt, B(e(g)("filter.from")), 1)) : V("", !0),
|
|
1133
|
+
W(s("input", {
|
|
1124
1134
|
type: "date",
|
|
1125
|
-
max: e(
|
|
1135
|
+
max: e(d)[1],
|
|
1126
1136
|
locale: "uk-UA",
|
|
1127
|
-
"onUpdate:modelValue":
|
|
1128
|
-
class:
|
|
1129
|
-
disabled:
|
|
1130
|
-
}, null, 10,
|
|
1131
|
-
[ee, e(
|
|
1137
|
+
"onUpdate:modelValue": o[2] || (o[2] = (c) => e(d)[0] = c),
|
|
1138
|
+
class: E(e(u)),
|
|
1139
|
+
disabled: C.disabled
|
|
1140
|
+
}, null, 10, Xt), [
|
|
1141
|
+
[ee, e(d)[0]]
|
|
1132
1142
|
])
|
|
1133
1143
|
], 2),
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
class:
|
|
1144
|
+
C.layout !== "popover" ? (i(), w("label", Zt, " - ")) : V("", !0),
|
|
1145
|
+
s("div", {
|
|
1146
|
+
class: E(C.layout !== "popover" ? "w-[48%]" : "")
|
|
1137
1147
|
}, [
|
|
1138
|
-
|
|
1139
|
-
|
|
1148
|
+
C.layout === "popover" ? (i(), w("label", Jt, B(e(g)("filter.to")), 1)) : V("", !0),
|
|
1149
|
+
W(s("input", {
|
|
1140
1150
|
type: "date",
|
|
1141
|
-
min: e(
|
|
1151
|
+
min: e(d)[0],
|
|
1142
1152
|
locale: "uk-UA",
|
|
1143
|
-
"onUpdate:modelValue":
|
|
1144
|
-
class:
|
|
1145
|
-
disabled:
|
|
1146
|
-
}, null, 10,
|
|
1147
|
-
[ee, e(
|
|
1153
|
+
"onUpdate:modelValue": o[3] || (o[3] = (c) => e(d)[1] = c),
|
|
1154
|
+
class: E(e(u)),
|
|
1155
|
+
disabled: C.disabled
|
|
1156
|
+
}, null, 10, el), [
|
|
1157
|
+
[ee, e(d)[1]]
|
|
1148
1158
|
])
|
|
1149
1159
|
], 2)
|
|
1150
1160
|
], 2),
|
|
1151
|
-
|
|
1152
|
-
(
|
|
1153
|
-
key:
|
|
1154
|
-
class:
|
|
1155
|
-
onClick: (
|
|
1156
|
-
},
|
|
1157
|
-
|
|
1158
|
-
class:
|
|
1159
|
-
onClick:
|
|
1160
|
-
(...
|
|
1161
|
+
s("div", tl, [
|
|
1162
|
+
(i(), w(I, null, X(["today", "week", "month", "quarter", "year"], (c) => s("button", {
|
|
1163
|
+
key: c,
|
|
1164
|
+
class: E(e(l) + (e(x) === c ? " bg-blue-100" : "")),
|
|
1165
|
+
onClick: (v) => e(p)(c)
|
|
1166
|
+
}, B(e(g)("filter." + c)), 11, ll)), 64)),
|
|
1167
|
+
s("button", {
|
|
1168
|
+
class: E(e(l)),
|
|
1169
|
+
onClick: o[4] || (o[4] = //@ts-ignore
|
|
1170
|
+
(...c) => e(k) && e(k)(...c))
|
|
1161
1171
|
}, " <", 2),
|
|
1162
|
-
|
|
1163
|
-
class:
|
|
1164
|
-
onClick:
|
|
1165
|
-
(...
|
|
1172
|
+
s("button", {
|
|
1173
|
+
class: E(e(l)),
|
|
1174
|
+
onClick: o[5] || (o[5] = //@ts-ignore
|
|
1175
|
+
(...c) => e(r) && e(r)(...c))
|
|
1166
1176
|
}, " >", 2)
|
|
1167
1177
|
]),
|
|
1168
|
-
(
|
|
1178
|
+
(C.cleanable, V("", !0))
|
|
1169
1179
|
], 64));
|
|
1170
1180
|
}
|
|
1171
1181
|
});
|
|
1172
|
-
function al(
|
|
1182
|
+
function al(f, a) {
|
|
1173
1183
|
const {
|
|
1174
|
-
api:
|
|
1184
|
+
api: y,
|
|
1175
1185
|
options: t = [],
|
|
1176
1186
|
limit: u = 20,
|
|
1177
1187
|
dataKey: l = "data"
|
|
1178
|
-
} =
|
|
1179
|
-
function
|
|
1180
|
-
return g ? Array.isArray(
|
|
1188
|
+
} = f, g = f.multi;
|
|
1189
|
+
function n(j) {
|
|
1190
|
+
return g ? Array.isArray(j) ? j : j ? [j] : [] : Array.isArray(j) ? j[0] : j;
|
|
1181
1191
|
}
|
|
1182
|
-
const
|
|
1183
|
-
function
|
|
1184
|
-
const
|
|
1185
|
-
return { autoValueKey:
|
|
1192
|
+
const m = A(n(f.modelValue)), x = A(""), d = A(!1), p = A(t), r = A("id"), k = A("text"), _ = A(!1), C = A(f.layout !== "popover" && t.length > u), o = A([]), c = A(0);
|
|
1193
|
+
function v(j) {
|
|
1194
|
+
const L = j.find(Boolean) ?? {}, P = ["id", "value", "code", "key"].find((ie) => ie in L) ?? "id", Y = ["text", "label", "name", "title"].find((ie) => ie in L) ?? "text";
|
|
1195
|
+
return { autoValueKey: P, autoLabelKey: Y };
|
|
1186
1196
|
}
|
|
1187
1197
|
if (t.length > 0) {
|
|
1188
|
-
const
|
|
1189
|
-
|
|
1190
|
-
}
|
|
1191
|
-
const h =
|
|
1192
|
-
if (
|
|
1193
|
-
const
|
|
1194
|
-
if (
|
|
1195
|
-
if (!
|
|
1196
|
-
return
|
|
1197
|
-
const
|
|
1198
|
-
return
|
|
1198
|
+
const j = v(t);
|
|
1199
|
+
r.value = j.autoValueKey, k.value = j.autoLabelKey;
|
|
1200
|
+
}
|
|
1201
|
+
const h = O(() => {
|
|
1202
|
+
if (y) return p.value;
|
|
1203
|
+
const j = p.value;
|
|
1204
|
+
if (f.layout === "popover") return j;
|
|
1205
|
+
if (!x.value)
|
|
1206
|
+
return _.value ? j : j.slice(0, u);
|
|
1207
|
+
const L = x.value.toLowerCase();
|
|
1208
|
+
return j.filter((P) => P[k.value].toLowerCase().includes(L));
|
|
1199
1209
|
});
|
|
1200
|
-
let
|
|
1201
|
-
async function
|
|
1202
|
-
if (
|
|
1203
|
-
|
|
1210
|
+
let b = null;
|
|
1211
|
+
async function K(j) {
|
|
1212
|
+
if (y) {
|
|
1213
|
+
d.value = !0;
|
|
1204
1214
|
try {
|
|
1205
|
-
const
|
|
1206
|
-
|
|
1207
|
-
const
|
|
1208
|
-
if (!
|
|
1209
|
-
Ae({ type: "error", title: "Error", message: "Failed to fetch remote options" }),
|
|
1215
|
+
const L = new URL(y, window.location.origin);
|
|
1216
|
+
L.searchParams.set("json", "1"), L.searchParams.set("key", j), L.searchParams.set("limit", u.toString());
|
|
1217
|
+
const P = await fetch(L.toString());
|
|
1218
|
+
if (!P.ok) {
|
|
1219
|
+
Ae({ type: "error", title: "Error", message: "Failed to fetch remote options" }), p.value = [];
|
|
1210
1220
|
return;
|
|
1211
1221
|
}
|
|
1212
|
-
const
|
|
1213
|
-
if (!
|
|
1214
|
-
Ae({ type: "error", title: "Error", message:
|
|
1222
|
+
const Y = await P.json();
|
|
1223
|
+
if (!Y[l]) {
|
|
1224
|
+
Ae({ type: "error", title: "Error", message: Y }), p.value = [];
|
|
1215
1225
|
return;
|
|
1216
1226
|
}
|
|
1217
|
-
if (
|
|
1218
|
-
const ie = p
|
|
1219
|
-
|
|
1227
|
+
if (p.value = Y[l], p.value.length > 0) {
|
|
1228
|
+
const ie = v(p.value);
|
|
1229
|
+
r.value = ie.autoValueKey, k.value = ie.autoLabelKey;
|
|
1220
1230
|
}
|
|
1221
|
-
|
|
1222
|
-
} catch (
|
|
1223
|
-
console.error("Failed to fetch remote options:",
|
|
1231
|
+
c.value = Y.total;
|
|
1232
|
+
} catch (L) {
|
|
1233
|
+
console.error("Failed to fetch remote options:", L);
|
|
1224
1234
|
} finally {
|
|
1225
|
-
|
|
1235
|
+
d.value = !1;
|
|
1226
1236
|
}
|
|
1227
1237
|
}
|
|
1228
1238
|
}
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1239
|
+
U(x, (j) => {
|
|
1240
|
+
y && (b && clearTimeout(b), b = setTimeout(() => {
|
|
1241
|
+
K(j);
|
|
1232
1242
|
}, 200));
|
|
1233
|
-
}),
|
|
1234
|
-
|
|
1243
|
+
}), U(() => f.modelValue, (j) => {
|
|
1244
|
+
m.value = n(j);
|
|
1235
1245
|
}, { immediate: !0 });
|
|
1236
|
-
function
|
|
1237
|
-
return g && Array.isArray(
|
|
1246
|
+
function M(j) {
|
|
1247
|
+
return g && Array.isArray(m.value) ? m.value.includes(j[r.value]) : m.value && m.value === j[r.value];
|
|
1238
1248
|
}
|
|
1239
|
-
function
|
|
1240
|
-
if (g && !Array.isArray(
|
|
1241
|
-
const
|
|
1242
|
-
|
|
1249
|
+
function $(j) {
|
|
1250
|
+
if (g && !Array.isArray(m.value) && (m.value = []), g && Array.isArray(m.value)) {
|
|
1251
|
+
const L = m.value.includes(j[r.value]);
|
|
1252
|
+
m.value = L ? m.value.filter((P) => P !== j[r.value]) : [...m.value, j[r.value]], o.value = L ? o.value.filter((P) => P !== j[k.value]) : [...o.value, j[k.value]];
|
|
1243
1253
|
} else
|
|
1244
|
-
|
|
1245
|
-
|
|
1254
|
+
m.value = j[r.value], o.value = j[k.value];
|
|
1255
|
+
a("update:modelValue", m.value), a("change", { name: f.name, value: m.value });
|
|
1246
1256
|
}
|
|
1247
|
-
function
|
|
1248
|
-
g ? (
|
|
1257
|
+
function S() {
|
|
1258
|
+
g ? (m.value = [], o.value = []) : (m.value = void 0, o.value = []), a("update:modelValue", m.value), a("clear", f.name);
|
|
1249
1259
|
}
|
|
1250
|
-
function
|
|
1251
|
-
|
|
1260
|
+
function F() {
|
|
1261
|
+
b && clearTimeout(b), x.value = "", _.value = !1;
|
|
1252
1262
|
}
|
|
1253
|
-
function
|
|
1254
|
-
|
|
1263
|
+
function D() {
|
|
1264
|
+
_.value = !_.value;
|
|
1255
1265
|
}
|
|
1256
1266
|
pe(() => {
|
|
1257
|
-
|
|
1267
|
+
b && clearTimeout(b);
|
|
1258
1268
|
});
|
|
1259
|
-
const
|
|
1260
|
-
|
|
1261
|
-
|
|
1269
|
+
const R = A(-1);
|
|
1270
|
+
U(h, () => {
|
|
1271
|
+
R.value = h.value.length > 0 ? 0 : -1;
|
|
1262
1272
|
});
|
|
1263
|
-
function
|
|
1264
|
-
const
|
|
1265
|
-
if (
|
|
1266
|
-
|
|
1267
|
-
else if (
|
|
1268
|
-
|
|
1269
|
-
else if (
|
|
1270
|
-
const
|
|
1271
|
-
|
|
1273
|
+
function N(j) {
|
|
1274
|
+
const L = h.value.length;
|
|
1275
|
+
if (j.key === "ArrowDown")
|
|
1276
|
+
j.preventDefault(), R.value = (R.value + 1) % L;
|
|
1277
|
+
else if (j.key === "ArrowUp")
|
|
1278
|
+
j.preventDefault(), R.value = (R.value - 1 + L) % L;
|
|
1279
|
+
else if (j.key === "Enter" && (j.preventDefault(), R.value >= 0 && R.value < h.value.length)) {
|
|
1280
|
+
const P = h.value[R.value];
|
|
1281
|
+
$(P);
|
|
1272
1282
|
}
|
|
1273
1283
|
}
|
|
1274
|
-
function
|
|
1275
|
-
|
|
1284
|
+
function z() {
|
|
1285
|
+
y && p.value.length === 0 && x.value.length === 0 && K(x.value);
|
|
1276
1286
|
}
|
|
1277
1287
|
return {
|
|
1278
|
-
innerValue:
|
|
1279
|
-
searchTerm:
|
|
1288
|
+
innerValue: m,
|
|
1289
|
+
searchTerm: x,
|
|
1280
1290
|
filteredOptions: h,
|
|
1281
|
-
isSelected:
|
|
1282
|
-
selectItem:
|
|
1283
|
-
clear:
|
|
1284
|
-
resetSearch:
|
|
1285
|
-
toggleShowAll:
|
|
1286
|
-
isReqProc:
|
|
1287
|
-
showAll:
|
|
1288
|
-
isEnableShowAll:
|
|
1289
|
-
labelKey:
|
|
1290
|
-
valueKey:
|
|
1291
|
-
allOptions:
|
|
1292
|
-
highlightedIndex:
|
|
1293
|
-
onKeyDown:
|
|
1291
|
+
isSelected: M,
|
|
1292
|
+
selectItem: $,
|
|
1293
|
+
clear: S,
|
|
1294
|
+
resetSearch: F,
|
|
1295
|
+
toggleShowAll: D,
|
|
1296
|
+
isReqProc: d,
|
|
1297
|
+
showAll: _,
|
|
1298
|
+
isEnableShowAll: C,
|
|
1299
|
+
labelKey: k,
|
|
1300
|
+
valueKey: r,
|
|
1301
|
+
allOptions: p,
|
|
1302
|
+
highlightedIndex: R,
|
|
1303
|
+
onKeyDown: N,
|
|
1294
1304
|
selectedLabels: o,
|
|
1295
|
-
totalCount:
|
|
1296
|
-
loadData:
|
|
1305
|
+
totalCount: c,
|
|
1306
|
+
loadData: z
|
|
1297
1307
|
};
|
|
1298
1308
|
}
|
|
1299
|
-
const
|
|
1309
|
+
const nl = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center" }, rl = ["placeholder"], sl = {
|
|
1300
1310
|
key: 0,
|
|
1301
1311
|
class: "w-full"
|
|
1302
|
-
},
|
|
1312
|
+
}, il = { class: "flex flex-col items-center justify-center p-5 text-center" }, ul = { class: "max-w-sm mx-auto mt-6" }, dl = { class: "font-medium text-gray-800 dark:text-neutral-200" }, cl = {
|
|
1303
1313
|
key: 0,
|
|
1304
1314
|
class: "flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"
|
|
1305
|
-
},
|
|
1315
|
+
}, fl = {
|
|
1306
1316
|
key: 1,
|
|
1307
1317
|
class: "flex justify-between items-center text-xs text-gray-500 p-1 border-t"
|
|
1308
|
-
},
|
|
1318
|
+
}, pl = /* @__PURE__ */ q({
|
|
1309
1319
|
__name: "select",
|
|
1310
1320
|
props: {
|
|
1311
1321
|
id: {},
|
|
@@ -1330,157 +1340,158 @@ const rl = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relat
|
|
|
1330
1340
|
mode: {},
|
|
1331
1341
|
labelKey: {},
|
|
1332
1342
|
sort: {},
|
|
1333
|
-
ua: {}
|
|
1343
|
+
ua: {},
|
|
1344
|
+
itemClass: {}
|
|
1334
1345
|
},
|
|
1335
1346
|
emits: ["update:modelValue", "change", "clear"],
|
|
1336
|
-
setup(
|
|
1337
|
-
const t =
|
|
1338
|
-
innerValue:
|
|
1339
|
-
filteredOptions:
|
|
1340
|
-
isSelected:
|
|
1341
|
-
selectItem:
|
|
1342
|
-
clear:
|
|
1343
|
-
resetSearch:
|
|
1344
|
-
toggleShowAll:
|
|
1345
|
-
isReqProc:
|
|
1346
|
-
showAll:
|
|
1347
|
+
setup(f, { expose: a, emit: y }) {
|
|
1348
|
+
const t = oe(), u = f, l = y, g = A(null), {
|
|
1349
|
+
innerValue: n,
|
|
1350
|
+
filteredOptions: m,
|
|
1351
|
+
isSelected: x,
|
|
1352
|
+
selectItem: d,
|
|
1353
|
+
clear: p,
|
|
1354
|
+
resetSearch: r,
|
|
1355
|
+
toggleShowAll: k,
|
|
1356
|
+
isReqProc: _,
|
|
1357
|
+
showAll: C,
|
|
1347
1358
|
isEnableShowAll: o,
|
|
1348
|
-
searchTerm:
|
|
1349
|
-
labelKey:
|
|
1359
|
+
searchTerm: c,
|
|
1360
|
+
labelKey: v,
|
|
1350
1361
|
valueKey: h,
|
|
1351
|
-
highlightedIndex:
|
|
1352
|
-
onKeyDown:
|
|
1353
|
-
selectedLabels:
|
|
1354
|
-
totalCount:
|
|
1355
|
-
loadData:
|
|
1362
|
+
highlightedIndex: b,
|
|
1363
|
+
onKeyDown: K,
|
|
1364
|
+
selectedLabels: M,
|
|
1365
|
+
totalCount: $,
|
|
1366
|
+
loadData: S
|
|
1356
1367
|
} = al({
|
|
1357
1368
|
...u,
|
|
1358
1369
|
modelValue: u.modelValue
|
|
1359
1370
|
}, l);
|
|
1360
1371
|
ce(() => {
|
|
1361
|
-
|
|
1362
|
-
}),
|
|
1372
|
+
r(), u.layout !== "inline" && (S(), g.value && u.layout === "popover" && g.value.focus());
|
|
1373
|
+
}), U(
|
|
1363
1374
|
() => u.modelValue,
|
|
1364
|
-
(
|
|
1365
|
-
|
|
1375
|
+
(D) => {
|
|
1376
|
+
D === void 0 && (u.multi ? n.value = [] : n.value = void 0);
|
|
1366
1377
|
}
|
|
1367
1378
|
);
|
|
1368
|
-
const
|
|
1369
|
-
return
|
|
1370
|
-
|
|
1379
|
+
const F = A([]);
|
|
1380
|
+
return U(b, (D) => {
|
|
1381
|
+
D >= 0 && F.value[D] && F.value[D]?.scrollIntoView({
|
|
1371
1382
|
block: "nearest",
|
|
1372
1383
|
behavior: "smooth"
|
|
1373
1384
|
});
|
|
1374
|
-
}),
|
|
1375
|
-
|
|
1376
|
-
}),
|
|
1377
|
-
clear:
|
|
1385
|
+
}), U(m, () => {
|
|
1386
|
+
F.value = [];
|
|
1387
|
+
}), a({
|
|
1388
|
+
clear: p,
|
|
1378
1389
|
inputTextRef: g,
|
|
1379
|
-
selectedLabels:
|
|
1380
|
-
loadData:
|
|
1381
|
-
}), (
|
|
1382
|
-
class:
|
|
1390
|
+
selectedLabels: M,
|
|
1391
|
+
loadData: S
|
|
1392
|
+
}), (D, R) => (i(), w("div", {
|
|
1393
|
+
class: E([D.layout === "popover" ? "flex flex-col h-full" : "flex flex-col vs-filter-checkbox space-y-0.5"])
|
|
1383
1394
|
}, [
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
"onUpdate:modelValue":
|
|
1387
|
-
onKeydown:
|
|
1388
|
-
(...
|
|
1395
|
+
s("div", nl, [
|
|
1396
|
+
W(s("input", {
|
|
1397
|
+
"onUpdate:modelValue": R[0] || (R[0] = (N) => Ye(c) ? c.value = N : null),
|
|
1398
|
+
onKeydown: R[1] || (R[1] = //@ts-ignore
|
|
1399
|
+
(...N) => e(K) && e(K)(...N)),
|
|
1389
1400
|
class: "w-full h-full text-[13px] px-4 border rounded-sm pl-9 focus:outline-none focus:ring-ring focus:ring-1 focus:ring-blue-500 text-gray-700",
|
|
1390
1401
|
placeholder: e(t)("filter.search"),
|
|
1391
1402
|
type: "text",
|
|
1392
1403
|
ref_key: "inputTextRef",
|
|
1393
1404
|
ref: g
|
|
1394
|
-
}, null, 40,
|
|
1395
|
-
[ee, e(
|
|
1405
|
+
}, null, 40, rl), [
|
|
1406
|
+
[ee, e(c)]
|
|
1396
1407
|
]),
|
|
1397
|
-
Q(
|
|
1398
|
-
e(
|
|
1408
|
+
Q(Le, { class: "absolute text-gray-400 -translate-y-1/2 left-4 top-1/2" }),
|
|
1409
|
+
e(c) != "" ? (i(), T(Ce, {
|
|
1399
1410
|
key: 0,
|
|
1400
|
-
onClick:
|
|
1411
|
+
onClick: R[2] || (R[2] = (N) => c.value = ""),
|
|
1401
1412
|
class: "absolute text-gray-400 -translate-y-1/2 cursor-pointer hover:text-red-500 right-4 top-1/2"
|
|
1402
1413
|
})) : V("", !0)
|
|
1403
1414
|
]),
|
|
1404
|
-
|
|
1405
|
-
class:
|
|
1406
|
-
|
|
1407
|
-
|
|
1415
|
+
s("div", {
|
|
1416
|
+
class: E([
|
|
1417
|
+
D.layout === "popover" ? "flex-1 overflow-y-auto p-2" : "",
|
|
1418
|
+
D.layout === "inline" ? "flex-1 overflow-y-auto max-h-80" : ""
|
|
1408
1419
|
])
|
|
1409
1420
|
}, [
|
|
1410
|
-
(
|
|
1411
|
-
layout:
|
|
1412
|
-
count:
|
|
1413
|
-
label:
|
|
1414
|
-
color:
|
|
1415
|
-
type:
|
|
1416
|
-
value:
|
|
1417
|
-
"is-selected": e(
|
|
1418
|
-
highlighted:
|
|
1419
|
-
onItemClick: (
|
|
1421
|
+
(i(!0), w(I, null, X(e(m), (N, z) => (i(), T(he, {
|
|
1422
|
+
layout: D.layout,
|
|
1423
|
+
count: N.count,
|
|
1424
|
+
label: N[e(v)],
|
|
1425
|
+
color: N.color,
|
|
1426
|
+
type: D.multi ? "checkbox" : "radio",
|
|
1427
|
+
value: N[e(h)],
|
|
1428
|
+
"is-selected": e(x)(N),
|
|
1429
|
+
highlighted: z === e(b),
|
|
1430
|
+
onItemClick: (j) => e(d)(N),
|
|
1420
1431
|
ref_for: !0,
|
|
1421
|
-
ref: (
|
|
1432
|
+
ref: (j) => F.value[z] = j?.el
|
|
1422
1433
|
}, null, 8, ["layout", "count", "label", "color", "type", "value", "is-selected", "highlighted", "onItemClick"]))), 256))
|
|
1423
1434
|
], 2),
|
|
1424
|
-
|
|
1425
|
-
|
|
1435
|
+
D.type === "select" && e(m).length === 0 && !e(_) ? (i(), w("div", sl, [
|
|
1436
|
+
s("div", il, [
|
|
1426
1437
|
Q(we),
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1438
|
+
s("div", ul, [
|
|
1439
|
+
s("p", dl, B(e(t)("filter.notfound")), 1),
|
|
1440
|
+
R[7] || (R[7] = s("p", { class: "mt-2 text-sm text-gray-500 dark:text-neutral-500" }, null, -1))
|
|
1430
1441
|
])
|
|
1431
1442
|
])
|
|
1432
1443
|
])) : V("", !0),
|
|
1433
|
-
|
|
1434
|
-
!e(
|
|
1444
|
+
D.layout !== "popover" && D.type !== "select" ? (i(), w(I, { key: 1 }, [
|
|
1445
|
+
!e(C) && e(o) ? (i(), w("div", {
|
|
1435
1446
|
key: 0,
|
|
1436
|
-
onClick:
|
|
1437
|
-
(...
|
|
1447
|
+
onClick: R[3] || (R[3] = //@ts-ignore
|
|
1448
|
+
(...N) => e(k) && e(k)(...N)),
|
|
1438
1449
|
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"
|
|
1439
1450
|
}, [
|
|
1440
|
-
G(
|
|
1451
|
+
G(B(e(t)("filter.more")) + " ", 1),
|
|
1441
1452
|
Q(ve)
|
|
1442
1453
|
])) : V("", !0),
|
|
1443
|
-
e(
|
|
1454
|
+
e(C) ? (i(), w("div", {
|
|
1444
1455
|
key: 1,
|
|
1445
|
-
onClick:
|
|
1446
|
-
(...
|
|
1456
|
+
onClick: R[4] || (R[4] = //@ts-ignore
|
|
1457
|
+
(...N) => e(k) && e(k)(...N)),
|
|
1447
1458
|
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"
|
|
1448
1459
|
}, [
|
|
1449
|
-
G(
|
|
1460
|
+
G(B(e(t)("filter.less")) + " ", 1),
|
|
1450
1461
|
Q(ke)
|
|
1451
1462
|
])) : V("", !0)
|
|
1452
1463
|
], 64)) : V("", !0),
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
G(
|
|
1456
|
-
|
|
1464
|
+
D.cleanable ? (i(), w(I, { key: 2 }, [
|
|
1465
|
+
D.layout === "inline" ? (i(), w("div", cl, [
|
|
1466
|
+
G(B(D.multi && Array.isArray(e(n)) ? e(n)?.length : e(n) !== void 0 && (e(n) || e(n) === null) ? 1 : 0) + " / " + B(e($)) + " " + B(e(t)("filter.selected")) + " ", 1),
|
|
1467
|
+
W(s("button", {
|
|
1457
1468
|
class: "text-gray-600 hover:text-gray-800",
|
|
1458
|
-
onClick:
|
|
1459
|
-
(...
|
|
1460
|
-
},
|
|
1461
|
-
[J, e(
|
|
1469
|
+
onClick: R[5] || (R[5] = //@ts-ignore
|
|
1470
|
+
(...N) => e(p) && e(p)(...N))
|
|
1471
|
+
}, B(e(t)("filter.clear")), 513), [
|
|
1472
|
+
[J, e(n) !== "" && e(n) !== void 0 || e(n)]
|
|
1462
1473
|
])
|
|
1463
1474
|
])) : V("", !0),
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1475
|
+
D.layout === "popover" ? (i(), w("div", fl, [
|
|
1476
|
+
s("span", null, B(D.multi && Array.isArray(e(n)) ? e(n)?.length : e(n) !== void 0 && (e(n) || e(n) === null) ? 1 : 0) + " / " + B(e($)) + " " + B(e(t)("filter.selected")), 1),
|
|
1477
|
+
W(s("button", {
|
|
1467
1478
|
class: "text-gray-600 hover:text-gray-800",
|
|
1468
|
-
onClick:
|
|
1469
|
-
(...
|
|
1470
|
-
},
|
|
1471
|
-
[J, e(
|
|
1479
|
+
onClick: R[6] || (R[6] = //@ts-ignore
|
|
1480
|
+
(...N) => e(p) && e(p)(...N))
|
|
1481
|
+
}, B(e(t)("filter.clear")), 513), [
|
|
1482
|
+
[J, e(n) !== "" && e(n) !== void 0 || e(n)]
|
|
1472
1483
|
])
|
|
1473
1484
|
])) : V("", !0)
|
|
1474
1485
|
], 64)) : V("", !0)
|
|
1475
1486
|
], 2));
|
|
1476
1487
|
}
|
|
1477
|
-
}),
|
|
1488
|
+
}), ml = ["for", "onClick"], vl = ["id", "name", "value"], yl = { class: "block" }, gl = {
|
|
1478
1489
|
key: 0,
|
|
1479
1490
|
class: "flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"
|
|
1480
|
-
},
|
|
1491
|
+
}, bl = {
|
|
1481
1492
|
key: 1,
|
|
1482
1493
|
class: "flex justify-between items-center text-xs text-gray-500 p-1 border-t"
|
|
1483
|
-
},
|
|
1494
|
+
}, hl = /* @__PURE__ */ q({
|
|
1484
1495
|
__name: "tag-field",
|
|
1485
1496
|
props: {
|
|
1486
1497
|
id: {},
|
|
@@ -1505,69 +1516,70 @@ const rl = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relat
|
|
|
1505
1516
|
mode: {},
|
|
1506
1517
|
labelKey: {},
|
|
1507
1518
|
sort: {},
|
|
1508
|
-
ua: {}
|
|
1519
|
+
ua: {},
|
|
1520
|
+
itemClass: {}
|
|
1509
1521
|
},
|
|
1510
1522
|
emits: ["update:modelValue", "change", "clear"],
|
|
1511
|
-
setup(
|
|
1512
|
-
const t =
|
|
1523
|
+
setup(f, { expose: a, emit: y }) {
|
|
1524
|
+
const t = f, u = y, {
|
|
1513
1525
|
innerValue: l,
|
|
1514
1526
|
isSelected: g,
|
|
1515
|
-
selectItem:
|
|
1516
|
-
clear:
|
|
1517
|
-
labelKey:
|
|
1518
|
-
valueKey:
|
|
1519
|
-
allOptions:
|
|
1520
|
-
} = t.multi ?
|
|
1527
|
+
selectItem: n,
|
|
1528
|
+
clear: m,
|
|
1529
|
+
labelKey: x,
|
|
1530
|
+
valueKey: d,
|
|
1531
|
+
allOptions: p
|
|
1532
|
+
} = t.multi ? Me({
|
|
1521
1533
|
...t,
|
|
1522
1534
|
modelValue: t.modelValue ?? t.default ?? []
|
|
1523
1535
|
}, u) : xe({
|
|
1524
1536
|
...t,
|
|
1525
1537
|
modelValue: t.modelValue !== void 0 ? t.modelValue : t.default ?? ""
|
|
1526
1538
|
}, u);
|
|
1527
|
-
return
|
|
1528
|
-
clear:
|
|
1529
|
-
}),
|
|
1539
|
+
return a({
|
|
1540
|
+
clear: m
|
|
1541
|
+
}), U(
|
|
1530
1542
|
() => t.modelValue,
|
|
1531
|
-
(
|
|
1532
|
-
|
|
1543
|
+
(r) => {
|
|
1544
|
+
r === void 0 && (t.multi ? l.value = [] : l.value = void 0);
|
|
1533
1545
|
}
|
|
1534
|
-
), (
|
|
1535
|
-
|
|
1536
|
-
class:
|
|
1546
|
+
), (r, k) => (i(), w(I, null, [
|
|
1547
|
+
s("div", {
|
|
1548
|
+
class: E(["grid grid-cols-3 gap-2 mx-[1px]", r.layout === "popover" ? "m-1" : "mb-1"])
|
|
1537
1549
|
}, [
|
|
1538
|
-
(
|
|
1539
|
-
key: `item-${
|
|
1540
|
-
for: `item-${
|
|
1541
|
-
onClick:
|
|
1542
|
-
class:
|
|
1550
|
+
(i(!0), w(I, null, X(e(p), (_) => (i(), w("label", {
|
|
1551
|
+
key: `item-${_[e(d)]}`,
|
|
1552
|
+
for: `item-${_[e(d)]}`,
|
|
1553
|
+
onClick: se((C) => e(n)(_), ["stop", "prevent"]),
|
|
1554
|
+
class: E([e(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-sm dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-200 peer-checked:text-indigo-600 dark:has-checked:text-indigo-500 peer-checked:border-indigo-600 dark:has-checked:border-indigo-500 peer-checked:ring peer-checked:shadow focus:ring dark:has-checked:ring-indigo-500 has-disabled:pointer-events-none has-disabled:text-gray-200 dark:has-disabled:text-neutral-700 has-disabled:after:absolute has-disabled:after:inset-0 has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-gray-200)_calc(50%-1px),var(--color-gray-200)_50%,transparent_50%)] dark:has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-neutral-700)_calc(50%-1px),var(--color-neutral-700)_50%,transparent_50%)]"])
|
|
1543
1555
|
}, [
|
|
1544
|
-
|
|
1556
|
+
s("input", {
|
|
1545
1557
|
type: "checkbox",
|
|
1546
|
-
id: `item-${
|
|
1558
|
+
id: `item-${_[e(d)]}`,
|
|
1547
1559
|
class: "hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",
|
|
1548
|
-
name: `item-${
|
|
1549
|
-
value:
|
|
1550
|
-
}, null, 8,
|
|
1551
|
-
|
|
1552
|
-
], 10,
|
|
1560
|
+
name: `item-${_[e(d)]}`,
|
|
1561
|
+
value: _[e(d)]
|
|
1562
|
+
}, null, 8, vl),
|
|
1563
|
+
s("span", yl, B(_[e(x)]), 1)
|
|
1564
|
+
], 10, ml))), 128))
|
|
1553
1565
|
], 2),
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
G(
|
|
1557
|
-
|
|
1566
|
+
r.cleanable ? (i(), w(I, { key: 0 }, [
|
|
1567
|
+
r.layout === "inline" ? (i(), w("div", gl, [
|
|
1568
|
+
G(B(r.multi && Array.isArray(e(l)) ? e(l)?.length : e(l) !== void 0 && (e(l) || e(l) === null) ? 1 : 0) + " з " + B(e(p).length) + " обрано ", 1),
|
|
1569
|
+
W(s("button", {
|
|
1558
1570
|
class: "text-gray-600 hover:text-gray-800",
|
|
1559
|
-
onClick:
|
|
1560
|
-
(...
|
|
1571
|
+
onClick: k[0] || (k[0] = //@ts-ignore
|
|
1572
|
+
(..._) => e(m) && e(m)(..._))
|
|
1561
1573
|
}, " Очистити ", 512), [
|
|
1562
1574
|
[J, e(l) !== "" && e(l) !== void 0 || e(l)]
|
|
1563
1575
|
])
|
|
1564
1576
|
])) : V("", !0),
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1577
|
+
r.layout === "popover" ? (i(), w("div", bl, [
|
|
1578
|
+
s("span", null, B(r.multi && Array.isArray(e(l)) ? e(l)?.length : e(l) !== void 0 && (e(l) || e(l) === null) ? 1 : 0) + " з " + B(e(p).length) + " обрано", 1),
|
|
1579
|
+
W(s("button", {
|
|
1568
1580
|
class: "text-gray-600 hover:text-gray-800",
|
|
1569
|
-
onClick:
|
|
1570
|
-
(...
|
|
1581
|
+
onClick: k[1] || (k[1] = //@ts-ignore
|
|
1582
|
+
(..._) => e(m) && e(m)(..._))
|
|
1571
1583
|
}, " Очистити ", 512), [
|
|
1572
1584
|
[J, e(l) !== void 0 && e(l) !== "" || e(l)]
|
|
1573
1585
|
])
|
|
@@ -1575,10 +1587,10 @@ const rl = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relat
|
|
|
1575
1587
|
], 64)) : V("", !0)
|
|
1576
1588
|
], 64));
|
|
1577
1589
|
}
|
|
1578
|
-
}),
|
|
1590
|
+
}), xl = ["disabled", "title"], wl = { class: "flex w-full items-center justify-between gap-1 overflow-hidden text-left" }, kl = { class: "truncate text-ellipsis text-sm" }, Cl = {
|
|
1579
1591
|
key: 0,
|
|
1580
1592
|
class: "inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-sm bg-blue-100 px-2 text-[11px] font-semibold text-blue-600"
|
|
1581
|
-
},
|
|
1593
|
+
}, _l = { class: "w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-sm focus:outline-none focus:bg-stone-100 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full" }, Vl = { 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" }, _e = /* @__PURE__ */ q({
|
|
1582
1594
|
__name: "popover-field",
|
|
1583
1595
|
props: {
|
|
1584
1596
|
disabled: { type: Boolean, default: !1 },
|
|
@@ -1595,82 +1607,82 @@ const rl = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relat
|
|
|
1595
1607
|
mode: {},
|
|
1596
1608
|
layout: {}
|
|
1597
1609
|
},
|
|
1598
|
-
setup(
|
|
1599
|
-
const
|
|
1600
|
-
function
|
|
1601
|
-
const
|
|
1602
|
-
if (!
|
|
1603
|
-
const
|
|
1604
|
-
let { left:
|
|
1605
|
-
|
|
1610
|
+
setup(f, { expose: a }) {
|
|
1611
|
+
const y = f, t = O(() => Te(y.mode)), u = A(!1), l = A({ top: 0, left: 0 }), g = A(null), n = A(null), m = A(null);
|
|
1612
|
+
function x() {
|
|
1613
|
+
const b = n.value, K = m.value;
|
|
1614
|
+
if (!b || !K) return;
|
|
1615
|
+
const M = b.getBoundingClientRect(), $ = K.offsetWidth, S = window.innerWidth, F = M.bottom + 8;
|
|
1616
|
+
let { left: D } = M;
|
|
1617
|
+
D + $ > S && (D = Math.max(S - $ - 10, 10)), l.value = { top: F, left: D };
|
|
1606
1618
|
}
|
|
1607
|
-
function
|
|
1619
|
+
function d() {
|
|
1608
1620
|
u.value = !u.value, u.value && me(() => {
|
|
1609
|
-
|
|
1621
|
+
x(), y.fieldRef?.inputTextRef && y.fieldRef?.inputTextRef?.focus?.(), y.fieldRef?.loadData && y.fieldRef?.loadData?.();
|
|
1610
1622
|
});
|
|
1611
1623
|
}
|
|
1612
|
-
function
|
|
1613
|
-
!g.value?.contains(
|
|
1624
|
+
function p(b) {
|
|
1625
|
+
!g.value?.contains(b.target) && !m.value?.contains(b.target) && !n.value?.contains(b.target) && (u.value = !1);
|
|
1614
1626
|
}
|
|
1615
|
-
function
|
|
1616
|
-
|
|
1627
|
+
function r(b) {
|
|
1628
|
+
b.key === "Escape" && (u.value = !1);
|
|
1617
1629
|
}
|
|
1618
|
-
const
|
|
1619
|
-
|
|
1630
|
+
const k = A(!1), _ = A("ua"), C = (b) => {
|
|
1631
|
+
b.detail.key === "locale" && (_.value = b.detail.newValue);
|
|
1620
1632
|
};
|
|
1621
1633
|
ce(() => {
|
|
1622
|
-
|
|
1634
|
+
k.value = !0, _.value = localStorage.locale, window.addEventListener("storage", C), document.addEventListener("click", p, !0), document.addEventListener("keydown", r), window.addEventListener("scroll", x, !0);
|
|
1623
1635
|
}), pe(() => {
|
|
1624
|
-
window.removeEventListener("resize",
|
|
1636
|
+
window.removeEventListener("resize", C), document.removeEventListener("click", p, !0), document.removeEventListener("keydown", r), window.removeEventListener("scroll", x, !0);
|
|
1625
1637
|
});
|
|
1626
1638
|
function o() {
|
|
1627
1639
|
u.value = !1;
|
|
1628
1640
|
}
|
|
1629
|
-
|
|
1630
|
-
function b
|
|
1631
|
-
return Array.isArray(
|
|
1641
|
+
a({ close: o });
|
|
1642
|
+
function c(b) {
|
|
1643
|
+
return Array.isArray(b) ? b.filter((K) => K != null && K !== "").length : b && typeof b == "object" ? Object.values(b).filter((K) => K != null && K !== "").length : typeof b == "string" ? b.trim() === "" ? 0 : 1 : typeof b == "number" ? Number.isNaN(b) ? 0 : 1 : b === null || b !== void 0 ? 1 : 0;
|
|
1632
1644
|
}
|
|
1633
|
-
const
|
|
1634
|
-
const
|
|
1635
|
-
return
|
|
1636
|
-
}), h =
|
|
1637
|
-
const
|
|
1638
|
-
return !
|
|
1645
|
+
const v = O(() => {
|
|
1646
|
+
const b = y.fieldRef?.selectedLabels, K = c(b);
|
|
1647
|
+
return K > 0 ? K : c(y.currentValue);
|
|
1648
|
+
}), h = O(() => {
|
|
1649
|
+
const b = y.fieldRef?.selectedLabels;
|
|
1650
|
+
return !b || ["inline"].includes(y.layout || "") ? y[_.value] || (y.label ?? "") : Array.isArray(b) ? b.length > 0 ? b.join(", ") : y.label ?? "" : String(b);
|
|
1639
1651
|
});
|
|
1640
|
-
return (
|
|
1641
|
-
|
|
1642
|
-
onClick:
|
|
1643
|
-
disabled:
|
|
1652
|
+
return (b, K) => (i(), w("div", null, [
|
|
1653
|
+
s("button", {
|
|
1654
|
+
onClick: d,
|
|
1655
|
+
disabled: b.disabled,
|
|
1644
1656
|
ref_key: "triggerRef",
|
|
1645
|
-
ref:
|
|
1646
|
-
title:
|
|
1647
|
-
class:
|
|
1657
|
+
ref: n,
|
|
1658
|
+
title: b.label,
|
|
1659
|
+
class: E([
|
|
1648
1660
|
t.value,
|
|
1649
|
-
|
|
1650
|
-
|
|
1661
|
+
b.width ? e(Ee).getWidthClass(b.width) : "w-full",
|
|
1662
|
+
b.layout === "inline" && v.value > 0 ? "border border-blue-400 bg-blue-50 text-blue-600" : ""
|
|
1651
1663
|
]),
|
|
1652
1664
|
type: "button"
|
|
1653
1665
|
}, [
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1666
|
+
s("span", wl, [
|
|
1667
|
+
s("span", kl, B(h.value), 1),
|
|
1668
|
+
b.layout === "inline" && v.value > 0 ? (i(), w("span", Cl, B(v.value), 1)) : V("", !0)
|
|
1657
1669
|
]),
|
|
1658
1670
|
Q(ve, { class: "h-4 w-4 text-neutral-500" })
|
|
1659
|
-
], 10,
|
|
1660
|
-
|
|
1671
|
+
], 10, xl),
|
|
1672
|
+
k.value ? (i(), T(ge, {
|
|
1661
1673
|
key: 0,
|
|
1662
1674
|
to: "body"
|
|
1663
1675
|
}, [
|
|
1664
|
-
|
|
1676
|
+
W(s("div", {
|
|
1665
1677
|
ref_key: "popperRef",
|
|
1666
|
-
ref:
|
|
1678
|
+
ref: m,
|
|
1667
1679
|
class: "vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",
|
|
1668
1680
|
style: be({ top: `${l.value.top}px`, left: `${l.value.left}px` }),
|
|
1669
1681
|
"data-inside-popover": ""
|
|
1670
1682
|
}, [
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
ue(
|
|
1683
|
+
s("div", _l, [
|
|
1684
|
+
s("div", Vl, [
|
|
1685
|
+
ue(b.$slots, "default")
|
|
1674
1686
|
])
|
|
1675
1687
|
])
|
|
1676
1688
|
], 4), [
|
|
@@ -1679,7 +1691,7 @@ const rl = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relat
|
|
|
1679
1691
|
])) : V("", !0)
|
|
1680
1692
|
]));
|
|
1681
1693
|
}
|
|
1682
|
-
}),
|
|
1694
|
+
}), $l = {}, Al = {
|
|
1683
1695
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1684
1696
|
width: "24",
|
|
1685
1697
|
height: "24",
|
|
@@ -1691,12 +1703,12 @@ const rl = { class: "h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relat
|
|
|
1691
1703
|
"stroke-linejoin": "round",
|
|
1692
1704
|
class: "text-blue-600 w-[16px] h-[16px]"
|
|
1693
1705
|
};
|
|
1694
|
-
function Bl(
|
|
1695
|
-
return
|
|
1696
|
-
|
|
1706
|
+
function Bl(f, a) {
|
|
1707
|
+
return i(), w("svg", Al, a[0] || (a[0] = [
|
|
1708
|
+
s("path", { d: "M20 6 9 17l-5-5" }, null, -1)
|
|
1697
1709
|
]));
|
|
1698
1710
|
}
|
|
1699
|
-
const
|
|
1711
|
+
const re = /* @__PURE__ */ te($l, [["render", Bl]]), Sl = {}, jl = {
|
|
1700
1712
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1701
1713
|
width: "15px",
|
|
1702
1714
|
height: "24",
|
|
@@ -1708,17 +1720,17 @@ const ae = /* @__PURE__ */ te(Al, [["render", Bl]]), Dl = {}, jl = {
|
|
|
1708
1720
|
"stroke-linejoin": "round",
|
|
1709
1721
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[90deg]"
|
|
1710
1722
|
};
|
|
1711
|
-
function
|
|
1712
|
-
return
|
|
1713
|
-
|
|
1723
|
+
function Dl(f, a) {
|
|
1724
|
+
return i(), w("svg", jl, a[0] || (a[0] = [
|
|
1725
|
+
s("path", {
|
|
1714
1726
|
stroke: "none",
|
|
1715
1727
|
d: "M0 0h24v24H0z",
|
|
1716
1728
|
fill: "none"
|
|
1717
1729
|
}, null, -1),
|
|
1718
|
-
|
|
1730
|
+
s("path", { d: "M6 9l6 6l6 -6" }, null, -1)
|
|
1719
1731
|
]));
|
|
1720
1732
|
}
|
|
1721
|
-
const
|
|
1733
|
+
const Rl = /* @__PURE__ */ te(Sl, [["render", Dl]]), Fl = {}, Kl = {
|
|
1722
1734
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1723
1735
|
width: "15px",
|
|
1724
1736
|
height: "24",
|
|
@@ -1730,21 +1742,21 @@ const Kl = /* @__PURE__ */ te(Dl, [["render", Rl]]), Fl = {}, Ml = {
|
|
|
1730
1742
|
"stroke-linejoin": "round",
|
|
1731
1743
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[270deg]"
|
|
1732
1744
|
};
|
|
1733
|
-
function
|
|
1734
|
-
return
|
|
1735
|
-
|
|
1745
|
+
function Ml(f, a) {
|
|
1746
|
+
return i(), w("svg", Kl, a[0] || (a[0] = [
|
|
1747
|
+
s("path", {
|
|
1736
1748
|
stroke: "none",
|
|
1737
1749
|
d: "M0 0h24v24H0z",
|
|
1738
1750
|
fill: "none"
|
|
1739
1751
|
}, null, -1),
|
|
1740
|
-
|
|
1752
|
+
s("path", { d: "M6 9l6 6l6 -6" }, null, -1)
|
|
1741
1753
|
]));
|
|
1742
1754
|
}
|
|
1743
|
-
const
|
|
1755
|
+
const Ll = /* @__PURE__ */ te(Fl, [["render", Ml]]), El = { class: "flex" }, Ol = { class: "mb-1" }, Tl = { class: "mb-1" }, Il = { class: "inline-flex rounded-sm shrink-0 pl-1" }, Ul = ["title"], zl = { class: "inline-flex rounded-sm shrink-0 pl-1" }, Nl = ["title"], Pl = {
|
|
1744
1756
|
key: 1,
|
|
1745
1757
|
class: "flex gap-1 !w-[75%] rounded-sm"
|
|
1746
|
-
},
|
|
1747
|
-
const
|
|
1758
|
+
}, Yl = ["max", "disabled"], Wl = ["min", "disabled"];
|
|
1759
|
+
const ql = /* @__PURE__ */ q({
|
|
1748
1760
|
__name: "date-input-inline",
|
|
1749
1761
|
props: {
|
|
1750
1762
|
id: {},
|
|
@@ -1769,171 +1781,172 @@ const Ql = /* @__PURE__ */ W({
|
|
|
1769
1781
|
mode: {},
|
|
1770
1782
|
labelKey: {},
|
|
1771
1783
|
sort: {},
|
|
1772
|
-
ua: {}
|
|
1784
|
+
ua: {},
|
|
1785
|
+
itemClass: {}
|
|
1773
1786
|
},
|
|
1774
1787
|
emits: ["update:modelValue", "change", "clear"],
|
|
1775
|
-
setup(
|
|
1776
|
-
const t =
|
|
1777
|
-
activeMode:
|
|
1778
|
-
innerValue:
|
|
1779
|
-
onSelectChange:
|
|
1780
|
-
nextClick:
|
|
1781
|
-
prevClick:
|
|
1782
|
-
currentLabel:
|
|
1783
|
-
clear:
|
|
1784
|
-
} =
|
|
1788
|
+
setup(f, { expose: a, emit: y }) {
|
|
1789
|
+
const t = oe(), u = f, l = y, g = A(null), {
|
|
1790
|
+
activeMode: n,
|
|
1791
|
+
innerValue: m,
|
|
1792
|
+
onSelectChange: x,
|
|
1793
|
+
nextClick: d,
|
|
1794
|
+
prevClick: p,
|
|
1795
|
+
currentLabel: r,
|
|
1796
|
+
clear: k
|
|
1797
|
+
} = Ie({
|
|
1785
1798
|
...u,
|
|
1786
1799
|
popoverRef: g
|
|
1787
1800
|
}, l);
|
|
1788
|
-
return
|
|
1789
|
-
|
|
1790
|
-
}),
|
|
1791
|
-
clear:
|
|
1801
|
+
return U(() => u.modelValue, (_) => {
|
|
1802
|
+
_ !== void 0 ? (m.value = _, l("update:modelValue", _)) : (n.value = "", m.value = []);
|
|
1803
|
+
}), a({
|
|
1804
|
+
clear: k,
|
|
1792
1805
|
popoverRef: g
|
|
1793
|
-
}), (
|
|
1794
|
-
|
|
1806
|
+
}), (_, C) => (i(), w(I, null, [
|
|
1807
|
+
s("div", El, [
|
|
1795
1808
|
Q(_e, {
|
|
1796
1809
|
ref_key: "popoverRef",
|
|
1797
1810
|
ref: g,
|
|
1798
|
-
label: e(
|
|
1799
|
-
"current-value": e(
|
|
1800
|
-
mode:
|
|
1801
|
-
width: typeof
|
|
1802
|
-
onClear: e(
|
|
1803
|
-
layout:
|
|
1811
|
+
label: e(r),
|
|
1812
|
+
"current-value": e(m),
|
|
1813
|
+
mode: _.mode,
|
|
1814
|
+
width: typeof _.width == "number" && e(m).length ? _.width - 70 : _.width,
|
|
1815
|
+
onClear: e(k),
|
|
1816
|
+
layout: _.layout
|
|
1804
1817
|
}, {
|
|
1805
|
-
default:
|
|
1806
|
-
|
|
1807
|
-
|
|
1818
|
+
default: ae(() => [
|
|
1819
|
+
s("div", null, [
|
|
1820
|
+
s("button", {
|
|
1808
1821
|
type: "button",
|
|
1809
|
-
onClick:
|
|
1822
|
+
onClick: C[0] || (C[0] = (o) => e(x)("range")),
|
|
1810
1823
|
class: "flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"
|
|
1811
1824
|
}, [
|
|
1812
|
-
G(
|
|
1813
|
-
e(
|
|
1825
|
+
G(B(e(t)("filter.period")) + " ", 1),
|
|
1826
|
+
e(n) === "range" ? (i(), T(re, { key: 0 })) : V("", !0)
|
|
1814
1827
|
])
|
|
1815
1828
|
]),
|
|
1816
|
-
|
|
1817
|
-
|
|
1829
|
+
C[12] || (C[12] = s("div", null, [
|
|
1830
|
+
s("div", { class: "pt-1 mt-1 border-t" })
|
|
1818
1831
|
], -1)),
|
|
1819
|
-
|
|
1820
|
-
|
|
1832
|
+
s("div", null, [
|
|
1833
|
+
s("button", {
|
|
1821
1834
|
type: "button",
|
|
1822
|
-
onClick:
|
|
1835
|
+
onClick: C[1] || (C[1] = (o) => e(x)("today")),
|
|
1823
1836
|
class: "flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"
|
|
1824
1837
|
}, [
|
|
1825
|
-
G(
|
|
1826
|
-
e(
|
|
1838
|
+
G(B(e(t)("filter.today")) + " ", 1),
|
|
1839
|
+
e(n) === "today" ? (i(), T(re, { key: 0 })) : V("", !0)
|
|
1827
1840
|
])
|
|
1828
1841
|
]),
|
|
1829
|
-
|
|
1830
|
-
|
|
1842
|
+
s("div", null, [
|
|
1843
|
+
s("button", {
|
|
1831
1844
|
type: "button",
|
|
1832
|
-
onClick:
|
|
1845
|
+
onClick: C[2] || (C[2] = (o) => e(x)("week")),
|
|
1833
1846
|
class: "flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"
|
|
1834
1847
|
}, [
|
|
1835
|
-
G(
|
|
1836
|
-
e(
|
|
1848
|
+
G(B(e(t)("filter.week")) + " ", 1),
|
|
1849
|
+
e(n) === "week" ? (i(), T(re, { key: 0 })) : V("", !0)
|
|
1837
1850
|
])
|
|
1838
1851
|
]),
|
|
1839
|
-
|
|
1840
|
-
|
|
1852
|
+
s("div", null, [
|
|
1853
|
+
s("button", {
|
|
1841
1854
|
type: "button",
|
|
1842
|
-
onClick:
|
|
1855
|
+
onClick: C[3] || (C[3] = (o) => e(x)("month")),
|
|
1843
1856
|
class: "flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"
|
|
1844
1857
|
}, [
|
|
1845
|
-
G(
|
|
1846
|
-
e(
|
|
1858
|
+
G(B(e(t)("filter.month")) + " ", 1),
|
|
1859
|
+
e(n) === "month" ? (i(), T(re, { key: 0 })) : V("", !0)
|
|
1847
1860
|
])
|
|
1848
1861
|
]),
|
|
1849
|
-
|
|
1850
|
-
|
|
1862
|
+
s("div", null, [
|
|
1863
|
+
s("button", {
|
|
1851
1864
|
type: "button",
|
|
1852
|
-
onClick:
|
|
1865
|
+
onClick: C[4] || (C[4] = (o) => e(x)("quarter")),
|
|
1853
1866
|
class: "flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"
|
|
1854
1867
|
}, [
|
|
1855
|
-
G(
|
|
1856
|
-
e(
|
|
1868
|
+
G(B(e(t)("filter.quarter")) + " ", 1),
|
|
1869
|
+
e(n) === "quarter" ? (i(), T(re, { key: 0 })) : V("", !0)
|
|
1857
1870
|
])
|
|
1858
1871
|
]),
|
|
1859
|
-
|
|
1860
|
-
|
|
1872
|
+
s("div", Ol, [
|
|
1873
|
+
s("button", {
|
|
1861
1874
|
type: "button",
|
|
1862
|
-
onClick:
|
|
1875
|
+
onClick: C[5] || (C[5] = (o) => e(x)("year")),
|
|
1863
1876
|
class: "flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"
|
|
1864
1877
|
}, [
|
|
1865
|
-
G(
|
|
1866
|
-
e(
|
|
1878
|
+
G(B(e(t)("filter.year")) + " ", 1),
|
|
1879
|
+
e(n) === "year" ? (i(), T(re, { key: 0 })) : V("", !0)
|
|
1867
1880
|
])
|
|
1868
1881
|
]),
|
|
1869
|
-
|
|
1870
|
-
|
|
1882
|
+
s("div", Tl, [
|
|
1883
|
+
s("button", {
|
|
1871
1884
|
type: "button",
|
|
1872
|
-
onClick:
|
|
1885
|
+
onClick: C[6] || (C[6] = (o) => e(k)()),
|
|
1873
1886
|
class: "flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"
|
|
1874
1887
|
}, [
|
|
1875
|
-
G(
|
|
1876
|
-
e(
|
|
1888
|
+
G(B(e(t)("filter.alltime")) + " ", 1),
|
|
1889
|
+
e(m)[0] ? V("", !0) : (i(), T(re, { key: 0 }))
|
|
1877
1890
|
])
|
|
1878
1891
|
])
|
|
1879
1892
|
]),
|
|
1880
1893
|
_: 1,
|
|
1881
1894
|
__: [12]
|
|
1882
1895
|
}, 8, ["label", "current-value", "mode", "width", "onClear", "layout"]),
|
|
1883
|
-
e(
|
|
1884
|
-
|
|
1885
|
-
|
|
1896
|
+
e(n) !== "" && e(n) !== "range" && e(n) !== "last_7_days" ? (i(), w(I, { key: 0 }, [
|
|
1897
|
+
s("div", Il, [
|
|
1898
|
+
s("button", {
|
|
1886
1899
|
type: "button",
|
|
1887
1900
|
title: e(t)("filter.prev"),
|
|
1888
1901
|
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",
|
|
1889
|
-
onClick:
|
|
1890
|
-
(...o) => e(
|
|
1902
|
+
onClick: C[7] || (C[7] = //@ts-ignore
|
|
1903
|
+
(...o) => e(p) && e(p)(...o))
|
|
1891
1904
|
}, [
|
|
1892
|
-
Q(
|
|
1893
|
-
], 8,
|
|
1905
|
+
Q(Rl)
|
|
1906
|
+
], 8, Ul)
|
|
1894
1907
|
]),
|
|
1895
|
-
|
|
1896
|
-
|
|
1908
|
+
s("div", zl, [
|
|
1909
|
+
s("button", {
|
|
1897
1910
|
type: "button",
|
|
1898
1911
|
title: e(t)("filter.next"),
|
|
1899
1912
|
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",
|
|
1900
|
-
onClick:
|
|
1901
|
-
(...o) => e(
|
|
1913
|
+
onClick: C[8] || (C[8] = //@ts-ignore
|
|
1914
|
+
(...o) => e(d) && e(d)(...o))
|
|
1902
1915
|
}, [
|
|
1903
|
-
Q(
|
|
1904
|
-
], 8,
|
|
1916
|
+
Q(Ll)
|
|
1917
|
+
], 8, Nl)
|
|
1905
1918
|
])
|
|
1906
1919
|
], 64)) : V("", !0),
|
|
1907
|
-
e(
|
|
1908
|
-
|
|
1920
|
+
e(n) !== "" && e(n) === "range" ? (i(), w("div", Pl, [
|
|
1921
|
+
W(s("input", {
|
|
1909
1922
|
type: "date",
|
|
1910
|
-
max: e(
|
|
1923
|
+
max: e(m)[1],
|
|
1911
1924
|
locale: "uk-UA",
|
|
1912
|
-
"onUpdate:modelValue":
|
|
1925
|
+
"onUpdate:modelValue": C[9] || (C[9] = (o) => e(m)[0] = o),
|
|
1913
1926
|
class: "px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",
|
|
1914
|
-
disabled:
|
|
1915
|
-
}, null, 8,
|
|
1916
|
-
[ee, e(
|
|
1927
|
+
disabled: _.disabled
|
|
1928
|
+
}, null, 8, Yl), [
|
|
1929
|
+
[ee, e(m)[0]]
|
|
1917
1930
|
]),
|
|
1918
|
-
|
|
1931
|
+
W(s("input", {
|
|
1919
1932
|
type: "date",
|
|
1920
|
-
min: e(
|
|
1933
|
+
min: e(m)[0],
|
|
1921
1934
|
locale: "uk-UA",
|
|
1922
|
-
"onUpdate:modelValue":
|
|
1935
|
+
"onUpdate:modelValue": C[10] || (C[10] = (o) => e(m)[1] = o),
|
|
1923
1936
|
class: "px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",
|
|
1924
|
-
disabled:
|
|
1925
|
-
}, null, 8,
|
|
1926
|
-
[ee, e(
|
|
1937
|
+
disabled: _.disabled
|
|
1938
|
+
}, null, 8, Wl), [
|
|
1939
|
+
[ee, e(m)[1]]
|
|
1927
1940
|
])
|
|
1928
1941
|
])) : V("", !0)
|
|
1929
1942
|
]),
|
|
1930
|
-
(
|
|
1943
|
+
(_.cleanable, V("", !0))
|
|
1931
1944
|
], 64));
|
|
1932
1945
|
}
|
|
1933
|
-
}),
|
|
1946
|
+
}), Ql = { class: "flex flex-wrap items-center gap-2" }, Hl = ["disabled", "onClick"], Gl = {
|
|
1934
1947
|
key: 0,
|
|
1935
1948
|
class: "flex justify-between items-center text-xs text-gray-500 p-1 border-t"
|
|
1936
|
-
},
|
|
1949
|
+
}, Xl = /* @__PURE__ */ q({
|
|
1937
1950
|
__name: "button-field",
|
|
1938
1951
|
props: {
|
|
1939
1952
|
id: {},
|
|
@@ -1958,87 +1971,88 @@ const Ql = /* @__PURE__ */ W({
|
|
|
1958
1971
|
mode: {},
|
|
1959
1972
|
labelKey: {},
|
|
1960
1973
|
sort: {},
|
|
1961
|
-
ua: {}
|
|
1974
|
+
ua: {},
|
|
1975
|
+
itemClass: {}
|
|
1962
1976
|
},
|
|
1963
1977
|
emits: ["update:modelValue", "change", "clear"],
|
|
1964
|
-
setup(
|
|
1965
|
-
const t =
|
|
1978
|
+
setup(f, { expose: a, emit: y }) {
|
|
1979
|
+
const t = f, u = y, {
|
|
1966
1980
|
innerValue: l,
|
|
1967
1981
|
isSelected: g,
|
|
1968
|
-
selectItem:
|
|
1969
|
-
clear:
|
|
1970
|
-
labelKey:
|
|
1971
|
-
valueKey:
|
|
1972
|
-
allOptions:
|
|
1982
|
+
selectItem: n,
|
|
1983
|
+
clear: m,
|
|
1984
|
+
labelKey: x,
|
|
1985
|
+
valueKey: d,
|
|
1986
|
+
allOptions: p
|
|
1973
1987
|
} = xe({
|
|
1974
1988
|
...t,
|
|
1975
1989
|
modelValue: t.modelValue ?? t.default ?? ""
|
|
1976
|
-
}, u),
|
|
1977
|
-
function k(o) {
|
|
1978
|
-
return g(o) ? "bg-blue-600 text-white" : "bg-gray-100 text-gray-700 hover:bg-gray-200";
|
|
1979
|
-
}
|
|
1990
|
+
}, u), r = O(() => l.value !== void 0 && !(typeof l.value == "string" && l.value === "")), k = O(() => r.value ? 1 : 0);
|
|
1980
1991
|
function _(o) {
|
|
1981
|
-
|
|
1992
|
+
return g(o) ? ["bg-blue-600 text-white"].filter((c) => typeof c == "string" && c.trim().length > 0).join(" ") : ["text-gray-700 hover:bg-gray-200 bg-gray-50 "].filter((c) => typeof c == "string" && c.trim().length > 0).join(" ");
|
|
1993
|
+
}
|
|
1994
|
+
function C(o) {
|
|
1995
|
+
t.disabled || n(o);
|
|
1982
1996
|
}
|
|
1983
|
-
return
|
|
1984
|
-
clear:
|
|
1985
|
-
}),
|
|
1997
|
+
return a({
|
|
1998
|
+
clear: m
|
|
1999
|
+
}), U(
|
|
1986
2000
|
() => t.modelValue,
|
|
1987
2001
|
(o) => {
|
|
1988
2002
|
o === void 0 && (l.value = void 0);
|
|
1989
2003
|
}
|
|
1990
|
-
), (o,
|
|
1991
|
-
|
|
1992
|
-
(
|
|
1993
|
-
key:
|
|
2004
|
+
), (o, c) => (i(), w(I, null, [
|
|
2005
|
+
s("div", Ql, [
|
|
2006
|
+
(i(!0), w(I, null, X(e(p), (v) => (i(), w("button", {
|
|
2007
|
+
key: v[e(d)],
|
|
1994
2008
|
type: "button",
|
|
1995
|
-
class:
|
|
2009
|
+
class: E(["px-3 py-2 text-sm font-medium rounded-md transition-colors", _(v)]),
|
|
1996
2010
|
disabled: o.disabled,
|
|
1997
|
-
onClick: (h) =>
|
|
1998
|
-
},
|
|
2011
|
+
onClick: (h) => C(v)
|
|
2012
|
+
}, B(v[e(x)]), 11, Hl))), 128))
|
|
1999
2013
|
]),
|
|
2000
|
-
o.cleanable && o.layout === "popover" ? (
|
|
2001
|
-
|
|
2002
|
-
|
|
2014
|
+
o.cleanable && o.layout === "popover" ? (i(), w("div", Gl, [
|
|
2015
|
+
s("span", null, B(k.value) + " з " + B(e(p).length) + " обрано", 1),
|
|
2016
|
+
W(s("button", {
|
|
2003
2017
|
class: "text-gray-600 hover:text-gray-800",
|
|
2004
|
-
onClick:
|
|
2005
|
-
(...
|
|
2018
|
+
onClick: c[0] || (c[0] = //@ts-ignore
|
|
2019
|
+
(...v) => e(m) && e(m)(...v))
|
|
2006
2020
|
}, " Очистити ", 512), [
|
|
2007
|
-
[J,
|
|
2021
|
+
[J, r.value]
|
|
2008
2022
|
])
|
|
2009
2023
|
])) : V("", !0)
|
|
2010
2024
|
], 64));
|
|
2011
2025
|
}
|
|
2012
2026
|
}), De = {
|
|
2013
|
-
radio:
|
|
2014
|
-
checkbox:
|
|
2015
|
-
check:
|
|
2027
|
+
radio: wt,
|
|
2028
|
+
checkbox: je,
|
|
2029
|
+
check: je,
|
|
2016
2030
|
text: Lt,
|
|
2017
2031
|
range: Yt,
|
|
2018
|
-
date:
|
|
2019
|
-
select:
|
|
2020
|
-
tag:
|
|
2021
|
-
button:
|
|
2022
|
-
"date:inline":
|
|
2032
|
+
date: ol,
|
|
2033
|
+
select: pl,
|
|
2034
|
+
tag: hl,
|
|
2035
|
+
button: Xl,
|
|
2036
|
+
"date:inline": ql
|
|
2023
2037
|
};
|
|
2024
|
-
function Ve(
|
|
2025
|
-
let
|
|
2026
|
-
switch (
|
|
2038
|
+
function Ve(f, a) {
|
|
2039
|
+
let y;
|
|
2040
|
+
switch (f.toLowerCase()) {
|
|
2027
2041
|
case "autocomplete":
|
|
2028
|
-
|
|
2042
|
+
y = "select";
|
|
2029
2043
|
break;
|
|
2030
2044
|
case "check":
|
|
2031
|
-
|
|
2045
|
+
y = "checkbox";
|
|
2032
2046
|
break;
|
|
2033
2047
|
default:
|
|
2034
|
-
|
|
2048
|
+
y = f?.toString().toLowerCase();
|
|
2035
2049
|
}
|
|
2036
|
-
return
|
|
2037
|
-
component: De[
|
|
2038
|
-
type:
|
|
2050
|
+
return y === "date" && a && a === "inline" && (y = "date:inline"), {
|
|
2051
|
+
component: De[y] || De.text,
|
|
2052
|
+
type: y
|
|
2039
2053
|
};
|
|
2040
2054
|
}
|
|
2041
|
-
const
|
|
2055
|
+
const Zl = { style: { display: "inline-flex", margin: "0px", width: "100%" } }, Jl = { class: "relative w-full mb-2 p-4 bg-white rounded-lg shadow-sm" }, eo = { class: "block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200" }, to = { class: "flex items-center" }, lo = { class: "text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1" }, oo = { class: "filter-layout__body" }, ao = /* @__PURE__ */ q({
|
|
2042
2056
|
__name: "vertical-layout",
|
|
2043
2057
|
props: {
|
|
2044
2058
|
id: {},
|
|
@@ -2063,73 +2077,76 @@ const Jl = { style: { display: "inline-flex", margin: "0px", width: "100%" } },
|
|
|
2063
2077
|
mode: {},
|
|
2064
2078
|
labelKey: {},
|
|
2065
2079
|
sort: {},
|
|
2066
|
-
ua: {}
|
|
2080
|
+
ua: {},
|
|
2081
|
+
itemClass: {}
|
|
2067
2082
|
},
|
|
2068
2083
|
emits: ["update:modelValue", "change", "clear"],
|
|
2069
|
-
setup(
|
|
2070
|
-
const t =
|
|
2084
|
+
setup(f, { expose: a, emit: y }) {
|
|
2085
|
+
const t = f, u = y, l = A(), g = Ve(t.type, t.layout), n = O({
|
|
2071
2086
|
get: () => t.modelValue,
|
|
2072
|
-
set: (
|
|
2087
|
+
set: (p) => u("update:modelValue", p)
|
|
2073
2088
|
});
|
|
2074
|
-
function
|
|
2075
|
-
u("clear",
|
|
2089
|
+
function m(p) {
|
|
2090
|
+
u("clear", p);
|
|
2076
2091
|
}
|
|
2077
|
-
function
|
|
2078
|
-
u("change", { name:
|
|
2092
|
+
function x(p, r) {
|
|
2093
|
+
u("change", { name: p, value: r }), t.modelValue !== void 0 && u("update:modelValue", r);
|
|
2079
2094
|
}
|
|
2080
|
-
function
|
|
2095
|
+
function d() {
|
|
2081
2096
|
u("clear", t.name);
|
|
2082
2097
|
}
|
|
2083
|
-
return
|
|
2098
|
+
return U(
|
|
2084
2099
|
() => t.default,
|
|
2085
|
-
(
|
|
2086
|
-
|
|
2100
|
+
(p) => {
|
|
2101
|
+
n.value = p;
|
|
2087
2102
|
}
|
|
2088
|
-
),
|
|
2103
|
+
), U(
|
|
2089
2104
|
() => t.modelValue,
|
|
2090
|
-
(
|
|
2091
|
-
|
|
2105
|
+
(p) => {
|
|
2106
|
+
n.value = p;
|
|
2092
2107
|
}
|
|
2093
|
-
),
|
|
2108
|
+
), a({
|
|
2094
2109
|
filterRef: l
|
|
2095
|
-
}), (
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2110
|
+
}), (p, r) => (i(), w("div", Zl, [
|
|
2111
|
+
s("div", Jl, [
|
|
2112
|
+
s("div", eo, [
|
|
2113
|
+
s("div", to, [
|
|
2114
|
+
s("span", lo, B(p.label), 1)
|
|
2100
2115
|
]),
|
|
2101
|
-
typeof
|
|
2116
|
+
typeof n.value == "string" && n.value.trim() !== "" || Array.isArray(n.value) && n.value.length > 0 && n.value.some((k) => k !== void 0) || n.value === null ? (i(), T(et, {
|
|
2102
2117
|
key: 0,
|
|
2103
|
-
onClick:
|
|
2118
|
+
onClick: d
|
|
2104
2119
|
})) : V("", !0)
|
|
2105
2120
|
]),
|
|
2106
|
-
|
|
2107
|
-
e(g)?.type !== "select" ? (
|
|
2121
|
+
s("div", oo, [
|
|
2122
|
+
e(g)?.type !== "select" ? (i(), T(ne(e(g)?.component), Z({ key: 0 }, t, {
|
|
2108
2123
|
type: e(g)?.type,
|
|
2109
|
-
|
|
2110
|
-
|
|
2124
|
+
class: t.itemClass,
|
|
2125
|
+
onChange: r[0] || (r[0] = (k) => x(k.name, k.value)),
|
|
2126
|
+
onClear: r[1] || (r[1] = (k) => m(k)),
|
|
2111
2127
|
ref_key: "filterRef",
|
|
2112
2128
|
ref: l
|
|
2113
|
-
}), null, 16, ["type"])) : (
|
|
2129
|
+
}), null, 16, ["type", "class"])) : (i(), T(_e, {
|
|
2114
2130
|
key: 1,
|
|
2115
|
-
"current-value":
|
|
2116
|
-
label:
|
|
2117
|
-
mode:
|
|
2118
|
-
onClear:
|
|
2131
|
+
"current-value": n.value,
|
|
2132
|
+
label: p.label,
|
|
2133
|
+
mode: p.mode,
|
|
2134
|
+
onClear: d,
|
|
2119
2135
|
fieldRef: l.value,
|
|
2120
2136
|
width: void 0,
|
|
2121
|
-
disabled:
|
|
2137
|
+
disabled: p.disabled,
|
|
2122
2138
|
layout: "vertical"
|
|
2123
2139
|
}, {
|
|
2124
|
-
default:
|
|
2125
|
-
(
|
|
2140
|
+
default: ae(() => [
|
|
2141
|
+
(i(), T(ne(e(g)?.component), Z({
|
|
2126
2142
|
ref_key: "filterRef",
|
|
2127
2143
|
ref: l
|
|
2128
2144
|
}, t, {
|
|
2129
2145
|
type: e(g)?.type,
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2146
|
+
class: t.itemClass,
|
|
2147
|
+
onChange: r[2] || (r[2] = (k) => x(k.name, k.value)),
|
|
2148
|
+
onClear: r[3] || (r[3] = (k) => m(k))
|
|
2149
|
+
}), null, 16, ["type", "class"]))
|
|
2133
2150
|
]),
|
|
2134
2151
|
_: 1
|
|
2135
2152
|
}, 8, ["current-value", "label", "mode", "fieldRef", "disabled"]))
|
|
@@ -2137,7 +2154,7 @@ const Jl = { style: { display: "inline-flex", margin: "0px", width: "100%" } },
|
|
|
2137
2154
|
])
|
|
2138
2155
|
]));
|
|
2139
2156
|
}
|
|
2140
|
-
}),
|
|
2157
|
+
}), Re = /* @__PURE__ */ q({
|
|
2141
2158
|
__name: "inline-layout",
|
|
2142
2159
|
props: {
|
|
2143
2160
|
id: {},
|
|
@@ -2162,66 +2179,69 @@ const Jl = { style: { display: "inline-flex", margin: "0px", width: "100%" } },
|
|
|
2162
2179
|
mode: {},
|
|
2163
2180
|
labelKey: {},
|
|
2164
2181
|
sort: {},
|
|
2165
|
-
ua: {}
|
|
2182
|
+
ua: {},
|
|
2183
|
+
itemClass: {}
|
|
2166
2184
|
},
|
|
2167
2185
|
emits: ["update:modelValue", "change", "clear"],
|
|
2168
|
-
setup(
|
|
2169
|
-
const t =
|
|
2186
|
+
setup(f, { expose: a, emit: y }) {
|
|
2187
|
+
const t = f, u = y, l = A(), g = Ve(t.type, t.layout), n = O({
|
|
2170
2188
|
get: () => t.modelValue,
|
|
2171
|
-
set: (
|
|
2189
|
+
set: (d) => u("update:modelValue", d)
|
|
2172
2190
|
});
|
|
2173
|
-
function
|
|
2174
|
-
u("clear",
|
|
2191
|
+
function m(d = t.name) {
|
|
2192
|
+
u("clear", d);
|
|
2175
2193
|
}
|
|
2176
|
-
function
|
|
2177
|
-
u("change", { name:
|
|
2194
|
+
function x(d, p) {
|
|
2195
|
+
u("change", { name: d, value: p }), t.modelValue !== void 0 && u("update:modelValue", p);
|
|
2178
2196
|
}
|
|
2179
|
-
return
|
|
2197
|
+
return U(
|
|
2180
2198
|
() => t.default,
|
|
2181
|
-
(
|
|
2182
|
-
|
|
2199
|
+
(d) => {
|
|
2200
|
+
n.value = d;
|
|
2183
2201
|
}
|
|
2184
|
-
),
|
|
2202
|
+
), U(
|
|
2185
2203
|
() => t.modelValue,
|
|
2186
|
-
(
|
|
2187
|
-
|
|
2204
|
+
(d) => {
|
|
2205
|
+
n.value = d;
|
|
2188
2206
|
}
|
|
2189
|
-
),
|
|
2207
|
+
), a({
|
|
2190
2208
|
filterRef: l
|
|
2191
|
-
}), (
|
|
2209
|
+
}), (d, p) => ["text", "date", "button"].includes(d.type.toLocaleLowerCase()) ? (i(), T(ne(e(g)?.component), Z({ key: 0 }, t, {
|
|
2192
2210
|
type: e(g)?.type,
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2211
|
+
class: t.itemClass,
|
|
2212
|
+
onChange: p[0] || (p[0] = (r) => x(r.name, r.value)),
|
|
2213
|
+
onClear: p[1] || (p[1] = (r) => m(r)),
|
|
2214
|
+
disabled: d.disabled,
|
|
2215
|
+
modelValue: n.value,
|
|
2216
|
+
"onUpdate:modelValue": p[2] || (p[2] = (r) => n.value = r)
|
|
2217
|
+
}), null, 16, ["type", "class", "disabled", "modelValue"])) : (i(), T(_e, {
|
|
2199
2218
|
key: 1,
|
|
2200
|
-
"current-value":
|
|
2201
|
-
label:
|
|
2202
|
-
mode:
|
|
2203
|
-
onClear:
|
|
2219
|
+
"current-value": n.value,
|
|
2220
|
+
label: d.label,
|
|
2221
|
+
mode: d.mode,
|
|
2222
|
+
onClear: m,
|
|
2204
2223
|
fieldRef: l.value,
|
|
2205
2224
|
width: t.width,
|
|
2206
|
-
disabled:
|
|
2225
|
+
disabled: d.disabled,
|
|
2207
2226
|
layout: "inline"
|
|
2208
2227
|
}, {
|
|
2209
|
-
default:
|
|
2210
|
-
(
|
|
2228
|
+
default: ae(() => [
|
|
2229
|
+
(i(), T(ne(e(g)?.component), Z({
|
|
2211
2230
|
ref_key: "filterRef",
|
|
2212
2231
|
ref: l
|
|
2213
2232
|
}, t, {
|
|
2214
|
-
modelValue:
|
|
2215
|
-
"onUpdate:modelValue":
|
|
2233
|
+
modelValue: n.value,
|
|
2234
|
+
"onUpdate:modelValue": p[3] || (p[3] = (r) => n.value = r),
|
|
2216
2235
|
type: e(g)?.type,
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2236
|
+
class: t.itemClass,
|
|
2237
|
+
onChange: p[4] || (p[4] = (r) => x(r.name, r.value)),
|
|
2238
|
+
onClear: p[5] || (p[5] = (r) => m(r))
|
|
2239
|
+
}), null, 16, ["modelValue", "type", "class"]))
|
|
2220
2240
|
]),
|
|
2221
2241
|
_: 1
|
|
2222
2242
|
}, 8, ["current-value", "label", "mode", "fieldRef", "width", "disabled"]));
|
|
2223
2243
|
}
|
|
2224
|
-
}),
|
|
2244
|
+
}), no = /* @__PURE__ */ q({
|
|
2225
2245
|
__name: "popover-layout",
|
|
2226
2246
|
props: {
|
|
2227
2247
|
id: {},
|
|
@@ -2246,48 +2266,50 @@ const Jl = { style: { display: "inline-flex", margin: "0px", width: "100%" } },
|
|
|
2246
2266
|
mode: {},
|
|
2247
2267
|
labelKey: {},
|
|
2248
2268
|
sort: {},
|
|
2249
|
-
ua: {}
|
|
2269
|
+
ua: {},
|
|
2270
|
+
itemClass: {}
|
|
2250
2271
|
},
|
|
2251
2272
|
emits: ["update:modelValue", "change", "clear"],
|
|
2252
|
-
setup(
|
|
2253
|
-
const t =
|
|
2273
|
+
setup(f, { expose: a, emit: y }) {
|
|
2274
|
+
const t = f, u = y, l = A(), g = A(Ve(t.type, t.layout)), n = O({
|
|
2254
2275
|
get: () => t.modelValue,
|
|
2255
|
-
set: (
|
|
2276
|
+
set: (d) => u("update:modelValue", d)
|
|
2256
2277
|
});
|
|
2257
|
-
function
|
|
2258
|
-
u("clear",
|
|
2278
|
+
function m(d) {
|
|
2279
|
+
u("clear", d);
|
|
2259
2280
|
}
|
|
2260
|
-
function
|
|
2261
|
-
u("change", { name:
|
|
2281
|
+
function x(d, p) {
|
|
2282
|
+
u("change", { name: d, value: p }), t.modelValue !== void 0 && u("update:modelValue", p);
|
|
2262
2283
|
}
|
|
2263
|
-
return
|
|
2284
|
+
return U(
|
|
2264
2285
|
() => t.default,
|
|
2265
|
-
(
|
|
2266
|
-
|
|
2286
|
+
(d) => {
|
|
2287
|
+
n.value = d;
|
|
2267
2288
|
}
|
|
2268
|
-
),
|
|
2289
|
+
), U(
|
|
2269
2290
|
() => t.modelValue,
|
|
2270
|
-
(
|
|
2271
|
-
|
|
2291
|
+
(d) => {
|
|
2292
|
+
n.value = d;
|
|
2272
2293
|
}
|
|
2273
|
-
),
|
|
2294
|
+
), U(
|
|
2274
2295
|
() => t,
|
|
2275
|
-
(
|
|
2276
|
-
|
|
2296
|
+
(d) => {
|
|
2297
|
+
n.value = d;
|
|
2277
2298
|
}
|
|
2278
|
-
),
|
|
2299
|
+
), a({
|
|
2279
2300
|
filterRef: l
|
|
2280
|
-
}), (
|
|
2301
|
+
}), (d, p) => (i(), T(ne(g.value?.component), Z(t, {
|
|
2281
2302
|
type: g.value?.type,
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2303
|
+
class: t.itemClass,
|
|
2304
|
+
modelValue: n.value,
|
|
2305
|
+
"onUpdate:modelValue": p[0] || (p[0] = (r) => n.value = r),
|
|
2306
|
+
onChange: p[1] || (p[1] = (r) => x(r.name, r.value)),
|
|
2307
|
+
onClear: p[2] || (p[2] = (r) => m(r)),
|
|
2286
2308
|
ref_key: "filterRef",
|
|
2287
2309
|
ref: l
|
|
2288
|
-
}), null, 16, ["type", "modelValue"]));
|
|
2310
|
+
}), null, 16, ["type", "class", "modelValue"]));
|
|
2289
2311
|
}
|
|
2290
|
-
}), le = /* @__PURE__ */
|
|
2312
|
+
}), le = /* @__PURE__ */ q({
|
|
2291
2313
|
__name: "filter-field",
|
|
2292
2314
|
props: {
|
|
2293
2315
|
id: {},
|
|
@@ -2312,185 +2334,188 @@ const Jl = { style: { display: "inline-flex", margin: "0px", width: "100%" } },
|
|
|
2312
2334
|
mode: {},
|
|
2313
2335
|
labelKey: {},
|
|
2314
2336
|
sort: { default: "name" },
|
|
2315
|
-
ua: {}
|
|
2337
|
+
ua: {},
|
|
2338
|
+
itemClass: {}
|
|
2316
2339
|
},
|
|
2317
2340
|
emits: ["update:modelValue", "change", "clear"],
|
|
2318
|
-
setup(
|
|
2319
|
-
const t =
|
|
2341
|
+
setup(f, { expose: a, emit: y }) {
|
|
2342
|
+
const t = f, u = y, l = A(), g = O({
|
|
2320
2343
|
get: () => t.modelValue,
|
|
2321
|
-
set: (
|
|
2344
|
+
set: (d) => u("update:modelValue", d)
|
|
2322
2345
|
});
|
|
2323
|
-
function
|
|
2324
|
-
u("clear",
|
|
2346
|
+
function n(d) {
|
|
2347
|
+
u("clear", d);
|
|
2325
2348
|
}
|
|
2326
|
-
function
|
|
2327
|
-
u("change", { name:
|
|
2349
|
+
function m(d, p) {
|
|
2350
|
+
u("change", { name: d, value: p }), t.modelValue !== void 0 && u("update:modelValue", p);
|
|
2328
2351
|
}
|
|
2329
|
-
|
|
2352
|
+
U(
|
|
2330
2353
|
() => t.default,
|
|
2331
|
-
(
|
|
2332
|
-
g.value =
|
|
2354
|
+
(d) => {
|
|
2355
|
+
g.value = d;
|
|
2333
2356
|
}
|
|
2334
|
-
),
|
|
2357
|
+
), U(
|
|
2335
2358
|
() => t.modelValue,
|
|
2336
|
-
(
|
|
2337
|
-
g.value =
|
|
2359
|
+
(d) => {
|
|
2360
|
+
g.value = d;
|
|
2338
2361
|
}
|
|
2339
|
-
),
|
|
2362
|
+
), a({
|
|
2340
2363
|
filterRef: l
|
|
2341
2364
|
});
|
|
2342
|
-
function
|
|
2365
|
+
function x() {
|
|
2343
2366
|
switch (t.layout) {
|
|
2344
2367
|
case "inline":
|
|
2345
|
-
return
|
|
2368
|
+
return Re;
|
|
2346
2369
|
case "vertical":
|
|
2347
2370
|
return ao;
|
|
2348
2371
|
case "popover":
|
|
2349
|
-
return
|
|
2372
|
+
return no;
|
|
2350
2373
|
default:
|
|
2351
|
-
return
|
|
2374
|
+
return Re;
|
|
2352
2375
|
}
|
|
2353
2376
|
}
|
|
2354
|
-
return (
|
|
2355
|
-
onChange:
|
|
2356
|
-
onClear:
|
|
2377
|
+
return (d, p) => (i(), T(ne(x()), Z(t, {
|
|
2378
|
+
onChange: p[0] || (p[0] = (r) => m(r.name, r.value)),
|
|
2379
|
+
onClear: p[1] || (p[1] = (r) => n(r)),
|
|
2357
2380
|
modelValue: g.value,
|
|
2358
|
-
"onUpdate:modelValue":
|
|
2381
|
+
"onUpdate:modelValue": p[2] || (p[2] = (r) => g.value = r)
|
|
2359
2382
|
}), null, 16, ["modelValue"]));
|
|
2360
2383
|
}
|
|
2361
2384
|
});
|
|
2362
|
-
function ye(
|
|
2385
|
+
function ye(f, a) {
|
|
2363
2386
|
const {
|
|
2364
|
-
slots:
|
|
2365
|
-
} =
|
|
2387
|
+
slots: y
|
|
2388
|
+
} = f, t = A(f.value ?? {}), u = O(() => (de(y?.default?.()) ?? []).flatMap((c) => Array.isArray(c.children) ? c.children : [c]));
|
|
2366
2389
|
function l(o) {
|
|
2367
|
-
delete t.value[o],
|
|
2390
|
+
delete t.value[o], a("clear", {
|
|
2368
2391
|
data: de(t.value),
|
|
2369
2392
|
name: o
|
|
2370
2393
|
});
|
|
2371
2394
|
}
|
|
2372
|
-
function g(o,
|
|
2373
|
-
|
|
2395
|
+
function g(o, c) {
|
|
2396
|
+
c === void 0 ? l(o) : t.value = {
|
|
2374
2397
|
...t.value,
|
|
2375
|
-
[o]:
|
|
2376
|
-
},
|
|
2398
|
+
[o]: c
|
|
2399
|
+
}, a("change", {
|
|
2377
2400
|
data: de(t.value),
|
|
2378
2401
|
name: o,
|
|
2379
|
-
value:
|
|
2402
|
+
value: c
|
|
2380
2403
|
});
|
|
2381
2404
|
}
|
|
2382
|
-
const
|
|
2383
|
-
const
|
|
2384
|
-
return
|
|
2405
|
+
const n = O(() => u.value.map((o) => {
|
|
2406
|
+
const c = o.props?.name;
|
|
2407
|
+
return We(o, {
|
|
2385
2408
|
...o.props,
|
|
2386
|
-
layout:
|
|
2409
|
+
layout: f.view,
|
|
2387
2410
|
showClean: !0,
|
|
2388
|
-
modelValue: t.value[
|
|
2389
|
-
"onUpdate:modelValue": (
|
|
2390
|
-
g(
|
|
2411
|
+
modelValue: t.value[c],
|
|
2412
|
+
"onUpdate:modelValue": (v) => {
|
|
2413
|
+
g(c, v);
|
|
2391
2414
|
},
|
|
2392
|
-
onClear: () => l(
|
|
2415
|
+
onClear: () => l(c),
|
|
2416
|
+
class: [f.itemClass, o.props?.class],
|
|
2417
|
+
itemClass: [f.itemClass, o.props?.itemClass].filter((v) => typeof v == "string" && v.trim().length > 0).join(" ") || void 0
|
|
2393
2418
|
});
|
|
2394
|
-
})),
|
|
2419
|
+
})), m = O(
|
|
2395
2420
|
() => new Map(
|
|
2396
|
-
|
|
2397
|
-
const
|
|
2398
|
-
return
|
|
2421
|
+
n.value.map((o) => {
|
|
2422
|
+
const c = o.props?.name;
|
|
2423
|
+
return c ? [c, o] : null;
|
|
2399
2424
|
}).filter((o) => o !== null)
|
|
2400
2425
|
)
|
|
2401
2426
|
);
|
|
2402
|
-
function
|
|
2403
|
-
t.value = {}, o ||
|
|
2427
|
+
function x(o = !1) {
|
|
2428
|
+
t.value = {}, o || a("clearAll", {
|
|
2404
2429
|
data: de(t.value),
|
|
2405
2430
|
name: "ALL"
|
|
2406
2431
|
});
|
|
2407
2432
|
}
|
|
2408
|
-
const
|
|
2409
|
-
|
|
2410
|
-
await me(),
|
|
2433
|
+
const d = A(""), p = O(() => f.schema?.value ? Object.entries(t.value).filter(([o, c]) => f.schema && !(o in f.schema.value) ? !1 : Array.isArray(c) ? c.some((v) => v !== "" && v !== void 0) : c !== "" && c !== void 0).length : 0), r = A();
|
|
2434
|
+
U(d, async () => {
|
|
2435
|
+
await me(), r?.value?.filterRef?.inputTextRef && r.value.filterRef.inputTextRef.focus();
|
|
2411
2436
|
});
|
|
2412
|
-
const
|
|
2413
|
-
if (
|
|
2437
|
+
const k = O(() => f.schema?.value ? Object.fromEntries(Object.entries(f.schema?.value).slice(0, f.limit)) : {}), _ = O(() => {
|
|
2438
|
+
if (n.value.length === 0) return [];
|
|
2414
2439
|
let o = 0;
|
|
2415
|
-
if (
|
|
2416
|
-
const
|
|
2417
|
-
|
|
2440
|
+
if (f.schema?.value) {
|
|
2441
|
+
const c = Object.entries(f.schema.value).length;
|
|
2442
|
+
f.limit && c < f.limit ? o = f.limit - c : o = 0;
|
|
2418
2443
|
}
|
|
2419
|
-
return
|
|
2420
|
-
}),
|
|
2444
|
+
return n.value.slice(0, o);
|
|
2445
|
+
}), C = O(() => n.value.length === 0 ? [] : f.view !== "inline" ? n.value : n.value.slice(_.value.length));
|
|
2421
2446
|
return {
|
|
2422
2447
|
activeFilter: t,
|
|
2423
|
-
activeFilterCount:
|
|
2448
|
+
activeFilterCount: p,
|
|
2424
2449
|
onFilterChange: g,
|
|
2425
2450
|
clearFilter: l,
|
|
2426
|
-
clearAllFilters:
|
|
2427
|
-
limitedSchema:
|
|
2428
|
-
filtersSlot:
|
|
2429
|
-
limitedFiltersSlot:
|
|
2430
|
-
popoverFiltersSlot:
|
|
2431
|
-
vnodeMap:
|
|
2432
|
-
selectedFilter:
|
|
2433
|
-
filterRef:
|
|
2451
|
+
clearAllFilters: x,
|
|
2452
|
+
limitedSchema: k,
|
|
2453
|
+
filtersSlot: n,
|
|
2454
|
+
limitedFiltersSlot: _,
|
|
2455
|
+
popoverFiltersSlot: C,
|
|
2456
|
+
vnodeMap: m,
|
|
2457
|
+
selectedFilter: d,
|
|
2458
|
+
filterRef: r
|
|
2434
2459
|
};
|
|
2435
2460
|
}
|
|
2436
|
-
const
|
|
2461
|
+
const ro = /* @__PURE__ */ q({
|
|
2437
2462
|
__name: "popover",
|
|
2438
2463
|
emits: ["open", "close"],
|
|
2439
|
-
setup(
|
|
2440
|
-
const
|
|
2441
|
-
function
|
|
2442
|
-
|
|
2464
|
+
setup(f, { emit: a }) {
|
|
2465
|
+
const y = A(!1), t = A(null), u = A(null), l = A(null), g = A({ top: "0px", left: "0px", position: "absolute" });
|
|
2466
|
+
function n() {
|
|
2467
|
+
y.value = !y.value;
|
|
2443
2468
|
}
|
|
2444
|
-
function
|
|
2445
|
-
const
|
|
2446
|
-
if (!
|
|
2447
|
-
const
|
|
2448
|
-
let
|
|
2449
|
-
o >
|
|
2469
|
+
function m() {
|
|
2470
|
+
const k = l.value, _ = t.value;
|
|
2471
|
+
if (!k || !_) return;
|
|
2472
|
+
const C = k.getBoundingClientRect(), o = _.offsetWidth, c = window.innerWidth - C.left;
|
|
2473
|
+
let v = C.left + window.scrollX;
|
|
2474
|
+
o > c && (v = window.innerWidth - o - 8, v < 8 && (v = 8)), g.value = {
|
|
2450
2475
|
position: "absolute",
|
|
2451
|
-
top: `${
|
|
2452
|
-
left: `${
|
|
2476
|
+
top: `${C.bottom + window.scrollY + 8}px`,
|
|
2477
|
+
left: `${v}px`
|
|
2453
2478
|
};
|
|
2454
2479
|
}
|
|
2455
|
-
const
|
|
2456
|
-
function
|
|
2457
|
-
const
|
|
2458
|
-
!l.value?.contains(
|
|
2480
|
+
const x = O(() => Object.entries(g.value).map((k) => k.join(":")).join(";"));
|
|
2481
|
+
function d(k) {
|
|
2482
|
+
const _ = k.target;
|
|
2483
|
+
!l.value?.contains(k.target) && !t.value?.contains(k.target) && !_.closest("[data-inside-popover]") && (y.value = !1);
|
|
2459
2484
|
}
|
|
2460
|
-
const
|
|
2485
|
+
const p = A(!1);
|
|
2461
2486
|
ce(() => {
|
|
2462
|
-
|
|
2487
|
+
p.value = !0;
|
|
2463
2488
|
}), ce(() => {
|
|
2464
|
-
l.value = u.value?.querySelector("[data-popover-trigger]") || null, l.value?.addEventListener("click",
|
|
2489
|
+
l.value = u.value?.querySelector("[data-popover-trigger]") || null, l.value?.addEventListener("click", n), document.addEventListener("click", d), window.addEventListener("resize", m), window.addEventListener("scroll", m, !0);
|
|
2465
2490
|
}), pe(() => {
|
|
2466
|
-
l.value?.removeEventListener("click",
|
|
2491
|
+
l.value?.removeEventListener("click", n), document.removeEventListener("click", d), window.removeEventListener("resize", m), window.removeEventListener("scroll", m, !0);
|
|
2467
2492
|
});
|
|
2468
|
-
const
|
|
2469
|
-
return
|
|
2470
|
-
|
|
2471
|
-
}), (
|
|
2493
|
+
const r = a;
|
|
2494
|
+
return U(y, async (k) => {
|
|
2495
|
+
k ? (r("open"), await me(), m()) : r("close");
|
|
2496
|
+
}), (k, _) => (i(), w("div", {
|
|
2472
2497
|
ref_key: "wrapperRef",
|
|
2473
2498
|
ref: u
|
|
2474
2499
|
}, [
|
|
2475
|
-
ue(
|
|
2476
|
-
|
|
2500
|
+
ue(k.$slots, "trigger"),
|
|
2501
|
+
p.value ? (i(), T(ge, {
|
|
2477
2502
|
key: 0,
|
|
2478
2503
|
to: "body"
|
|
2479
2504
|
}, [
|
|
2480
|
-
|
|
2505
|
+
W(s("div", {
|
|
2481
2506
|
ref_key: "popoverRef",
|
|
2482
2507
|
ref: t,
|
|
2483
2508
|
class: "absolute z-[50] w-[600px] rounded-md border bg-white shadow-md",
|
|
2484
|
-
style: be(
|
|
2509
|
+
style: be(x.value)
|
|
2485
2510
|
}, [
|
|
2486
|
-
ue(
|
|
2511
|
+
ue(k.$slots, "default")
|
|
2487
2512
|
], 4), [
|
|
2488
|
-
[J,
|
|
2513
|
+
[J, y.value]
|
|
2489
2514
|
])
|
|
2490
2515
|
])) : V("", !0)
|
|
2491
2516
|
], 512));
|
|
2492
2517
|
}
|
|
2493
|
-
}),
|
|
2518
|
+
}), so = {}, io = {
|
|
2494
2519
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2495
2520
|
width: "24",
|
|
2496
2521
|
height: "24",
|
|
@@ -2502,27 +2527,27 @@ const so = /* @__PURE__ */ W({
|
|
|
2502
2527
|
"stroke-linejoin": "round",
|
|
2503
2528
|
class: "lucide lucide-filter h-4 w-4"
|
|
2504
2529
|
};
|
|
2505
|
-
function
|
|
2506
|
-
return
|
|
2507
|
-
|
|
2530
|
+
function uo(f, a) {
|
|
2531
|
+
return i(), w("svg", io, a[0] || (a[0] = [
|
|
2532
|
+
s("polygon", { points: "22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3" }, null, -1)
|
|
2508
2533
|
]));
|
|
2509
2534
|
}
|
|
2510
|
-
const
|
|
2535
|
+
const Ue = /* @__PURE__ */ te(so, [["render", uo]]), co = { class: "flex items-center gap-2 overflow-hidden" }, fo = {
|
|
2511
2536
|
key: 0,
|
|
2512
2537
|
class: "inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-500 px-1 text-[11px] font-semibold text-white"
|
|
2513
|
-
},
|
|
2538
|
+
}, po = { class: "flex max-h-[calc(100dvh-240px)]" }, mo = { class: "w-64 border-r border-gray-200 overflow-y-auto" }, vo = { class: "p-4 border-b" }, yo = { class: "text-sm text-gray-600" }, go = { class: "p-2" }, bo = ["onClick"], ho = { class: "flex items-center gap-2" }, xo = { class: "text-sm font-medium" }, wo = {
|
|
2514
2539
|
key: 0,
|
|
2515
2540
|
class: "inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-1 text-[11px] font-semibold text-blue-600"
|
|
2516
|
-
},
|
|
2541
|
+
}, ko = ["onClick"], Co = { class: "flex items-center gap-2" }, _o = { class: "text-sm font-medium" }, Vo = {
|
|
2517
2542
|
key: 0,
|
|
2518
2543
|
class: "inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-1 text-[11px] font-semibold text-blue-600"
|
|
2519
|
-
},
|
|
2544
|
+
}, $o = {
|
|
2520
2545
|
key: 0,
|
|
2521
2546
|
class: "p-2 border-t"
|
|
2522
|
-
},
|
|
2547
|
+
}, Ao = { class: "flex-1 min-h-[300px] overflow-y-auto" }, Bo = {
|
|
2523
2548
|
key: 0,
|
|
2524
2549
|
class: "flex items-center justify-center h-full text-gray-500"
|
|
2525
|
-
},
|
|
2550
|
+
}, So = { class: "text-sm" }, ze = /* @__PURE__ */ q({
|
|
2526
2551
|
__name: "popover-filter-layout",
|
|
2527
2552
|
props: {
|
|
2528
2553
|
badgeCount: {},
|
|
@@ -2535,152 +2560,158 @@ const Ie = /* @__PURE__ */ te(io, [["render", co]]), fo = { class: "flex items-c
|
|
|
2535
2560
|
width: {},
|
|
2536
2561
|
title: {},
|
|
2537
2562
|
disabled: { type: Boolean },
|
|
2538
|
-
defaultPanelWidth: {}
|
|
2563
|
+
defaultPanelWidth: {},
|
|
2564
|
+
itemClass: {}
|
|
2539
2565
|
},
|
|
2540
2566
|
emits: ["change", "clear", "clearAll"],
|
|
2541
|
-
setup(
|
|
2542
|
-
const t =
|
|
2543
|
-
activeFilter:
|
|
2544
|
-
activeFilterCount:
|
|
2545
|
-
onFilterChange:
|
|
2546
|
-
clearFilter:
|
|
2547
|
-
clearAllFilters:
|
|
2548
|
-
popoverFiltersSlot:
|
|
2549
|
-
selectedFilter:
|
|
2550
|
-
filterRef:
|
|
2567
|
+
setup(f, { expose: a, emit: y }) {
|
|
2568
|
+
const t = oe(), u = f, l = Te(u.mode), g = fe(), n = y, m = A({}), x = O(() => m?.value ? u.view !== "inline" ? m?.value : Object.fromEntries(Object.entries(m?.value).slice(u.limit)) : {}), {
|
|
2569
|
+
activeFilter: d,
|
|
2570
|
+
activeFilterCount: p,
|
|
2571
|
+
onFilterChange: r,
|
|
2572
|
+
clearFilter: k,
|
|
2573
|
+
clearAllFilters: _,
|
|
2574
|
+
popoverFiltersSlot: C,
|
|
2575
|
+
selectedFilter: o,
|
|
2576
|
+
filterRef: c
|
|
2551
2577
|
} = ye({
|
|
2552
|
-
...
|
|
2553
|
-
schema:
|
|
2554
|
-
slots:
|
|
2555
|
-
},
|
|
2556
|
-
function
|
|
2557
|
-
return Array.isArray(
|
|
2578
|
+
...u,
|
|
2579
|
+
schema: m,
|
|
2580
|
+
slots: g
|
|
2581
|
+
}, n), v = O(() => u.badgeCount ?? p.value);
|
|
2582
|
+
function h(M) {
|
|
2583
|
+
return Array.isArray(M) ? M.filter(($) => $ != null && $ !== "").length : M && typeof M == "object" ? Object.values(M).filter(($) => $ != null && $ !== "").length : M === null || M !== void 0 && M !== "" ? 1 : 0;
|
|
2558
2584
|
}
|
|
2559
|
-
function
|
|
2560
|
-
return
|
|
2585
|
+
function b(M) {
|
|
2586
|
+
return d.value ? h(d.value[M]) : 0;
|
|
2561
2587
|
}
|
|
2562
|
-
function
|
|
2563
|
-
if (
|
|
2564
|
-
const [
|
|
2565
|
-
|
|
2566
|
-
} else
|
|
2588
|
+
function K() {
|
|
2589
|
+
if (x.value) {
|
|
2590
|
+
const [M] = Object.keys(x.value);
|
|
2591
|
+
o.value = M;
|
|
2592
|
+
} else C.value.length > 0 ? o.value = C.value[0].props.name : o.value = "";
|
|
2567
2593
|
}
|
|
2568
|
-
return
|
|
2569
|
-
() =>
|
|
2570
|
-
(
|
|
2571
|
-
|
|
2594
|
+
return U(
|
|
2595
|
+
() => u.schema,
|
|
2596
|
+
(M) => {
|
|
2597
|
+
m.value = M ?? {};
|
|
2572
2598
|
},
|
|
2573
2599
|
{ deep: !0, immediate: !0 }
|
|
2574
|
-
),
|
|
2575
|
-
clearFilter:
|
|
2576
|
-
clearAllFilters:
|
|
2577
|
-
}), (
|
|
2578
|
-
onOpen:
|
|
2579
|
-
onClose:
|
|
2600
|
+
), a({
|
|
2601
|
+
clearFilter: k,
|
|
2602
|
+
clearAllFilters: _
|
|
2603
|
+
}), (M, $) => (i(), T(ro, {
|
|
2604
|
+
onOpen: K,
|
|
2605
|
+
onClose: $[5] || ($[5] = (S) => o.value = "")
|
|
2580
2606
|
}, {
|
|
2581
|
-
trigger:
|
|
2582
|
-
|
|
2607
|
+
trigger: ae(() => [
|
|
2608
|
+
s("button", {
|
|
2583
2609
|
"data-popover-trigger": "",
|
|
2584
2610
|
"aria-haspopup": "dialog",
|
|
2585
2611
|
"aria-expanded": "false",
|
|
2586
|
-
class:
|
|
2587
|
-
|
|
2612
|
+
class: E([
|
|
2613
|
+
M.itemClass,
|
|
2614
|
+
e(l),
|
|
2588
2615
|
"flex items-center justify-between gap-2",
|
|
2589
|
-
|
|
2616
|
+
v.value > 0 ? "border border-blue-400 bg-blue-50 text-blue-600 hover:border-blue-500" : "text-neutral-700 hover:border-neutral-400"
|
|
2590
2617
|
]),
|
|
2591
2618
|
type: "button"
|
|
2592
2619
|
}, [
|
|
2593
|
-
|
|
2594
|
-
Q(
|
|
2595
|
-
|
|
2620
|
+
s("span", co, [
|
|
2621
|
+
Q(Ue, { class: "h-4 w-4" }),
|
|
2622
|
+
$[6] || ($[6] = s("span", { class: "text-sm font-medium" }, "Фільтр", -1))
|
|
2596
2623
|
]),
|
|
2597
|
-
|
|
2624
|
+
v.value > 0 ? (i(), w("span", fo, B(v.value), 1)) : V("", !0)
|
|
2598
2625
|
], 2)
|
|
2599
2626
|
]),
|
|
2600
|
-
default:
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
]
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
key:
|
|
2627
|
+
default: ae(() => [
|
|
2628
|
+
s("div", po, [
|
|
2629
|
+
s("div", mo, [
|
|
2630
|
+
s("div", vo, [
|
|
2631
|
+
s("p", yo, B(e(t)("filter.selectFieldHelp")), 1)
|
|
2632
|
+
]),
|
|
2633
|
+
s("div", go, [
|
|
2634
|
+
M.schema ? (i(!0), w(I, { key: 0 }, X(Object.entries(x.value), ([S, F]) => (i(), w("button", {
|
|
2635
|
+
key: S,
|
|
2609
2636
|
onClick: () => {
|
|
2610
|
-
|
|
2637
|
+
o.value = S;
|
|
2611
2638
|
},
|
|
2612
|
-
class:
|
|
2639
|
+
class: E([
|
|
2613
2640
|
"flex w-full items-center justify-between px-3 py-2 text-left transition-colors hover:bg-gray-50",
|
|
2614
|
-
e(
|
|
2641
|
+
e(o) === S ? "bg-blue-50 text-blue-700 border-l-2 border-blue-500" : "text-neutral-700"
|
|
2615
2642
|
])
|
|
2616
2643
|
}, [
|
|
2617
|
-
|
|
2618
|
-
|
|
2644
|
+
s("div", ho, [
|
|
2645
|
+
s("span", xo, B(F.label), 1)
|
|
2619
2646
|
]),
|
|
2620
|
-
|
|
2621
|
-
], 10,
|
|
2622
|
-
(
|
|
2623
|
-
key: "slot-" +
|
|
2624
|
-
onClick: (
|
|
2625
|
-
class:
|
|
2647
|
+
b(S) > 0 ? (i(), w("div", wo, B(b(S)), 1)) : V("", !0)
|
|
2648
|
+
], 10, bo))), 128)) : V("", !0),
|
|
2649
|
+
(i(!0), w(I, null, X(e(C), (S, F) => (i(), w("button", {
|
|
2650
|
+
key: "slot-" + F,
|
|
2651
|
+
onClick: (D) => o.value = S.props.name,
|
|
2652
|
+
class: E([
|
|
2626
2653
|
"flex items-center justify-between px-3 py-2 text-left transition-colors hover:bg-gray-50",
|
|
2627
|
-
e(
|
|
2654
|
+
e(o) === S.props.name ? "bg-blue-50 text-blue-700 border-l-2 border-blue-500" : "text-neutral-700"
|
|
2628
2655
|
])
|
|
2629
2656
|
}, [
|
|
2630
|
-
|
|
2631
|
-
|
|
2657
|
+
s("div", Co, [
|
|
2658
|
+
s("span", _o, B(S.props.label), 1)
|
|
2632
2659
|
]),
|
|
2633
|
-
|
|
2634
|
-
], 10,
|
|
2660
|
+
b(S.props.name) > 0 ? (i(), w("div", Vo, B(b(S.props.name)), 1)) : V("", !0)
|
|
2661
|
+
], 10, ko))), 128))
|
|
2635
2662
|
]),
|
|
2636
|
-
e(
|
|
2637
|
-
|
|
2638
|
-
class: "w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors",
|
|
2639
|
-
onClick:
|
|
2663
|
+
e(p) > 0 ? (i(), w("div", $o, [
|
|
2664
|
+
s("button", {
|
|
2665
|
+
class: E([M.itemClass, "w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors"]),
|
|
2666
|
+
onClick: $[0] || ($[0] = (S) => e(_)()),
|
|
2640
2667
|
"data-inside-popover": ""
|
|
2641
|
-
}, " Очистити всі ")
|
|
2668
|
+
}, " Очистити всі ", 2)
|
|
2642
2669
|
])) : V("", !0)
|
|
2643
2670
|
]),
|
|
2644
|
-
|
|
2645
|
-
e(
|
|
2646
|
-
|
|
2647
|
-
]))
|
|
2648
|
-
e(
|
|
2649
|
-
|
|
2650
|
-
e(
|
|
2651
|
-
key:
|
|
2671
|
+
s("div", Ao, [
|
|
2672
|
+
e(o) === "" ? (i(), w("div", Bo, [
|
|
2673
|
+
s("p", So, B(e(t)("filter.selectFieldHelp")), 1)
|
|
2674
|
+
])) : V("", !0),
|
|
2675
|
+
e(o) ? (i(), w(I, { key: 1 }, [
|
|
2676
|
+
x.value ? (i(!0), w(I, { key: 0 }, X(Object.entries(x.value), ([S, F]) => (i(), w(I, null, [
|
|
2677
|
+
e(o) === S ? (i(), T(le, Z({
|
|
2678
|
+
key: S,
|
|
2652
2679
|
layout: "popover",
|
|
2653
2680
|
ref_for: !0,
|
|
2654
2681
|
ref_key: "filterRef",
|
|
2655
|
-
ref:
|
|
2656
|
-
}, { ref_for: !0 },
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2682
|
+
ref: c
|
|
2683
|
+
}, { ref_for: !0 }, F, {
|
|
2684
|
+
class: [M.itemClass, F?.class],
|
|
2685
|
+
"item-class": [M.itemClass, F?.itemClass].filter(Boolean).join(" ") || void 0,
|
|
2686
|
+
onChange: $[1] || ($[1] = (D) => e(r)(D.name, D.value)),
|
|
2687
|
+
onClear: $[2] || ($[2] = (D) => {
|
|
2688
|
+
e(k)(D), e(r)(D, void 0);
|
|
2660
2689
|
}),
|
|
2661
|
-
modelValue: e(
|
|
2662
|
-
"onUpdate:modelValue": (
|
|
2690
|
+
modelValue: e(d)[S],
|
|
2691
|
+
"onUpdate:modelValue": (D) => e(d)[S] = D,
|
|
2663
2692
|
cleanable: !0
|
|
2664
|
-
}), null, 16, ["modelValue", "onUpdate:modelValue"])) : V("", !0)
|
|
2693
|
+
}), null, 16, ["class", "item-class", "modelValue", "onUpdate:modelValue"])) : V("", !0)
|
|
2665
2694
|
], 64))), 256)) : V("", !0),
|
|
2666
|
-
(
|
|
2667
|
-
key: "slot-" +
|
|
2695
|
+
(i(!0), w(I, null, X(e(C), (S, F) => (i(), w(I, {
|
|
2696
|
+
key: "slot-" + F
|
|
2668
2697
|
}, [
|
|
2669
|
-
e(
|
|
2698
|
+
e(o) === S.props.name ? (i(), T(le, Z({
|
|
2670
2699
|
key: 0,
|
|
2671
2700
|
layout: "popover"
|
|
2672
|
-
}, { ref_for: !0 },
|
|
2701
|
+
}, { ref_for: !0 }, S.props, {
|
|
2673
2702
|
ref_for: !0,
|
|
2674
2703
|
ref_key: "filterRef",
|
|
2675
|
-
ref:
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2704
|
+
ref: c,
|
|
2705
|
+
class: [M.itemClass, S.props?.class],
|
|
2706
|
+
"item-class": [M.itemClass, S.props?.itemClass].filter(Boolean).join(" ") || void 0,
|
|
2707
|
+
onChange: $[3] || ($[3] = (D) => e(r)(D.name, D.value)),
|
|
2708
|
+
onClear: $[4] || ($[4] = (D) => {
|
|
2709
|
+
e(k)(D), e(r)(D, void 0);
|
|
2679
2710
|
}),
|
|
2680
|
-
modelValue: e(
|
|
2681
|
-
"onUpdate:modelValue": (
|
|
2711
|
+
modelValue: e(d)[S.props.name],
|
|
2712
|
+
"onUpdate:modelValue": (D) => e(d)[S.props.name] = D,
|
|
2682
2713
|
cleanable: !0
|
|
2683
|
-
}), null, 16, ["modelValue", "onUpdate:modelValue"])) : V("", !0)
|
|
2714
|
+
}), null, 16, ["class", "item-class", "modelValue", "onUpdate:modelValue"])) : V("", !0)
|
|
2684
2715
|
], 64))), 128))
|
|
2685
2716
|
], 64)) : V("", !0)
|
|
2686
2717
|
])
|
|
@@ -2689,7 +2720,7 @@ const Ie = /* @__PURE__ */ te(io, [["render", co]]), fo = { class: "flex items-c
|
|
|
2689
2720
|
_: 1
|
|
2690
2721
|
}));
|
|
2691
2722
|
}
|
|
2692
|
-
}),
|
|
2723
|
+
}), jo = { class: "flex gap-1 items-center flex-wrap" }, Fe = /* @__PURE__ */ q({
|
|
2693
2724
|
__name: "inline-filter-layout",
|
|
2694
2725
|
props: {
|
|
2695
2726
|
schema: {},
|
|
@@ -2701,105 +2732,110 @@ const Ie = /* @__PURE__ */ te(io, [["render", co]]), fo = { class: "flex items-c
|
|
|
2701
2732
|
width: {},
|
|
2702
2733
|
title: {},
|
|
2703
2734
|
disabled: { type: Boolean },
|
|
2704
|
-
defaultPanelWidth: {}
|
|
2735
|
+
defaultPanelWidth: {},
|
|
2736
|
+
itemClass: {}
|
|
2705
2737
|
},
|
|
2706
2738
|
emits: ["change", "clear", "clearAll"],
|
|
2707
|
-
setup(
|
|
2708
|
-
const t =
|
|
2709
|
-
activeFilter:
|
|
2710
|
-
activeFilterCount:
|
|
2711
|
-
onFilterChange:
|
|
2712
|
-
clearFilter:
|
|
2713
|
-
clearAllFilters:
|
|
2714
|
-
limitedSchema:
|
|
2715
|
-
filtersSlot:
|
|
2739
|
+
setup(f, { expose: a, emit: y }) {
|
|
2740
|
+
const t = oe(), u = f, l = y, g = fe(), n = A({}), m = O(() => Object.keys(u.schema).length > u.limit), {
|
|
2741
|
+
activeFilter: x,
|
|
2742
|
+
activeFilterCount: d,
|
|
2743
|
+
onFilterChange: p,
|
|
2744
|
+
clearFilter: r,
|
|
2745
|
+
clearAllFilters: k,
|
|
2746
|
+
limitedSchema: _,
|
|
2747
|
+
filtersSlot: C,
|
|
2716
2748
|
limitedFiltersSlot: o
|
|
2717
2749
|
} = ye(
|
|
2718
2750
|
{
|
|
2719
2751
|
...u,
|
|
2720
|
-
schema:
|
|
2752
|
+
schema: n,
|
|
2721
2753
|
slots: g
|
|
2722
2754
|
},
|
|
2723
2755
|
l
|
|
2724
2756
|
);
|
|
2725
|
-
function
|
|
2726
|
-
return Array.isArray(
|
|
2757
|
+
function c($) {
|
|
2758
|
+
return Array.isArray($) ? $.some((S) => S !== "" && S !== void 0 && S !== null) : $ === null ? !0 : $ && typeof $ == "object" ? Object.values($).some((S) => S !== "" && S !== void 0 && S !== null) : $ !== "" && $ !== void 0;
|
|
2727
2759
|
}
|
|
2728
|
-
const
|
|
2729
|
-
const
|
|
2730
|
-
return /* @__PURE__ */ new Set([
|
|
2731
|
-
}), h =
|
|
2732
|
-
const
|
|
2733
|
-
return Math.max(
|
|
2734
|
-
}),
|
|
2735
|
-
function
|
|
2736
|
-
|
|
2760
|
+
const v = O(() => {
|
|
2761
|
+
const $ = Object.keys(_.value ?? {}), S = o.value.map((F) => F.props?.name).filter((F) => typeof F == "string");
|
|
2762
|
+
return /* @__PURE__ */ new Set([...$, ...S]);
|
|
2763
|
+
}), h = O(() => Object.entries(x.value ?? {}).filter(([$, S]) => v.value.has($) && c(S)).length), b = O(() => {
|
|
2764
|
+
const $ = d.value ?? 0, S = h.value ?? 0;
|
|
2765
|
+
return Math.max($ - S, 0);
|
|
2766
|
+
}), K = A();
|
|
2767
|
+
function M() {
|
|
2768
|
+
K.value && K.value.clearAllFilters(!0), k();
|
|
2737
2769
|
}
|
|
2738
|
-
return
|
|
2770
|
+
return U(
|
|
2739
2771
|
() => u.schema,
|
|
2740
|
-
(
|
|
2741
|
-
|
|
2772
|
+
($) => {
|
|
2773
|
+
n.value = $;
|
|
2742
2774
|
},
|
|
2743
2775
|
{ deep: !0, immediate: !0 }
|
|
2744
|
-
),
|
|
2745
|
-
clearFilter:
|
|
2746
|
-
clearAllFilters:
|
|
2747
|
-
}), (
|
|
2748
|
-
|
|
2749
|
-
key:
|
|
2750
|
-
mode:
|
|
2751
|
-
width:
|
|
2752
|
-
}, { ref_for: !0 },
|
|
2753
|
-
|
|
2754
|
-
|
|
2776
|
+
), a({
|
|
2777
|
+
clearFilter: r,
|
|
2778
|
+
clearAllFilters: k
|
|
2779
|
+
}), ($, S) => (i(), w("div", jo, [
|
|
2780
|
+
$.schema ? (i(!0), w(I, { key: 0 }, X(Object.entries(e(_)), ([F, D]) => (i(), T(le, Z({
|
|
2781
|
+
key: F,
|
|
2782
|
+
mode: $.mode,
|
|
2783
|
+
width: $.width ? $.width : D?.width
|
|
2784
|
+
}, { ref_for: !0 }, D, {
|
|
2785
|
+
class: [$.itemClass, D?.class],
|
|
2786
|
+
"item-class": [$.itemClass, D?.itemClass].filter(Boolean).join(" ") || void 0,
|
|
2787
|
+
onChange: S[0] || (S[0] = (R) => e(p)(R.name, R.value)),
|
|
2788
|
+
onClear: e(r),
|
|
2755
2789
|
layout: "inline",
|
|
2756
2790
|
cleanable: !0,
|
|
2757
|
-
modelValue: e(
|
|
2758
|
-
"onUpdate:modelValue": (
|
|
2759
|
-
}), null, 16, ["mode", "width", "onClear", "modelValue", "onUpdate:modelValue"]))), 128)) : V("", !0),
|
|
2760
|
-
(
|
|
2761
|
-
key: "slot-" +
|
|
2791
|
+
modelValue: e(x)[F],
|
|
2792
|
+
"onUpdate:modelValue": (R) => e(x)[F] = R
|
|
2793
|
+
}), null, 16, ["mode", "width", "class", "item-class", "onClear", "modelValue", "onUpdate:modelValue"]))), 128)) : V("", !0),
|
|
2794
|
+
(i(!0), w(I, null, X(e(o), (F, D) => (i(), T(le, Z({
|
|
2795
|
+
key: "slot-" + D,
|
|
2762
2796
|
layout: "inline"
|
|
2763
|
-
}, { ref_for: !0 },
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2797
|
+
}, { ref_for: !0 }, F.props, {
|
|
2798
|
+
class: [$.itemClass, F.props?.class],
|
|
2799
|
+
"item-class": [$.itemClass, F.props?.itemClass].filter(Boolean).join(" ") || void 0,
|
|
2800
|
+
onChange: S[1] || (S[1] = (R) => e(p)(R.name, R.value)),
|
|
2801
|
+
onClear: S[2] || (S[2] = (R) => {
|
|
2802
|
+
e(r)(R), e(p)(R, void 0);
|
|
2767
2803
|
}),
|
|
2768
2804
|
cleanable: !0,
|
|
2769
|
-
modelValue: e(
|
|
2770
|
-
"onUpdate:modelValue": (
|
|
2771
|
-
}), null, 16, ["modelValue", "onUpdate:modelValue"]))), 128)),
|
|
2772
|
-
|
|
2773
|
-
schema:
|
|
2774
|
-
limit:
|
|
2775
|
-
onChange:
|
|
2776
|
-
onClearAll:
|
|
2777
|
-
onClear:
|
|
2778
|
-
mode:
|
|
2805
|
+
modelValue: e(x)[F.props.name],
|
|
2806
|
+
"onUpdate:modelValue": (R) => e(x)[F.props.name] = R
|
|
2807
|
+
}), null, 16, ["class", "item-class", "modelValue", "onUpdate:modelValue"]))), 128)),
|
|
2808
|
+
m.value ? (i(), T(ze, Z({ key: 1 }, u, {
|
|
2809
|
+
schema: $.schema,
|
|
2810
|
+
limit: $.limit,
|
|
2811
|
+
onChange: S[3] || (S[3] = (F) => e(p)(F.name, F.value)),
|
|
2812
|
+
onClearAll: S[4] || (S[4] = (F) => e(k)()),
|
|
2813
|
+
onClear: S[5] || (S[5] = (F) => e(r)(F.name)),
|
|
2814
|
+
mode: $.mode,
|
|
2779
2815
|
ref_key: "popoverRef",
|
|
2780
|
-
ref:
|
|
2816
|
+
ref: K,
|
|
2781
2817
|
cleanable: !0,
|
|
2782
|
-
"badge-count":
|
|
2818
|
+
"badge-count": b.value
|
|
2783
2819
|
}), {
|
|
2784
|
-
default:
|
|
2785
|
-
(
|
|
2786
|
-
key: "slot-" +
|
|
2820
|
+
default: ae(() => [
|
|
2821
|
+
(i(!0), w(I, null, X(e(C), (F, D) => (i(), T(ne(F), Z({
|
|
2822
|
+
key: "slot-" + D,
|
|
2787
2823
|
layout: "popover"
|
|
2788
|
-
}, { ref_for: !0 },
|
|
2824
|
+
}, { ref_for: !0 }, F.props, { cleanable: !0 }), null, 16))), 128))
|
|
2789
2825
|
]),
|
|
2790
2826
|
_: 1
|
|
2791
2827
|
}, 16, ["schema", "limit", "mode", "badge-count"])) : V("", !0),
|
|
2792
|
-
e(
|
|
2828
|
+
e(d) > 0 ? (i(), w("button", {
|
|
2793
2829
|
key: 2,
|
|
2794
|
-
onClick:
|
|
2795
|
-
class: "relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-
|
|
2796
|
-
},
|
|
2830
|
+
onClick: M,
|
|
2831
|
+
class: E([$.itemClass, "relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-md bg-gray-50 border text-gray-800 hover:bg-gray-200 focus:bg-gray-200"])
|
|
2832
|
+
}, B(e(t)("filter.clear")), 3)) : V("", !0)
|
|
2797
2833
|
]));
|
|
2798
2834
|
}
|
|
2799
|
-
}),
|
|
2835
|
+
}), Do = {
|
|
2800
2836
|
key: 0,
|
|
2801
2837
|
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"
|
|
2802
|
-
},
|
|
2838
|
+
}, Ro = { class: "flex items-center vst-filters vsTailwind flex-col w-full" }, Fo = /* @__PURE__ */ q({
|
|
2803
2839
|
__name: "vertical-filter-layout",
|
|
2804
2840
|
props: {
|
|
2805
2841
|
schema: {},
|
|
@@ -2811,66 +2847,71 @@ const Ie = /* @__PURE__ */ te(io, [["render", co]]), fo = { class: "flex items-c
|
|
|
2811
2847
|
width: {},
|
|
2812
2848
|
title: {},
|
|
2813
2849
|
disabled: { type: Boolean },
|
|
2814
|
-
defaultPanelWidth: {}
|
|
2850
|
+
defaultPanelWidth: {},
|
|
2851
|
+
itemClass: {}
|
|
2815
2852
|
},
|
|
2816
2853
|
emits: ["change", "clear", "clearAll"],
|
|
2817
|
-
setup(
|
|
2818
|
-
const t =
|
|
2854
|
+
setup(f, { expose: a, emit: y }) {
|
|
2855
|
+
const t = f, u = y, l = fe(), {
|
|
2819
2856
|
activeFilter: g,
|
|
2820
|
-
activeFilterCount:
|
|
2821
|
-
onFilterChange:
|
|
2822
|
-
clearFilter:
|
|
2823
|
-
clearAllFilters:
|
|
2824
|
-
filtersSlot:
|
|
2857
|
+
activeFilterCount: n,
|
|
2858
|
+
onFilterChange: m,
|
|
2859
|
+
clearFilter: x,
|
|
2860
|
+
clearAllFilters: d,
|
|
2861
|
+
filtersSlot: p
|
|
2825
2862
|
} = ye({
|
|
2826
2863
|
...t,
|
|
2827
2864
|
slots: l
|
|
2828
2865
|
}, u);
|
|
2829
|
-
return
|
|
2830
|
-
clearFilter:
|
|
2831
|
-
clearAllFilters:
|
|
2832
|
-
}), (
|
|
2833
|
-
|
|
2834
|
-
e(
|
|
2866
|
+
return a({
|
|
2867
|
+
clearFilter: x,
|
|
2868
|
+
clearAllFilters: d
|
|
2869
|
+
}), (r, k) => r.view === "vertical" ? (i(), w("div", Do, [
|
|
2870
|
+
s("div", Ro, [
|
|
2871
|
+
e(n) > 0 ? (i(), w("button", {
|
|
2835
2872
|
key: 0,
|
|
2836
|
-
onClick:
|
|
2873
|
+
onClick: k[0] || (k[0] = (_) => e(d)()),
|
|
2837
2874
|
"data-popover-trigger": "",
|
|
2838
2875
|
"aria-haspopup": "dialog",
|
|
2839
2876
|
"aria-expanded": "false",
|
|
2840
|
-
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",
|
|
2877
|
+
class: E([r.itemClass, "w-full ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground border h-10 px-4 py-2 gap-2 m-2 bg-white text-gray-800 hover:bg-gray-200 focus:bg-gray-200"]),
|
|
2841
2878
|
type: "button"
|
|
2842
|
-
}, " Очистити ")) : V("", !0),
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
|
|
2879
|
+
}, " Очистити ", 2)) : V("", !0),
|
|
2880
|
+
r.schema ? (i(!0), w(I, { key: 1 }, X(Object.entries(r.schema), ([_, C]) => (i(), T(le, Z({ layout: "vertical" }, { ref_for: !0 }, C, {
|
|
2881
|
+
class: [r.itemClass, C?.class],
|
|
2882
|
+
"item-class": [r.itemClass, C?.itemClass].filter(Boolean).join(" ") || void 0,
|
|
2883
|
+
onChange: k[1] || (k[1] = (o) => e(m)(o.name, o.value)),
|
|
2884
|
+
onClear: k[2] || (k[2] = (o) => {
|
|
2885
|
+
e(x)(o), e(m)(o, void 0);
|
|
2847
2886
|
}),
|
|
2848
|
-
modelValue: e(g)[
|
|
2849
|
-
"onUpdate:modelValue": (o) => e(g)[
|
|
2887
|
+
modelValue: e(g)[_],
|
|
2888
|
+
"onUpdate:modelValue": (o) => e(g)[_] = o,
|
|
2850
2889
|
showClean: !0
|
|
2851
|
-
}), null, 16, ["modelValue", "onUpdate:modelValue"]))), 256)) : V("", !0),
|
|
2852
|
-
(
|
|
2853
|
-
key: "slot-" +
|
|
2890
|
+
}), null, 16, ["class", "item-class", "modelValue", "onUpdate:modelValue"]))), 256)) : V("", !0),
|
|
2891
|
+
(i(!0), w(I, null, X(e(p), (_, C) => (i(), T(le, Z({
|
|
2892
|
+
key: "slot-" + C,
|
|
2854
2893
|
layout: "vertical"
|
|
2855
|
-
}, { ref_for: !0 },
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2894
|
+
}, { ref_for: !0 }, _.props, {
|
|
2895
|
+
class: [r.itemClass, _.props?.class],
|
|
2896
|
+
"item-class": [r.itemClass, _.props?.itemClass].filter(Boolean).join(" ") || void 0,
|
|
2897
|
+
onChange: k[3] || (k[3] = (o) => e(m)(o.name, o.value)),
|
|
2898
|
+
onClear: k[4] || (k[4] = (o) => {
|
|
2899
|
+
e(x)(o), e(m)(o, void 0);
|
|
2859
2900
|
}),
|
|
2860
|
-
modelValue: e(g)[
|
|
2861
|
-
"onUpdate:modelValue": (o) => e(g)[
|
|
2901
|
+
modelValue: e(g)[_.props.name],
|
|
2902
|
+
"onUpdate:modelValue": (o) => e(g)[_.props.name] = o,
|
|
2862
2903
|
showClean: !0
|
|
2863
|
-
}), null, 16, ["modelValue", "onUpdate:modelValue"]))), 128))
|
|
2904
|
+
}), null, 16, ["class", "item-class", "modelValue", "onUpdate:modelValue"]))), 128))
|
|
2864
2905
|
])
|
|
2865
2906
|
])) : V("", !0);
|
|
2866
2907
|
}
|
|
2867
|
-
}),
|
|
2908
|
+
}), Ko = ["onKeydown"], Mo = ["disabled"], Lo = {
|
|
2868
2909
|
key: 0,
|
|
2869
2910
|
class: "ml-2 inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-full bg-blue-500 px-1.5 text-[11px] font-semibold text-white"
|
|
2870
|
-
},
|
|
2911
|
+
}, Eo = { class: "rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm" }, Oo = { class: "mb-3 flex items-center justify-between" }, To = { class: "text-[15px] font-semibold text-slate-800" }, Io = { "aria-hidden": "true" }, Uo = { class: "flex max-h-80 flex-col gap-1 overflow-y-auto" }, zo = {
|
|
2871
2912
|
key: 0,
|
|
2872
2913
|
class: "mt-3 flex justify-end"
|
|
2873
|
-
},
|
|
2914
|
+
}, No = /* @__PURE__ */ q({
|
|
2874
2915
|
__name: "popover-inline-filter-layout",
|
|
2875
2916
|
props: {
|
|
2876
2917
|
schema: {},
|
|
@@ -2882,17 +2923,18 @@ const Ie = /* @__PURE__ */ te(io, [["render", co]]), fo = { class: "flex items-c
|
|
|
2882
2923
|
width: { default: 220 },
|
|
2883
2924
|
title: {},
|
|
2884
2925
|
disabled: { type: Boolean },
|
|
2885
|
-
defaultPanelWidth: {}
|
|
2926
|
+
defaultPanelWidth: {},
|
|
2927
|
+
itemClass: {}
|
|
2886
2928
|
},
|
|
2887
2929
|
emits: ["change", "clear", "clearAll"],
|
|
2888
|
-
setup(
|
|
2889
|
-
const
|
|
2890
|
-
activeFilter:
|
|
2891
|
-
activeFilterCount:
|
|
2892
|
-
onFilterChange:
|
|
2893
|
-
clearFilter:
|
|
2894
|
-
clearAllFilters:
|
|
2895
|
-
filtersSlot:
|
|
2930
|
+
setup(f, { emit: a }) {
|
|
2931
|
+
const y = oe(), t = f, u = a, l = A({}), g = fe(), {
|
|
2932
|
+
activeFilter: n,
|
|
2933
|
+
activeFilterCount: m,
|
|
2934
|
+
onFilterChange: x,
|
|
2935
|
+
clearFilter: d,
|
|
2936
|
+
clearAllFilters: p,
|
|
2937
|
+
filtersSlot: r
|
|
2896
2938
|
} = ye(
|
|
2897
2939
|
{
|
|
2898
2940
|
...t,
|
|
@@ -2900,158 +2942,162 @@ const Ie = /* @__PURE__ */ te(io, [["render", co]]), fo = { class: "flex items-c
|
|
|
2900
2942
|
slots: g
|
|
2901
2943
|
},
|
|
2902
2944
|
u
|
|
2903
|
-
),
|
|
2945
|
+
), k = A(null), _ = A(null), C = qe({ open: !1, top: 0, left: 0 }), o = O(() => C.open), c = O(() => !!t.disabled), v = O(() => l.value || {}), h = O(() => t.title ?? "Фільтр"), b = O(() => !!g.trigger), K = O(() => [
|
|
2904
2946
|
"inline-flex h-9 items-center justify-center gap-2 rounded-lg border border-transparent bg-slate-200/70 px-3 text-sm font-medium text-slate-700 transition-colors hover:bg-blue-100 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-slate-200/70 disabled:hover:text-slate-700",
|
|
2905
|
-
|
|
2906
|
-
]),
|
|
2947
|
+
c.value ? "cursor-not-allowed opacity-60" : "cursor-pointer"
|
|
2948
|
+
]), M = O(() => C.open ? {
|
|
2907
2949
|
position: "absolute",
|
|
2908
|
-
top: `${
|
|
2909
|
-
left: `${
|
|
2950
|
+
top: `${C.top}px`,
|
|
2951
|
+
left: `${C.left}px`,
|
|
2910
2952
|
transform: "translateX(-50%)",
|
|
2911
2953
|
zIndex: 1e3
|
|
2912
2954
|
} : { display: "none" });
|
|
2913
|
-
function
|
|
2914
|
-
|
|
2955
|
+
function $() {
|
|
2956
|
+
C.open = !1;
|
|
2915
2957
|
}
|
|
2916
|
-
function
|
|
2917
|
-
if (!
|
|
2918
|
-
const
|
|
2919
|
-
|
|
2958
|
+
function S() {
|
|
2959
|
+
if (!k.value) return;
|
|
2960
|
+
const z = k.value.getBoundingClientRect();
|
|
2961
|
+
C.top = z.bottom + window.scrollY + 8, C.left = z.left + z.width / 2 + window.scrollX;
|
|
2920
2962
|
}
|
|
2921
|
-
function
|
|
2922
|
-
|
|
2963
|
+
function F() {
|
|
2964
|
+
C.open = !C.open, C.open && me(S);
|
|
2923
2965
|
}
|
|
2924
|
-
function
|
|
2925
|
-
|
|
2966
|
+
function D() {
|
|
2967
|
+
c.value || F();
|
|
2926
2968
|
}
|
|
2927
|
-
function
|
|
2928
|
-
|
|
2969
|
+
function R() {
|
|
2970
|
+
C.open && S();
|
|
2929
2971
|
}
|
|
2930
|
-
function
|
|
2931
|
-
|
|
2972
|
+
function N() {
|
|
2973
|
+
p();
|
|
2932
2974
|
}
|
|
2933
2975
|
return ce(() => {
|
|
2934
|
-
window.addEventListener("resize",
|
|
2976
|
+
window.addEventListener("resize", R), window.addEventListener("scroll", R, !0);
|
|
2935
2977
|
}), pe(() => {
|
|
2936
|
-
window.removeEventListener("resize",
|
|
2937
|
-
}),
|
|
2978
|
+
window.removeEventListener("resize", R), window.removeEventListener("scroll", R, !0);
|
|
2979
|
+
}), U(
|
|
2938
2980
|
() => t.schema,
|
|
2939
|
-
(
|
|
2940
|
-
if (!
|
|
2981
|
+
(z) => {
|
|
2982
|
+
if (!z) {
|
|
2941
2983
|
l.value = {};
|
|
2942
2984
|
return;
|
|
2943
2985
|
}
|
|
2944
|
-
if (Array.isArray(
|
|
2945
|
-
const
|
|
2946
|
-
const
|
|
2947
|
-
return [
|
|
2986
|
+
if (Array.isArray(z)) {
|
|
2987
|
+
const j = z.filter((L) => L && (L.name || L.id)).map((L) => {
|
|
2988
|
+
const P = L.name || L.id;
|
|
2989
|
+
return [P, { ...L, name: P }];
|
|
2948
2990
|
});
|
|
2949
|
-
l.value = Object.fromEntries(
|
|
2991
|
+
l.value = Object.fromEntries(j);
|
|
2950
2992
|
return;
|
|
2951
2993
|
}
|
|
2952
|
-
l.value =
|
|
2994
|
+
l.value = z;
|
|
2953
2995
|
},
|
|
2954
2996
|
{ deep: !0, immediate: !0 }
|
|
2955
|
-
),
|
|
2997
|
+
), U(
|
|
2956
2998
|
() => t.disabled,
|
|
2957
|
-
(
|
|
2958
|
-
|
|
2999
|
+
(z) => {
|
|
3000
|
+
z && $();
|
|
2959
3001
|
}
|
|
2960
|
-
), (
|
|
3002
|
+
), (z, j) => (i(), w("div", {
|
|
2961
3003
|
class: "relative inline-flex",
|
|
2962
3004
|
ref_key: "anchor",
|
|
2963
|
-
ref:
|
|
3005
|
+
ref: k
|
|
2964
3006
|
}, [
|
|
2965
|
-
|
|
3007
|
+
b.value ? (i(), w("span", {
|
|
2966
3008
|
key: 0,
|
|
2967
|
-
class:
|
|
3009
|
+
class: E(["inline-flex", c.value ? "cursor-not-allowed opacity-60 pointer-events-none" : "cursor-pointer"]),
|
|
2968
3010
|
role: "button",
|
|
2969
3011
|
tabindex: "0",
|
|
2970
3012
|
"data-popover-trigger": "",
|
|
2971
|
-
onClick:
|
|
3013
|
+
onClick: se(D, ["prevent", "stop"]),
|
|
2972
3014
|
onKeydown: [
|
|
2973
|
-
$e(
|
|
2974
|
-
$e(
|
|
3015
|
+
$e(se(D, ["prevent", "stop"]), ["enter"]),
|
|
3016
|
+
$e(se(D, ["prevent", "stop"]), ["space"])
|
|
2975
3017
|
]
|
|
2976
3018
|
}, [
|
|
2977
|
-
ue(
|
|
2978
|
-
toggle:
|
|
3019
|
+
ue(z.$slots, "trigger", {
|
|
3020
|
+
toggle: D,
|
|
2979
3021
|
open: o.value,
|
|
2980
|
-
disabled:
|
|
2981
|
-
activeCount: e(
|
|
3022
|
+
disabled: c.value,
|
|
3023
|
+
activeCount: e(m)
|
|
2982
3024
|
})
|
|
2983
|
-
], 42,
|
|
3025
|
+
], 42, Ko)) : (i(), w("button", {
|
|
2984
3026
|
key: 1,
|
|
2985
|
-
class:
|
|
3027
|
+
class: E(K.value),
|
|
2986
3028
|
type: "button",
|
|
2987
|
-
disabled:
|
|
2988
|
-
onClick:
|
|
3029
|
+
disabled: c.value,
|
|
3030
|
+
onClick: se(D, ["prevent", "stop"]),
|
|
2989
3031
|
"data-popover-trigger": ""
|
|
2990
3032
|
}, [
|
|
2991
|
-
Q(
|
|
2992
|
-
e(
|
|
2993
|
-
], 10,
|
|
2994
|
-
(
|
|
2995
|
-
o.value ? (
|
|
3033
|
+
Q(Ue, { class: "h-4 w-4" }),
|
|
3034
|
+
e(m) > 0 ? (i(), w("div", Lo, B(e(m)), 1)) : V("", !0)
|
|
3035
|
+
], 10, Mo)),
|
|
3036
|
+
(i(), T(ge, { to: "body" }, [
|
|
3037
|
+
o.value ? (i(), w("div", {
|
|
2996
3038
|
key: 0,
|
|
2997
|
-
class:
|
|
2998
|
-
style: be(
|
|
3039
|
+
class: E(["absolute", typeof z.width == "number" ? `min-w-[${z.width + 32 + (Object.keys(v.value).length > 7 ? 20 : 0)}px]` : "min-w-[268px] "]),
|
|
3040
|
+
style: be(M.value),
|
|
2999
3041
|
ref_key: "panel",
|
|
3000
|
-
ref:
|
|
3001
|
-
onClick:
|
|
3042
|
+
ref: _,
|
|
3043
|
+
onClick: j[4] || (j[4] = se(() => {
|
|
3002
3044
|
}, ["stop"]))
|
|
3003
3045
|
}, [
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
|
|
3046
|
+
s("div", Eo, [
|
|
3047
|
+
s("div", Oo, [
|
|
3048
|
+
s("h3", To, B(h.value), 1),
|
|
3049
|
+
s("button", {
|
|
3008
3050
|
type: "button",
|
|
3009
3051
|
class: "inline-flex h-6 w-6 items-center justify-center rounded-full border-0 bg-slate-300/40 text-slate-600 transition-colors hover:bg-blue-200/60 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200",
|
|
3010
|
-
onClick:
|
|
3052
|
+
onClick: $
|
|
3011
3053
|
}, [
|
|
3012
|
-
|
|
3054
|
+
s("span", Io, [
|
|
3013
3055
|
Q(Ce, { class: "h-4 w-4" })
|
|
3014
3056
|
]),
|
|
3015
|
-
|
|
3057
|
+
j[5] || (j[5] = s("span", { class: "sr-only" }, "Закрити", -1))
|
|
3016
3058
|
])
|
|
3017
3059
|
]),
|
|
3018
|
-
|
|
3019
|
-
Object.keys(
|
|
3020
|
-
width:
|
|
3060
|
+
s("div", Uo, [
|
|
3061
|
+
Object.keys(v.value).length ? (i(!0), w(I, { key: 0 }, X(Object.entries(v.value), ([L, P]) => (i(), T(le, Z({ key: L }, { ref_for: !0 }, { ...P, layout: "inline" }, {
|
|
3062
|
+
width: z.width ? z.width : P?.width,
|
|
3063
|
+
class: [z.itemClass, P?.class],
|
|
3064
|
+
"item-class": [z.itemClass, P?.itemClass].filter(Boolean).join(" ") || void 0,
|
|
3021
3065
|
cleanable: !0,
|
|
3022
|
-
modelValue: e(
|
|
3023
|
-
"onUpdate:modelValue": (
|
|
3024
|
-
onChange:
|
|
3025
|
-
onClear:
|
|
3026
|
-
e(
|
|
3066
|
+
modelValue: e(n)[L],
|
|
3067
|
+
"onUpdate:modelValue": (Y) => e(n)[L] = Y,
|
|
3068
|
+
onChange: j[0] || (j[0] = (Y) => e(x)(Y.name, Y.value)),
|
|
3069
|
+
onClear: j[1] || (j[1] = (Y) => {
|
|
3070
|
+
e(d)(Y), e(x)(Y, void 0);
|
|
3027
3071
|
})
|
|
3028
|
-
}), null, 16, ["width", "modelValue", "onUpdate:modelValue"]))), 128)) : V("", !0),
|
|
3029
|
-
(
|
|
3030
|
-
key: "slot-" +
|
|
3072
|
+
}), null, 16, ["width", "class", "item-class", "modelValue", "onUpdate:modelValue"]))), 128)) : V("", !0),
|
|
3073
|
+
(i(!0), w(I, null, X(e(r), (L, P) => (i(), T(le, Z({
|
|
3074
|
+
key: "slot-" + P,
|
|
3031
3075
|
ref_for: !0
|
|
3032
|
-
}, { ...
|
|
3076
|
+
}, { ...L.props, layout: "inline" }, {
|
|
3077
|
+
class: [z.itemClass, L.props?.class],
|
|
3078
|
+
"item-class": [z.itemClass, L.props?.itemClass].filter(Boolean).join(" ") || void 0,
|
|
3033
3079
|
cleanable: !0,
|
|
3034
|
-
modelValue: e(
|
|
3035
|
-
"onUpdate:modelValue": (
|
|
3036
|
-
onChange:
|
|
3037
|
-
onClear:
|
|
3038
|
-
e(
|
|
3080
|
+
modelValue: e(n)[L.props.name],
|
|
3081
|
+
"onUpdate:modelValue": (Y) => e(n)[L.props.name] = Y,
|
|
3082
|
+
onChange: j[2] || (j[2] = (Y) => e(x)(Y.name, Y.value)),
|
|
3083
|
+
onClear: j[3] || (j[3] = (Y) => {
|
|
3084
|
+
e(d)(Y), e(x)(Y, void 0);
|
|
3039
3085
|
})
|
|
3040
|
-
}), null, 16, ["modelValue", "onUpdate:modelValue"]))), 128))
|
|
3086
|
+
}), null, 16, ["class", "item-class", "modelValue", "onUpdate:modelValue"]))), 128))
|
|
3041
3087
|
]),
|
|
3042
|
-
e(
|
|
3043
|
-
|
|
3088
|
+
e(m) > 0 ? (i(), w("div", zo, [
|
|
3089
|
+
s("button", {
|
|
3044
3090
|
type: "button",
|
|
3045
|
-
class: "text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none",
|
|
3046
|
-
onClick:
|
|
3047
|
-
},
|
|
3091
|
+
class: E([z.itemClass, "text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none"]),
|
|
3092
|
+
onClick: N
|
|
3093
|
+
}, B(e(y)("filter.clear")), 3)
|
|
3048
3094
|
])) : V("", !0)
|
|
3049
3095
|
])
|
|
3050
3096
|
], 6)) : V("", !0)
|
|
3051
3097
|
]))
|
|
3052
3098
|
], 512));
|
|
3053
3099
|
}
|
|
3054
|
-
}), Ke = /* @__PURE__ */
|
|
3100
|
+
}), Ke = /* @__PURE__ */ q({
|
|
3055
3101
|
__name: "filter",
|
|
3056
3102
|
props: {
|
|
3057
3103
|
schema: {},
|
|
@@ -3063,133 +3109,134 @@ const Ie = /* @__PURE__ */ te(io, [["render", co]]), fo = { class: "flex items-c
|
|
|
3063
3109
|
width: {},
|
|
3064
3110
|
title: {},
|
|
3065
3111
|
disabled: { type: Boolean },
|
|
3066
|
-
defaultPanelWidth: {}
|
|
3112
|
+
defaultPanelWidth: {},
|
|
3113
|
+
itemClass: {}
|
|
3067
3114
|
},
|
|
3068
3115
|
emits: ["change", "clear", "clearAll"],
|
|
3069
|
-
setup(
|
|
3070
|
-
const t =
|
|
3071
|
-
function
|
|
3116
|
+
setup(f, { expose: a, emit: y }) {
|
|
3117
|
+
const t = f, u = A(t.value ?? {}), l = y, g = A(), n = fe();
|
|
3118
|
+
function m(o) {
|
|
3072
3119
|
if (Array.isArray(o))
|
|
3073
|
-
return o.map((
|
|
3120
|
+
return o.map((c) => m(c));
|
|
3074
3121
|
if (o !== null && typeof o == "object") {
|
|
3075
|
-
const
|
|
3076
|
-
for (const h in
|
|
3077
|
-
|
|
3078
|
-
return
|
|
3122
|
+
const c = de(o), v = {};
|
|
3123
|
+
for (const h in c)
|
|
3124
|
+
v[h] = m(c[h]);
|
|
3125
|
+
return v;
|
|
3079
3126
|
}
|
|
3080
3127
|
return o;
|
|
3081
3128
|
}
|
|
3082
|
-
function
|
|
3083
|
-
|
|
3129
|
+
function x(o, c) {
|
|
3130
|
+
c !== void 0 ? u.value = {
|
|
3084
3131
|
...u.value,
|
|
3085
|
-
[o]:
|
|
3132
|
+
[o]: c
|
|
3086
3133
|
} : delete u.value[o], l("change", {
|
|
3087
|
-
data:
|
|
3134
|
+
data: m(u.value),
|
|
3088
3135
|
name: o,
|
|
3089
|
-
value:
|
|
3136
|
+
value: m(c)
|
|
3090
3137
|
});
|
|
3091
3138
|
}
|
|
3092
|
-
function
|
|
3139
|
+
function d(o) {
|
|
3093
3140
|
delete u.value[o], l("clear", {
|
|
3094
|
-
data:
|
|
3141
|
+
data: m(u.value),
|
|
3095
3142
|
name: o
|
|
3096
3143
|
}), l("change", {
|
|
3097
|
-
data:
|
|
3144
|
+
data: m(u.value),
|
|
3098
3145
|
name: o,
|
|
3099
3146
|
value: null
|
|
3100
3147
|
});
|
|
3101
3148
|
}
|
|
3102
|
-
function
|
|
3149
|
+
function p() {
|
|
3103
3150
|
u.value = {}, l("clear", {
|
|
3104
|
-
data:
|
|
3151
|
+
data: m(u.value),
|
|
3105
3152
|
name: "ALL"
|
|
3106
3153
|
}), l("change", {
|
|
3107
|
-
data:
|
|
3154
|
+
data: m(u.value),
|
|
3108
3155
|
name: "ALL",
|
|
3109
3156
|
value: null
|
|
3110
3157
|
});
|
|
3111
3158
|
}
|
|
3112
|
-
const
|
|
3113
|
-
function
|
|
3159
|
+
const r = A({});
|
|
3160
|
+
function k() {
|
|
3114
3161
|
switch (t.view) {
|
|
3115
3162
|
case "inline":
|
|
3116
|
-
return
|
|
3163
|
+
return Fe;
|
|
3117
3164
|
case "vertical":
|
|
3118
|
-
return
|
|
3165
|
+
return Fo;
|
|
3119
3166
|
case "popover":
|
|
3120
|
-
return
|
|
3167
|
+
return ze;
|
|
3121
3168
|
case "popover-inline":
|
|
3122
|
-
return
|
|
3169
|
+
return No;
|
|
3123
3170
|
default:
|
|
3124
|
-
return
|
|
3171
|
+
return Fe;
|
|
3125
3172
|
}
|
|
3126
3173
|
}
|
|
3127
|
-
|
|
3174
|
+
U(
|
|
3128
3175
|
() => t.schema,
|
|
3129
3176
|
(o) => {
|
|
3130
3177
|
if (!o) {
|
|
3131
|
-
|
|
3178
|
+
r.value = {};
|
|
3132
3179
|
return;
|
|
3133
3180
|
}
|
|
3134
3181
|
if (Array.isArray(o) && !o.length) {
|
|
3135
|
-
|
|
3182
|
+
r.value = {};
|
|
3136
3183
|
return;
|
|
3137
3184
|
}
|
|
3138
|
-
Array.isArray(o) ?
|
|
3139
|
-
name:
|
|
3140
|
-
type: { datepicker: "date" }[
|
|
3141
|
-
label:
|
|
3142
|
-
}),
|
|
3143
|
-
Object.assign(
|
|
3144
|
-
}),
|
|
3185
|
+
Array.isArray(o) ? r.value = o.filter((c) => c.type).reduce((c, v) => (Object.assign(v, {
|
|
3186
|
+
name: v.id || v.name,
|
|
3187
|
+
type: { datepicker: "date" }[v.type.toLowerCase()] || v.type.toLowerCase(),
|
|
3188
|
+
label: v.label || v.ua
|
|
3189
|
+
}), c[v.name] = v, v.data && !v.api && !v.options && Object.assign(v, { api: `/api/suggest/${v.data}` }), c), {}) : (Object.entries(o).forEach(([c, v]) => {
|
|
3190
|
+
Object.assign(v, { name: c || v.name || v.id, type: v.type.toLowerCase() });
|
|
3191
|
+
}), r.value = { ...o });
|
|
3145
3192
|
},
|
|
3146
3193
|
{ immediate: !0, deep: !0 }
|
|
3147
3194
|
);
|
|
3148
|
-
function
|
|
3149
|
-
g.value.clearFilter(o),
|
|
3195
|
+
function _(o) {
|
|
3196
|
+
g.value.clearFilter(o), d(o);
|
|
3150
3197
|
}
|
|
3151
|
-
function
|
|
3152
|
-
g.value.clearAllFilters(),
|
|
3198
|
+
function C() {
|
|
3199
|
+
g.value.clearAllFilters(), p();
|
|
3153
3200
|
}
|
|
3154
|
-
return
|
|
3201
|
+
return U(
|
|
3155
3202
|
() => u.value,
|
|
3156
3203
|
(o) => {
|
|
3157
3204
|
if (t.history) {
|
|
3158
|
-
const
|
|
3159
|
-
Object.keys(o).length > 0 ?
|
|
3205
|
+
const c = new URL(window.location.href), v = new URLSearchParams(window.location.search);
|
|
3206
|
+
Object.keys(o).length > 0 ? v.set(
|
|
3160
3207
|
"filter",
|
|
3161
|
-
Object.entries(o).filter(([, h]) => h).map(([h,
|
|
3162
|
-
) :
|
|
3208
|
+
Object.entries(o).filter(([, h]) => h).map(([h, b]) => `${h}=${b}`).join("|")
|
|
3209
|
+
) : v.delete("filter"), c.search = decodeURI(v.toString()), window.history.pushState({}, "", c);
|
|
3163
3210
|
}
|
|
3164
3211
|
}
|
|
3165
|
-
),
|
|
3166
|
-
clearAllFilters:
|
|
3167
|
-
clearFilter:
|
|
3168
|
-
}), (o,
|
|
3169
|
-
schema:
|
|
3170
|
-
onChange:
|
|
3171
|
-
onClear:
|
|
3172
|
-
onClearAll:
|
|
3212
|
+
), a({
|
|
3213
|
+
clearAllFilters: C,
|
|
3214
|
+
clearFilter: _
|
|
3215
|
+
}), (o, c) => (i(), T(ne(k()), Z(t, {
|
|
3216
|
+
schema: r.value,
|
|
3217
|
+
onChange: c[0] || (c[0] = (v) => x(v.name, v.value)),
|
|
3218
|
+
onClear: c[1] || (c[1] = (v) => d(v.name)),
|
|
3219
|
+
onClearAll: p,
|
|
3173
3220
|
ref_key: "filterRef",
|
|
3174
3221
|
ref: g
|
|
3175
|
-
}),
|
|
3176
|
-
default:
|
|
3222
|
+
}), Qe({
|
|
3223
|
+
default: ae(() => [
|
|
3177
3224
|
ue(o.$slots, "default")
|
|
3178
3225
|
]),
|
|
3179
3226
|
_: 2
|
|
3180
3227
|
}, [
|
|
3181
|
-
e(
|
|
3228
|
+
e(n).trigger ? {
|
|
3182
3229
|
name: "trigger",
|
|
3183
|
-
fn:
|
|
3184
|
-
ue(o.$slots, "trigger",
|
|
3230
|
+
fn: ae((v) => [
|
|
3231
|
+
ue(o.$slots, "trigger", He(Ge(v)))
|
|
3185
3232
|
]),
|
|
3186
3233
|
key: "0"
|
|
3187
3234
|
} : void 0
|
|
3188
3235
|
]), 1040, ["schema"]));
|
|
3189
3236
|
}
|
|
3190
3237
|
});
|
|
3191
|
-
Ke.install = function(
|
|
3192
|
-
|
|
3238
|
+
Ke.install = function(a) {
|
|
3239
|
+
a.component("Filter", Ke), a.component("FilterField", le);
|
|
3193
3240
|
};
|
|
3194
3241
|
export {
|
|
3195
3242
|
Ke as Filter,
|