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