@opengis/widgets 0.0.2 → 0.0.3

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