@opengis/widgets 0.0.5 → 0.0.7

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