@opengis/widgets 0.0.6 → 0.0.8
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 +491 -487
- package/dist/index.umd.cjs +6 -6
- package/package.json +3 -3
package/dist/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 a, openBlock as
|
|
1
|
+
import { h as B, defineComponent as w, mergeModels as q, useModel as W, ref as M, createElementBlock as a, openBlock as n, createElementVNode as t, createVNode as v, unref as g, withDirectives as P, vModelText as oe, createCommentVNode as b, createTextVNode as H, onMounted as ne, onUnmounted as G, resolveComponent as me, normalizeClass as x, createBlock as C, toDisplayString as f, Fragment as D, renderList as L, normalizeStyle as z, resolveDynamicComponent as T, Teleport as ie, TransitionGroup as he, withCtx as ge, computed as I, nextTick as fe, renderSlot as F, mergeProps as U, vShow as ye } 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 = (l) => l.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), ve = (l) => l.replace(
|
|
9
9
|
/^([A-Z])|[\s-_]+(\w)/g,
|
|
10
|
-
(
|
|
11
|
-
),
|
|
12
|
-
const
|
|
13
|
-
return
|
|
14
|
-
},
|
|
10
|
+
(o, i, e) => e ? e.toUpperCase() : i.toLowerCase()
|
|
11
|
+
), be = (l) => {
|
|
12
|
+
const o = ve(l);
|
|
13
|
+
return o.charAt(0).toUpperCase() + o.slice(1);
|
|
14
|
+
}, xe = (...l) => l.filter((o, i, e) => !!o && o.trim() !== "" && e.indexOf(o) === 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 ke = ({ size: l, strokeWidth: o = 2, absoluteStrokeWidth: i, color: e, iconNode: s, name: m, class: u, ...p }, { slots: d }) => B(
|
|
39
39
|
"svg",
|
|
40
40
|
{
|
|
41
41
|
...E,
|
|
42
|
-
width:
|
|
43
|
-
height:
|
|
42
|
+
width: l || E.width,
|
|
43
|
+
height: l || E.height,
|
|
44
44
|
stroke: e || E.stroke,
|
|
45
|
-
"stroke-width": i ? Number(
|
|
46
|
-
class:
|
|
45
|
+
"stroke-width": i ? Number(o) * 24 / Number(l) : o,
|
|
46
|
+
class: xe(
|
|
47
47
|
"lucide",
|
|
48
|
-
...
|
|
48
|
+
...m ? [`lucide-${J(be(m))}-icon`, `lucide-${J(m)}`] : ["lucide-icon"]
|
|
49
49
|
),
|
|
50
|
-
...
|
|
50
|
+
...p
|
|
51
51
|
},
|
|
52
|
-
[...s.map((
|
|
52
|
+
[...s.map((c) => B(...c)), ...d.default ? [d.default()] : []]
|
|
53
53
|
);
|
|
54
54
|
/**
|
|
55
55
|
* @license lucide-vue-next v0.535.0 - ISC
|
|
@@ -57,12 +57,12 @@ const ye = ({ size: r, strokeWidth: n = 2, absoluteStrokeWidth: i, 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 = (l, o) => (i, { slots: e }) => B(
|
|
61
|
+
ke,
|
|
62
62
|
{
|
|
63
63
|
...i,
|
|
64
|
-
iconNode:
|
|
65
|
-
name:
|
|
64
|
+
iconNode: o,
|
|
65
|
+
name: l
|
|
66
66
|
},
|
|
67
67
|
e
|
|
68
68
|
);
|
|
@@ -72,7 +72,7 @@ const k = (r, n) => (i, { 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 _e = 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 ve = 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 we = 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 be = 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 $e = 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 Ce = 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 Me = 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 _e = 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 De = 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 we = 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 Le = k("heart", [
|
|
165
165
|
[
|
|
166
166
|
"path",
|
|
167
167
|
{
|
|
@@ -176,7 +176,7 @@ const $e = 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 He = 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 Ce = 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 Ie = 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 Me = 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 je = 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 Ie = 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 Te = 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
|
]);
|
|
@@ -222,7 +222,7 @@ const De = k("reply", [
|
|
|
222
222
|
* This source code is licensed under the ISC license.
|
|
223
223
|
* See the LICENSE file in the root directory of this source tree.
|
|
224
224
|
*/
|
|
225
|
-
const
|
|
225
|
+
const ae = k("send", [
|
|
226
226
|
[
|
|
227
227
|
"path",
|
|
228
228
|
{
|
|
@@ -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 ze = 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 He = 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 Se = 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 Le = 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 Ve = 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 je = 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 Fe = 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 Re = 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 Ae = k("video", [
|
|
326
326
|
[
|
|
327
327
|
"path",
|
|
328
328
|
{
|
|
@@ -341,231 +341,231 @@ const Se = 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
|
+
]), Ee = { class: "border-t pt-3 mt-4" }, Ne = { class: "flex gap-2" }, Oe = { class: "relative flex items-center justify-center shrink-0 overflow-hidden rounded-full h-5 w-5 bg-gray-200" }, Be = { class: "flex-1 space-y-2" }, Ue = { class: "flex justify-between items-center" }, qe = { class: "flex gap-2" }, We = ["disabled"], re = /* @__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 i = W(
|
|
351
|
+
setup(l, { emit: o }) {
|
|
352
|
+
const i = W(l, "isReply"), e = M(""), s = o, m = () => {
|
|
353
353
|
e.value.trim() && (s("sendComment", e.value), e.value = "");
|
|
354
|
-
},
|
|
355
|
-
(
|
|
354
|
+
}, u = (p) => {
|
|
355
|
+
(p.ctrlKey || p.metaKey) && p.key === "Enter" && (p.preventDefault(), m());
|
|
356
356
|
};
|
|
357
|
-
return (
|
|
358
|
-
t("div",
|
|
359
|
-
t("span",
|
|
360
|
-
v(
|
|
357
|
+
return (p, d) => (n(), a("div", Ee, [
|
|
358
|
+
t("div", Ne, [
|
|
359
|
+
t("span", Oe, [
|
|
360
|
+
v(g(Z), { class: "h-3 w-3 text-gray-500" })
|
|
361
361
|
]),
|
|
362
|
-
t("div",
|
|
362
|
+
t("div", Be, [
|
|
363
363
|
P(t("textarea", {
|
|
364
|
-
"onUpdate:modelValue": d[0] || (d[0] = (
|
|
365
|
-
onKeydown:
|
|
364
|
+
"onUpdate:modelValue": d[0] || (d[0] = (c) => e.value = c),
|
|
365
|
+
onKeydown: u,
|
|
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
|
+
[oe, e.value]
|
|
370
370
|
]),
|
|
371
|
-
t("div",
|
|
371
|
+
t("div", Ue, [
|
|
372
372
|
d[4] || (d[4] = t("span", { class: "text-xs text-gray-500 hidden sm:inline" }, "Cmd+Enter to send", -1)),
|
|
373
|
-
t("div",
|
|
374
|
-
i.value ? (
|
|
373
|
+
t("div", qe, [
|
|
374
|
+
i.value ? (n(), 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: d[1] || (d[1] = (
|
|
377
|
+
onClick: d[1] || (d[1] = (c) => i.value = !1)
|
|
378
378
|
}, [
|
|
379
|
-
v(
|
|
379
|
+
v(g(O), { class: "h-3 w-3" }),
|
|
380
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
|
-
onClick:
|
|
385
|
+
onClick: m
|
|
386
386
|
}, [
|
|
387
|
-
v(
|
|
387
|
+
v(g(ae), { class: "h-3 w-3 mr-1" }),
|
|
388
388
|
d[3] || (d[3] = H(" Send ", -1))
|
|
389
|
-
], 8,
|
|
389
|
+
], 8, We)
|
|
390
390
|
])
|
|
391
391
|
])
|
|
392
392
|
])
|
|
393
393
|
])
|
|
394
394
|
]));
|
|
395
395
|
}
|
|
396
|
-
}),
|
|
396
|
+
}), Pe = { 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" }, Ge = /* @__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 i =
|
|
405
|
-
e.value && s.value && !s.value.contains(
|
|
406
|
-
},
|
|
403
|
+
setup(l, { emit: o }) {
|
|
404
|
+
const i = o, e = W(l, "showMoreOptions"), s = M(), m = M(!0), u = async (c) => {
|
|
405
|
+
e.value && s.value && !s.value.contains(c.target) && !m.value && (e.value = !1), m.value = !1;
|
|
406
|
+
}, p = () => {
|
|
407
407
|
e.value = !1, i("edit");
|
|
408
408
|
}, d = () => {
|
|
409
409
|
e.value = !1, i("delete");
|
|
410
410
|
};
|
|
411
|
-
return
|
|
412
|
-
document.addEventListener("click",
|
|
411
|
+
return ne(() => {
|
|
412
|
+
document.addEventListener("click", u);
|
|
413
413
|
}), G(() => {
|
|
414
|
-
document.removeEventListener("click",
|
|
415
|
-
}), (
|
|
414
|
+
document.removeEventListener("click", u);
|
|
415
|
+
}), (c, r) => (n(), 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", Pe, [
|
|
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
|
-
onClick:
|
|
423
|
+
onClick: p
|
|
424
424
|
}, [
|
|
425
|
-
v(
|
|
426
|
-
|
|
425
|
+
v(g(Ve), { class: "h-3 w-3 mr-2" }),
|
|
426
|
+
r[0] || (r[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
430
|
onClick: d
|
|
431
431
|
}, [
|
|
432
|
-
v(
|
|
433
|
-
|
|
432
|
+
v(g(N), { class: "h-3 w-3 mr-2" }),
|
|
433
|
+
r[1] || (r[1] = H(" Delete ", -1))
|
|
434
434
|
])
|
|
435
435
|
])
|
|
436
436
|
], 512));
|
|
437
437
|
}
|
|
438
|
-
}),
|
|
438
|
+
}), Ke = { class: "space-y-2" }, Ze = { class: "relative flex items-center justify-center shrink-0 overflow-hidden rounded-full h-5 w-5 bg-gray-200" }, Xe = { class: "flex-1 min-w-0 space-y-1 relative" }, Je = { class: "flex items-center gap-2" }, Qe = { class: "font-medium text-xs" }, Ye = { class: "text-xs text-gray-500" }, et = {
|
|
439
439
|
key: 0,
|
|
440
440
|
class: "text-xs text-gray-700 leading-relaxed"
|
|
441
|
-
},
|
|
441
|
+
}, tt = { class: "flex justify-between text-xs" }, st = { class: "flex items-center gap-2" }, ot = {
|
|
442
442
|
key: 0,
|
|
443
443
|
class: "flex gap-2"
|
|
444
|
-
},
|
|
444
|
+
}, nt = ["disabled"], it = {
|
|
445
445
|
key: 0,
|
|
446
446
|
class: "ml-8 space-y-1 border-l-2 border-gray-100 pl-3"
|
|
447
|
-
},
|
|
447
|
+
}, at = /* @__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 i =
|
|
456
|
-
const
|
|
457
|
-
(
|
|
454
|
+
setup(l, { emit: o }) {
|
|
455
|
+
const i = o, e = l, s = M(e.comment.text), m = M("w-full p-2 rounded text-xs resize-none bg-transparent outline-none"), u = 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"), p = M(!1), d = M(!1), c = M(!1), r = M(!1), h = (_) => {
|
|
456
|
+
const y = /* @__PURE__ */ new Date(), V = Math.floor(
|
|
457
|
+
(y.getTime() - _.getTime()) / (1e3 * 60 * 60)
|
|
458
458
|
);
|
|
459
459
|
return V < 1 ? `${Math.floor(
|
|
460
|
-
(
|
|
460
|
+
(y.getTime() - _.getTime()) / 6e4
|
|
461
461
|
)}m` : V < 24 ? `${V}h` : `${Math.floor(V / 24)}d`;
|
|
462
|
-
},
|
|
463
|
-
|
|
462
|
+
}, j = () => {
|
|
463
|
+
r.value = !r.value, r.value ? i("like", e.comment.id, "add") : i("like", e.comment.id, "delete");
|
|
464
464
|
}, X = () => {
|
|
465
|
-
i("edit", e.comment.id, s.value),
|
|
466
|
-
},
|
|
467
|
-
i("like", _,
|
|
468
|
-
},
|
|
469
|
-
i("edit", _,
|
|
465
|
+
i("edit", e.comment.id, s.value), c.value = !1;
|
|
466
|
+
}, ue = (_, y) => {
|
|
467
|
+
i("like", _, y);
|
|
468
|
+
}, pe = (_, y) => {
|
|
469
|
+
i("edit", _, y);
|
|
470
470
|
};
|
|
471
|
-
return (_,
|
|
472
|
-
const V =
|
|
473
|
-
return
|
|
471
|
+
return (_, y) => {
|
|
472
|
+
const V = me("CommentItem", !0);
|
|
473
|
+
return n(), a("div", Ke, [
|
|
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", c.value ? "bg-gray-50" : ""])
|
|
476
476
|
}, [
|
|
477
|
-
t("span",
|
|
478
|
-
v(
|
|
477
|
+
t("span", Ze, [
|
|
478
|
+
v(g(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", Xe, [
|
|
481
|
+
t("div", Je, [
|
|
482
|
+
t("span", Qe, f(_.comment?.author), 1),
|
|
483
|
+
t("span", Ye, f(h(_.comment?.createdAt)), 1)
|
|
484
484
|
]),
|
|
485
|
-
|
|
485
|
+
c.value ? P((n(), a("textarea", {
|
|
486
486
|
key: 1,
|
|
487
|
-
"onUpdate:modelValue":
|
|
488
|
-
class: x(
|
|
487
|
+
"onUpdate:modelValue": y[0] || (y[0] = ($) => s.value = $),
|
|
488
|
+
class: x(c.value ? u.value : m.value)
|
|
489
489
|
}, null, 2)), [
|
|
490
|
-
[
|
|
491
|
-
]) : (
|
|
492
|
-
t("div",
|
|
493
|
-
t("div",
|
|
490
|
+
[oe, s.value]
|
|
491
|
+
]) : (n(), a("p", et, f(_.comment?.text), 1)),
|
|
492
|
+
t("div", tt, [
|
|
493
|
+
t("div", st, [
|
|
494
494
|
t("button", {
|
|
495
|
-
class: x(["flex items-center gap-1",
|
|
496
|
-
onClick:
|
|
495
|
+
class: x(["flex items-center gap-1", r.value ? "text-blue-600" : "text-gray-500 hover:text-blue-600 transition-colors"]),
|
|
496
|
+
onClick: y[1] || (y[1] = ($) => j())
|
|
497
497
|
}, [
|
|
498
|
-
v(
|
|
499
|
-
class: x(["h-3 w-3",
|
|
498
|
+
v(g(Le), {
|
|
499
|
+
class: x(["h-3 w-3", r.value ? "fill-blue-600" : ""])
|
|
500
500
|
}, null, 8, ["class"]),
|
|
501
|
-
H(" " +
|
|
501
|
+
H(" " + f(_.comment?.likes), 1)
|
|
502
502
|
], 2),
|
|
503
|
-
_.isInside ? b("", !0) : (
|
|
503
|
+
_.isInside ? b("", !0) : (n(), a("button", {
|
|
504
504
|
key: 0,
|
|
505
505
|
class: "text-gray-500 hover:text-blue-600 transition-colors",
|
|
506
|
-
onClick:
|
|
506
|
+
onClick: y[2] || (y[2] = ($) => d.value = !0)
|
|
507
507
|
}, [
|
|
508
|
-
v(
|
|
508
|
+
v(g(Te), { 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
|
-
onClick:
|
|
513
|
+
onClick: y[3] || (y[3] = ($) => p.value = !0)
|
|
514
514
|
}, [
|
|
515
|
-
v(
|
|
515
|
+
v(g(Ce), { class: "h-3 w-3" })
|
|
516
516
|
])
|
|
517
517
|
]),
|
|
518
|
-
|
|
518
|
+
c.value ? (n(), a("div", ot, [
|
|
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:
|
|
521
|
+
onClick: y[4] || (y[4] = ($) => c.value = !1)
|
|
522
522
|
}, [
|
|
523
|
-
v(
|
|
524
|
-
|
|
523
|
+
v(g(O), { class: "h-3 w-3" }),
|
|
524
|
+
y[11] || (y[11] = H(" Cancel ", -1))
|
|
525
525
|
]),
|
|
526
526
|
t("button", {
|
|
527
527
|
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",
|
|
528
528
|
disabled: !s.value.trim(),
|
|
529
|
-
onClick:
|
|
529
|
+
onClick: y[5] || (y[5] = ($) => X())
|
|
530
530
|
}, [
|
|
531
|
-
v(
|
|
532
|
-
|
|
533
|
-
], 8,
|
|
531
|
+
v(g(ae), { class: "h-3 w-3 mr-1" }),
|
|
532
|
+
y[12] || (y[12] = H(" Send ", -1))
|
|
533
|
+
], 8, nt)
|
|
534
534
|
])) : b("", !0)
|
|
535
535
|
])
|
|
536
536
|
]),
|
|
537
|
-
|
|
537
|
+
p.value ? (n(), C(Ge, {
|
|
538
538
|
key: 0,
|
|
539
|
-
showMoreOptions:
|
|
540
|
-
"onUpdate:showMoreOptions":
|
|
541
|
-
onEdit:
|
|
542
|
-
onDelete:
|
|
539
|
+
showMoreOptions: p.value,
|
|
540
|
+
"onUpdate:showMoreOptions": y[6] || (y[6] = ($) => p.value = $),
|
|
541
|
+
onEdit: y[7] || (y[7] = ($) => c.value = !0),
|
|
542
|
+
onDelete: y[8] || (y[8] = ($) => _.$emit("delete", _.comment?.id)),
|
|
543
543
|
comment: _.comment
|
|
544
544
|
}, null, 8, ["showMoreOptions", "comment"])) : b("", !0)
|
|
545
545
|
], 2),
|
|
546
|
-
_.isInside ? b("", !0) : (
|
|
547
|
-
(
|
|
546
|
+
_.isInside ? b("", !0) : (n(), a("div", it, [
|
|
547
|
+
(n(!0), a(D, null, L(_.comment?.replies, ($) => (n(), C(V, {
|
|
548
548
|
key: $.id,
|
|
549
549
|
comment: $,
|
|
550
550
|
isInside: !0,
|
|
551
551
|
onDelete: (ko) => _.$emit("delete", $.id),
|
|
552
|
-
onLike:
|
|
553
|
-
onEdit:
|
|
552
|
+
onLike: ue,
|
|
553
|
+
onEdit: pe
|
|
554
554
|
}, null, 8, ["comment", "onDelete"]))), 128)),
|
|
555
|
-
d.value && !_.isInside ? (
|
|
555
|
+
d.value && !_.isInside ? (n(), C(re, {
|
|
556
556
|
key: 0,
|
|
557
|
-
onSendComment:
|
|
557
|
+
onSendComment: y[9] || (y[9] = ($) => _.$emit("reply", _.comment?.id, $)),
|
|
558
558
|
isReply: d.value,
|
|
559
|
-
"onUpdate:isReply":
|
|
559
|
+
"onUpdate:isReply": y[10] || (y[10] = ($) => d.value = $)
|
|
560
560
|
}, null, 8, ["isReply"])) : b("", !0)
|
|
561
561
|
]))
|
|
562
562
|
]);
|
|
563
563
|
};
|
|
564
564
|
}
|
|
565
|
-
}),
|
|
565
|
+
}), rt = ["id"], lt = {
|
|
566
566
|
key: 0,
|
|
567
567
|
class: "text-xl font-semibold text-gray-900 mb-4"
|
|
568
|
-
},
|
|
568
|
+
}, Q = /* @__PURE__ */ w({
|
|
569
569
|
__name: "CommentsWidget",
|
|
570
570
|
props: {
|
|
571
571
|
title: {},
|
|
@@ -581,39 +581,43 @@ const O = k("x", [
|
|
|
581
581
|
style: {}
|
|
582
582
|
},
|
|
583
583
|
emits: ["add", "reply", "like", "delete", "edit"],
|
|
584
|
-
setup(
|
|
585
|
-
const i =
|
|
586
|
-
i("
|
|
587
|
-
},
|
|
588
|
-
i("
|
|
589
|
-
},
|
|
590
|
-
i("
|
|
584
|
+
setup(l, { emit: o }) {
|
|
585
|
+
const i = l, e = o, s = (c) => {
|
|
586
|
+
i.onAddComment(c), e("add", c);
|
|
587
|
+
}, m = (c, r) => {
|
|
588
|
+
i.onLike(c, r), e("like", c, r);
|
|
589
|
+
}, u = (c, r) => {
|
|
590
|
+
i.onReply(c, r), e("reply", c, r);
|
|
591
|
+
}, p = (c, r) => {
|
|
592
|
+
i.onEdit(c, r), e("edit", c, r);
|
|
593
|
+
}, d = (c) => {
|
|
594
|
+
i.onDelete(c), e("delete", c);
|
|
591
595
|
};
|
|
592
|
-
return (
|
|
593
|
-
class: x(["mx-auto font-sans",
|
|
594
|
-
id:
|
|
595
|
-
style: z(
|
|
596
|
+
return (c, r) => (n(), a("div", {
|
|
597
|
+
class: x(["mx-auto font-sans", c.className]),
|
|
598
|
+
id: c.id,
|
|
599
|
+
style: z(c.style)
|
|
596
600
|
}, [
|
|
597
|
-
|
|
601
|
+
c.title ? (n(), a("h3", lt, f(c.title), 1)) : b("", !0),
|
|
598
602
|
t("div", {
|
|
599
|
-
class: x([
|
|
600
|
-
style: z({ maxHeight:
|
|
603
|
+
class: x([c.maxHeight ? "overflow-y-auto" : "", "space-y-3"]),
|
|
604
|
+
style: z({ maxHeight: c.maxHeight + "px" })
|
|
601
605
|
}, [
|
|
602
|
-
(
|
|
603
|
-
key:
|
|
604
|
-
comment:
|
|
605
|
-
onReply:
|
|
606
|
-
onLike:
|
|
607
|
-
onDelete:
|
|
606
|
+
(n(!0), a(D, null, L(c.comments, (h) => (n(), C(at, {
|
|
607
|
+
key: h.id,
|
|
608
|
+
comment: h,
|
|
609
|
+
onReply: u,
|
|
610
|
+
onLike: m,
|
|
611
|
+
onDelete: r[0] || (r[0] = (j) => d(j)),
|
|
608
612
|
onEdit: p
|
|
609
613
|
}, null, 8, ["comment"]))), 128))
|
|
610
614
|
], 6),
|
|
611
|
-
v(
|
|
612
|
-
onSendComment:
|
|
615
|
+
v(re, {
|
|
616
|
+
onSendComment: r[1] || (r[1] = (h) => s(h))
|
|
613
617
|
})
|
|
614
|
-
], 14,
|
|
618
|
+
], 14, rt));
|
|
615
619
|
}
|
|
616
|
-
}),
|
|
620
|
+
}), Y = /* @__PURE__ */ new Map([
|
|
617
621
|
["file", {
|
|
618
622
|
name: "File",
|
|
619
623
|
color: "bg-green-100 text-green-700 border-green-200",
|
|
@@ -622,34 +626,34 @@ const O = k("x", [
|
|
|
622
626
|
["post", {
|
|
623
627
|
name: "Post",
|
|
624
628
|
color: "bg-blue-100 text-blue-700 border-blue-200",
|
|
625
|
-
icon:
|
|
629
|
+
icon: Se
|
|
626
630
|
}],
|
|
627
631
|
["user", {
|
|
628
632
|
name: "User",
|
|
629
633
|
color: "bg-purple-100 text-purple-700 border-purple-200",
|
|
630
|
-
icon:
|
|
634
|
+
icon: Re
|
|
631
635
|
}],
|
|
632
636
|
["custom", {
|
|
633
637
|
name: "Custom",
|
|
634
638
|
color: "bg-gray-100 text-gray-700 border-gray-200",
|
|
635
|
-
icon:
|
|
639
|
+
icon: He
|
|
636
640
|
}]
|
|
637
|
-
]),
|
|
641
|
+
]), dt = { class: "mx-auto font-sans" }, ct = {
|
|
638
642
|
key: 0,
|
|
639
643
|
class: "text-xl font-semibold text-gray-900 mb-4"
|
|
640
|
-
},
|
|
644
|
+
}, ut = { class: "relative" }, pt = { class: "space-y-3" }, mt = { class: "flex-1 min-w-0 pb-2" }, ht = { class: "flex items-center gap-1.5 mb-1 mt-0.5" }, gt = { class: "relative flex items-center justify-center shrink-0 overflow-hidden rounded-full h-5 w-5 bg-gray-200" }, ft = { class: "font-medium text-xs" }, yt = { class: "text-xs text-gray-500" }, vt = { class: "space-y-1" }, bt = { class: "text-xs text-gray-700" }, xt = { class: "capitalize mr-1" }, kt = {
|
|
641
645
|
key: 0,
|
|
642
646
|
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
|
-
},
|
|
647
|
+
}, _t = {
|
|
644
648
|
key: 0,
|
|
645
649
|
class: "flex items-center gap-1 text-xs"
|
|
646
|
-
},
|
|
650
|
+
}, wt = {
|
|
647
651
|
key: 0,
|
|
648
652
|
class: "bg-red-50 text-red-600 px-1.5 py-0.5 rounded text-xs border border-red-200"
|
|
649
|
-
},
|
|
653
|
+
}, $t = {
|
|
650
654
|
key: 2,
|
|
651
655
|
class: "bg-green-50 text-green-600 px-1.5 py-0.5 rounded text-xs border border-green-200"
|
|
652
|
-
},
|
|
656
|
+
}, ee = /* @__PURE__ */ w({
|
|
653
657
|
__name: "HistoryWidget",
|
|
654
658
|
props: {
|
|
655
659
|
data: {},
|
|
@@ -659,45 +663,45 @@ const O = k("x", [
|
|
|
659
663
|
className: {},
|
|
660
664
|
style: {}
|
|
661
665
|
},
|
|
662
|
-
setup(
|
|
663
|
-
return (
|
|
664
|
-
|
|
666
|
+
setup(l) {
|
|
667
|
+
return (o, i) => (n(), a("div", dt, [
|
|
668
|
+
o.title ? (n(), a("h3", ct, f(o.title), 1)) : b("", !0),
|
|
665
669
|
t("div", {
|
|
666
|
-
class: x(
|
|
667
|
-
style: z({ maxHeight:
|
|
670
|
+
class: x(o.maxHeight ? "overflow-y-auto" : ""),
|
|
671
|
+
style: z({ maxHeight: o.maxHeight + "px" })
|
|
668
672
|
}, [
|
|
669
|
-
t("div",
|
|
673
|
+
t("div", ut, [
|
|
670
674
|
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",
|
|
672
|
-
(
|
|
675
|
+
t("div", pt, [
|
|
676
|
+
(n(!0), a(D, null, L(o.data, (e) => (n(), a("div", {
|
|
673
677
|
class: "relative flex items-start gap-2",
|
|
674
678
|
key: e?.id
|
|
675
679
|
}, [
|
|
676
680
|
t("div", {
|
|
677
|
-
class: x(`flex-shrink-0 w-6 h-6 rounded-full flex items-center justify-center border bg-white relative z-10 ${
|
|
681
|
+
class: x(`flex-shrink-0 w-6 h-6 rounded-full flex items-center justify-center border bg-white relative z-10 ${g(Y).get(e?.entityType)?.color}`)
|
|
678
682
|
}, [
|
|
679
|
-
(
|
|
683
|
+
(n(), C(T(g(Y).get(e?.entityType)?.icon), { class: "h-3 w-3" }))
|
|
680
684
|
], 2),
|
|
681
|
-
t("div",
|
|
682
|
-
t("div",
|
|
683
|
-
t("span",
|
|
684
|
-
v(
|
|
685
|
+
t("div", mt, [
|
|
686
|
+
t("div", ht, [
|
|
687
|
+
t("span", gt, [
|
|
688
|
+
v(g(Z), { class: "h-3 w-3 text-gray-500" })
|
|
685
689
|
]),
|
|
686
|
-
t("span",
|
|
687
|
-
t("span",
|
|
690
|
+
t("span", ft, f(e?.userName), 1),
|
|
691
|
+
t("span", yt, f(e?.timestamp.toLocaleTimeString("ua-UA", { hour: "2-digit", minute: "2-digit" })), 1)
|
|
688
692
|
]),
|
|
689
|
-
t("div",
|
|
690
|
-
t("div",
|
|
691
|
-
t("span",
|
|
692
|
-
e?.entityId ? (
|
|
693
|
+
t("div", vt, [
|
|
694
|
+
t("div", bt, [
|
|
695
|
+
t("span", xt, f(e?.action), 1),
|
|
696
|
+
e?.entityId ? (n(), a("span", kt, f(e?.entityId), 1)) : b("", !0)
|
|
693
697
|
]),
|
|
694
|
-
e?.changes?.[e?.entityId] ? (
|
|
695
|
-
e?.changes?.[e?.entityId]?.old ? (
|
|
696
|
-
e?.changes?.[e?.entityId]?.old && e?.changes?.[e?.entityId]?.new ? (
|
|
698
|
+
e?.changes?.[e?.entityId] ? (n(), a("div", _t, [
|
|
699
|
+
e?.changes?.[e?.entityId]?.old ? (n(), a("span", wt, f(e?.changes?.[e?.entityId]?.old), 1)) : b("", !0),
|
|
700
|
+
e?.changes?.[e?.entityId]?.old && e?.changes?.[e?.entityId]?.new ? (n(), C(g(we), {
|
|
697
701
|
key: 1,
|
|
698
702
|
class: "h-2 w-2 text-gray-400"
|
|
699
703
|
})) : b("", !0),
|
|
700
|
-
e?.changes?.[e?.entityId]?.new ? (
|
|
704
|
+
e?.changes?.[e?.entityId]?.new ? (n(), a("span", $t, f(e?.changes?.[e?.entityId]?.new), 1)) : b("", !0)
|
|
701
705
|
])) : b("", !0)
|
|
702
706
|
])
|
|
703
707
|
])
|
|
@@ -707,10 +711,10 @@ const O = k("x", [
|
|
|
707
711
|
], 6)
|
|
708
712
|
]));
|
|
709
713
|
}
|
|
710
|
-
}),
|
|
714
|
+
}), Ct = {
|
|
711
715
|
key: 0,
|
|
712
716
|
class: "text-xl font-semibold"
|
|
713
|
-
},
|
|
717
|
+
}, Mt = { class: "flex gap-1" }, Dt = /* @__PURE__ */ w({
|
|
714
718
|
__name: "FileHeader",
|
|
715
719
|
props: /* @__PURE__ */ q({
|
|
716
720
|
title: {}
|
|
@@ -719,33 +723,33 @@ const O = k("x", [
|
|
|
719
723
|
modelModifiers: {}
|
|
720
724
|
}),
|
|
721
725
|
emits: ["update:modelValue"],
|
|
722
|
-
setup(
|
|
723
|
-
const
|
|
726
|
+
setup(l) {
|
|
727
|
+
const o = W(l, "modelValue"), i = {
|
|
724
728
|
active: "bg-black text-white hover:bg-black",
|
|
725
729
|
inactive: "bg-white text-black hover:bg-gray-100"
|
|
726
730
|
};
|
|
727
|
-
return (e, s) => (
|
|
731
|
+
return (e, s) => (n(), a("div", {
|
|
728
732
|
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
733
|
}, [
|
|
730
|
-
e.title ? (
|
|
731
|
-
t("div",
|
|
734
|
+
e.title ? (n(), a("h3", Ct, f(e.title), 1)) : b("", !0),
|
|
735
|
+
t("div", Mt, [
|
|
732
736
|
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",
|
|
734
|
-
onClick: s[0] || (s[0] = (
|
|
737
|
+
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", o.value === "list" ? i.active : i.inactive]),
|
|
738
|
+
onClick: s[0] || (s[0] = (m) => o.value = "list")
|
|
735
739
|
}, [
|
|
736
|
-
v(
|
|
740
|
+
v(g(je), { class: "h-4 w-4" })
|
|
737
741
|
], 2),
|
|
738
742
|
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",
|
|
740
|
-
onClick: s[1] || (s[1] = (
|
|
743
|
+
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", o.value === "grid" ? i.active : i.inactive]),
|
|
744
|
+
onClick: s[1] || (s[1] = (m) => o.value = "grid")
|
|
741
745
|
}, [
|
|
742
|
-
v(
|
|
746
|
+
v(g(De), { class: "h-4 w-4" })
|
|
743
747
|
], 2),
|
|
744
748
|
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",
|
|
746
|
-
onClick: s[2] || (s[2] = (
|
|
749
|
+
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", o.value === "compact" ? i.active : i.inactive]),
|
|
750
|
+
onClick: s[2] || (s[2] = (m) => o.value = "compact")
|
|
747
751
|
}, [
|
|
748
|
-
v(
|
|
752
|
+
v(g(Fe), { class: "h-4 w-4" })
|
|
749
753
|
], 2)
|
|
750
754
|
])
|
|
751
755
|
], 2));
|
|
@@ -758,12 +762,12 @@ const O = k("x", [
|
|
|
758
762
|
},
|
|
759
763
|
sketch: {
|
|
760
764
|
color: "bg-gray-100 text-gray-700 border-gray-200",
|
|
761
|
-
icon:
|
|
765
|
+
icon: Me,
|
|
762
766
|
label: "SKETCH"
|
|
763
767
|
},
|
|
764
768
|
mp4: {
|
|
765
769
|
color: "bg-purple-100 text-purple-700 border-purple-200",
|
|
766
|
-
icon:
|
|
770
|
+
icon: Ae,
|
|
767
771
|
label: "VIDEO"
|
|
768
772
|
},
|
|
769
773
|
docx: {
|
|
@@ -773,12 +777,12 @@ const O = k("x", [
|
|
|
773
777
|
},
|
|
774
778
|
zip: {
|
|
775
779
|
color: "bg-orange-100 text-orange-700 border-orange-200",
|
|
776
|
-
icon:
|
|
780
|
+
icon: _e,
|
|
777
781
|
label: "ARCHIVE"
|
|
778
782
|
},
|
|
779
783
|
png: {
|
|
780
784
|
color: "bg-green-100 text-green-700 border-green-200",
|
|
781
|
-
icon:
|
|
785
|
+
icon: Ie,
|
|
782
786
|
label: "IMAGE"
|
|
783
787
|
},
|
|
784
788
|
xlsx: {
|
|
@@ -792,138 +796,138 @@ const O = k("x", [
|
|
|
792
796
|
label: "PPT"
|
|
793
797
|
}
|
|
794
798
|
};
|
|
795
|
-
function
|
|
799
|
+
function le(l, o = "en") {
|
|
796
800
|
const i = {
|
|
797
801
|
month: "short",
|
|
798
802
|
day: "numeric"
|
|
799
803
|
};
|
|
800
|
-
return new Intl.DateTimeFormat(
|
|
804
|
+
return new Intl.DateTimeFormat(o, i).format(l);
|
|
801
805
|
}
|
|
802
|
-
function
|
|
803
|
-
if (
|
|
804
|
-
const
|
|
805
|
-
return `${parseFloat((
|
|
806
|
+
function de(l) {
|
|
807
|
+
if (l === 0) return "0 B";
|
|
808
|
+
const o = 1024, i = ["B", "KB", "MB", "GB", "TB"], e = Math.floor(Math.log(l) / Math.log(o));
|
|
809
|
+
return `${parseFloat((l / Math.pow(o, e)).toFixed(1))} ${i[e]}`;
|
|
806
810
|
}
|
|
807
|
-
const
|
|
811
|
+
const Lt = { class: "space-y-0.5" }, Ht = { class: "flex-1 min-w-0 cursor-pointer" }, It = { class: "flex items-center gap-2" }, jt = { class: "font-medium text-xs truncate hover:text-blue-600" }, Tt = { class: "hidden sm:block text-xs text-gray-500 w-16 text-right" }, zt = { class: "hidden md:block text-xs text-gray-500 w-12 text-right" }, St = { class: "flex items-center gap-1" }, Vt = ["href"], Ft = ["onClick"], Rt = /* @__PURE__ */ w({
|
|
808
812
|
__name: "FileList",
|
|
809
813
|
props: {
|
|
810
814
|
files: {}
|
|
811
815
|
},
|
|
812
816
|
emits: ["delete"],
|
|
813
|
-
setup(
|
|
814
|
-
return (
|
|
815
|
-
(
|
|
817
|
+
setup(l) {
|
|
818
|
+
return (o, i) => (n(), a("div", Lt, [
|
|
819
|
+
(n(!0), a(D, null, L(o.files, (e) => (n(), a("div", {
|
|
816
820
|
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
821
|
key: e.id
|
|
818
822
|
}, [
|
|
819
823
|
t("div", {
|
|
820
|
-
class: x(["p-1 rounded",
|
|
824
|
+
class: x(["p-1 rounded", g(A)[e.type].color])
|
|
821
825
|
}, [
|
|
822
|
-
(
|
|
826
|
+
(n(), C(T(g(A)[e.type].icon), { class: "h-3 w-3" }))
|
|
823
827
|
], 2),
|
|
824
|
-
t("div",
|
|
825
|
-
t("div",
|
|
826
|
-
t("span",
|
|
828
|
+
t("div", Ht, [
|
|
829
|
+
t("div", It, [
|
|
830
|
+
t("span", jt, f(e.name), 1),
|
|
827
831
|
t("div", {
|
|
828
|
-
class: x(["inline-flex items-center rounded-full border py-0.5 font-semibold text-xs px-1",
|
|
829
|
-
},
|
|
832
|
+
class: x(["inline-flex items-center rounded-full border py-0.5 font-semibold text-xs px-1", g(A)[e.type].color])
|
|
833
|
+
}, f(e.type), 3)
|
|
830
834
|
])
|
|
831
835
|
]),
|
|
832
|
-
t("div",
|
|
833
|
-
t("div",
|
|
834
|
-
t("div",
|
|
836
|
+
t("div", Tt, f(g(de)(e.size)), 1),
|
|
837
|
+
t("div", zt, f(g(le)(e.createdAt)), 1),
|
|
838
|
+
t("div", St, [
|
|
835
839
|
t("a", {
|
|
836
840
|
href: e.path,
|
|
837
841
|
target: "_blank",
|
|
838
842
|
download: "",
|
|
839
843
|
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
844
|
}, [
|
|
841
|
-
v(
|
|
842
|
-
], 8,
|
|
845
|
+
v(g(K), { class: "h-3 w-3" })
|
|
846
|
+
], 8, Vt),
|
|
843
847
|
t("button", {
|
|
844
848
|
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
|
-
onClick: (s) =>
|
|
849
|
+
onClick: (s) => o.$emit("delete", e.id)
|
|
846
850
|
}, [
|
|
847
|
-
v(
|
|
848
|
-
], 8,
|
|
851
|
+
v(g(N), { class: "h-3 w-3" })
|
|
852
|
+
], 8, Ft)
|
|
849
853
|
])
|
|
850
854
|
]))), 128))
|
|
851
855
|
]));
|
|
852
856
|
}
|
|
853
|
-
}),
|
|
857
|
+
}), At = { class: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3" }, Et = { class: "space-y-2" }, Nt = { class: "flex justify-center items-center w-full aspect-[4/3] bg-gray-100 rounded overflow-hidden" }, Ot = { class: "space-y-1" }, Bt = ["title"], Ut = { class: "text-xs text-gray-500 text-left" }, qt = ["onClick"], Wt = /* @__PURE__ */ w({
|
|
854
858
|
__name: "FileGrid",
|
|
855
859
|
props: {
|
|
856
860
|
files: {}
|
|
857
861
|
},
|
|
858
862
|
emits: ["delete"],
|
|
859
|
-
setup(
|
|
860
|
-
return (
|
|
861
|
-
(
|
|
863
|
+
setup(l) {
|
|
864
|
+
return (o, i) => (n(), a("div", At, [
|
|
865
|
+
(n(!0), a(D, null, L(o.files, (e) => (n(), a("div", {
|
|
862
866
|
key: e.id,
|
|
863
867
|
class: "group relative border rounded-lg p-2 hover:shadow-md transition-all bg-white hover:bg-gray-50 cursor-pointer"
|
|
864
868
|
}, [
|
|
865
|
-
t("div",
|
|
866
|
-
t("div",
|
|
867
|
-
v(
|
|
869
|
+
t("div", Et, [
|
|
870
|
+
t("div", Nt, [
|
|
871
|
+
v(g(R), { class: "h-10 w-10 text-gray-500" })
|
|
868
872
|
]),
|
|
869
|
-
t("div",
|
|
873
|
+
t("div", Ot, [
|
|
870
874
|
t("h3", {
|
|
871
875
|
class: "font-medium text-xs leading-tight text-left",
|
|
872
876
|
title: e.name
|
|
873
|
-
},
|
|
874
|
-
t("p",
|
|
877
|
+
}, f(e.name), 9, Bt),
|
|
878
|
+
t("p", Ut, f(g(le)(e.createdAt)) + ", " + f(g(de)(e.size)), 1)
|
|
875
879
|
])
|
|
876
880
|
]),
|
|
877
881
|
t("a", {
|
|
878
882
|
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
|
-
onClick: (s) =>
|
|
883
|
+
onClick: (s) => o.$emit("delete", e.id)
|
|
880
884
|
}, [
|
|
881
|
-
v(
|
|
882
|
-
], 8,
|
|
885
|
+
v(g(N), { class: "h-3 w-3" })
|
|
886
|
+
], 8, qt)
|
|
883
887
|
]))), 128))
|
|
884
888
|
]));
|
|
885
889
|
}
|
|
886
|
-
}),
|
|
890
|
+
}), Pt = { class: "flex flex-wrap gap-1" }, Gt = ["title"], Kt = { class: "flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity ml-1" }, Zt = ["href"], Xt = ["onClick"], Jt = /* @__PURE__ */ w({
|
|
887
891
|
__name: "FileCompact",
|
|
888
892
|
props: {
|
|
889
893
|
files: {}
|
|
890
894
|
},
|
|
891
895
|
emits: ["delete"],
|
|
892
|
-
setup(
|
|
893
|
-
return (
|
|
894
|
-
(
|
|
896
|
+
setup(l) {
|
|
897
|
+
return (o, i) => (n(), a("div", Pt, [
|
|
898
|
+
(n(!0), a(D, null, L(o.files, (e) => (n(), a("div", {
|
|
895
899
|
key: e.id,
|
|
896
900
|
class: "group flex items-center gap-1 p-1 rounded border hover:bg-gray-50 hover:shadow-sm transition-all"
|
|
897
901
|
}, [
|
|
898
902
|
t("div", {
|
|
899
|
-
class: x(["p-0.5 rounded",
|
|
903
|
+
class: x(["p-0.5 rounded", g(A)[e.type].color])
|
|
900
904
|
}, [
|
|
901
|
-
(
|
|
905
|
+
(n(), C(T(g(A)[e.type].icon), { class: "h-3 w-3" }))
|
|
902
906
|
], 2),
|
|
903
907
|
t("span", {
|
|
904
908
|
class: "text-xs font-medium truncate max-w-24",
|
|
905
909
|
title: e.name
|
|
906
|
-
},
|
|
907
|
-
t("div",
|
|
910
|
+
}, f(e.name), 9, Gt),
|
|
911
|
+
t("div", Kt, [
|
|
908
912
|
t("a", {
|
|
909
913
|
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
914
|
href: e.path,
|
|
911
915
|
target: "_blank",
|
|
912
916
|
download: ""
|
|
913
917
|
}, [
|
|
914
|
-
v(
|
|
915
|
-
], 8,
|
|
918
|
+
v(g(K), { class: "h-2.5 w-2.5" })
|
|
919
|
+
], 8, Zt),
|
|
916
920
|
t("button", {
|
|
917
921
|
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
|
-
onClick: (s) =>
|
|
922
|
+
onClick: (s) => o.$emit("delete", e.id)
|
|
919
923
|
}, [
|
|
920
|
-
v(
|
|
921
|
-
], 8,
|
|
924
|
+
v(g(N), { class: "h-2.5 w-2.5" })
|
|
925
|
+
], 8, Xt)
|
|
922
926
|
])
|
|
923
927
|
]))), 128))
|
|
924
928
|
]));
|
|
925
929
|
}
|
|
926
|
-
}),
|
|
930
|
+
}), Qt = { class: "mx-auto font-sans" }, te = /* @__PURE__ */ w({
|
|
927
931
|
__name: "FilesWidget",
|
|
928
932
|
props: {
|
|
929
933
|
title: {},
|
|
@@ -932,178 +936,178 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
932
936
|
maxHeight: {}
|
|
933
937
|
},
|
|
934
938
|
emits: ["delete"],
|
|
935
|
-
setup(
|
|
936
|
-
const
|
|
937
|
-
return (e, s) => (
|
|
938
|
-
v(
|
|
939
|
+
setup(l) {
|
|
940
|
+
const o = l, i = M("list");
|
|
941
|
+
return (e, s) => (n(), a("div", Qt, [
|
|
942
|
+
v(Dt, {
|
|
939
943
|
modelValue: i.value,
|
|
940
|
-
"onUpdate:modelValue": s[0] || (s[0] = (
|
|
941
|
-
title:
|
|
944
|
+
"onUpdate:modelValue": s[0] || (s[0] = (m) => i.value = m),
|
|
945
|
+
title: o.title
|
|
942
946
|
}, null, 8, ["modelValue", "title"]),
|
|
943
947
|
t("div", {
|
|
944
948
|
class: x(e.maxHeight ? "overflow-y-auto" : ""),
|
|
945
949
|
style: z({ maxHeight: e.maxHeight + "px" })
|
|
946
950
|
}, [
|
|
947
|
-
i.value === "list" ? (
|
|
951
|
+
i.value === "list" ? (n(), C(Rt, {
|
|
948
952
|
key: 0,
|
|
949
|
-
onDelete: s[1] || (s[1] = (
|
|
950
|
-
files:
|
|
953
|
+
onDelete: s[1] || (s[1] = (m) => e.$emit("delete", m)),
|
|
954
|
+
files: o.files
|
|
951
955
|
}, null, 8, ["files"])) : b("", !0),
|
|
952
|
-
i.value === "grid" ? (
|
|
956
|
+
i.value === "grid" ? (n(), C(Wt, {
|
|
953
957
|
key: 1,
|
|
954
|
-
onDelete: s[2] || (s[2] = (
|
|
955
|
-
files:
|
|
958
|
+
onDelete: s[2] || (s[2] = (m) => e.$emit("delete", m)),
|
|
959
|
+
files: o.files
|
|
956
960
|
}, null, 8, ["files"])) : b("", !0),
|
|
957
|
-
i.value === "compact" ? (
|
|
961
|
+
i.value === "compact" ? (n(), C(Jt, {
|
|
958
962
|
key: 2,
|
|
959
|
-
onDelete: s[3] || (s[3] = (
|
|
960
|
-
files:
|
|
963
|
+
onDelete: s[3] || (s[3] = (m) => e.$emit("delete", m)),
|
|
964
|
+
files: o.files
|
|
961
965
|
}, null, 8, ["files"])) : b("", !0)
|
|
962
966
|
], 6)
|
|
963
967
|
]));
|
|
964
968
|
}
|
|
965
|
-
}),
|
|
969
|
+
}), Yt = ["onClick"], es = /* @__PURE__ */ w({
|
|
966
970
|
__name: "CopyNotification",
|
|
967
|
-
setup(
|
|
971
|
+
setup(l, { expose: o }) {
|
|
968
972
|
const i = M([]);
|
|
969
973
|
let e = 1;
|
|
970
974
|
const s = () => {
|
|
971
975
|
if (i.value.length >= 10) {
|
|
972
|
-
const
|
|
973
|
-
clearTimeout(
|
|
976
|
+
const p = i.value[0];
|
|
977
|
+
clearTimeout(p.timer), i.value.shift();
|
|
974
978
|
}
|
|
975
|
-
const
|
|
979
|
+
const u = {
|
|
976
980
|
id: e++,
|
|
977
981
|
timer: setTimeout(() => {
|
|
978
|
-
|
|
982
|
+
m(u.id);
|
|
979
983
|
}, 1500)
|
|
980
984
|
};
|
|
981
|
-
i.value.push(
|
|
982
|
-
},
|
|
983
|
-
const
|
|
984
|
-
if (
|
|
985
|
-
const d = i.value[
|
|
986
|
-
clearTimeout(d.timer), i.value.splice(
|
|
985
|
+
i.value.push(u);
|
|
986
|
+
}, m = (u) => {
|
|
987
|
+
const p = i.value.findIndex((d) => d.id === u);
|
|
988
|
+
if (p !== -1) {
|
|
989
|
+
const d = i.value[p];
|
|
990
|
+
clearTimeout(d.timer), i.value.splice(p, 1);
|
|
987
991
|
}
|
|
988
992
|
};
|
|
989
|
-
return
|
|
993
|
+
return o({
|
|
990
994
|
addNotification: s
|
|
991
995
|
}), G(() => {
|
|
992
|
-
i.value.forEach((
|
|
993
|
-
clearTimeout(
|
|
996
|
+
i.value.forEach((u) => {
|
|
997
|
+
clearTimeout(u.timer);
|
|
994
998
|
});
|
|
995
|
-
}), (
|
|
996
|
-
v(
|
|
999
|
+
}), (u, p) => (n(), C(ie, { to: "body" }, [
|
|
1000
|
+
v(he, {
|
|
997
1001
|
name: "notification",
|
|
998
1002
|
tag: "div",
|
|
999
1003
|
class: "fixed top-4 right-4 z-50 space-y-2"
|
|
1000
1004
|
}, {
|
|
1001
|
-
default:
|
|
1002
|
-
(
|
|
1005
|
+
default: ge(() => [
|
|
1006
|
+
(n(!0), a(D, null, L(i.value, (d) => (n(), a("div", {
|
|
1003
1007
|
key: d.id,
|
|
1004
1008
|
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
1009
|
}, [
|
|
1006
|
-
v(
|
|
1007
|
-
|
|
1010
|
+
v(g($e), { class: "h-5 w-5 text-green-100 flex-shrink-0" }),
|
|
1011
|
+
p[0] || (p[0] = t("div", { class: "flex-1" }, [
|
|
1008
1012
|
t("p", { class: "font-medium text-sm" }, "Ссылка скопирована!"),
|
|
1009
1013
|
t("p", { class: "text-xs text-green-100 opacity-90" }, "Файл добавлен в буфер обмена")
|
|
1010
1014
|
], -1)),
|
|
1011
1015
|
t("button", {
|
|
1012
|
-
onClick: (
|
|
1016
|
+
onClick: (c) => m(d.id),
|
|
1013
1017
|
class: "text-green-100 hover:text-white transition-colors flex-shrink-0"
|
|
1014
1018
|
}, [
|
|
1015
|
-
v(
|
|
1016
|
-
], 8,
|
|
1019
|
+
v(g(O), { class: "h-4 w-4" })
|
|
1020
|
+
], 8, Yt)
|
|
1017
1021
|
]))), 128))
|
|
1018
1022
|
]),
|
|
1019
1023
|
_: 1
|
|
1020
1024
|
})
|
|
1021
1025
|
]));
|
|
1022
1026
|
}
|
|
1023
|
-
}), S = (
|
|
1024
|
-
const i =
|
|
1025
|
-
for (const [e, s] of
|
|
1027
|
+
}), S = (l, o) => {
|
|
1028
|
+
const i = l.__vccOpts || l;
|
|
1029
|
+
for (const [e, s] of o)
|
|
1026
1030
|
i[e] = s;
|
|
1027
1031
|
return i;
|
|
1028
|
-
},
|
|
1032
|
+
}, ce = /* @__PURE__ */ S(es, [["__scopeId", "data-v-7b0d3ace"]]), ts = { class: "fixed inset-0 z-50 bg-black/80" }, ss = { 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" }, os = { class: "flex flex-col space-y-1.5 text-center sm:text-left p-4 pb-2" }, ns = { class: "flex items-center justify-between" }, is = { class: "flex items-center gap-2" }, as = { class: "tracking-tight text-base font-medium" }, rs = { class: "p-4 pt-0" }, ls = { class: "flex flex-col items-center" }, ds = ["src", "alt"], cs = { class: "mt-3 flex items-center gap-4 text-sm text-gray-600" }, us = { class: "mt-3 flex gap-2" }, ps = /* @__PURE__ */ w({
|
|
1029
1033
|
__name: "GalleryModal",
|
|
1030
1034
|
props: {
|
|
1031
1035
|
item: {}
|
|
1032
1036
|
},
|
|
1033
1037
|
emits: ["close"],
|
|
1034
|
-
setup(
|
|
1035
|
-
const
|
|
1038
|
+
setup(l) {
|
|
1039
|
+
const o = M(), i = (u) => new Date(u).toLocaleDateString("uk-UA", {
|
|
1036
1040
|
day: "2-digit",
|
|
1037
1041
|
month: "2-digit",
|
|
1038
1042
|
year: "numeric"
|
|
1039
|
-
}), e = (
|
|
1040
|
-
navigator.clipboard.writeText(
|
|
1041
|
-
},
|
|
1043
|
+
}), e = (u) => u >= 1024 * 1024 * 1024 ? (u / (1024 * 1024 * 1024)).toFixed(2) + " GB" : u >= 1024 * 1024 ? (u / (1024 * 1024)).toFixed(2) + " MB" : u >= 1024 ? (u / 1024).toFixed(2) + " KB" : u + " B", s = (u) => {
|
|
1044
|
+
navigator.clipboard.writeText(u), o.value?.addNotification();
|
|
1045
|
+
}, m = async (u, p) => {
|
|
1042
1046
|
try {
|
|
1043
|
-
const
|
|
1044
|
-
|
|
1047
|
+
const c = await (await fetch(u)).blob(), r = window.URL.createObjectURL(c), h = document.createElement("a");
|
|
1048
|
+
h.href = r, h.download = p, document.body.appendChild(h), h.click(), window.URL.revokeObjectURL(r), document.body.removeChild(h);
|
|
1045
1049
|
} catch (d) {
|
|
1046
1050
|
console.error("Download failed:", d), alert("Download failed. Please try opening the image in a new tab.");
|
|
1047
1051
|
}
|
|
1048
1052
|
};
|
|
1049
|
-
return (
|
|
1050
|
-
t("div",
|
|
1051
|
-
t("div",
|
|
1052
|
-
t("div",
|
|
1053
|
-
t("div",
|
|
1054
|
-
t("h2",
|
|
1053
|
+
return (u, p) => (n(), a("div", ts, [
|
|
1054
|
+
t("div", ss, [
|
|
1055
|
+
t("div", os, [
|
|
1056
|
+
t("div", ns, [
|
|
1057
|
+
t("div", is, [
|
|
1058
|
+
t("h2", as, f(u.item.name), 1)
|
|
1055
1059
|
])
|
|
1056
1060
|
])
|
|
1057
1061
|
]),
|
|
1058
|
-
t("div",
|
|
1059
|
-
t("div",
|
|
1062
|
+
t("div", rs, [
|
|
1063
|
+
t("div", ls, [
|
|
1060
1064
|
t("img", {
|
|
1061
|
-
src:
|
|
1062
|
-
alt:
|
|
1065
|
+
src: u.item.path,
|
|
1066
|
+
alt: u.item.name,
|
|
1063
1067
|
class: "max-w-full max-h-[60vh] object-contain rounded border"
|
|
1064
|
-
}, null, 8,
|
|
1065
|
-
t("div", ds, [
|
|
1066
|
-
t("span", null, "Size: " + h(e(l.item.size)), 1),
|
|
1067
|
-
u[3] || (u[3] = t("span", null, "•", -1)),
|
|
1068
|
-
t("span", null, "Date: " + h(i(l.item.createdAt)), 1)
|
|
1069
|
-
]),
|
|
1068
|
+
}, null, 8, ds),
|
|
1070
1069
|
t("div", cs, [
|
|
1070
|
+
t("span", null, "Size: " + f(e(u.item.size)), 1),
|
|
1071
|
+
p[3] || (p[3] = t("span", null, "•", -1)),
|
|
1072
|
+
t("span", null, "Date: " + f(i(u.item.createdAt)), 1)
|
|
1073
|
+
]),
|
|
1074
|
+
t("div", us, [
|
|
1071
1075
|
t("button", {
|
|
1072
|
-
onClick:
|
|
1076
|
+
onClick: p[0] || (p[0] = (d) => m(u.item.path, u.item.name)),
|
|
1073
1077
|
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
1078
|
}, [
|
|
1075
|
-
v(
|
|
1076
|
-
|
|
1079
|
+
v(g(K), { class: "h-3 w-3 mr-1" }),
|
|
1080
|
+
p[4] || (p[4] = H(" Download ", -1))
|
|
1077
1081
|
]),
|
|
1078
1082
|
t("button", {
|
|
1079
|
-
onClick:
|
|
1083
|
+
onClick: p[1] || (p[1] = (d) => s(u.item.path)),
|
|
1080
1084
|
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
1085
|
}, [
|
|
1082
|
-
v(
|
|
1083
|
-
|
|
1086
|
+
v(g(ze), { class: "h-3 w-3 mr-1" }),
|
|
1087
|
+
p[5] || (p[5] = H(" Share ", -1))
|
|
1084
1088
|
])
|
|
1085
1089
|
])
|
|
1086
1090
|
])
|
|
1087
1091
|
]),
|
|
1088
1092
|
t("button", {
|
|
1089
1093
|
type: "button",
|
|
1090
|
-
onClick:
|
|
1094
|
+
onClick: p[2] || (p[2] = (d) => u.$emit("close")),
|
|
1091
1095
|
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
1096
|
}, [
|
|
1093
|
-
v(
|
|
1094
|
-
|
|
1097
|
+
v(g(O), { class: "h-4 w-4" }),
|
|
1098
|
+
p[6] || (p[6] = t("span", { class: "sr-only" }, "Close", -1))
|
|
1095
1099
|
])
|
|
1096
1100
|
]),
|
|
1097
|
-
v(
|
|
1101
|
+
v(ce, {
|
|
1098
1102
|
ref_key: "copyNotificationRef",
|
|
1099
|
-
ref:
|
|
1103
|
+
ref: o
|
|
1100
1104
|
}, null, 512)
|
|
1101
1105
|
]));
|
|
1102
1106
|
}
|
|
1103
|
-
}),
|
|
1107
|
+
}), ms = {
|
|
1104
1108
|
key: 0,
|
|
1105
1109
|
class: "text-xl font-semibold text-gray-900 mb-4"
|
|
1106
|
-
},
|
|
1110
|
+
}, hs = ["onClick"], gs = ["src", "alt"], se = /* @__PURE__ */ w({
|
|
1107
1111
|
__name: "GalleryWidget",
|
|
1108
1112
|
props: {
|
|
1109
1113
|
title: {},
|
|
@@ -1114,65 +1118,65 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1114
1118
|
className: {},
|
|
1115
1119
|
style: {}
|
|
1116
1120
|
},
|
|
1117
|
-
setup(
|
|
1118
|
-
const
|
|
1119
|
-
let
|
|
1120
|
-
const
|
|
1121
|
-
const
|
|
1122
|
-
return
|
|
1121
|
+
setup(l) {
|
|
1122
|
+
const o = l, i = M(!1), e = M(null), s = M(), m = M(0);
|
|
1123
|
+
let u = null;
|
|
1124
|
+
const p = I(() => {
|
|
1125
|
+
const r = o.columns || 4;
|
|
1126
|
+
return m.value >= 1440 ? r : m.value >= 1024 ? Math.max(1, r - 1) : m.value >= 768 ? Math.max(1, r - 2) : m.value >= 640 ? Math.max(1, r - 3) : 1;
|
|
1123
1127
|
}), d = () => {
|
|
1124
|
-
s.value && (
|
|
1128
|
+
s.value && (m.value = s.value.offsetWidth);
|
|
1125
1129
|
};
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
s.value && (
|
|
1129
|
-
for (const
|
|
1130
|
-
|
|
1131
|
-
}),
|
|
1130
|
+
ne(() => {
|
|
1131
|
+
fe(() => {
|
|
1132
|
+
s.value && (u = new ResizeObserver((r) => {
|
|
1133
|
+
for (const h of r)
|
|
1134
|
+
h.target === s.value && (m.value = h.contentRect.width);
|
|
1135
|
+
}), u.observe(s.value), d());
|
|
1132
1136
|
});
|
|
1133
1137
|
}), G(() => {
|
|
1134
|
-
|
|
1138
|
+
u && u.disconnect();
|
|
1135
1139
|
});
|
|
1136
|
-
const
|
|
1137
|
-
e.value =
|
|
1140
|
+
const c = (r) => {
|
|
1141
|
+
e.value = r, i.value = !0;
|
|
1138
1142
|
};
|
|
1139
|
-
return (
|
|
1143
|
+
return (r, h) => (n(), a("div", {
|
|
1140
1144
|
class: "w-full mx-auto font-sans",
|
|
1141
1145
|
ref_key: "containerRef",
|
|
1142
1146
|
ref: s
|
|
1143
1147
|
}, [
|
|
1144
|
-
|
|
1148
|
+
r.title ? (n(), a("h3", ms, f(r.title), 1)) : b("", !0),
|
|
1145
1149
|
t("div", {
|
|
1146
|
-
class: x(
|
|
1147
|
-
style: z({ maxHeight:
|
|
1150
|
+
class: x(r.maxHeight ? "overflow-y-auto" : ""),
|
|
1151
|
+
style: z({ maxHeight: r.maxHeight + "px" })
|
|
1148
1152
|
}, [
|
|
1149
1153
|
t("div", {
|
|
1150
|
-
style: z({ columns:
|
|
1154
|
+
style: z({ columns: p.value + " auto", gap: "12px" }),
|
|
1151
1155
|
class: "space-y-3"
|
|
1152
1156
|
}, [
|
|
1153
|
-
(
|
|
1154
|
-
key:
|
|
1155
|
-
onClick: (X) =>
|
|
1157
|
+
(n(!0), a(D, null, L(r.items, (j) => (n(), a("div", {
|
|
1158
|
+
key: j.id,
|
|
1159
|
+
onClick: (X) => c(j),
|
|
1156
1160
|
class: "group relative break-inside-avoid bg-gray-200 rounded-lg overflow-hidden cursor-pointer hover:shadow-md transition-all mb-3"
|
|
1157
1161
|
}, [
|
|
1158
1162
|
t("img", {
|
|
1159
|
-
src:
|
|
1160
|
-
alt:
|
|
1163
|
+
src: j.path,
|
|
1164
|
+
alt: j.name,
|
|
1161
1165
|
class: "w-full h-auto min-h-40 rounded-md object-contain"
|
|
1162
|
-
}, null, 8,
|
|
1163
|
-
|
|
1166
|
+
}, null, 8, gs),
|
|
1167
|
+
h[1] || (h[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
1168
|
t("h3", { class: "text-white font-medium text-base leading-tight mb-1" }, "Mountain Landscape"),
|
|
1165
1169
|
t("p", { class: "text-white/90 text-sm" }, "2.4 MB")
|
|
1166
1170
|
], -1)),
|
|
1167
|
-
|
|
1168
|
-
], 8,
|
|
1171
|
+
h[2] || (h[2] = t("div", { class: "absolute inset-0 bg-black/0 group-hover:bg-black/10 transition-colors duration-200" }, null, -1))
|
|
1172
|
+
], 8, hs))), 128))
|
|
1169
1173
|
], 4)
|
|
1170
1174
|
], 6),
|
|
1171
|
-
(
|
|
1172
|
-
i.value && e.value ? (
|
|
1175
|
+
(n(), C(ie, { to: "body" }, [
|
|
1176
|
+
i.value && e.value ? (n(), C(ps, {
|
|
1173
1177
|
key: 0,
|
|
1174
1178
|
item: e.value,
|
|
1175
|
-
onClose:
|
|
1179
|
+
onClose: h[0] || (h[0] = (j) => i.value = !1)
|
|
1176
1180
|
}, null, 8, ["item"])) : b("", !0)
|
|
1177
1181
|
]))
|
|
1178
1182
|
], 512));
|
|
@@ -1196,84 +1200,84 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1196
1200
|
className: {},
|
|
1197
1201
|
style: {}
|
|
1198
1202
|
},
|
|
1199
|
-
setup(
|
|
1200
|
-
const
|
|
1201
|
-
[`view-${
|
|
1202
|
-
})),
|
|
1203
|
-
const
|
|
1204
|
-
return d.count && (
|
|
1205
|
-
},
|
|
1203
|
+
setup(l) {
|
|
1204
|
+
const o = l, i = M(0), e = I(() => o.panels && o.panels.length > 0 ? o.panels : o.data && Array.isArray(o.data) ? o.data.filter((c) => c.type === "tabs")[0]?.items || [] : []), s = I(() => o.panels && o.panels.length > 0 ? o.panels : o.data && Array.isArray(o.data) ? o.data : []), m = I(() => ({
|
|
1205
|
+
[`view-${o.view}`]: !0
|
|
1206
|
+
})), u = (d) => {
|
|
1207
|
+
const c = {};
|
|
1208
|
+
return d.count && (c.count = d.count), d.col && (c.col = d.col), o.data && d.name && Object.assign(c, o.data[d.name]), c;
|
|
1209
|
+
}, p = (d) => d.width ? {
|
|
1206
1210
|
gridColumn: `span ${d.width}`
|
|
1207
1211
|
} : {};
|
|
1208
|
-
return (d,
|
|
1209
|
-
class: x(["bg-white rounded-lg shadow-sm border border-gray-200",
|
|
1212
|
+
return (d, c) => (n(), a("div", {
|
|
1213
|
+
class: x(["bg-white rounded-lg shadow-sm border border-gray-200", m.value])
|
|
1210
1214
|
}, [
|
|
1211
|
-
d.view === "tab" ? (
|
|
1215
|
+
d.view === "tab" ? (n(), a("div", fs, [
|
|
1212
1216
|
t("div", ys, [
|
|
1213
|
-
(
|
|
1214
|
-
key:
|
|
1215
|
-
onClick: (
|
|
1217
|
+
(n(!0), a(D, null, L(e.value, (r, h) => (n(), a("button", {
|
|
1218
|
+
key: r.name || h,
|
|
1219
|
+
onClick: (j) => i.value = h,
|
|
1216
1220
|
class: x([
|
|
1217
1221
|
"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 ===
|
|
1222
|
+
{ "text-blue-600 bg-white border-b-2 border-blue-600": i.value === h }
|
|
1219
1223
|
])
|
|
1220
|
-
},
|
|
1224
|
+
}, f(r.title || r.label || r.name || `Tab ${h + 1}`), 11, vs))), 128))
|
|
1221
1225
|
]),
|
|
1222
1226
|
t("div", bs, [
|
|
1223
|
-
(
|
|
1224
|
-
key:
|
|
1227
|
+
(n(!0), a(D, null, L(e.value, (r, h) => P((n(), a("div", {
|
|
1228
|
+
key: r.name || h,
|
|
1225
1229
|
class: x([
|
|
1226
1230
|
"min-h-[400px] w-full",
|
|
1227
|
-
`col-span-${
|
|
1231
|
+
`col-span-${r.col || 12}`
|
|
1228
1232
|
])
|
|
1229
1233
|
}, [
|
|
1230
|
-
|
|
1234
|
+
r.html ? (n(), a("div", {
|
|
1231
1235
|
key: 0,
|
|
1232
|
-
innerHTML:
|
|
1236
|
+
innerHTML: r.html,
|
|
1233
1237
|
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-${
|
|
1238
|
+
}, null, 8, xs)) : d.$slots[`tab-${h}`] ? F(d.$slots, `tab-${h}`, {
|
|
1235
1239
|
key: 1,
|
|
1236
|
-
item:
|
|
1240
|
+
item: r,
|
|
1237
1241
|
data: d.data
|
|
1238
|
-
}) :
|
|
1242
|
+
}) : r.component ? (n(), C(T(r.component), U({
|
|
1239
1243
|
key: 2,
|
|
1240
1244
|
ref_for: !0
|
|
1241
|
-
},
|
|
1245
|
+
}, u(r), { class: "w-full h-full" }), null, 16)) : F(d.$slots, r.slot || `tab-${h}`, {
|
|
1242
1246
|
key: 3,
|
|
1243
|
-
item:
|
|
1247
|
+
item: r,
|
|
1244
1248
|
data: d.data
|
|
1245
1249
|
})
|
|
1246
1250
|
], 2)), [
|
|
1247
|
-
[
|
|
1251
|
+
[ye, i.value === h]
|
|
1248
1252
|
])), 128))
|
|
1249
1253
|
])
|
|
1250
|
-
])) : (
|
|
1254
|
+
])) : (n(), a("div", ks, [
|
|
1251
1255
|
t("div", _s, [
|
|
1252
|
-
(
|
|
1253
|
-
key:
|
|
1256
|
+
(n(!0), a(D, null, L(s.value, (r, h) => (n(), a("div", {
|
|
1257
|
+
key: r.name || h,
|
|
1254
1258
|
class: x([
|
|
1255
1259
|
"bg-gray-50 rounded-lg p-4 min-h-[300px]",
|
|
1256
|
-
`col-span-${
|
|
1260
|
+
`col-span-${r.col || 12}`
|
|
1257
1261
|
]),
|
|
1258
|
-
style: z(
|
|
1262
|
+
style: z(p(r))
|
|
1259
1263
|
}, [
|
|
1260
|
-
|
|
1261
|
-
t("h3", $s,
|
|
1264
|
+
r.title || r.label ? (n(), a("div", ws, [
|
|
1265
|
+
t("h3", $s, f(r.title || r.label), 1)
|
|
1262
1266
|
])) : b("", !0),
|
|
1263
|
-
|
|
1267
|
+
r.html ? (n(), a("div", {
|
|
1264
1268
|
key: 1,
|
|
1265
|
-
innerHTML:
|
|
1269
|
+
innerHTML: r.html,
|
|
1266
1270
|
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-${
|
|
1271
|
+
}, null, 8, Cs)) : d.$slots[`panel-${h}`] ? F(d.$slots, `panel-${h}`, {
|
|
1268
1272
|
key: 2,
|
|
1269
|
-
item:
|
|
1273
|
+
item: r,
|
|
1270
1274
|
data: d.data
|
|
1271
|
-
}) :
|
|
1275
|
+
}) : r.component ? (n(), C(T(r.component), U({
|
|
1272
1276
|
key: 3,
|
|
1273
1277
|
ref_for: !0
|
|
1274
|
-
},
|
|
1278
|
+
}, u(r), { class: "w-full h-full" }), null, 16)) : F(d.$slots, r.slot || `panel-${h}`, {
|
|
1275
1279
|
key: 4,
|
|
1276
|
-
item:
|
|
1280
|
+
item: r,
|
|
1277
1281
|
data: d.data
|
|
1278
1282
|
})
|
|
1279
1283
|
], 6))), 128))
|
|
@@ -1281,7 +1285,7 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1281
1285
|
]))
|
|
1282
1286
|
], 2));
|
|
1283
1287
|
}
|
|
1284
|
-
}),
|
|
1288
|
+
}), Ds = ["innerHTML"], Ls = /* @__PURE__ */ w({
|
|
1285
1289
|
__name: "CardItem",
|
|
1286
1290
|
props: {
|
|
1287
1291
|
name: {},
|
|
@@ -1295,35 +1299,35 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1295
1299
|
className: {},
|
|
1296
1300
|
style: {}
|
|
1297
1301
|
},
|
|
1298
|
-
setup(
|
|
1299
|
-
const
|
|
1300
|
-
[`col-span-${
|
|
1301
|
-
})), e =
|
|
1302
|
+
setup(l) {
|
|
1303
|
+
const o = l, i = I(() => ({
|
|
1304
|
+
[`col-span-${o.col}`]: !0
|
|
1305
|
+
})), e = I(() => {
|
|
1302
1306
|
const s = {};
|
|
1303
1307
|
return s.col && (s.col = s.col), s;
|
|
1304
1308
|
});
|
|
1305
|
-
return (s,
|
|
1309
|
+
return (s, m) => (n(), a("div", {
|
|
1306
1310
|
class: x(["w-full", i.value])
|
|
1307
1311
|
}, [
|
|
1308
|
-
s.html ? (
|
|
1312
|
+
s.html ? (n(), a("div", {
|
|
1309
1313
|
key: 0,
|
|
1310
1314
|
innerHTML: s.html,
|
|
1311
1315
|
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,
|
|
1316
|
+
}, null, 8, Ds)) : s.component ? (n(), C(T(s.component), U({ key: 1 }, e.value, { class: "w-full" }), null, 16)) : F(s.$slots, "default", { key: 2 })
|
|
1313
1317
|
], 2));
|
|
1314
1318
|
}
|
|
1315
|
-
}), Hs = { class: "text-value" },
|
|
1319
|
+
}), Hs = { class: "text-value" }, Is = { class: "text-sm text-gray-900" }, js = /* @__PURE__ */ w({
|
|
1316
1320
|
__name: "TextValue",
|
|
1317
1321
|
props: {
|
|
1318
1322
|
item: {}
|
|
1319
1323
|
},
|
|
1320
|
-
setup(
|
|
1321
|
-
const
|
|
1322
|
-
const e =
|
|
1324
|
+
setup(l) {
|
|
1325
|
+
const o = l, i = I(() => {
|
|
1326
|
+
const e = o.item.value;
|
|
1323
1327
|
return typeof e == "boolean" ? e ? "Так" : "Ні" : e == null ? "—" : String(e);
|
|
1324
1328
|
});
|
|
1325
|
-
return (e, s) => (
|
|
1326
|
-
t("span",
|
|
1329
|
+
return (e, s) => (n(), a("div", Hs, [
|
|
1330
|
+
t("span", Is, f(i.value), 1)
|
|
1327
1331
|
]));
|
|
1328
1332
|
}
|
|
1329
1333
|
}), Ts = /* @__PURE__ */ S(js, [["__scopeId", "data-v-c14550b7"]]), zs = { class: "link-value" }, Ss = ["href"], Vs = /* @__PURE__ */ w({
|
|
@@ -1331,9 +1335,9 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1331
1335
|
props: {
|
|
1332
1336
|
item: {}
|
|
1333
1337
|
},
|
|
1334
|
-
setup(
|
|
1335
|
-
const
|
|
1336
|
-
const e = String(
|
|
1338
|
+
setup(l) {
|
|
1339
|
+
const o = l, i = I(() => {
|
|
1340
|
+
const e = String(o.item.value);
|
|
1337
1341
|
try {
|
|
1338
1342
|
const s = new URL(e);
|
|
1339
1343
|
return s.hostname + s.pathname;
|
|
@@ -1341,14 +1345,14 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1341
1345
|
return e;
|
|
1342
1346
|
}
|
|
1343
1347
|
});
|
|
1344
|
-
return (e, s) => (
|
|
1348
|
+
return (e, s) => (n(), a("div", zs, [
|
|
1345
1349
|
t("a", {
|
|
1346
1350
|
href: String(e.item.value),
|
|
1347
1351
|
target: "_blank",
|
|
1348
1352
|
rel: "noopener noreferrer",
|
|
1349
1353
|
class: "text-blue-600 hover:text-blue-800 underline text-sm"
|
|
1350
1354
|
}, [
|
|
1351
|
-
H(
|
|
1355
|
+
H(f(i.value) + " ", 1),
|
|
1352
1356
|
s[0] || (s[0] = t("i", { class: "fas fa-external-link-alt ml-1 text-xs" }, null, -1))
|
|
1353
1357
|
], 8, Ss)
|
|
1354
1358
|
]));
|
|
@@ -1358,9 +1362,9 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1358
1362
|
props: {
|
|
1359
1363
|
item: {}
|
|
1360
1364
|
},
|
|
1361
|
-
setup(
|
|
1362
|
-
const
|
|
1363
|
-
const e =
|
|
1365
|
+
setup(l) {
|
|
1366
|
+
const o = l, i = I(() => {
|
|
1367
|
+
const e = o.item.value;
|
|
1364
1368
|
if (e instanceof Date)
|
|
1365
1369
|
return e.toLocaleDateString("uk-UA", {
|
|
1366
1370
|
year: "numeric",
|
|
@@ -1382,8 +1386,8 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1382
1386
|
}
|
|
1383
1387
|
return String(e);
|
|
1384
1388
|
});
|
|
1385
|
-
return (e, s) => (
|
|
1386
|
-
t("span", As,
|
|
1389
|
+
return (e, s) => (n(), a("div", Rs, [
|
|
1390
|
+
t("span", As, f(i.value), 1)
|
|
1387
1391
|
]));
|
|
1388
1392
|
}
|
|
1389
1393
|
}), Ns = /* @__PURE__ */ S(Es, [["__scopeId", "data-v-b9600618"]]), Os = { class: "status-value" }, Bs = {
|
|
@@ -1394,9 +1398,9 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1394
1398
|
props: {
|
|
1395
1399
|
item: {}
|
|
1396
1400
|
},
|
|
1397
|
-
setup(
|
|
1398
|
-
const
|
|
1399
|
-
switch (String(
|
|
1401
|
+
setup(l) {
|
|
1402
|
+
const o = l, i = I(() => {
|
|
1403
|
+
switch (String(o.item.value).toLowerCase()) {
|
|
1400
1404
|
case "active":
|
|
1401
1405
|
case "активний":
|
|
1402
1406
|
case "успішно":
|
|
@@ -1418,8 +1422,8 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1418
1422
|
default:
|
|
1419
1423
|
return "bg-blue-100 text-blue-800";
|
|
1420
1424
|
}
|
|
1421
|
-
}), e =
|
|
1422
|
-
switch (String(
|
|
1425
|
+
}), e = I(() => {
|
|
1426
|
+
switch (String(o.item.value).toLowerCase()) {
|
|
1423
1427
|
case "active":
|
|
1424
1428
|
case "активний":
|
|
1425
1429
|
case "успішно":
|
|
@@ -1442,16 +1446,16 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1442
1446
|
return "fas fa-info-circle";
|
|
1443
1447
|
}
|
|
1444
1448
|
});
|
|
1445
|
-
return (s,
|
|
1449
|
+
return (s, m) => (n(), a("div", Os, [
|
|
1446
1450
|
t("span", {
|
|
1447
1451
|
class: x(["inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium", i.value])
|
|
1448
1452
|
}, [
|
|
1449
|
-
e.value ? (
|
|
1453
|
+
e.value ? (n(), a("span", Bs, [
|
|
1450
1454
|
t("i", {
|
|
1451
1455
|
class: x(e.value)
|
|
1452
1456
|
}, null, 2)
|
|
1453
1457
|
])) : b("", !0),
|
|
1454
|
-
H(" " +
|
|
1458
|
+
H(" " + f(String(s.item.value)), 1)
|
|
1455
1459
|
], 2)
|
|
1456
1460
|
]));
|
|
1457
1461
|
}
|
|
@@ -1460,13 +1464,13 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1460
1464
|
props: {
|
|
1461
1465
|
item: {}
|
|
1462
1466
|
},
|
|
1463
|
-
setup(
|
|
1464
|
-
return (
|
|
1465
|
-
F(
|
|
1466
|
-
item:
|
|
1467
|
-
value:
|
|
1467
|
+
setup(l) {
|
|
1468
|
+
return (o, i) => (n(), a("div", Ws, [
|
|
1469
|
+
F(o.$slots, "default", {
|
|
1470
|
+
item: o.item,
|
|
1471
|
+
value: o.item.value
|
|
1468
1472
|
}, () => [
|
|
1469
|
-
t("span", Ps,
|
|
1473
|
+
t("span", Ps, f(String(o.item.value)), 1)
|
|
1470
1474
|
], !0)
|
|
1471
1475
|
]));
|
|
1472
1476
|
}
|
|
@@ -1495,8 +1499,8 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1495
1499
|
className: {},
|
|
1496
1500
|
style: {}
|
|
1497
1501
|
},
|
|
1498
|
-
setup(
|
|
1499
|
-
const
|
|
1502
|
+
setup(l) {
|
|
1503
|
+
const o = (i) => {
|
|
1500
1504
|
switch (i.type) {
|
|
1501
1505
|
case "link":
|
|
1502
1506
|
return Fs;
|
|
@@ -1510,26 +1514,26 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1510
1514
|
return Ts;
|
|
1511
1515
|
}
|
|
1512
1516
|
};
|
|
1513
|
-
return (i, e) => (
|
|
1517
|
+
return (i, e) => (n(), a("div", {
|
|
1514
1518
|
class: x(["description-list-widget", i.className]),
|
|
1515
1519
|
id: i.id,
|
|
1516
1520
|
style: z(i.style)
|
|
1517
1521
|
}, [
|
|
1518
|
-
i.title ? (
|
|
1519
|
-
i.view === "table" ? (
|
|
1522
|
+
i.title ? (n(), a("h3", Xs, f(i.title), 1)) : b("", !0),
|
|
1523
|
+
i.view === "table" ? (n(), a("div", Js, [
|
|
1520
1524
|
t("table", Qs, [
|
|
1521
1525
|
t("tbody", Ys, [
|
|
1522
|
-
(
|
|
1526
|
+
(n(!0), a(D, null, L(i.items, (s) => (n(), a("tr", {
|
|
1523
1527
|
key: s.id || s.label
|
|
1524
1528
|
}, [
|
|
1525
1529
|
t("td", eo, [
|
|
1526
1530
|
t("div", to, [
|
|
1527
|
-
s.icon ? (
|
|
1531
|
+
s.icon ? (n(), a("i", {
|
|
1528
1532
|
key: 0,
|
|
1529
1533
|
class: x([s.icon, "text-gray-500"])
|
|
1530
1534
|
}, null, 2)) : b("", !0),
|
|
1531
|
-
H(" " +
|
|
1532
|
-
s.tooltip ? (
|
|
1535
|
+
H(" " + f(s.label) + " ", 1),
|
|
1536
|
+
s.tooltip ? (n(), a("span", {
|
|
1533
1537
|
key: 1,
|
|
1534
1538
|
class: "text-gray-400 cursor-help",
|
|
1535
1539
|
title: s.tooltip
|
|
@@ -1539,26 +1543,26 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1539
1543
|
])
|
|
1540
1544
|
]),
|
|
1541
1545
|
t("td", oo, [
|
|
1542
|
-
(
|
|
1546
|
+
(n(), C(T(o(s)), { item: s }, null, 8, ["item"]))
|
|
1543
1547
|
])
|
|
1544
1548
|
]))), 128))
|
|
1545
1549
|
])
|
|
1546
1550
|
])
|
|
1547
|
-
])) : i.view === "grid" ? (
|
|
1548
|
-
(
|
|
1551
|
+
])) : i.view === "grid" ? (n(), a("div", no, [
|
|
1552
|
+
(n(!0), a(D, null, L(i.items, (s) => (n(), a("div", {
|
|
1549
1553
|
key: s.id || s.label,
|
|
1550
1554
|
class: "description-item-card bg-white border border-gray-200 rounded-lg p-4"
|
|
1551
1555
|
}, [
|
|
1552
1556
|
t("div", io, [
|
|
1553
|
-
s.icon ? (
|
|
1557
|
+
s.icon ? (n(), a("div", ao, [
|
|
1554
1558
|
t("i", {
|
|
1555
1559
|
class: x([s.icon, "text-gray-500 text-lg"])
|
|
1556
1560
|
}, null, 2)
|
|
1557
1561
|
])) : b("", !0),
|
|
1558
1562
|
t("div", ro, [
|
|
1559
1563
|
t("div", lo, [
|
|
1560
|
-
t("h4", co,
|
|
1561
|
-
s.tooltip ? (
|
|
1564
|
+
t("h4", co, f(s.label), 1),
|
|
1565
|
+
s.tooltip ? (n(), a("span", {
|
|
1562
1566
|
key: 0,
|
|
1563
1567
|
class: "text-gray-400 cursor-help",
|
|
1564
1568
|
title: s.tooltip
|
|
@@ -1566,24 +1570,24 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1566
1570
|
t("i", { class: "fas fa-info-circle text-xs" }, null, -1)
|
|
1567
1571
|
]), 8, uo)) : b("", !0)
|
|
1568
1572
|
]),
|
|
1569
|
-
(
|
|
1573
|
+
(n(), C(T(o(s)), { item: s }, null, 8, ["item"]))
|
|
1570
1574
|
])
|
|
1571
1575
|
])
|
|
1572
1576
|
]))), 128))
|
|
1573
|
-
])) : (
|
|
1577
|
+
])) : (n(), a("div", po, [
|
|
1574
1578
|
t("table", mo, [
|
|
1575
1579
|
t("tbody", ho, [
|
|
1576
|
-
(
|
|
1580
|
+
(n(!0), a(D, null, L(i.items, (s) => (n(), a("tr", {
|
|
1577
1581
|
key: s.id || s.label
|
|
1578
1582
|
}, [
|
|
1579
1583
|
t("td", go, [
|
|
1580
1584
|
t("div", fo, [
|
|
1581
|
-
s.icon ? (
|
|
1585
|
+
s.icon ? (n(), a("i", {
|
|
1582
1586
|
key: 0,
|
|
1583
1587
|
class: x([s.icon, "text-gray-500"])
|
|
1584
1588
|
}, null, 2)) : b("", !0),
|
|
1585
|
-
H(" " +
|
|
1586
|
-
s.tooltip ? (
|
|
1589
|
+
H(" " + f(s.label) + " ", 1),
|
|
1590
|
+
s.tooltip ? (n(), a("span", {
|
|
1587
1591
|
key: 1,
|
|
1588
1592
|
class: "text-gray-400 cursor-help",
|
|
1589
1593
|
title: s.tooltip
|
|
@@ -1593,7 +1597,7 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1593
1597
|
])
|
|
1594
1598
|
]),
|
|
1595
1599
|
t("td", vo, [
|
|
1596
|
-
(
|
|
1600
|
+
(n(), C(T(o(s)), { item: s }, null, 8, ["item"]))
|
|
1597
1601
|
])
|
|
1598
1602
|
]))), 128))
|
|
1599
1603
|
])
|
|
@@ -1602,18 +1606,18 @@ const Mt = { class: "space-y-0.5" }, It = { class: "flex-1 min-w-0 cursor-pointe
|
|
|
1602
1606
|
], 14, Zs));
|
|
1603
1607
|
}
|
|
1604
1608
|
}), xo = /* @__PURE__ */ S(bo, [["__scopeId", "data-v-36d43e50"]]), wo = {
|
|
1605
|
-
install: (
|
|
1606
|
-
|
|
1609
|
+
install: (l) => {
|
|
1610
|
+
l.component("vs-widget-file", te), l.component("vs-widget-comments", Q), l.component("vs-widget-history", ee), l.component("vs-widget-gallery", se), l.component("CommentsWidget", Q), l.component("HistoryWidget", ee), l.component("GalleryWidget", se), l.component("FilesWidget", te), l.component("Card", Ms), l.component("CardItem", Ls), l.component("DescriptionListWidget", xo), l.component("CopyNotification", ce);
|
|
1607
1611
|
}
|
|
1608
1612
|
};
|
|
1609
1613
|
export {
|
|
1610
1614
|
Ms as Card,
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1615
|
+
Ls as CardItem,
|
|
1616
|
+
Q as CommentsWidget,
|
|
1617
|
+
ce as CopyNotification,
|
|
1614
1618
|
xo as DescriptionListWidget,
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1619
|
+
te as FilesWidget,
|
|
1620
|
+
se as GalleryWidget,
|
|
1621
|
+
ee as HistoryWidget,
|
|
1618
1622
|
wo as default
|
|
1619
1623
|
};
|