@opengis/form 0.0.26 → 0.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { notify as
|
|
3
|
-
const
|
|
1
|
+
import { defineComponent as F, ref as w, onMounted as be, onUnmounted as He, createElementBlock as d, openBlock as i, normalizeClass as M, createCommentVNode as A, renderSlot as $e, createElementVNode as l, toDisplayString as T, normalizeProps as Ne, guardReactiveProps as qe, createTextVNode as pe, computed as O, mergeModels as Q, useModel as X, withDirectives as K, unref as q, vModelText as re, vModelCheckbox as ut, createVNode as j, createBlock as ae, resolveDynamicComponent as Se, normalizeStyle as ge, withCtx as Be, withModifiers as ve, onBeforeUnmount as _t, watch as te, createStaticVNode as de, vModelRadio as dt, Fragment as Y, renderList as le, mergeProps as Ee, reactive as $t, vModelDynamic as Ct, vShow as Ge, inject as Me, resolveComponent as tt, Transition as ct, nextTick as ze, Teleport as Vt, getCurrentInstance as Mt, provide as lt } from "vue";
|
|
2
|
+
import { notify as ke, modal as Lt, VsModal as St } from "@opengis/core";
|
|
3
|
+
const Bt = {
|
|
4
4
|
key: 0,
|
|
5
5
|
class: "text-[14px] font-medium text-gray-900 mb-2"
|
|
6
|
-
},
|
|
6
|
+
}, jt = { class: "opacity-100" }, It = {
|
|
7
7
|
key: 0,
|
|
8
8
|
class: "text-red-500 text-[14px]"
|
|
9
|
-
},
|
|
9
|
+
}, zt = {
|
|
10
10
|
key: 1,
|
|
11
11
|
class: "text-red-500 text-[10px] absolute bottom-[-14px]"
|
|
12
|
-
},
|
|
12
|
+
}, Et = /* @__PURE__ */ F({
|
|
13
13
|
__name: "vs-layout-default",
|
|
14
14
|
props: {
|
|
15
15
|
ua: { default: "" },
|
|
@@ -26,31 +26,31 @@ const Mt = {
|
|
|
26
26
|
const e = w("uk"), t = (n) => {
|
|
27
27
|
n.detail.key === "locale" && (e.value = n.detail.newValue);
|
|
28
28
|
};
|
|
29
|
-
return
|
|
29
|
+
return be(() => {
|
|
30
30
|
e.value = localStorage.locale, window.addEventListener("storage", t);
|
|
31
|
-
}),
|
|
31
|
+
}), He(() => {
|
|
32
32
|
window.removeEventListener("resize", t);
|
|
33
33
|
}), (n, s) => (i(), d("div", {
|
|
34
34
|
class: M(["w-full relative", { "opacity-60": n.item.disabled }])
|
|
35
35
|
}, [
|
|
36
|
-
n.ua || n.label ? (i(), d("div",
|
|
37
|
-
l("span",
|
|
38
|
-
n.item?.rules?.includes("required") ? (i(), d("span",
|
|
39
|
-
])) :
|
|
40
|
-
$e(n.$slots, "default",
|
|
41
|
-
n.error ? (i(), d("span",
|
|
36
|
+
n.ua || n.label ? (i(), d("div", Bt, [
|
|
37
|
+
l("span", jt, T(n.item[e.value] || n.ua || n.label), 1),
|
|
38
|
+
n.item?.rules?.includes("required") ? (i(), d("span", It, "*")) : A("", !0)
|
|
39
|
+
])) : A("", !0),
|
|
40
|
+
$e(n.$slots, "default", Ne(qe(n.$attrs))),
|
|
41
|
+
n.error ? (i(), d("span", zt, T(n.error), 1)) : A("", !0)
|
|
42
42
|
], 2));
|
|
43
43
|
}
|
|
44
|
-
}),
|
|
44
|
+
}), At = { class: "w-full relative flex flex-row items-center gap-2" }, Ft = {
|
|
45
45
|
key: 0,
|
|
46
46
|
class: "text-sm text-gray-900 font-medium flex shrink-0 w-3/12 max-w-[250px]"
|
|
47
|
-
},
|
|
47
|
+
}, Dt = {
|
|
48
48
|
key: 0,
|
|
49
49
|
class: "text-red-500 text-[14px]"
|
|
50
|
-
},
|
|
50
|
+
}, Ot = {
|
|
51
51
|
key: 1,
|
|
52
52
|
class: "text-red-500 text-[10px] absolute bottom-[-14px]"
|
|
53
|
-
},
|
|
53
|
+
}, Ut = /* @__PURE__ */ F({
|
|
54
54
|
__name: "vs-layout-horizontal",
|
|
55
55
|
props: {
|
|
56
56
|
ua: { default: "" },
|
|
@@ -64,19 +64,19 @@ const Mt = {
|
|
|
64
64
|
label: { default: "" }
|
|
65
65
|
},
|
|
66
66
|
setup(o) {
|
|
67
|
-
return (e, t) => (i(), d("div",
|
|
68
|
-
e.item?.type !== "html" ? (i(), d("span",
|
|
69
|
-
|
|
70
|
-
e.item?.rules?.includes("required") && (e.ua || e.label) ? (i(), d("span",
|
|
71
|
-
])) :
|
|
72
|
-
$e(e.$slots, "default",
|
|
73
|
-
e.error ? (i(), d("span",
|
|
67
|
+
return (e, t) => (i(), d("div", At, [
|
|
68
|
+
e.item?.type !== "html" ? (i(), d("span", Ft, [
|
|
69
|
+
pe(T(e.ua || e.label) + " ", 1),
|
|
70
|
+
e.item?.rules?.includes("required") && (e.ua || e.label) ? (i(), d("span", Dt, "*")) : A("", !0)
|
|
71
|
+
])) : A("", !0),
|
|
72
|
+
$e(e.$slots, "default", Ne(qe(e.$attrs))),
|
|
73
|
+
e.error ? (i(), d("span", Ot, T(e.error), 1)) : A("", !0)
|
|
74
74
|
]));
|
|
75
75
|
}
|
|
76
|
-
}),
|
|
76
|
+
}), Tt = { class: "w-full relative" }, Rt = {
|
|
77
77
|
key: 0,
|
|
78
78
|
class: "text-red-500 text-[10px] absolute bottom-[-14px]"
|
|
79
|
-
},
|
|
79
|
+
}, Pt = /* @__PURE__ */ F({
|
|
80
80
|
__name: "vs-layout-inline",
|
|
81
81
|
props: {
|
|
82
82
|
ua: { default: "" },
|
|
@@ -90,25 +90,25 @@ const Mt = {
|
|
|
90
90
|
label: { default: "" }
|
|
91
91
|
},
|
|
92
92
|
setup(o) {
|
|
93
|
-
return (e, t) => (i(), d("div",
|
|
94
|
-
$e(e.$slots, "default",
|
|
95
|
-
e.error ? (i(), d("span",
|
|
93
|
+
return (e, t) => (i(), d("div", Tt, [
|
|
94
|
+
$e(e.$slots, "default", Ne(qe(e.$attrs))),
|
|
95
|
+
e.error ? (i(), d("span", Rt, T(e.error), 1)) : A("", !0)
|
|
96
96
|
]));
|
|
97
97
|
}
|
|
98
|
-
}),
|
|
99
|
-
default:
|
|
100
|
-
horizontal:
|
|
101
|
-
inline:
|
|
98
|
+
}), Ht = {
|
|
99
|
+
default: Et,
|
|
100
|
+
horizontal: Ut,
|
|
101
|
+
inline: Pt
|
|
102
102
|
};
|
|
103
|
-
function
|
|
103
|
+
function ye(o) {
|
|
104
104
|
return {
|
|
105
|
-
inputClass:
|
|
105
|
+
inputClass: O(() => {
|
|
106
106
|
const t = `disabled:opacity-50 disabled:cursor-not-allowed outline-none focus:ring-2 focus:ring-ring focus:ring-${o?.primaryColor || "blue"}-500 border border-solid border-stone-200 rounded-md text-sm text-stone-800 placeholder:text-stone-400 `;
|
|
107
107
|
return o?.size === "sm" ? `${t}h-[32px]` : `${t}h-[38px]`;
|
|
108
108
|
})
|
|
109
109
|
};
|
|
110
110
|
}
|
|
111
|
-
const
|
|
111
|
+
const Nt = ["placeholder", "disabled"], De = /* @__PURE__ */ F({
|
|
112
112
|
__name: "vs-input-text",
|
|
113
113
|
props: /* @__PURE__ */ Q({
|
|
114
114
|
style: { default: () => ({}) },
|
|
@@ -124,7 +124,7 @@ const Rt = ["placeholder", "disabled"], Oe = /* @__PURE__ */ A({
|
|
|
124
124
|
}),
|
|
125
125
|
emits: ["update:modelValue"],
|
|
126
126
|
setup(o) {
|
|
127
|
-
const e = o, { inputClass: t } =
|
|
127
|
+
const e = o, { inputClass: t } = ye(e.style), n = X(o, "modelValue");
|
|
128
128
|
return (s, r) => K((i(), d("input", {
|
|
129
129
|
type: "text",
|
|
130
130
|
"onUpdate:modelValue": r[0] || (r[0] = (a) => n.value = a),
|
|
@@ -134,11 +134,11 @@ const Rt = ["placeholder", "disabled"], Oe = /* @__PURE__ */ A({
|
|
|
134
134
|
style: {
|
|
135
135
|
border: "1px solid #CFD9E0"
|
|
136
136
|
}
|
|
137
|
-
}, null, 10,
|
|
138
|
-
[
|
|
137
|
+
}, null, 10, Nt)), [
|
|
138
|
+
[re, n.value]
|
|
139
139
|
]);
|
|
140
140
|
}
|
|
141
|
-
}),
|
|
141
|
+
}), qt = ["placeholder"], Gt = /* @__PURE__ */ F({
|
|
142
142
|
__name: "vs-input-number",
|
|
143
143
|
props: /* @__PURE__ */ Q({
|
|
144
144
|
style: { default: () => ({}) },
|
|
@@ -154,7 +154,7 @@ const Rt = ["placeholder", "disabled"], Oe = /* @__PURE__ */ A({
|
|
|
154
154
|
}),
|
|
155
155
|
emits: ["update:modelValue"],
|
|
156
156
|
setup(o) {
|
|
157
|
-
const e = o, { inputClass: t } =
|
|
157
|
+
const e = o, { inputClass: t } = ye(e.style), n = X(o, "modelValue");
|
|
158
158
|
return (s, r) => K((i(), d("input", {
|
|
159
159
|
type: "number",
|
|
160
160
|
step: "any",
|
|
@@ -164,16 +164,16 @@ const Rt = ["placeholder", "disabled"], Oe = /* @__PURE__ */ A({
|
|
|
164
164
|
style: {
|
|
165
165
|
border: "1px solid #CFD9E0"
|
|
166
166
|
}
|
|
167
|
-
}, null, 10,
|
|
168
|
-
[
|
|
167
|
+
}, null, 10, qt)), [
|
|
168
|
+
[re, n.value]
|
|
169
169
|
]);
|
|
170
170
|
}
|
|
171
|
-
}),
|
|
171
|
+
}), H = (o, e) => {
|
|
172
172
|
const t = o.__vccOpts || o;
|
|
173
173
|
for (const [n, s] of e)
|
|
174
174
|
t[n] = s;
|
|
175
175
|
return t;
|
|
176
|
-
},
|
|
176
|
+
}, Jt = {}, Kt = {
|
|
177
177
|
xmlns: "http://www.w3.org/2000/svg",
|
|
178
178
|
viewBox: "0 0 24 24",
|
|
179
179
|
fill: "none",
|
|
@@ -183,8 +183,8 @@ const Rt = ["placeholder", "disabled"], Oe = /* @__PURE__ */ A({
|
|
|
183
183
|
"stroke-linejoin": "round",
|
|
184
184
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-check"
|
|
185
185
|
};
|
|
186
|
-
function
|
|
187
|
-
return i(), d("svg",
|
|
186
|
+
function Zt(o, e) {
|
|
187
|
+
return i(), d("svg", Kt, e[0] || (e[0] = [
|
|
188
188
|
l("path", {
|
|
189
189
|
stroke: "none",
|
|
190
190
|
d: "M0 0h24v24H0z",
|
|
@@ -193,7 +193,7 @@ function Gt(o, e) {
|
|
|
193
193
|
l("path", { d: "M5 12l5 5l10 -10" }, null, -1)
|
|
194
194
|
]));
|
|
195
195
|
}
|
|
196
|
-
const
|
|
196
|
+
const Wt = /* @__PURE__ */ H(Jt, [["render", Zt]]), Qt = { class: "flex items-center gap-[4px]" }, Xt = ["value", "id", "disabled"], Yt = ["for"], el = { class: "text-[14px] text-gray-700 flex items-center gap-x-1 ml-1 dark:text-neutral-400" }, tl = /* @__PURE__ */ F({
|
|
197
197
|
__name: "vs-checkbox-default",
|
|
198
198
|
props: {
|
|
199
199
|
value: { default: "" },
|
|
@@ -206,11 +206,11 @@ const Jt = /* @__PURE__ */ N(Ht, [["render", Gt]]), Kt = { class: "flex items-ce
|
|
|
206
206
|
},
|
|
207
207
|
emits: ["update:modelValue"],
|
|
208
208
|
setup(o, { emit: e }) {
|
|
209
|
-
const t = e, n = o, s =
|
|
209
|
+
const t = e, n = o, s = O({
|
|
210
210
|
get: () => n.modelValue,
|
|
211
211
|
set: (r) => t("update:modelValue", r)
|
|
212
212
|
});
|
|
213
|
-
return (r, a) => (i(), d("div",
|
|
213
|
+
return (r, a) => (i(), d("div", Qt, [
|
|
214
214
|
K(l("input", {
|
|
215
215
|
type: "checkbox",
|
|
216
216
|
value: r.value,
|
|
@@ -218,8 +218,8 @@ const Jt = /* @__PURE__ */ N(Ht, [["render", Gt]]), Kt = { class: "flex items-ce
|
|
|
218
218
|
class: M(["shrink-0 border border-solid hidden border-gray-700 w-3.5 h-3.5 rounded text-blue-600 focus:ring-offset-0 dark:bg-neutral-800 dark:border-neutral-700 cursor-pointer", { "!cursor-not-allowed": r.disabled }]),
|
|
219
219
|
id: r.id,
|
|
220
220
|
disabled: r.disabled
|
|
221
|
-
}, null, 10,
|
|
222
|
-
[
|
|
221
|
+
}, null, 10, Xt), [
|
|
222
|
+
[ut, s.value]
|
|
223
223
|
]),
|
|
224
224
|
l("label", {
|
|
225
225
|
for: r.id,
|
|
@@ -228,23 +228,23 @@ const Jt = /* @__PURE__ */ N(Ht, [["render", Gt]]), Kt = { class: "flex items-ce
|
|
|
228
228
|
l("div", {
|
|
229
229
|
class: M(["h-[16px] text-white w-[16px] flex items-center justify-center shrink-0 border rounded", [s.value ? "bg-blue-600 border-blue-600" : "bg-white border-gray-600", r.error ? "border-red-600" : ""]])
|
|
230
230
|
}, [
|
|
231
|
-
j(
|
|
231
|
+
j(Wt, {
|
|
232
232
|
height: "12",
|
|
233
233
|
width: "12"
|
|
234
234
|
})
|
|
235
235
|
], 2),
|
|
236
|
-
l("span",
|
|
236
|
+
l("span", el, [
|
|
237
237
|
$e(r.$slots, "default", {}, () => [
|
|
238
|
-
|
|
238
|
+
pe(T(r.label), 1)
|
|
239
239
|
])
|
|
240
240
|
])
|
|
241
|
-
], 10,
|
|
241
|
+
], 10, Yt)
|
|
242
242
|
]));
|
|
243
243
|
}
|
|
244
|
-
}),
|
|
244
|
+
}), ll = ["name", "value", "disabled"], ol = { class: "flex items-center gap-[6px] text-[14px]" }, al = {
|
|
245
245
|
key: 0,
|
|
246
246
|
class: "text-[16px]"
|
|
247
|
-
},
|
|
247
|
+
}, sl = ["src"], nl = /* @__PURE__ */ F({
|
|
248
248
|
__name: "vs-checkbox-buttons",
|
|
249
249
|
props: {
|
|
250
250
|
value: { type: [String, Number, Boolean], default: "" },
|
|
@@ -258,12 +258,12 @@ const Jt = /* @__PURE__ */ N(Ht, [["render", Gt]]), Kt = { class: "flex items-ce
|
|
|
258
258
|
},
|
|
259
259
|
emits: ["update:modelValue"],
|
|
260
260
|
setup(o, { emit: e }) {
|
|
261
|
-
const t = o, n = e, s =
|
|
261
|
+
const t = o, n = e, s = O({
|
|
262
262
|
get: () => t.modelValue,
|
|
263
263
|
set: (u) => {
|
|
264
264
|
n("update:modelValue", u);
|
|
265
265
|
}
|
|
266
|
-
}), r =
|
|
266
|
+
}), r = O(() => Array.isArray(s.value) ? s.value.includes(t.value) : s.value === !0 || s.value === t.value), a = O(() => t.style?.size === "xs" ? "p-1.5 text-xs" : t.style?.size === "lg" ? "p-3.5 text-[20px]" : "p-2.5 text-xs");
|
|
267
267
|
return (u, c) => (i(), d("label", {
|
|
268
268
|
class: M(["group relative flex justify-center items-center gap-x-3 text-center bg-white text-gray-800 ring-ring ring-2 cursor-pointer rounded-lg", [a.value, r.value ? "ring-blue-500" : "border border-gray-200 ring-transparent"]])
|
|
269
269
|
}, [
|
|
@@ -274,30 +274,30 @@ const Jt = /* @__PURE__ */ N(Ht, [["render", Gt]]), Kt = { class: "flex items-ce
|
|
|
274
274
|
value: u.value,
|
|
275
275
|
"onUpdate:modelValue": c[0] || (c[0] = (v) => s.value = v),
|
|
276
276
|
disabled: u.disabled
|
|
277
|
-
}, null, 8,
|
|
278
|
-
[
|
|
277
|
+
}, null, 8, ll), [
|
|
278
|
+
[ut, s.value]
|
|
279
279
|
]),
|
|
280
|
-
l("span",
|
|
281
|
-
u.icon || u.imgUrl ? (i(), d("span",
|
|
280
|
+
l("span", ol, [
|
|
281
|
+
u.icon || u.imgUrl ? (i(), d("span", al, [
|
|
282
282
|
u.icon ? (i(), d("i", {
|
|
283
283
|
key: 0,
|
|
284
284
|
class: M(u.icon)
|
|
285
|
-
}, null, 2)) :
|
|
285
|
+
}, null, 2)) : A("", !0),
|
|
286
286
|
u.imgUrl ? (i(), d("img", {
|
|
287
287
|
key: 1,
|
|
288
288
|
src: u.imgUrl,
|
|
289
289
|
width: "16",
|
|
290
290
|
height: "16",
|
|
291
291
|
alt: "icon"
|
|
292
|
-
}, null, 8,
|
|
293
|
-
])) :
|
|
292
|
+
}, null, 8, sl)) : A("", !0)
|
|
293
|
+
])) : A("", !0),
|
|
294
294
|
$e(u.$slots, "default", {}, () => [
|
|
295
|
-
|
|
295
|
+
pe(T(u.label), 1)
|
|
296
296
|
])
|
|
297
297
|
])
|
|
298
298
|
], 2));
|
|
299
299
|
}
|
|
300
|
-
}),
|
|
300
|
+
}), rl = { class: "flex items-center" }, pt = /* @__PURE__ */ F({
|
|
301
301
|
__name: "vs-input-checkbox-item",
|
|
302
302
|
props: {
|
|
303
303
|
value: { default: "" },
|
|
@@ -314,7 +314,7 @@ const Jt = /* @__PURE__ */ N(Ht, [["render", Gt]]), Kt = { class: "flex items-ce
|
|
|
314
314
|
},
|
|
315
315
|
emits: ["update:modelValue"],
|
|
316
316
|
setup(o, { emit: e }) {
|
|
317
|
-
const t = o, n = e, s = `radio-${Math.floor(Math.random() * 1e4)}`, r =
|
|
317
|
+
const t = o, n = e, s = `radio-${Math.floor(Math.random() * 1e4)}`, r = O({
|
|
318
318
|
get: () => Array.isArray(t.modelValue) ? Array.isArray(t.modelValue) && t.modelValue.includes(t.value) : t.modelValue,
|
|
319
319
|
set: (u) => {
|
|
320
320
|
if (Array.isArray(t.modelValue)) {
|
|
@@ -324,8 +324,8 @@ const Jt = /* @__PURE__ */ N(Ht, [["render", Gt]]), Kt = { class: "flex items-ce
|
|
|
324
324
|
n("update:modelValue", u);
|
|
325
325
|
}
|
|
326
326
|
}), a = w(`vs-checkbox-${t.view || "default"}`);
|
|
327
|
-
return (u, c) => (i(), d("div",
|
|
328
|
-
(i(), ae(
|
|
327
|
+
return (u, c) => (i(), d("div", rl, [
|
|
328
|
+
(i(), ae(Se(a.value === "vs-checkbox-buttons" ? q(nl) : q(tl)), {
|
|
329
329
|
value: u.value,
|
|
330
330
|
label: u.label,
|
|
331
331
|
info: u.option?.info,
|
|
@@ -335,17 +335,17 @@ const Jt = /* @__PURE__ */ N(Ht, [["render", Gt]]), Kt = { class: "flex items-ce
|
|
|
335
335
|
id: s,
|
|
336
336
|
icon: u.icon,
|
|
337
337
|
imgUrl: u.imgUrl,
|
|
338
|
-
style:
|
|
338
|
+
style: ge(u.style),
|
|
339
339
|
error: u.error
|
|
340
340
|
}, {
|
|
341
|
-
default:
|
|
342
|
-
|
|
341
|
+
default: Be(() => [
|
|
342
|
+
pe(T(u.label), 1)
|
|
343
343
|
]),
|
|
344
344
|
_: 1
|
|
345
345
|
}, 8, ["value", "label", "info", "disabled", "modelValue", "icon", "imgUrl", "style", "error"]))
|
|
346
346
|
]));
|
|
347
347
|
}
|
|
348
|
-
}),
|
|
348
|
+
}), il = {}, ul = {
|
|
349
349
|
xmlns: "http://www.w3.org/2000/svg",
|
|
350
350
|
viewBox: "0 0 24 24",
|
|
351
351
|
fill: "none",
|
|
@@ -355,8 +355,8 @@ const Jt = /* @__PURE__ */ N(Ht, [["render", Gt]]), Kt = { class: "flex items-ce
|
|
|
355
355
|
"stroke-linejoin": "round",
|
|
356
356
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"
|
|
357
357
|
};
|
|
358
|
-
function
|
|
359
|
-
return i(), d("svg",
|
|
358
|
+
function dl(o, e) {
|
|
359
|
+
return i(), d("svg", ul, e[0] || (e[0] = [
|
|
360
360
|
l("path", {
|
|
361
361
|
stroke: "none",
|
|
362
362
|
d: "M0 0h24v24H0z",
|
|
@@ -365,7 +365,7 @@ function rl(o, e) {
|
|
|
365
365
|
l("path", { d: "M6 9l6 6l6 -6" }, null, -1)
|
|
366
366
|
]));
|
|
367
367
|
}
|
|
368
|
-
const
|
|
368
|
+
const cl = /* @__PURE__ */ H(il, [["render", dl]]), pl = {}, fl = {
|
|
369
369
|
xmlns: "http://www.w3.org/2000/svg",
|
|
370
370
|
viewBox: "0 0 24 24",
|
|
371
371
|
fill: "none",
|
|
@@ -375,8 +375,8 @@ const il = /* @__PURE__ */ N(sl, [["render", rl]]), ul = {}, dl = {
|
|
|
375
375
|
"stroke-linejoin": "round",
|
|
376
376
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-x"
|
|
377
377
|
};
|
|
378
|
-
function
|
|
379
|
-
return i(), d("svg",
|
|
378
|
+
function vl(o, e) {
|
|
379
|
+
return i(), d("svg", fl, e[0] || (e[0] = [
|
|
380
380
|
l("path", {
|
|
381
381
|
stroke: "none",
|
|
382
382
|
d: "M0 0h24v24H0z",
|
|
@@ -386,7 +386,7 @@ function cl(o, e) {
|
|
|
386
386
|
l("path", { d: "M6 6l12 12" }, null, -1)
|
|
387
387
|
]));
|
|
388
388
|
}
|
|
389
|
-
const
|
|
389
|
+
const ml = /* @__PURE__ */ H(pl, [["render", vl]]), hl = {}, gl = {
|
|
390
390
|
xmlns: "http://www.w3.org/2000/svg",
|
|
391
391
|
width: "24",
|
|
392
392
|
height: "24",
|
|
@@ -397,8 +397,8 @@ const pl = /* @__PURE__ */ N(ul, [["render", cl]]), fl = {}, vl = {
|
|
|
397
397
|
"stroke-linecap": "round",
|
|
398
398
|
"stroke-linejoin": "round"
|
|
399
399
|
};
|
|
400
|
-
function
|
|
401
|
-
return i(), d("svg",
|
|
400
|
+
function bl(o, e) {
|
|
401
|
+
return i(), d("svg", gl, e[0] || (e[0] = [
|
|
402
402
|
l("path", {
|
|
403
403
|
stroke: "none",
|
|
404
404
|
d: "M0 0h24v24H0z",
|
|
@@ -409,13 +409,13 @@ function ml(o, e) {
|
|
|
409
409
|
l("path", { d: "M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z" }, null, -1)
|
|
410
410
|
]));
|
|
411
411
|
}
|
|
412
|
-
const
|
|
412
|
+
const yl = /* @__PURE__ */ H(hl, [["render", bl]]), xl = {
|
|
413
413
|
key: 0,
|
|
414
414
|
class: "flex items-start gap-x-1"
|
|
415
|
-
},
|
|
415
|
+
}, wl = {
|
|
416
416
|
key: 0,
|
|
417
417
|
class: "text-red-500 text-[14px]"
|
|
418
|
-
},
|
|
418
|
+
}, kl = ["title"], _l = ["disabled"], ft = /* @__PURE__ */ F({
|
|
419
419
|
__name: "vs-input-switcher",
|
|
420
420
|
props: /* @__PURE__ */ Q({
|
|
421
421
|
rules: { default: () => [] },
|
|
@@ -437,14 +437,14 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
437
437
|
emits: ["update:modelValue"],
|
|
438
438
|
setup(o) {
|
|
439
439
|
const e = o, t = X(o, "modelValue");
|
|
440
|
-
return (n, s) => e.view === "checkbox" ? (i(), d("div",
|
|
441
|
-
j(
|
|
440
|
+
return (n, s) => e.view === "checkbox" ? (i(), d("div", xl, [
|
|
441
|
+
j(pt, {
|
|
442
442
|
modelValue: t.value,
|
|
443
443
|
"onUpdate:modelValue": s[0] || (s[0] = (r) => t.value = r),
|
|
444
444
|
label: n.text,
|
|
445
445
|
error: n.error || ""
|
|
446
446
|
}, null, 8, ["modelValue", "label", "error"]),
|
|
447
|
-
n.rules?.includes("required") ? (i(), d("span",
|
|
447
|
+
n.rules?.includes("required") ? (i(), d("span", wl, "*")) : A("", !0),
|
|
448
448
|
n.i ? (i(), d("button", {
|
|
449
449
|
key: 1,
|
|
450
450
|
class: "cursor-pointer",
|
|
@@ -452,8 +452,8 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
452
452
|
onClick: s[1] || (s[1] = ve(() => {
|
|
453
453
|
}, ["prevent"]))
|
|
454
454
|
}, [
|
|
455
|
-
j(q(
|
|
456
|
-
], 8,
|
|
455
|
+
j(q(yl), { class: "text-gray-500 w-[14px] h-[14px]" })
|
|
456
|
+
], 8, kl)) : A("", !0)
|
|
457
457
|
])) : (i(), d("button", {
|
|
458
458
|
key: 1,
|
|
459
459
|
type: "button",
|
|
@@ -465,9 +465,9 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
465
465
|
"data-state": "checked",
|
|
466
466
|
class: M(["pointer-events-none block h-4 w-4 rounded-full bg-white shadow-lg ring-0 transition-transform", [t.value ? "translate-x-4" : "translate-x-0"]])
|
|
467
467
|
}, null, 2)
|
|
468
|
-
], 10,
|
|
468
|
+
], 10, _l));
|
|
469
469
|
}
|
|
470
|
-
}),
|
|
470
|
+
}), $l = ["innerHTML"], ot = /* @__PURE__ */ F({
|
|
471
471
|
__name: "vs-input-static",
|
|
472
472
|
props: {
|
|
473
473
|
text: { default: "" },
|
|
@@ -484,9 +484,9 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
484
484
|
return (e, t) => (i(), d("div", {
|
|
485
485
|
class: M(e.customClass),
|
|
486
486
|
innerHTML: e.html ? e.html : e.text
|
|
487
|
-
}, null, 10,
|
|
487
|
+
}, null, 10, $l));
|
|
488
488
|
}
|
|
489
|
-
}),
|
|
489
|
+
}), Cl = ["placeholder", "disabled", "name"], Vl = /* @__PURE__ */ F({
|
|
490
490
|
__name: "vs-input-mask",
|
|
491
491
|
props: /* @__PURE__ */ Q({
|
|
492
492
|
name: {},
|
|
@@ -504,9 +504,9 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
504
504
|
}),
|
|
505
505
|
emits: ["update:modelValue"],
|
|
506
506
|
setup(o) {
|
|
507
|
-
const e = o, { inputClass: t } =
|
|
507
|
+
const e = o, { inputClass: t } = ye(e.style), n = X(o, "modelValue"), s = w(null);
|
|
508
508
|
let r = null;
|
|
509
|
-
return
|
|
509
|
+
return be(async () => {
|
|
510
510
|
if (s.value) {
|
|
511
511
|
const { default: a } = await import("./index-W-qQIppj.js");
|
|
512
512
|
r = a(s.value, {
|
|
@@ -523,7 +523,7 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
523
523
|
n.value = e.unmask ? r.unmaskedValue : r.value;
|
|
524
524
|
}), r.value = n.value ?? "";
|
|
525
525
|
}
|
|
526
|
-
}),
|
|
526
|
+
}), _t(() => {
|
|
527
527
|
r?.destroy();
|
|
528
528
|
}), te(() => e.mask, (a) => {
|
|
529
529
|
r && r.updateOptions({
|
|
@@ -547,9 +547,9 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
547
547
|
style: {
|
|
548
548
|
border: "1px solid #CFD9E0"
|
|
549
549
|
}
|
|
550
|
-
}, null, 10,
|
|
550
|
+
}, null, 10, Cl));
|
|
551
551
|
}
|
|
552
|
-
}),
|
|
552
|
+
}), Ml = { class: "relative w-full bg-white rounded-lg" }, Ll = ["placeholder", "disabled"], Sl = /* @__PURE__ */ F({
|
|
553
553
|
__name: "vs-input-email",
|
|
554
554
|
props: /* @__PURE__ */ Q({
|
|
555
555
|
style: { default: () => ({}) },
|
|
@@ -565,9 +565,9 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
565
565
|
}),
|
|
566
566
|
emits: ["update:modelValue"],
|
|
567
567
|
setup(o) {
|
|
568
|
-
const e = o, { inputClass: t } =
|
|
569
|
-
return (s, r) => (i(), d("div",
|
|
570
|
-
r[1] || (r[1] =
|
|
568
|
+
const e = o, { inputClass: t } = ye(e.style), n = X(o, "modelValue");
|
|
569
|
+
return (s, r) => (i(), d("div", Ml, [
|
|
570
|
+
r[1] || (r[1] = de('<div class="absolute bottom-2/4 translate-y-2/4 left-[10px] cursor-pointer"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="stroke-gray-500 transition-all"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z"></path><path d="M3 7l9 6l9 -6"></path></svg></div>', 1)),
|
|
571
571
|
K(l("input", {
|
|
572
572
|
type: "email",
|
|
573
573
|
"onUpdate:modelValue": r[0] || (r[0] = (a) => n.value = a),
|
|
@@ -577,12 +577,12 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
577
577
|
style: {
|
|
578
578
|
border: "1px solid #CFD9E0"
|
|
579
579
|
}
|
|
580
|
-
}, null, 10,
|
|
581
|
-
[
|
|
580
|
+
}, null, 10, Ll), [
|
|
581
|
+
[re, n.value]
|
|
582
582
|
])
|
|
583
583
|
]));
|
|
584
584
|
}
|
|
585
|
-
}),
|
|
585
|
+
}), Bl = ["value", "disabled"], jl = { class: "text-[13px] text-gray-700" }, Il = /* @__PURE__ */ F({
|
|
586
586
|
__name: "vs-input-radio-default",
|
|
587
587
|
props: /* @__PURE__ */ Q({
|
|
588
588
|
style: {},
|
|
@@ -610,8 +610,8 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
610
610
|
value: t.value,
|
|
611
611
|
disabled: t.disabled,
|
|
612
612
|
class: "hidden"
|
|
613
|
-
}, null, 8,
|
|
614
|
-
[
|
|
613
|
+
}, null, 8, Bl), [
|
|
614
|
+
[dt, e.value]
|
|
615
615
|
]),
|
|
616
616
|
l("span", {
|
|
617
617
|
class: M(["w-[16px] shrink-0 h-[16px] border rounded-full flex items-center justify-center mr-[10px]", [
|
|
@@ -622,12 +622,12 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
622
622
|
e.value == t.value ? (i(), d("span", {
|
|
623
623
|
key: 0,
|
|
624
624
|
class: M(["w-[12px] h-[12px] shrink-0 rounded-full", [`bg-${t.style?.primaryColor || "blue"}-500`]])
|
|
625
|
-
}, null, 2)) :
|
|
625
|
+
}, null, 2)) : A("", !0)
|
|
626
626
|
], 2),
|
|
627
|
-
l("span",
|
|
627
|
+
l("span", jl, T(t.text), 1)
|
|
628
628
|
], 2));
|
|
629
629
|
}
|
|
630
|
-
}),
|
|
630
|
+
}), zl = ["value", "disabled"], El = { class: "text-[13px] text-gray-700" }, Al = /* @__PURE__ */ F({
|
|
631
631
|
__name: "vs-input-radio-buttons",
|
|
632
632
|
props: /* @__PURE__ */ Q({
|
|
633
633
|
style: {},
|
|
@@ -658,16 +658,16 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
658
658
|
value: t.value,
|
|
659
659
|
disabled: t.disabled,
|
|
660
660
|
class: "hidden"
|
|
661
|
-
}, null, 8,
|
|
662
|
-
[
|
|
661
|
+
}, null, 8, zl), [
|
|
662
|
+
[dt, e.value]
|
|
663
663
|
]),
|
|
664
|
-
l("span",
|
|
664
|
+
l("span", El, T(t.text), 1)
|
|
665
665
|
], 2));
|
|
666
666
|
}
|
|
667
|
-
}),
|
|
668
|
-
"vs-input-radio-default":
|
|
669
|
-
"vs-input-radio-buttons":
|
|
670
|
-
},
|
|
667
|
+
}), Fl = {
|
|
668
|
+
"vs-input-radio-default": Il,
|
|
669
|
+
"vs-input-radio-buttons": Al
|
|
670
|
+
}, at = /* @__PURE__ */ F({
|
|
671
671
|
__name: "vs-input-radio",
|
|
672
672
|
props: /* @__PURE__ */ Q({
|
|
673
673
|
options: {},
|
|
@@ -686,11 +686,11 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
686
686
|
}),
|
|
687
687
|
emits: ["update:modelValue"],
|
|
688
688
|
setup(o) {
|
|
689
|
-
const e = o, t = X(o, "modelValue"), n =
|
|
689
|
+
const e = o, t = X(o, "modelValue"), n = O(() => Fl[`vs-input-radio-${e.view}`]);
|
|
690
690
|
return (s, r) => (i(), d("div", {
|
|
691
691
|
class: M([s.position === "horizontal" ? "flex items-center flex-wrap gap-2" : ""])
|
|
692
692
|
}, [
|
|
693
|
-
(i(!0), d(Y, null, le(s.options, (a) => (i(), ae(
|
|
693
|
+
(i(!0), d(Y, null, le(s.options, (a) => (i(), ae(Se(n.value), Ee({
|
|
694
694
|
key: a?.id,
|
|
695
695
|
text: a.text,
|
|
696
696
|
value: a.id.toString(),
|
|
@@ -700,7 +700,7 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
700
700
|
}, { ref_for: !0 }, s.$attrs), null, 16, ["text", "value", "checked", "modelValue"]))), 128))
|
|
701
701
|
], 2));
|
|
702
702
|
}
|
|
703
|
-
}),
|
|
703
|
+
}), Dl = /* @__PURE__ */ F({
|
|
704
704
|
__name: "vs-input-checkbox",
|
|
705
705
|
props: {
|
|
706
706
|
options: { default: () => [] },
|
|
@@ -719,7 +719,7 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
719
719
|
},
|
|
720
720
|
emits: ["update:modelValue"],
|
|
721
721
|
setup(o, { emit: e }) {
|
|
722
|
-
const t = o, n = e, s = w([]), r =
|
|
722
|
+
const t = o, n = e, s = w([]), r = $t({}), a = (p) => p?.value || p?.id || p?.text || p, u = (p) => p.text || String(p), c = (p) => `lg:col-span-${p || 12}`, v = async () => {
|
|
723
723
|
try {
|
|
724
724
|
const p = await fetch(`/api/suggest/${t.data}`).then((x) => x.json());
|
|
725
725
|
s.value = p?.data || p;
|
|
@@ -755,7 +755,7 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
755
755
|
n("update:modelValue", p.length === 0 ? [] : p);
|
|
756
756
|
},
|
|
757
757
|
{ deep: !0 }
|
|
758
|
-
),
|
|
758
|
+
), be(() => {
|
|
759
759
|
if (t.data)
|
|
760
760
|
v().then(() => {
|
|
761
761
|
if (typeof t.modelValue == "boolean" && s.value.length === 1) {
|
|
@@ -786,7 +786,7 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
786
786
|
}), (p, x) => (i(), d("div", {
|
|
787
787
|
class: M(["p-0 w-full gap-[6px]", [p.position === "vertical" ? "flex-col" : "", p.colSpan ? "grid" : "flex justify-start"]])
|
|
788
788
|
}, [
|
|
789
|
-
(i(!0), d(Y, null, le(s.value, (g) => (i(), ae(
|
|
789
|
+
(i(!0), d(Y, null, le(s.value, (g) => (i(), ae(pt, {
|
|
790
790
|
modelValue: r[a(g)],
|
|
791
791
|
"onUpdate:modelValue": (_) => r[a(g)] = _,
|
|
792
792
|
value: a(g),
|
|
@@ -801,7 +801,7 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
801
801
|
}, null, 8, ["modelValue", "onUpdate:modelValue", "value", "class", "disabled", "label", "icon", "imgUrl", "option", "view"]))), 128))
|
|
802
802
|
], 2));
|
|
803
803
|
}
|
|
804
|
-
}),
|
|
804
|
+
}), Ol = /* @__PURE__ */ H(Dl, [["__scopeId", "data-v-91f3584a"]]), Ul = ["type", "placeholder", "disabled"], Tl = /* @__PURE__ */ F({
|
|
805
805
|
__name: "vs-input-date1",
|
|
806
806
|
props: {
|
|
807
807
|
style: { default: () => ({}) },
|
|
@@ -817,10 +817,10 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
817
817
|
setup(o, { emit: e }) {
|
|
818
818
|
const t = o;
|
|
819
819
|
console.log(t.mode);
|
|
820
|
-
const { inputClass: n } =
|
|
820
|
+
const { inputClass: n } = ye(t.style), s = e, r = O({
|
|
821
821
|
get: () => t.modelValue?.split(" ")[0],
|
|
822
822
|
set: (u) => s("update:modelValue", u)
|
|
823
|
-
}), a =
|
|
823
|
+
}), a = O(() => t.mode === "datetime" ? "datetime-local" : t.mode);
|
|
824
824
|
return (u, c) => K((i(), d("input", {
|
|
825
825
|
type: a.value,
|
|
826
826
|
"onUpdate:modelValue": c[0] || (c[0] = (v) => r.value = v),
|
|
@@ -831,11 +831,11 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
831
831
|
style: {
|
|
832
832
|
border: "1px solid #CFD9E0"
|
|
833
833
|
}
|
|
834
|
-
}, null, 10,
|
|
835
|
-
[
|
|
834
|
+
}, null, 10, Ul)), [
|
|
835
|
+
[Ct, r.value]
|
|
836
836
|
]);
|
|
837
837
|
}
|
|
838
|
-
}),
|
|
838
|
+
}), Rl = async (o, e, t, n) => {
|
|
839
839
|
try {
|
|
840
840
|
const s = new FormData();
|
|
841
841
|
return s.append("unique", "true"), s.append("file", o), (await fetch(
|
|
@@ -846,27 +846,27 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
846
846
|
}
|
|
847
847
|
).then((a) => a.json()))?.result;
|
|
848
848
|
} catch (s) {
|
|
849
|
-
return
|
|
849
|
+
return ke({
|
|
850
850
|
type: "error",
|
|
851
851
|
title: "Помилка!",
|
|
852
852
|
message: "Сталась помилка під час завантаження файлу",
|
|
853
853
|
position: "right-bottom"
|
|
854
854
|
}), console.error("Сталась помилка завантаження файлу", s), null;
|
|
855
855
|
}
|
|
856
|
-
},
|
|
856
|
+
}, Pl = async (o) => {
|
|
857
857
|
try {
|
|
858
858
|
return await fetch(`file/delete${o}`), !0;
|
|
859
859
|
} catch (e) {
|
|
860
860
|
return console.error(e), !1;
|
|
861
861
|
}
|
|
862
|
-
},
|
|
862
|
+
}, st = async (o) => {
|
|
863
863
|
try {
|
|
864
864
|
const e = await fetch(`file/download/files/uploads${o}`), t = await e.arrayBuffer(), n = e.headers["content-type"], s = new TextDecoder("utf-8").decode(t), r = new Blob([s], { type: n }), a = document.createElement("a");
|
|
865
865
|
a.setAttribute("download", o), a.href = window.URL.createObjectURL(r), a.click();
|
|
866
866
|
} catch (e) {
|
|
867
867
|
console.error(e.message);
|
|
868
868
|
}
|
|
869
|
-
},
|
|
869
|
+
}, Hl = {}, Nl = {
|
|
870
870
|
xmlns: "http://www.w3.org/2000/svg",
|
|
871
871
|
width: "24",
|
|
872
872
|
height: "24",
|
|
@@ -877,13 +877,13 @@ const hl = /* @__PURE__ */ N(fl, [["render", ml]]), gl = {
|
|
|
877
877
|
"stroke-linecap": "round",
|
|
878
878
|
"stroke-linejoin": "round"
|
|
879
879
|
};
|
|
880
|
-
function
|
|
881
|
-
return i(), d("svg",
|
|
880
|
+
function ql(o, e) {
|
|
881
|
+
return i(), d("svg", Nl, e[0] || (e[0] = [
|
|
882
882
|
l("path", { d: "M5 12h14" }, null, -1),
|
|
883
883
|
l("path", { d: "M12 5v14" }, null, -1)
|
|
884
884
|
]));
|
|
885
885
|
}
|
|
886
|
-
const
|
|
886
|
+
const Ae = /* @__PURE__ */ H(Hl, [["render", ql]]), Gl = {}, Jl = {
|
|
887
887
|
xmlns: "http://www.w3.org/2000/svg",
|
|
888
888
|
class: "icon icon-tabler icon-tabler-file-text",
|
|
889
889
|
width: "44",
|
|
@@ -895,12 +895,12 @@ const Fe = /* @__PURE__ */ N(Tl, [["render", Pl]]), Nl = {}, Hl = {
|
|
|
895
895
|
"stroke-linecap": "round",
|
|
896
896
|
"stroke-linejoin": "round"
|
|
897
897
|
};
|
|
898
|
-
function
|
|
899
|
-
return i(), d("svg",
|
|
900
|
-
|
|
898
|
+
function Kl(o, e, t, n, s, r) {
|
|
899
|
+
return i(), d("svg", Jl, e[0] || (e[0] = [
|
|
900
|
+
de('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M14 3v4a1 1 0 0 0 1 1h4"></path><path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z"></path><line x1="9" y1="9" x2="10" y2="9"></line><line x1="9" y1="13" x2="15" y2="13"></line><line x1="9" y1="17" x2="15" y2="17"></line>', 6)
|
|
901
901
|
]));
|
|
902
902
|
}
|
|
903
|
-
const
|
|
903
|
+
const Zl = /* @__PURE__ */ H(Gl, [["render", Kl]]), Wl = {}, Ql = {
|
|
904
904
|
xmlns: "http://www.w3.org/2000/svg",
|
|
905
905
|
class: "icon icon-tabler icon-tabler-table",
|
|
906
906
|
width: "44",
|
|
@@ -912,8 +912,8 @@ const Gl = /* @__PURE__ */ N(Nl, [["render", ql]]), Jl = {}, Kl = {
|
|
|
912
912
|
"stroke-linecap": "round",
|
|
913
913
|
"stroke-linejoin": "round"
|
|
914
914
|
};
|
|
915
|
-
function
|
|
916
|
-
return i(), d("svg",
|
|
915
|
+
function Xl(o, e, t, n, s, r) {
|
|
916
|
+
return i(), d("svg", Ql, e[0] || (e[0] = [
|
|
917
917
|
l("path", {
|
|
918
918
|
stroke: "none",
|
|
919
919
|
d: "M0 0h24v24H0z",
|
|
@@ -940,7 +940,7 @@ function Zl(o, e, t, n, s, r) {
|
|
|
940
940
|
}, null, -1)
|
|
941
941
|
]));
|
|
942
942
|
}
|
|
943
|
-
const
|
|
943
|
+
const Yl = /* @__PURE__ */ H(Wl, [["render", Xl]]), eo = {}, to = {
|
|
944
944
|
xmlns: "http://www.w3.org/2000/svg",
|
|
945
945
|
width: "24",
|
|
946
946
|
height: "24",
|
|
@@ -952,12 +952,12 @@ const Wl = /* @__PURE__ */ N(Jl, [["render", Zl]]), Ql = {}, Xl = {
|
|
|
952
952
|
"stroke-linejoin": "round",
|
|
953
953
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-file-unknown"
|
|
954
954
|
};
|
|
955
|
-
function
|
|
956
|
-
return i(), d("svg",
|
|
957
|
-
|
|
955
|
+
function lo(o, e, t, n, s, r) {
|
|
956
|
+
return i(), d("svg", to, e[0] || (e[0] = [
|
|
957
|
+
de('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M14 3v4a1 1 0 0 0 1 1h4"></path><path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z"></path><path d="M12 17v.01"></path><path d="M12 14a1.5 1.5 0 1 0 -1.14 -2.474"></path>', 5)
|
|
958
958
|
]));
|
|
959
959
|
}
|
|
960
|
-
const
|
|
960
|
+
const oo = /* @__PURE__ */ H(eo, [["render", lo]]), ao = {}, so = {
|
|
961
961
|
xmlns: "http://www.w3.org/2000/svg",
|
|
962
962
|
class: "icon icon-tabler icon-tabler-file-zip",
|
|
963
963
|
width: "44",
|
|
@@ -969,12 +969,12 @@ const eo = /* @__PURE__ */ N(Ql, [["render", Yl]]), to = {}, lo = {
|
|
|
969
969
|
"stroke-linecap": "round",
|
|
970
970
|
"stroke-linejoin": "round"
|
|
971
971
|
};
|
|
972
|
-
function
|
|
973
|
-
return i(), d("svg",
|
|
974
|
-
|
|
972
|
+
function no(o, e, t, n, s, r) {
|
|
973
|
+
return i(), d("svg", so, e[0] || (e[0] = [
|
|
974
|
+
de('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M6 20.735a2 2 0 0 1 -1 -1.735v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2h-1"></path><path d="M11 17a2 2 0 0 1 2 2v2a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-2a2 2 0 0 1 2 -2z"></path><line x1="11" y1="5" x2="10" y2="5"></line><line x1="13" y1="7" x2="12" y2="7"></line><line x1="11" y1="9" x2="10" y2="9"></line><line x1="13" y1="11" x2="12" y2="11"></line><line x1="11" y1="13" x2="10" y2="13"></line><line x1="13" y1="15" x2="12" y2="15"></line>', 9)
|
|
975
975
|
]));
|
|
976
976
|
}
|
|
977
|
-
const
|
|
977
|
+
const ro = /* @__PURE__ */ H(ao, [["render", no]]), io = {}, uo = {
|
|
978
978
|
xmlns: "http://www.w3.org/2000/svg",
|
|
979
979
|
class: "icon icon-tabler icon-tabler-file-code",
|
|
980
980
|
width: "44",
|
|
@@ -986,25 +986,25 @@ const ao = /* @__PURE__ */ N(to, [["render", oo]]), so = {}, no = {
|
|
|
986
986
|
"stroke-linecap": "round",
|
|
987
987
|
"stroke-linejoin": "round"
|
|
988
988
|
};
|
|
989
|
-
function
|
|
990
|
-
return i(), d("svg",
|
|
991
|
-
|
|
989
|
+
function co(o, e, t, n, s, r) {
|
|
990
|
+
return i(), d("svg", uo, e[0] || (e[0] = [
|
|
991
|
+
de('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M14 3v4a1 1 0 0 0 1 1h4"></path><path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z"></path><path d="M10 13l-1 2l1 2"></path><path d="M14 13l1 2l-1 2"></path>', 5)
|
|
992
992
|
]));
|
|
993
993
|
}
|
|
994
|
-
const
|
|
994
|
+
const po = /* @__PURE__ */ H(io, [["render", co]]), fo = (o) => {
|
|
995
995
|
if (!o) return "";
|
|
996
996
|
const e = o?.split(".");
|
|
997
997
|
return e[e.length - 1];
|
|
998
|
-
},
|
|
999
|
-
const e =
|
|
998
|
+
}, vo = (o) => {
|
|
999
|
+
const e = fo(o), t = {
|
|
1000
1000
|
imageFormat: ["tiff", "jpg", "jpeg", "png", "svg", "ico", "webp"],
|
|
1001
1001
|
sheetsFormat: ["xls", "csv", "xlsx"],
|
|
1002
1002
|
archivesFormat: ["zip", "rar"],
|
|
1003
1003
|
textsFormat: ["json", "geojson", "txt", "yml", "yaml", "shp"],
|
|
1004
1004
|
documentsFormat: ["pdf"]
|
|
1005
1005
|
};
|
|
1006
|
-
return t.imageFormat.includes(e) ? "img" : t.sheetsFormat.includes(e) ?
|
|
1007
|
-
},
|
|
1006
|
+
return t.imageFormat.includes(e) ? "img" : t.sheetsFormat.includes(e) ? Yl : t.textsFormat.includes(e) ? po : t.documentsFormat.includes(e) ? Zl : t.archivesFormat.includes(e) ? ro : oo;
|
|
1007
|
+
}, mo = {}, ho = {
|
|
1008
1008
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1009
1009
|
width: "24",
|
|
1010
1010
|
height: "24",
|
|
@@ -1016,12 +1016,12 @@ const io = /* @__PURE__ */ N(so, [["render", ro]]), uo = (o) => {
|
|
|
1016
1016
|
"stroke-linejoin": "round",
|
|
1017
1017
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-trash"
|
|
1018
1018
|
};
|
|
1019
|
-
function
|
|
1020
|
-
return i(), d("svg",
|
|
1021
|
-
|
|
1019
|
+
function go(o, e) {
|
|
1020
|
+
return i(), d("svg", ho, e[0] || (e[0] = [
|
|
1021
|
+
de('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M4 7l16 0"></path><path d="M10 11l0 6"></path><path d="M14 11l0 6"></path><path d="M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12"></path><path d="M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3"></path>', 6)
|
|
1022
1022
|
]));
|
|
1023
1023
|
}
|
|
1024
|
-
const Ue = /* @__PURE__ */
|
|
1024
|
+
const Ue = /* @__PURE__ */ H(mo, [["render", go]]), bo = {}, yo = {
|
|
1025
1025
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1026
1026
|
width: "24",
|
|
1027
1027
|
height: "24",
|
|
@@ -1033,8 +1033,8 @@ const Ue = /* @__PURE__ */ N(po, [["render", vo]]), mo = {}, ho = {
|
|
|
1033
1033
|
"stroke-linejoin": "round",
|
|
1034
1034
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-download"
|
|
1035
1035
|
};
|
|
1036
|
-
function
|
|
1037
|
-
return i(), d("svg",
|
|
1036
|
+
function xo(o, e) {
|
|
1037
|
+
return i(), d("svg", yo, e[0] || (e[0] = [
|
|
1038
1038
|
l("path", {
|
|
1039
1039
|
stroke: "none",
|
|
1040
1040
|
d: "M0 0h24v24H0z",
|
|
@@ -1045,7 +1045,7 @@ function go(o, e) {
|
|
|
1045
1045
|
l("path", { d: "M12 4l0 12" }, null, -1)
|
|
1046
1046
|
]));
|
|
1047
1047
|
}
|
|
1048
|
-
const
|
|
1048
|
+
const vt = /* @__PURE__ */ H(bo, [["render", xo]]), wo = { class: "h-[120px] w-[120px] border text-gray-300 border-dashed border-[#CFD9E0] rounded-lg overflow-hidden relative item-file" }, ko = { class: "absolute hidden top-0 right-0 flex items-center gap-x-2 w-full h-full justify-center" }, _o = /* @__PURE__ */ F({
|
|
1049
1049
|
__name: "vs-input-file-list-item",
|
|
1050
1050
|
props: /* @__PURE__ */ Q({
|
|
1051
1051
|
format: {},
|
|
@@ -1066,18 +1066,18 @@ const dt = /* @__PURE__ */ N(mo, [["render", go]]), bo = { class: "h-[120px] w-[
|
|
|
1066
1066
|
emits: ["update:value", "update:item"],
|
|
1067
1067
|
setup(o) {
|
|
1068
1068
|
const e = X(o, "value"), t = X(o, "item"), n = o;
|
|
1069
|
-
return (s, r) => (i(), d("div",
|
|
1070
|
-
(i(), ae(
|
|
1069
|
+
return (s, r) => (i(), d("div", wo, [
|
|
1070
|
+
(i(), ae(Se(q(vo)(t.value)), {
|
|
1071
1071
|
src: t.value,
|
|
1072
1072
|
alt: "file",
|
|
1073
1073
|
class: "w-full h-full object-cover cursor-pointer",
|
|
1074
|
-
onClick: r[0] || (r[0] = (a) => q(
|
|
1074
|
+
onClick: r[0] || (r[0] = (a) => q(st)(t.value))
|
|
1075
1075
|
}, null, 8, ["src"])),
|
|
1076
|
-
l("div",
|
|
1076
|
+
l("div", ko, [
|
|
1077
1077
|
l("button", {
|
|
1078
1078
|
type: "button",
|
|
1079
1079
|
onClick: r[1] || (r[1] = (a) => {
|
|
1080
|
-
q(
|
|
1080
|
+
q(Pl)(t.value), e.value = n.multiple ? e.value?.filter((u) => u !== t.value) : "";
|
|
1081
1081
|
}),
|
|
1082
1082
|
class: "w-6 h-6 flex items-center justify-center text-gray-500 bg-gray-200 rounded-lg hover:text-red-500"
|
|
1083
1083
|
}, [
|
|
@@ -1085,18 +1085,18 @@ const dt = /* @__PURE__ */ N(mo, [["render", go]]), bo = { class: "h-[120px] w-[
|
|
|
1085
1085
|
]),
|
|
1086
1086
|
l("button", {
|
|
1087
1087
|
type: "button",
|
|
1088
|
-
onClick: r[2] || (r[2] = (a) => q(
|
|
1088
|
+
onClick: r[2] || (r[2] = (a) => q(st)(t.value)),
|
|
1089
1089
|
class: "w-6 h-6 flex items-center justify-center text-gray-500 bg-gray-200 rounded-lg hover:text-blue-500"
|
|
1090
1090
|
}, [
|
|
1091
|
-
j(
|
|
1091
|
+
j(vt, { class: "w-4 h-4" })
|
|
1092
1092
|
])
|
|
1093
1093
|
])
|
|
1094
1094
|
]));
|
|
1095
1095
|
}
|
|
1096
|
-
}),
|
|
1096
|
+
}), nt = /* @__PURE__ */ H(_o, [["__scopeId", "data-v-0ca886b3"]]), $o = { class: "flex items-center gap-x-2" }, Co = {
|
|
1097
1097
|
key: 1,
|
|
1098
1098
|
class: "flex items-center flex-wrap gap-2"
|
|
1099
|
-
},
|
|
1099
|
+
}, Vo = /* @__PURE__ */ F({
|
|
1100
1100
|
__name: "vs-input-file",
|
|
1101
1101
|
props: /* @__PURE__ */ Q({
|
|
1102
1102
|
format: {},
|
|
@@ -1122,10 +1122,10 @@ const dt = /* @__PURE__ */ N(mo, [["render", go]]), bo = { class: "h-[120px] w-[
|
|
|
1122
1122
|
}
|
|
1123
1123
|
const u = a.target.files?.[0];
|
|
1124
1124
|
if (!u) return;
|
|
1125
|
-
const c = await
|
|
1125
|
+
const c = await Rl(u, "1", "form", "table");
|
|
1126
1126
|
t.value = e.multiple ? [...t.value || [], c?.file_path] : c?.file_path;
|
|
1127
1127
|
};
|
|
1128
|
-
return (a, u) => (i(), d("div",
|
|
1128
|
+
return (a, u) => (i(), d("div", $o, [
|
|
1129
1129
|
l("input", {
|
|
1130
1130
|
class: "hidden",
|
|
1131
1131
|
ref_key: "fileInput",
|
|
@@ -1133,14 +1133,14 @@ const dt = /* @__PURE__ */ N(mo, [["render", go]]), bo = { class: "h-[120px] w-[
|
|
|
1133
1133
|
type: "file",
|
|
1134
1134
|
onChange: r
|
|
1135
1135
|
}, null, 544),
|
|
1136
|
-
!a.multiple && t.value ? (i(), ae(
|
|
1136
|
+
!a.multiple && t.value ? (i(), ae(nt, {
|
|
1137
1137
|
key: 0,
|
|
1138
1138
|
item: t.value,
|
|
1139
1139
|
"onUpdate:item": u[0] || (u[0] = (c) => t.value = c),
|
|
1140
1140
|
value: t.value,
|
|
1141
1141
|
"onUpdate:value": u[1] || (u[1] = (c) => t.value = c)
|
|
1142
|
-
}, null, 8, ["item", "value"])) : a.multiple ? (i(), d("div",
|
|
1143
|
-
(i(!0), d(Y, null, le(t.value, (c, v) => (i(), ae(
|
|
1142
|
+
}, null, 8, ["item", "value"])) : a.multiple ? (i(), d("div", Co, [
|
|
1143
|
+
(i(!0), d(Y, null, le(t.value, (c, v) => (i(), ae(nt, {
|
|
1144
1144
|
multiple: a.multiple,
|
|
1145
1145
|
key: v,
|
|
1146
1146
|
value: t.value,
|
|
@@ -1154,25 +1154,25 @@ const dt = /* @__PURE__ */ N(mo, [["render", go]]), bo = { class: "h-[120px] w-[
|
|
|
1154
1154
|
a.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer hover:border-blue-500 hover:bg-blue-50"
|
|
1155
1155
|
])
|
|
1156
1156
|
}, [
|
|
1157
|
-
j(
|
|
1157
|
+
j(Ae, { class: "w-6 h-6" })
|
|
1158
1158
|
], 2)
|
|
1159
|
-
])) :
|
|
1160
|
-
a.multiple ?
|
|
1159
|
+
])) : A("", !0),
|
|
1160
|
+
a.multiple ? A("", !0) : (i(), d("div", {
|
|
1161
1161
|
key: 2,
|
|
1162
1162
|
onClick: u[4] || (u[4] = (c) => n.value?.click()),
|
|
1163
1163
|
class: M([a.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer hover:border-blue-500", "h-[120px] w-[120px] border text-gray-300 hover:text-blue-500 border-dashed border-gray-300 rounded-lg flex items-center justify-center cursor-pointer hover:border-blue-500 transition-all duration-300 hover:bg-blue-50"])
|
|
1164
1164
|
}, [
|
|
1165
|
-
j(
|
|
1165
|
+
j(Ae, { class: "w-6 h-6" })
|
|
1166
1166
|
], 2))
|
|
1167
1167
|
]));
|
|
1168
1168
|
}
|
|
1169
|
-
}),
|
|
1169
|
+
}), Mo = { class: "max-w-[55vw]" }, Lo = { class: "text-sm font-semibold text-gray-800 truncate dark:text-neutral-200" }, So = { class: "flex items-center text-xs text-gray-500 truncate dark:text-neutral-500" }, Bo = { class: "px-[5px]" }, jo = { class: "" }, Fe = /* @__PURE__ */ F({
|
|
1170
1170
|
__name: "vs-widget-file-info",
|
|
1171
1171
|
props: {
|
|
1172
1172
|
item: { default: null }
|
|
1173
1173
|
},
|
|
1174
1174
|
setup(o) {
|
|
1175
|
-
const e = o, t =
|
|
1175
|
+
const e = o, t = O(() => {
|
|
1176
1176
|
try {
|
|
1177
1177
|
return new Date(e.item.cdate).toLocaleDateString("uk-UA", {
|
|
1178
1178
|
day: "2-digit",
|
|
@@ -1190,34 +1190,34 @@ const dt = /* @__PURE__ */ N(mo, [["render", go]]), bo = { class: "h-[120px] w-[
|
|
|
1190
1190
|
return r < 1024 ? `${r.toFixed(2)} KB` : `${(r / 1024).toFixed(2)} MB`;
|
|
1191
1191
|
}
|
|
1192
1192
|
return (s, r) => (i(), d(Y, null, [
|
|
1193
|
-
r[1] || (r[1] =
|
|
1194
|
-
l("div",
|
|
1195
|
-
l("p",
|
|
1196
|
-
l("p",
|
|
1193
|
+
r[1] || (r[1] = de('<div class="flex items-center justify-center h-[30px] w-[30px]"><svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-file"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M14 3v4a1 1 0 0 0 1 1h4"></path><path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z"></path></svg></div>', 1)),
|
|
1194
|
+
l("div", Mo, [
|
|
1195
|
+
l("p", Lo, T(s.item?.uploaded_name), 1),
|
|
1196
|
+
l("p", So, [
|
|
1197
1197
|
l("span", null, T(s.item?.username), 1),
|
|
1198
|
-
K(l("span",
|
|
1199
|
-
[
|
|
1198
|
+
K(l("span", Bo, "|", 512), [
|
|
1199
|
+
[Ge, s.item?.username]
|
|
1200
1200
|
]),
|
|
1201
1201
|
l("span", null, T(t.value), 1),
|
|
1202
1202
|
r[0] || (r[0] = l("span", { class: "px-[5px]" }, "|", -1)),
|
|
1203
|
-
l("span",
|
|
1203
|
+
l("span", jo, T(n(s.item?.size)), 1)
|
|
1204
1204
|
])
|
|
1205
1205
|
])
|
|
1206
1206
|
], 64));
|
|
1207
1207
|
}
|
|
1208
|
-
}),
|
|
1208
|
+
}), Io = { class: "p-3 relative group flex items-center gap-x-3 border border-gray-200 bg-white rounded-md w-full" }, zo = {
|
|
1209
1209
|
key: 0,
|
|
1210
1210
|
class: "flex w-full gap-x-3 items-center"
|
|
1211
|
-
},
|
|
1211
|
+
}, Eo = {
|
|
1212
1212
|
key: 1,
|
|
1213
1213
|
class: "flex gap-x-3 w-full items-center"
|
|
1214
|
-
},
|
|
1214
|
+
}, Ao = {
|
|
1215
1215
|
key: 2,
|
|
1216
1216
|
class: "flex gap-x-3 w-full items-center"
|
|
1217
|
-
},
|
|
1217
|
+
}, Fo = ["href"], Do = {
|
|
1218
1218
|
key: 3,
|
|
1219
1219
|
class: "flex gap-x-3 w-full items-center"
|
|
1220
|
-
},
|
|
1220
|
+
}, Oo = { class: "lg:absolute lg:top-3 lg:end-1 opacity-100" }, Uo = { class: "p-0.5 sm:p-1 inline-flex items-center gap-0.5 bg-white rounded-lg dark:bg-neutral-800 dark:border-neutral-700" }, To = { class: "inline-block" }, Ro = { class: "inline-block" }, Po = /* @__PURE__ */ F({
|
|
1221
1221
|
__name: "vs-widget-file-item",
|
|
1222
1222
|
props: {
|
|
1223
1223
|
item: { default: null },
|
|
@@ -1259,42 +1259,42 @@ const dt = /* @__PURE__ */ N(mo, [["render", go]]), bo = { class: "h-[120px] w-[
|
|
|
1259
1259
|
function v(p) {
|
|
1260
1260
|
(t.item.ext === "jpg" || t.item.ext === "png") && n("openLightbox", { item: t.item, index: p });
|
|
1261
1261
|
}
|
|
1262
|
-
return (p, x) => (i(), d("div",
|
|
1263
|
-
p.item.ext === "jpg" || p.item.ext === "png" ? (i(), d("div",
|
|
1262
|
+
return (p, x) => (i(), d("div", Io, [
|
|
1263
|
+
p.item.ext === "jpg" || p.item.ext === "png" ? (i(), d("div", zo, [
|
|
1264
1264
|
l("div", {
|
|
1265
1265
|
class: "max-w-[55vw] cursor-pointer flex gap-x-3 w-full items-center",
|
|
1266
1266
|
onClick: x[0] || (x[0] = (g) => v(p.index))
|
|
1267
1267
|
}, [
|
|
1268
|
-
j(
|
|
1268
|
+
j(Fe, { item: p.item }, null, 8, ["item"])
|
|
1269
1269
|
])
|
|
1270
|
-
])) : s(p.item) ? (i(), d("div",
|
|
1271
|
-
j(
|
|
1272
|
-
])) : r(p.item) ? (i(), d("div",
|
|
1270
|
+
])) : s(p.item) ? (i(), d("div", Eo, [
|
|
1271
|
+
j(Fe, { item: p.item }, null, 8, ["item"])
|
|
1272
|
+
])) : r(p.item) ? (i(), d("div", Ao, [
|
|
1273
1273
|
l("a", {
|
|
1274
1274
|
href: `/api/file-preview?id=${p.item.file_id}`,
|
|
1275
1275
|
target: "_blank",
|
|
1276
1276
|
class: "flex gap-x-3 w-full items-center"
|
|
1277
1277
|
}, [
|
|
1278
|
-
j(
|
|
1279
|
-
], 8,
|
|
1280
|
-
])) : (i(), d("div",
|
|
1281
|
-
j(
|
|
1278
|
+
j(Fe, { item: p.item }, null, 8, ["item"])
|
|
1279
|
+
], 8, Fo)
|
|
1280
|
+
])) : (i(), d("div", Do, [
|
|
1281
|
+
j(Fe, { item: p.item }, null, 8, ["item"])
|
|
1282
1282
|
])),
|
|
1283
|
-
l("div",
|
|
1284
|
-
l("div",
|
|
1285
|
-
l("div",
|
|
1283
|
+
l("div", Oo, [
|
|
1284
|
+
l("div", Uo, [
|
|
1285
|
+
l("div", To, [
|
|
1286
1286
|
l("button", {
|
|
1287
1287
|
class: "inline-flex p-[6px] justify-center items-center gap-x-2 rounded-lg border border-transparent text-gray-500 hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:text-neutral-400 focus:outline-none focus:bg-gray-100 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",
|
|
1288
1288
|
onClick: x[1] || (x[1] = (g) => a(p.item))
|
|
1289
1289
|
}, [
|
|
1290
|
-
j(
|
|
1290
|
+
j(vt, {
|
|
1291
1291
|
height: "14",
|
|
1292
1292
|
width: "14"
|
|
1293
1293
|
})
|
|
1294
1294
|
])
|
|
1295
1295
|
]),
|
|
1296
1296
|
x[3] || (x[3] = l("div", { class: "w-px h-5 mx-1 bg-gray-200 dark:bg-neutral-700" }, null, -1)),
|
|
1297
|
-
l("div",
|
|
1297
|
+
l("div", Ro, [
|
|
1298
1298
|
l("button", {
|
|
1299
1299
|
type: "button",
|
|
1300
1300
|
class: "size-[30px] inline-flex justify-center items-center gap-x-2 rounded-lg border border-transparent text-red-600 hover:bg-red-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-red-100 dark:text-red-500 dark:hover:bg-red-500/20 dark:focus:bg-red-500/20",
|
|
@@ -1310,7 +1310,7 @@ const dt = /* @__PURE__ */ N(mo, [["render", go]]), bo = { class: "h-[120px] w-[
|
|
|
1310
1310
|
])
|
|
1311
1311
|
]));
|
|
1312
1312
|
}
|
|
1313
|
-
}),
|
|
1313
|
+
}), Ho = {}, No = {
|
|
1314
1314
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1315
1315
|
width: "24",
|
|
1316
1316
|
height: "24",
|
|
@@ -1322,8 +1322,8 @@ const dt = /* @__PURE__ */ N(mo, [["render", go]]), bo = { class: "h-[120px] w-[
|
|
|
1322
1322
|
"stroke-linejoin": "round",
|
|
1323
1323
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-download"
|
|
1324
1324
|
};
|
|
1325
|
-
function
|
|
1326
|
-
return i(), d("svg",
|
|
1325
|
+
function qo(o, e) {
|
|
1326
|
+
return i(), d("svg", No, e[0] || (e[0] = [
|
|
1327
1327
|
l("path", {
|
|
1328
1328
|
stroke: "none",
|
|
1329
1329
|
d: "M0 0h24v24H0z",
|
|
@@ -1334,13 +1334,13 @@ function Po(o, e) {
|
|
|
1334
1334
|
l("path", { d: "M12 4l0 12" }, null, -1)
|
|
1335
1335
|
]));
|
|
1336
1336
|
}
|
|
1337
|
-
const
|
|
1337
|
+
const Go = /* @__PURE__ */ H(Ho, [["render", qo]]), Jo = { class: "flex flex-col widget-file xl:bg-white xl:rounded-xl dark:xl:bg-neutral-800 dark:xl:border-neutral-700 w-full" }, Ko = { class: "flex w-full mb-[12px] items-center gap-x-2" }, Zo = { class: "font-semibold text-gray-800 dark:text-neutral-200 text-[14px]" }, Wo = { class1: "ml-auto" }, Qo = { class: "py-1.5 px-4 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg bg-gray-100 cursor-pointer hover:bg-gray-200 text-gray-800 shadow-2xs hover:bg-gray-50 focus:outline-hidden focus:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-800 dark:border-neutral-700 dark:text-white dark:hover:bg-neutral-700 dark:focus:bg-neutral-700" }, Xo = {
|
|
1338
1338
|
key: 0,
|
|
1339
1339
|
class: "py-4 mb-4 space-y-4 border-gray-200 border-y dark:border-neutral-700"
|
|
1340
|
-
},
|
|
1340
|
+
}, Yo = { class: "relative" }, ea = {
|
|
1341
1341
|
key: 1,
|
|
1342
1342
|
class: "space-y-3 max-h-[300px] overflow-y-auto [&::-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"
|
|
1343
|
-
},
|
|
1343
|
+
}, ta = { key: 0 }, la = /* @__PURE__ */ F({
|
|
1344
1344
|
__name: "vs-input-file-list",
|
|
1345
1345
|
props: {
|
|
1346
1346
|
id: { default: "" },
|
|
@@ -1355,7 +1355,7 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1355
1355
|
},
|
|
1356
1356
|
emits: ["update"],
|
|
1357
1357
|
setup(o, { emit: e }) {
|
|
1358
|
-
const t = o, n = Me("form"), s =
|
|
1358
|
+
const t = o, n = Me("form"), s = O(() => n.value.formId), r = w(!1), a = w(0), u = e, c = w(!1), v = w({}), p = w([]), x = w(""), g = O(() => Array.isArray(p.value) ? p.value.filter((m) => m.ext === "jpg" || m.ext === "png").map((m) => m?.file_path) : []), _ = O(() => x.value === "" ? p.value : p.value.filter((m) => m?.uploaded_name?.includes(x.value))), S = (m) => {
|
|
1359
1359
|
const f = g.value.findIndex((Z) => Z === m.item.file_path);
|
|
1360
1360
|
f !== -1 && (r.value = !0, a.value = f);
|
|
1361
1361
|
}, R = async () => {
|
|
@@ -1390,22 +1390,22 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1390
1390
|
};
|
|
1391
1391
|
return te(s, (m) => {
|
|
1392
1392
|
m && R();
|
|
1393
|
-
}),
|
|
1393
|
+
}), be(() => {
|
|
1394
1394
|
s.value && R();
|
|
1395
1395
|
}), (m, f) => {
|
|
1396
|
-
const Z =
|
|
1397
|
-
return i(), d("div",
|
|
1398
|
-
l("div",
|
|
1399
|
-
l("h2",
|
|
1400
|
-
l("div",
|
|
1396
|
+
const Z = tt("Lightbox"), U = tt("MessageBox");
|
|
1397
|
+
return i(), d("div", Jo, [
|
|
1398
|
+
l("div", Ko, [
|
|
1399
|
+
l("h2", Zo, " Файлів: " + T(p.value?.length), 1),
|
|
1400
|
+
l("div", Wo, [
|
|
1401
1401
|
l("label", null, [
|
|
1402
1402
|
l("input", {
|
|
1403
1403
|
type: "file",
|
|
1404
1404
|
class: "hidden",
|
|
1405
|
-
onChange: f[0] || (f[0] = (
|
|
1405
|
+
onChange: f[0] || (f[0] = (D) => $(D))
|
|
1406
1406
|
}, null, 32),
|
|
1407
|
-
l("div",
|
|
1408
|
-
j(
|
|
1407
|
+
l("div", Qo, [
|
|
1408
|
+
j(Go, {
|
|
1409
1409
|
height: "16",
|
|
1410
1410
|
width: "16"
|
|
1411
1411
|
})
|
|
@@ -1413,9 +1413,9 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1413
1413
|
])
|
|
1414
1414
|
])
|
|
1415
1415
|
]),
|
|
1416
|
-
p.value?.length > 4 ? (i(), d("div",
|
|
1416
|
+
p.value?.length > 4 ? (i(), d("div", Xo, [
|
|
1417
1417
|
l("div", null, [
|
|
1418
|
-
l("div",
|
|
1418
|
+
l("div", Yo, [
|
|
1419
1419
|
f[8] || (f[8] = l("div", { class: "absolute inset-y-0 start-0 flex items-center pointer-events-none z-[1] ps-3.5" }, [
|
|
1420
1420
|
l("svg", {
|
|
1421
1421
|
class: "flex-shrink-0 text-gray-500 size-4 dark:text-neutral-400",
|
|
@@ -1439,12 +1439,12 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1439
1439
|
], -1)),
|
|
1440
1440
|
K(l("input", {
|
|
1441
1441
|
type: "text",
|
|
1442
|
-
"onUpdate:modelValue": f[1] || (f[1] = (
|
|
1442
|
+
"onUpdate:modelValue": f[1] || (f[1] = (D) => x.value = D),
|
|
1443
1443
|
class: "py-2 px-3 ps-10 pe-16 block w-full bg-gray-200 xl:bg-gray-100 rounded-lg text-sm focus:border-blue-500 h-[40px] focus:border-2 focus:outline-none disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-700 dark:border-transparent dark:text-neutral-400 dark:placeholder:text-neutral-400 dark:focus:ring-neutral-600",
|
|
1444
1444
|
placeholder: "Введіть назву файлу"
|
|
1445
1445
|
}, null, 512), [
|
|
1446
1446
|
[
|
|
1447
|
-
|
|
1447
|
+
re,
|
|
1448
1448
|
x.value,
|
|
1449
1449
|
void 0,
|
|
1450
1450
|
{ trim: !0 }
|
|
@@ -1452,37 +1452,37 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1452
1452
|
])
|
|
1453
1453
|
])
|
|
1454
1454
|
])
|
|
1455
|
-
])) :
|
|
1456
|
-
p.value?.length ? (i(), d("div",
|
|
1457
|
-
(i(!0), d(Y, null, le(_.value, (
|
|
1458
|
-
key:
|
|
1455
|
+
])) : A("", !0),
|
|
1456
|
+
p.value?.length ? (i(), d("div", ea, [
|
|
1457
|
+
(i(!0), d(Y, null, le(_.value, (D, ie) => (i(), ae(Po, {
|
|
1458
|
+
key: ie,
|
|
1459
1459
|
prefix: m.prefix,
|
|
1460
|
-
item:
|
|
1461
|
-
index:
|
|
1460
|
+
item: D,
|
|
1461
|
+
index: ie,
|
|
1462
1462
|
onUpdate: f[2] || (f[2] = (ee) => m.$emit("update", "file-list")),
|
|
1463
1463
|
onOpenModal: f[3] || (f[3] = (ee) => B(ee)),
|
|
1464
1464
|
onOpenLightbox: f[4] || (f[4] = (ee) => S(ee))
|
|
1465
1465
|
}, null, 8, ["prefix", "item", "index"]))), 128)),
|
|
1466
|
-
_.value.length ?
|
|
1466
|
+
_.value.length ? A("", !0) : (i(), d("div", ta, f[9] || (f[9] = [
|
|
1467
1467
|
l("p", { class: "text-sm text-gray-600 font-sm" }, " Файлів з такою назвою не існує, введіть інше пошукове слово ", -1)
|
|
1468
1468
|
])))
|
|
1469
|
-
])) :
|
|
1469
|
+
])) : A("", !0),
|
|
1470
1470
|
j(Z, {
|
|
1471
1471
|
modelValue: r.value,
|
|
1472
|
-
"onUpdate:modelValue": f[5] || (f[5] = (
|
|
1472
|
+
"onUpdate:modelValue": f[5] || (f[5] = (D) => r.value = D),
|
|
1473
1473
|
startIndex: a.value,
|
|
1474
|
-
"onUpdate:index": f[6] || (f[6] = (
|
|
1474
|
+
"onUpdate:index": f[6] || (f[6] = (D) => a.value = D),
|
|
1475
1475
|
images: g.value
|
|
1476
1476
|
}, null, 8, ["modelValue", "startIndex", "images"]),
|
|
1477
1477
|
j(U, Ee({
|
|
1478
1478
|
modelValue: c.value,
|
|
1479
|
-
"onUpdate:modelValue": f[7] || (f[7] = (
|
|
1479
|
+
"onUpdate:modelValue": f[7] || (f[7] = (D) => c.value = D),
|
|
1480
1480
|
onConfirm: v.value.confirm
|
|
1481
1481
|
}, v.value), null, 16, ["modelValue", "onConfirm"])
|
|
1482
1482
|
]);
|
|
1483
1483
|
};
|
|
1484
1484
|
}
|
|
1485
|
-
}),
|
|
1485
|
+
}), oa = { class: "flex items-center justify-between" }, aa = { class: "text-[16px] text-gray-900 font-medium" }, sa = { class: "grid gap-3" }, na = /* @__PURE__ */ F({
|
|
1486
1486
|
__name: "vs-container-switcher",
|
|
1487
1487
|
props: {
|
|
1488
1488
|
title: {
|
|
@@ -1506,27 +1506,27 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1506
1506
|
t.value = n;
|
|
1507
1507
|
}
|
|
1508
1508
|
), (n, s) => (i(), d("div", null, [
|
|
1509
|
-
l("div",
|
|
1510
|
-
l("p",
|
|
1511
|
-
j(
|
|
1509
|
+
l("div", oa, [
|
|
1510
|
+
l("p", aa, T(o.title), 1),
|
|
1511
|
+
j(ft, {
|
|
1512
1512
|
modelValue: t.value,
|
|
1513
1513
|
"onUpdate:modelValue": s[0] || (s[0] = (r) => t.value = r),
|
|
1514
|
-
style:
|
|
1514
|
+
style: ge(o.style)
|
|
1515
1515
|
}, null, 8, ["modelValue", "style"])
|
|
1516
1516
|
]),
|
|
1517
|
-
j(
|
|
1518
|
-
default:
|
|
1519
|
-
K(l("div",
|
|
1517
|
+
j(ct, { name: "slide-fade" }, {
|
|
1518
|
+
default: Be(() => [
|
|
1519
|
+
K(l("div", sa, [
|
|
1520
1520
|
$e(n.$slots, "default", {}, void 0, !0)
|
|
1521
1521
|
], 512), [
|
|
1522
|
-
[
|
|
1522
|
+
[Ge, t.value]
|
|
1523
1523
|
])
|
|
1524
1524
|
]),
|
|
1525
1525
|
_: 3
|
|
1526
1526
|
})
|
|
1527
1527
|
]));
|
|
1528
1528
|
}
|
|
1529
|
-
}),
|
|
1529
|
+
}), ra = /* @__PURE__ */ H(na, [["__scopeId", "data-v-90320b87"]]), ia = { class: "text-[16px] text-gray-900 font-medium" }, ua = { class: "grid gap-3" }, da = /* @__PURE__ */ F({
|
|
1530
1530
|
__name: "vs-container-accordion",
|
|
1531
1531
|
props: {
|
|
1532
1532
|
title: {
|
|
@@ -1555,24 +1555,24 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1555
1555
|
onClick: s[0] || (s[0] = (r) => t.value = !t.value),
|
|
1556
1556
|
class: "flex items-center gap-2"
|
|
1557
1557
|
}, [
|
|
1558
|
-
j(q(
|
|
1558
|
+
j(q(cl), {
|
|
1559
1559
|
class: M(["h-4 w-4 duration-300", [t.value ? "-rotate-180" : ""]])
|
|
1560
1560
|
}, null, 8, ["class"]),
|
|
1561
|
-
l("span",
|
|
1561
|
+
l("span", ia, T(o.title), 1)
|
|
1562
1562
|
]),
|
|
1563
|
-
j(
|
|
1564
|
-
default:
|
|
1565
|
-
K(l("div",
|
|
1563
|
+
j(ct, { name: "slide-fade" }, {
|
|
1564
|
+
default: Be(() => [
|
|
1565
|
+
K(l("div", ua, [
|
|
1566
1566
|
$e(n.$slots, "default", {}, void 0, !0)
|
|
1567
1567
|
], 512), [
|
|
1568
|
-
[
|
|
1568
|
+
[Ge, t.value]
|
|
1569
1569
|
])
|
|
1570
1570
|
]),
|
|
1571
1571
|
_: 3
|
|
1572
1572
|
})
|
|
1573
1573
|
]));
|
|
1574
1574
|
}
|
|
1575
|
-
}),
|
|
1575
|
+
}), ca = /* @__PURE__ */ H(da, [["__scopeId", "data-v-590eff11"]]), pa = { class: "flex items-center justify-between" }, fa = /* @__PURE__ */ F({
|
|
1576
1576
|
__name: "vs-container-default",
|
|
1577
1577
|
props: {
|
|
1578
1578
|
title: {
|
|
@@ -1586,17 +1586,17 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1586
1586
|
},
|
|
1587
1587
|
setup(o) {
|
|
1588
1588
|
return (e, t) => (i(), d("div", null, [
|
|
1589
|
-
l("div",
|
|
1589
|
+
l("div", pa, [
|
|
1590
1590
|
l("p", null, T(o.title), 1)
|
|
1591
1591
|
]),
|
|
1592
1592
|
$e(e.$slots, "default")
|
|
1593
1593
|
]));
|
|
1594
1594
|
}
|
|
1595
|
-
}),
|
|
1596
|
-
switcher:
|
|
1597
|
-
accordion:
|
|
1598
|
-
default:
|
|
1599
|
-
},
|
|
1595
|
+
}), va = {
|
|
1596
|
+
switcher: ra,
|
|
1597
|
+
accordion: ca,
|
|
1598
|
+
default: fa
|
|
1599
|
+
}, ce = {
|
|
1600
1600
|
Equal: "==",
|
|
1601
1601
|
Inequal: "!=",
|
|
1602
1602
|
Higer: ">",
|
|
@@ -1609,37 +1609,37 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1609
1609
|
Contain: "*",
|
|
1610
1610
|
In: "in",
|
|
1611
1611
|
NotIn: "not_in"
|
|
1612
|
-
},
|
|
1612
|
+
}, ma = (o, e) => String(o) === String(e), ha = (o, e) => String(o) !== String(e), ga = (o, e) => o > e, ba = (o, e) => o >= e, ya = (o, e) => o < e, xa = (o, e) => o <= e, wa = (o, e) => Array.isArray(e) && e.length === 2 ? o >= e[0] && o <= e[1] : !1, ka = (o, e) => String(o).startsWith(String(e)), _a = (o, e) => String(o).endsWith(String(e)), $a = (o, e) => String(o).includes(String(e)), Ca = (o, e) => Array.isArray(e) ? e.includes(o) : !1, Va = (o, e) => Array.isArray(e) ? !e.includes(o) : !0, mt = (o, e) => {
|
|
1613
1613
|
if (!e) return !0;
|
|
1614
1614
|
switch (e?.[1]) {
|
|
1615
|
-
case
|
|
1616
|
-
return pa(o, e?.[2]);
|
|
1617
|
-
case de.Inequal:
|
|
1618
|
-
return fa(o, e?.[2]);
|
|
1619
|
-
case de.Higer:
|
|
1620
|
-
return va(o, e?.[2]);
|
|
1621
|
-
case de.HigerOrEqual:
|
|
1615
|
+
case ce.Equal:
|
|
1622
1616
|
return ma(o, e?.[2]);
|
|
1623
|
-
case
|
|
1617
|
+
case ce.Inequal:
|
|
1624
1618
|
return ha(o, e?.[2]);
|
|
1625
|
-
case
|
|
1619
|
+
case ce.Higer:
|
|
1626
1620
|
return ga(o, e?.[2]);
|
|
1627
|
-
case
|
|
1621
|
+
case ce.HigerOrEqual:
|
|
1628
1622
|
return ba(o, e?.[2]);
|
|
1629
|
-
case
|
|
1623
|
+
case ce.Lower:
|
|
1630
1624
|
return ya(o, e?.[2]);
|
|
1631
|
-
case
|
|
1625
|
+
case ce.LowerOrEqual:
|
|
1632
1626
|
return xa(o, e?.[2]);
|
|
1633
|
-
case
|
|
1627
|
+
case ce.Between:
|
|
1634
1628
|
return wa(o, e?.[2]);
|
|
1635
|
-
case
|
|
1629
|
+
case ce.StartWith:
|
|
1636
1630
|
return ka(o, e?.[2]);
|
|
1637
|
-
case
|
|
1631
|
+
case ce.EndWith:
|
|
1638
1632
|
return _a(o, e?.[2]);
|
|
1633
|
+
case ce.Contain:
|
|
1634
|
+
return $a(o, e?.[2]);
|
|
1635
|
+
case ce.In:
|
|
1636
|
+
return Ca(o, e?.[2]);
|
|
1637
|
+
case ce.NotIn:
|
|
1638
|
+
return Va(o, e?.[2]);
|
|
1639
1639
|
default:
|
|
1640
1640
|
return !0;
|
|
1641
1641
|
}
|
|
1642
|
-
},
|
|
1642
|
+
}, Ma = /* @__PURE__ */ F({
|
|
1643
1643
|
__name: "vs-input-container",
|
|
1644
1644
|
props: {
|
|
1645
1645
|
style: {
|
|
@@ -1660,19 +1660,19 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1660
1660
|
}
|
|
1661
1661
|
},
|
|
1662
1662
|
setup(o) {
|
|
1663
|
-
const e = o, t = Me("formValues", { default: {} }), n = Me("form"), s =
|
|
1663
|
+
const e = o, t = Me("formValues", { default: {} }), n = Me("form"), s = O(() => e.schema?.filter((a) => {
|
|
1664
1664
|
const u = a?.conditions;
|
|
1665
1665
|
if (!u) return !0;
|
|
1666
1666
|
const c = Array.isArray(u) ? u[0] : u, v = t?.value?.[c];
|
|
1667
|
-
return
|
|
1668
|
-
})), r =
|
|
1669
|
-
return (a, u) => o.schema?.length ? (i(), ae(
|
|
1667
|
+
return mt(v, u);
|
|
1668
|
+
})), r = O(() => va[e.view]);
|
|
1669
|
+
return (a, u) => o.schema?.length ? (i(), ae(Se(r.value), {
|
|
1670
1670
|
key: 0,
|
|
1671
1671
|
title: o.title,
|
|
1672
|
-
style:
|
|
1672
|
+
style: ge(o.style)
|
|
1673
1673
|
}, {
|
|
1674
|
-
default:
|
|
1675
|
-
(i(!0), d(Y, null, le(s.value, (c) => (i(), ae(
|
|
1674
|
+
default: Be(() => [
|
|
1675
|
+
(i(!0), d(Y, null, le(s.value, (c) => (i(), ae(ht, Ee({
|
|
1676
1676
|
key: c.name
|
|
1677
1677
|
}, { ref_for: !0 }, c, {
|
|
1678
1678
|
item: c,
|
|
@@ -1683,9 +1683,9 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1683
1683
|
}), null, 16, ["item", "modelValue", "onUpdate:modelValue", "style", "error"]))), 128))
|
|
1684
1684
|
]),
|
|
1685
1685
|
_: 1
|
|
1686
|
-
}, 8, ["title", "style"])) :
|
|
1686
|
+
}, 8, ["title", "style"])) : A("", !0);
|
|
1687
1687
|
}
|
|
1688
|
-
}),
|
|
1688
|
+
}), La = { class: "relative" }, Sa = { class: "w-full h-full fixed top-0 start-0 z-[1000] bg-black bg-opacity-50" }, Ba = { class: "m-[10px] fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 min-h-0 h-fit max-h-[80vh] overflow-hidden opacity-1 flex flex-col bg-white dark:bg-[#1A1A1A] border dark:border-[#454545] pointer-events-auto shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-xl lg:w-7/12 w-11/12" }, ja = { class: "py-2.5 px-4 flex justify-between items-center border-0 border-b border-solid border-gray-200 dark:border-b-[#454545]" }, Ia = { class: "font-medium text-gray-800 dark:text-[#ffffff]" }, za = { class: "p-4 mim-h-0 h-full overflow-auto" }, Ea = /* @__PURE__ */ F({
|
|
1689
1689
|
__name: "modal-edit",
|
|
1690
1690
|
props: {
|
|
1691
1691
|
schema: {},
|
|
@@ -1700,7 +1700,7 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1700
1700
|
async function v() {
|
|
1701
1701
|
const x = a.value.validate();
|
|
1702
1702
|
if (x) {
|
|
1703
|
-
|
|
1703
|
+
ke({ type: "warning", title: "Помилка валідації", message: Object.entries(x).map(([g, _]) => `${g}: ${_}`).join(`
|
|
1704
1704
|
`) });
|
|
1705
1705
|
return;
|
|
1706
1706
|
}
|
|
@@ -1714,29 +1714,29 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1714
1714
|
body: JSON.stringify(r.value)
|
|
1715
1715
|
});
|
|
1716
1716
|
if (g.ok)
|
|
1717
|
-
await g.json(),
|
|
1717
|
+
await g.json(), ke({
|
|
1718
1718
|
type: "success",
|
|
1719
1719
|
title: "Успішно",
|
|
1720
1720
|
message: `Дані успішно ${c.value === "add" ? "збережено" : "оновлено"}`
|
|
1721
1721
|
}), n("save", r.value);
|
|
1722
1722
|
else if (g.status === 400) {
|
|
1723
1723
|
const _ = await g.json().catch(() => ({}));
|
|
1724
|
-
|
|
1724
|
+
ke({
|
|
1725
1725
|
type: "warning",
|
|
1726
1726
|
title: "Помилка валідації",
|
|
1727
1727
|
message: _.message || "Некоректні дані (400)"
|
|
1728
1728
|
});
|
|
1729
|
-
} else g.status === 500 ?
|
|
1729
|
+
} else g.status === 500 ? ke({
|
|
1730
1730
|
type: "error",
|
|
1731
1731
|
title: "Серверна помилка",
|
|
1732
1732
|
message: "Виникла помилка на сервері (500)"
|
|
1733
|
-
}) :
|
|
1733
|
+
}) : ke({
|
|
1734
1734
|
type: "error",
|
|
1735
1735
|
title: "Помилка",
|
|
1736
1736
|
message: `Статус: ${g.status}`
|
|
1737
1737
|
});
|
|
1738
1738
|
} catch (g) {
|
|
1739
|
-
|
|
1739
|
+
ke({
|
|
1740
1740
|
type: "error",
|
|
1741
1741
|
title: "Помилка з’єднання",
|
|
1742
1742
|
message: g.message || "Не вдалося виконати запит"
|
|
@@ -1746,7 +1746,7 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1746
1746
|
function p() {
|
|
1747
1747
|
n("close");
|
|
1748
1748
|
}
|
|
1749
|
-
return
|
|
1749
|
+
return be(async () => {
|
|
1750
1750
|
if (t.form) {
|
|
1751
1751
|
const x = await fetch(`/api/template/form/${t.form}`).then((g) => g.json());
|
|
1752
1752
|
s.value = x.schema, u.value = x.token;
|
|
@@ -1755,11 +1755,11 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1755
1755
|
const x = await fetch(`/api/form/${u.value}`).then((g) => g.json());
|
|
1756
1756
|
s.value = x.schema, x.data ? r.value = x.data : c.value = "add";
|
|
1757
1757
|
}
|
|
1758
|
-
}), (x, g) => (i(), d("div",
|
|
1759
|
-
l("div",
|
|
1760
|
-
l("div",
|
|
1761
|
-
l("div",
|
|
1762
|
-
l("h3",
|
|
1758
|
+
}), (x, g) => (i(), d("div", La, [
|
|
1759
|
+
l("div", Sa, [
|
|
1760
|
+
l("div", Ba, [
|
|
1761
|
+
l("div", ja, [
|
|
1762
|
+
l("h3", Ia, T(c.value === "add" ? "Додати" : "Змінити"), 1),
|
|
1763
1763
|
l("button", {
|
|
1764
1764
|
onClick: p,
|
|
1765
1765
|
type: "button",
|
|
@@ -1783,15 +1783,15 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1783
1783
|
], -1)
|
|
1784
1784
|
]))
|
|
1785
1785
|
]),
|
|
1786
|
-
l("div",
|
|
1787
|
-
s.value ? (i(), ae(
|
|
1786
|
+
l("div", za, [
|
|
1787
|
+
s.value ? (i(), ae(Oe, {
|
|
1788
1788
|
key: 0,
|
|
1789
1789
|
schema: s.value,
|
|
1790
1790
|
values: r.value,
|
|
1791
1791
|
"onUpdate:values": g[0] || (g[0] = (_) => r.value = _),
|
|
1792
1792
|
form: a.value,
|
|
1793
1793
|
"onUpdate:form": g[1] || (g[1] = (_) => a.value = _)
|
|
1794
|
-
}, null, 8, ["schema", "values", "form"])) :
|
|
1794
|
+
}, null, 8, ["schema", "values", "form"])) : A("", !0)
|
|
1795
1795
|
]),
|
|
1796
1796
|
l("div", { class: "vs-form__head mr-5 mb-5 mt-3 flex items-center justify-end sticky top-0 left-0 z-[60] bg-white" }, [
|
|
1797
1797
|
l("button", {
|
|
@@ -1809,14 +1809,14 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1809
1809
|
])
|
|
1810
1810
|
]));
|
|
1811
1811
|
}
|
|
1812
|
-
}),
|
|
1813
|
-
const { close: t } =
|
|
1812
|
+
}), Pe = (o = { mode: "edit", schema: null }) => new Promise((e) => {
|
|
1813
|
+
const { close: t } = Lt({
|
|
1814
1814
|
title: o.mode === "add" ? "Додати" : "Редагувати",
|
|
1815
1815
|
template: "",
|
|
1816
1816
|
visible: !0,
|
|
1817
1817
|
size: "medium",
|
|
1818
1818
|
closeClickBack: !0,
|
|
1819
|
-
content:
|
|
1819
|
+
content: Ea,
|
|
1820
1820
|
contentProps: {
|
|
1821
1821
|
...o,
|
|
1822
1822
|
onClose: () => {
|
|
@@ -1827,13 +1827,13 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1827
1827
|
}
|
|
1828
1828
|
}
|
|
1829
1829
|
});
|
|
1830
|
-
}),
|
|
1830
|
+
}), Aa = ["aria-expanded", "data-focus"], Fa = { class: "flex items-center" }, Da = ["title"], Oa = ["onClick"], Ua = ["title"], Ta = {
|
|
1831
1831
|
key: 2,
|
|
1832
1832
|
class: "text-gray-500 truncate"
|
|
1833
|
-
},
|
|
1833
|
+
}, Ra = { class: "flex-1 min-w-[2px]" }, Pa = ["placeholder"], Ha = { class: "flex items-center shrink-0" }, Na = ["disabled"], qa = ["disabled", "title"], Ga = ["aria-disabled", "onClick"], Ja = {
|
|
1834
1834
|
key: 1,
|
|
1835
1835
|
class: "px-3 py-2 text-center text-gray-500"
|
|
1836
|
-
},
|
|
1836
|
+
}, Ka = ["disabled"], Za = /* @__PURE__ */ F({
|
|
1837
1837
|
__name: "vs-input-select",
|
|
1838
1838
|
props: {
|
|
1839
1839
|
multiple: { type: Boolean, default: !1 },
|
|
@@ -1858,18 +1858,18 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1858
1858
|
},
|
|
1859
1859
|
emits: ["change", "update:modelValue"],
|
|
1860
1860
|
setup(o, { emit: e }) {
|
|
1861
|
-
const t = o, n = e, s =
|
|
1862
|
-
|
|
1863
|
-
const a =
|
|
1861
|
+
const t = o, n = e, s = O(() => t.multiple), r = O(() => t.disabled);
|
|
1862
|
+
ye(t.style);
|
|
1863
|
+
const a = O({
|
|
1864
1864
|
get: () => t.modelValue,
|
|
1865
1865
|
set: (h) => n("update:modelValue", h)
|
|
1866
1866
|
});
|
|
1867
1867
|
!a.value && t.defaultValue && (a.value = t.defaultValue);
|
|
1868
|
-
const u = w(null), c = w(null), v = w(null), p = w(!1), x = w(!1), g = w(null), _ = w([]), S = w(-1), R = w([]), $ = w(""), z = w(null), B = w("bottom"), m = w({}), f = w([]), Z =
|
|
1868
|
+
const u = w(null), c = w(null), v = w(null), p = w(!1), x = w(!1), g = w(null), _ = w([]), S = w(-1), R = w([]), $ = w(""), z = w(null), B = w("bottom"), m = w({}), f = w([]), Z = O(() => {
|
|
1869
1869
|
if (!f.value.length) return [];
|
|
1870
1870
|
const h = new Map(_.value.map((b) => [b.id?.toString(), b]));
|
|
1871
1871
|
return f.value.map((b) => h.get(b?.toString())).filter((b) => !!b);
|
|
1872
|
-
}), U =
|
|
1872
|
+
}), U = O(() => t.placeholder || "Select..."), D = O(() => s.value ? !f.value.length && $.value === "" : !g.value?.text && $.value === ""), ie = O(() => r.value ? !1 : s.value ? f.value.length > 0 : !!a.value), ee = (h) => s.value ? f.value.some((b) => b?.toString() === h?.toString()) : a.value?.toString() === h?.toString(), W = O(() => {
|
|
1873
1873
|
let h = _.value ?? [];
|
|
1874
1874
|
if (!t.data && $.value.trim() !== "") {
|
|
1875
1875
|
const b = $.value.toLowerCase();
|
|
@@ -1880,18 +1880,18 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1880
1880
|
h = h.filter((V) => !b.has(V.id?.toString()));
|
|
1881
1881
|
}
|
|
1882
1882
|
return h;
|
|
1883
|
-
}),
|
|
1883
|
+
}), je = Me("values"), xe = O(() => t.parent ? je?.value?.[t.parent] ?? null : null), I = async (h) => {
|
|
1884
1884
|
if (!t.data) {
|
|
1885
1885
|
let b = t.options ?? [];
|
|
1886
1886
|
if (h?.trim()) {
|
|
1887
1887
|
const V = h.toLowerCase();
|
|
1888
|
-
b = b.filter((
|
|
1888
|
+
b = b.filter((N) => N.text?.toLowerCase?.().includes(V));
|
|
1889
1889
|
}
|
|
1890
1890
|
return b;
|
|
1891
1891
|
}
|
|
1892
1892
|
try {
|
|
1893
|
-
const b = t.host ?? "", V = t.prefix ?? "api",
|
|
1894
|
-
return
|
|
1893
|
+
const b = t.host ?? "", V = t.prefix ?? "api", N = t.api ?? `/${V}/suggest/${t.data}`, se = `${b}${N}`, ne = new URLSearchParams();
|
|
1894
|
+
return ne.set("json", "1"), h && ne.set("key", h), xe.value !== void 0 && xe.value !== null && xe.value !== "" && ne.set("parent", String(xe.value)), (await fetch(`${se}?${ne.toString()}`).then((Ie) => Ie.json()))?.data ?? [];
|
|
1895
1895
|
} catch {
|
|
1896
1896
|
return [];
|
|
1897
1897
|
}
|
|
@@ -1899,24 +1899,24 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1899
1899
|
t.data ? _.value = await I($.value) : _.value = t.options ? [...t.options] : [];
|
|
1900
1900
|
}, E = async (h) => {
|
|
1901
1901
|
if (h == null) return null;
|
|
1902
|
-
const b = _.value?.find((
|
|
1902
|
+
const b = _.value?.find((N) => N?.id?.toString() === String(h));
|
|
1903
1903
|
return b || ((await I(String(h)))?.[0] ?? null);
|
|
1904
1904
|
}, G = async (h) => {
|
|
1905
|
-
const b = new Set(_.value.map((
|
|
1906
|
-
V.length && await V.reduce(async (
|
|
1907
|
-
await
|
|
1908
|
-
const
|
|
1909
|
-
|
|
1905
|
+
const b = new Set(_.value.map((N) => N.id?.toString())), V = h.filter((N) => !b.has(N?.toString()));
|
|
1906
|
+
V.length && await V.reduce(async (N, se) => {
|
|
1907
|
+
await N;
|
|
1908
|
+
const ne = await E(se);
|
|
1909
|
+
ne && _.value.push(ne);
|
|
1910
1910
|
}, Promise.resolve());
|
|
1911
1911
|
}, oe = async () => {
|
|
1912
1912
|
r.value || (p.value = !0, await C(), await ze(() => {
|
|
1913
1913
|
he(), z.value?.focus(), W.value.length ? S.value = 0 : S.value = -1;
|
|
1914
1914
|
}));
|
|
1915
|
-
},
|
|
1915
|
+
}, ue = () => {
|
|
1916
1916
|
p.value = !1, S.value = -1;
|
|
1917
|
-
},
|
|
1917
|
+
}, we = async (h) => {
|
|
1918
1918
|
if (r.value) return;
|
|
1919
|
-
!p.value ? await oe() :
|
|
1919
|
+
!p.value ? await oe() : ue();
|
|
1920
1920
|
}, y = async () => {
|
|
1921
1921
|
p.value ? z.value?.focus() : await oe();
|
|
1922
1922
|
}, k = () => {
|
|
@@ -1926,39 +1926,54 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1926
1926
|
}, J = (h) => {
|
|
1927
1927
|
s.value ? (ee(h.id) || (f.value = [...f.value, h.id], a.value = [...f.value], n("change", a.value)), $.value = "", ze(() => {
|
|
1928
1928
|
z.value?.focus(), S.value = Math.min(S.value, W.value.length - 1);
|
|
1929
|
-
})) : (g.value = h, a.value = h.id, n("change", a.value), $.value = "",
|
|
1930
|
-
},
|
|
1929
|
+
})) : (g.value = h, a.value = h.id, n("change", a.value), $.value = "", ue());
|
|
1930
|
+
}, fe = (h) => {
|
|
1931
1931
|
ee(h.id) || J(h);
|
|
1932
1932
|
}, _e = (h, b) => {
|
|
1933
1933
|
if (!h || !b) return;
|
|
1934
|
-
const V = h.offsetTop,
|
|
1934
|
+
const V = h.offsetTop, N = V + h.offsetHeight, se = b.scrollTop, ne = se + b.clientHeight;
|
|
1935
1935
|
let Le = b.scrollTop;
|
|
1936
|
-
V < se ? Le = V - 80 :
|
|
1937
|
-
const
|
|
1938
|
-
|
|
1936
|
+
V < se ? Le = V - 80 : N > ne && (Le = N - b.clientHeight + 4);
|
|
1937
|
+
const Ie = b;
|
|
1938
|
+
Ie.scrollTop = Le;
|
|
1939
1939
|
}, me = (h) => {
|
|
1940
1940
|
let b = h.parentElement;
|
|
1941
1941
|
for (; b; ) {
|
|
1942
|
-
|
|
1943
|
-
if (H.includes("auto") || H.includes("scroll") || b === document.body || b === document.documentElement)
|
|
1942
|
+
if (b.classList.contains("ui-dialog__content"))
|
|
1944
1943
|
return b;
|
|
1945
|
-
|
|
1944
|
+
{
|
|
1945
|
+
const V = window.getComputedStyle(b), N = V.overflow + V.overflowY + V.overflowX;
|
|
1946
|
+
if (N.includes("auto") || N.includes("scroll") || b === document.body || b === document.documentElement)
|
|
1947
|
+
return b;
|
|
1948
|
+
b = b.parentElement;
|
|
1949
|
+
}
|
|
1946
1950
|
}
|
|
1947
1951
|
return document.body;
|
|
1948
1952
|
}, he = () => {
|
|
1949
1953
|
if (!c.value) return;
|
|
1950
|
-
const h = c.value.getBoundingClientRect(), V = me(c.value).getBoundingClientRect(),
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1954
|
+
const h = c.value.getBoundingClientRect(), V = me(c.value).getBoundingClientRect(), N = 300, se = 20, ne = 8, Le = h.top - V.top, Ie = h.bottom - V.top, Ye = V.height - Ie - ne - se, et = Le - ne - se;
|
|
1955
|
+
let Te = !1;
|
|
1956
|
+
if (Ye >= et ? Te = !0 : Te = !1, Te) {
|
|
1957
|
+
B.value = "bottom";
|
|
1958
|
+
const Re = Math.min(N, Math.max(Ye + se, 50));
|
|
1959
|
+
m.value = {
|
|
1960
|
+
top: `${h.height + ne}px`,
|
|
1961
|
+
left: "0px",
|
|
1962
|
+
right: "0px",
|
|
1963
|
+
bottom: "auto",
|
|
1964
|
+
maxHeight: `${Re}px`
|
|
1965
|
+
};
|
|
1966
|
+
} else {
|
|
1967
|
+
B.value = "top";
|
|
1968
|
+
const Re = Math.min(N, Math.max(et + se, 50));
|
|
1969
|
+
m.value = {
|
|
1970
|
+
top: "auto",
|
|
1971
|
+
left: "0px",
|
|
1972
|
+
right: "0px",
|
|
1973
|
+
bottom: `${h.height + ne}px`,
|
|
1974
|
+
maxHeight: `${Re}px`
|
|
1975
|
+
};
|
|
1976
|
+
}
|
|
1962
1977
|
}, Ce = async (h) => {
|
|
1963
1978
|
r.value || !p.value && (h.key === "ArrowDown" || h.key === "ArrowUp") && (h.preventDefault(), await oe());
|
|
1964
1979
|
}, Ve = (h) => {
|
|
@@ -1972,26 +1987,26 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
1972
1987
|
h.preventDefault();
|
|
1973
1988
|
const V = W.value[S.value];
|
|
1974
1989
|
V && J(V), z.value?.blur();
|
|
1975
|
-
} else b === "Escape" ? (h.preventDefault(),
|
|
1976
|
-
},
|
|
1990
|
+
} else b === "Escape" ? (h.preventDefault(), ue()) : b === "Backspace" ? s.value && $.value === "" && f.value.length && (f.value = f.value.slice(0, -1), a.value = [...f.value], n("change", a.value)) : b === "Home" ? (S.value = 0, _e(R.value[0], v.value)) : b === "End" ? (S.value = W.value.length - 1, _e(R.value[S.value], v.value)) : b === "Tab" && ue();
|
|
1991
|
+
}, bt = () => {
|
|
1977
1992
|
r.value || (x.value = !0);
|
|
1978
|
-
},
|
|
1993
|
+
}, yt = () => {
|
|
1979
1994
|
x.value = !1, $.value = "";
|
|
1980
|
-
}, qe = (h) => {
|
|
1981
|
-
h.key === "Escape" && p.value && ie();
|
|
1982
|
-
}, Ge = (h) => {
|
|
1983
|
-
u.value && (u.value.contains(h.target) || ie());
|
|
1984
1995
|
}, Je = (h) => {
|
|
1996
|
+
h.key === "Escape" && p.value && ue();
|
|
1997
|
+
}, Ke = (h) => {
|
|
1998
|
+
u.value && (u.value.contains(h.target) || ue());
|
|
1999
|
+
}, Ze = (h) => {
|
|
1985
2000
|
p.value && v.value && !v.value.contains(h.target) && he();
|
|
1986
|
-
},
|
|
2001
|
+
}, We = () => {
|
|
1987
2002
|
p.value && he();
|
|
1988
|
-
},
|
|
2003
|
+
}, Qe = () => {
|
|
1989
2004
|
p.value && he();
|
|
1990
2005
|
};
|
|
1991
2006
|
te(() => t.options, (h) => {
|
|
1992
2007
|
h?.length && (_.value = [...h]);
|
|
1993
2008
|
}, { immediate: !0 });
|
|
1994
|
-
const
|
|
2009
|
+
const Xe = async () => {
|
|
1995
2010
|
if (s.value)
|
|
1996
2011
|
Array.isArray(a.value) ? f.value = [...a.value] : (f.value = a.value == null ? [] : [a.value], a.value = [...f.value]), !t.options?.length && t.data && await G(f.value);
|
|
1997
2012
|
else {
|
|
@@ -2003,37 +2018,37 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
2003
2018
|
}
|
|
2004
2019
|
};
|
|
2005
2020
|
te(a, () => {
|
|
2006
|
-
|
|
2007
|
-
}),
|
|
2008
|
-
addEventListener("keydown",
|
|
2009
|
-
}),
|
|
2010
|
-
removeEventListener("keydown",
|
|
2021
|
+
Xe();
|
|
2022
|
+
}), be(async () => {
|
|
2023
|
+
addEventListener("keydown", Je), addEventListener("scroll", Ze, !0), addEventListener("resize", We), document.addEventListener("click", Ke, !0), c.value && me(c.value).addEventListener("scroll", Qe, !0), t.options?.length ? _.value = [...t.options] : t.data && (_.value = await I("")), await Xe();
|
|
2024
|
+
}), He(() => {
|
|
2025
|
+
removeEventListener("keydown", Je), removeEventListener("scroll", Ze, !0), removeEventListener("resize", We), document.removeEventListener("click", Ke, !0), c.value && me(c.value).removeEventListener("scroll", Qe, !0);
|
|
2011
2026
|
});
|
|
2012
|
-
async function
|
|
2027
|
+
async function xt() {
|
|
2013
2028
|
if (!t.add) return;
|
|
2014
|
-
const h = await
|
|
2029
|
+
const h = await Pe({ form: t.add.form, mode: "add" });
|
|
2015
2030
|
h && (await fetch(`/api/table/${t.add.token}`, {
|
|
2016
2031
|
method: "POST",
|
|
2017
2032
|
headers: { "Content-Type": "application/json" },
|
|
2018
2033
|
body: JSON.stringify(h)
|
|
2019
2034
|
}).then((b) => b.json()), !t.options?.length && t.data && (_.value = await I($.value)));
|
|
2020
2035
|
}
|
|
2021
|
-
function
|
|
2036
|
+
function wt(h, b = 200) {
|
|
2022
2037
|
let V;
|
|
2023
|
-
return (...
|
|
2024
|
-
V && clearTimeout(V), V = window.setTimeout(() => h(...
|
|
2038
|
+
return (...N) => {
|
|
2039
|
+
V && clearTimeout(V), V = window.setTimeout(() => h(...N), b);
|
|
2025
2040
|
};
|
|
2026
2041
|
}
|
|
2027
|
-
const
|
|
2042
|
+
const kt = wt(async (h) => {
|
|
2028
2043
|
_.value = await I(h);
|
|
2029
2044
|
}, 200);
|
|
2030
2045
|
return te($, (h) => {
|
|
2031
|
-
t.data &&
|
|
2046
|
+
t.data && kt(h.trim());
|
|
2032
2047
|
}), te(() => t.options, (h) => {
|
|
2033
2048
|
!t.data && h?.length && (_.value = [...h]);
|
|
2034
2049
|
}, { immediate: !0 }), te(() => t.parent ?? t.parentValue, () => {
|
|
2035
2050
|
t.data && C();
|
|
2036
|
-
}), te(
|
|
2051
|
+
}), te(xe, async () => {
|
|
2037
2052
|
t.data && (s.value ? (f.value = [], a.value = [], n("change", [])) : (g.value = null, a.value = null, n("change", null)));
|
|
2038
2053
|
}), (h, b) => (i(), d("div", {
|
|
2039
2054
|
class: "flex gap-1 w-full",
|
|
@@ -2079,21 +2094,21 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
2079
2094
|
class: "flex min-w-0 bg-[#e6e6e6] rounded-sm m-0.5 box-border",
|
|
2080
2095
|
key: V.id
|
|
2081
2096
|
}, [
|
|
2082
|
-
l("div",
|
|
2097
|
+
l("div", Fa, [
|
|
2083
2098
|
V?.color ? (i(), d("span", {
|
|
2084
2099
|
key: 0,
|
|
2085
2100
|
class: "w-[16px] h-[16px] rounded-md block ml-1.5",
|
|
2086
|
-
style:
|
|
2087
|
-
}, null, 4)) :
|
|
2101
|
+
style: ge({ backgroundColor: V?.color })
|
|
2102
|
+
}, null, 4)) : A("", !0),
|
|
2088
2103
|
l("div", {
|
|
2089
2104
|
class: "truncate text-gray-900 overflow-hidden",
|
|
2090
2105
|
title: V.text
|
|
2091
|
-
}, T(V.text), 9,
|
|
2106
|
+
}, T(V.text), 9, Da)
|
|
2092
2107
|
]),
|
|
2093
2108
|
l("div", {
|
|
2094
2109
|
role: "button",
|
|
2095
2110
|
class: "flex items-center rounded-sm px-1 box-border hover:bg-[#ffbdad] hover:text-[#de350b]",
|
|
2096
|
-
onClick: ve((
|
|
2111
|
+
onClick: ve((N) => P(V.id), ["stop"])
|
|
2097
2112
|
}, b[3] || (b[3] = [
|
|
2098
2113
|
l("svg", {
|
|
2099
2114
|
height: "14",
|
|
@@ -2105,7 +2120,7 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
2105
2120
|
}, [
|
|
2106
2121
|
l("path", { d: "M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z" })
|
|
2107
2122
|
], -1)
|
|
2108
|
-
]), 8,
|
|
2123
|
+
]), 8, Oa)
|
|
2109
2124
|
]))), 128)) : !s.value && !x.value && g.value?.text && $.value === "" ? (i(), d("div", {
|
|
2110
2125
|
key: 1,
|
|
2111
2126
|
class: M(["truncate text-gray-900"]),
|
|
@@ -2114,14 +2129,14 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
2114
2129
|
g.value?.color ? (i(), d("span", {
|
|
2115
2130
|
key: 0,
|
|
2116
2131
|
class: "w-[14px] h-[14px] rounded-md block mr-1 mt-1 absolute",
|
|
2117
|
-
style:
|
|
2118
|
-
}, null, 4)) :
|
|
2132
|
+
style: ge({ backgroundColor: g.value?.color })
|
|
2133
|
+
}, null, 4)) : A("", !0),
|
|
2119
2134
|
l("span", {
|
|
2120
2135
|
class: M({ "pl-5": g.value?.color })
|
|
2121
2136
|
}, T(g.value.text), 3)
|
|
2122
|
-
], 8,
|
|
2123
|
-
|
|
2124
|
-
l("div",
|
|
2137
|
+
], 8, Ua)) : A("", !0),
|
|
2138
|
+
D.value ? (i(), d("div", Ta, T(U.value), 1)) : A("", !0),
|
|
2139
|
+
l("div", Ra, [
|
|
2125
2140
|
!r.value && h.search ? K((i(), d("input", {
|
|
2126
2141
|
key: 0,
|
|
2127
2142
|
ref_key: "inputRef",
|
|
@@ -2136,16 +2151,16 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
2136
2151
|
"aria-autocomplete": "list",
|
|
2137
2152
|
placeholder: (s.value && f.value.length ? " " : null) || (x.value && !$.value?.length ? g.value?.text : " "),
|
|
2138
2153
|
"onUpdate:modelValue": b[0] || (b[0] = (V) => $.value = V),
|
|
2139
|
-
onFocus:
|
|
2140
|
-
onBlur:
|
|
2154
|
+
onFocus: bt,
|
|
2155
|
+
onBlur: yt,
|
|
2141
2156
|
onKeydown: Ve
|
|
2142
|
-
}, null, 40,
|
|
2143
|
-
[
|
|
2144
|
-
]) :
|
|
2157
|
+
}, null, 40, Pa)), [
|
|
2158
|
+
[re, $.value]
|
|
2159
|
+
]) : A("", !0)
|
|
2145
2160
|
])
|
|
2146
2161
|
], 512),
|
|
2147
|
-
l("div",
|
|
2148
|
-
|
|
2162
|
+
l("div", Ha, [
|
|
2163
|
+
ie.value ? (i(), d("button", {
|
|
2149
2164
|
key: 0,
|
|
2150
2165
|
type: "button",
|
|
2151
2166
|
class: "px-2 text-gray-400 hover:text-gray-500 transition-colors disabled:opacity-50",
|
|
@@ -2161,14 +2176,15 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
2161
2176
|
}, [
|
|
2162
2177
|
l("path", { d: "M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z" })
|
|
2163
2178
|
], -1)
|
|
2164
|
-
]), 8,
|
|
2179
|
+
]), 8, Na)) : A("", !0),
|
|
2165
2180
|
b[6] || (b[6] = l("div", { class: "self-stretch w-px bg-[#ccc] my-[1px]" }, null, -1)),
|
|
2166
2181
|
l("button", {
|
|
2167
2182
|
type: "button",
|
|
2168
2183
|
class: "px-2 text-gray-400 hover:text-gray-500 transition-colors disabled:opacity-50",
|
|
2169
2184
|
"aria-hidden": "true",
|
|
2170
2185
|
disabled: r.value,
|
|
2171
|
-
onClick: b[1] || (b[1] = ve((V) =>
|
|
2186
|
+
onClick: b[1] || (b[1] = ve((V) => we(), ["stop"])),
|
|
2187
|
+
title: p.value ? "Закрити список" : "Відкрити список"
|
|
2172
2188
|
}, b[5] || (b[5] = [
|
|
2173
2189
|
l("svg", {
|
|
2174
2190
|
height: "20",
|
|
@@ -2178,70 +2194,71 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
2178
2194
|
}, [
|
|
2179
2195
|
l("path", { d: "M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z" })
|
|
2180
2196
|
], -1)
|
|
2181
|
-
]), 8,
|
|
2197
|
+
]), 8, qa)
|
|
2182
2198
|
])
|
|
2183
|
-
], 42,
|
|
2199
|
+
], 42, Aa),
|
|
2184
2200
|
p.value ? (i(), d("div", {
|
|
2185
2201
|
key: 0,
|
|
2186
2202
|
class: M([
|
|
2187
2203
|
"absolute z-10 w-full rounded bg-white shadow-[0_0_0_1px_rgba(0,0,0,0.1),0_4px_11px_rgba(0,0,0,0.1)]",
|
|
2188
2204
|
B.value === "bottom" ? "mt-2" : "mb-2"
|
|
2189
2205
|
]),
|
|
2190
|
-
style:
|
|
2206
|
+
style: ge(m.value),
|
|
2191
2207
|
role: "listbox"
|
|
2192
2208
|
}, [
|
|
2193
2209
|
l("div", {
|
|
2194
|
-
class: "
|
|
2210
|
+
class: "overflow-y-auto py-1",
|
|
2211
|
+
style: ge({ maxHeight: m.value.maxHeight || "300px" }),
|
|
2195
2212
|
ref_key: "listRef",
|
|
2196
2213
|
ref: v
|
|
2197
2214
|
}, [
|
|
2198
|
-
W.value.length ? (i(!0), d(Y, { key: 0 }, le(W.value, (V,
|
|
2215
|
+
W.value.length ? (i(!0), d(Y, { key: 0 }, le(W.value, (V, N) => (i(), d("div", {
|
|
2199
2216
|
key: V.id,
|
|
2200
2217
|
ref_for: !0,
|
|
2201
|
-
ref: (se) => R.value[
|
|
2218
|
+
ref: (se) => R.value[N] = se,
|
|
2202
2219
|
class: M([
|
|
2203
2220
|
"flex px-3 py-2 cursor-default select-none hover:bg-blue-300",
|
|
2204
|
-
S.value ===
|
|
2221
|
+
S.value === N ? "bg-blue-300" : "",
|
|
2205
2222
|
ee(V.id) ? "text-white bg-blue-500" : "text-gray-900 bg-white"
|
|
2206
2223
|
]),
|
|
2207
2224
|
"aria-disabled": ee(V.id) ? "true" : "false",
|
|
2208
2225
|
role: "option",
|
|
2209
2226
|
tabindex: "-1",
|
|
2210
|
-
onClick: (se) =>
|
|
2227
|
+
onClick: (se) => fe(V)
|
|
2211
2228
|
}, [
|
|
2212
2229
|
V?.color ? (i(), d("span", {
|
|
2213
2230
|
key: 0,
|
|
2214
2231
|
class: "w-[11px] h-[11px] rounded-full block mr-1 mt-1.5",
|
|
2215
|
-
style:
|
|
2216
|
-
}, null, 4)) :
|
|
2232
|
+
style: ge({ backgroundColor: V?.color })
|
|
2233
|
+
}, null, 4)) : A("", !0),
|
|
2217
2234
|
l("div", {
|
|
2218
2235
|
class: M([
|
|
2219
2236
|
"leading-[19px]",
|
|
2220
2237
|
S.value === V.id ? "text-white" : "",
|
|
2221
2238
|
// active style like react-select
|
|
2222
|
-
(S.value ===
|
|
2239
|
+
(S.value === N, "")
|
|
2223
2240
|
])
|
|
2224
2241
|
}, T(V.text), 3)
|
|
2225
|
-
], 10,
|
|
2226
|
-
],
|
|
2227
|
-
], 6)) :
|
|
2242
|
+
], 10, Ga))), 128)) : (i(), d("div", Ja, " No options "))
|
|
2243
|
+
], 4)
|
|
2244
|
+
], 6)) : A("", !0)
|
|
2228
2245
|
], 2),
|
|
2229
2246
|
t.add ? (i(), d("button", {
|
|
2230
2247
|
key: 0,
|
|
2231
|
-
onClick:
|
|
2248
|
+
onClick: xt,
|
|
2232
2249
|
class: "bg-white hover:bg-gray-100 text-sm text-gray-900 py-[10px] px-3 border border-stone-200 rounded-md h-[38px] flex items-center gap-2",
|
|
2233
2250
|
disabled: r.value,
|
|
2234
2251
|
type: "button"
|
|
2235
2252
|
}, [
|
|
2236
|
-
j(
|
|
2253
|
+
j(Ae, {
|
|
2237
2254
|
width: "16",
|
|
2238
2255
|
height: "16"
|
|
2239
2256
|
}),
|
|
2240
2257
|
b[9] || (b[9] = l("span", null, "Додати", -1))
|
|
2241
|
-
], 8,
|
|
2258
|
+
], 8, Ka)) : A("", !0)
|
|
2242
2259
|
], 512));
|
|
2243
2260
|
}
|
|
2244
|
-
}),
|
|
2261
|
+
}), Wa = ["placeholder", "disabled"], Qa = /* @__PURE__ */ F({
|
|
2245
2262
|
__name: "vs-input-textarea",
|
|
2246
2263
|
props: /* @__PURE__ */ Q({
|
|
2247
2264
|
style: { default: () => ({}) },
|
|
@@ -2257,7 +2274,7 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
2257
2274
|
}),
|
|
2258
2275
|
emits: ["update:modelValue"],
|
|
2259
2276
|
setup(o) {
|
|
2260
|
-
const e = o, { inputClass: t } =
|
|
2277
|
+
const e = o, { inputClass: t } = ye(e.style), n = X(o, "modelValue");
|
|
2261
2278
|
return (s, r) => K((i(), d("textarea", {
|
|
2262
2279
|
"onUpdate:modelValue": r[0] || (r[0] = (a) => n.value = a),
|
|
2263
2280
|
placeholder: s.placeholder,
|
|
@@ -2267,11 +2284,11 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
2267
2284
|
style: {
|
|
2268
2285
|
border: "1px solid #CFD9E0"
|
|
2269
2286
|
}
|
|
2270
|
-
}, null, 10,
|
|
2271
|
-
[
|
|
2287
|
+
}, null, 10, Wa)), [
|
|
2288
|
+
[re, n.value]
|
|
2272
2289
|
]);
|
|
2273
2290
|
}
|
|
2274
|
-
}),
|
|
2291
|
+
}), Xa = {}, Ya = {
|
|
2275
2292
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2276
2293
|
viewBox: "0 0 24 24",
|
|
2277
2294
|
fill: "none",
|
|
@@ -2281,8 +2298,8 @@ const No = /* @__PURE__ */ N(To, [["render", Po]]), Ho = { class: "flex flex-col
|
|
|
2281
2298
|
"stroke-linejoin": "round",
|
|
2282
2299
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-search stroke-gray-500 transition-all"
|
|
2283
2300
|
};
|
|
2284
|
-
function
|
|
2285
|
-
return i(), d("svg",
|
|
2301
|
+
function es(o, e) {
|
|
2302
|
+
return i(), d("svg", Ya, e[0] || (e[0] = [
|
|
2286
2303
|
l("path", {
|
|
2287
2304
|
stroke: "none",
|
|
2288
2305
|
d: "M0 0h24v24H0z",
|
|
@@ -2292,7 +2309,7 @@ function Qa(o, e) {
|
|
|
2292
2309
|
l("path", { d: "M21 21l-6 -6" }, null, -1)
|
|
2293
2310
|
]));
|
|
2294
2311
|
}
|
|
2295
|
-
const
|
|
2312
|
+
const ts = /* @__PURE__ */ H(Xa, [["render", es]]), ls = {}, os = {
|
|
2296
2313
|
class: "flex-shrink-0 mt-0.5 size-3.5",
|
|
2297
2314
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2298
2315
|
viewBox: "0 0 24 24",
|
|
@@ -2302,15 +2319,15 @@ const Xa = /* @__PURE__ */ N(Za, [["render", Qa]]), Ya = {}, es = {
|
|
|
2302
2319
|
"stroke-linecap": "round",
|
|
2303
2320
|
"stroke-linejoin": "round"
|
|
2304
2321
|
};
|
|
2305
|
-
function
|
|
2306
|
-
return i(), d("svg",
|
|
2322
|
+
function as(o, e) {
|
|
2323
|
+
return i(), d("svg", os, e[0] || (e[0] = [
|
|
2307
2324
|
l("path", { d: "m3 16 4 4 4-4" }, null, -1),
|
|
2308
2325
|
l("path", { d: "M7 20V4" }, null, -1),
|
|
2309
2326
|
l("path", { d: "m21 8-4-4-4 4" }, null, -1),
|
|
2310
2327
|
l("path", { d: "M17 4v16" }, null, -1)
|
|
2311
2328
|
]));
|
|
2312
2329
|
}
|
|
2313
|
-
const
|
|
2330
|
+
const ss = /* @__PURE__ */ H(ls, [["render", as]]), ns = {}, rs = {
|
|
2314
2331
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2315
2332
|
width: "14",
|
|
2316
2333
|
height: "14",
|
|
@@ -2321,8 +2338,8 @@ const ls = /* @__PURE__ */ N(Ya, [["render", ts]]), os = {}, as = {
|
|
|
2321
2338
|
"stroke-linecap": "round",
|
|
2322
2339
|
"stroke-linejoin": "round"
|
|
2323
2340
|
};
|
|
2324
|
-
function
|
|
2325
|
-
return i(), d("svg",
|
|
2341
|
+
function is(o, e) {
|
|
2342
|
+
return i(), d("svg", rs, e[0] || (e[0] = [
|
|
2326
2343
|
l("path", {
|
|
2327
2344
|
stroke: "none",
|
|
2328
2345
|
d: "M0 0h24v24H0z",
|
|
@@ -2333,7 +2350,7 @@ function ss(o, e) {
|
|
|
2333
2350
|
l("path", { d: "M12 4l0 12" }, null, -1)
|
|
2334
2351
|
]));
|
|
2335
2352
|
}
|
|
2336
|
-
const
|
|
2353
|
+
const us = /* @__PURE__ */ H(ns, [["render", is]]), ds = {}, cs = {
|
|
2337
2354
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2338
2355
|
viewBox: "0 0 24 24",
|
|
2339
2356
|
fill: "none",
|
|
@@ -2342,8 +2359,8 @@ const ns = /* @__PURE__ */ N(os, [["render", ss]]), rs = {}, is = {
|
|
|
2342
2359
|
"stroke-linecap": "round",
|
|
2343
2360
|
"stroke-linejoin": "round"
|
|
2344
2361
|
};
|
|
2345
|
-
function
|
|
2346
|
-
return i(), d("svg",
|
|
2362
|
+
function ps(o, e) {
|
|
2363
|
+
return i(), d("svg", cs, e[0] || (e[0] = [
|
|
2347
2364
|
l("path", {
|
|
2348
2365
|
stroke: "none",
|
|
2349
2366
|
d: "M0 0h24v24H0z",
|
|
@@ -2354,7 +2371,7 @@ function us(o, e) {
|
|
|
2354
2371
|
l("path", { d: "M12 4l0 12" }, null, -1)
|
|
2355
2372
|
]));
|
|
2356
2373
|
}
|
|
2357
|
-
const
|
|
2374
|
+
const fs = /* @__PURE__ */ H(ds, [["render", ps]]), vs = {}, ms = {
|
|
2358
2375
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2359
2376
|
viewBox: "0 0 24 24",
|
|
2360
2377
|
fill: "none",
|
|
@@ -2363,22 +2380,22 @@ const ds = /* @__PURE__ */ N(rs, [["render", us]]), cs = {}, ps = {
|
|
|
2363
2380
|
"stroke-linecap": "round",
|
|
2364
2381
|
"stroke-linejoin": "round"
|
|
2365
2382
|
};
|
|
2366
|
-
function
|
|
2367
|
-
return i(), d("svg",
|
|
2368
|
-
|
|
2383
|
+
function hs(o, e) {
|
|
2384
|
+
return i(), d("svg", ms, e[0] || (e[0] = [
|
|
2385
|
+
de('<circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle>', 6)
|
|
2369
2386
|
]));
|
|
2370
2387
|
}
|
|
2371
|
-
const
|
|
2388
|
+
const rt = /* @__PURE__ */ H(vs, [["render", hs]]), gs = {}, bs = {
|
|
2372
2389
|
viewBox: "0 0 178 90",
|
|
2373
2390
|
fill: "none",
|
|
2374
2391
|
xmlns: "http://www.w3.org/2000/svg"
|
|
2375
2392
|
};
|
|
2376
|
-
function
|
|
2377
|
-
return i(), d("svg",
|
|
2378
|
-
|
|
2393
|
+
function ys(o, e) {
|
|
2394
|
+
return i(), d("svg", bs, e[0] || (e[0] = [
|
|
2395
|
+
de('<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)
|
|
2379
2396
|
]));
|
|
2380
2397
|
}
|
|
2381
|
-
const
|
|
2398
|
+
const xs = /* @__PURE__ */ H(gs, [["render", ys]]), ws = {}, ks = {
|
|
2382
2399
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2383
2400
|
viewBox: "0 0 24 24",
|
|
2384
2401
|
fill: "none",
|
|
@@ -2387,16 +2404,16 @@ const gs = /* @__PURE__ */ N(vs, [["render", hs]]), bs = {}, ys = {
|
|
|
2387
2404
|
"stroke-linecap": "round",
|
|
2388
2405
|
"stroke-linejoin": "round"
|
|
2389
2406
|
};
|
|
2390
|
-
function
|
|
2391
|
-
return i(), d("svg",
|
|
2407
|
+
function _s(o, e) {
|
|
2408
|
+
return i(), d("svg", ks, e[0] || (e[0] = [
|
|
2392
2409
|
l("path", { d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z" }, null, -1)
|
|
2393
2410
|
]));
|
|
2394
2411
|
}
|
|
2395
|
-
const
|
|
2412
|
+
const $s = /* @__PURE__ */ H(ws, [["render", _s]]), Cs = { class: "vs-datatable border rounded-xl w-full flex-grow" }, Vs = { class: "flex items-center npm gap-[16px] justify-between p-[20px] pb-[16px]" }, Ms = { class: "relative w-full" }, Ls = { class: "table-wrapper flex gap-2" }, Ss = { class: "vs-popover inline-block text-slate-700" }, Bs = { class: "text-center" }, js = { class: "" }, Is = { class: "py-1 px-0 w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-lg focus:outline-none focus:bg-stone-100 dark:bg-neutral-900 dark:text-neutral-200 dark:focus:bg-neutral-800 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" }, zs = { class: "flex flex-col p-[1px] gap-[2px] w-[140px]" }, Es = { class: "text-sm items-center text-gray-800 flex gap-1" }, As = { class: "w-full overflow-x-auto" }, Fs = { class: "w-full table-auto caption-bottom text-sm" }, Ds = { class: "[&_tr]:border-b" }, Os = { class: "border-b data-[state=selected]:bg-muted bg-slate-50/50 dark:bg-slate-700/50 hover:bg-slate-50/80 dark:hover:bg-slate-700/80 transition-colors" }, Us = { class: "h-10 px-2 align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] w-12 text-center" }, Ts = {
|
|
2396
2413
|
key: 0,
|
|
2397
2414
|
colspan: "100%",
|
|
2398
2415
|
class: "text-center"
|
|
2399
|
-
},
|
|
2416
|
+
}, Rs = { class: "w-full" }, Ps = { class: "p-5 min-h-[200px] flex flex-col justify-center items-center text-center" }, Hs = ["onDragstart", "onDragover", "onDrop"], Ns = { class: "p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] text-center" }, qs = { class: "flex items-center justify-center" }, Gs = { class: "inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-slate-100 dark:bg-slate-700 text-slate-700 dark:text-slate-300 hover:bg-slate-200 dark:hover:bg-slate-600 transition-colors" }, Js = { class: "p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]" }, Ks = { class: "flex items-center justify-center gap-2" }, Zs = ["onClick"], Ws = ["onClick"], Qs = { class: "vs-form__head mr-5 mt-3 flex items-center justify-end sticky top-0 left-0 z-[60] bg-white" }, Xs = /* @__PURE__ */ F({
|
|
2400
2417
|
__name: "vs-input-datatable",
|
|
2401
2418
|
props: /* @__PURE__ */ Q({
|
|
2402
2419
|
colModel: {},
|
|
@@ -2413,7 +2430,7 @@ const ws = /* @__PURE__ */ N(bs, [["render", xs]]), ks = { class: "vs-datatable
|
|
|
2413
2430
|
}),
|
|
2414
2431
|
emits: ["update:modelValue"],
|
|
2415
2432
|
setup(o) {
|
|
2416
|
-
const e = o, t = X(o, "modelValue"), n = w({}), s = w(""), r =
|
|
2433
|
+
const e = o, t = X(o, "modelValue"), n = w({}), s = w(""), r = O(() => {
|
|
2417
2434
|
if (!s.value) return t.value ?? [];
|
|
2418
2435
|
const I = s.value.toLowerCase();
|
|
2419
2436
|
return t.value.filter((C) => e.colModel?.some((E) => {
|
|
@@ -2442,20 +2459,20 @@ const ws = /* @__PURE__ */ N(bs, [["render", xs]]), ks = { class: "vs-datatable
|
|
|
2442
2459
|
const G = new FileReader();
|
|
2443
2460
|
G.onload = (oe) => {
|
|
2444
2461
|
try {
|
|
2445
|
-
const
|
|
2446
|
-
if (typeof
|
|
2447
|
-
const
|
|
2448
|
-
Array.isArray(
|
|
2462
|
+
const ue = oe.target?.result;
|
|
2463
|
+
if (typeof ue == "string") {
|
|
2464
|
+
const we = JSON.parse(ue);
|
|
2465
|
+
Array.isArray(we) && t.value.push(...we);
|
|
2449
2466
|
}
|
|
2450
|
-
} catch (
|
|
2451
|
-
console.error("Error parsing file:",
|
|
2467
|
+
} catch (ue) {
|
|
2468
|
+
console.error("Error parsing file:", ue);
|
|
2452
2469
|
}
|
|
2453
2470
|
}, G.readAsText(E);
|
|
2454
2471
|
}, z = () => {
|
|
2455
2472
|
const I = JSON.stringify(t.value, null, 2), C = new Blob([I], { type: "application/json" }), E = URL.createObjectURL(C), G = document.createElement("a");
|
|
2456
2473
|
G.href = E, G.download = "data.json", G.click(), URL.revokeObjectURL(E);
|
|
2457
2474
|
};
|
|
2458
|
-
|
|
2475
|
+
be(async () => {
|
|
2459
2476
|
const I = e.colModel?.filter((C) => C.data);
|
|
2460
2477
|
I?.length && Promise.all(I.map(async (C) => {
|
|
2461
2478
|
const G = await (await fetch(`/api/suggest/${C.data}`)).json();
|
|
@@ -2464,8 +2481,8 @@ const ws = /* @__PURE__ */ N(bs, [["render", xs]]), ks = { class: "vs-datatable
|
|
|
2464
2481
|
});
|
|
2465
2482
|
const B = w(""), m = w(!1);
|
|
2466
2483
|
let f = "edit", Z = 0;
|
|
2467
|
-
const U = w({}),
|
|
2468
|
-
async function
|
|
2484
|
+
const U = w({}), D = w({});
|
|
2485
|
+
async function ie() {
|
|
2469
2486
|
B.value = "Додати", m.value = !0, f = "add", U.value = {};
|
|
2470
2487
|
}
|
|
2471
2488
|
function ee(I, C) {
|
|
@@ -2474,22 +2491,22 @@ const ws = /* @__PURE__ */ N(bs, [["render", xs]]), ks = { class: "vs-datatable
|
|
|
2474
2491
|
async function W(I, C) {
|
|
2475
2492
|
B.value = "Редагувати", m.value = !0, f = "edit", Z = C, U.value = { ...I };
|
|
2476
2493
|
}
|
|
2477
|
-
function
|
|
2478
|
-
const I =
|
|
2494
|
+
function je() {
|
|
2495
|
+
const I = D.value.validate();
|
|
2479
2496
|
if (I) {
|
|
2480
|
-
|
|
2497
|
+
ke({ type: "warning", title: "Помилка валідації", message: Object.entries(I).map(([C, E]) => `${C}: ${E}`).join(`
|
|
2481
2498
|
`) });
|
|
2482
2499
|
return;
|
|
2483
2500
|
}
|
|
2484
2501
|
f === "add" ? Array.isArray(t.value) ? t.value = [...t.value, U.value] : t.value = [U.value] : t.value = t.value.map((C, E) => E === Z ? U.value : C), m.value = !1;
|
|
2485
2502
|
}
|
|
2486
|
-
function
|
|
2503
|
+
function xe(I) {
|
|
2487
2504
|
t.value = t.value.filter((C, E) => E !== I);
|
|
2488
2505
|
}
|
|
2489
|
-
return (I, C) => (i(), d("div",
|
|
2490
|
-
l("div",
|
|
2491
|
-
l("div",
|
|
2492
|
-
j(
|
|
2506
|
+
return (I, C) => (i(), d("div", Cs, [
|
|
2507
|
+
l("div", Vs, [
|
|
2508
|
+
l("div", Ms, [
|
|
2509
|
+
j(ts, {
|
|
2493
2510
|
width: "14",
|
|
2494
2511
|
height: "14",
|
|
2495
2512
|
class: "absolute left-3 top-1/2 transform -translate-y-1/2 text-stone-500"
|
|
@@ -2500,10 +2517,10 @@ const ws = /* @__PURE__ */ N(bs, [["render", xs]]), ks = { class: "vs-datatable
|
|
|
2500
2517
|
placeholder: "Пошук",
|
|
2501
2518
|
class: "py-2 px-3 pl-10 w-full bg-gray-100 h-[36px] rounded-[8px] text-[15px] leading-[18px] focus:border-1 text-stone-800 placeholder:text-[#6B7280] focus:outline-blue-500 focus:outline-2"
|
|
2502
2519
|
}, null, 512), [
|
|
2503
|
-
[
|
|
2520
|
+
[re, s.value]
|
|
2504
2521
|
])
|
|
2505
2522
|
]),
|
|
2506
|
-
l("div",
|
|
2523
|
+
l("div", Ls, [
|
|
2507
2524
|
l("input", {
|
|
2508
2525
|
ref_key: "fileInput",
|
|
2509
2526
|
ref: v,
|
|
@@ -2512,14 +2529,14 @@ const ws = /* @__PURE__ */ N(bs, [["render", xs]]), ks = { class: "vs-datatable
|
|
|
2512
2529
|
accept: ".json",
|
|
2513
2530
|
type: "file"
|
|
2514
2531
|
}, null, 544),
|
|
2515
|
-
l("div",
|
|
2516
|
-
l("div",
|
|
2517
|
-
l("div",
|
|
2532
|
+
l("div", Ss, [
|
|
2533
|
+
l("div", Bs, [
|
|
2534
|
+
l("div", js, [
|
|
2518
2535
|
l("button", {
|
|
2519
2536
|
onClick: S,
|
|
2520
2537
|
class: "bg-white hover:bg-gray-100 font-semibold text-[15px] leadig-[18.5px] py-[10px] px-[12px] border border-[#E5E7EB] rounded-[8px] h-[38px] max-h-[38px] gap-[8px] flex items-center"
|
|
2521
2538
|
}, [
|
|
2522
|
-
j(
|
|
2539
|
+
j(ss, {
|
|
2523
2540
|
height: "16",
|
|
2524
2541
|
width: "16"
|
|
2525
2542
|
})
|
|
@@ -2528,56 +2545,56 @@ const ws = /* @__PURE__ */ N(bs, [["render", xs]]), ks = { class: "vs-datatable
|
|
|
2528
2545
|
])
|
|
2529
2546
|
])
|
|
2530
2547
|
]),
|
|
2531
|
-
(i(), ae(
|
|
2548
|
+
(i(), ae(Vt, { to: "body" }, [
|
|
2532
2549
|
c.value ? (i(), d("div", {
|
|
2533
2550
|
key: 0,
|
|
2534
2551
|
class: "text-slate-700 vsTailwind vs-popover__content bottom",
|
|
2535
|
-
style:
|
|
2552
|
+
style: ge([{ width: "fit-content", "z-index": "10002", position: "fixed" }, { position: "absolute", top: p.value.top + "px", left: p.value.left + "px" }])
|
|
2536
2553
|
}, [
|
|
2537
|
-
l("div",
|
|
2538
|
-
l("div",
|
|
2554
|
+
l("div", Is, [
|
|
2555
|
+
l("div", zs, [
|
|
2539
2556
|
l("button", {
|
|
2540
2557
|
onClick: R,
|
|
2541
2558
|
class: "text-slate-700 flex items-center gap-1 px-3 py-2 rounded-md cursor-pointer group hover:bg-gray-100"
|
|
2542
2559
|
}, [
|
|
2543
|
-
j(
|
|
2560
|
+
j(us, {
|
|
2544
2561
|
class: "text-black",
|
|
2545
2562
|
width: "14",
|
|
2546
2563
|
height: "14"
|
|
2547
2564
|
}),
|
|
2548
|
-
C[4] || (C[4] =
|
|
2565
|
+
C[4] || (C[4] = pe(" Імпортувати ", -1))
|
|
2549
2566
|
]),
|
|
2550
2567
|
l("button", {
|
|
2551
2568
|
onClick: z,
|
|
2552
2569
|
class: "text-slate-700 flex items-center px-3 py-2 rounded-md cursor-pointer group hover:bg-gray-100"
|
|
2553
2570
|
}, [
|
|
2554
|
-
l("span",
|
|
2555
|
-
j(
|
|
2571
|
+
l("span", Es, [
|
|
2572
|
+
j(fs, {
|
|
2556
2573
|
class: "text-black",
|
|
2557
2574
|
width: "14",
|
|
2558
2575
|
height: "14"
|
|
2559
2576
|
}),
|
|
2560
|
-
C[5] || (C[5] =
|
|
2577
|
+
C[5] || (C[5] = pe(" Експортувати ", -1))
|
|
2561
2578
|
])
|
|
2562
2579
|
])
|
|
2563
2580
|
])
|
|
2564
2581
|
])
|
|
2565
|
-
], 4)) :
|
|
2582
|
+
], 4)) : A("", !0)
|
|
2566
2583
|
])),
|
|
2567
2584
|
l("button", {
|
|
2568
|
-
onClick:
|
|
2585
|
+
onClick: ie,
|
|
2569
2586
|
class: "text-slate-700 bg-white hover:bg-gray-100 font-semibold text-[15px] leadig-[18.5px] py-[10px] px-[12px] border border-[#E5E7EB] rounded-[8px] h-[38px] max-h-[38px] gap-[8px] flex items-center"
|
|
2570
2587
|
}, [
|
|
2571
|
-
j(
|
|
2572
|
-
C[6] || (C[6] =
|
|
2588
|
+
j(Ae),
|
|
2589
|
+
C[6] || (C[6] = pe(" Додати ", -1))
|
|
2573
2590
|
])
|
|
2574
2591
|
]),
|
|
2575
|
-
l("div",
|
|
2576
|
-
l("table",
|
|
2577
|
-
l("thead",
|
|
2578
|
-
l("tr",
|
|
2579
|
-
l("th",
|
|
2580
|
-
j(
|
|
2592
|
+
l("div", As, [
|
|
2593
|
+
l("table", Fs, [
|
|
2594
|
+
l("thead", Ds, [
|
|
2595
|
+
l("tr", Os, [
|
|
2596
|
+
l("th", Us, [
|
|
2597
|
+
j(rt, {
|
|
2581
2598
|
width: "24",
|
|
2582
2599
|
height: "24",
|
|
2583
2600
|
class: "w-4 h-4 mx-auto text-slate-400 dark:text-slate-500"
|
|
@@ -2593,17 +2610,17 @@ const ws = /* @__PURE__ */ N(bs, [["render", xs]]), ks = { class: "vs-datatable
|
|
|
2593
2610
|
l("tbody", {
|
|
2594
2611
|
class: M({ "[&_tr:last-child]:border-0": !u.value })
|
|
2595
2612
|
}, [
|
|
2596
|
-
r.value.length === 0 ? (i(), d("td",
|
|
2597
|
-
l("div",
|
|
2598
|
-
l("div",
|
|
2599
|
-
j(
|
|
2613
|
+
r.value.length === 0 ? (i(), d("td", Ts, [
|
|
2614
|
+
l("div", Rs, [
|
|
2615
|
+
l("div", Ps, [
|
|
2616
|
+
j(xs, { class: "w-48 mx-auto" }),
|
|
2600
2617
|
C[8] || (C[8] = l("div", { class: "max-w-sm mx-auto mt-6" }, [
|
|
2601
2618
|
l("p", { class: "font-medium text-gray-800 dark:text-neutral-200" }, "Нічого не знайдено"),
|
|
2602
2619
|
l("p", { class: "mt-2 text-sm text-gray-500 dark:text-neutral-500" })
|
|
2603
2620
|
], -1))
|
|
2604
2621
|
])
|
|
2605
2622
|
])
|
|
2606
|
-
])) :
|
|
2623
|
+
])) : A("", !0),
|
|
2607
2624
|
(i(!0), d(Y, null, le(r.value, (E, G) => (i(), d("tr", {
|
|
2608
2625
|
key: E.id,
|
|
2609
2626
|
class: M(["border-b data-[state=selected]:bg-muted transition-all duration-200 hover:bg-slate-50/60 dark:hover:bg-slate-700/60 cursor-move", {
|
|
@@ -2615,9 +2632,9 @@ const ws = /* @__PURE__ */ N(bs, [["render", xs]]), ks = { class: "vs-datatable
|
|
|
2615
2632
|
onDragover: ve((oe) => g(G), ["prevent"]),
|
|
2616
2633
|
onDrop: (oe) => _(G)
|
|
2617
2634
|
}, [
|
|
2618
|
-
l("td",
|
|
2619
|
-
l("div",
|
|
2620
|
-
j(
|
|
2635
|
+
l("td", Ns, [
|
|
2636
|
+
l("div", qs, [
|
|
2637
|
+
j(rt, {
|
|
2621
2638
|
width: "24",
|
|
2622
2639
|
height: "24",
|
|
2623
2640
|
class: "w-4 h-4 mx-auto text-slate-400 dark:text-slate-500"
|
|
@@ -2628,22 +2645,22 @@ const ws = /* @__PURE__ */ N(bs, [["render", xs]]), ks = { class: "vs-datatable
|
|
|
2628
2645
|
key: oe.key,
|
|
2629
2646
|
class: "p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]"
|
|
2630
2647
|
}, [
|
|
2631
|
-
l("div",
|
|
2648
|
+
l("div", Gs, T(ee(E, oe)), 1)
|
|
2632
2649
|
]))), 128)),
|
|
2633
|
-
l("td",
|
|
2634
|
-
l("div",
|
|
2650
|
+
l("td", Js, [
|
|
2651
|
+
l("div", Ks, [
|
|
2635
2652
|
l("button", {
|
|
2636
2653
|
onClick: (oe) => W(E, G),
|
|
2637
2654
|
class: "text-slate-700 inline-flex items-center justify-center whitespace-nowrap font-medium focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 border rounded-md text-xs h-7 w-7 p-0 border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-700 hover:bg-blue-50 dark:hover:bg-slate-600 hover:border-blue-300 dark:hover:border-slate-500 hover:text-blue-600 dark:hover:text-slate-200 transition-all duration-200 shadow-sm"
|
|
2638
2655
|
}, [
|
|
2639
|
-
j(
|
|
2656
|
+
j($s, {
|
|
2640
2657
|
width: "24",
|
|
2641
2658
|
height: "24",
|
|
2642
2659
|
class: "w-3 h-3"
|
|
2643
2660
|
})
|
|
2644
|
-
], 8,
|
|
2661
|
+
], 8, Zs),
|
|
2645
2662
|
l("button", {
|
|
2646
|
-
onClick: (oe) =>
|
|
2663
|
+
onClick: (oe) => xe(G),
|
|
2647
2664
|
class: "text-slate-700 inline-flex items-center justify-center whitespace-nowrap font-medium focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 border rounded-md text-xs h-7 w-7 p-0 border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-700 hover:bg-red-50 dark:hover:bg-slate-600 hover:border-red-300 dark:hover:border-slate-500 hover:text-red-600 dark:hover:text-slate-200 transition-all duration-200 shadow-sm"
|
|
2648
2665
|
}, [
|
|
2649
2666
|
j(Ue, {
|
|
@@ -2651,34 +2668,34 @@ const ws = /* @__PURE__ */ N(bs, [["render", xs]]), ks = { class: "vs-datatable
|
|
|
2651
2668
|
height: "24",
|
|
2652
2669
|
class: "w-3 h-3"
|
|
2653
2670
|
})
|
|
2654
|
-
], 8,
|
|
2671
|
+
], 8, Ws)
|
|
2655
2672
|
])
|
|
2656
2673
|
])
|
|
2657
|
-
], 42,
|
|
2674
|
+
], 42, Hs))), 128))
|
|
2658
2675
|
], 2)
|
|
2659
2676
|
])
|
|
2660
2677
|
]),
|
|
2661
|
-
j(q(
|
|
2678
|
+
j(q(St), {
|
|
2662
2679
|
visible: m.value,
|
|
2663
2680
|
title: B.value,
|
|
2664
2681
|
size: "lg"
|
|
2665
2682
|
}, {
|
|
2666
|
-
default:
|
|
2667
|
-
j(
|
|
2683
|
+
default: Be(() => [
|
|
2684
|
+
j(Oe, {
|
|
2668
2685
|
schema: e.colModel,
|
|
2669
2686
|
values: U.value,
|
|
2670
2687
|
"onUpdate:values": C[1] || (C[1] = (E) => U.value = E),
|
|
2671
|
-
form:
|
|
2672
|
-
"onUpdate:form": C[2] || (C[2] = (E) =>
|
|
2688
|
+
form: D.value,
|
|
2689
|
+
"onUpdate:form": C[2] || (C[2] = (E) => D.value = E)
|
|
2673
2690
|
}, null, 8, ["schema", "values", "form"]),
|
|
2674
|
-
l("div",
|
|
2691
|
+
l("div", Qs, [
|
|
2675
2692
|
l("button", {
|
|
2676
2693
|
type: "button",
|
|
2677
2694
|
onClick: C[3] || (C[3] = (E) => m.value = !1),
|
|
2678
2695
|
class: "vs-button inline-flex border-solid justify-center items-center gap-2 rounded-md font-semibold focus:outline-none text-sm transition-all border !border-gray-200 hover:text-white bg-white text-red-500 hover:border-red-500 hover:bg-red-500 focus:ring-red-500 py-1.5 px-5 focus:ring-1 focus:ring-offset-1 mr-2"
|
|
2679
2696
|
}, " Скасувати "),
|
|
2680
2697
|
l("button", {
|
|
2681
|
-
onClick:
|
|
2698
|
+
onClick: je,
|
|
2682
2699
|
type: "button",
|
|
2683
2700
|
class: "vs-button inline-flex border-solid justify-center items-center gap-2 rounded-md font-semibold focus:outline-none text-sm transition-all border-1 border-transparent text-white bg-blue-500 hover:bg-blue-600 focus:ring-blue-500 py-1.5 px-5 focus:ring-1 focus:ring-offset-1"
|
|
2684
2701
|
}, " Зберегти ")
|
|
@@ -2688,7 +2705,7 @@ const ws = /* @__PURE__ */ N(bs, [["render", xs]]), ks = { class: "vs-datatable
|
|
|
2688
2705
|
}, 8, ["visible", "title"])
|
|
2689
2706
|
]));
|
|
2690
2707
|
}
|
|
2691
|
-
}),
|
|
2708
|
+
}), Ys = {
|
|
2692
2709
|
draw: {
|
|
2693
2710
|
toolbar: {
|
|
2694
2711
|
actions: {
|
|
@@ -2796,7 +2813,7 @@ const ws = /* @__PURE__ */ N(bs, [["render", xs]]), ks = { class: "vs-datatable
|
|
|
2796
2813
|
}
|
|
2797
2814
|
}
|
|
2798
2815
|
};
|
|
2799
|
-
function
|
|
2816
|
+
function en(o) {
|
|
2800
2817
|
return o ? o.type === "FeatureCollection" || o.type === "Feature" ? o : o.geom ? {
|
|
2801
2818
|
type: "Feature",
|
|
2802
2819
|
geometry: {
|
|
@@ -2810,7 +2827,7 @@ function Qs(o) {
|
|
|
2810
2827
|
properties: {}
|
|
2811
2828
|
} : null : null;
|
|
2812
2829
|
}
|
|
2813
|
-
const
|
|
2830
|
+
const tn = {}, ln = {
|
|
2814
2831
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2815
2832
|
viewBox: "0 0 24 24",
|
|
2816
2833
|
stroke: "currentColor",
|
|
@@ -2820,8 +2837,8 @@ const Xs = {}, Ys = {
|
|
|
2820
2837
|
"stroke-linejoin": "round",
|
|
2821
2838
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-map-pin"
|
|
2822
2839
|
};
|
|
2823
|
-
function
|
|
2824
|
-
return i(), d("svg",
|
|
2840
|
+
function on(o, e) {
|
|
2841
|
+
return i(), d("svg", ln, e[0] || (e[0] = [
|
|
2825
2842
|
l("path", {
|
|
2826
2843
|
stroke: "none",
|
|
2827
2844
|
d: "M0 0h24v24H0z",
|
|
@@ -2831,7 +2848,7 @@ function en(o, e) {
|
|
|
2831
2848
|
l("path", { d: "M17.657 16.657l-4.243 4.243a2 2 0 0 1 -2.827 0l-4.244 -4.243a8 8 0 1 1 11.314 0z" }, null, -1)
|
|
2832
2849
|
]));
|
|
2833
2850
|
}
|
|
2834
|
-
const
|
|
2851
|
+
const an = /* @__PURE__ */ H(tn, [["render", on]]), sn = {}, nn = {
|
|
2835
2852
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2836
2853
|
viewBox: "0 0 24 24",
|
|
2837
2854
|
fill: "none",
|
|
@@ -2841,8 +2858,8 @@ const tn = /* @__PURE__ */ N(Xs, [["render", en]]), ln = {}, on = {
|
|
|
2841
2858
|
"stroke-linejoin": "round",
|
|
2842
2859
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-line"
|
|
2843
2860
|
};
|
|
2844
|
-
function
|
|
2845
|
-
return i(), d("svg",
|
|
2861
|
+
function rn(o, e) {
|
|
2862
|
+
return i(), d("svg", nn, e[0] || (e[0] = [
|
|
2846
2863
|
l("path", {
|
|
2847
2864
|
stroke: "none",
|
|
2848
2865
|
d: "M0 0h24v24H0z",
|
|
@@ -2853,7 +2870,7 @@ function an(o, e) {
|
|
|
2853
2870
|
l("path", { d: "M7.5 16.5l9 -9" }, null, -1)
|
|
2854
2871
|
]));
|
|
2855
2872
|
}
|
|
2856
|
-
const
|
|
2873
|
+
const un = /* @__PURE__ */ H(sn, [["render", rn]]), dn = {}, cn = {
|
|
2857
2874
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2858
2875
|
viewBox: "0 0 24 24",
|
|
2859
2876
|
fill: "none",
|
|
@@ -2863,12 +2880,12 @@ const sn = /* @__PURE__ */ N(ln, [["render", an]]), nn = {}, rn = {
|
|
|
2863
2880
|
"stroke-linejoin": "round",
|
|
2864
2881
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-polygon"
|
|
2865
2882
|
};
|
|
2866
|
-
function
|
|
2867
|
-
return i(), d("svg",
|
|
2868
|
-
|
|
2883
|
+
function pn(o, e) {
|
|
2884
|
+
return i(), d("svg", cn, e[0] || (e[0] = [
|
|
2885
|
+
de('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M12 5m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path><path d="M19 8m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path><path d="M5 11m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path><path d="M15 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path><path d="M6.5 9.5l3.5 -3"></path><path d="M14 5.5l3 1.5"></path><path d="M18.5 10l-2.5 7"></path><path d="M13.5 17.5l-7 -5"></path>', 9)
|
|
2869
2886
|
]));
|
|
2870
2887
|
}
|
|
2871
|
-
const
|
|
2888
|
+
const fn = /* @__PURE__ */ H(dn, [["render", pn]]), vn = {}, mn = {
|
|
2872
2889
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2873
2890
|
viewBox: "0 0 24 24",
|
|
2874
2891
|
fill: "none",
|
|
@@ -2878,12 +2895,12 @@ const dn = /* @__PURE__ */ N(nn, [["render", un]]), cn = {}, pn = {
|
|
|
2878
2895
|
"stroke-linejoin": "round",
|
|
2879
2896
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-topology-ring-3"
|
|
2880
2897
|
};
|
|
2881
|
-
function
|
|
2882
|
-
return i(), d("svg",
|
|
2883
|
-
|
|
2898
|
+
function hn(o, e) {
|
|
2899
|
+
return i(), d("svg", mn, e[0] || (e[0] = [
|
|
2900
|
+
de('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M8 18a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M20 18a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M20 6a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M8 6a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M6 8v8"></path><path d="M18 16v-8"></path><path d="M8 6h8"></path><path d="M16 18h-8"></path>', 9)
|
|
2884
2901
|
]));
|
|
2885
2902
|
}
|
|
2886
|
-
const
|
|
2903
|
+
const gn = /* @__PURE__ */ H(vn, [["render", hn]]), bn = {}, yn = {
|
|
2887
2904
|
version: "1.1",
|
|
2888
2905
|
viewBox: "0 0 14 14",
|
|
2889
2906
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -2891,8 +2908,8 @@ const vn = /* @__PURE__ */ N(cn, [["render", fn]]), mn = {}, hn = {
|
|
|
2891
2908
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
2892
2909
|
class: "fullscreen-icon"
|
|
2893
2910
|
};
|
|
2894
|
-
function
|
|
2895
|
-
return i(), d("svg",
|
|
2911
|
+
function xn(o, e) {
|
|
2912
|
+
return i(), d("svg", yn, e[0] || (e[0] = [
|
|
2896
2913
|
l("title", null, null, -1),
|
|
2897
2914
|
l("desc", null, null, -1),
|
|
2898
2915
|
l("defs", null, null, -1),
|
|
@@ -2921,10 +2938,10 @@ function gn(o, e) {
|
|
|
2921
2938
|
], -1)
|
|
2922
2939
|
]));
|
|
2923
2940
|
}
|
|
2924
|
-
const
|
|
2941
|
+
const wn = /* @__PURE__ */ H(bn, [["render", xn]]), kn = { class: "form-geom__search" }, _n = { class: "map-search__input" }, $n = { class: "flex flex-nowrap relative" }, Cn = { class: "form-autocomplete relative min-w-[6rem] vsTailwind map-search__select hidden" }, Vn = { class: "flex items-center w-full" }, Mn = { class: "max-w-[90%] truncate" }, Ln = {
|
|
2925
2942
|
key: 0,
|
|
2926
2943
|
class: "absolute z-[3100] mt-0.5 left-0 right-0"
|
|
2927
|
-
},
|
|
2944
|
+
}, Sn = { class: "form-autocomplete__wrapper mt-[10px] z-50 w-full min-w-36 max-h-72 p-0 space-y-0.5 bg-white rounded-xl shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] dark:bg-neutral-900 top-full opened" }, Bn = { class: "form-autocomplete__list vsTailwind px-2 pb-2 pt-0 max-h-200 relative [&::-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-900" }, jn = ["onClick"], In = { class: "flex justify-between items-center w-full" }, zn = { class: "flex items-center" }, En = {
|
|
2928
2945
|
key: 0,
|
|
2929
2946
|
class: "flex-shrink-0 w-3.5 h-3.5 text-blue-600",
|
|
2930
2947
|
width: "24",
|
|
@@ -2935,16 +2952,16 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
2935
2952
|
"stroke-width": "2",
|
|
2936
2953
|
"stroke-linecap": "round",
|
|
2937
2954
|
"stroke-linejoin": "round"
|
|
2938
|
-
},
|
|
2955
|
+
}, An = { class: "relative w-full" }, Fn = { class: "vs-form-text relative bg-white rounded-lg" }, Dn = {
|
|
2939
2956
|
key: 1,
|
|
2940
2957
|
class: "absolute left-0 right-0 top-full z-[3200] bg-white border border-gray-200 rounded-b-lg shadow-lg max-h-72 overflow-auto"
|
|
2941
|
-
},
|
|
2958
|
+
}, On = { key: 0 }, Un = ["onClick"], Tn = {
|
|
2942
2959
|
key: 1,
|
|
2943
2960
|
class: "px-3 py-2 text-xs text-gray-500"
|
|
2944
|
-
},
|
|
2961
|
+
}, Rn = {
|
|
2945
2962
|
key: 2,
|
|
2946
2963
|
class: "px-3 py-2 text-xs text-gray-400"
|
|
2947
|
-
},
|
|
2964
|
+
}, Pn = /* @__PURE__ */ F({
|
|
2948
2965
|
__name: "map-search",
|
|
2949
2966
|
props: {
|
|
2950
2967
|
placeholder: { default: "50, 30" }
|
|
@@ -2958,14 +2975,14 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
2958
2975
|
{ value: "atu", label: "АТУ" },
|
|
2959
2976
|
{ value: "address", label: "Адресса" },
|
|
2960
2977
|
{ value: "search_here", label: "Пошук HERE" }
|
|
2961
|
-
], x =
|
|
2978
|
+
], x = O(() => p.find((B) => B.value === s.value)?.label ?? "АТУ");
|
|
2962
2979
|
function g(B) {
|
|
2963
2980
|
s.value = B.value, n.value = !1, r.value = "", r.value && R();
|
|
2964
2981
|
}
|
|
2965
2982
|
function _(B) {
|
|
2966
2983
|
B.target.closest(".map-search__input") || (n.value = !1);
|
|
2967
2984
|
}
|
|
2968
|
-
|
|
2985
|
+
be(() => document.addEventListener("click", _)), He(() => document.removeEventListener("click", _));
|
|
2969
2986
|
async function S(B) {
|
|
2970
2987
|
let m;
|
|
2971
2988
|
s.value === "atu" ? m = "/api/suggest/atu.nsdi.ato_level" : s.value === "address" ? m = "/api/suggest/map.address_id" : s.value === "search_here" && (m = "/api/gis-url-proxy");
|
|
@@ -3003,17 +3020,17 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3003
3020
|
function z(B) {
|
|
3004
3021
|
t("goToCoordinates", B), u.value = !1, c.value = !1, a.value = [];
|
|
3005
3022
|
}
|
|
3006
|
-
return (B, m) => (i(), d("div",
|
|
3007
|
-
l("div",
|
|
3008
|
-
l("div",
|
|
3009
|
-
l("div",
|
|
3023
|
+
return (B, m) => (i(), d("div", kn, [
|
|
3024
|
+
l("div", _n, [
|
|
3025
|
+
l("div", $n, [
|
|
3026
|
+
l("div", Cn, [
|
|
3010
3027
|
l("button", {
|
|
3011
3028
|
type: "button",
|
|
3012
3029
|
onClick: m[0] || (m[0] = (f) => n.value = !n.value),
|
|
3013
3030
|
class: "h-[40px] relative px-4 pe-9 flex text-nowrap w-full cursor-pointer bg-white border border-solid border-stone-200 rounded-lg text-start text-sm text-stone-800 focus:outline-none focus:ring-1 focus:ring-blue-600 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-200"
|
|
3014
3031
|
}, [
|
|
3015
|
-
l("div",
|
|
3016
|
-
l("span",
|
|
3032
|
+
l("div", Vn, [
|
|
3033
|
+
l("span", Mn, T(x.value), 1)
|
|
3017
3034
|
]),
|
|
3018
3035
|
m[3] || (m[3] = l("svg", {
|
|
3019
3036
|
class: "stroke-gray-500 absolute right-3 translate-y-1/2 bottom-1/2",
|
|
@@ -3030,29 +3047,29 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3030
3047
|
})
|
|
3031
3048
|
], -1))
|
|
3032
3049
|
]),
|
|
3033
|
-
n.value ? (i(), d("div",
|
|
3034
|
-
l("div",
|
|
3035
|
-
l("div",
|
|
3050
|
+
n.value ? (i(), d("div", Ln, [
|
|
3051
|
+
l("div", Sn, [
|
|
3052
|
+
l("div", Bn, [
|
|
3036
3053
|
(i(), d(Y, null, le(p, (f) => l("div", {
|
|
3037
3054
|
onClick: (Z) => g(f),
|
|
3038
3055
|
key: f.value,
|
|
3039
3056
|
class: "form-autocomplete__item cursor-pointer hs-selected:bg-stone-100 dark:hs-selected:bg-neutral-800 py-2 px-4 w-full text-sm text-gray-800 hover:bg-gray-100 rounded-lg focus:outline-none focus:bg-stone-100 dark:bg-neutral-900 dark:hover:bg-neutral-800 dark:text-neutral-200 dark:focus:bg-neutral-800 cursor-default"
|
|
3040
3057
|
}, [
|
|
3041
|
-
l("div",
|
|
3042
|
-
l("div",
|
|
3058
|
+
l("div", In, [
|
|
3059
|
+
l("div", zn, [
|
|
3043
3060
|
l("div", null, T(f.label), 1)
|
|
3044
3061
|
]),
|
|
3045
|
-
f.value === s.value ? (i(), d("svg",
|
|
3062
|
+
f.value === s.value ? (i(), d("svg", En, m[4] || (m[4] = [
|
|
3046
3063
|
l("polyline", { points: "20 6 9 17 4 12" }, null, -1)
|
|
3047
|
-
]))) :
|
|
3064
|
+
]))) : A("", !0)
|
|
3048
3065
|
])
|
|
3049
|
-
], 8,
|
|
3066
|
+
], 8, jn)), 64))
|
|
3050
3067
|
])
|
|
3051
3068
|
])
|
|
3052
|
-
])) :
|
|
3069
|
+
])) : A("", !0)
|
|
3053
3070
|
]),
|
|
3054
|
-
l("div",
|
|
3055
|
-
l("div",
|
|
3071
|
+
l("div", An, [
|
|
3072
|
+
l("div", Fn, [
|
|
3056
3073
|
m[6] || (m[6] = l("i", { class: "absolute bottom-1/2 translate-y-1/2 left-3 text-gray-500" }, [
|
|
3057
3074
|
l("svg", {
|
|
3058
3075
|
width: "16",
|
|
@@ -3084,7 +3101,7 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3084
3101
|
placeholder: "lat, lng ex. 50, 30",
|
|
3085
3102
|
class: "bg-white h-[38px] text-sm py-2 px-3 ps-9 pe-8 block w-full border border-solid placeholder:text-nowrap border-stone-200 rounded-lg text-stone-800 placeholder:text-stone-400 focus:outline focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500"
|
|
3086
3103
|
}, null, 544), [
|
|
3087
|
-
[
|
|
3104
|
+
[re, r.value]
|
|
3088
3105
|
]),
|
|
3089
3106
|
r.value ? (i(), d("button", {
|
|
3090
3107
|
key: 0,
|
|
@@ -3107,23 +3124,23 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3107
3124
|
"stroke-linejoin": "round"
|
|
3108
3125
|
})
|
|
3109
3126
|
], -1)
|
|
3110
|
-
]))) :
|
|
3111
|
-
u.value && s.value !== "coordinates" ? (i(), d("div",
|
|
3112
|
-
a.value.length ? (i(), d("ul",
|
|
3127
|
+
]))) : A("", !0),
|
|
3128
|
+
u.value && s.value !== "coordinates" ? (i(), d("div", Dn, [
|
|
3129
|
+
a.value.length ? (i(), d("ul", On, [
|
|
3113
3130
|
(i(!0), d(Y, null, le(a.value, (f) => (i(), d("li", {
|
|
3114
3131
|
key: f.properties.place_id,
|
|
3115
3132
|
onClick: (Z) => z(f),
|
|
3116
3133
|
class: "px-3 py-2 text-sm cursor-pointer hover:bg-gray-100"
|
|
3117
|
-
}, T(f.properties.display_name), 9,
|
|
3118
|
-
])) : c.value ? (i(), d("div",
|
|
3119
|
-
])) :
|
|
3134
|
+
}, T(f.properties.display_name), 9, Un))), 128))
|
|
3135
|
+
])) : c.value ? (i(), d("div", Tn, "Шукаю…")) : (i(), d("div", Rn, "Нічого не знайдено"))
|
|
3136
|
+
])) : A("", !0)
|
|
3120
3137
|
])
|
|
3121
3138
|
])
|
|
3122
3139
|
])
|
|
3123
3140
|
])
|
|
3124
3141
|
]));
|
|
3125
3142
|
}
|
|
3126
|
-
}),
|
|
3143
|
+
}), Hn = { class: "bg-white/95 p-2 rounded-xl shadow border border-gray-200" }, Nn = { class: "flex gap-2" }, qn = ["onClick", "title"], Gn = ["src"], Jn = /* @__PURE__ */ F({
|
|
3127
3144
|
__name: "map-layers",
|
|
3128
3145
|
props: {
|
|
3129
3146
|
basemaps: {}
|
|
@@ -3134,8 +3151,8 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3134
3151
|
function r(a) {
|
|
3135
3152
|
s("onLayerChange", a), n.value = a;
|
|
3136
3153
|
}
|
|
3137
|
-
return (a, u) => (i(), d("div",
|
|
3138
|
-
l("div",
|
|
3154
|
+
return (a, u) => (i(), d("div", Hn, [
|
|
3155
|
+
l("div", Nn, [
|
|
3139
3156
|
(i(!0), d(Y, null, le(a.basemaps, (c, v) => (i(), d("div", {
|
|
3140
3157
|
key: v,
|
|
3141
3158
|
class: M(["cursor-pointer border rounded-lg overflow-hidden hover:shadow-sm", { "ring-2 ring-blue-500 border-blue-300": n.value === v }]),
|
|
@@ -3148,21 +3165,21 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3148
3165
|
src: c.preview,
|
|
3149
3166
|
alt: "",
|
|
3150
3167
|
class: "w-14 h-14 object-cover"
|
|
3151
|
-
}, null, 8,
|
|
3152
|
-
], 10,
|
|
3168
|
+
}, null, 8, Gn)
|
|
3169
|
+
], 10, qn))), 128))
|
|
3153
3170
|
])
|
|
3154
3171
|
]));
|
|
3155
3172
|
}
|
|
3156
|
-
}),
|
|
3173
|
+
}), Kn = { class: "absolute top-4 left-4 z-[1000] w-[calc(100%-20px)] sm:w-[350px]" }, Zn = { class: "form-geom__panel flex gap-1 items-start mt-2" }, Wn = { class: "flex items-center gap-1" }, Qn = ["disabled"], Xn = { class: "absolute top-4 right-4 z-[1000]" }, Yn = { class: "flex flex-col gap-[2px]" }, er = ["aria-pressed"], tr = ["aria-pressed"], lr = ["aria-pressed"], or = ["aria-pressed"], ar = { class: "absolute bottom-0 left-0 right-0 z-[1000] bg-white/95 border-t border-gray-200 text-xs text-gray-700 flex items-center gap-4 pt-1" }, sr = {
|
|
3157
3174
|
key: 0,
|
|
3158
3175
|
class: "form-geom__feature flex items-center text-xs transition-all gap-2 w-full"
|
|
3159
|
-
},
|
|
3176
|
+
}, nr = { class: "mr-auto" }, rr = { class: "font-bold" }, ir = { class: "flex items-center" }, ur = { class: "text-xs mr-2" }, dr = {
|
|
3160
3177
|
key: 0,
|
|
3161
3178
|
class: "text-xs"
|
|
3162
|
-
},
|
|
3179
|
+
}, cr = {
|
|
3163
3180
|
key: 1,
|
|
3164
3181
|
class: "text-xs"
|
|
3165
|
-
},
|
|
3182
|
+
}, pr = /* @__PURE__ */ F({
|
|
3166
3183
|
__name: "vs-input-map",
|
|
3167
3184
|
props: {
|
|
3168
3185
|
tools: {},
|
|
@@ -3176,26 +3193,26 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3176
3193
|
},
|
|
3177
3194
|
emits: ["update:modelValue"],
|
|
3178
3195
|
setup(o, { emit: e }) {
|
|
3179
|
-
const t =
|
|
3196
|
+
const t = Mt(), n = o, s = e, r = w(null);
|
|
3180
3197
|
let a, u, c;
|
|
3181
|
-
const v = w(null), p = w(null), x = w(6), g = w(0), _ = w(t?.appContext.config.globalProperties.$settings?.center || [50, 30]), S = w(null), R =
|
|
3198
|
+
const v = w(null), p = w(null), x = w(6), g = w(0), _ = w(t?.appContext.config.globalProperties.$settings?.center || [50, 30]), S = w(null), R = ue();
|
|
3182
3199
|
let $;
|
|
3183
3200
|
const z = w("topo100");
|
|
3184
3201
|
function B() {
|
|
3185
3202
|
return new Promise((y, k) => {
|
|
3186
3203
|
window.L && window.L.Draw && y(0);
|
|
3187
|
-
const P = (
|
|
3188
|
-
if (Array.from(document.styleSheets).some((he) => he?.href?.includes(
|
|
3204
|
+
const P = (fe) => {
|
|
3205
|
+
if (Array.from(document.styleSheets).some((he) => he?.href?.includes(fe))) return;
|
|
3189
3206
|
const me = document.createElement("link");
|
|
3190
|
-
me.rel = "stylesheet", me.href =
|
|
3191
|
-
}, J = (
|
|
3192
|
-
const he = Array.from(document.scripts).find((Ve) => Ve.src ===
|
|
3207
|
+
me.rel = "stylesheet", me.href = fe, document.head.appendChild(me);
|
|
3208
|
+
}, J = (fe) => new Promise((_e, me) => {
|
|
3209
|
+
const he = Array.from(document.scripts).find((Ve) => Ve.src === fe);
|
|
3193
3210
|
if (he) {
|
|
3194
3211
|
he.addEventListener("load", () => _e()), he.addEventListener("error", (Ve) => me(Ve));
|
|
3195
3212
|
return;
|
|
3196
3213
|
}
|
|
3197
3214
|
const Ce = document.createElement("script");
|
|
3198
|
-
Ce.src =
|
|
3215
|
+
Ce.src = fe, Ce.async = !0, Ce.onload = () => _e(), Ce.onerror = (Ve) => me(Ve), document.body.appendChild(Ce);
|
|
3199
3216
|
});
|
|
3200
3217
|
P("https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"), P("https://unpkg.com/leaflet-draw@1.0.4/dist/leaflet.draw.css"), J("https://unpkg.com/leaflet@1.9.4/dist/leaflet.js").then(() => J("https://unpkg.com/leaflet-draw@1.0.4/dist/leaflet.draw.js")).then(() => y(0)).catch(k);
|
|
3201
3218
|
});
|
|
@@ -3215,10 +3232,10 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3215
3232
|
v.value?.click();
|
|
3216
3233
|
}
|
|
3217
3234
|
const U = w("");
|
|
3218
|
-
function
|
|
3235
|
+
function D(y) {
|
|
3219
3236
|
return y instanceof L.Circle ? "Circle" : y instanceof L.Rectangle ? "Rectangle" : y instanceof L.Polygon && !(y instanceof L.Rectangle) ? "Polygon" : y instanceof L.Polyline && !(y instanceof L.Polygon) ? "Polyline" : y instanceof L.Marker ? "Point" : "Feature";
|
|
3220
3237
|
}
|
|
3221
|
-
function
|
|
3238
|
+
function ie(y) {
|
|
3222
3239
|
if (y instanceof L.Circle) {
|
|
3223
3240
|
const k = y.getRadius();
|
|
3224
3241
|
return Math.PI * (k * k) / 1e6;
|
|
@@ -3241,24 +3258,24 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3241
3258
|
S.value = null, g.value = 0;
|
|
3242
3259
|
return;
|
|
3243
3260
|
}
|
|
3244
|
-
const k = y[y.length - 1], P =
|
|
3261
|
+
const k = y[y.length - 1], P = D(k), J = ee(k), fe = ie(k);
|
|
3245
3262
|
S.value = {
|
|
3246
3263
|
type: P,
|
|
3247
3264
|
center: J,
|
|
3248
|
-
areaKm2:
|
|
3265
|
+
areaKm2: fe,
|
|
3249
3266
|
layer: k
|
|
3250
3267
|
}, g.value = y.length;
|
|
3251
3268
|
}
|
|
3252
|
-
function
|
|
3269
|
+
function je() {
|
|
3253
3270
|
const y = S.value?.layer;
|
|
3254
3271
|
y && (y instanceof L.Circle && y.getBounds ? a.fitBounds(y.getBounds(), { padding: [30, 30] }) : y.getBounds ? a.fitBounds(y.getBounds(), { padding: [30, 30] }) : y.getLatLng && a.setView(y.getLatLng(), Math.max(x.value, 14)));
|
|
3255
3272
|
}
|
|
3256
|
-
function
|
|
3273
|
+
function xe() {
|
|
3257
3274
|
const y = S.value?.layer;
|
|
3258
3275
|
y && (u.removeLayer(y), m(), W());
|
|
3259
3276
|
}
|
|
3260
|
-
|
|
3261
|
-
await B(), L.drawLocal =
|
|
3277
|
+
be(async () => {
|
|
3278
|
+
await B(), L.drawLocal = Ys, a = L.map(r.value, { zoomControl: !1 }).setView(_.value, 10), L.control.zoom({ position: "bottomright" }).addTo(a), z.value = Object.keys(R)[0], $ = L.tileLayer(R[z.value].url, { maxZoom: 19, minZoom: 6 }).addTo(a), u = new L.FeatureGroup().addTo(a), a.on(L.Draw.Event.CREATED, (P) => {
|
|
3262
3279
|
const { layer: J } = P;
|
|
3263
3280
|
u.clearLayers(), u.addLayer(J), m(), W(), f(), U.value = "";
|
|
3264
3281
|
}), a.on(L.Draw.Event.EDITED, () => {
|
|
@@ -3272,7 +3289,7 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3272
3289
|
}), a.on("zoomend", () => {
|
|
3273
3290
|
x.value = a.getZoom();
|
|
3274
3291
|
});
|
|
3275
|
-
const k =
|
|
3292
|
+
const k = en(n.modelValue);
|
|
3276
3293
|
if (k) {
|
|
3277
3294
|
const P = [];
|
|
3278
3295
|
L.geoJSON(k).eachLayer((J) => P.push(J)), P.length && u.addLayer(P[0]), m(), W(), f();
|
|
@@ -3312,8 +3329,8 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3312
3329
|
if (typeof P.result == "string")
|
|
3313
3330
|
try {
|
|
3314
3331
|
const J = JSON.parse(P.result);
|
|
3315
|
-
u.clearLayers(), J && L.geoJSON({ type: "Feature", geometry: J }).eachLayer((
|
|
3316
|
-
u.addLayer(
|
|
3332
|
+
u.clearLayers(), J && L.geoJSON({ type: "Feature", geometry: J }).eachLayer((fe) => {
|
|
3333
|
+
u.addLayer(fe);
|
|
3317
3334
|
}), m(), W(), f();
|
|
3318
3335
|
} finally {
|
|
3319
3336
|
y.target.value = "";
|
|
@@ -3335,7 +3352,7 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3335
3352
|
}), g.value = u.getLayers().length, W(), f();
|
|
3336
3353
|
}
|
|
3337
3354
|
);
|
|
3338
|
-
function
|
|
3355
|
+
function ue() {
|
|
3339
3356
|
return t?.appContext.config.globalProperties.$settings?.basemaps ? t?.appContext.config.globalProperties.$settings?.basemaps.map((y, k) => Object.assign(y, { key: `b${k}`, preview: y.preview || y.url.replace("{z}/{x}/{y}.png", "13/4790/2762.png") })).reduce((y, k) => ({ ...y, [k.key]: k }), {}) : {
|
|
3340
3357
|
topo100: {
|
|
3341
3358
|
url: "https://data.gki.com.ua/api-user/rtile/voyager/ua/{z}/{x}/{y}.png",
|
|
@@ -3351,23 +3368,23 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3351
3368
|
}
|
|
3352
3369
|
};
|
|
3353
3370
|
}
|
|
3354
|
-
const
|
|
3355
|
-
return te(
|
|
3371
|
+
const we = w(!1);
|
|
3372
|
+
return te(we, () => {
|
|
3356
3373
|
setTimeout(() => {
|
|
3357
3374
|
a.invalidateSize();
|
|
3358
3375
|
}, 50);
|
|
3359
3376
|
}), (y, k) => (i(), d("div", {
|
|
3360
|
-
class: M(["leaflet-map-wrapper relative w-full h-[400px]", { fullscreen:
|
|
3377
|
+
class: M(["leaflet-map-wrapper relative w-full h-[400px]", { fullscreen: we.value }])
|
|
3361
3378
|
}, [
|
|
3362
3379
|
l("div", {
|
|
3363
3380
|
ref_key: "mapContainer",
|
|
3364
3381
|
ref: r,
|
|
3365
3382
|
class: "w-full h-full"
|
|
3366
3383
|
}, null, 512),
|
|
3367
|
-
l("div",
|
|
3368
|
-
j(
|
|
3369
|
-
l("div",
|
|
3370
|
-
l("div",
|
|
3384
|
+
l("div", Kn, [
|
|
3385
|
+
j(Pn, { onGoToCoordinates: oe }),
|
|
3386
|
+
l("div", Zn, [
|
|
3387
|
+
l("div", Wn, [
|
|
3371
3388
|
l("button", {
|
|
3372
3389
|
type: "button",
|
|
3373
3390
|
class: "vs-btn-row",
|
|
@@ -3378,7 +3395,7 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3378
3395
|
class: "vs-btn-row",
|
|
3379
3396
|
onClick: C,
|
|
3380
3397
|
disabled: g.value === 0
|
|
3381
|
-
}, "Export ", 8,
|
|
3398
|
+
}, "Export ", 8, Qn)
|
|
3382
3399
|
]),
|
|
3383
3400
|
l("input", {
|
|
3384
3401
|
ref_key: "importRef",
|
|
@@ -3390,8 +3407,8 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3390
3407
|
}, null, 544)
|
|
3391
3408
|
])
|
|
3392
3409
|
]),
|
|
3393
|
-
l("div",
|
|
3394
|
-
l("div",
|
|
3410
|
+
l("div", Xn, [
|
|
3411
|
+
l("div", Yn, [
|
|
3395
3412
|
l("button", {
|
|
3396
3413
|
class: M(["vs-btn", { "vs-active": U.value === "marker" }]),
|
|
3397
3414
|
"aria-pressed": U.value === "marker",
|
|
@@ -3399,8 +3416,8 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3399
3416
|
"aria-label": "Draw point",
|
|
3400
3417
|
onClick: k[0] || (k[0] = (P) => I("marker"))
|
|
3401
3418
|
}, [
|
|
3402
|
-
j(
|
|
3403
|
-
], 10,
|
|
3419
|
+
j(an)
|
|
3420
|
+
], 10, er),
|
|
3404
3421
|
l("button", {
|
|
3405
3422
|
class: M(["vs-btn", { "vs-active": U.value === "polyline" }]),
|
|
3406
3423
|
"aria-pressed": U.value === "polyline",
|
|
@@ -3408,8 +3425,8 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3408
3425
|
"aria-label": "Draw polyline",
|
|
3409
3426
|
onClick: k[1] || (k[1] = (P) => I("polyline"))
|
|
3410
3427
|
}, [
|
|
3411
|
-
j(
|
|
3412
|
-
], 10,
|
|
3428
|
+
j(un)
|
|
3429
|
+
], 10, tr),
|
|
3413
3430
|
l("button", {
|
|
3414
3431
|
class: M(["vs-btn", { "vs-active": U.value === "polygon" }]),
|
|
3415
3432
|
"aria-pressed": U.value === "polygon",
|
|
@@ -3417,8 +3434,8 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3417
3434
|
"aria-label": "Draw polygon",
|
|
3418
3435
|
onClick: k[2] || (k[2] = (P) => I("polygon"))
|
|
3419
3436
|
}, [
|
|
3420
|
-
j(
|
|
3421
|
-
], 10,
|
|
3437
|
+
j(fn)
|
|
3438
|
+
], 10, lr),
|
|
3422
3439
|
l("button", {
|
|
3423
3440
|
class: M(["vs-btn", { "vs-active": U.value === "rectangle" }]),
|
|
3424
3441
|
"aria-pressed": U.value === "rectangle",
|
|
@@ -3426,69 +3443,69 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3426
3443
|
"aria-label": "Draw rectangle",
|
|
3427
3444
|
onClick: k[3] || (k[3] = (P) => I("rectangle"))
|
|
3428
3445
|
}, [
|
|
3429
|
-
j(
|
|
3430
|
-
], 10,
|
|
3446
|
+
j(gn)
|
|
3447
|
+
], 10, or),
|
|
3431
3448
|
l("button", {
|
|
3432
3449
|
class: "vs-btn mt-5",
|
|
3433
3450
|
onClick: k[4] || (k[4] = (P) => {
|
|
3434
|
-
|
|
3451
|
+
we.value = !we.value;
|
|
3435
3452
|
}),
|
|
3436
3453
|
title: "Full Screen",
|
|
3437
3454
|
"aria-label": "Full Screen"
|
|
3438
3455
|
}, [
|
|
3439
|
-
j(
|
|
3456
|
+
j(wn, { style: { width: "12px", height: "12px" } })
|
|
3440
3457
|
])
|
|
3441
3458
|
])
|
|
3442
3459
|
]),
|
|
3443
3460
|
l("div", {
|
|
3444
3461
|
class: M(["absolute left-4 z-[1000]", S.value ? "bottom-8" : "bottom-4"])
|
|
3445
3462
|
}, [
|
|
3446
|
-
j(
|
|
3463
|
+
j(Jn, {
|
|
3447
3464
|
basemaps: q(R),
|
|
3448
3465
|
onOnLayerChange: G
|
|
3449
3466
|
}, null, 8, ["basemaps"])
|
|
3450
3467
|
], 2),
|
|
3451
|
-
l("div",
|
|
3452
|
-
S.value ? (i(), d("div",
|
|
3453
|
-
l("div",
|
|
3454
|
-
k[7] || (k[7] =
|
|
3455
|
-
l("span",
|
|
3468
|
+
l("div", ar, [
|
|
3469
|
+
S.value ? (i(), d("div", sr, [
|
|
3470
|
+
l("div", nr, [
|
|
3471
|
+
k[7] || (k[7] = pe(" Тип: ", -1)),
|
|
3472
|
+
l("span", rr, T(S.value.type), 1)
|
|
3456
3473
|
]),
|
|
3457
|
-
l("div",
|
|
3458
|
-
l("div",
|
|
3459
|
-
k[8] || (k[8] =
|
|
3474
|
+
l("div", ir, [
|
|
3475
|
+
l("div", ur, [
|
|
3476
|
+
k[8] || (k[8] = pe(" Центр: ", -1)),
|
|
3460
3477
|
l("b", null, T(S.value.center.lat.toFixed(5)) + ", " + T(S.value.center.lng.toFixed(5)), 1)
|
|
3461
3478
|
]),
|
|
3462
|
-
S.value.areaKm2 !== null ? (i(), d("div",
|
|
3463
|
-
k[9] || (k[9] =
|
|
3479
|
+
S.value.areaKm2 !== null ? (i(), d("div", dr, [
|
|
3480
|
+
k[9] || (k[9] = pe(" Площа: ", -1)),
|
|
3464
3481
|
l("b", null, T(S.value.areaKm2.toFixed(1)) + "км²", 1)
|
|
3465
|
-
])) : (i(), d("div",
|
|
3466
|
-
|
|
3482
|
+
])) : (i(), d("div", cr, k[10] || (k[10] = [
|
|
3483
|
+
pe(" Площа: ", -1),
|
|
3467
3484
|
l("b", null, "—", -1)
|
|
3468
3485
|
]))),
|
|
3469
3486
|
l("button", {
|
|
3470
3487
|
class: "tool bg-gray-100 py-1.5 px-2 rounded-lg text-md mr-1 cursor-pointer hover:bg-blue-500 hover:text-white transition-all",
|
|
3471
3488
|
title: "Наблизити",
|
|
3472
|
-
onClick: k[5] || (k[5] = (P) =>
|
|
3489
|
+
onClick: k[5] || (k[5] = (P) => je())
|
|
3473
3490
|
}, k[11] || (k[11] = [
|
|
3474
|
-
|
|
3491
|
+
de('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-3 h-3" data-v-e82d2d97><path d="M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" data-v-e82d2d97></path><path d="M7 10l6 0" data-v-e82d2d97></path><path d="M10 7l0 6" data-v-e82d2d97></path><path d="M21 21l-6 -6" data-v-e82d2d97></path></svg>', 1)
|
|
3475
3492
|
])),
|
|
3476
3493
|
l("button", {
|
|
3477
3494
|
class: "tool bg-gray-100 py-1.5 px-2 rounded-lg text-md cursor-pointer hover:bg-blue-500 hover:text-white transition-all",
|
|
3478
3495
|
title: "Видалити",
|
|
3479
|
-
onClick: k[6] || (k[6] = (P) =>
|
|
3496
|
+
onClick: k[6] || (k[6] = (P) => xe())
|
|
3480
3497
|
}, [
|
|
3481
3498
|
j(Ue, { class: "w-3 h-3" })
|
|
3482
3499
|
])
|
|
3483
3500
|
])
|
|
3484
|
-
])) :
|
|
3501
|
+
])) : A("", !0)
|
|
3485
3502
|
])
|
|
3486
3503
|
], 2));
|
|
3487
3504
|
}
|
|
3488
|
-
}),
|
|
3505
|
+
}), fr = /* @__PURE__ */ H(pr, [["__scopeId", "data-v-e82d2d97"]]), vr = ["data-focus"], mr = { class: "flex items-center" }, hr = { class: "overflow-hidden text-ellipsis whitespace-nowrap rounded-sm text-[#333] text-[85%] px-0.5 py-[3px] pl-1.5 box-border" }, gr = ["onClick", "aria-label"], br = {
|
|
3489
3506
|
key: 0,
|
|
3490
3507
|
class: "absolute text-gray-500 truncate pl-2"
|
|
3491
|
-
},
|
|
3508
|
+
}, yr = { class: "flex-1 min-w-[2px]" }, xr = ["placeholder"], wr = { class: "flex items-center shrink-0" }, kr = ["disabled"], _r = /* @__PURE__ */ F({
|
|
3492
3509
|
__name: "vs-input-tag",
|
|
3493
3510
|
props: /* @__PURE__ */ Q({
|
|
3494
3511
|
unique: { type: Boolean, default: !0 },
|
|
@@ -3506,18 +3523,18 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3506
3523
|
emits: /* @__PURE__ */ Q(["update:modelValue"], ["update:modelValue"]),
|
|
3507
3524
|
setup(o, { emit: e }) {
|
|
3508
3525
|
const t = o, n = e;
|
|
3509
|
-
|
|
3510
|
-
const s = w(null), r = w(null), a = w(null), u = w(!1), c = w(""), v = X(o, "modelValue"), p =
|
|
3526
|
+
ye(t.style);
|
|
3527
|
+
const s = w(null), r = w(null), a = w(null), u = w(!1), c = w(""), v = X(o, "modelValue"), p = O(() => t.placeholder || "Add tag…"), x = O(() => v.value?.length === 0 && c.value === ""), g = O(() => !t.disabled && v.value?.length > 0), _ = O(() => t.disabled), S = async () => {
|
|
3511
3528
|
_.value || await ze(() => a.value?.focus());
|
|
3512
3529
|
}, R = (U) => {
|
|
3513
|
-
const
|
|
3514
|
-
|
|
3530
|
+
const D = U.trim();
|
|
3531
|
+
D !== "" && (!v.value || !Array.isArray(v.value) ? v.value = [D] : t.unique ? v.value.includes(D) || (v.value = [...v.value, D]) : v.value = [...v.value, D], c.value = "");
|
|
3515
3532
|
}, $ = () => {
|
|
3516
3533
|
const U = c.value;
|
|
3517
3534
|
U.trim() !== "" && R(U), c.value = "";
|
|
3518
3535
|
}, z = (U) => {
|
|
3519
|
-
const
|
|
3520
|
-
|
|
3536
|
+
const D = v.value.slice();
|
|
3537
|
+
D.splice(U, 1), n("update:modelValue", D);
|
|
3521
3538
|
}, B = () => {
|
|
3522
3539
|
n("update:modelValue", []);
|
|
3523
3540
|
}, m = () => {
|
|
@@ -3525,14 +3542,14 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3525
3542
|
}, f = () => {
|
|
3526
3543
|
u.value = !1;
|
|
3527
3544
|
}, Z = (U) => {
|
|
3528
|
-
const { key:
|
|
3529
|
-
|
|
3545
|
+
const { key: D } = U;
|
|
3546
|
+
D === "Enter" ? (U.preventDefault(), $()) : D === "Backspace" && c.value === "" && v.value.length > 0 && z(v.value.length - 1);
|
|
3530
3547
|
};
|
|
3531
|
-
return (U,
|
|
3548
|
+
return (U, D) => (i(), d("div", {
|
|
3532
3549
|
class: "flex gap-1 w-full",
|
|
3533
3550
|
ref_key: "root",
|
|
3534
3551
|
ref: s,
|
|
3535
|
-
onClick:
|
|
3552
|
+
onClick: D[1] || (D[1] = ve(() => {
|
|
3536
3553
|
}, ["stop"]))
|
|
3537
3554
|
}, [
|
|
3538
3555
|
l("div", {
|
|
@@ -3555,19 +3572,19 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3555
3572
|
ref_key: "chipsRef",
|
|
3556
3573
|
ref: r
|
|
3557
3574
|
}, [
|
|
3558
|
-
(i(!0), d(Y, null, le(v.value, (
|
|
3575
|
+
(i(!0), d(Y, null, le(v.value, (ie, ee) => (i(), d("div", {
|
|
3559
3576
|
key: ee,
|
|
3560
3577
|
class: "flex min-w-0 bg-[#e6e6e6] rounded-sm m-0.5 box-border"
|
|
3561
3578
|
}, [
|
|
3562
|
-
l("div",
|
|
3563
|
-
l("div",
|
|
3579
|
+
l("div", mr, [
|
|
3580
|
+
l("div", hr, T(ie), 1)
|
|
3564
3581
|
]),
|
|
3565
3582
|
l("div", {
|
|
3566
3583
|
role: "button",
|
|
3567
3584
|
class: "flex items-center rounded-sm px-1 box-border hover:bg-[#ffbdad] hover:text-[#de350b]",
|
|
3568
3585
|
onClick: ve((W) => z(ee), ["stop"]),
|
|
3569
|
-
"aria-label": `Remove ${
|
|
3570
|
-
},
|
|
3586
|
+
"aria-label": `Remove ${ie}`
|
|
3587
|
+
}, D[2] || (D[2] = [
|
|
3571
3588
|
l("svg", {
|
|
3572
3589
|
height: "14",
|
|
3573
3590
|
width: "14",
|
|
@@ -3578,11 +3595,11 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3578
3595
|
}, [
|
|
3579
3596
|
l("path", { d: "M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z" })
|
|
3580
3597
|
], -1)
|
|
3581
|
-
]), 8,
|
|
3598
|
+
]), 8, gr)
|
|
3582
3599
|
]))), 128)),
|
|
3583
|
-
x.value ? (i(), d("div",
|
|
3584
|
-
l("div",
|
|
3585
|
-
_.value ?
|
|
3600
|
+
x.value ? (i(), d("div", br, T(p.value), 1)) : A("", !0),
|
|
3601
|
+
l("div", yr, [
|
|
3602
|
+
_.value ? A("", !0) : K((i(), d("input", {
|
|
3586
3603
|
key: 0,
|
|
3587
3604
|
ref_key: "inputRef",
|
|
3588
3605
|
ref: a,
|
|
@@ -3594,17 +3611,17 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3594
3611
|
type: "text",
|
|
3595
3612
|
tabindex: "0",
|
|
3596
3613
|
"aria-label": "Add tag",
|
|
3597
|
-
"onUpdate:modelValue":
|
|
3614
|
+
"onUpdate:modelValue": D[0] || (D[0] = (ie) => c.value = ie),
|
|
3598
3615
|
onFocus: m,
|
|
3599
3616
|
onBlur: f,
|
|
3600
3617
|
onKeydown: Z,
|
|
3601
3618
|
placeholder: v.value && v.value.length ? "" : void 0
|
|
3602
|
-
}, null, 40,
|
|
3603
|
-
[
|
|
3619
|
+
}, null, 40, xr)), [
|
|
3620
|
+
[re, c.value]
|
|
3604
3621
|
])
|
|
3605
3622
|
])
|
|
3606
3623
|
], 512),
|
|
3607
|
-
l("div",
|
|
3624
|
+
l("div", wr, [
|
|
3608
3625
|
g.value ? (i(), d("button", {
|
|
3609
3626
|
key: 0,
|
|
3610
3627
|
type: "button",
|
|
@@ -3612,7 +3629,7 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3612
3629
|
"aria-label": "Clear all tags",
|
|
3613
3630
|
disabled: _.value,
|
|
3614
3631
|
onClick: ve(B, ["stop"])
|
|
3615
|
-
},
|
|
3632
|
+
}, D[3] || (D[3] = [
|
|
3616
3633
|
l("svg", {
|
|
3617
3634
|
height: "20",
|
|
3618
3635
|
width: "20",
|
|
@@ -3621,13 +3638,13 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3621
3638
|
}, [
|
|
3622
3639
|
l("path", { d: "M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z" })
|
|
3623
3640
|
], -1)
|
|
3624
|
-
]), 8,
|
|
3641
|
+
]), 8, kr)) : A("", !0)
|
|
3625
3642
|
])
|
|
3626
|
-
], 10,
|
|
3643
|
+
], 10, vr)
|
|
3627
3644
|
], 2)
|
|
3628
3645
|
], 512));
|
|
3629
3646
|
}
|
|
3630
|
-
}),
|
|
3647
|
+
}), $r = { class: "relative flex gap-1 bg-white w-full" }, Cr = ["disabled", "placeholder"], Vr = /* @__PURE__ */ F({
|
|
3631
3648
|
__name: "vs-input-slug",
|
|
3632
3649
|
props: /* @__PURE__ */ Q({
|
|
3633
3650
|
disabled: { type: Boolean },
|
|
@@ -3686,15 +3703,15 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3686
3703
|
const a = e?.value?.[t.parent || ""]?.toString(), u = s(a);
|
|
3687
3704
|
n.value = u.toString();
|
|
3688
3705
|
};
|
|
3689
|
-
return (a, u) => (i(), d("div",
|
|
3706
|
+
return (a, u) => (i(), d("div", $r, [
|
|
3690
3707
|
K(l("input", {
|
|
3691
3708
|
ref: "vsText",
|
|
3692
3709
|
disabled: a.disabled,
|
|
3693
3710
|
placeholder: a.placeholder,
|
|
3694
3711
|
"onUpdate:modelValue": u[0] || (u[0] = (c) => n.value = c),
|
|
3695
3712
|
class: "block w-full px-3 py-2 text-sm border border-solid rounded-lg placeholder:text-nowrap border-stone-200 text-stone-800 placeholder:text-stone-400 focus:outline focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500"
|
|
3696
|
-
}, null, 8,
|
|
3697
|
-
[
|
|
3713
|
+
}, null, 8, Cr), [
|
|
3714
|
+
[re, n.value]
|
|
3698
3715
|
]),
|
|
3699
3716
|
l("button", {
|
|
3700
3717
|
class: "px-2 bg-gray-100 border rounded-lg hover:bg-gray-200",
|
|
@@ -3702,13 +3719,13 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3702
3719
|
}, " Gen ")
|
|
3703
3720
|
]));
|
|
3704
3721
|
}
|
|
3705
|
-
}),
|
|
3722
|
+
}), Mr = /* @__PURE__ */ H(Vr, [["__scopeId", "data-v-b0eba370"]]), Lr = { class: "w-full" }, Sr = {
|
|
3706
3723
|
ref: "sortableContainer",
|
|
3707
3724
|
class: "flex flex-col gap-1"
|
|
3708
|
-
},
|
|
3725
|
+
}, Br = ["onDragstart", "onDrop"], jr = { class: "w-1/3" }, Ir = { class: "w-2/3" }, zr = ["onClick"], Er = {
|
|
3709
3726
|
key: 0,
|
|
3710
3727
|
class: "text-[14px] text-gray-700"
|
|
3711
|
-
},
|
|
3728
|
+
}, Ar = { class: "mt-2 w-full flex items-center" }, Fr = ["disabled"], Dr = /* @__PURE__ */ F({
|
|
3712
3729
|
__name: "vs-input-key-value",
|
|
3713
3730
|
props: {
|
|
3714
3731
|
parent: {},
|
|
@@ -3735,7 +3752,7 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3735
3752
|
const z = c.value.splice(v.value, 1)[0];
|
|
3736
3753
|
c.value.splice($, 0, z), v.value = null;
|
|
3737
3754
|
}
|
|
3738
|
-
const _ =
|
|
3755
|
+
const _ = O(
|
|
3739
3756
|
() => c.value.some(($) => $.key && !$.value || !$.key && $.value)
|
|
3740
3757
|
), S = () => {
|
|
3741
3758
|
c.value.push({ id: t("key-value-"), key: "", value: "" });
|
|
@@ -3758,8 +3775,8 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3758
3775
|
}), r("update:modelValue", z);
|
|
3759
3776
|
},
|
|
3760
3777
|
{ deep: !0 }
|
|
3761
|
-
), ($, z) => (i(), d("div",
|
|
3762
|
-
l("div",
|
|
3778
|
+
), ($, z) => (i(), d("div", Lr, [
|
|
3779
|
+
l("div", Sr, [
|
|
3763
3780
|
(i(!0), d(Y, null, le(c.value, (B, m) => (i(), d("div", {
|
|
3764
3781
|
key: B.id,
|
|
3765
3782
|
class: M(["flex items-center gap-2 w-full", { "opacity-50": v.value === m }]),
|
|
@@ -3769,16 +3786,16 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3769
3786
|
}, ["prevent"])),
|
|
3770
3787
|
onDrop: (f) => g(m)
|
|
3771
3788
|
}, [
|
|
3772
|
-
z[1] || (z[1] =
|
|
3773
|
-
l("div",
|
|
3774
|
-
j(
|
|
3789
|
+
z[1] || (z[1] = de('<button class="cursor-move" data-v-a0f7fbfc><svg fill="#000000" width="20" height="20" viewBox="0 0 36 36" data-v-a0f7fbfc><circle cx="15" cy="12" r="1.5" data-v-a0f7fbfc></circle><circle cx="15" cy="24" r="1.5" data-v-a0f7fbfc></circle><circle cx="21" cy="12" r="1.5" data-v-a0f7fbfc></circle><circle cx="21" cy="24" r="1.5" data-v-a0f7fbfc></circle><circle cx="21" cy="18" r="1.5" data-v-a0f7fbfc></circle><circle cx="15" cy="18" r="1.5" data-v-a0f7fbfc></circle></svg></button>', 1)),
|
|
3790
|
+
l("div", jr, [
|
|
3791
|
+
j(De, {
|
|
3775
3792
|
modelValue: B.key,
|
|
3776
3793
|
"onUpdate:modelValue": (f) => B.key = f,
|
|
3777
3794
|
placeholder: "Ключ"
|
|
3778
3795
|
}, null, 8, ["modelValue", "onUpdate:modelValue"])
|
|
3779
3796
|
]),
|
|
3780
|
-
l("div",
|
|
3781
|
-
j(
|
|
3797
|
+
l("div", Ir, [
|
|
3798
|
+
j(De, {
|
|
3782
3799
|
modelValue: B.value,
|
|
3783
3800
|
"onUpdate:modelValue": (f) => B.value = f,
|
|
3784
3801
|
placeholder: "Значення"
|
|
@@ -3788,31 +3805,31 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3788
3805
|
onClick: (f) => R(B.id),
|
|
3789
3806
|
class: "shrink-0 w-[30px] text-gray-600 h-[30px] rounded-full flex items-center justify-center bg-gray-100 hover:bg-gray-200"
|
|
3790
3807
|
}, [
|
|
3791
|
-
j(q(
|
|
3808
|
+
j(q(ml), {
|
|
3792
3809
|
height: "16",
|
|
3793
3810
|
width: "16"
|
|
3794
3811
|
})
|
|
3795
|
-
], 8,
|
|
3796
|
-
], 42,
|
|
3812
|
+
], 8, zr)
|
|
3813
|
+
], 42, Br))), 128))
|
|
3797
3814
|
], 512),
|
|
3798
|
-
c.value.length ?
|
|
3799
|
-
l("div",
|
|
3815
|
+
c.value.length ? A("", !0) : (i(), d("span", Er, " Дані для відображення відсутні ")),
|
|
3816
|
+
l("div", Ar, [
|
|
3800
3817
|
l("button", {
|
|
3801
3818
|
type: "button",
|
|
3802
3819
|
onClick: S,
|
|
3803
3820
|
disabled: _.value,
|
|
3804
3821
|
class: "py-1.5 px-2 flex items-center gap-x-1 text-xs font-medium rounded-full border border-dashed border-gray-200 bg-white text-gray-800 hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed"
|
|
3805
3822
|
}, [
|
|
3806
|
-
j(
|
|
3823
|
+
j(Ae, {
|
|
3807
3824
|
height: "14",
|
|
3808
3825
|
width: "14"
|
|
3809
3826
|
}),
|
|
3810
|
-
|
|
3811
|
-
], 8,
|
|
3827
|
+
pe(" " + T(q(a)), 1)
|
|
3828
|
+
], 8, Fr)
|
|
3812
3829
|
])
|
|
3813
3830
|
]));
|
|
3814
3831
|
}
|
|
3815
|
-
}),
|
|
3832
|
+
}), Or = /* @__PURE__ */ H(Dr, [["__scopeId", "data-v-a0f7fbfc"]]), Ur = { class: "flex items-center gap-2 w-full" }, Tr = ["disabled"], Rr = /* @__PURE__ */ F({
|
|
3816
3833
|
__name: "vs-input-color",
|
|
3817
3834
|
props: {
|
|
3818
3835
|
style: { default: () => ({}) },
|
|
@@ -3825,11 +3842,11 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3825
3842
|
},
|
|
3826
3843
|
emits: ["update:modelValue"],
|
|
3827
3844
|
setup(o, { emit: e }) {
|
|
3828
|
-
const t = o, { inputClass: n } =
|
|
3845
|
+
const t = o, { inputClass: n } = ye(t.style), s = e, r = O({
|
|
3829
3846
|
get: () => t.modelValue || "#000000",
|
|
3830
3847
|
set: (a) => s("update:modelValue", a)
|
|
3831
3848
|
});
|
|
3832
|
-
return (a, u) => (i(), d("div",
|
|
3849
|
+
return (a, u) => (i(), d("div", Ur, [
|
|
3833
3850
|
K(l("input", {
|
|
3834
3851
|
type: "color",
|
|
3835
3852
|
"onUpdate:modelValue": u[0] || (u[0] = (c) => r.value = c),
|
|
@@ -3837,18 +3854,18 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3837
3854
|
ref: "color",
|
|
3838
3855
|
class: M(["py-1.5 px-1 block w-full bg-white cursor-pointer max-w-[50px]", [a.modelValue ? "" : "text-opacity-50", q(n)].join(" ")]),
|
|
3839
3856
|
style: { border: "1px solid #CFD9E0" }
|
|
3840
|
-
}, null, 10,
|
|
3841
|
-
[
|
|
3857
|
+
}, null, 10, Tr), [
|
|
3858
|
+
[re, r.value]
|
|
3842
3859
|
]),
|
|
3843
3860
|
K(l("input", {
|
|
3844
3861
|
class: "text-sm text-gray-600 border border-solid border-stone-200 rounded-md p-2",
|
|
3845
3862
|
"onUpdate:modelValue": u[1] || (u[1] = (c) => r.value = c)
|
|
3846
3863
|
}, null, 512), [
|
|
3847
|
-
[
|
|
3864
|
+
[re, r.value]
|
|
3848
3865
|
])
|
|
3849
3866
|
]));
|
|
3850
3867
|
}
|
|
3851
|
-
}),
|
|
3868
|
+
}), Pr = { class: "flex items-center gap-2 w-full" }, Hr = ["min", "max", "step", "disabled"], Nr = /* @__PURE__ */ F({
|
|
3852
3869
|
__name: "vs-input-range",
|
|
3853
3870
|
props: {
|
|
3854
3871
|
style: { default: () => ({}) },
|
|
@@ -3864,11 +3881,11 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3864
3881
|
},
|
|
3865
3882
|
emits: ["update:modelValue"],
|
|
3866
3883
|
setup(o, { emit: e }) {
|
|
3867
|
-
const t = o, { inputClass: n } =
|
|
3884
|
+
const t = o, { inputClass: n } = ye(t.style), s = e, r = O({
|
|
3868
3885
|
get: () => Number(t.modelValue ?? t.min),
|
|
3869
3886
|
set: (a) => s("update:modelValue", Number(a))
|
|
3870
3887
|
});
|
|
3871
|
-
return (a, u) => (i(), d("div",
|
|
3888
|
+
return (a, u) => (i(), d("div", Pr, [
|
|
3872
3889
|
K(l("input", {
|
|
3873
3890
|
type: "range",
|
|
3874
3891
|
"onUpdate:modelValue": u[0] || (u[0] = (c) => r.value = c),
|
|
@@ -3878,44 +3895,44 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3878
3895
|
disabled: a.disabled,
|
|
3879
3896
|
ref: "range",
|
|
3880
3897
|
class: M(["w-full cursor-pointer accent-blue-500", [a.modelValue ? "" : "text-opacity-50", q(n)].join(" ")])
|
|
3881
|
-
}, null, 10,
|
|
3882
|
-
[
|
|
3898
|
+
}, null, 10, Hr), [
|
|
3899
|
+
[re, r.value]
|
|
3883
3900
|
]),
|
|
3884
3901
|
K(l("input", {
|
|
3885
3902
|
class: "text-sm text-gray-600 border border-solid border-stone-200 rounded-md p-2 max-w-[100px]",
|
|
3886
3903
|
type: "number",
|
|
3887
3904
|
"onUpdate:modelValue": u[1] || (u[1] = (c) => r.value = c)
|
|
3888
3905
|
}, null, 512), [
|
|
3889
|
-
[
|
|
3906
|
+
[re, r.value]
|
|
3890
3907
|
])
|
|
3891
3908
|
]));
|
|
3892
3909
|
}
|
|
3893
|
-
}),
|
|
3894
|
-
VsInputText:
|
|
3895
|
-
VsInputRadio:
|
|
3896
|
-
"vs-input-text":
|
|
3897
|
-
"vs-input-textarea":
|
|
3898
|
-
"vs-input-mask":
|
|
3899
|
-
"vs-input-number":
|
|
3900
|
-
"vs-input-radio":
|
|
3901
|
-
"vs-input-select":
|
|
3902
|
-
"vs-input-switcher":
|
|
3903
|
-
"vs-input-static":
|
|
3904
|
-
"vs-input-container":
|
|
3905
|
-
"vs-input-date":
|
|
3906
|
-
"vs-input-checkbox":
|
|
3907
|
-
"vs-input-file":
|
|
3908
|
-
"vs-input-html":
|
|
3909
|
-
"vs-input-email":
|
|
3910
|
-
"vs-input-datatable":
|
|
3911
|
-
"vs-input-map":
|
|
3912
|
-
"vs-input-file-list":
|
|
3913
|
-
"vs-input-tag":
|
|
3914
|
-
"vs-input-slug":
|
|
3915
|
-
"vs-input-key-value":
|
|
3916
|
-
"vs-input-range":
|
|
3917
|
-
"vs-input-color":
|
|
3918
|
-
},
|
|
3910
|
+
}), qr = {
|
|
3911
|
+
VsInputText: De,
|
|
3912
|
+
VsInputRadio: at,
|
|
3913
|
+
"vs-input-text": De,
|
|
3914
|
+
"vs-input-textarea": Qa,
|
|
3915
|
+
"vs-input-mask": Vl,
|
|
3916
|
+
"vs-input-number": Gt,
|
|
3917
|
+
"vs-input-radio": at,
|
|
3918
|
+
"vs-input-select": Za,
|
|
3919
|
+
"vs-input-switcher": ft,
|
|
3920
|
+
"vs-input-static": ot,
|
|
3921
|
+
"vs-input-container": Ma,
|
|
3922
|
+
"vs-input-date": Tl,
|
|
3923
|
+
"vs-input-checkbox": Ol,
|
|
3924
|
+
"vs-input-file": Vo,
|
|
3925
|
+
"vs-input-html": ot,
|
|
3926
|
+
"vs-input-email": Sl,
|
|
3927
|
+
"vs-input-datatable": Xs,
|
|
3928
|
+
"vs-input-map": fr,
|
|
3929
|
+
"vs-input-file-list": la,
|
|
3930
|
+
"vs-input-tag": _r,
|
|
3931
|
+
"vs-input-slug": Mr,
|
|
3932
|
+
"vs-input-key-value": Or,
|
|
3933
|
+
"vs-input-range": Nr,
|
|
3934
|
+
"vs-input-color": Rr
|
|
3935
|
+
}, Gr = /* @__PURE__ */ F({
|
|
3919
3936
|
__name: "behavior",
|
|
3920
3937
|
props: {
|
|
3921
3938
|
api: {},
|
|
@@ -3931,7 +3948,7 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3931
3948
|
if (!e.api) return;
|
|
3932
3949
|
const s = e.api.replace("{{value}}", e.value), r = await fetch(s);
|
|
3933
3950
|
if (!r.ok) {
|
|
3934
|
-
|
|
3951
|
+
ke({ type: "warning", title: "Validation", message: "При спробі завантажити дані виникла помилка." });
|
|
3935
3952
|
return;
|
|
3936
3953
|
}
|
|
3937
3954
|
const a = await r.json();
|
|
@@ -3947,7 +3964,7 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3947
3964
|
class: "vs-button relative inline-flex border-solid justify-center items-center gap-2 rounded-md font-semibold focus:outline-none text-sm transition-all border !border-gray-200 hover:text-white bg-white text-blue-500 hover:border-blue-500 hover:bg-blue-500 focus:ring-blue-500 py-1.5 px-5 focus:ring-1 focus:ring-offset-1 ml-0 md:ml-2 mt-2 md:mt-0 py-[8px] md:w-2/4 whitespace-nowrap w-full"
|
|
3948
3965
|
}, T(s.button), 1));
|
|
3949
3966
|
}
|
|
3950
|
-
}),
|
|
3967
|
+
}), Jr = { class: "flex w-full" }, ht = /* @__PURE__ */ F({
|
|
3951
3968
|
__name: "vs-compact-form-layout",
|
|
3952
3969
|
props: /* @__PURE__ */ Q({
|
|
3953
3970
|
item: { default: {} },
|
|
@@ -3961,55 +3978,55 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
3961
3978
|
}),
|
|
3962
3979
|
emits: ["update:modelValue"],
|
|
3963
3980
|
setup(o) {
|
|
3964
|
-
const e = o, t = X(o, "modelValue"), n =
|
|
3981
|
+
const e = o, t = X(o, "modelValue"), n = O(() => Ht[`${e.layout}`]), s = O(() => qr?.[`vs-input-${e.item.type}`]), r = O(() => {
|
|
3965
3982
|
const u = q(s);
|
|
3966
3983
|
if (!u) return /* @__PURE__ */ new Set();
|
|
3967
3984
|
const c = u.props ?? u.__vccOpts?.props;
|
|
3968
3985
|
if (!c) return /* @__PURE__ */ new Set();
|
|
3969
3986
|
const v = Array.isArray(c) ? c : Object.keys(c);
|
|
3970
3987
|
return new Set(v);
|
|
3971
|
-
}), a =
|
|
3988
|
+
}), a = O(() => {
|
|
3972
3989
|
const u = e.item ?? {}, c = r.value;
|
|
3973
3990
|
return c.size ? Object.fromEntries(Object.entries(u).filter(([v]) => c.has(v))) : {};
|
|
3974
3991
|
});
|
|
3975
|
-
return (u, c) => (i(), ae(
|
|
3992
|
+
return (u, c) => (i(), ae(Se(n.value), {
|
|
3976
3993
|
ua: e.item.ua,
|
|
3977
3994
|
error: e.error || "",
|
|
3978
3995
|
item: u.item,
|
|
3979
3996
|
label: e.item.label
|
|
3980
3997
|
}, {
|
|
3981
|
-
default:
|
|
3982
|
-
l("div",
|
|
3983
|
-
(i(), ae(
|
|
3998
|
+
default: Be(() => [
|
|
3999
|
+
l("div", Jr, [
|
|
4000
|
+
(i(), ae(Se(s.value), Ee(a.value, {
|
|
3984
4001
|
modelValue: t.value,
|
|
3985
4002
|
"onUpdate:modelValue": c[0] || (c[0] = (v) => t.value = v)
|
|
3986
4003
|
}), null, 16, ["modelValue"])),
|
|
3987
|
-
u.item.behavior?.api && u.item.behavior?.button ? (i(), ae(
|
|
4004
|
+
u.item.behavior?.api && u.item.behavior?.button ? (i(), ae(Gr, Ee({ key: 0 }, u.item.behavior, { value: t.value }), null, 16, ["value"])) : A("", !0)
|
|
3988
4005
|
])
|
|
3989
4006
|
]),
|
|
3990
4007
|
_: 1
|
|
3991
4008
|
}, 8, ["ua", "error", "item", "label"]));
|
|
3992
4009
|
}
|
|
3993
|
-
}),
|
|
4010
|
+
}), gt = {
|
|
3994
4011
|
required: "Це поле є обов’язковим",
|
|
3995
4012
|
email: "Неправильний email"
|
|
3996
|
-
},
|
|
4013
|
+
}, Kr = (o) => o ? !1 : gt.required, Zr = (o) => !o && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(o) ? gt.email : !1, Wr = (o, e) => {
|
|
3997
4014
|
const t = e.pattern ?? e.regexp;
|
|
3998
4015
|
return !(typeof t == "string" ? new RegExp(t) : t).test(o) && o ? e.message : !1;
|
|
3999
|
-
},
|
|
4016
|
+
}, Qr = (o, e) => !1, Xr = (o, e) => {
|
|
4000
4017
|
switch (typeof e == "string" ? e : e.type) {
|
|
4001
4018
|
case "required":
|
|
4002
|
-
return
|
|
4019
|
+
return Kr(o);
|
|
4003
4020
|
case "email":
|
|
4004
|
-
return
|
|
4021
|
+
return Zr(o);
|
|
4005
4022
|
case "regexp":
|
|
4006
|
-
return
|
|
4023
|
+
return Wr(o, e);
|
|
4007
4024
|
case "custom":
|
|
4008
|
-
return
|
|
4025
|
+
return Qr();
|
|
4009
4026
|
default:
|
|
4010
4027
|
return !1;
|
|
4011
4028
|
}
|
|
4012
|
-
},
|
|
4029
|
+
}, Yr = {
|
|
4013
4030
|
autocomplete: "select",
|
|
4014
4031
|
combobox: "select",
|
|
4015
4032
|
datepicker: "date",
|
|
@@ -4021,16 +4038,16 @@ const bn = /* @__PURE__ */ N(mn, [["render", gn]]), yn = { class: "form-geom__se
|
|
|
4021
4038
|
file: "file"
|
|
4022
4039
|
// mask: 'text',
|
|
4023
4040
|
};
|
|
4024
|
-
function
|
|
4041
|
+
function it(o) {
|
|
4025
4042
|
const e = o.toLowerCase();
|
|
4026
|
-
return
|
|
4043
|
+
return Yr[e] || e;
|
|
4027
4044
|
}
|
|
4028
|
-
function
|
|
4045
|
+
function ei(o) {
|
|
4029
4046
|
if (Array.isArray(o)) {
|
|
4030
4047
|
const t = [];
|
|
4031
4048
|
return o.forEach((n) => {
|
|
4032
4049
|
const s = { ...n };
|
|
4033
|
-
s.name = (n.name || n.id || n.key || "").toString(), s.type =
|
|
4050
|
+
s.name = (n.name || n.id || n.key || "").toString(), s.type = it(n.type), s.label = n.label || n.ua, s.rules = n.rules || n.validators, n.data && (s.api = `/api/suggest/${n.data}`), t.push(s);
|
|
4034
4051
|
}), t;
|
|
4035
4052
|
}
|
|
4036
4053
|
const e = [];
|
|
@@ -4038,20 +4055,20 @@ function Qr(o) {
|
|
|
4038
4055
|
const n = {
|
|
4039
4056
|
name: t[0],
|
|
4040
4057
|
...t[1],
|
|
4041
|
-
type:
|
|
4058
|
+
type: it(t[1].type),
|
|
4042
4059
|
label: t[1].label || t[1].ua,
|
|
4043
4060
|
rules: t[1].rules || t[1].validators
|
|
4044
4061
|
};
|
|
4045
4062
|
t[1].type.includes("list") && (n.multiple = !0), t[1].data && (n.api = `/api/suggest/${t[1].data}`), e.push(n);
|
|
4046
4063
|
}), e;
|
|
4047
4064
|
}
|
|
4048
|
-
function
|
|
4049
|
-
const t =
|
|
4065
|
+
function ti(o, e) {
|
|
4066
|
+
const t = ei(e), n = w({});
|
|
4050
4067
|
function s(c) {
|
|
4051
4068
|
const v = c?.conditions;
|
|
4052
4069
|
if (!v) return !0;
|
|
4053
4070
|
const p = Array.isArray(v) ? v[0] : v, x = o?.value?.[p];
|
|
4054
|
-
return
|
|
4071
|
+
return mt(x, v);
|
|
4055
4072
|
}
|
|
4056
4073
|
const r = (c = t, v = !0) => (c.forEach((p) => {
|
|
4057
4074
|
if (p.rules) {
|
|
@@ -4060,12 +4077,12 @@ function Xr(o, e) {
|
|
|
4060
4077
|
return;
|
|
4061
4078
|
}
|
|
4062
4079
|
p.rules.forEach((x) => {
|
|
4063
|
-
const g =
|
|
4080
|
+
const g = Xr(o.value[p.name], x);
|
|
4064
4081
|
g ? n.value[p.name] = g : delete n.value[p.name];
|
|
4065
4082
|
});
|
|
4066
4083
|
}
|
|
4067
4084
|
p.schema && r(p.schema, !1);
|
|
4068
|
-
}), v && Object.values(n.value).some(Boolean) ? n.value : null), a =
|
|
4085
|
+
}), v && Object.values(n.value).some(Boolean) ? n.value : null), a = O(() => t?.filter((c) => s(c)));
|
|
4069
4086
|
return {
|
|
4070
4087
|
errors: n,
|
|
4071
4088
|
validate: r,
|
|
@@ -4075,7 +4092,7 @@ function Xr(o, e) {
|
|
|
4075
4092
|
visibleSchema: a
|
|
4076
4093
|
};
|
|
4077
4094
|
}
|
|
4078
|
-
const
|
|
4095
|
+
const Oe = /* @__PURE__ */ F({
|
|
4079
4096
|
__name: "vs-compact-form",
|
|
4080
4097
|
props: /* @__PURE__ */ Q({
|
|
4081
4098
|
schema: { default: () => [] },
|
|
@@ -4096,14 +4113,14 @@ const De = /* @__PURE__ */ A({
|
|
|
4096
4113
|
validate: c,
|
|
4097
4114
|
reset: v,
|
|
4098
4115
|
visibleSchema: p
|
|
4099
|
-
} =
|
|
4116
|
+
} = ti(a, s.schema), x = () => {
|
|
4100
4117
|
n("update:modelValue", a.value), c(), n("handle-submit", a.value);
|
|
4101
4118
|
};
|
|
4102
4119
|
e({
|
|
4103
4120
|
validate: c,
|
|
4104
4121
|
reset: v,
|
|
4105
4122
|
errors: u
|
|
4106
|
-
}),
|
|
4123
|
+
}), be(() => {
|
|
4107
4124
|
s.modelValue && (a.value = s.modelValue), r.value.value = a.value, r.value.errors = u.value, r.value.reset = v, r.value.validate = c, r.value.formId = s.formId;
|
|
4108
4125
|
});
|
|
4109
4126
|
function g(_, S) {
|
|
@@ -4112,14 +4129,14 @@ const De = /* @__PURE__ */ A({
|
|
|
4112
4129
|
const R = Object.keys(_), $ = Object.keys(S);
|
|
4113
4130
|
return R.length !== $.length ? !1 : R.every((z) => _[z] === S[z]);
|
|
4114
4131
|
}
|
|
4115
|
-
return
|
|
4132
|
+
return lt("form", r), lt("values", a), (_, S) => (i(), d("form", {
|
|
4116
4133
|
onSubmit: ve(x, ["prevent"]),
|
|
4117
4134
|
class: M(["grid grid-cols-12", _.layout === "default" ? "gap-6" : "gap-4"])
|
|
4118
4135
|
}, [
|
|
4119
|
-
(i(!0), d(Y, null, le(q(p), (R) => (i(), ae(
|
|
4136
|
+
(i(!0), d(Y, null, le(q(p), (R) => (i(), ae(ht, {
|
|
4120
4137
|
key: R.name,
|
|
4121
4138
|
class: M(_.layout === "horizontal" ? "col-span-12" : `col-span-${R.col || 12} `),
|
|
4122
|
-
style:
|
|
4139
|
+
style: ge(_.style),
|
|
4123
4140
|
item: R,
|
|
4124
4141
|
layout: _.layout,
|
|
4125
4142
|
"model-value": a.value[R.name],
|
|
@@ -4132,35 +4149,35 @@ const De = /* @__PURE__ */ A({
|
|
|
4132
4149
|
], 34));
|
|
4133
4150
|
}
|
|
4134
4151
|
});
|
|
4135
|
-
|
|
4136
|
-
e.component("VForm",
|
|
4137
|
-
$form:
|
|
4138
|
-
}), e.provide("form",
|
|
4152
|
+
Oe.install = function(e) {
|
|
4153
|
+
e.component("VForm", Oe), Object.assign(e.config.globalProperties, {
|
|
4154
|
+
$form: Pe
|
|
4155
|
+
}), e.provide("form", Pe), window.v3plugin || (window.v3plugin = {});
|
|
4139
4156
|
};
|
|
4140
4157
|
export {
|
|
4141
|
-
|
|
4142
|
-
|
|
4143
|
-
|
|
4144
|
-
|
|
4145
|
-
|
|
4146
|
-
|
|
4147
|
-
|
|
4148
|
-
|
|
4149
|
-
|
|
4150
|
-
|
|
4151
|
-
|
|
4152
|
-
|
|
4153
|
-
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
|
|
4158
|
-
|
|
4159
|
-
|
|
4160
|
-
|
|
4161
|
-
|
|
4162
|
-
|
|
4163
|
-
|
|
4164
|
-
|
|
4165
|
-
|
|
4158
|
+
Ea as ModalEdit,
|
|
4159
|
+
Oe as VForm,
|
|
4160
|
+
Ol as VsInputCheckbox,
|
|
4161
|
+
Rr as VsInputColor,
|
|
4162
|
+
Ma as VsInputContainer,
|
|
4163
|
+
Tl as VsInputDate,
|
|
4164
|
+
Sl as VsInputEmail,
|
|
4165
|
+
Vo as VsInputFile,
|
|
4166
|
+
la as VsInputFileList,
|
|
4167
|
+
Or as VsInputKeyValue,
|
|
4168
|
+
Vl as VsInputMask,
|
|
4169
|
+
Gt as VsInputNumber,
|
|
4170
|
+
at as VsInputRadio,
|
|
4171
|
+
Nr as VsInputRange,
|
|
4172
|
+
Za as VsInputSelect,
|
|
4173
|
+
Mr as VsInputSlug,
|
|
4174
|
+
ot as VsInputStatic,
|
|
4175
|
+
ft as VsInputSwitcher,
|
|
4176
|
+
_r as VsInputTag,
|
|
4177
|
+
De as VsInputText,
|
|
4178
|
+
Qa as VsInputTextarea,
|
|
4179
|
+
Oe as default,
|
|
4180
|
+
qr as inputs,
|
|
4181
|
+
Xs as vsInputDatatable,
|
|
4182
|
+
fr as vsInputMap
|
|
4166
4183
|
};
|