@opengis/widgets 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -236
- package/index.css +1 -1
- package/index.js +496 -493
- package/index.umd.cjs +26 -26
- package/package.json +1 -1
- package/vite.svg +0 -1
package/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { h as B, defineComponent as w, mergeModels as q, useModel as W, ref as M, createElementBlock as
|
|
1
|
+
import { h as B, defineComponent as w, mergeModels as q, useModel as W, ref as M, createElementBlock as a, openBlock as o, createElementVNode as t, createVNode as v, unref as m, withDirectives as P, vModelText as Y, createCommentVNode as b, createTextVNode as H, onMounted as ee, onUnmounted as G, resolveComponent as de, normalizeClass as x, createBlock as C, toDisplayString as h, Fragment as I, renderList as D, normalizeStyle as z, resolveDynamicComponent as j, Teleport as te, TransitionGroup as ce, withCtx as ue, computed as L, nextTick as pe, renderSlot as F, mergeProps as U, vShow as me } from "vue";
|
|
2
2
|
/**
|
|
3
3
|
* @license lucide-vue-next v0.535.0 - ISC
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under the ISC license.
|
|
6
6
|
* See the LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
|
-
const J = (
|
|
8
|
+
const J = (r) => r.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), he = (r) => r.replace(
|
|
9
9
|
/^([A-Z])|[\s-_]+(\w)/g,
|
|
10
|
-
(n,
|
|
11
|
-
),
|
|
12
|
-
const n =
|
|
10
|
+
(n, i, e) => e ? e.toUpperCase() : i.toLowerCase()
|
|
11
|
+
), ge = (r) => {
|
|
12
|
+
const n = he(r);
|
|
13
13
|
return n.charAt(0).toUpperCase() + n.slice(1);
|
|
14
|
-
},
|
|
14
|
+
}, fe = (...r) => r.filter((n, i, e) => !!n && n.trim() !== "" && e.indexOf(n) === i).join(" ").trim();
|
|
15
15
|
/**
|
|
16
16
|
* @license lucide-vue-next v0.535.0 - ISC
|
|
17
17
|
*
|
|
@@ -35,21 +35,21 @@ var E = {
|
|
|
35
35
|
* This source code is licensed under the ISC license.
|
|
36
36
|
* See the LICENSE file in the root directory of this source tree.
|
|
37
37
|
*/
|
|
38
|
-
const
|
|
38
|
+
const ye = ({ size: r, strokeWidth: n = 2, absoluteStrokeWidth: i, color: e, iconNode: s, name: p, class: l, ...u }, { slots: d }) => B(
|
|
39
39
|
"svg",
|
|
40
40
|
{
|
|
41
41
|
...E,
|
|
42
|
-
width:
|
|
43
|
-
height:
|
|
42
|
+
width: r || E.width,
|
|
43
|
+
height: r || E.height,
|
|
44
44
|
stroke: e || E.stroke,
|
|
45
|
-
"stroke-width":
|
|
46
|
-
class:
|
|
45
|
+
"stroke-width": i ? Number(n) * 24 / Number(r) : n,
|
|
46
|
+
class: fe(
|
|
47
47
|
"lucide",
|
|
48
|
-
...p ? [`lucide-${J(
|
|
48
|
+
...p ? [`lucide-${J(ge(p))}-icon`, `lucide-${J(p)}`] : ["lucide-icon"]
|
|
49
49
|
),
|
|
50
50
|
...u
|
|
51
51
|
},
|
|
52
|
-
[...s.map((
|
|
52
|
+
[...s.map((y) => B(...y)), ...d.default ? [d.default()] : []]
|
|
53
53
|
);
|
|
54
54
|
/**
|
|
55
55
|
* @license lucide-vue-next v0.535.0 - ISC
|
|
@@ -57,12 +57,12 @@ const fe = ({ size: c, strokeWidth: n = 2, absoluteStrokeWidth: a, color: e, ico
|
|
|
57
57
|
* This source code is licensed under the ISC license.
|
|
58
58
|
* See the LICENSE file in the root directory of this source tree.
|
|
59
59
|
*/
|
|
60
|
-
const k = (
|
|
61
|
-
|
|
60
|
+
const k = (r, n) => (i, { slots: e }) => B(
|
|
61
|
+
ye,
|
|
62
62
|
{
|
|
63
|
-
...
|
|
63
|
+
...i,
|
|
64
64
|
iconNode: n,
|
|
65
|
-
name:
|
|
65
|
+
name: r
|
|
66
66
|
},
|
|
67
67
|
e
|
|
68
68
|
);
|
|
@@ -72,7 +72,7 @@ const k = (c, n) => (a, { slots: e }) => B(
|
|
|
72
72
|
* This source code is licensed under the ISC license.
|
|
73
73
|
* See the LICENSE file in the root directory of this source tree.
|
|
74
74
|
*/
|
|
75
|
-
const
|
|
75
|
+
const ve = k("archive", [
|
|
76
76
|
["rect", { width: "20", height: "5", x: "2", y: "3", rx: "1", key: "1wp1u1" }],
|
|
77
77
|
["path", { d: "M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8", key: "1s80jp" }],
|
|
78
78
|
["path", { d: "M10 12h4", key: "a56b0p" }]
|
|
@@ -83,7 +83,7 @@ const ge = k("archive", [
|
|
|
83
83
|
* This source code is licensed under the ISC license.
|
|
84
84
|
* See the LICENSE file in the root directory of this source tree.
|
|
85
85
|
*/
|
|
86
|
-
const
|
|
86
|
+
const be = k("arrow-right", [
|
|
87
87
|
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
88
88
|
["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
|
|
89
89
|
]);
|
|
@@ -93,7 +93,7 @@ const ye = k("arrow-right", [
|
|
|
93
93
|
* This source code is licensed under the ISC license.
|
|
94
94
|
* See the LICENSE file in the root directory of this source tree.
|
|
95
95
|
*/
|
|
96
|
-
const
|
|
96
|
+
const xe = k("circle-check-big", [
|
|
97
97
|
["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
|
|
98
98
|
["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
|
|
99
99
|
]);
|
|
@@ -114,7 +114,7 @@ const K = k("download", [
|
|
|
114
114
|
* This source code is licensed under the ISC license.
|
|
115
115
|
* See the LICENSE file in the root directory of this source tree.
|
|
116
116
|
*/
|
|
117
|
-
const
|
|
117
|
+
const ke = k("ellipsis", [
|
|
118
118
|
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
119
119
|
["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
|
|
120
120
|
["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
|
|
@@ -138,7 +138,7 @@ const R = k("file-text", [
|
|
|
138
138
|
* This source code is licensed under the ISC license.
|
|
139
139
|
* See the LICENSE file in the root directory of this source tree.
|
|
140
140
|
*/
|
|
141
|
-
const
|
|
141
|
+
const _e = k("file", [
|
|
142
142
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
143
143
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }]
|
|
144
144
|
]);
|
|
@@ -148,7 +148,7 @@ const ke = k("file", [
|
|
|
148
148
|
* This source code is licensed under the ISC license.
|
|
149
149
|
* See the LICENSE file in the root directory of this source tree.
|
|
150
150
|
*/
|
|
151
|
-
const
|
|
151
|
+
const we = k("grid-3x3", [
|
|
152
152
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
153
153
|
["path", { d: "M3 9h18", key: "1pudct" }],
|
|
154
154
|
["path", { d: "M3 15h18", key: "5xshup" }],
|
|
@@ -161,7 +161,7 @@ const _e = k("grid-3x3", [
|
|
|
161
161
|
* This source code is licensed under the ISC license.
|
|
162
162
|
* See the LICENSE file in the root directory of this source tree.
|
|
163
163
|
*/
|
|
164
|
-
const
|
|
164
|
+
const $e = k("heart", [
|
|
165
165
|
[
|
|
166
166
|
"path",
|
|
167
167
|
{
|
|
@@ -176,7 +176,7 @@ const we = k("heart", [
|
|
|
176
176
|
* This source code is licensed under the ISC license.
|
|
177
177
|
* See the LICENSE file in the root directory of this source tree.
|
|
178
178
|
*/
|
|
179
|
-
const
|
|
179
|
+
const Ce = k("history", [
|
|
180
180
|
["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
|
|
181
181
|
["path", { d: "M3 3v5h5", key: "1xhq8a" }],
|
|
182
182
|
["path", { d: "M12 7v5l4 2", key: "1fdv2h" }]
|
|
@@ -187,7 +187,7 @@ const $e = k("history", [
|
|
|
187
187
|
* This source code is licensed under the ISC license.
|
|
188
188
|
* See the LICENSE file in the root directory of this source tree.
|
|
189
189
|
*/
|
|
190
|
-
const
|
|
190
|
+
const Me = k("image", [
|
|
191
191
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
|
|
192
192
|
["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }],
|
|
193
193
|
["path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21", key: "1xmnt7" }]
|
|
@@ -198,7 +198,7 @@ const Ce = k("image", [
|
|
|
198
198
|
* This source code is licensed under the ISC license.
|
|
199
199
|
* See the LICENSE file in the root directory of this source tree.
|
|
200
200
|
*/
|
|
201
|
-
const
|
|
201
|
+
const Ie = k("list", [
|
|
202
202
|
["path", { d: "M3 12h.01", key: "nlz23k" }],
|
|
203
203
|
["path", { d: "M3 18h.01", key: "1tta3j" }],
|
|
204
204
|
["path", { d: "M3 6h.01", key: "1rqtza" }],
|
|
@@ -212,7 +212,7 @@ const Me = k("list", [
|
|
|
212
212
|
* This source code is licensed under the ISC license.
|
|
213
213
|
* See the LICENSE file in the root directory of this source tree.
|
|
214
214
|
*/
|
|
215
|
-
const
|
|
215
|
+
const De = k("reply", [
|
|
216
216
|
["path", { d: "M20 18v-2a4 4 0 0 0-4-4H4", key: "5vmcpk" }],
|
|
217
217
|
["path", { d: "m9 17-5-5 5-5", key: "nvlc11" }]
|
|
218
218
|
]);
|
|
@@ -238,7 +238,7 @@ const se = k("send", [
|
|
|
238
238
|
* This source code is licensed under the ISC license.
|
|
239
239
|
* See the LICENSE file in the root directory of this source tree.
|
|
240
240
|
*/
|
|
241
|
-
const
|
|
241
|
+
const He = k("share", [
|
|
242
242
|
["path", { d: "M12 2v13", key: "1km8f5" }],
|
|
243
243
|
["path", { d: "m16 6-4-4-4 4", key: "13yo43" }],
|
|
244
244
|
["path", { d: "M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8", key: "1b2hhj" }]
|
|
@@ -249,7 +249,7 @@ const De = k("share", [
|
|
|
249
249
|
* This source code is licensed under the ISC license.
|
|
250
250
|
* See the LICENSE file in the root directory of this source tree.
|
|
251
251
|
*/
|
|
252
|
-
const
|
|
252
|
+
const Le = k("sheet", [
|
|
253
253
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
|
|
254
254
|
["line", { x1: "3", x2: "21", y1: "9", y2: "9", key: "1vqk6q" }],
|
|
255
255
|
["line", { x1: "3", x2: "21", y1: "15", y2: "15", key: "o2sbyz" }],
|
|
@@ -262,7 +262,7 @@ const He = k("sheet", [
|
|
|
262
262
|
* This source code is licensed under the ISC license.
|
|
263
263
|
* See the LICENSE file in the root directory of this source tree.
|
|
264
264
|
*/
|
|
265
|
-
const
|
|
265
|
+
const je = k("square-pen", [
|
|
266
266
|
["path", { d: "M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7", key: "1m0v6g" }],
|
|
267
267
|
[
|
|
268
268
|
"path",
|
|
@@ -278,7 +278,7 @@ const Le = k("square-pen", [
|
|
|
278
278
|
* This source code is licensed under the ISC license.
|
|
279
279
|
* See the LICENSE file in the root directory of this source tree.
|
|
280
280
|
*/
|
|
281
|
-
const
|
|
281
|
+
const Te = k("stretch-horizontal", [
|
|
282
282
|
["rect", { width: "20", height: "6", x: "2", y: "4", rx: "2", key: "qdearl" }],
|
|
283
283
|
["rect", { width: "20", height: "6", x: "2", y: "14", rx: "2", key: "1xrn6j" }]
|
|
284
284
|
]);
|
|
@@ -301,7 +301,7 @@ const N = k("trash-2", [
|
|
|
301
301
|
* This source code is licensed under the ISC license.
|
|
302
302
|
* See the LICENSE file in the root directory of this source tree.
|
|
303
303
|
*/
|
|
304
|
-
const
|
|
304
|
+
const ze = k("user-check", [
|
|
305
305
|
["path", { d: "m16 11 2 2 4-4", key: "9rsbq5" }],
|
|
306
306
|
["path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2", key: "1yyitq" }],
|
|
307
307
|
["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }]
|
|
@@ -322,7 +322,7 @@ const Z = k("user", [
|
|
|
322
322
|
* This source code is licensed under the ISC license.
|
|
323
323
|
* See the LICENSE file in the root directory of this source tree.
|
|
324
324
|
*/
|
|
325
|
-
const
|
|
325
|
+
const Se = k("video", [
|
|
326
326
|
[
|
|
327
327
|
"path",
|
|
328
328
|
{
|
|
@@ -341,186 +341,186 @@ const ze = k("video", [
|
|
|
341
341
|
const O = k("x", [
|
|
342
342
|
["path", { d: "M18 6 6 18", key: "1bl5f8" }],
|
|
343
343
|
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
|
|
344
|
-
]),
|
|
344
|
+
]), Ve = { class: "border-t pt-3 mt-4" }, Fe = { class: "flex gap-2" }, Re = { class: "relative flex items-center justify-center shrink-0 overflow-hidden rounded-full h-5 w-5 bg-gray-200" }, Ae = { class: "flex-1 space-y-2" }, Ee = { class: "flex justify-between items-center" }, Ne = { class: "flex gap-2" }, Oe = ["disabled"], oe = /* @__PURE__ */ w({
|
|
345
345
|
__name: "CommentInputZone",
|
|
346
346
|
props: {
|
|
347
347
|
isReply: { type: Boolean, required: !1, default: !1 },
|
|
348
348
|
isReplyModifiers: {}
|
|
349
349
|
},
|
|
350
350
|
emits: /* @__PURE__ */ q(["sendComment"], ["update:isReply"]),
|
|
351
|
-
setup(
|
|
352
|
-
const
|
|
351
|
+
setup(r, { emit: n }) {
|
|
352
|
+
const i = W(r, "isReply"), e = M(""), s = n, p = () => {
|
|
353
353
|
e.value.trim() && (s("sendComment", e.value), e.value = "");
|
|
354
|
-
},
|
|
354
|
+
}, l = (u) => {
|
|
355
355
|
(u.ctrlKey || u.metaKey) && u.key === "Enter" && (u.preventDefault(), p());
|
|
356
356
|
};
|
|
357
|
-
return (u,
|
|
358
|
-
t("div",
|
|
359
|
-
t("span",
|
|
360
|
-
|
|
357
|
+
return (u, d) => (o(), a("div", Ve, [
|
|
358
|
+
t("div", Fe, [
|
|
359
|
+
t("span", Re, [
|
|
360
|
+
v(m(Z), { class: "h-3 w-3 text-gray-500" })
|
|
361
361
|
]),
|
|
362
|
-
t("div",
|
|
362
|
+
t("div", Ae, [
|
|
363
363
|
P(t("textarea", {
|
|
364
|
-
"onUpdate:modelValue":
|
|
365
|
-
onKeydown:
|
|
364
|
+
"onUpdate:modelValue": d[0] || (d[0] = (y) => e.value = y),
|
|
365
|
+
onKeydown: l,
|
|
366
366
|
placeholder: "Add a comment...",
|
|
367
367
|
class: "w-full min-h-[60px] p-2 border border-gray-200 rounded text-xs resize-none focus:outline-none focus:ring-1 focus:ring-blue-500 focus:border-transparent"
|
|
368
368
|
}, null, 544), [
|
|
369
369
|
[Y, e.value]
|
|
370
370
|
]),
|
|
371
|
-
t("div",
|
|
372
|
-
|
|
373
|
-
t("div",
|
|
374
|
-
|
|
371
|
+
t("div", Ee, [
|
|
372
|
+
d[4] || (d[4] = t("span", { class: "text-xs text-gray-500 hidden sm:inline" }, "Cmd+Enter to send", -1)),
|
|
373
|
+
t("div", Ne, [
|
|
374
|
+
i.value ? (o(), a("button", {
|
|
375
375
|
key: 0,
|
|
376
376
|
class: "inline-flex items-center justify-center gap-2 text-white whitespace-nowrap font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 bg-red-500 hover:bg-opacity-80 rounded-md h-6 text-xs px-2",
|
|
377
|
-
onClick:
|
|
377
|
+
onClick: d[1] || (d[1] = (y) => i.value = !1)
|
|
378
378
|
}, [
|
|
379
|
-
|
|
380
|
-
|
|
379
|
+
v(m(O), { class: "h-3 w-3" }),
|
|
380
|
+
d[2] || (d[2] = H(" Cancel ", -1))
|
|
381
381
|
])) : b("", !0),
|
|
382
382
|
t("button", {
|
|
383
383
|
class: "inline-flex items-center justify-center gap-2 text-white whitespace-nowrap font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 bg-black text-primary-foreground hover:bg-opacity-80 rounded-md h-6 text-xs px-2",
|
|
384
384
|
disabled: !e.value.trim(),
|
|
385
385
|
onClick: p
|
|
386
386
|
}, [
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
], 8,
|
|
387
|
+
v(m(se), { class: "h-3 w-3 mr-1" }),
|
|
388
|
+
d[3] || (d[3] = H(" Send ", -1))
|
|
389
|
+
], 8, Oe)
|
|
390
390
|
])
|
|
391
391
|
])
|
|
392
392
|
])
|
|
393
393
|
])
|
|
394
394
|
]));
|
|
395
395
|
}
|
|
396
|
-
}),
|
|
396
|
+
}), Be = { class: "z-50 min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md w-32 outline-none pointer-events-auto" }, Ue = /* @__PURE__ */ w({
|
|
397
397
|
__name: "CommentDetails",
|
|
398
398
|
props: {
|
|
399
399
|
showMoreOptions: { type: Boolean, required: !0, default: !1 },
|
|
400
400
|
showMoreOptionsModifiers: {}
|
|
401
401
|
},
|
|
402
402
|
emits: /* @__PURE__ */ q(["edit", "delete"], ["update:showMoreOptions"]),
|
|
403
|
-
setup(
|
|
404
|
-
const
|
|
405
|
-
e.value && s.value && !s.value.contains(
|
|
403
|
+
setup(r, { emit: n }) {
|
|
404
|
+
const i = n, e = W(r, "showMoreOptions"), s = M(), p = M(!0), l = async (y) => {
|
|
405
|
+
e.value && s.value && !s.value.contains(y.target) && !p.value && (e.value = !1), p.value = !1;
|
|
406
406
|
}, u = () => {
|
|
407
|
-
e.value = !1,
|
|
408
|
-
},
|
|
409
|
-
e.value = !1,
|
|
407
|
+
e.value = !1, i("edit");
|
|
408
|
+
}, d = () => {
|
|
409
|
+
e.value = !1, i("delete");
|
|
410
410
|
};
|
|
411
411
|
return ee(() => {
|
|
412
|
-
document.addEventListener("click",
|
|
412
|
+
document.addEventListener("click", l);
|
|
413
413
|
}), G(() => {
|
|
414
|
-
document.removeEventListener("click",
|
|
415
|
-
}), (
|
|
414
|
+
document.removeEventListener("click", l);
|
|
415
|
+
}), (y, c) => (o(), a("div", {
|
|
416
416
|
class: "absolute bg-white left-0 top-full transform min-w-max z-50",
|
|
417
417
|
ref_key: "moreOptionsRef",
|
|
418
418
|
ref: s
|
|
419
419
|
}, [
|
|
420
|
-
t("div",
|
|
420
|
+
t("div", Be, [
|
|
421
421
|
t("div", {
|
|
422
422
|
class: "relative cursor-pointer flex select-none items-center gap-2 rounded-sm px-2 py-2 outline-hidden transition-colors disabled:pointer-events-none disabled:opacity-50 text-xs hover:bg-gray-100 transition-colors duration-300",
|
|
423
423
|
onClick: u
|
|
424
424
|
}, [
|
|
425
|
-
|
|
426
|
-
|
|
425
|
+
v(m(je), { class: "h-3 w-3 mr-2" }),
|
|
426
|
+
c[0] || (c[0] = H(" Edit ", -1))
|
|
427
427
|
]),
|
|
428
428
|
t("div", {
|
|
429
429
|
class: "relative cursor-pointer flex select-none items-center gap-2 rounded-sm px-2 py-2 outline-hidden transition-colors disabled:pointer-events-none disabled:opacity-50 text-xs text-red-600 hover:bg-gray-100 transition-colors duration-300",
|
|
430
|
-
onClick:
|
|
430
|
+
onClick: d
|
|
431
431
|
}, [
|
|
432
|
-
|
|
433
|
-
|
|
432
|
+
v(m(N), { class: "h-3 w-3 mr-2" }),
|
|
433
|
+
c[1] || (c[1] = H(" Delete ", -1))
|
|
434
434
|
])
|
|
435
435
|
])
|
|
436
436
|
], 512));
|
|
437
437
|
}
|
|
438
|
-
}),
|
|
438
|
+
}), qe = { class: "space-y-2" }, We = { class: "relative flex items-center justify-center shrink-0 overflow-hidden rounded-full h-5 w-5 bg-gray-200" }, Pe = { class: "flex-1 min-w-0 space-y-1 relative" }, Ge = { class: "flex items-center gap-2" }, Ke = { class: "font-medium text-xs" }, Ze = { class: "text-xs text-gray-500" }, Xe = {
|
|
439
439
|
key: 0,
|
|
440
440
|
class: "text-xs text-gray-700 leading-relaxed"
|
|
441
|
-
},
|
|
441
|
+
}, Je = { class: "flex justify-between text-xs" }, Qe = { class: "flex items-center gap-2" }, Ye = {
|
|
442
442
|
key: 0,
|
|
443
443
|
class: "flex gap-2"
|
|
444
|
-
},
|
|
444
|
+
}, et = ["disabled"], tt = {
|
|
445
445
|
key: 0,
|
|
446
446
|
class: "ml-8 space-y-1 border-l-2 border-gray-100 pl-3"
|
|
447
|
-
},
|
|
447
|
+
}, st = /* @__PURE__ */ w({
|
|
448
448
|
__name: "CommentItem",
|
|
449
449
|
props: {
|
|
450
450
|
comment: {},
|
|
451
451
|
isInside: { type: Boolean }
|
|
452
452
|
},
|
|
453
453
|
emits: ["like", "reply", "edit", "delete"],
|
|
454
|
-
setup(
|
|
455
|
-
const
|
|
454
|
+
setup(r, { emit: n }) {
|
|
455
|
+
const i = n, e = r, s = M(e.comment.text), p = M("w-full p-2 rounded text-xs resize-none bg-transparent outline-none"), l = M("w-full min-h-[60px] p-2 border border-gray-200 rounded text-xs resize-none focus:outline-none focus:ring-1 focus:ring-blue-500 focus:border-transparent"), u = M(!1), d = M(!1), y = M(!1), c = M(!1), g = (_) => {
|
|
456
456
|
const f = /* @__PURE__ */ new Date(), V = Math.floor(
|
|
457
457
|
(f.getTime() - _.getTime()) / (1e3 * 60 * 60)
|
|
458
458
|
);
|
|
459
459
|
return V < 1 ? `${Math.floor(
|
|
460
460
|
(f.getTime() - _.getTime()) / 6e4
|
|
461
461
|
)}m` : V < 24 ? `${V}h` : `${Math.floor(V / 24)}d`;
|
|
462
|
-
},
|
|
463
|
-
|
|
462
|
+
}, T = () => {
|
|
463
|
+
c.value = !c.value, c.value ? i("like", e.comment.id, "add") : i("like", e.comment.id, "delete");
|
|
464
464
|
}, X = () => {
|
|
465
|
-
|
|
466
|
-
}, ie = (_, f) => {
|
|
467
|
-
a("like", _, f);
|
|
465
|
+
i("edit", e.comment.id, s.value), y.value = !1;
|
|
468
466
|
}, re = (_, f) => {
|
|
469
|
-
|
|
467
|
+
i("like", _, f);
|
|
468
|
+
}, le = (_, f) => {
|
|
469
|
+
i("edit", _, f);
|
|
470
470
|
};
|
|
471
471
|
return (_, f) => {
|
|
472
|
-
const V =
|
|
473
|
-
return o(),
|
|
472
|
+
const V = de("CommentItem", !0);
|
|
473
|
+
return o(), a("div", qe, [
|
|
474
474
|
t("div", {
|
|
475
|
-
class: x(["group flex gap-2 p-2 rounded hover:bg-gray-50 transition-colors relative",
|
|
475
|
+
class: x(["group flex gap-2 p-2 rounded hover:bg-gray-50 transition-colors relative", y.value ? "bg-gray-50" : ""])
|
|
476
476
|
}, [
|
|
477
|
-
t("span",
|
|
478
|
-
|
|
477
|
+
t("span", We, [
|
|
478
|
+
v(m(Z), { class: "h-3 w-3 text-gray-500" })
|
|
479
479
|
]),
|
|
480
|
-
t("div",
|
|
481
|
-
t("div",
|
|
482
|
-
t("span",
|
|
483
|
-
t("span",
|
|
480
|
+
t("div", Pe, [
|
|
481
|
+
t("div", Ge, [
|
|
482
|
+
t("span", Ke, h(_.comment?.author), 1),
|
|
483
|
+
t("span", Ze, h(g(_.comment?.createdAt)), 1)
|
|
484
484
|
]),
|
|
485
|
-
|
|
485
|
+
y.value ? P((o(), a("textarea", {
|
|
486
486
|
key: 1,
|
|
487
487
|
"onUpdate:modelValue": f[0] || (f[0] = ($) => s.value = $),
|
|
488
|
-
class: x(
|
|
488
|
+
class: x(y.value ? l.value : p.value)
|
|
489
489
|
}, null, 2)), [
|
|
490
490
|
[Y, s.value]
|
|
491
|
-
]) : (o(),
|
|
492
|
-
t("div",
|
|
493
|
-
t("div",
|
|
491
|
+
]) : (o(), a("p", Xe, h(_.comment?.text), 1)),
|
|
492
|
+
t("div", Je, [
|
|
493
|
+
t("div", Qe, [
|
|
494
494
|
t("button", {
|
|
495
|
-
class: x(["flex items-center gap-1",
|
|
496
|
-
onClick: f[1] || (f[1] = ($) =>
|
|
495
|
+
class: x(["flex items-center gap-1", c.value ? "text-blue-600" : "text-gray-500 hover:text-blue-600 transition-colors"]),
|
|
496
|
+
onClick: f[1] || (f[1] = ($) => T())
|
|
497
497
|
}, [
|
|
498
|
-
|
|
499
|
-
class: x(["h-3 w-3",
|
|
498
|
+
v(m($e), {
|
|
499
|
+
class: x(["h-3 w-3", c.value ? "fill-blue-600" : ""])
|
|
500
500
|
}, null, 8, ["class"]),
|
|
501
501
|
H(" " + h(_.comment?.likes), 1)
|
|
502
502
|
], 2),
|
|
503
|
-
_.isInside ? b("", !0) : (o(),
|
|
503
|
+
_.isInside ? b("", !0) : (o(), a("button", {
|
|
504
504
|
key: 0,
|
|
505
505
|
class: "text-gray-500 hover:text-blue-600 transition-colors",
|
|
506
|
-
onClick: f[2] || (f[2] = ($) =>
|
|
506
|
+
onClick: f[2] || (f[2] = ($) => d.value = !0)
|
|
507
507
|
}, [
|
|
508
|
-
|
|
508
|
+
v(m(De), { class: "h-3 w-3" })
|
|
509
509
|
])),
|
|
510
510
|
t("button", {
|
|
511
511
|
class: "text-gray-400 hover:text-gray-600 transition-colors opacity-0 group-hover:opacity-100",
|
|
512
512
|
type: "button",
|
|
513
513
|
onClick: f[3] || (f[3] = ($) => u.value = !0)
|
|
514
514
|
}, [
|
|
515
|
-
|
|
515
|
+
v(m(ke), { class: "h-3 w-3" })
|
|
516
516
|
])
|
|
517
517
|
]),
|
|
518
|
-
|
|
518
|
+
y.value ? (o(), a("div", Ye, [
|
|
519
519
|
t("button", {
|
|
520
520
|
class: "inline-flex items-center justify-center gap-2 text-white whitespace-nowrap font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 bg-red-500 hover:bg-opacity-80 rounded-md h-6 text-xs px-2",
|
|
521
|
-
onClick: f[4] || (f[4] = ($) =>
|
|
521
|
+
onClick: f[4] || (f[4] = ($) => y.value = !1)
|
|
522
522
|
}, [
|
|
523
|
-
|
|
523
|
+
v(m(O), { class: "h-3 w-3" }),
|
|
524
524
|
f[11] || (f[11] = H(" Cancel ", -1))
|
|
525
525
|
]),
|
|
526
526
|
t("button", {
|
|
@@ -528,44 +528,44 @@ const O = k("x", [
|
|
|
528
528
|
disabled: !s.value.trim(),
|
|
529
529
|
onClick: f[5] || (f[5] = ($) => X())
|
|
530
530
|
}, [
|
|
531
|
-
|
|
531
|
+
v(m(se), { class: "h-3 w-3 mr-1" }),
|
|
532
532
|
f[12] || (f[12] = H(" Send ", -1))
|
|
533
|
-
], 8,
|
|
533
|
+
], 8, et)
|
|
534
534
|
])) : b("", !0)
|
|
535
535
|
])
|
|
536
536
|
]),
|
|
537
|
-
u.value ? (o(), C(
|
|
537
|
+
u.value ? (o(), C(Ue, {
|
|
538
538
|
key: 0,
|
|
539
539
|
showMoreOptions: u.value,
|
|
540
540
|
"onUpdate:showMoreOptions": f[6] || (f[6] = ($) => u.value = $),
|
|
541
|
-
onEdit: f[7] || (f[7] = ($) =>
|
|
541
|
+
onEdit: f[7] || (f[7] = ($) => y.value = !0),
|
|
542
542
|
onDelete: f[8] || (f[8] = ($) => _.$emit("delete", _.comment?.id)),
|
|
543
543
|
comment: _.comment
|
|
544
544
|
}, null, 8, ["showMoreOptions", "comment"])) : b("", !0)
|
|
545
545
|
], 2),
|
|
546
|
-
_.isInside ? b("", !0) : (o(),
|
|
547
|
-
(o(!0),
|
|
546
|
+
_.isInside ? b("", !0) : (o(), a("div", tt, [
|
|
547
|
+
(o(!0), a(I, null, D(_.comment?.replies, ($) => (o(), C(V, {
|
|
548
548
|
key: $.id,
|
|
549
549
|
comment: $,
|
|
550
550
|
isInside: !0,
|
|
551
|
-
onDelete: (
|
|
552
|
-
onLike:
|
|
553
|
-
onEdit:
|
|
551
|
+
onDelete: (ko) => _.$emit("delete", $.id),
|
|
552
|
+
onLike: re,
|
|
553
|
+
onEdit: le
|
|
554
554
|
}, null, 8, ["comment", "onDelete"]))), 128)),
|
|
555
|
-
|
|
555
|
+
d.value && !_.isInside ? (o(), C(oe, {
|
|
556
556
|
key: 0,
|
|
557
557
|
onSendComment: f[9] || (f[9] = ($) => _.$emit("reply", _.comment?.id, $)),
|
|
558
|
-
isReply:
|
|
559
|
-
"onUpdate:isReply": f[10] || (f[10] = ($) =>
|
|
558
|
+
isReply: d.value,
|
|
559
|
+
"onUpdate:isReply": f[10] || (f[10] = ($) => d.value = $)
|
|
560
560
|
}, null, 8, ["isReply"])) : b("", !0)
|
|
561
561
|
]))
|
|
562
562
|
]);
|
|
563
563
|
};
|
|
564
564
|
}
|
|
565
|
-
}),
|
|
565
|
+
}), ot = ["id"], nt = {
|
|
566
566
|
key: 0,
|
|
567
567
|
class: "text-xl font-semibold text-gray-900 mb-4"
|
|
568
|
-
},
|
|
568
|
+
}, it = /* @__PURE__ */ w({
|
|
569
569
|
__name: "CommentsWidget",
|
|
570
570
|
props: {
|
|
571
571
|
title: {},
|
|
@@ -581,37 +581,37 @@ const O = k("x", [
|
|
|
581
581
|
style: {}
|
|
582
582
|
},
|
|
583
583
|
emits: ["add", "reply", "like", "delete", "edit"],
|
|
584
|
-
setup(
|
|
585
|
-
const
|
|
586
|
-
|
|
587
|
-
}, s = (
|
|
588
|
-
|
|
589
|
-
}, p = (
|
|
590
|
-
|
|
584
|
+
setup(r, { emit: n }) {
|
|
585
|
+
const i = n, e = (l, u) => {
|
|
586
|
+
i("like", l, u);
|
|
587
|
+
}, s = (l, u) => {
|
|
588
|
+
i("reply", l, u);
|
|
589
|
+
}, p = (l, u) => {
|
|
590
|
+
i("edit", l, u);
|
|
591
591
|
};
|
|
592
|
-
return (
|
|
593
|
-
class: x(["mx-auto font-sans",
|
|
594
|
-
id:
|
|
595
|
-
style:
|
|
592
|
+
return (l, u) => (o(), a("div", {
|
|
593
|
+
class: x(["mx-auto font-sans", l.className]),
|
|
594
|
+
id: l.id,
|
|
595
|
+
style: z(l.style)
|
|
596
596
|
}, [
|
|
597
|
-
|
|
597
|
+
l.title ? (o(), a("h3", nt, h(l.title), 1)) : b("", !0),
|
|
598
598
|
t("div", {
|
|
599
|
-
class: x([
|
|
600
|
-
style:
|
|
599
|
+
class: x([l.maxHeight ? "overflow-y-auto" : "", "space-y-3"]),
|
|
600
|
+
style: z({ maxHeight: l.maxHeight + "px" })
|
|
601
601
|
}, [
|
|
602
|
-
(o(!0),
|
|
603
|
-
key:
|
|
604
|
-
comment:
|
|
602
|
+
(o(!0), a(I, null, D(l.comments, (d) => (o(), C(st, {
|
|
603
|
+
key: d.id,
|
|
604
|
+
comment: d,
|
|
605
605
|
onReply: s,
|
|
606
606
|
onLike: e,
|
|
607
|
-
onDelete: u[0] || (u[0] = (
|
|
607
|
+
onDelete: u[0] || (u[0] = (y) => l.$emit("delete", y)),
|
|
608
608
|
onEdit: p
|
|
609
609
|
}, null, 8, ["comment"]))), 128))
|
|
610
610
|
], 6),
|
|
611
|
-
|
|
612
|
-
onSendComment: u[1] || (u[1] = (
|
|
611
|
+
v(oe, {
|
|
612
|
+
onSendComment: u[1] || (u[1] = (d) => l.$emit("add", d))
|
|
613
613
|
})
|
|
614
|
-
], 14,
|
|
614
|
+
], 14, ot));
|
|
615
615
|
}
|
|
616
616
|
}), Q = /* @__PURE__ */ new Map([
|
|
617
617
|
["file", {
|
|
@@ -622,34 +622,34 @@ const O = k("x", [
|
|
|
622
622
|
["post", {
|
|
623
623
|
name: "Post",
|
|
624
624
|
color: "bg-blue-100 text-blue-700 border-blue-200",
|
|
625
|
-
icon:
|
|
625
|
+
icon: Le
|
|
626
626
|
}],
|
|
627
627
|
["user", {
|
|
628
628
|
name: "User",
|
|
629
629
|
color: "bg-purple-100 text-purple-700 border-purple-200",
|
|
630
|
-
icon:
|
|
630
|
+
icon: ze
|
|
631
631
|
}],
|
|
632
632
|
["custom", {
|
|
633
633
|
name: "Custom",
|
|
634
634
|
color: "bg-gray-100 text-gray-700 border-gray-200",
|
|
635
|
-
icon:
|
|
635
|
+
icon: Ce
|
|
636
636
|
}]
|
|
637
|
-
]),
|
|
637
|
+
]), at = { class: "mx-auto font-sans" }, rt = {
|
|
638
638
|
key: 0,
|
|
639
639
|
class: "text-xl font-semibold text-gray-900 mb-4"
|
|
640
|
-
},
|
|
640
|
+
}, lt = { class: "relative" }, dt = { class: "space-y-3" }, ct = { class: "flex-1 min-w-0 pb-2" }, ut = { class: "flex items-center gap-1.5 mb-1 mt-0.5" }, pt = { class: "relative flex items-center justify-center shrink-0 overflow-hidden rounded-full h-5 w-5 bg-gray-200" }, mt = { class: "font-medium text-xs" }, ht = { class: "text-xs text-gray-500" }, gt = { class: "space-y-1" }, ft = { class: "text-xs text-gray-700" }, yt = { class: "capitalize mr-1" }, vt = {
|
|
641
641
|
key: 0,
|
|
642
642
|
class: "inline-flex items-center rounded-full border py-0.5 font-semibold transition-colors text-foreground text-xs h-4 px-1 capitalize"
|
|
643
|
-
},
|
|
643
|
+
}, bt = {
|
|
644
644
|
key: 0,
|
|
645
645
|
class: "flex items-center gap-1 text-xs"
|
|
646
|
-
},
|
|
646
|
+
}, xt = {
|
|
647
647
|
key: 0,
|
|
648
648
|
class: "bg-red-50 text-red-600 px-1.5 py-0.5 rounded text-xs border border-red-200"
|
|
649
|
-
},
|
|
649
|
+
}, kt = {
|
|
650
650
|
key: 2,
|
|
651
651
|
class: "bg-green-50 text-green-600 px-1.5 py-0.5 rounded text-xs border border-green-200"
|
|
652
|
-
},
|
|
652
|
+
}, _t = /* @__PURE__ */ w({
|
|
653
653
|
__name: "HistoryWidget",
|
|
654
654
|
props: {
|
|
655
655
|
data: {},
|
|
@@ -659,17 +659,17 @@ const O = k("x", [
|
|
|
659
659
|
className: {},
|
|
660
660
|
style: {}
|
|
661
661
|
},
|
|
662
|
-
setup(
|
|
663
|
-
return (n,
|
|
664
|
-
n.title ? (o(),
|
|
662
|
+
setup(r) {
|
|
663
|
+
return (n, i) => (o(), a("div", at, [
|
|
664
|
+
n.title ? (o(), a("h3", rt, h(n.title), 1)) : b("", !0),
|
|
665
665
|
t("div", {
|
|
666
666
|
class: x(n.maxHeight ? "overflow-y-auto" : ""),
|
|
667
|
-
style:
|
|
667
|
+
style: z({ maxHeight: n.maxHeight + "px" })
|
|
668
668
|
}, [
|
|
669
|
-
t("div",
|
|
670
|
-
|
|
671
|
-
t("div",
|
|
672
|
-
(o(!0),
|
|
669
|
+
t("div", lt, [
|
|
670
|
+
i[0] || (i[0] = t("div", { class: "absolute left-3 top-0 bottom-0 w-0.5 bg-gray-200" }, null, -1)),
|
|
671
|
+
t("div", dt, [
|
|
672
|
+
(o(!0), a(I, null, D(n.data, (e) => (o(), a("div", {
|
|
673
673
|
class: "relative flex items-start gap-2",
|
|
674
674
|
key: e?.id
|
|
675
675
|
}, [
|
|
@@ -678,26 +678,26 @@ const O = k("x", [
|
|
|
678
678
|
}, [
|
|
679
679
|
(o(), C(j(m(Q).get(e?.entityType)?.icon), { class: "h-3 w-3" }))
|
|
680
680
|
], 2),
|
|
681
|
-
t("div",
|
|
682
|
-
t("div",
|
|
683
|
-
t("span",
|
|
684
|
-
|
|
681
|
+
t("div", ct, [
|
|
682
|
+
t("div", ut, [
|
|
683
|
+
t("span", pt, [
|
|
684
|
+
v(m(Z), { class: "h-3 w-3 text-gray-500" })
|
|
685
685
|
]),
|
|
686
|
-
t("span",
|
|
687
|
-
t("span",
|
|
686
|
+
t("span", mt, h(e?.userName), 1),
|
|
687
|
+
t("span", ht, h(e?.timestamp.toLocaleTimeString("ua-UA", { hour: "2-digit", minute: "2-digit" })), 1)
|
|
688
688
|
]),
|
|
689
|
-
t("div",
|
|
690
|
-
t("div",
|
|
691
|
-
t("span",
|
|
692
|
-
e?.entityId ? (o(),
|
|
689
|
+
t("div", gt, [
|
|
690
|
+
t("div", ft, [
|
|
691
|
+
t("span", yt, h(e?.action), 1),
|
|
692
|
+
e?.entityId ? (o(), a("span", vt, h(e?.entityId), 1)) : b("", !0)
|
|
693
693
|
]),
|
|
694
|
-
e?.changes?.[e?.entityId] ? (o(),
|
|
695
|
-
e?.changes?.[e?.entityId]?.old ? (o(),
|
|
696
|
-
e?.changes?.[e?.entityId]?.old && e?.changes?.[e?.entityId]?.new ? (o(), C(m(
|
|
694
|
+
e?.changes?.[e?.entityId] ? (o(), a("div", bt, [
|
|
695
|
+
e?.changes?.[e?.entityId]?.old ? (o(), a("span", xt, h(e?.changes?.[e?.entityId]?.old), 1)) : b("", !0),
|
|
696
|
+
e?.changes?.[e?.entityId]?.old && e?.changes?.[e?.entityId]?.new ? (o(), C(m(be), {
|
|
697
697
|
key: 1,
|
|
698
698
|
class: "h-2 w-2 text-gray-400"
|
|
699
699
|
})) : b("", !0),
|
|
700
|
-
e?.changes?.[e?.entityId]?.new ? (o(),
|
|
700
|
+
e?.changes?.[e?.entityId]?.new ? (o(), a("span", kt, h(e?.changes?.[e?.entityId]?.new), 1)) : b("", !0)
|
|
701
701
|
])) : b("", !0)
|
|
702
702
|
])
|
|
703
703
|
])
|
|
@@ -707,10 +707,10 @@ const O = k("x", [
|
|
|
707
707
|
], 6)
|
|
708
708
|
]));
|
|
709
709
|
}
|
|
710
|
-
}),
|
|
710
|
+
}), wt = {
|
|
711
711
|
key: 0,
|
|
712
712
|
class: "text-xl font-semibold"
|
|
713
|
-
},
|
|
713
|
+
}, $t = { class: "flex gap-1" }, Ct = /* @__PURE__ */ w({
|
|
714
714
|
__name: "FileHeader",
|
|
715
715
|
props: /* @__PURE__ */ q({
|
|
716
716
|
title: {}
|
|
@@ -719,33 +719,33 @@ const O = k("x", [
|
|
|
719
719
|
modelModifiers: {}
|
|
720
720
|
}),
|
|
721
721
|
emits: ["update:modelValue"],
|
|
722
|
-
setup(
|
|
723
|
-
const n = W(
|
|
722
|
+
setup(r) {
|
|
723
|
+
const n = W(r, "modelValue"), i = {
|
|
724
724
|
active: "bg-black text-white hover:bg-black",
|
|
725
725
|
inactive: "bg-white text-black hover:bg-gray-100"
|
|
726
726
|
};
|
|
727
|
-
return (e, s) => (o(),
|
|
727
|
+
return (e, s) => (o(), a("div", {
|
|
728
728
|
class: x(["flex flex-col sm:flex-row gap-3 mb-4", e.title ? "justify-between sm:items-center" : "justify-end sm:items-center"])
|
|
729
729
|
}, [
|
|
730
|
-
e.title ? (o(),
|
|
731
|
-
t("div",
|
|
730
|
+
e.title ? (o(), a("h3", wt, h(e.title), 1)) : b("", !0),
|
|
731
|
+
t("div", $t, [
|
|
732
732
|
t("button", {
|
|
733
|
-
class: x(["ring-offset-background inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium transition-colors border-input border rounded-md text-xs h-7 px-2", n.value === "list" ?
|
|
733
|
+
class: x(["ring-offset-background inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium transition-colors border-input border rounded-md text-xs h-7 px-2", n.value === "list" ? i.active : i.inactive]),
|
|
734
734
|
onClick: s[0] || (s[0] = (p) => n.value = "list")
|
|
735
735
|
}, [
|
|
736
|
-
|
|
736
|
+
v(m(Ie), { class: "h-4 w-4" })
|
|
737
737
|
], 2),
|
|
738
738
|
t("button", {
|
|
739
|
-
class: x(["ring-offset-background inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium transition-colors border-input border rounded-md text-xs h-7 px-2", n.value === "grid" ?
|
|
739
|
+
class: x(["ring-offset-background inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium transition-colors border-input border rounded-md text-xs h-7 px-2", n.value === "grid" ? i.active : i.inactive]),
|
|
740
740
|
onClick: s[1] || (s[1] = (p) => n.value = "grid")
|
|
741
741
|
}, [
|
|
742
|
-
|
|
742
|
+
v(m(we), { class: "h-4 w-4" })
|
|
743
743
|
], 2),
|
|
744
744
|
t("button", {
|
|
745
|
-
class: x(["ring-offset-background inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium transition-colors border-input border rounded-md text-xs h-7 px-2", n.value === "compact" ?
|
|
745
|
+
class: x(["ring-offset-background inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium transition-colors border-input border rounded-md text-xs h-7 px-2", n.value === "compact" ? i.active : i.inactive]),
|
|
746
746
|
onClick: s[2] || (s[2] = (p) => n.value = "compact")
|
|
747
747
|
}, [
|
|
748
|
-
|
|
748
|
+
v(m(Te), { class: "h-4 w-4" })
|
|
749
749
|
], 2)
|
|
750
750
|
])
|
|
751
751
|
], 2));
|
|
@@ -758,12 +758,12 @@ const O = k("x", [
|
|
|
758
758
|
},
|
|
759
759
|
sketch: {
|
|
760
760
|
color: "bg-gray-100 text-gray-700 border-gray-200",
|
|
761
|
-
icon:
|
|
761
|
+
icon: _e,
|
|
762
762
|
label: "SKETCH"
|
|
763
763
|
},
|
|
764
764
|
mp4: {
|
|
765
765
|
color: "bg-purple-100 text-purple-700 border-purple-200",
|
|
766
|
-
icon:
|
|
766
|
+
icon: Se,
|
|
767
767
|
label: "VIDEO"
|
|
768
768
|
},
|
|
769
769
|
docx: {
|
|
@@ -773,12 +773,12 @@ const O = k("x", [
|
|
|
773
773
|
},
|
|
774
774
|
zip: {
|
|
775
775
|
color: "bg-orange-100 text-orange-700 border-orange-200",
|
|
776
|
-
icon:
|
|
776
|
+
icon: ve,
|
|
777
777
|
label: "ARCHIVE"
|
|
778
778
|
},
|
|
779
779
|
png: {
|
|
780
780
|
color: "bg-green-100 text-green-700 border-green-200",
|
|
781
|
-
icon:
|
|
781
|
+
icon: Me,
|
|
782
782
|
label: "IMAGE"
|
|
783
783
|
},
|
|
784
784
|
xlsx: {
|
|
@@ -792,27 +792,27 @@ const O = k("x", [
|
|
|
792
792
|
label: "PPT"
|
|
793
793
|
}
|
|
794
794
|
};
|
|
795
|
-
function ne(
|
|
796
|
-
const
|
|
795
|
+
function ne(r, n = "en") {
|
|
796
|
+
const i = {
|
|
797
797
|
month: "short",
|
|
798
798
|
day: "numeric"
|
|
799
799
|
};
|
|
800
|
-
return new Intl.DateTimeFormat(n,
|
|
800
|
+
return new Intl.DateTimeFormat(n, i).format(r);
|
|
801
801
|
}
|
|
802
|
-
function
|
|
803
|
-
if (
|
|
804
|
-
const n = 1024,
|
|
805
|
-
return `${parseFloat((
|
|
802
|
+
function ie(r) {
|
|
803
|
+
if (r === 0) return "0 B";
|
|
804
|
+
const n = 1024, i = ["B", "KB", "MB", "GB", "TB"], e = Math.floor(Math.log(r) / Math.log(n));
|
|
805
|
+
return `${parseFloat((r / Math.pow(n, e)).toFixed(1))} ${i[e]}`;
|
|
806
806
|
}
|
|
807
|
-
const
|
|
807
|
+
const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointer" }, Dt = { class: "flex items-center gap-2" }, Ht = { class: "font-medium text-xs truncate hover:text-blue-600" }, Lt = { class: "hidden sm:block text-xs text-gray-500 w-16 text-right" }, jt = { class: "hidden md:block text-xs text-gray-500 w-12 text-right" }, Tt = { class: "flex items-center gap-1" }, zt = ["href"], St = ["onClick"], Vt = /* @__PURE__ */ w({
|
|
808
808
|
__name: "FileList",
|
|
809
809
|
props: {
|
|
810
810
|
files: {}
|
|
811
811
|
},
|
|
812
812
|
emits: ["delete"],
|
|
813
|
-
setup(
|
|
814
|
-
return (n,
|
|
815
|
-
(o(!0),
|
|
813
|
+
setup(r) {
|
|
814
|
+
return (n, i) => (o(), a("div", Mt, [
|
|
815
|
+
(o(!0), a(I, null, D(n.files, (e) => (o(), a("div", {
|
|
816
816
|
class: "flex items-center gap-2 p-1.5 rounded hover:bg-gray-50 group border-b border-gray-100 last:border-b-0",
|
|
817
817
|
key: e.id
|
|
818
818
|
}, [
|
|
@@ -821,77 +821,77 @@ const wt = { class: "space-y-0.5" }, $t = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
821
821
|
}, [
|
|
822
822
|
(o(), C(j(m(A)[e.type].icon), { class: "h-3 w-3" }))
|
|
823
823
|
], 2),
|
|
824
|
-
t("div",
|
|
825
|
-
t("div",
|
|
826
|
-
t("span",
|
|
824
|
+
t("div", It, [
|
|
825
|
+
t("div", Dt, [
|
|
826
|
+
t("span", Ht, h(e.name), 1),
|
|
827
827
|
t("div", {
|
|
828
828
|
class: x(["inline-flex items-center rounded-full border py-0.5 font-semibold text-xs px-1", m(A)[e.type].color])
|
|
829
829
|
}, h(e.type), 3)
|
|
830
830
|
])
|
|
831
831
|
]),
|
|
832
|
-
t("div",
|
|
833
|
-
t("div",
|
|
834
|
-
t("div",
|
|
832
|
+
t("div", Lt, h(m(ie)(e.size)), 1),
|
|
833
|
+
t("div", jt, h(m(ne)(e.createdAt)), 1),
|
|
834
|
+
t("div", Tt, [
|
|
835
835
|
t("a", {
|
|
836
836
|
href: e.path,
|
|
837
837
|
target: "_blank",
|
|
838
838
|
download: "",
|
|
839
839
|
class: "ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-accent hover:text-accent-foreground rounded-md h-6 w-6 p-0 opacity-0 group-hover:opacity-100 transition-opacity"
|
|
840
840
|
}, [
|
|
841
|
-
|
|
842
|
-
], 8,
|
|
841
|
+
v(m(K), { class: "h-3 w-3" })
|
|
842
|
+
], 8, zt),
|
|
843
843
|
t("button", {
|
|
844
844
|
class: "ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-accent rounded-md h-6 w-6 p-0 opacity-0 group-hover:opacity-100 transition-opacity text-red-600 hover:text-red-700",
|
|
845
845
|
onClick: (s) => n.$emit("delete", e.id)
|
|
846
846
|
}, [
|
|
847
|
-
|
|
848
|
-
], 8,
|
|
847
|
+
v(m(N), { class: "h-3 w-3" })
|
|
848
|
+
], 8, St)
|
|
849
849
|
])
|
|
850
850
|
]))), 128))
|
|
851
851
|
]));
|
|
852
852
|
}
|
|
853
|
-
}),
|
|
853
|
+
}), Ft = { class: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3" }, Rt = { class: "space-y-2" }, At = { class: "flex justify-center items-center w-full aspect-[4/3] bg-gray-100 rounded overflow-hidden" }, Et = { class: "space-y-1" }, Nt = ["title"], Ot = { class: "text-xs text-gray-500 text-left" }, Bt = ["onClick"], Ut = /* @__PURE__ */ w({
|
|
854
854
|
__name: "FileGrid",
|
|
855
855
|
props: {
|
|
856
856
|
files: {}
|
|
857
857
|
},
|
|
858
858
|
emits: ["delete"],
|
|
859
|
-
setup(
|
|
860
|
-
return (n,
|
|
861
|
-
(o(!0),
|
|
859
|
+
setup(r) {
|
|
860
|
+
return (n, i) => (o(), a("div", Ft, [
|
|
861
|
+
(o(!0), a(I, null, D(n.files, (e) => (o(), a("div", {
|
|
862
862
|
key: e.id,
|
|
863
863
|
class: "group relative border rounded-lg p-2 hover:shadow-md transition-all bg-white hover:bg-gray-50 cursor-pointer"
|
|
864
864
|
}, [
|
|
865
|
-
t("div",
|
|
866
|
-
t("div",
|
|
867
|
-
|
|
865
|
+
t("div", Rt, [
|
|
866
|
+
t("div", At, [
|
|
867
|
+
v(m(R), { class: "h-10 w-10 text-gray-500" })
|
|
868
868
|
]),
|
|
869
|
-
t("div",
|
|
869
|
+
t("div", Et, [
|
|
870
870
|
t("h3", {
|
|
871
871
|
class: "font-medium text-xs leading-tight text-left",
|
|
872
872
|
title: e.name
|
|
873
|
-
}, h(e.name), 9,
|
|
874
|
-
t("p",
|
|
873
|
+
}, h(e.name), 9, Nt),
|
|
874
|
+
t("p", Ot, h(m(ne)(e.createdAt)) + ", " + h(m(ie)(e.size)), 1)
|
|
875
875
|
])
|
|
876
876
|
]),
|
|
877
877
|
t("a", {
|
|
878
878
|
class: "ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 rounded-md absolute top-2 right-2 h-6 w-6 p-0 opacity-0 group-hover:opacity-100 transition-opacity text-red-600 hover:text-red-700 hover:bg-red-50",
|
|
879
879
|
onClick: (s) => n.$emit("delete", e.id)
|
|
880
880
|
}, [
|
|
881
|
-
|
|
882
|
-
], 8,
|
|
881
|
+
v(m(N), { class: "h-3 w-3" })
|
|
882
|
+
], 8, Bt)
|
|
883
883
|
]))), 128))
|
|
884
884
|
]));
|
|
885
885
|
}
|
|
886
|
-
}),
|
|
886
|
+
}), qt = { class: "flex flex-wrap gap-1" }, Wt = ["title"], Pt = { class: "flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity ml-1" }, Gt = ["href"], Kt = ["onClick"], Zt = /* @__PURE__ */ w({
|
|
887
887
|
__name: "FileCompact",
|
|
888
888
|
props: {
|
|
889
889
|
files: {}
|
|
890
890
|
},
|
|
891
891
|
emits: ["delete"],
|
|
892
|
-
setup(
|
|
893
|
-
return (n,
|
|
894
|
-
(o(!0),
|
|
892
|
+
setup(r) {
|
|
893
|
+
return (n, i) => (o(), a("div", qt, [
|
|
894
|
+
(o(!0), a(I, null, D(n.files, (e) => (o(), a("div", {
|
|
895
895
|
key: e.id,
|
|
896
896
|
class: "group flex items-center gap-1 p-1 rounded border hover:bg-gray-50 hover:shadow-sm transition-all"
|
|
897
897
|
}, [
|
|
@@ -903,27 +903,27 @@ const wt = { class: "space-y-0.5" }, $t = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
903
903
|
t("span", {
|
|
904
904
|
class: "text-xs font-medium truncate max-w-24",
|
|
905
905
|
title: e.name
|
|
906
|
-
}, h(e.name), 9,
|
|
907
|
-
t("div",
|
|
906
|
+
}, h(e.name), 9, Wt),
|
|
907
|
+
t("div", Pt, [
|
|
908
908
|
t("a", {
|
|
909
909
|
class: "ring-offset-background inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground rounded-md h-4 w-4 p-0",
|
|
910
910
|
href: e.path,
|
|
911
911
|
target: "_blank",
|
|
912
912
|
download: ""
|
|
913
913
|
}, [
|
|
914
|
-
|
|
915
|
-
], 8,
|
|
914
|
+
v(m(K), { class: "h-2.5 w-2.5" })
|
|
915
|
+
], 8, Gt),
|
|
916
916
|
t("button", {
|
|
917
917
|
class: "ring-offset-background inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-colors hover:bg-accent rounded-md h-4 w-4 p-0 text-red-600 hover:text-red-700",
|
|
918
918
|
onClick: (s) => n.$emit("delete", e.id)
|
|
919
919
|
}, [
|
|
920
|
-
|
|
921
|
-
], 8,
|
|
920
|
+
v(m(N), { class: "h-2.5 w-2.5" })
|
|
921
|
+
], 8, Kt)
|
|
922
922
|
])
|
|
923
923
|
]))), 128))
|
|
924
924
|
]));
|
|
925
925
|
}
|
|
926
|
-
}),
|
|
926
|
+
}), Xt = { class: "mx-auto font-sans" }, Jt = /* @__PURE__ */ w({
|
|
927
927
|
__name: "FilesWidget",
|
|
928
928
|
props: {
|
|
929
929
|
title: {},
|
|
@@ -932,29 +932,29 @@ const wt = { class: "space-y-0.5" }, $t = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
932
932
|
maxHeight: {}
|
|
933
933
|
},
|
|
934
934
|
emits: ["delete"],
|
|
935
|
-
setup(
|
|
936
|
-
const n =
|
|
937
|
-
return (e, s) => (o(),
|
|
938
|
-
|
|
939
|
-
modelValue:
|
|
940
|
-
"onUpdate:modelValue": s[0] || (s[0] = (p) =>
|
|
935
|
+
setup(r) {
|
|
936
|
+
const n = r, i = M("list");
|
|
937
|
+
return (e, s) => (o(), a("div", Xt, [
|
|
938
|
+
v(Ct, {
|
|
939
|
+
modelValue: i.value,
|
|
940
|
+
"onUpdate:modelValue": s[0] || (s[0] = (p) => i.value = p),
|
|
941
941
|
title: n.title
|
|
942
942
|
}, null, 8, ["modelValue", "title"]),
|
|
943
943
|
t("div", {
|
|
944
944
|
class: x(e.maxHeight ? "overflow-y-auto" : ""),
|
|
945
|
-
style:
|
|
945
|
+
style: z({ maxHeight: e.maxHeight + "px" })
|
|
946
946
|
}, [
|
|
947
|
-
|
|
947
|
+
i.value === "list" ? (o(), C(Vt, {
|
|
948
948
|
key: 0,
|
|
949
949
|
onDelete: s[1] || (s[1] = (p) => e.$emit("delete", p)),
|
|
950
950
|
files: n.files
|
|
951
951
|
}, null, 8, ["files"])) : b("", !0),
|
|
952
|
-
|
|
952
|
+
i.value === "grid" ? (o(), C(Ut, {
|
|
953
953
|
key: 1,
|
|
954
954
|
onDelete: s[2] || (s[2] = (p) => e.$emit("delete", p)),
|
|
955
955
|
files: n.files
|
|
956
956
|
}, null, 8, ["files"])) : b("", !0),
|
|
957
|
-
|
|
957
|
+
i.value === "compact" ? (o(), C(Zt, {
|
|
958
958
|
key: 2,
|
|
959
959
|
onDelete: s[3] || (s[3] = (p) => e.$emit("delete", p)),
|
|
960
960
|
files: n.files
|
|
@@ -962,124 +962,124 @@ const wt = { class: "space-y-0.5" }, $t = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
962
962
|
], 6)
|
|
963
963
|
]));
|
|
964
964
|
}
|
|
965
|
-
}),
|
|
965
|
+
}), Qt = ["onClick"], Yt = /* @__PURE__ */ w({
|
|
966
966
|
__name: "CopyNotification",
|
|
967
|
-
setup(
|
|
968
|
-
const
|
|
967
|
+
setup(r, { expose: n }) {
|
|
968
|
+
const i = M([]);
|
|
969
969
|
let e = 1;
|
|
970
970
|
const s = () => {
|
|
971
|
-
if (
|
|
972
|
-
const u =
|
|
973
|
-
clearTimeout(u.timer),
|
|
971
|
+
if (i.value.length >= 10) {
|
|
972
|
+
const u = i.value[0];
|
|
973
|
+
clearTimeout(u.timer), i.value.shift();
|
|
974
974
|
}
|
|
975
|
-
const
|
|
975
|
+
const l = {
|
|
976
976
|
id: e++,
|
|
977
977
|
timer: setTimeout(() => {
|
|
978
|
-
p(
|
|
978
|
+
p(l.id);
|
|
979
979
|
}, 1500)
|
|
980
980
|
};
|
|
981
|
-
|
|
982
|
-
}, p = (
|
|
983
|
-
const u =
|
|
981
|
+
i.value.push(l);
|
|
982
|
+
}, p = (l) => {
|
|
983
|
+
const u = i.value.findIndex((d) => d.id === l);
|
|
984
984
|
if (u !== -1) {
|
|
985
|
-
const
|
|
986
|
-
clearTimeout(
|
|
985
|
+
const d = i.value[u];
|
|
986
|
+
clearTimeout(d.timer), i.value.splice(u, 1);
|
|
987
987
|
}
|
|
988
988
|
};
|
|
989
989
|
return n({
|
|
990
990
|
addNotification: s
|
|
991
991
|
}), G(() => {
|
|
992
|
-
|
|
993
|
-
clearTimeout(
|
|
992
|
+
i.value.forEach((l) => {
|
|
993
|
+
clearTimeout(l.timer);
|
|
994
994
|
});
|
|
995
|
-
}), (
|
|
996
|
-
|
|
995
|
+
}), (l, u) => (o(), C(te, { to: "body" }, [
|
|
996
|
+
v(ce, {
|
|
997
997
|
name: "notification",
|
|
998
998
|
tag: "div",
|
|
999
999
|
class: "fixed top-4 right-4 z-50 space-y-2"
|
|
1000
1000
|
}, {
|
|
1001
|
-
default:
|
|
1002
|
-
(o(!0),
|
|
1003
|
-
key:
|
|
1001
|
+
default: ue(() => [
|
|
1002
|
+
(o(!0), a(I, null, D(i.value, (d) => (o(), a("div", {
|
|
1003
|
+
key: d.id,
|
|
1004
1004
|
class: "bg-green-500 text-white px-4 py-3 rounded-lg shadow-lg flex items-center gap-3 min-w-64 max-w-sm"
|
|
1005
1005
|
}, [
|
|
1006
|
-
|
|
1006
|
+
v(m(xe), { class: "h-5 w-5 text-green-100 flex-shrink-0" }),
|
|
1007
1007
|
u[0] || (u[0] = t("div", { class: "flex-1" }, [
|
|
1008
1008
|
t("p", { class: "font-medium text-sm" }, "Ссылка скопирована!"),
|
|
1009
1009
|
t("p", { class: "text-xs text-green-100 opacity-90" }, "Файл добавлен в буфер обмена")
|
|
1010
1010
|
], -1)),
|
|
1011
1011
|
t("button", {
|
|
1012
|
-
onClick: (
|
|
1012
|
+
onClick: (y) => p(d.id),
|
|
1013
1013
|
class: "text-green-100 hover:text-white transition-colors flex-shrink-0"
|
|
1014
1014
|
}, [
|
|
1015
|
-
|
|
1016
|
-
], 8,
|
|
1015
|
+
v(m(O), { class: "h-4 w-4" })
|
|
1016
|
+
], 8, Qt)
|
|
1017
1017
|
]))), 128))
|
|
1018
1018
|
]),
|
|
1019
1019
|
_: 1
|
|
1020
1020
|
})
|
|
1021
1021
|
]));
|
|
1022
1022
|
}
|
|
1023
|
-
}),
|
|
1024
|
-
const
|
|
1023
|
+
}), S = (r, n) => {
|
|
1024
|
+
const i = r.__vccOpts || r;
|
|
1025
1025
|
for (const [e, s] of n)
|
|
1026
|
-
|
|
1027
|
-
return
|
|
1028
|
-
},
|
|
1026
|
+
i[e] = s;
|
|
1027
|
+
return i;
|
|
1028
|
+
}, ae = /* @__PURE__ */ S(Yt, [["__scopeId", "data-v-7b0d3ace"]]), es = { class: "fixed inset-0 z-50 bg-black/80" }, ts = { class: "fixed bg-white left-[50%] top-[50%] z-50 grid w-full translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background shadow-lg duration-200 sm:rounded-lg max-w-4xl max-h-[90vh] p-0" }, ss = { class: "flex flex-col space-y-1.5 text-center sm:text-left p-4 pb-2" }, os = { class: "flex items-center justify-between" }, ns = { class: "flex items-center gap-2" }, is = { class: "tracking-tight text-base font-medium" }, as = { class: "p-4 pt-0" }, rs = { class: "flex flex-col items-center" }, ls = ["src", "alt"], ds = { class: "mt-3 flex items-center gap-4 text-sm text-gray-600" }, cs = { class: "mt-3 flex gap-2" }, us = /* @__PURE__ */ w({
|
|
1029
1029
|
__name: "GalleryModal",
|
|
1030
1030
|
props: {
|
|
1031
1031
|
item: {}
|
|
1032
1032
|
},
|
|
1033
1033
|
emits: ["close"],
|
|
1034
|
-
setup(
|
|
1035
|
-
const n = M(),
|
|
1034
|
+
setup(r) {
|
|
1035
|
+
const n = M(), i = (l) => new Date(l).toLocaleDateString("uk-UA", {
|
|
1036
1036
|
day: "2-digit",
|
|
1037
1037
|
month: "2-digit",
|
|
1038
1038
|
year: "numeric"
|
|
1039
|
-
}), e = (
|
|
1040
|
-
navigator.clipboard.writeText(
|
|
1041
|
-
}, p = async (
|
|
1039
|
+
}), e = (l) => l >= 1024 * 1024 * 1024 ? (l / (1024 * 1024 * 1024)).toFixed(2) + " GB" : l >= 1024 * 1024 ? (l / (1024 * 1024)).toFixed(2) + " MB" : l >= 1024 ? (l / 1024).toFixed(2) + " KB" : l + " B", s = (l) => {
|
|
1040
|
+
navigator.clipboard.writeText(l), n.value?.addNotification();
|
|
1041
|
+
}, p = async (l, u) => {
|
|
1042
1042
|
try {
|
|
1043
|
-
const
|
|
1044
|
-
|
|
1045
|
-
} catch (
|
|
1046
|
-
console.error("Download failed:",
|
|
1043
|
+
const y = await (await fetch(l)).blob(), c = window.URL.createObjectURL(y), g = document.createElement("a");
|
|
1044
|
+
g.href = c, g.download = u, document.body.appendChild(g), g.click(), window.URL.revokeObjectURL(c), document.body.removeChild(g);
|
|
1045
|
+
} catch (d) {
|
|
1046
|
+
console.error("Download failed:", d), alert("Download failed. Please try opening the image in a new tab.");
|
|
1047
1047
|
}
|
|
1048
1048
|
};
|
|
1049
|
-
return (
|
|
1050
|
-
t("div",
|
|
1051
|
-
t("div",
|
|
1052
|
-
t("div",
|
|
1053
|
-
t("div",
|
|
1054
|
-
t("h2",
|
|
1049
|
+
return (l, u) => (o(), a("div", es, [
|
|
1050
|
+
t("div", ts, [
|
|
1051
|
+
t("div", ss, [
|
|
1052
|
+
t("div", os, [
|
|
1053
|
+
t("div", ns, [
|
|
1054
|
+
t("h2", is, h(l.item.name), 1)
|
|
1055
1055
|
])
|
|
1056
1056
|
])
|
|
1057
1057
|
]),
|
|
1058
|
-
t("div",
|
|
1059
|
-
t("div",
|
|
1058
|
+
t("div", as, [
|
|
1059
|
+
t("div", rs, [
|
|
1060
1060
|
t("img", {
|
|
1061
|
-
src:
|
|
1062
|
-
alt:
|
|
1061
|
+
src: l.item.path,
|
|
1062
|
+
alt: l.item.name,
|
|
1063
1063
|
class: "max-w-full max-h-[60vh] object-contain rounded border"
|
|
1064
|
-
}, null, 8,
|
|
1065
|
-
t("div",
|
|
1066
|
-
t("span", null, "Size: " + h(e(
|
|
1064
|
+
}, null, 8, ls),
|
|
1065
|
+
t("div", ds, [
|
|
1066
|
+
t("span", null, "Size: " + h(e(l.item.size)), 1),
|
|
1067
1067
|
u[3] || (u[3] = t("span", null, "•", -1)),
|
|
1068
|
-
t("span", null, "Date: " + h(
|
|
1068
|
+
t("span", null, "Date: " + h(i(l.item.createdAt)), 1)
|
|
1069
1069
|
]),
|
|
1070
|
-
t("div",
|
|
1070
|
+
t("div", cs, [
|
|
1071
1071
|
t("button", {
|
|
1072
|
-
onClick: u[0] || (u[0] = (
|
|
1072
|
+
onClick: u[0] || (u[0] = (d) => p(l.item.path, l.item.name)),
|
|
1073
1073
|
class: "ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border-input bg-background hover:bg-accent hover:text-accent-foreground border h-9 rounded-md px-3"
|
|
1074
1074
|
}, [
|
|
1075
|
-
|
|
1075
|
+
v(m(K), { class: "h-3 w-3 mr-1" }),
|
|
1076
1076
|
u[4] || (u[4] = H(" Download ", -1))
|
|
1077
1077
|
]),
|
|
1078
1078
|
t("button", {
|
|
1079
|
-
onClick: u[1] || (u[1] = (
|
|
1079
|
+
onClick: u[1] || (u[1] = (d) => s(l.item.path)),
|
|
1080
1080
|
class: "ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border-input bg-background hover:bg-accent hover:text-accent-foreground border h-9 rounded-md px-3"
|
|
1081
1081
|
}, [
|
|
1082
|
-
|
|
1082
|
+
v(m(He), { class: "h-3 w-3 mr-1" }),
|
|
1083
1083
|
u[5] || (u[5] = H(" Share ", -1))
|
|
1084
1084
|
])
|
|
1085
1085
|
])
|
|
@@ -1087,23 +1087,23 @@ const wt = { class: "space-y-0.5" }, $t = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1087
1087
|
]),
|
|
1088
1088
|
t("button", {
|
|
1089
1089
|
type: "button",
|
|
1090
|
-
onClick: u[2] || (u[2] = (
|
|
1090
|
+
onClick: u[2] || (u[2] = (d) => l.$emit("close")),
|
|
1091
1091
|
class: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"
|
|
1092
1092
|
}, [
|
|
1093
|
-
|
|
1093
|
+
v(m(O), { class: "h-4 w-4" }),
|
|
1094
1094
|
u[6] || (u[6] = t("span", { class: "sr-only" }, "Close", -1))
|
|
1095
1095
|
])
|
|
1096
1096
|
]),
|
|
1097
|
-
|
|
1097
|
+
v(ae, {
|
|
1098
1098
|
ref_key: "copyNotificationRef",
|
|
1099
1099
|
ref: n
|
|
1100
1100
|
}, null, 512)
|
|
1101
1101
|
]));
|
|
1102
1102
|
}
|
|
1103
|
-
}),
|
|
1103
|
+
}), ps = {
|
|
1104
1104
|
key: 0,
|
|
1105
1105
|
class: "text-xl font-semibold text-gray-900 mb-4"
|
|
1106
|
-
},
|
|
1106
|
+
}, ms = ["onClick"], hs = ["src", "alt"], gs = /* @__PURE__ */ w({
|
|
1107
1107
|
__name: "GalleryWidget",
|
|
1108
1108
|
props: {
|
|
1109
1109
|
title: {},
|
|
@@ -1114,79 +1114,79 @@ const wt = { class: "space-y-0.5" }, $t = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1114
1114
|
className: {},
|
|
1115
1115
|
style: {}
|
|
1116
1116
|
},
|
|
1117
|
-
setup(
|
|
1118
|
-
const n =
|
|
1119
|
-
let
|
|
1117
|
+
setup(r) {
|
|
1118
|
+
const n = r, i = M(!1), e = M(null), s = M(), p = M(0);
|
|
1119
|
+
let l = null;
|
|
1120
1120
|
const u = L(() => {
|
|
1121
|
-
const
|
|
1122
|
-
return p.value >= 1440 ?
|
|
1123
|
-
}),
|
|
1121
|
+
const c = n.columns || 4;
|
|
1122
|
+
return p.value >= 1440 ? c : p.value >= 1024 ? Math.max(1, c - 1) : p.value >= 768 ? Math.max(1, c - 2) : p.value >= 640 ? Math.max(1, c - 3) : 1;
|
|
1123
|
+
}), d = () => {
|
|
1124
1124
|
s.value && (p.value = s.value.offsetWidth);
|
|
1125
1125
|
};
|
|
1126
1126
|
ee(() => {
|
|
1127
|
-
|
|
1128
|
-
s.value && (
|
|
1129
|
-
for (const
|
|
1130
|
-
|
|
1131
|
-
}),
|
|
1127
|
+
pe(() => {
|
|
1128
|
+
s.value && (l = new ResizeObserver((c) => {
|
|
1129
|
+
for (const g of c)
|
|
1130
|
+
g.target === s.value && (p.value = g.contentRect.width);
|
|
1131
|
+
}), l.observe(s.value), d());
|
|
1132
1132
|
});
|
|
1133
1133
|
}), G(() => {
|
|
1134
|
-
|
|
1134
|
+
l && l.disconnect();
|
|
1135
1135
|
});
|
|
1136
|
-
const
|
|
1137
|
-
e.value =
|
|
1136
|
+
const y = (c) => {
|
|
1137
|
+
e.value = c, i.value = !0;
|
|
1138
1138
|
};
|
|
1139
|
-
return (
|
|
1139
|
+
return (c, g) => (o(), a("div", {
|
|
1140
1140
|
class: "w-full mx-auto font-sans",
|
|
1141
1141
|
ref_key: "containerRef",
|
|
1142
1142
|
ref: s
|
|
1143
1143
|
}, [
|
|
1144
|
-
|
|
1144
|
+
c.title ? (o(), a("h3", ps, h(c.title), 1)) : b("", !0),
|
|
1145
1145
|
t("div", {
|
|
1146
|
-
class: x(
|
|
1147
|
-
style:
|
|
1146
|
+
class: x(c.maxHeight ? "overflow-y-auto" : ""),
|
|
1147
|
+
style: z({ maxHeight: c.maxHeight + "px" })
|
|
1148
1148
|
}, [
|
|
1149
1149
|
t("div", {
|
|
1150
|
-
style:
|
|
1150
|
+
style: z({ columns: u.value + " auto", gap: "12px" }),
|
|
1151
1151
|
class: "space-y-3"
|
|
1152
1152
|
}, [
|
|
1153
|
-
(o(!0),
|
|
1154
|
-
key:
|
|
1155
|
-
onClick: (X) =>
|
|
1153
|
+
(o(!0), a(I, null, D(c.items, (T) => (o(), a("div", {
|
|
1154
|
+
key: T.id,
|
|
1155
|
+
onClick: (X) => y(T),
|
|
1156
1156
|
class: "group relative break-inside-avoid bg-gray-200 rounded-lg overflow-hidden cursor-pointer hover:shadow-md transition-all mb-3"
|
|
1157
1157
|
}, [
|
|
1158
1158
|
t("img", {
|
|
1159
|
-
src:
|
|
1160
|
-
alt:
|
|
1159
|
+
src: T.path,
|
|
1160
|
+
alt: T.name,
|
|
1161
1161
|
class: "w-full h-auto min-h-40 rounded-md object-contain"
|
|
1162
|
-
}, null, 8,
|
|
1163
|
-
|
|
1162
|
+
}, null, 8, hs),
|
|
1163
|
+
g[1] || (g[1] = t("div", { class: "absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 via-black/40 to-transparent p-4 pt-12" }, [
|
|
1164
1164
|
t("h3", { class: "text-white font-medium text-base leading-tight mb-1" }, "Mountain Landscape"),
|
|
1165
1165
|
t("p", { class: "text-white/90 text-sm" }, "2.4 MB")
|
|
1166
1166
|
], -1)),
|
|
1167
|
-
|
|
1168
|
-
], 8,
|
|
1167
|
+
g[2] || (g[2] = t("div", { class: "absolute inset-0 bg-black/0 group-hover:bg-black/10 transition-colors duration-200" }, null, -1))
|
|
1168
|
+
], 8, ms))), 128))
|
|
1169
1169
|
], 4)
|
|
1170
1170
|
], 6),
|
|
1171
1171
|
(o(), C(te, { to: "body" }, [
|
|
1172
|
-
|
|
1172
|
+
i.value && e.value ? (o(), C(us, {
|
|
1173
1173
|
key: 0,
|
|
1174
1174
|
item: e.value,
|
|
1175
|
-
onClose:
|
|
1175
|
+
onClose: g[0] || (g[0] = (T) => i.value = !1)
|
|
1176
1176
|
}, null, 8, ["item"])) : b("", !0)
|
|
1177
1177
|
]))
|
|
1178
1178
|
], 512));
|
|
1179
1179
|
}
|
|
1180
|
-
}),
|
|
1180
|
+
}), fs = {
|
|
1181
1181
|
key: 0,
|
|
1182
|
-
class: "
|
|
1183
|
-
},
|
|
1182
|
+
class: "overflow-hidden"
|
|
1183
|
+
}, ys = { class: "flex border-b border-gray-200 bg-gray-50" }, vs = ["onClick"], bs = { class: "p-4" }, xs = ["innerHTML"], ks = {
|
|
1184
1184
|
key: 1,
|
|
1185
|
-
class: "
|
|
1186
|
-
},
|
|
1185
|
+
class: "p-4"
|
|
1186
|
+
}, _s = { class: "grid grid-cols-12 gap-4" }, ws = {
|
|
1187
1187
|
key: 0,
|
|
1188
|
-
class: "
|
|
1189
|
-
},
|
|
1188
|
+
class: "mb-4 pb-2 border-b border-gray-200"
|
|
1189
|
+
}, $s = { class: "text-lg font-semibold text-gray-900" }, Cs = ["innerHTML"], Ms = /* @__PURE__ */ w({
|
|
1190
1190
|
__name: "Card",
|
|
1191
1191
|
props: {
|
|
1192
1192
|
panels: { default: () => [] },
|
|
@@ -1196,93 +1196,92 @@ const wt = { class: "space-y-0.5" }, $t = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1196
1196
|
className: {},
|
|
1197
1197
|
style: {}
|
|
1198
1198
|
},
|
|
1199
|
-
setup(
|
|
1200
|
-
const n =
|
|
1201
|
-
"card-wrapper": !0,
|
|
1199
|
+
setup(r) {
|
|
1200
|
+
const n = r, i = M(0), e = L(() => n.panels && n.panels.length > 0 ? n.panels : n.data && Array.isArray(n.data) ? n.data.filter((y) => y.type === "tabs")[0]?.items || [] : []), s = L(() => n.panels && n.panels.length > 0 ? n.panels : n.data && Array.isArray(n.data) ? n.data : []), p = L(() => ({
|
|
1202
1201
|
[`view-${n.view}`]: !0
|
|
1203
|
-
})),
|
|
1204
|
-
const
|
|
1205
|
-
return
|
|
1206
|
-
}, u = (
|
|
1207
|
-
gridColumn: `span ${
|
|
1202
|
+
})), l = (d) => {
|
|
1203
|
+
const y = {};
|
|
1204
|
+
return d.count && (y.count = d.count), d.col && (y.col = d.col), y.data && (y.data = y.data), y;
|
|
1205
|
+
}, u = (d) => d.width ? {
|
|
1206
|
+
gridColumn: `span ${d.width}`
|
|
1208
1207
|
} : {};
|
|
1209
|
-
return (
|
|
1210
|
-
class: x(["
|
|
1208
|
+
return (d, y) => (o(), a("div", {
|
|
1209
|
+
class: x(["bg-white rounded-lg shadow-sm border border-gray-200", p.value])
|
|
1211
1210
|
}, [
|
|
1212
|
-
|
|
1213
|
-
t("div",
|
|
1214
|
-
(o(!0),
|
|
1215
|
-
key:
|
|
1216
|
-
onClick: (
|
|
1211
|
+
d.view === "tab" ? (o(), a("div", fs, [
|
|
1212
|
+
t("div", ys, [
|
|
1213
|
+
(o(!0), a(I, null, D(e.value, (c, g) => (o(), a("button", {
|
|
1214
|
+
key: c.name || g,
|
|
1215
|
+
onClick: (T) => i.value = g,
|
|
1217
1216
|
class: x([
|
|
1218
|
-
"
|
|
1219
|
-
{
|
|
1217
|
+
"px-4 py-3 text-sm font-medium text-gray-600 hover:text-gray-800 hover:bg-gray-100 transition-colors",
|
|
1218
|
+
{ "text-blue-600 bg-white border-b-2 border-blue-600": i.value === g }
|
|
1220
1219
|
])
|
|
1221
|
-
}, h(
|
|
1220
|
+
}, h(c.title || c.label || c.name || `Tab ${g + 1}`), 11, vs))), 128))
|
|
1222
1221
|
]),
|
|
1223
|
-
t("div",
|
|
1224
|
-
(o(!0),
|
|
1225
|
-
key:
|
|
1222
|
+
t("div", bs, [
|
|
1223
|
+
(o(!0), a(I, null, D(e.value, (c, g) => P((o(), a("div", {
|
|
1224
|
+
key: c.name || g,
|
|
1226
1225
|
class: x([
|
|
1227
|
-
"
|
|
1228
|
-
`col-${
|
|
1226
|
+
"min-h-[400px] w-full",
|
|
1227
|
+
`col-span-${c.col || 12}`
|
|
1229
1228
|
])
|
|
1230
1229
|
}, [
|
|
1231
|
-
|
|
1230
|
+
c.html ? (o(), a("div", {
|
|
1232
1231
|
key: 0,
|
|
1233
|
-
innerHTML:
|
|
1234
|
-
class: "
|
|
1235
|
-
}, null, 8,
|
|
1232
|
+
innerHTML: c.html,
|
|
1233
|
+
class: "text-gray-900 leading-relaxed [&>h1]:font-semibold [&>h1]:text-gray-900 [&>h1]:mb-2 [&>h2]:font-semibold [&>h2]:text-gray-900 [&>h2]:mb-2 [&>h3]:font-semibold [&>h3]:text-gray-900 [&>h3]:mb-2 [&>h4]:font-semibold [&>h4]:text-gray-900 [&>h4]:mb-2 [&>h5]:font-semibold [&>h5]:text-gray-900 [&>h5]:mb-2 [&>h6]:font-semibold [&>h6]:text-gray-900 [&>h6]:mb-2 [&>p]:mb-3 [&>ul]:mb-3 [&>ul]:pl-5 [&>ol]:mb-3 [&>ol]:pl-5 [&>li]:mb-1"
|
|
1234
|
+
}, null, 8, xs)) : d.$slots[`tab-${g}`] ? F(d.$slots, `tab-${g}`, {
|
|
1236
1235
|
key: 1,
|
|
1237
|
-
item:
|
|
1238
|
-
data:
|
|
1239
|
-
}
|
|
1236
|
+
item: c,
|
|
1237
|
+
data: d.data
|
|
1238
|
+
}) : c.component ? (o(), C(j(c.component), U({
|
|
1240
1239
|
key: 2,
|
|
1241
1240
|
ref_for: !0
|
|
1242
|
-
},
|
|
1241
|
+
}, l(c), { class: "w-full h-full" }), null, 16)) : F(d.$slots, c.slot || `tab-${g}`, {
|
|
1243
1242
|
key: 3,
|
|
1244
|
-
item:
|
|
1245
|
-
data:
|
|
1246
|
-
}
|
|
1243
|
+
item: c,
|
|
1244
|
+
data: d.data
|
|
1245
|
+
})
|
|
1247
1246
|
], 2)), [
|
|
1248
|
-
[
|
|
1247
|
+
[me, i.value === g]
|
|
1249
1248
|
])), 128))
|
|
1250
1249
|
])
|
|
1251
|
-
])) : (o(),
|
|
1252
|
-
t("div",
|
|
1253
|
-
(o(!0),
|
|
1254
|
-
key:
|
|
1250
|
+
])) : (o(), a("div", ks, [
|
|
1251
|
+
t("div", _s, [
|
|
1252
|
+
(o(!0), a(I, null, D(s.value, (c, g) => (o(), a("div", {
|
|
1253
|
+
key: c.name || g,
|
|
1255
1254
|
class: x([
|
|
1256
|
-
"
|
|
1257
|
-
`col-span-${
|
|
1255
|
+
"bg-gray-50 rounded-lg p-4 min-h-[300px]",
|
|
1256
|
+
`col-span-${c.col || 12}`
|
|
1258
1257
|
]),
|
|
1259
|
-
style:
|
|
1258
|
+
style: z(u(c))
|
|
1260
1259
|
}, [
|
|
1261
|
-
|
|
1262
|
-
t("h3",
|
|
1260
|
+
c.title || c.label ? (o(), a("div", ws, [
|
|
1261
|
+
t("h3", $s, h(c.title || c.label), 1)
|
|
1263
1262
|
])) : b("", !0),
|
|
1264
|
-
|
|
1263
|
+
c.html ? (o(), a("div", {
|
|
1265
1264
|
key: 1,
|
|
1266
|
-
innerHTML:
|
|
1267
|
-
class: "
|
|
1268
|
-
}, null, 8,
|
|
1265
|
+
innerHTML: c.html,
|
|
1266
|
+
class: "text-gray-900 leading-relaxed [&>h1]:font-semibold [&>h1]:text-gray-900 [&>h1]:mb-2 [&>h2]:font-semibold [&>h2]:text-gray-900 [&>h2]:mb-2 [&>h3]:font-semibold [&>h3]:text-gray-900 [&>h3]:mb-2 [&>h4]:font-semibold [&>h4]:text-gray-900 [&>h4]:mb-2 [&>h5]:font-semibold [&>h5]:text-gray-900 [&>h5]:mb-2 [&>h6]:font-semibold [&>h6]:text-gray-900 [&>h6]:mb-2 [&>p]:mb-3 [&>ul]:mb-3 [&>ul]:pl-5 [&>ol]:mb-3 [&>ol]:pl-5 [&>li]:mb-1"
|
|
1267
|
+
}, null, 8, Cs)) : d.$slots[`panel-${g}`] ? F(d.$slots, `panel-${g}`, {
|
|
1269
1268
|
key: 2,
|
|
1270
|
-
item:
|
|
1271
|
-
data:
|
|
1272
|
-
}
|
|
1269
|
+
item: c,
|
|
1270
|
+
data: d.data
|
|
1271
|
+
}) : c.component ? (o(), C(j(c.component), U({
|
|
1273
1272
|
key: 3,
|
|
1274
1273
|
ref_for: !0
|
|
1275
|
-
},
|
|
1274
|
+
}, l(c), { class: "w-full h-full" }), null, 16)) : F(d.$slots, c.slot || `panel-${g}`, {
|
|
1276
1275
|
key: 4,
|
|
1277
|
-
item:
|
|
1278
|
-
data:
|
|
1279
|
-
}
|
|
1276
|
+
item: c,
|
|
1277
|
+
data: d.data
|
|
1278
|
+
})
|
|
1280
1279
|
], 6))), 128))
|
|
1281
1280
|
])
|
|
1282
1281
|
]))
|
|
1283
1282
|
], 2));
|
|
1284
1283
|
}
|
|
1285
|
-
}),
|
|
1284
|
+
}), Is = ["innerHTML"], Ds = /* @__PURE__ */ w({
|
|
1286
1285
|
__name: "CardItem",
|
|
1287
1286
|
props: {
|
|
1288
1287
|
name: {},
|
|
@@ -1296,45 +1295,44 @@ const wt = { class: "space-y-0.5" }, $t = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1296
1295
|
className: {},
|
|
1297
1296
|
style: {}
|
|
1298
1297
|
},
|
|
1299
|
-
setup(
|
|
1300
|
-
const n =
|
|
1301
|
-
"card-item": !0,
|
|
1298
|
+
setup(r) {
|
|
1299
|
+
const n = r, i = L(() => ({
|
|
1302
1300
|
[`col-span-${n.col}`]: !0
|
|
1303
1301
|
})), e = L(() => {
|
|
1304
1302
|
const s = {};
|
|
1305
1303
|
return s.col && (s.col = s.col), s;
|
|
1306
1304
|
});
|
|
1307
|
-
return (s, p) => (o(),
|
|
1308
|
-
class: x(["
|
|
1305
|
+
return (s, p) => (o(), a("div", {
|
|
1306
|
+
class: x(["w-full", i.value])
|
|
1309
1307
|
}, [
|
|
1310
|
-
s.html ? (o(),
|
|
1308
|
+
s.html ? (o(), a("div", {
|
|
1311
1309
|
key: 0,
|
|
1312
1310
|
innerHTML: s.html,
|
|
1313
|
-
class: "
|
|
1314
|
-
}, null, 8,
|
|
1311
|
+
class: "text-gray-900 leading-relaxed [&>h1]:font-semibold [&>h1]:text-gray-900 [&>h1]:mb-2 [&>h2]:font-semibold [&>h2]:text-gray-900 [&>h2]:mb-2 [&>h3]:font-semibold [&>h3]:text-gray-900 [&>h3]:mb-2 [&>h4]:font-semibold [&>h4]:text-gray-900 [&>h4]:mb-2 [&>h5]:font-semibold [&>h5]:text-gray-900 [&>h5]:mb-2 [&>h6]:font-semibold [&>h6]:text-gray-900 [&>h6]:mb-2 [&>p]:mb-3 [&>ul]:mb-3 [&>ul]:pl-5 [&>ol]:mb-3 [&>ol]:pl-5 [&>li]:mb-1"
|
|
1312
|
+
}, null, 8, Is)) : s.component ? (o(), C(j(s.component), U({ key: 1 }, e.value, { class: "w-full" }), null, 16)) : F(s.$slots, "default", { key: 2 })
|
|
1315
1313
|
], 2));
|
|
1316
1314
|
}
|
|
1317
|
-
}),
|
|
1315
|
+
}), Hs = { class: "text-value" }, Ls = { class: "text-sm text-gray-900" }, js = /* @__PURE__ */ w({
|
|
1318
1316
|
__name: "TextValue",
|
|
1319
1317
|
props: {
|
|
1320
1318
|
item: {}
|
|
1321
1319
|
},
|
|
1322
|
-
setup(
|
|
1323
|
-
const n =
|
|
1320
|
+
setup(r) {
|
|
1321
|
+
const n = r, i = L(() => {
|
|
1324
1322
|
const e = n.item.value;
|
|
1325
1323
|
return typeof e == "boolean" ? e ? "Так" : "Ні" : e == null ? "—" : String(e);
|
|
1326
1324
|
});
|
|
1327
|
-
return (e, s) => (o(),
|
|
1328
|
-
t("span",
|
|
1325
|
+
return (e, s) => (o(), a("div", Hs, [
|
|
1326
|
+
t("span", Ls, h(i.value), 1)
|
|
1329
1327
|
]));
|
|
1330
1328
|
}
|
|
1331
|
-
}),
|
|
1329
|
+
}), Ts = /* @__PURE__ */ S(js, [["__scopeId", "data-v-c14550b7"]]), zs = { class: "link-value" }, Ss = ["href"], Vs = /* @__PURE__ */ w({
|
|
1332
1330
|
__name: "LinkValue",
|
|
1333
1331
|
props: {
|
|
1334
1332
|
item: {}
|
|
1335
1333
|
},
|
|
1336
|
-
setup(
|
|
1337
|
-
const n =
|
|
1334
|
+
setup(r) {
|
|
1335
|
+
const n = r, i = L(() => {
|
|
1338
1336
|
const e = String(n.item.value);
|
|
1339
1337
|
try {
|
|
1340
1338
|
const s = new URL(e);
|
|
@@ -1343,25 +1341,25 @@ const wt = { class: "space-y-0.5" }, $t = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1343
1341
|
return e;
|
|
1344
1342
|
}
|
|
1345
1343
|
});
|
|
1346
|
-
return (e, s) => (o(),
|
|
1344
|
+
return (e, s) => (o(), a("div", zs, [
|
|
1347
1345
|
t("a", {
|
|
1348
1346
|
href: String(e.item.value),
|
|
1349
1347
|
target: "_blank",
|
|
1350
1348
|
rel: "noopener noreferrer",
|
|
1351
1349
|
class: "text-blue-600 hover:text-blue-800 underline text-sm"
|
|
1352
1350
|
}, [
|
|
1353
|
-
H(h(
|
|
1351
|
+
H(h(i.value) + " ", 1),
|
|
1354
1352
|
s[0] || (s[0] = t("i", { class: "fas fa-external-link-alt ml-1 text-xs" }, null, -1))
|
|
1355
|
-
], 8,
|
|
1353
|
+
], 8, Ss)
|
|
1356
1354
|
]));
|
|
1357
1355
|
}
|
|
1358
|
-
}),
|
|
1356
|
+
}), Fs = /* @__PURE__ */ S(Vs, [["__scopeId", "data-v-e6eb07a6"]]), Rs = { class: "date-value" }, As = { class: "text-sm text-gray-900" }, Es = /* @__PURE__ */ w({
|
|
1359
1357
|
__name: "DateValue",
|
|
1360
1358
|
props: {
|
|
1361
1359
|
item: {}
|
|
1362
1360
|
},
|
|
1363
|
-
setup(
|
|
1364
|
-
const n =
|
|
1361
|
+
setup(r) {
|
|
1362
|
+
const n = r, i = L(() => {
|
|
1365
1363
|
const e = n.item.value;
|
|
1366
1364
|
if (e instanceof Date)
|
|
1367
1365
|
return e.toLocaleDateString("uk-UA", {
|
|
@@ -1384,20 +1382,20 @@ const wt = { class: "space-y-0.5" }, $t = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1384
1382
|
}
|
|
1385
1383
|
return String(e);
|
|
1386
1384
|
});
|
|
1387
|
-
return (e, s) => (o(),
|
|
1388
|
-
t("span",
|
|
1385
|
+
return (e, s) => (o(), a("div", Rs, [
|
|
1386
|
+
t("span", As, h(i.value), 1)
|
|
1389
1387
|
]));
|
|
1390
1388
|
}
|
|
1391
|
-
}),
|
|
1389
|
+
}), Ns = /* @__PURE__ */ S(Es, [["__scopeId", "data-v-b9600618"]]), Os = { class: "status-value" }, Bs = {
|
|
1392
1390
|
key: 0,
|
|
1393
1391
|
class: "mr-1"
|
|
1394
|
-
},
|
|
1392
|
+
}, Us = /* @__PURE__ */ w({
|
|
1395
1393
|
__name: "StatusValue",
|
|
1396
1394
|
props: {
|
|
1397
1395
|
item: {}
|
|
1398
1396
|
},
|
|
1399
|
-
setup(
|
|
1400
|
-
const n =
|
|
1397
|
+
setup(r) {
|
|
1398
|
+
const n = r, i = L(() => {
|
|
1401
1399
|
switch (String(n.item.value).toLowerCase()) {
|
|
1402
1400
|
case "active":
|
|
1403
1401
|
case "активний":
|
|
@@ -1444,11 +1442,11 @@ const wt = { class: "space-y-0.5" }, $t = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1444
1442
|
return "fas fa-info-circle";
|
|
1445
1443
|
}
|
|
1446
1444
|
});
|
|
1447
|
-
return (s, p) => (o(),
|
|
1445
|
+
return (s, p) => (o(), a("div", Os, [
|
|
1448
1446
|
t("span", {
|
|
1449
|
-
class: x(["inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium",
|
|
1447
|
+
class: x(["inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium", i.value])
|
|
1450
1448
|
}, [
|
|
1451
|
-
e.value ? (o(),
|
|
1449
|
+
e.value ? (o(), a("span", Bs, [
|
|
1452
1450
|
t("i", {
|
|
1453
1451
|
class: x(e.value)
|
|
1454
1452
|
}, null, 2)
|
|
@@ -1457,37 +1455,37 @@ const wt = { class: "space-y-0.5" }, $t = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1457
1455
|
], 2)
|
|
1458
1456
|
]));
|
|
1459
1457
|
}
|
|
1460
|
-
}),
|
|
1458
|
+
}), qs = /* @__PURE__ */ S(Us, [["__scopeId", "data-v-c72e0b01"]]), Ws = { class: "custom-value" }, Ps = { class: "text-sm text-gray-900" }, Gs = /* @__PURE__ */ w({
|
|
1461
1459
|
__name: "CustomValue",
|
|
1462
1460
|
props: {
|
|
1463
1461
|
item: {}
|
|
1464
1462
|
},
|
|
1465
|
-
setup(
|
|
1466
|
-
return (n,
|
|
1463
|
+
setup(r) {
|
|
1464
|
+
return (n, i) => (o(), a("div", Ws, [
|
|
1467
1465
|
F(n.$slots, "default", {
|
|
1468
1466
|
item: n.item,
|
|
1469
1467
|
value: n.item.value
|
|
1470
1468
|
}, () => [
|
|
1471
|
-
t("span",
|
|
1469
|
+
t("span", Ps, h(String(n.item.value)), 1)
|
|
1472
1470
|
], !0)
|
|
1473
1471
|
]));
|
|
1474
1472
|
}
|
|
1475
|
-
}),
|
|
1473
|
+
}), Ks = /* @__PURE__ */ S(Gs, [["__scopeId", "data-v-11a73810"]]), Zs = ["id"], Xs = {
|
|
1476
1474
|
key: 0,
|
|
1477
1475
|
class: "text-xl font-semibold text-gray-900 mb-4"
|
|
1478
|
-
},
|
|
1476
|
+
}, Js = {
|
|
1479
1477
|
key: 1,
|
|
1480
1478
|
class: "overflow-x-auto"
|
|
1481
|
-
},
|
|
1479
|
+
}, Qs = { class: "min-w-full divide-y divide-gray-200" }, Ys = { class: "bg-white divide-y divide-gray-200" }, eo = { class: "px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900" }, to = { class: "flex items-center gap-2" }, so = ["title"], oo = { class: "px-6 py-4 whitespace-nowrap text-sm text-gray-500" }, no = {
|
|
1482
1480
|
key: 2,
|
|
1483
1481
|
class: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"
|
|
1484
|
-
},
|
|
1482
|
+
}, io = { class: "flex items-start gap-3" }, ao = {
|
|
1485
1483
|
key: 0,
|
|
1486
1484
|
class: "flex-shrink-0"
|
|
1487
|
-
},
|
|
1485
|
+
}, ro = { class: "flex-1 min-w-0" }, lo = { class: "flex items-center gap-2 mb-2" }, co = { class: "text-sm font-medium text-gray-900" }, uo = ["title"], po = {
|
|
1488
1486
|
key: 3,
|
|
1489
1487
|
class: "overflow-x-auto"
|
|
1490
|
-
},
|
|
1488
|
+
}, mo = { class: "min-w-full divide-y divide-gray-200" }, ho = { class: "bg-white divide-y divide-gray-200" }, go = { class: "px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900" }, fo = { class: "flex items-center gap-2" }, yo = ["title"], vo = { class: "px-6 py-4 whitespace-nowrap text-sm text-gray-500" }, bo = /* @__PURE__ */ w({
|
|
1491
1489
|
__name: "DescriptionListWidget",
|
|
1492
1490
|
props: {
|
|
1493
1491
|
title: {},
|
|
@@ -1497,120 +1495,125 @@ const wt = { class: "space-y-0.5" }, $t = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1497
1495
|
className: {},
|
|
1498
1496
|
style: {}
|
|
1499
1497
|
},
|
|
1500
|
-
setup(
|
|
1501
|
-
const n = (
|
|
1502
|
-
switch (
|
|
1498
|
+
setup(r) {
|
|
1499
|
+
const n = (i) => {
|
|
1500
|
+
switch (i.type) {
|
|
1503
1501
|
case "link":
|
|
1504
|
-
return Ts;
|
|
1505
|
-
case "date":
|
|
1506
1502
|
return Fs;
|
|
1507
|
-
case "
|
|
1503
|
+
case "date":
|
|
1508
1504
|
return Ns;
|
|
1509
|
-
case "
|
|
1505
|
+
case "status":
|
|
1510
1506
|
return qs;
|
|
1507
|
+
case "custom":
|
|
1508
|
+
return Ks;
|
|
1511
1509
|
default:
|
|
1512
|
-
return
|
|
1510
|
+
return Ts;
|
|
1513
1511
|
}
|
|
1514
1512
|
};
|
|
1515
|
-
return (
|
|
1516
|
-
class: x(["description-list-widget",
|
|
1517
|
-
id:
|
|
1518
|
-
style:
|
|
1513
|
+
return (i, e) => (o(), a("div", {
|
|
1514
|
+
class: x(["description-list-widget", i.className]),
|
|
1515
|
+
id: i.id,
|
|
1516
|
+
style: z(i.style)
|
|
1519
1517
|
}, [
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
t("table",
|
|
1523
|
-
t("tbody",
|
|
1524
|
-
(o(!0),
|
|
1518
|
+
i.title ? (o(), a("h3", Xs, h(i.title), 1)) : b("", !0),
|
|
1519
|
+
i.view === "table" ? (o(), a("div", Js, [
|
|
1520
|
+
t("table", Qs, [
|
|
1521
|
+
t("tbody", Ys, [
|
|
1522
|
+
(o(!0), a(I, null, D(i.items, (s) => (o(), a("tr", {
|
|
1525
1523
|
key: s.id || s.label
|
|
1526
1524
|
}, [
|
|
1527
|
-
t("td",
|
|
1528
|
-
t("div",
|
|
1529
|
-
s.icon ? (o(),
|
|
1525
|
+
t("td", eo, [
|
|
1526
|
+
t("div", to, [
|
|
1527
|
+
s.icon ? (o(), a("i", {
|
|
1530
1528
|
key: 0,
|
|
1531
1529
|
class: x([s.icon, "text-gray-500"])
|
|
1532
1530
|
}, null, 2)) : b("", !0),
|
|
1533
1531
|
H(" " + h(s.label) + " ", 1),
|
|
1534
|
-
s.tooltip ? (o(),
|
|
1532
|
+
s.tooltip ? (o(), a("span", {
|
|
1535
1533
|
key: 1,
|
|
1536
1534
|
class: "text-gray-400 cursor-help",
|
|
1537
1535
|
title: s.tooltip
|
|
1538
1536
|
}, e[0] || (e[0] = [
|
|
1539
1537
|
t("i", { class: "fas fa-info-circle text-xs" }, null, -1)
|
|
1540
|
-
]), 8,
|
|
1538
|
+
]), 8, so)) : b("", !0)
|
|
1541
1539
|
])
|
|
1542
1540
|
]),
|
|
1543
|
-
t("td",
|
|
1541
|
+
t("td", oo, [
|
|
1544
1542
|
(o(), C(j(n(s)), { item: s }, null, 8, ["item"]))
|
|
1545
1543
|
])
|
|
1546
1544
|
]))), 128))
|
|
1547
1545
|
])
|
|
1548
1546
|
])
|
|
1549
|
-
])) :
|
|
1550
|
-
(o(!0),
|
|
1547
|
+
])) : i.view === "grid" ? (o(), a("div", no, [
|
|
1548
|
+
(o(!0), a(I, null, D(i.items, (s) => (o(), a("div", {
|
|
1551
1549
|
key: s.id || s.label,
|
|
1552
1550
|
class: "description-item-card bg-white border border-gray-200 rounded-lg p-4"
|
|
1553
1551
|
}, [
|
|
1554
|
-
t("div",
|
|
1555
|
-
s.icon ? (o(),
|
|
1552
|
+
t("div", io, [
|
|
1553
|
+
s.icon ? (o(), a("div", ao, [
|
|
1556
1554
|
t("i", {
|
|
1557
1555
|
class: x([s.icon, "text-gray-500 text-lg"])
|
|
1558
1556
|
}, null, 2)
|
|
1559
1557
|
])) : b("", !0),
|
|
1560
|
-
t("div",
|
|
1561
|
-
t("div",
|
|
1562
|
-
t("h4",
|
|
1563
|
-
s.tooltip ? (o(),
|
|
1558
|
+
t("div", ro, [
|
|
1559
|
+
t("div", lo, [
|
|
1560
|
+
t("h4", co, h(s.label), 1),
|
|
1561
|
+
s.tooltip ? (o(), a("span", {
|
|
1564
1562
|
key: 0,
|
|
1565
1563
|
class: "text-gray-400 cursor-help",
|
|
1566
1564
|
title: s.tooltip
|
|
1567
1565
|
}, e[1] || (e[1] = [
|
|
1568
1566
|
t("i", { class: "fas fa-info-circle text-xs" }, null, -1)
|
|
1569
|
-
]), 8,
|
|
1567
|
+
]), 8, uo)) : b("", !0)
|
|
1570
1568
|
]),
|
|
1571
1569
|
(o(), C(j(n(s)), { item: s }, null, 8, ["item"]))
|
|
1572
1570
|
])
|
|
1573
1571
|
])
|
|
1574
1572
|
]))), 128))
|
|
1575
|
-
])) : (o(),
|
|
1576
|
-
t("table",
|
|
1577
|
-
t("tbody",
|
|
1578
|
-
(o(!0),
|
|
1573
|
+
])) : (o(), a("div", po, [
|
|
1574
|
+
t("table", mo, [
|
|
1575
|
+
t("tbody", ho, [
|
|
1576
|
+
(o(!0), a(I, null, D(i.items, (s) => (o(), a("tr", {
|
|
1579
1577
|
key: s.id || s.label
|
|
1580
1578
|
}, [
|
|
1581
|
-
t("td",
|
|
1582
|
-
t("div",
|
|
1583
|
-
s.icon ? (o(),
|
|
1579
|
+
t("td", go, [
|
|
1580
|
+
t("div", fo, [
|
|
1581
|
+
s.icon ? (o(), a("i", {
|
|
1584
1582
|
key: 0,
|
|
1585
1583
|
class: x([s.icon, "text-gray-500"])
|
|
1586
1584
|
}, null, 2)) : b("", !0),
|
|
1587
1585
|
H(" " + h(s.label) + " ", 1),
|
|
1588
|
-
s.tooltip ? (o(),
|
|
1586
|
+
s.tooltip ? (o(), a("span", {
|
|
1589
1587
|
key: 1,
|
|
1590
1588
|
class: "text-gray-400 cursor-help",
|
|
1591
1589
|
title: s.tooltip
|
|
1592
1590
|
}, e[2] || (e[2] = [
|
|
1593
1591
|
t("i", { class: "fas fa-info-circle text-xs" }, null, -1)
|
|
1594
|
-
]), 8,
|
|
1592
|
+
]), 8, yo)) : b("", !0)
|
|
1595
1593
|
])
|
|
1596
1594
|
]),
|
|
1597
|
-
t("td",
|
|
1595
|
+
t("td", vo, [
|
|
1598
1596
|
(o(), C(j(n(s)), { item: s }, null, 8, ["item"]))
|
|
1599
1597
|
])
|
|
1600
1598
|
]))), 128))
|
|
1601
1599
|
])
|
|
1602
1600
|
])
|
|
1603
1601
|
]))
|
|
1604
|
-
], 14,
|
|
1602
|
+
], 14, Zs));
|
|
1605
1603
|
}
|
|
1606
|
-
}),
|
|
1604
|
+
}), xo = /* @__PURE__ */ S(bo, [["__scopeId", "data-v-36d43e50"]]), wo = {
|
|
1605
|
+
install: (r) => {
|
|
1606
|
+
r.component("CommentsWidget", it), r.component("HistoryWidget", _t), r.component("GalleryWidget", gs), r.component("FilesWidget", Jt), r.component("Card", Ms), r.component("CardItem", Ds), r.component("DescriptionListWidget", xo), r.component("CopyNotification", ae);
|
|
1607
|
+
}
|
|
1608
|
+
};
|
|
1607
1609
|
export {
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1610
|
+
Ms as Card,
|
|
1611
|
+
Ds as CardItem,
|
|
1612
|
+
it as CommentsWidget,
|
|
1613
|
+
ae as CopyNotification,
|
|
1614
|
+
xo as DescriptionListWidget,
|
|
1615
|
+
Jt as FilesWidget,
|
|
1616
|
+
gs as GalleryWidget,
|
|
1617
|
+
_t as HistoryWidget,
|
|
1618
|
+
wo as default
|
|
1616
1619
|
};
|