@opengis/widgets 0.0.8 → 0.0.9

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