@opengis/admin 0.1.74 → 0.1.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/{IconChevronDown-B65ioxEK.js → IconChevronDown-BMnTiJIv.js} +1 -1
  2. package/dist/{add-page-Dva8zP3n.js → add-page-BxK4iJe4.js} +33 -30
  3. package/dist/{admin-interface-BfAJWo-U.js → admin-interface-D9vWpTqM.js} +598 -535
  4. package/dist/{admin-view-DW5O-fWK.js → admin-view-DPtlpZue.js} +144 -139
  5. package/dist/admin.js +1 -1
  6. package/dist/admin.umd.cjs +51 -51
  7. package/dist/assets/favicon.svg +1 -0
  8. package/dist/assets/logo.svg +42 -0
  9. package/dist/{card-page-TcYbRehu.js → card-page-KnsaeAPW.js} +3 -3
  10. package/dist/{card-view-CRIWNsOX.js → card-view-BAC53pSQ.js} +1 -1
  11. package/dist/{edit-page-Cx50IR_w.js → edit-page-D2KM1hue.js} +1 -1
  12. package/dist/{import-file-CFLFN46x.js → import-file-C3Slz6rJ.js} +4655 -4648
  13. package/dist/style.css +1 -1
  14. package/module/settings/form/admin.users.form.json +4 -1
  15. package/module/settings/select/core.user_mentioned.sql +2 -0
  16. package/package.json +5 -5
  17. package/plugin.js +3 -0
  18. package/server/helpers/index.mjs +7 -5
  19. package/server/routes/calendar/controllers/calendar.data.js +3 -3
  20. package/server/routes/data/controllers/cardData.js +5 -5
  21. package/server/routes/data/controllers/cardTabData.js +5 -5
  22. package/server/routes/data/controllers/funcs/getFilterSQL/index.js +3 -3
  23. package/server/routes/data/controllers/tableData.js +4 -3
  24. package/server/routes/data/controllers/tableDataId.js +3 -1
  25. package/server/routes/data/controllers/tableFilter.js +3 -3
  26. package/server/routes/data/controllers/utils/assignTokens.js +6 -6
  27. package/server/routes/notifications/controllers/readNotifications.js +9 -5
  28. package/server/routes/notifications/controllers/testEmail.js +35 -0
  29. package/server/routes/notifications/controllers/userNotifications.js +1 -1
  30. package/server/routes/notifications/funcs/addNotification.js +21 -0
  31. package/server/routes/notifications/funcs/sendNotification.js +105 -0
  32. package/server/routes/notifications/funcs/utils/sendEmail.js +39 -0
  33. package/server/routes/notifications/hook/onWidgetSet.js +4 -4
  34. package/server/routes/notifications/index.mjs +14 -2
  35. package/server/routes/notifications/schema.js +7 -1
  36. package/server/routes/properties/controllers/admin.properties.get.js +2 -2
  37. package/server/routes/user/controllers/user.cls.id.js +14 -0
  38. package/server/routes/user/controllers/user.cls.js +71 -0
  39. package/server/routes/user/controllers/user.cls.post.js +52 -0
  40. package/server/routes/user/controllers/user.info.js +17 -0
  41. package/server/routes/user/index.mjs +15 -0
  42. package/server/routes/user/schema.js +14 -0
  43. package/server/routes/widget/controllers/utils/historyFormat.js +75 -0
  44. package/server/routes/widget/controllers/utils/obj2db.js +13 -0
  45. package/server/routes/widget/controllers/widget.del.js +41 -0
  46. package/server/routes/widget/controllers/widget.get.js +96 -0
  47. package/server/routes/widget/controllers/widget.set.js +76 -0
  48. package/server/routes/widget/index.mjs +39 -0
  49. package/utils.js +5 -0
@@ -1,7 +1,7 @@
1
- import { _, b as pe, a as T, c as be, d as fe, e as me, f as ge, I as xe, u as re } from "./import-file-CFLFN46x.js";
2
- import { openBlock as s, createElementBlock as a, createTextVNode as D, toDisplayString as S, createCommentVNode as C, createStaticVNode as j, Fragment as $, createElementVNode as l, resolveComponent as d, createVNode as f, withCtx as w, createBlock as v, withModifiers as ye, renderList as I, normalizeClass as A, withDirectives as q, vModelCheckbox as _e, resolveDynamicComponent as ke, Transition as z, renderSlot as ve, vShow as se, normalizeStyle as le } from "vue";
3
- import { I as we } from "./IconChevronDown-B65ioxEK.js";
4
- const Ce = {
1
+ import { _ as k, b as Ie, a as V, c as Te, d as Ve, e as De, f as Fe, I as Me, u as ge, s as je } from "./import-file-C3Slz6rJ.js";
2
+ import { openBlock as l, createElementBlock as a, createTextVNode as D, toDisplayString as A, createCommentVNode as w, createStaticVNode as j, Fragment as $, createElementVNode as r, resolveComponent as h, createVNode as x, withCtx as C, createBlock as _, withModifiers as qe, renderList as T, normalizeClass as I, withDirectives as z, vModelCheckbox as Be, resolveDynamicComponent as B, Transition as P, renderSlot as ze, vShow as _e, getCurrentInstance as Pe, ref as xe, normalizeStyle as ye } from "vue";
3
+ import { I as Le } from "./IconChevronDown-BMnTiJIv.js";
4
+ const Ue = {
5
5
  data() {
6
6
  return {
7
7
  currentSort: ""
@@ -47,11 +47,11 @@ const Ce = {
47
47
  },
48
48
  handleClickSortBtn(t) {
49
49
  this.$emit("change-active", this.data.name), this.currentSort = this.changeCurrentSort(t);
50
- const e = this.$route.query, { sort: n, ...i } = e, r = this.currentSort ? `${this.data.name}-${this.currentSort}` : "";
50
+ const e = this.$route.query, { sort: s, ...i } = e, n = this.currentSort ? `${this.data.name}-${this.currentSort}` : "";
51
51
  this.$router.replace({
52
52
  query: {
53
53
  ...i,
54
- ...r && { sort: r }
54
+ ...n && { sort: n }
55
55
  }
56
56
  });
57
57
  },
@@ -59,10 +59,10 @@ const Ce = {
59
59
  return `${this.data.name}-${t}` === this.selectedSortParam;
60
60
  }
61
61
  }
62
- }, $e = {
62
+ }, Oe = {
63
63
  scope: "col",
64
64
  class: "text-start px-2 py-1"
65
- }, Se = {
65
+ }, Ee = {
66
66
  class: "flex-shrink-0 size-3.5",
67
67
  xmlns: "http://www.w3.org/2000/svg",
68
68
  width: "24",
@@ -73,33 +73,33 @@ const Ce = {
73
73
  "stroke-width": "2",
74
74
  "stroke-linecap": "round",
75
75
  "stroke-linejoin": "round"
76
- }, Ie = {
76
+ }, Ne = {
77
77
  key: 0,
78
78
  d: "m7 15 5 5 5-5"
79
- }, Ae = {
79
+ }, He = {
80
80
  key: 1,
81
81
  d: "m7 9 5-5 5 5"
82
- }, Te = {
82
+ }, Re = {
83
83
  key: 1,
84
84
  class: "text-sm text-stone-500 px-[4px] py-2.5 text-start font-normal text-gray-500"
85
85
  };
86
- function Ve(t, e, n, i, r, o) {
87
- return s(), a("th", $e, [
88
- o.getVisibleIcon ? (s(), a("button", {
86
+ function We(t, e, s, i, n, o) {
87
+ return l(), a("th", Oe, [
88
+ o.getVisibleIcon ? (l(), a("button", {
89
89
  key: 0,
90
90
  type: "button",
91
91
  class: "text-sm text-stone-500 px-[4px] py-2.5 text-start font-normal text-gray-500 flex items-center gap-[6px]",
92
- onClick: e[0] || (e[0] = (u) => o.handleClickSortBtn(r.currentSort))
92
+ onClick: e[0] || (e[0] = (u) => o.handleClickSortBtn(n.currentSort))
93
93
  }, [
94
- D(S(o.label) + " ", 1),
95
- (s(), a("svg", Se, [
96
- r.currentSort === "asc" || r.currentSort === "" ? (s(), a("path", Ie)) : C("", !0),
97
- r.currentSort === "desc" || r.currentSort === "" ? (s(), a("path", Ae)) : C("", !0)
94
+ D(A(o.label) + " ", 1),
95
+ (l(), a("svg", Ee, [
96
+ n.currentSort === "asc" || n.currentSort === "" ? (l(), a("path", Ne)) : w("", !0),
97
+ n.currentSort === "desc" || n.currentSort === "" ? (l(), a("path", He)) : w("", !0)
98
98
  ]))
99
- ])) : (s(), a("p", Te, S(o.label), 1))
99
+ ])) : (l(), a("p", Re, A(o.label), 1))
100
100
  ]);
101
101
  }
102
- const De = /* @__PURE__ */ _(Ce, [["render", Ve]]), Fe = {}, Me = {
102
+ const Ge = /* @__PURE__ */ k(Ue, [["render", We]]), Ze = {}, Je = {
103
103
  class: "flex-shrink-0 size-3.5",
104
104
  xmlns: "http://www.w3.org/2000/svg",
105
105
  viewBox: "0 0 24 24",
@@ -109,42 +109,42 @@ const De = /* @__PURE__ */ _(Ce, [["render", Ve]]), Fe = {}, Me = {
109
109
  "stroke-linecap": "round",
110
110
  "stroke-linejoin": "round"
111
111
  };
112
- function je(t, e, n, i, r, o) {
113
- return s(), a("svg", Me, e[0] || (e[0] = [
112
+ function Ke(t, e, s, i, n, o) {
113
+ return l(), a("svg", Je, e[0] || (e[0] = [
114
114
  j('<path d="M3 6h18"></path><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"></path><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"></path><line x1="10" x2="10" y1="11" y2="17"></line><line x1="14" x2="14" y1="11" y2="17"></line>', 5)
115
115
  ]));
116
116
  }
117
- const qe = /* @__PURE__ */ _(Fe, [["render", je]]), ze = {
117
+ const Qe = /* @__PURE__ */ k(Ze, [["render", Ke]]), Xe = {
118
118
  props: {
119
119
  height: { type: String, default: "16" },
120
120
  width: { type: String, default: "12" },
121
121
  color: { type: String, default: "black" }
122
122
  }
123
- }, Be = { style: { display: "none" } }, Pe = ["height", "width", "fill"];
124
- function Le(t, e, n, i, r, o) {
125
- return s(), a($, null, [
126
- (s(), a("svg", Be, e[0] || (e[0] = [
127
- l("symbol", {
123
+ }, Ye = { style: { display: "none" } }, et = ["height", "width", "fill"];
124
+ function tt(t, e, s, i, n, o) {
125
+ return l(), a($, null, [
126
+ (l(), a("svg", Ye, e[0] || (e[0] = [
127
+ r("symbol", {
128
128
  id: "icon-pencil",
129
129
  viewBox: "0 0 32 32"
130
130
  }, [
131
- l("path", { d: "M27 0c2.761 0 5 2.239 5 5 0 1.126-0.372 2.164-1 3l-2 2-7-7 2-2c0.836-0.628 1.874-1 3-1zM2 23l-2 9 9-2 18.5-18.5-7-7-18.5 18.5zM22.362 11.362l-14 14-1.724-1.724 14-14 1.724 1.724z" })
131
+ r("path", { d: "M27 0c2.761 0 5 2.239 5 5 0 1.126-0.372 2.164-1 3l-2 2-7-7 2-2c0.836-0.628 1.874-1 3-1zM2 23l-2 9 9-2 18.5-18.5-7-7-18.5 18.5zM22.362 11.362l-14 14-1.724-1.724 14-14 1.724 1.724z" })
132
132
  ], -1)
133
133
  ]))),
134
- (s(), a("svg", {
135
- height: n.height,
136
- width: n.width,
137
- fill: n.color
134
+ (l(), a("svg", {
135
+ height: s.height,
136
+ width: s.width,
137
+ fill: s.color
138
138
  }, e[1] || (e[1] = [
139
- l("use", { "xlink:href": "#icon-pencil" }, null, -1)
140
- ]), 8, Pe))
139
+ r("use", { "xlink:href": "#icon-pencil" }, null, -1)
140
+ ]), 8, et))
141
141
  ], 64);
142
142
  }
143
- const Ue = /* @__PURE__ */ _(ze, [["render", Le]]), Oe = {
143
+ const nt = /* @__PURE__ */ k(Xe, [["render", tt]]), st = {
144
144
  components: {
145
- IconMore: pe,
146
- IconDelete: qe,
147
- IconEdit: Ue
145
+ IconMore: Ie,
146
+ IconDelete: Qe,
147
+ IconEdit: nt
148
148
  },
149
149
  emits: ["updateTable"],
150
150
  props: {
@@ -170,7 +170,7 @@ const Ue = /* @__PURE__ */ _(ze, [["render", Le]]), Oe = {
170
170
  async getData() {
171
171
  var t;
172
172
  try {
173
- const { data: e } = await T.get(
173
+ const { data: e } = await V.get(
174
174
  `/api/table/${this.table}/${(t = this.item) == null ? void 0 : t.id}`
175
175
  );
176
176
  this.formValue = e;
@@ -184,10 +184,10 @@ const Ue = /* @__PURE__ */ _(ze, [["render", Le]]), Oe = {
184
184
  async deleteElement() {
185
185
  var t;
186
186
  try {
187
- const { data: e } = await T.get(
187
+ const { data: e } = await V.get(
188
188
  `/api/table/${this.table}/${(t = this.item) == null ? void 0 : t.id}`
189
189
  );
190
- await T.delete(`/api/table/${e == null ? void 0 : e.token}`), await this.$notify({
190
+ await V.delete(`/api/table/${e == null ? void 0 : e.token}`), await this.$notify({
191
191
  title: "Успішно!",
192
192
  message: "Об`єкт успішно видалeно",
193
193
  type: "success"
@@ -203,75 +203,75 @@ const Ue = /* @__PURE__ */ _(ze, [["render", Le]]), Oe = {
203
203
  }
204
204
  }
205
205
  }
206
- }, Ee = { class: "hs-dropdown [--placement:bottom-right] inline-flex" }, He = { class: "inline-flex items-center justify-center bg-white border rounded-lg shadow-sm size-7 gap-x-2 border-stone-200 text-stone-800 hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-50" }, Ne = { class: "flex flex-col items-start" }, We = {
206
+ }, rt = { class: "hs-dropdown [--placement:bottom-right] inline-flex" }, lt = { class: "inline-flex items-center justify-center bg-white border rounded-lg shadow-sm size-7 gap-x-2 border-stone-200 text-stone-800 hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-50" }, ot = { class: "flex flex-col items-start" }, at = {
207
207
  key: 1,
208
208
  class: "h-[1px] w-[80%] bg-gray-200 ml-auto mr-auto"
209
- }, Re = { class: "p-4" }, Ge = { class: "flex justify-end mt-4 gap-x-3" };
210
- function Ze(t, e, n, i, r, o) {
211
- const u = d("IconMore"), b = d("IconEdit"), p = d("router-link"), g = d("IconDelete"), k = d("VsPopover"), c = d("VsDialog");
212
- return s(), a($, null, [
213
- l("div", Ee, [
214
- f(k, {
209
+ }, it = { class: "p-4" }, ct = { class: "flex justify-end mt-4 gap-x-3" };
210
+ function ut(t, e, s, i, n, o) {
211
+ const u = h("IconMore"), b = h("IconEdit"), f = h("router-link"), g = h("IconDelete"), v = h("VsPopover"), c = h("VsDialog");
212
+ return l(), a($, null, [
213
+ r("div", rt, [
214
+ x(v, {
215
215
  trigger: "click",
216
216
  placement: "bottom-left"
217
217
  }, {
218
- reference: w(() => [
219
- l("button", He, [
220
- f(u, {
218
+ reference: C(() => [
219
+ r("button", lt, [
220
+ x(u, {
221
221
  height: "16",
222
222
  width: "16"
223
223
  })
224
224
  ])
225
225
  ]),
226
- default: w(() => {
227
- var x, h, y, V, F;
226
+ default: C(() => {
227
+ var m, p, S, y, F;
228
228
  return [
229
- l("div", Ne, [
230
- (x = n.actions) != null && x.includes("edit") && n.isForm ? (s(), v(p, {
229
+ r("div", ot, [
230
+ (m = s.actions) != null && m.includes("edit") && s.isForm ? (l(), _(f, {
231
231
  key: 0,
232
- to: `/edit?table=${(y = (h = t.$route) == null ? void 0 : h.params) == null ? void 0 : y.catchAll}&id=${(V = n.item) == null ? void 0 : V.id}`,
232
+ to: `/edit?table=${(S = (p = t.$route) == null ? void 0 : p.params) == null ? void 0 : S.catchAll}&id=${(y = s.item) == null ? void 0 : y.id}`,
233
233
  class: "w-full flex items-center gap-x-3 py-1.5 px-2 rounded-lg text-[13px] text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"
234
234
  }, {
235
- default: w(() => [
236
- f(b, { color: "#000" }),
235
+ default: C(() => [
236
+ x(b, { color: "#000" }),
237
237
  e[4] || (e[4] = D(" Редагувати "))
238
238
  ]),
239
239
  _: 1
240
- }, 8, ["to"])) : C("", !0),
241
- n.isForm ? (s(), a("div", We)) : C("", !0),
242
- (F = n.actions) != null && F.includes("del") ? (s(), a("button", {
240
+ }, 8, ["to"])) : w("", !0),
241
+ s.isForm ? (l(), a("div", at)) : w("", !0),
242
+ (F = s.actions) != null && F.includes("del") ? (l(), a("button", {
243
243
  key: 2,
244
- onClick: e[0] || (e[0] = ye((...M) => o.openConfirm && o.openConfirm(...M), ["stop"])),
244
+ onClick: e[0] || (e[0] = qe((...q) => o.openConfirm && o.openConfirm(...q), ["stop"])),
245
245
  class: "w-full flex items-center gap-x-3 py-1.5 px-2 rounded-lg text-[13px] text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"
246
246
  }, [
247
- f(g),
248
- e[5] || (e[5] = l("span", { class: "text-gray-800" }, "Видалити", -1))
249
- ])) : C("", !0)
247
+ x(g),
248
+ e[5] || (e[5] = r("span", { class: "text-gray-800" }, "Видалити", -1))
249
+ ])) : w("", !0)
250
250
  ])
251
251
  ];
252
252
  }),
253
253
  _: 1
254
254
  })
255
255
  ]),
256
- f(c, {
257
- visible: r.isDeleteConfirm,
258
- "onUpdate:visible": e[3] || (e[3] = (x) => r.isDeleteConfirm = x),
256
+ x(c, {
257
+ visible: n.isDeleteConfirm,
258
+ "onUpdate:visible": e[3] || (e[3] = (m) => n.isDeleteConfirm = m),
259
259
  size: "small",
260
260
  title: "Ви впевнені?"
261
261
  }, {
262
- default: w(() => [
263
- l("div", Re, [
264
- e[6] || (e[6] = l("p", { class: "mt-1 text-gray-500 dark:text-neutral-500" }, " Ви впевнені, що хочете видалити цей об'єкт? ", -1)),
265
- l("div", Ge, [
266
- l("button", {
262
+ default: C(() => [
263
+ r("div", it, [
264
+ e[6] || (e[6] = r("p", { class: "mt-1 text-gray-500 dark:text-neutral-500" }, " Ви впевнені, що хочете видалити цей об'єкт? ", -1)),
265
+ r("div", ct, [
266
+ r("button", {
267
267
  type: "button",
268
268
  class: "inline-flex items-center px-3 py-2 text-sm font-medium text-gray-800 bg-white border border-gray-200 rounded-lg shadow-sm gap-x-2 hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",
269
- onClick: e[1] || (e[1] = (x) => r.isDeleteConfirm = !1)
269
+ onClick: e[1] || (e[1] = (m) => n.isDeleteConfirm = !1)
270
270
  }, " Скасувати "),
271
- l("button", {
271
+ r("button", {
272
272
  type: "button",
273
273
  class: "inline-flex items-center px-3 py-2 text-sm font-semibold text-white bg-red-500 border border-transparent rounded-lg gap-x-2 hover:bg-red-600 disabled:opacity-50 disabled:pointer-events-none",
274
- onClick: e[2] || (e[2] = (...x) => o.deleteElement && o.deleteElement(...x))
274
+ onClick: e[2] || (e[2] = (...m) => o.deleteElement && o.deleteElement(...m))
275
275
  }, " Так, я впевнена/ий ")
276
276
  ])
277
277
  ])
@@ -280,7 +280,7 @@ function Ze(t, e, n, i, r, o) {
280
280
  }, 8, ["visible"])
281
281
  ], 64);
282
282
  }
283
- const Je = /* @__PURE__ */ _(Oe, [["render", Ze]]), Ke = {}, Qe = {
283
+ const dt = /* @__PURE__ */ k(st, [["render", ut]]), ht = {}, pt = {
284
284
  class: "flex-shrink-0 mt-0.5 size-3.5",
285
285
  xmlns: "http://www.w3.org/2000/svg",
286
286
  viewBox: "0 0 24 24",
@@ -290,15 +290,15 @@ const Je = /* @__PURE__ */ _(Oe, [["render", Ze]]), Ke = {}, Qe = {
290
290
  "stroke-linecap": "round",
291
291
  "stroke-linejoin": "round"
292
292
  };
293
- function Xe(t, e, n, i, r, o) {
294
- return s(), a("svg", Qe, e[0] || (e[0] = [
295
- l("path", { d: "m3 16 4 4 4-4" }, null, -1),
296
- l("path", { d: "M7 20V4" }, null, -1),
297
- l("path", { d: "m21 8-4-4-4 4" }, null, -1),
298
- l("path", { d: "M17 4v16" }, null, -1)
293
+ function ft(t, e, s, i, n, o) {
294
+ return l(), a("svg", pt, e[0] || (e[0] = [
295
+ r("path", { d: "m3 16 4 4 4-4" }, null, -1),
296
+ r("path", { d: "M7 20V4" }, null, -1),
297
+ r("path", { d: "m21 8-4-4-4 4" }, null, -1),
298
+ r("path", { d: "M17 4v16" }, null, -1)
299
299
  ]));
300
300
  }
301
- const Ye = /* @__PURE__ */ _(Ke, [["render", Xe]]), et = {}, tt = {
301
+ const bt = /* @__PURE__ */ k(ht, [["render", ft]]), mt = {}, gt = {
302
302
  xmlns: "http://www.w3.org/2000/svg",
303
303
  width: "24",
304
304
  height: "24",
@@ -310,19 +310,19 @@ const Ye = /* @__PURE__ */ _(Ke, [["render", Xe]]), et = {}, tt = {
310
310
  "stroke-linejoin": "round",
311
311
  class: "icon icon-tabler icons-tabler-outline icon-tabler-rosette-discount-check"
312
312
  };
313
- function nt(t, e, n, i, r, o) {
314
- return s(), a("svg", tt, e[0] || (e[0] = [
315
- l("path", {
313
+ function xt(t, e, s, i, n, o) {
314
+ return l(), a("svg", gt, e[0] || (e[0] = [
315
+ r("path", {
316
316
  stroke: "none",
317
317
  d: "M0 0h24v24H0z",
318
318
  fill: "none"
319
319
  }, null, -1),
320
- l("path", { d: "M5 7.2a2.2 2.2 0 0 1 2.2 -2.2h1a2.2 2.2 0 0 0 1.55 -.64l.7 -.7a2.2 2.2 0 0 1 3.12 0l.7 .7c.412 .41 .97 .64 1.55 .64h1a2.2 2.2 0 0 1 2.2 2.2v1c0 .58 .23 1.138 .64 1.55l.7 .7a2.2 2.2 0 0 1 0 3.12l-.7 .7a2.2 2.2 0 0 0 -.64 1.55v1a2.2 2.2 0 0 1 -2.2 2.2h-1a2.2 2.2 0 0 0 -1.55 .64l-.7 .7a2.2 2.2 0 0 1 -3.12 0l-.7 -.7a2.2 2.2 0 0 0 -1.55 -.64h-1a2.2 2.2 0 0 1 -2.2 -2.2v-1a2.2 2.2 0 0 0 -.64 -1.55l-.7 -.7a2.2 2.2 0 0 1 0 -3.12l.7 -.7a2.2 2.2 0 0 0 .64 -1.55v-1" }, null, -1),
321
- l("path", { d: "M9 12l2 2l4 -4" }, null, -1)
320
+ r("path", { d: "M5 7.2a2.2 2.2 0 0 1 2.2 -2.2h1a2.2 2.2 0 0 0 1.55 -.64l.7 -.7a2.2 2.2 0 0 1 3.12 0l.7 .7c.412 .41 .97 .64 1.55 .64h1a2.2 2.2 0 0 1 2.2 2.2v1c0 .58 .23 1.138 .64 1.55l.7 .7a2.2 2.2 0 0 1 0 3.12l-.7 .7a2.2 2.2 0 0 0 -.64 1.55v1a2.2 2.2 0 0 1 -2.2 2.2h-1a2.2 2.2 0 0 0 -1.55 .64l-.7 .7a2.2 2.2 0 0 1 -3.12 0l-.7 -.7a2.2 2.2 0 0 0 -1.55 -.64h-1a2.2 2.2 0 0 1 -2.2 -2.2v-1a2.2 2.2 0 0 0 -.64 -1.55l-.7 -.7a2.2 2.2 0 0 1 0 -3.12l.7 -.7a2.2 2.2 0 0 0 .64 -1.55v-1" }, null, -1),
321
+ r("path", { d: "M9 12l2 2l4 -4" }, null, -1)
322
322
  ]));
323
323
  }
324
- const rt = /* @__PURE__ */ _(et, [["render", nt]]), lt = {
325
- components: { IconExport: Ye, IconChevronDown: we, IconSuccess: rt },
324
+ const yt = /* @__PURE__ */ k(mt, [["render", xt]]), _t = {
325
+ components: { IconExport: bt, IconChevronDown: Le, IconSuccess: yt },
326
326
  props: {
327
327
  table: String,
328
328
  columns: Array,
@@ -375,7 +375,7 @@ const rt = /* @__PURE__ */ _(et, [["render", nt]]), lt = {
375
375
  return;
376
376
  }
377
377
  try {
378
- const e = await T.get("/api/export", {
378
+ const e = await V.get("/api/export", {
379
379
  params: {
380
380
  table: this.table,
381
381
  format: this.format,
@@ -386,13 +386,13 @@ const rt = /* @__PURE__ */ _(et, [["render", nt]]), lt = {
386
386
  custom: this.filterCustom || null
387
387
  },
388
388
  responseType: "blob"
389
- }), n = new Blob([e.data], {
389
+ }), s = new Blob([e.data], {
390
390
  type: "application/octet-stream"
391
- }), i = window.URL.createObjectURL(n), r = document.createElement("a");
392
- r.href = i, r.setAttribute(
391
+ }), i = window.URL.createObjectURL(s), n = document.createElement("a");
392
+ n.href = i, n.setAttribute(
393
393
  "download",
394
394
  `${this.table.split(".")[0]}.${this.format}`
395
- ), document.body.appendChild(r), r.click(), document.body.removeChild(r), window.URL.revokeObjectURL(i), this.$notify({
395
+ ), document.body.appendChild(n), n.click(), document.body.removeChild(n), window.URL.revokeObjectURL(i), this.$notify({
396
396
  type: "success",
397
397
  title: "Експорт",
398
398
  message: "Файл успішно експортовано!"
@@ -417,135 +417,135 @@ const rt = /* @__PURE__ */ _(et, [["render", nt]]), lt = {
417
417
  },
418
418
  choceVisible() {
419
419
  var t, e;
420
- this.cols = (e = (t = this.columns) == null ? void 0 : t.filter((n) => (n == null ? void 0 : n.hidden) !== !0)) == null ? void 0 : e.map((n) => n == null ? void 0 : n.name), this.activeAction = "choceVisible";
420
+ this.cols = (e = (t = this.columns) == null ? void 0 : t.filter((s) => (s == null ? void 0 : s.hidden) !== !0)) == null ? void 0 : e.map((s) => s == null ? void 0 : s.name), this.activeAction = "choceVisible";
421
421
  }
422
422
  }
423
- }, st = {
423
+ }, kt = {
424
424
  key: 0,
425
425
  class: "flex flex-col items-center"
426
- }, ot = {
426
+ }, vt = {
427
427
  key: 1,
428
428
  class: "p-4"
429
- }, at = { class: "pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700" }, it = { class: "flex items-center" }, ct = { class: "flex items-center gap-[10px] ml-auto" }, ut = ["onClick"], dt = {
429
+ }, wt = { class: "pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700" }, Ct = { class: "flex items-center" }, $t = { class: "flex items-center gap-[10px] ml-auto" }, St = ["onClick"], At = {
430
430
  key: 0,
431
431
  class: "block h-[8px] w-[8px] rounded-full bg-blue-500"
432
- }, ht = { class: "mt-2 flex row flex-wrap gap-y-[5px] gap-x-[10px]" }, pt = { class: "pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700" }, bt = { class: "mt-2 space-y-2" }, ft = ["id", "onChange"], mt = ["for"], gt = {
432
+ }, It = { class: "mt-2 flex row flex-wrap gap-y-[5px] gap-x-[10px]" }, Tt = { class: "pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700" }, Vt = { class: "mt-2 space-y-2" }, Dt = ["id", "onChange"], Ft = ["for"], Mt = {
433
433
  key: 0,
434
434
  class: "flex w-full justify-end p-[20px] gap-[6px] border-t"
435
- }, xt = {
435
+ }, jt = {
436
436
  key: 1,
437
437
  class: "flex w-full justify-end p-[20px] gap-[6px] border-t"
438
438
  };
439
- function yt(t, e, n, i, r, o) {
440
- const u = d("IconExport"), b = d("IconChevronDown"), p = d("IconSuccess"), g = d("VsCheckbox"), k = d("VsDialog");
441
- return s(), a($, null, [
442
- l("button", {
443
- onClick: e[0] || (e[0] = (c) => r.isOpen = !0),
439
+ function qt(t, e, s, i, n, o) {
440
+ const u = h("IconExport"), b = h("IconChevronDown"), f = h("IconSuccess"), g = h("VsCheckbox"), v = h("VsDialog");
441
+ return l(), a($, null, [
442
+ r("button", {
443
+ onClick: e[0] || (e[0] = (c) => n.isOpen = !0),
444
444
  class: "py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"
445
445
  }, [
446
- f(u, {
446
+ x(u, {
447
447
  height: "16",
448
448
  width: "16"
449
449
  }),
450
450
  e[7] || (e[7] = D(" Експорт ")),
451
- f(b, {
451
+ x(b, {
452
452
  height: "12",
453
453
  width: "16"
454
454
  })
455
455
  ]),
456
- f(k, {
457
- visible: r.isOpen,
458
- "onUpdate:visible": e[6] || (e[6] = (c) => r.isOpen = c),
456
+ x(v, {
457
+ visible: n.isOpen,
458
+ "onUpdate:visible": e[6] || (e[6] = (c) => n.isOpen = c),
459
459
  title: "Експорт таблиці",
460
460
  size: "small",
461
461
  closeClickBack: !0
462
462
  }, {
463
- footer: w(() => [
464
- r.isSuccessTemplate ? (s(), a("div", gt, [
465
- l("button", {
463
+ footer: C(() => [
464
+ n.isSuccessTemplate ? (l(), a("div", Mt, [
465
+ r("button", {
466
466
  type: "button",
467
467
  class: "inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-gray-800 align-middle bg-white border border-gray-200 rounded-lg shadow-sm text-nowrap text-start hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",
468
- onClick: e[2] || (e[2] = (c) => r.isOpen = !1)
468
+ onClick: e[2] || (e[2] = (c) => n.isOpen = !1)
469
469
  }, " Закрити "),
470
- l("button", {
470
+ r("button", {
471
471
  type: "button",
472
472
  class: "inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-white align-middle bg-blue-600 border border-blue-600 rounded-lg shadow-sm text-nowrap gap-x-2 text-start hover:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:ring-1 focus:ring-blue-300 dark:focus:ring-blue-500",
473
- onClick: e[3] || (e[3] = (c) => r.isSuccessTemplate = !1)
473
+ onClick: e[3] || (e[3] = (c) => n.isSuccessTemplate = !1)
474
474
  }, " Вигрузити ще ")
475
- ])) : (s(), a("div", xt, [
476
- l("button", {
475
+ ])) : (l(), a("div", jt, [
476
+ r("button", {
477
477
  type: "button",
478
478
  class: "inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-gray-800 align-middle bg-white border border-gray-200 rounded-lg shadow-sm text-nowrap text-start hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",
479
- onClick: e[4] || (e[4] = (c) => r.isOpen = !1)
479
+ onClick: e[4] || (e[4] = (c) => n.isOpen = !1)
480
480
  }, " Скасувати "),
481
- l("button", {
481
+ r("button", {
482
482
  type: "button",
483
483
  class: "inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-white align-middle bg-blue-600 border border-blue-600 rounded-lg shadow-sm text-nowrap gap-x-2 text-start hover:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:ring-1 focus:ring-blue-300 dark:focus:ring-blue-500",
484
484
  onClick: e[5] || (e[5] = (...c) => o.exportTable && o.exportTable(...c))
485
485
  }, " Завантажити таблицю ")
486
486
  ]))
487
487
  ]),
488
- default: w(() => [
489
- r.isSuccessTemplate ? (s(), a("div", st, [
490
- f(p, {
488
+ default: C(() => [
489
+ n.isSuccessTemplate ? (l(), a("div", kt, [
490
+ x(f, {
491
491
  height: "100",
492
492
  width: "100",
493
493
  class: "text-green-200 mb-[20px]"
494
494
  }),
495
- e[8] || (e[8] = l("h2", null, "Звіт сформовано і збережено", -1))
496
- ])) : (s(), a("div", ot, [
497
- l("div", at, [
498
- l("div", it, [
499
- e[9] || (e[9] = l("h2", { class: "text-sm text-gray-500" }, " Виберіть стовпці таблиці для експорту: ", -1)),
500
- l("div", ct, [
501
- (s(!0), a($, null, I(r.actions, (c) => (s(), a("button", {
495
+ e[8] || (e[8] = r("h2", null, "Звіт сформовано і збережено", -1))
496
+ ])) : (l(), a("div", vt, [
497
+ r("div", wt, [
498
+ r("div", Ct, [
499
+ e[9] || (e[9] = r("h2", { class: "text-sm text-gray-500" }, " Виберіть стовпці таблиці для експорту: ", -1)),
500
+ r("div", $t, [
501
+ (l(!0), a($, null, T(n.actions, (c) => (l(), a("button", {
502
502
  key: c == null ? void 0 : c.name,
503
503
  onClick: c == null ? void 0 : c.function,
504
504
  class: "inline-flex items-center gap-[8px] justify-center px-3 py-2 text-sm font-medium text-gray-800 align-middle bg-white border-gray-200 text-nowrap text-start"
505
505
  }, [
506
- l("span", {
507
- class: A(["h-[14px] w-[14px] border rounded-full flex items-center justify-center", { "border-blue-500": (c == null ? void 0 : c.name) === r.activeAction }])
506
+ r("span", {
507
+ class: I(["h-[14px] w-[14px] border rounded-full flex items-center justify-center", { "border-blue-500": (c == null ? void 0 : c.name) === n.activeAction }])
508
508
  }, [
509
- (c == null ? void 0 : c.name) === r.activeAction ? (s(), a("span", dt)) : C("", !0)
509
+ (c == null ? void 0 : c.name) === n.activeAction ? (l(), a("span", At)) : w("", !0)
510
510
  ], 2),
511
- D(" " + S(c == null ? void 0 : c.label), 1)
512
- ], 8, ut))), 128))
511
+ D(" " + A(c == null ? void 0 : c.label), 1)
512
+ ], 8, St))), 128))
513
513
  ])
514
514
  ]),
515
- l("div", ht, [
516
- (s(!0), a($, null, I(n.columns, (c, x) => (s(), a("div", {
515
+ r("div", It, [
516
+ (l(!0), a($, null, T(s.columns, (c, m) => (l(), a("div", {
517
517
  class: "flex items-center",
518
- key: x,
518
+ key: m,
519
519
  style: { width: "calc((100% - 10px) / 2)" }
520
520
  }, [
521
- f(g, {
521
+ x(g, {
522
522
  class: "[&>label]:text-sm [&>label]:text-gray-800 [&>label]:ms-3 !gap-x-[1px] !p-0",
523
- modelValue: r.cols,
524
- "onUpdate:modelValue": e[1] || (e[1] = (h) => r.cols = h),
523
+ modelValue: n.cols,
524
+ "onUpdate:modelValue": e[1] || (e[1] = (p) => n.cols = p),
525
525
  value: c == null ? void 0 : c.name,
526
526
  label: c == null ? void 0 : c.ua
527
527
  }, null, 8, ["modelValue", "value", "label"])
528
528
  ]))), 128))
529
529
  ])
530
530
  ]),
531
- l("div", pt, [
532
- e[10] || (e[10] = l("h2", { class: "text-sm text-gray-500" }, "Виберіть формат таблиці:", -1)),
533
- l("div", bt, [
534
- (s(!0), a($, null, I(r.tableFormats, (c, x) => (s(), a("div", {
531
+ r("div", Tt, [
532
+ e[10] || (e[10] = r("h2", { class: "text-sm text-gray-500" }, "Виберіть формат таблиці:", -1)),
533
+ r("div", Vt, [
534
+ (l(!0), a($, null, T(n.tableFormats, (c, m) => (l(), a("div", {
535
535
  class: "flex items-center",
536
- key: x
536
+ key: m
537
537
  }, [
538
- l("input", {
538
+ r("input", {
539
539
  type: "radio",
540
540
  name: "hs-pro-duecmfm",
541
541
  class: "text-blue-600 border-gray-300 rounded-full shrink-0 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-800 dark:border-neutral-500 dark:checked:bg-blue-500 dark:checked:border-blue-500 dark:focus:ring-offset-gray-800",
542
542
  id: c,
543
- onChange: (h) => o.selectFormat(c)
544
- }, null, 40, ft),
545
- l("label", {
543
+ onChange: (p) => o.selectFormat(c)
544
+ }, null, 40, Dt),
545
+ r("label", {
546
546
  for: c,
547
547
  class: "text-sm text-gray-800 ms-3 dark:text-neutral-400"
548
- }, " Формат " + S(c), 9, mt)
548
+ }, " Формат " + A(c), 9, Ft)
549
549
  ]))), 128))
550
550
  ])
551
551
  ])
@@ -555,7 +555,7 @@ function yt(t, e, n, i, r, o) {
555
555
  }, 8, ["visible"])
556
556
  ], 64);
557
557
  }
558
- const _t = /* @__PURE__ */ _(lt, [["render", yt]]), kt = {}, vt = {
558
+ const Bt = /* @__PURE__ */ k(_t, [["render", qt]]), zt = {}, Pt = {
559
559
  xmlns: "http://www.w3.org/2000/svg",
560
560
  viewBox: "0 0 24 24",
561
561
  fill: "none",
@@ -565,12 +565,12 @@ const _t = /* @__PURE__ */ _(lt, [["render", yt]]), kt = {}, vt = {
565
565
  "stroke-linejoin": "round",
566
566
  class: "icon icon-tabler icons-tabler-outline icon-tabler-columns"
567
567
  };
568
- function wt(t, e, n, i, r, o) {
569
- return s(), a("svg", vt, e[0] || (e[0] = [
568
+ function Lt(t, e, s, i, n, o) {
569
+ return l(), a("svg", Pt, e[0] || (e[0] = [
570
570
  j('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M4 6l5.5 0"></path><path d="M4 10l5.5 0"></path><path d="M4 14l5.5 0"></path><path d="M4 18l5.5 0"></path><path d="M14.5 6l5.5 0"></path><path d="M14.5 10l5.5 0"></path><path d="M14.5 14l5.5 0"></path><path d="M14.5 18l5.5 0"></path>', 9)
571
571
  ]));
572
572
  }
573
- const Ct = /* @__PURE__ */ _(kt, [["render", wt]]), $t = {
573
+ const Ut = /* @__PURE__ */ k(zt, [["render", Lt]]), Ot = {
574
574
  props: { column: Object },
575
575
  emits: ["update-column"],
576
576
  data() {
@@ -587,50 +587,50 @@ const Ct = /* @__PURE__ */ _(kt, [["render", wt]]), $t = {
587
587
  var t;
588
588
  ((t = this.column) == null ? void 0 : t.hidden) !== !0 && (this.value = !0);
589
589
  }
590
- }, St = { class: "flex w-full gap-[8px] items-centr" };
591
- function It(t, e, n, i, r, o) {
590
+ }, Et = { class: "flex w-full gap-[8px] items-centr" };
591
+ function Nt(t, e, s, i, n, o) {
592
592
  var u, b;
593
- return s(), a("label", St, [
594
- q(l("input", {
595
- "onUpdate:modelValue": e[0] || (e[0] = (p) => r.value = p),
593
+ return l(), a("label", Et, [
594
+ z(r("input", {
595
+ "onUpdate:modelValue": e[0] || (e[0] = (f) => n.value = f),
596
596
  type: "checkbox"
597
597
  }, null, 512), [
598
- [_e, r.value]
598
+ [Be, n.value]
599
599
  ]),
600
- D(" " + S(((u = n.column) == null ? void 0 : u.ua) || ((b = n.column) == null ? void 0 : b.title)), 1)
600
+ D(" " + A(((u = s.column) == null ? void 0 : u.ua) || ((b = s.column) == null ? void 0 : b.title)), 1)
601
601
  ]);
602
602
  }
603
- const At = /* @__PURE__ */ _($t, [["render", It]]), Tt = {
604
- components: { IconColumns: Ct, AdminTableColumnsHiddenItem: At },
603
+ const Ht = /* @__PURE__ */ k(Ot, [["render", Nt]]), Rt = {
604
+ components: { IconColumns: Ut, AdminTableColumnsHiddenItem: Ht },
605
605
  emits: ["update-columns"],
606
606
  props: { columns: Array },
607
607
  methods: {
608
608
  updateColumn(t) {
609
- const e = this.columns.findIndex((i) => (i == null ? void 0 : i.name) === (t == null ? void 0 : t.name)), n = this.columns;
610
- n[e] = t, this.$emit("update-columns", [...n]);
609
+ const e = this.columns.findIndex((i) => (i == null ? void 0 : i.name) === (t == null ? void 0 : t.name)), s = this.columns;
610
+ s[e] = t, this.$emit("update-columns", [...s]);
611
611
  }
612
612
  }
613
- }, Vt = { class: "py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700" }, Dt = { class: "py-[10px] px-[10px] w-[260px]" }, Ft = { class: "flex flex-col gap-[3px] max-h-[400px] w-full overflow-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500" };
614
- function Mt(t, e, n, i, r, o) {
615
- const u = d("IconColumns"), b = d("AdminTableColumnsHiddenItem"), p = d("VsPopover");
616
- return s(), v(p, {
613
+ }, Wt = { class: "py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700" }, Gt = { class: "py-[10px] px-[10px] w-[260px]" }, Zt = { class: "flex flex-col gap-[3px] max-h-[400px] w-full overflow-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500" };
614
+ function Jt(t, e, s, i, n, o) {
615
+ const u = h("IconColumns"), b = h("AdminTableColumnsHiddenItem"), f = h("VsPopover");
616
+ return l(), _(f, {
617
617
  trigger: "click",
618
618
  placement: "bottom"
619
619
  }, {
620
- reference: w(() => [
621
- l("button", Vt, [
622
- f(u, {
620
+ reference: C(() => [
621
+ r("button", Wt, [
622
+ x(u, {
623
623
  height: "20",
624
624
  width: "16"
625
625
  })
626
626
  ])
627
627
  ]),
628
- default: w(() => [
629
- l("div", Dt, [
630
- e[0] || (e[0] = l("h2", { class: "text-sm mb-[8px]" }, "Оберіть колонки, щоб приховати", -1)),
631
- l("ul", Ft, [
632
- (s(!0), a($, null, I(n.columns, (g, k) => (s(), a("li", { key: k }, [
633
- f(b, {
628
+ default: C(() => [
629
+ r("div", Gt, [
630
+ e[0] || (e[0] = r("h2", { class: "text-sm mb-[8px]" }, "Оберіть колонки, щоб приховати", -1)),
631
+ r("ul", Zt, [
632
+ (l(!0), a($, null, T(s.columns, (g, v) => (l(), a("li", { key: v }, [
633
+ x(b, {
634
634
  column: g,
635
635
  onUpdateColumn: o.updateColumn
636
636
  }, null, 8, ["column", "onUpdateColumn"])
@@ -641,45 +641,45 @@ function Mt(t, e, n, i, r, o) {
641
641
  _: 1
642
642
  });
643
643
  }
644
- const jt = /* @__PURE__ */ _(Tt, [["render", Mt]]), qt = {}, zt = {
644
+ const Kt = /* @__PURE__ */ k(Rt, [["render", Jt]]), Qt = {}, Xt = {
645
645
  class: "hidden sm:block shrink-0 size-3",
646
646
  xmlns: "http://www.w3.org/2000/svg",
647
647
  fill: "currentColor",
648
648
  viewBox: "0 0 16 16"
649
649
  };
650
- function Bt(t, e, n, i, r, o) {
651
- return s(), a("svg", zt, e[0] || (e[0] = [
652
- l("path", {
650
+ function Yt(t, e, s, i, n, o) {
651
+ return l(), a("svg", Xt, e[0] || (e[0] = [
652
+ r("path", {
653
653
  "fill-rule": "evenodd",
654
654
  "clip-rule": "evenodd",
655
655
  d: "M8 1C8.55228 1 9 1.44772 9 2V7L14 7C14.5523 7 15 7.44771 15 8C15 8.55228 14.5523 9 14 9L9 9V14C9 14.5523 8.55228 15 8 15C7.44772 15 7 14.5523 7 14V9.00001L2 9.00001C1.44772 9.00001 1 8.5523 1 8.00001C0.999999 7.44773 1.44771 7.00001 2 7.00001L7 7.00001V2C7 1.44772 7.44772 1 8 1Z"
656
656
  }, null, -1)
657
657
  ]));
658
658
  }
659
- const oe = /* @__PURE__ */ _(qt, [["render", Bt]]), Pt = {}, Lt = { class: "vs-table-interface__table-wrp w-full rounded h-fit overflow-hidden" };
660
- function Ut(t, e, n, i, r, o) {
661
- return s(), a("div", Lt, e[0] || (e[0] = [
659
+ const ke = /* @__PURE__ */ k(Qt, [["render", Yt]]), en = {}, tn = { class: "vs-table-interface__table-wrp w-full rounded h-fit overflow-hidden" };
660
+ function nn(t, e, s, i, n, o) {
661
+ return l(), a("div", tn, e[0] || (e[0] = [
662
662
  j('<div><div class="p-5 min-h-[500px] flex flex-col justify-center items-center text-center"><svg class="w-48 mx-auto" viewBox="0 0 178 90" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="27" y="50.5" width="124" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="27" y="50.5" width="124" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter1)"><rect x="12" y="6" width="154" height="40" rx="8" fill="currentColor" class="fill-white dark:fill-neutral-800" shape-rendering="crispEdges"></rect><rect x="12.5" y="6.5" width="153" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/60" shape-rendering="crispEdges"></rect><rect x="20" y="14" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter1" x="0" y="0" width="178" height="64" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="6"></feOffset><feGaussianBlur stdDeviation="6"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1187_14810"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1187_14810" result="shape"></feBlend></filter></defs></svg><div class="max-w-sm mx-auto mt-6"><p class="font-medium text-gray-800 dark:text-neutral-200"> Дані для відображення відсутні </p><p class="mt-2 text-sm text-gray-500 dark:text-neutral-500"> Змініть параметри пошуку або спробуйте пізніше </p></div></div></div>', 1)
663
663
  ]));
664
664
  }
665
- const Ot = /* @__PURE__ */ _(Pt, [["render", Ut]]), Et = {
665
+ const sn = /* @__PURE__ */ k(en, [["render", nn]]), rn = {
666
666
  props: { row: Object, column: Object, table: String }
667
667
  };
668
- function Ht(t, e, n, i, r, o) {
669
- var u, b, p, g, k, c, x, h;
670
- return s(), v(ke(
671
- ((u = n.column) == null ? void 0 : u.format) === "custom" ? (b = n.column) == null ? void 0 : b.component : `table-format-${((g = (p = n.column) == null ? void 0 : p.format) == null ? void 0 : g.toLowerCase()) || "text"}`
668
+ function ln(t, e, s, i, n, o) {
669
+ var u, b, f, g, v, c, m, p;
670
+ return l(), _(B(
671
+ ((u = s.column) == null ? void 0 : u.format) === "custom" ? (b = s.column) == null ? void 0 : b.component : `table-format-${((g = (f = s.column) == null ? void 0 : f.format) == null ? void 0 : g.toLowerCase()) || "text"}`
672
672
  ), {
673
- onUpdateTable: e[0] || (e[0] = (y) => t.$emit("update-table")),
674
- name: (k = n.column) == null ? void 0 : k.name,
675
- data: n.row,
676
- value: (x = n.row) == null ? void 0 : x[(c = n.column) == null ? void 0 : c.name],
677
- table: n.table,
678
- column: n.column,
679
- edit: (h = n.column) == null ? void 0 : h.edit
673
+ onUpdateTable: e[0] || (e[0] = (S) => t.$emit("update-table")),
674
+ name: (v = s.column) == null ? void 0 : v.name,
675
+ data: s.row,
676
+ value: (m = s.row) == null ? void 0 : m[(c = s.column) == null ? void 0 : c.name],
677
+ table: s.table,
678
+ column: s.column,
679
+ edit: (p = s.column) == null ? void 0 : p.edit
680
680
  }, null, 40, ["name", "data", "value", "table", "column", "edit"]);
681
681
  }
682
- const ae = /* @__PURE__ */ _(Et, [["render", Ht]]), Nt = {}, Wt = {
682
+ const ve = /* @__PURE__ */ k(rn, [["render", ln]]), on = {}, an = {
683
683
  xmlns: "http://www.w3.org/2000/svg",
684
684
  viewBox: "0 0 24 24",
685
685
  fill: "none",
@@ -689,51 +689,54 @@ const ae = /* @__PURE__ */ _(Et, [["render", Ht]]), Nt = {}, Wt = {
689
689
  "stroke-linejoin": "round",
690
690
  class: "icon icon-tabler icons-tabler-outline icon-tabler-minus"
691
691
  };
692
- function Rt(t, e, n, i, r, o) {
693
- return s(), a("svg", Wt, e[0] || (e[0] = [
694
- l("path", {
692
+ function cn(t, e, s, i, n, o) {
693
+ return l(), a("svg", an, e[0] || (e[0] = [
694
+ r("path", {
695
695
  stroke: "none",
696
696
  d: "M0 0h24v24H0z",
697
697
  fill: "none"
698
698
  }, null, -1),
699
- l("path", { d: "M5 12l14 0" }, null, -1)
699
+ r("path", { d: "M5 12l14 0" }, null, -1)
700
700
  ]));
701
701
  }
702
- const Gt = /* @__PURE__ */ _(Nt, [["render", Rt]]), Zt = {
703
- components: { IconPlus: oe, IconMinus: Gt },
704
- props: { title: String },
702
+ const un = /* @__PURE__ */ k(on, [["render", cn]]), dn = {
703
+ components: { IconPlus: ke, IconMinus: un },
704
+ props: {
705
+ title: String,
706
+ defaultValue: { type: Boolean, default: () => !1 }
707
+ },
705
708
  data() {
706
- return { expanded: !1 };
709
+ return { expanded: this.defaultValue };
707
710
  }
708
- }, Jt = { class: "hs-accordion" }, Kt = { class: "py-0.5 flex items-center gap-x-0.5 w-full" }, Qt = { class: "text-sm font-medium" }, Xt = { class: "w-full duration-150 before:block before:absolute relative inline-block b cursor-pointer" };
709
- function Yt(t, e, n, i, r, o) {
710
- const u = d("IconPlus"), b = d("IconMinus");
711
- return s(), a("div", null, [
712
- l("div", null, [
713
- l("div", Jt, [
714
- l("div", Kt, [
715
- l("div", {
716
- onClick: e[0] || (e[0] = (p) => r.expanded = !r.expanded),
717
- class: "grow rounded-md cursor-pointer"
711
+ }, hn = { class: "hs-accordion" }, pn = { class: "py-0.5 flex items-center gap-x-0.5 w-full" }, fn = { class: "text-sm font-medium" }, bn = { class: "relative inline-block w-full duration-150 cursor-pointer before:block before:absolute b" };
712
+ function mn(t, e, s, i, n, o) {
713
+ const u = h("IconPlus"), b = h("IconMinus");
714
+ return l(), a("div", null, [
715
+ r("div", null, [
716
+ r("div", hn, [
717
+ r("div", pn, [
718
+ r("div", {
719
+ onClick: e[0] || (e[0] = (f) => n.expanded = !n.expanded),
720
+ class: "rounded-md cursor-pointer grow"
718
721
  }, [
719
- l("span", Qt, S(n.title), 1)
722
+ r("span", fn, A(s.title), 1)
720
723
  ]),
721
- l("button", {
722
- class: "size-6 flex justify-center items-center hover:bg-gray-100 rounded-md",
723
- onClick: e[1] || (e[1] = (p) => r.expanded = !r.expanded)
724
+ r("button", {
725
+ class: "flex items-center justify-center rounded-md size-6 hover:bg-gray-100",
726
+ onClick: e[1] || (e[1] = (f) => n.expanded = !n.expanded)
724
727
  }, [
725
- r.expanded ? (s(), v(b, {
728
+ n.expanded ? (l(), _(b, {
726
729
  key: 1,
727
730
  width: "14"
728
- })) : (s(), v(u, { key: 0 }))
731
+ })) : (l(), _(u, { key: 0 }))
729
732
  ])
730
733
  ]),
731
- f(z, { name: "fade" }, {
732
- default: w(() => [
733
- q(l("div", Xt, [
734
- ve(t.$slots, "default", {}, void 0, !0)
734
+ x(P, { name: "fade" }, {
735
+ default: C(() => [
736
+ z(r("div", bn, [
737
+ ze(t.$slots, "default", {}, void 0, !0)
735
738
  ], 512), [
736
- [se, r.expanded]
739
+ [_e, n.expanded]
737
740
  ])
738
741
  ]),
739
742
  _: 3
@@ -742,67 +745,69 @@ function Yt(t, e, n, i, r, o) {
742
745
  ])
743
746
  ]);
744
747
  }
745
- const en = /* @__PURE__ */ _(Zt, [["render", Yt], ["__scopeId", "data-v-4139bc00"]]), tn = {
748
+ const gn = /* @__PURE__ */ k(dn, [["render", mn], ["__scopeId", "data-v-c6318482"]]), xn = {
746
749
  components: {
747
- AdminComponentIs: ae,
748
- AdminTree: en,
749
- VsNoData: be,
750
- VsWidgetComments: fe,
751
- VsWidgetMap: me,
752
- VsWidgetFileList: ge
750
+ AdminComponentIs: ve,
751
+ AdminTree: gn,
752
+ VsNoData: Te,
753
+ VsWidgetComments: Ve,
754
+ VsWidgetMap: De,
755
+ VsWidgetFileList: Fe
753
756
  },
754
757
  props: { table: String, columns: Array, row: Object }
755
- }, nn = {
758
+ }, yn = {
756
759
  class: "hs-accordion border-gray-100 w-[360px] shrink-0 overflow-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500",
757
760
  style: { height: "calc(100vh - 310px)" }
758
- }, rn = {
761
+ }, _n = {
759
762
  class: "border-l",
760
763
  style: { height: "calc(100vh - 360px)" }
761
- }, ln = { class: "flex items-center justify-between py-1 gap-x-4" }, sn = { class: "col-span-1" }, on = { class: "inline-flex items-center gap-x-2 text-[13px] text-gray-500 dark:text-neutral-500" }, an = { class: "col-span-2" }, cn = { class: "font-medium text-[13px] text-gray-800 dark:text-neutral-200" }, un = { class: "table-info-card" }, dn = { class: "table-info-card" };
762
- function hn(t, e, n, i, r, o) {
763
- var x, h;
764
- const u = d("AdminComponentIs"), b = d("AdminTree"), p = d("VsWidgetMap"), g = d("VsNoData"), k = d("VsWidgetComments"), c = d("VsWidgetFileList");
765
- return s(), a("div", nn, [
766
- e[0] || (e[0] = l("div", { class: "p-[10px] pl-[18px] pb-[18px] border-b" }, [
767
- l("h2", { class: "text-sm font-medium" }, "Інформація про об'єкт")
764
+ }, kn = { class: "flex items-center justify-between py-1 gap-x-4" }, vn = { class: "col-span-1" }, wn = { class: "inline-flex items-center gap-x-2 text-[13px] text-gray-500 dark:text-neutral-500" }, Cn = { class: "col-span-2" }, $n = { class: "font-medium text-[13px] text-gray-800 dark:text-neutral-200" }, Sn = { class: "table-info-card" }, An = { class: "table-info-card" };
765
+ function In(t, e, s, i, n, o) {
766
+ var m, p, S;
767
+ const u = h("AdminComponentIs"), b = h("AdminTree"), f = h("VsWidgetMap"), g = h("VsNoData"), v = h("VsWidgetComments"), c = h("VsWidgetFileList");
768
+ return l(), a("div", yn, [
769
+ e[0] || (e[0] = r("div", { class: "p-[10px] pl-[18px] pb-[18px] border-b" }, [
770
+ r("h2", { class: "text-sm font-medium" }, "Інформація про об'єкт")
768
771
  ], -1)),
769
- l("div", rn, [
770
- (h = (x = t.$route) == null ? void 0 : x.query) != null && h.card ? (s(), a($, { key: 0 }, [
771
- n.row ? (s(), v(b, {
772
+ r("div", _n, [
773
+ (p = (m = t.$route) == null ? void 0 : m.query) != null && p.card ? (l(), a($, { key: 0 }, [
774
+ s.row ? (l(), _(b, {
772
775
  key: 0,
776
+ defaultValue: !0,
773
777
  title: "Основна інформація",
774
778
  class: "border-b p-[10px] py-[16px]"
775
779
  }, {
776
- default: w(() => [
777
- (s(!0), a($, null, I(n.columns, (y) => (s(), a("dl", ln, [
778
- l("dt", sn, [
779
- l("p", on, S((y == null ? void 0 : y.ua) || (y == null ? void 0 : y.title)) + ": ", 1)
780
+ default: C(() => [
781
+ (l(!0), a($, null, T(s.columns, (y) => (l(), a("dl", kn, [
782
+ r("dt", vn, [
783
+ r("p", wn, A((y == null ? void 0 : y.ua) || (y == null ? void 0 : y.title)) + ": ", 1)
780
784
  ]),
781
- l("dd", an, [
782
- l("p", cn, [
783
- f(u, {
784
- row: n.row,
785
+ r("dd", Cn, [
786
+ r("p", $n, [
787
+ x(u, {
788
+ row: s.row,
785
789
  column: y,
786
- table: n.table
790
+ table: s.table
787
791
  }, null, 8, ["row", "column", "table"])
788
792
  ])
789
793
  ])
790
794
  ]))), 256))
791
795
  ]),
792
796
  _: 1
793
- })) : C("", !0),
794
- f(b, {
797
+ })) : w("", !0),
798
+ (S = s.row) != null && S.geom ? (l(), _(b, {
799
+ key: 1,
795
800
  title: "Карта",
796
801
  class: "border-b p-[10px] py-[16px]"
797
802
  }, {
798
- default: w(() => {
799
- var y, V;
803
+ default: C(() => {
804
+ var y, F;
800
805
  return [
801
- (y = n.row) != null && y.geom ? (s(), v(p, {
806
+ (y = s.row) != null && y.geom ? (l(), _(f, {
802
807
  key: 0,
803
- geometry: (V = n.row) == null ? void 0 : V.geom,
808
+ geometry: (F = s.row) == null ? void 0 : F.geom,
804
809
  zoom: 14
805
- }, null, 8, ["geometry"])) : (s(), v(g, {
810
+ }, null, 8, ["geometry"])) : (l(), _(g, {
806
811
  key: 1,
807
812
  title: "У об'єкта відсутня геометрія",
808
813
  text: "",
@@ -811,47 +816,47 @@ function hn(t, e, n, i, r, o) {
811
816
  ];
812
817
  }),
813
818
  _: 1
814
- }),
815
- f(b, {
819
+ })) : w("", !0),
820
+ x(b, {
816
821
  title: "Коментарі",
817
822
  class: "border-b p-[10px] py-[16px]"
818
823
  }, {
819
- default: w(() => {
824
+ default: C(() => {
820
825
  var y;
821
826
  return [
822
- l("div", un, [
823
- f(k, {
824
- id: (y = n.row) == null ? void 0 : y.id
827
+ r("div", Sn, [
828
+ x(v, {
829
+ id: (y = s.row) == null ? void 0 : y.id
825
830
  }, null, 8, ["id"])
826
831
  ])
827
832
  ];
828
833
  }),
829
834
  _: 1
830
835
  }),
831
- f(b, {
836
+ x(b, {
832
837
  title: "Файли",
833
838
  class: "border-b p-[10px] py-[16px]"
834
839
  }, {
835
- default: w(() => {
840
+ default: C(() => {
836
841
  var y;
837
842
  return [
838
- l("div", dn, [
839
- f(c, {
840
- id: (y = n.row) == null ? void 0 : y.id
843
+ r("div", An, [
844
+ x(c, {
845
+ id: (y = s.row) == null ? void 0 : y.id
841
846
  }, null, 8, ["id"])
842
847
  ])
843
848
  ];
844
849
  }),
845
850
  _: 1
846
851
  })
847
- ], 64)) : (s(), v(g, {
852
+ ], 64)) : (l(), _(g, {
848
853
  key: 1,
849
854
  text: "Оберіть один з об'єктів в таблиці для відображення інформаціі про нього"
850
855
  }))
851
856
  ])
852
857
  ]);
853
858
  }
854
- const pn = /* @__PURE__ */ _(tn, [["render", hn]]), bn = {}, fn = {
859
+ const Tn = /* @__PURE__ */ k(xn, [["render", In]]), Vn = {}, Dn = {
855
860
  class: "hidden xl:block shrink-0 size-4",
856
861
  xmlns: "http://www.w3.org/2000/svg",
857
862
  viewBox: "0 0 24 24",
@@ -861,20 +866,20 @@ const pn = /* @__PURE__ */ _(tn, [["render", hn]]), bn = {}, fn = {
861
866
  "stroke-linecap": "round",
862
867
  "stroke-linejoin": "round"
863
868
  };
864
- function mn(t, e, n, i, r, o) {
865
- return s(), a("svg", fn, e[0] || (e[0] = [
866
- l("rect", {
869
+ function Fn(t, e, s, i, n, o) {
870
+ return l(), a("svg", Dn, e[0] || (e[0] = [
871
+ r("rect", {
867
872
  width: "18",
868
873
  height: "18",
869
874
  x: "3",
870
875
  y: "3",
871
876
  rx: "2"
872
877
  }, null, -1),
873
- l("path", { d: "M15 3v18" }, null, -1),
874
- l("path", { d: "m8 9 3 3-3 3" }, null, -1)
878
+ r("path", { d: "M15 3v18" }, null, -1),
879
+ r("path", { d: "m8 9 3 3-3 3" }, null, -1)
875
880
  ]));
876
881
  }
877
- const gn = /* @__PURE__ */ _(bn, [["render", mn]]), xn = {}, yn = {
882
+ const Mn = /* @__PURE__ */ k(Vn, [["render", Fn]]), jn = {}, qn = {
878
883
  class: "h21yx vs0hq",
879
884
  xmlns: "http://www.w3.org/2000/svg",
880
885
  width: "24",
@@ -886,15 +891,15 @@ const gn = /* @__PURE__ */ _(bn, [["render", mn]]), xn = {}, yn = {
886
891
  "stroke-linecap": "round",
887
892
  "stroke-linejoin": "round"
888
893
  };
889
- function _n(t, e, n, i, r, o) {
890
- return s(), a("svg", yn, e[0] || (e[0] = [
894
+ function Bn(t, e, s, i, n, o) {
895
+ return l(), a("svg", qn, e[0] || (e[0] = [
891
896
  j('<line x1="21" x2="14" y1="4" y2="4"></line><line x1="10" x2="3" y1="4" y2="4"></line><line x1="21" x2="12" y1="12" y2="12"></line><line x1="8" x2="3" y1="12" y2="12"></line><line x1="21" x2="16" y1="20" y2="20"></line><line x1="12" x2="3" y1="20" y2="20"></line><line x1="14" x2="14" y1="2" y2="6"></line><line x1="8" x2="8" y1="10" y2="14"></line><line x1="16" x2="16" y1="18" y2="22"></line>', 9)
892
897
  ]));
893
898
  }
894
- const kn = /* @__PURE__ */ _(xn, [["render", _n]]), vn = {
899
+ const zn = /* @__PURE__ */ k(jn, [["render", Bn]]), Pn = {
895
900
  emits: ["filterChange"],
896
901
  props: { scheme: { type: Object }, onFilters: { type: Number } },
897
- components: { IconFilter: kn },
902
+ components: { IconFilter: zn },
898
903
  data() {
899
904
  return {
900
905
  isFilters: !1
@@ -905,49 +910,49 @@ const kn = /* @__PURE__ */ _(xn, [["render", _n]]), vn = {
905
910
  this.isFilters && t.classList.contains("filter-container") && (this.isFilters = !1);
906
911
  }
907
912
  }
908
- }, wn = {
913
+ }, Ln = {
909
914
  key: 0,
910
915
  class: "font-medium text-[10px] py-0.5 px-[5px] bg-gray-800 text-white leading-3 rounded-full dark:bg-neutral-500"
911
- }, Cn = { class: "filter-content h-screen bg-white w-[400px] p-[20px] pt-[10px] overflow-x-auto bg-white [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500" };
912
- function $n(t, e, n, i, r, o) {
913
- const u = d("IconFilter"), b = d("VsFilter");
914
- return s(), a($, null, [
915
- l("button", {
916
- onClick: e[0] || (e[0] = (p) => r.isFilters = !r.isFilters),
916
+ }, Un = { class: "filter-content h-screen bg-white w-[400px] p-[20px] pt-[10px] overflow-x-auto bg-white [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500" };
917
+ function On(t, e, s, i, n, o) {
918
+ const u = h("IconFilter"), b = h("VsFilter");
919
+ return l(), a($, null, [
920
+ r("button", {
921
+ onClick: e[0] || (e[0] = (f) => n.isFilters = !n.isFilters),
917
922
  class: "py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"
918
923
  }, [
919
- f(u, {
924
+ x(u, {
920
925
  height: "16",
921
926
  width: "16"
922
927
  }),
923
928
  e[4] || (e[4] = D(" Фільтри ")),
924
- n.onFilters ? (s(), a("span", wn, S(n.onFilters), 1)) : C("", !0)
929
+ s.onFilters ? (l(), a("span", Ln, A(s.onFilters), 1)) : w("", !0)
925
930
  ]),
926
- f(z, { name: "fade" }, {
927
- default: w(() => {
928
- var p;
931
+ x(P, { name: "fade" }, {
932
+ default: C(() => {
933
+ var f;
929
934
  return [
930
- q(l("div", {
935
+ z(r("div", {
931
936
  onClick: e[3] || (e[3] = (...g) => o.closeFilter && o.closeFilter(...g)),
932
937
  style: { height: "100vh" },
933
938
  class: "fixed filter-container top-0 flex justify-end items-center z-[2] right-0 left-0 bottom-0 bg-[rgba(0,0,0,0.5)]"
934
939
  }, [
935
- l("div", Cn, [
936
- (p = n.scheme) != null && p.length ? (s(), v(b, {
940
+ r("div", Un, [
941
+ (f = s.scheme) != null && f.length ? (l(), _(b, {
937
942
  key: 0,
938
943
  ref: "filter",
939
- scheme: n.scheme,
944
+ scheme: s.scheme,
940
945
  layout: "default",
941
946
  "apply-vue-router": "",
942
947
  history: "",
943
948
  name: "filter",
944
949
  onFilterChange: e[1] || (e[1] = (g) => t.$emit("filterChange", g)),
945
950
  closeFilterBtn: !0,
946
- onFilterClose: e[2] || (e[2] = (g) => r.isFilters = !1)
947
- }, null, 8, ["scheme"])) : C("", !0)
951
+ onFilterClose: e[2] || (e[2] = (g) => n.isFilters = !1)
952
+ }, null, 8, ["scheme"])) : w("", !0)
948
953
  ])
949
954
  ], 512), [
950
- [se, r.isFilters]
955
+ [_e, n.isFilters]
951
956
  ])
952
957
  ];
953
958
  }),
@@ -955,25 +960,25 @@ function $n(t, e, n, i, r, o) {
955
960
  })
956
961
  ], 64);
957
962
  }
958
- const Sn = /* @__PURE__ */ _(vn, [["render", $n]]), In = {
963
+ const En = /* @__PURE__ */ k(Pn, [["render", On]]), Nn = {
959
964
  props: { tabsList: { type: Array, default: () => [] }, filterState: String }
960
- }, An = {
965
+ }, Hn = {
961
966
  class: "relative flex space-x-1 mb-[20px] after:absolute after:w-[99%] after:bottom-0 after:inset-x-0 after:border-b-2 after:border-gray-200 dark:after:border-neutral-700",
962
967
  "aria-label": "Tabs",
963
968
  role: "tablist",
964
969
  "aria-orientation": "horizontal"
965
- }, Tn = ["onClick"];
966
- function Vn(t, e, n, i, r, o) {
967
- return s(), a("nav", An, [
968
- (s(!0), a($, null, I(n.tabsList, (u) => (s(), a("button", {
970
+ }, Rn = ["onClick"];
971
+ function Wn(t, e, s, i, n, o) {
972
+ return l(), a("nav", Hn, [
973
+ (l(!0), a($, null, T(s.tabsList, (u) => (l(), a("button", {
969
974
  onClick: (b) => t.$emit("update:filterState", u == null ? void 0 : u.name),
970
- class: A(["hs-tab-active:after:bg-gray-800 hs-tab-active:text-gray-800 px-2.5 py-1.5 mb-2 relative inline-flex justify-center items-center gap-x-2 hover:bg-gray-100 text-gray-500 hover:text-gray-800 text-sm rounded-lg disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100 after:absolute after:-bottom-2 after:inset-x-0 after:z-10 after:h-0.5 after:pointer-events-none dark:hs-tab-active:text-neutral-200 dark:hs-tab-active:after:bg-neutral-400 dark:text-neutral-500 dark:hover:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700 active", {
971
- " font-semibold after:absolute after:bottom-[-8px] after:left-2.5 after:right-2.5 after:z-10 after:h-0.5 after:bg-gray-800": (u == null ? void 0 : u.name) === n.filterState
975
+ class: I(["hs-tab-active:after:bg-gray-800 hs-tab-active:text-gray-800 px-2.5 py-1.5 mb-2 relative inline-flex justify-center items-center gap-x-2 hover:bg-gray-100 text-gray-500 hover:text-gray-800 text-sm rounded-lg disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100 after:absolute after:-bottom-2 after:inset-x-0 after:z-10 after:h-0.5 after:pointer-events-none dark:hs-tab-active:text-neutral-200 dark:hs-tab-active:after:bg-neutral-400 dark:text-neutral-500 dark:hover:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700 active", {
976
+ " font-semibold after:absolute after:bottom-[-8px] after:left-2.5 after:right-2.5 after:z-10 after:h-0.5 after:bg-gray-800": (u == null ? void 0 : u.name) === s.filterState
972
977
  }])
973
- }, S(u == null ? void 0 : u.label), 11, Tn))), 256))
978
+ }, A(u == null ? void 0 : u.label), 11, Rn))), 256))
974
979
  ]);
975
980
  }
976
- const Dn = /* @__PURE__ */ _(In, [["render", Vn]]), Fn = {}, Mn = {
981
+ const Gn = /* @__PURE__ */ k(Nn, [["render", Wn]]), Zn = {}, Jn = {
977
982
  xmlns: "http://www.w3.org/2000/svg",
978
983
  viewBox: "0 0 24 24",
979
984
  fill: "none",
@@ -983,47 +988,47 @@ const Dn = /* @__PURE__ */ _(In, [["render", Vn]]), Fn = {}, Mn = {
983
988
  "stroke-linejoin": "round",
984
989
  class: "icon icon-tabler icons-tabler-outline icon-tabler-filter"
985
990
  };
986
- function jn(t, e, n, i, r, o) {
987
- return s(), a("svg", Mn, e[0] || (e[0] = [
988
- l("path", {
991
+ function Kn(t, e, s, i, n, o) {
992
+ return l(), a("svg", Jn, e[0] || (e[0] = [
993
+ r("path", {
989
994
  stroke: "none",
990
995
  d: "M0 0h24v24H0z",
991
996
  fill: "none"
992
997
  }, null, -1),
993
- l("path", { d: "M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227z" }, null, -1)
998
+ r("path", { d: "M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227z" }, null, -1)
994
999
  ]));
995
1000
  }
996
- const qn = /* @__PURE__ */ _(Fn, [["render", jn]]), zn = {
997
- components: { IconFilter2: qn },
1001
+ const Qn = /* @__PURE__ */ k(Zn, [["render", Kn]]), Xn = {
1002
+ components: { IconFilter2: Qn },
998
1003
  props: { filterCustom: String, customList: Array }
999
- }, Bn = { class: "py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700" }, Pn = { class: "flex flex-col gap-[4px]" }, Ln = ["onClick"];
1000
- function Un(t, e, n, i, r, o) {
1001
- const u = d("IconFilter2"), b = d("VsPopover");
1002
- return s(), v(b, {
1004
+ }, Yn = { class: "py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700" }, es = { class: "flex flex-col gap-[4px]" }, ts = ["onClick"];
1005
+ function ns(t, e, s, i, n, o) {
1006
+ const u = h("IconFilter2"), b = h("VsPopover");
1007
+ return l(), _(b, {
1003
1008
  ref: "popover",
1004
1009
  placement: "bottom"
1005
1010
  }, {
1006
- reference: w(() => [
1007
- l("button", Bn, [
1008
- f(u, {
1011
+ reference: C(() => [
1012
+ r("button", Yn, [
1013
+ x(u, {
1009
1014
  height: "20",
1010
1015
  width: "20"
1011
1016
  })
1012
1017
  ])
1013
1018
  ]),
1014
- default: w(() => [
1015
- l("div", Pn, [
1016
- (s(!0), a($, null, I(n.customList, (p, g) => (s(), a("button", {
1017
- onClick: (k) => {
1019
+ default: C(() => [
1020
+ r("div", es, [
1021
+ (l(!0), a($, null, T(s.customList, (f, g) => (l(), a("button", {
1022
+ onClick: (v) => {
1018
1023
  var c;
1019
- t.$emit("update:filterCustom", p == null ? void 0 : p.name), (c = t.$refs) == null || c.popover.togglePopover();
1024
+ t.$emit("update:filterCustom", f == null ? void 0 : f.name), (c = t.$refs) == null || c.popover.togglePopover();
1020
1025
  },
1021
1026
  key: g,
1022
- class: A(["p-[8px] block rounded-lg w-[140px] text-start hover:bg-gray-100 !duration-300", { "bg-gray-100": n.filterCustom === (p == null ? void 0 : p.name) }])
1023
- }, S(p == null ? void 0 : p.label), 11, Ln))), 128)),
1024
- l("button", {
1027
+ class: I(["p-[8px] block rounded-lg w-[140px] text-start hover:bg-gray-100 !duration-300", { "bg-gray-100": s.filterCustom === (f == null ? void 0 : f.name) }])
1028
+ }, A(f == null ? void 0 : f.label), 11, ts))), 128)),
1029
+ r("button", {
1025
1030
  class: "p-[8px] block rounded-lg w-[140px] text-start hover:bg-gray-100 !duration-300",
1026
- onClick: e[0] || (e[0] = (p) => {
1031
+ onClick: e[0] || (e[0] = (f) => {
1027
1032
  var g;
1028
1033
  t.$emit("update:filterCustom", void 0), (g = t.$refs) == null || g.popover.togglePopover();
1029
1034
  })
@@ -1033,29 +1038,61 @@ function Un(t, e, n, i, r, o) {
1033
1038
  _: 1
1034
1039
  }, 512);
1035
1040
  }
1036
- const On = /* @__PURE__ */ _(zn, [["render", Un]]), En = (t, e = 300) => {
1037
- let n;
1041
+ const ss = /* @__PURE__ */ k(Xn, [["render", ns]]), rs = { class: "flex items-center gap-x-2" }, ls = {
1042
+ __name: "admin-table-custom-buttons",
1043
+ props: {
1044
+ slots: Object
1045
+ },
1046
+ setup(t) {
1047
+ var b, f, g, v, c;
1048
+ const { asyncTemplateSlot: e } = (c = (v = (g = (f = (b = Pe()) == null ? void 0 : b.appContext) == null ? void 0 : f.app) == null ? void 0 : g.config) == null ? void 0 : v.globalProperties) == null ? void 0 : c.utils, s = xe(""), i = xe(""), n = t, o = () => {
1049
+ var m;
1050
+ if (n.slots.panelLeft.includes("<")) {
1051
+ const p = e("PanelLeft", (m = n.slots) == null ? void 0 : m.panelLeft, [
1052
+ "name"
1053
+ ]);
1054
+ i.value = p;
1055
+ } else
1056
+ i.value = n.slots.panelLeft;
1057
+ }, u = () => {
1058
+ var m;
1059
+ if (n.slots.panelRight.includes("<")) {
1060
+ const p = e("PanelRight", (m = n.slots) == null ? void 0 : m.panelRight, [
1061
+ "name"
1062
+ ]);
1063
+ s.value = p;
1064
+ } else
1065
+ s.value = n.slots.panelRight;
1066
+ };
1067
+ return o(), u(), (m, p) => (l(), a("div", rs, [
1068
+ (l(), _(B(i.value))),
1069
+ (l(), _(B(s.value)))
1070
+ ]));
1071
+ }
1072
+ }, os = (t, e = 300) => {
1073
+ let s;
1038
1074
  return function(...i) {
1039
- clearTimeout(n), n = setTimeout(() => {
1075
+ clearTimeout(s), s = setTimeout(() => {
1040
1076
  t.apply(this, i);
1041
1077
  }, e);
1042
1078
  };
1043
- }, Hn = {
1079
+ }, as = {
1044
1080
  props: { table: String, title: String },
1045
1081
  components: {
1046
- AdminTableControl: Je,
1047
- AdminTableExport: _t,
1048
- AdminTableColumnsHidden: jt,
1049
- AdminTableColumn: De,
1050
- AdminNodata: Ot,
1051
- IconPlus: oe,
1052
- IconSearch: xe,
1053
- AdminTableCardInfo: pn,
1054
- IconOpenCard: gn,
1055
- AdminComponentIs: ae,
1056
- AdminTableFilters: Sn,
1057
- AdminTableTabs: Dn,
1058
- AdminTableCustomFilters: On
1082
+ AdminTableControl: dt,
1083
+ AdminTableExport: Bt,
1084
+ AdminTableColumnsHidden: Kt,
1085
+ AdminTableColumn: Ge,
1086
+ AdminNodata: sn,
1087
+ IconPlus: ke,
1088
+ IconSearch: Me,
1089
+ AdminTableCardInfo: Tn,
1090
+ IconOpenCard: Mn,
1091
+ AdminComponentIs: ve,
1092
+ AdminTableFilters: En,
1093
+ AdminTableTabs: Gn,
1094
+ AdminTableCustomFilters: ss,
1095
+ AdminTableCustomButtons: ls
1059
1096
  },
1060
1097
  data() {
1061
1098
  return {
@@ -1084,7 +1121,7 @@ const On = /* @__PURE__ */ _(zn, [["render", Un]]), En = (t, e = 300) => {
1084
1121
  },
1085
1122
  columns() {
1086
1123
  var t, e;
1087
- return (e = (t = this.tableData) == null ? void 0 : t.columns) == null ? void 0 : e.filter((n) => (n == null ? void 0 : n.hidden) !== !0);
1124
+ return (e = (t = this.tableData) == null ? void 0 : t.columns) == null ? void 0 : e.filter((s) => (s == null ? void 0 : s.hidden) !== !0);
1088
1125
  },
1089
1126
  isForm() {
1090
1127
  var t;
@@ -1096,9 +1133,9 @@ const On = /* @__PURE__ */ _(zn, [["render", Un]]), En = (t, e = 300) => {
1096
1133
  },
1097
1134
  activeCardRow() {
1098
1135
  var t, e;
1099
- return ((e = (t = this.tableData) == null ? void 0 : t.rows) == null ? void 0 : e.find((n) => {
1100
- var i, r;
1101
- return (n == null ? void 0 : n.id) === ((r = (i = this.$route) == null ? void 0 : i.query) == null ? void 0 : r.card);
1136
+ return ((e = (t = this.tableData) == null ? void 0 : t.rows) == null ? void 0 : e.find((s) => {
1137
+ var i, n;
1138
+ return (s == null ? void 0 : s.id) === ((n = (i = this.$route) == null ? void 0 : i.query) == null ? void 0 : n.card);
1102
1139
  })) || {};
1103
1140
  },
1104
1141
  getActions() {
@@ -1111,19 +1148,18 @@ const On = /* @__PURE__ */ _(zn, [["render", Un]]), En = (t, e = 300) => {
1111
1148
  this.tableData = null, await this.getTableData();
1112
1149
  },
1113
1150
  searchValue: {
1114
- handler: En(async function(t) {
1151
+ handler: os(async function(t) {
1115
1152
  var e;
1116
1153
  await this.getTableData(), this.$router.push({
1117
1154
  ...this.$route,
1118
1155
  query: { ...(e = this.$route) == null ? void 0 : e.query, search: t || void 0 }
1119
1156
  });
1120
- }, 500),
1121
- immediate: !0
1157
+ }, 500)
1122
1158
  },
1123
1159
  $route: {
1124
1160
  handler(t, e) {
1125
- var n, i;
1126
- ((n = t == null ? void 0 : t.params) == null ? void 0 : n.catchAll) !== ((i = e == null ? void 0 : e.params) == null ? void 0 : i.catchAll) && (this.visibleColumns = [], this.unmountedData(), this.getFilters());
1161
+ var s, i;
1162
+ ((s = t == null ? void 0 : t.params) == null ? void 0 : s.catchAll) !== ((i = e == null ? void 0 : e.params) == null ? void 0 : i.catchAll) && (this.visibleColumns = [], this.unmountedData(), this.getFilters());
1127
1163
  },
1128
1164
  deep: !0
1129
1165
  },
@@ -1142,40 +1178,40 @@ const On = /* @__PURE__ */ _(zn, [["render", Un]]), En = (t, e = 300) => {
1142
1178
  var e;
1143
1179
  this.$router.replace({
1144
1180
  ...this.$route,
1145
- query: { ...(e = this.$route) == null ? void 0 : e.query, filterCustom: t }
1181
+ query: { ...(e = this.$route) == null ? void 0 : e.query, custom: t }
1146
1182
  }), this.getTableData();
1147
1183
  },
1148
1184
  columns(t) {
1149
- var e, n, i, r;
1185
+ var e, s, i, n;
1150
1186
  this.visibleColumns = t == null ? void 0 : t.map((o) => o == null ? void 0 : o.name), this.initialHiddenColumns === ((e = this.visibleColumns) == null ? void 0 : e.join(",")) && (this.visibleColumns = []), this.$router.replace({
1151
1187
  ...this.$route,
1152
1188
  query: {
1153
- ...(n = this.$route) == null ? void 0 : n.query,
1154
- columns: (i = this.visibleColumns) != null && i.length ? (r = this.visibleColumns) == null ? void 0 : r.join(",") : void 0
1189
+ ...(s = this.$route) == null ? void 0 : s.query,
1190
+ columns: (i = this.visibleColumns) != null && i.length ? (n = this.visibleColumns) == null ? void 0 : n.join(",") : void 0
1155
1191
  }
1156
1192
  });
1157
1193
  }
1158
1194
  },
1159
1195
  methods: {
1160
1196
  async checkUrlMounted() {
1161
- var t, e, n, i, r, o, u, b, p, g, k, c, x, h;
1162
- this.page = ((e = (t = this.$route) == null ? void 0 : t.query) == null ? void 0 : e.page) || 1, this.limit = ((i = (n = this.$route) == null ? void 0 : n.query) == null ? void 0 : i.limit) || 20, this.filterState = ((o = (r = this.$route) == null ? void 0 : r.query) == null ? void 0 : o.filterState) || null, this.filterCustom = ((b = (u = this.$route) == null ? void 0 : u.query) == null ? void 0 : b.filterCustom) || null, this.searchValue = ((g = (p = this.$route) == null ? void 0 : p.query) == null ? void 0 : g.search) || null, this.visibleColumns = ((x = (c = (k = this.$route) == null ? void 0 : k.query) == null ? void 0 : c.columns) == null ? void 0 : x.split(",")) || [], (h = this.$route) != null && h.query.card && (this.isVisibleCardInfo = !0);
1197
+ var t, e, s, i, n, o, u, b, f, g, v, c, m, p, S, y;
1198
+ this.page = ((e = (t = this.$route) == null ? void 0 : t.query) == null ? void 0 : e.page) || 1, this.limit = ((i = (s = this.$route) == null ? void 0 : s.query) == null ? void 0 : i.limit) || 20, this.filters = decodeURI((o = (n = this.$route) == null ? void 0 : n.query) == null ? void 0 : o.filter) || void 0, this.filterState = ((b = (u = this.$route) == null ? void 0 : u.query) == null ? void 0 : b.filterState) || null, this.filterCustom = ((g = (f = this.$route) == null ? void 0 : f.query) == null ? void 0 : g.custom) || null, this.searchValue = ((c = (v = this.$route) == null ? void 0 : v.query) == null ? void 0 : c.search) || "", this.visibleColumns = ((S = (p = (m = this.$route) == null ? void 0 : m.query) == null ? void 0 : p.columns) == null ? void 0 : S.split(",")) || [], (y = this.$route) != null && y.query.card && (this.isVisibleCardInfo = !0);
1163
1199
  },
1164
1200
  rowWidth(t) {
1165
- var n, i;
1166
- const e = (i = (n = this.tableData) == null ? void 0 : n.columns) == null ? void 0 : i.find((r) => r.name === t);
1201
+ var s, i;
1202
+ const e = (i = (s = this.tableData) == null ? void 0 : s.columns) == null ? void 0 : i.find((n) => n.name === t);
1167
1203
  if (e) {
1168
- const r = e == null ? void 0 : e.width;
1169
- return r != null && r.includes("px") ? r : `${r}px`;
1204
+ const n = e == null ? void 0 : e.width;
1205
+ return n != null && n.includes("px") ? n : `${n}px`;
1170
1206
  }
1171
1207
  },
1172
1208
  unmountedData() {
1173
1209
  this.page = 1, this.visibleColumns = [], this.filterCustom = null, this.filterState = null, this.isVisibleCardInfo = !1, this.filterScheme = null, this.filters = null, this.onFilters = 0, this.searchValue = "";
1174
1210
  },
1175
1211
  async getTableData() {
1176
- var t, e, n, i, r, o, u, b, p, g, k;
1212
+ var t, e, s, i, n, o, u, b, f, g, v;
1177
1213
  try {
1178
- const { data: c } = await T.get(`/api/template/table/${this.table}`), x = await T.get(`/api/table-data/${this.table}`, {
1214
+ const { data: c } = await V.get(`/api/template/table/${this.table}`), m = await V.get(`/api/table-data/${this.table}`, {
1179
1215
  params: {
1180
1216
  page: this.page,
1181
1217
  search: this.searchValue || null,
@@ -1188,21 +1224,21 @@ const On = /* @__PURE__ */ _(zn, [["render", Un]]), En = (t, e = 300) => {
1188
1224
  });
1189
1225
  this.tableData = {
1190
1226
  ...c,
1191
- ...(x == null ? void 0 : x.data) || {}
1192
- }, this.initialHiddenColumns = (o = (r = (i = (n = this.tableData) == null ? void 0 : n.columns) == null ? void 0 : i.filter((h) => (h == null ? void 0 : h.hidden) !== !0)) == null ? void 0 : r.map((h) => h == null ? void 0 : h.name)) == null ? void 0 : o.join(","), (u = this.visibleColumns) != null && u.length ? (b = this.tableData) == null || b.columns.forEach((h) => {
1193
- var y;
1194
- (y = this.visibleColumns) != null && y.includes(h == null ? void 0 : h.name) ? h.hidden = !1 : h.hidden = !0;
1195
- }) : this.visibleColumns = (k = (g = (p = this.tableData) == null ? void 0 : p.columns) == null ? void 0 : g.filter((h) => (h == null ? void 0 : h.hidden) !== !0)) == null ? void 0 : k.map((h) => h == null ? void 0 : h.name);
1227
+ ...(m == null ? void 0 : m.data) || {}
1228
+ }, this.initialHiddenColumns = (o = (n = (i = (s = this.tableData) == null ? void 0 : s.columns) == null ? void 0 : i.filter((p) => (p == null ? void 0 : p.hidden) !== !0)) == null ? void 0 : n.map((p) => p == null ? void 0 : p.name)) == null ? void 0 : o.join(","), (u = this.visibleColumns) != null && u.length ? (b = this.tableData) == null || b.columns.forEach((p) => {
1229
+ var S;
1230
+ (S = this.visibleColumns) != null && S.includes(p == null ? void 0 : p.name) ? p.hidden = !1 : p.hidden = !0;
1231
+ }) : this.visibleColumns = (v = (g = (f = this.tableData) == null ? void 0 : f.columns) == null ? void 0 : g.filter((p) => (p == null ? void 0 : p.hidden) !== !0)) == null ? void 0 : v.map((p) => p == null ? void 0 : p.name);
1196
1232
  } catch {
1197
1233
  }
1198
1234
  },
1199
1235
  async getFilters() {
1200
1236
  var t;
1201
1237
  try {
1202
- const { data: e } = await T.get(`/api/table-filter/${this.table}`);
1203
- this.filterScheme = (t = e == null ? void 0 : e.list) == null ? void 0 : t.map((n) => ({
1204
- ...n,
1205
- label: (n == null ? void 0 : n.label) || (n == null ? void 0 : n.ua)
1238
+ const { data: e } = await V.get(`/api/table-filter/${this.table}`);
1239
+ this.filterScheme = (t = e == null ? void 0 : e.list) == null ? void 0 : t.map((s) => ({
1240
+ ...s,
1241
+ label: (s == null ? void 0 : s.label) || (s == null ? void 0 : s.ua)
1206
1242
  }));
1207
1243
  } catch {
1208
1244
  }
@@ -1215,8 +1251,8 @@ const On = /* @__PURE__ */ _(zn, [["render", Un]]), En = (t, e = 300) => {
1215
1251
  this.limit = await t, this.defaultPage = 1, await this.getTableData();
1216
1252
  },
1217
1253
  async filterChange({ url: t, state: e }) {
1218
- var n;
1219
- this.filters = t !== "no-url" ? t : null, this.onFilters = (n = Object.entries(e)) == null ? void 0 : n.length, this.page = 1, await this.getTableData();
1254
+ var s;
1255
+ this.filters = t !== "no-url" ? t : null, this.onFilters = (s = Object.entries(e)) == null ? void 0 : s.length, this.page = 1, await this.getTableData();
1220
1256
  },
1221
1257
  changeActiveColumn(t) {
1222
1258
  this.activeColumn = t, this.getTableData();
@@ -1240,201 +1276,227 @@ const On = /* @__PURE__ */ _(zn, [["render", Un]]), En = (t, e = 300) => {
1240
1276
  });
1241
1277
  }
1242
1278
  }
1243
- }, Nn = { class: "w-[calc(100vw - 320px)] bg-gray-50" }, Wn = { class: "h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white border rounded-xl" }, Rn = { class: "text-xl font-medium" }, Gn = {
1279
+ }, is = { class: "w-[calc(100vw - 320px)] bg-gray-50" }, cs = { class: "h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white border rounded-xl" }, us = { class: "text-xl font-medium" }, ds = {
1244
1280
  style: { height: "calc(100vh - 155px)", width: "calc(100vw - 260px)" },
1245
1281
  class: "bg-gray-50 p-[20px] flex pt-[10px]"
1246
- }, Zn = { class: "bg-white w-full rounded-xl border p-[20px] pr-0" }, Jn = { class: "flex" }, Kn = { class: "flex gap-[6px] ml-auto" }, Qn = { class: "inline-block w-full align-middle" }, Xn = {
1282
+ }, hs = { class: "bg-white w-full rounded-xl border p-[20px] pr-0" }, ps = { class: "flex" }, fs = { class: "flex gap-[6px] ml-auto" }, bs = { class: "inline-block w-full align-middle" }, ms = {
1247
1283
  key: 0,
1248
1284
  class: "relative min-w-full divide-y divide-gray-200 table-fixed dark:divide-neutral-700"
1249
- }, Yn = { class: "sticky top-[-1px] bg-white w-full after:absolute after:content-[''] after:block after:w-full after:h-px after:bg-stone-200" }, er = { class: "right-0 border-t border-stone-200" }, tr = { class: "divide-y divide-gray-200" }, nr = { class: "px-4 py-3 text-sm text-gray-600" }, rr = ["onClick"], lr = ["onClick"], sr = {
1285
+ }, gs = { class: "sticky top-[-1px] bg-white w-full after:absolute after:content-[''] after:block after:w-full after:h-px after:bg-stone-200" }, xs = { class: "right-0 border-t border-stone-200" }, ys = {
1286
+ key: 0,
1287
+ class: "w-[70px] sticky right-0 top-0"
1288
+ }, _s = { class: "divide-y divide-gray-200" }, ks = { class: "px-4 py-3 text-sm text-gray-600" }, vs = ["onClick"], ws = ["onClick"], Cs = { class: "p-[20px] flex justify-start items-center w-full" }, $s = { class: "w-[200px]" }, Ss = { class: "text-sm text-gray-600 dark:text-neutral-400" }, As = { class: "font-semibold text-gray-800 dark:text-neutral-200" }, Is = { key: 0 }, Ts = {
1250
1289
  key: 0,
1251
- class: "text-center sticky right-0 bg-white w-[80px] px-[10px]"
1252
- }, or = { class: "p-[20px] flex justify-start items-center w-full" }, ar = { class: "w-[200px]" }, ir = { class: "text-sm text-gray-600 dark:text-neutral-400" }, cr = { class: "font-semibold text-gray-800 dark:text-neutral-200" }, ur = { class: "font-semibold text-gray-800 dark:text-neutral-200" };
1253
- function dr(t, e, n, i, r, o) {
1254
- var B, P, L, U, O, E, H, N, W, R, G, Z, J, K, Q, X;
1255
- const u = d("IconPlus"), b = d("router-link"), p = d("AdminTableTabs"), g = d("IconSearch"), k = d("VsText"), c = d("AdminTableCustomFilters"), x = d("AdminTableColumnsHidden"), h = d("AdminTableExport"), y = d("AdminTableFilters"), V = d("IconOpenCard"), F = d("AdminTableColumn"), M = d("AdminComponentIs"), ie = d("AdminTableControl"), ce = d("AdminNodata"), ue = d("VsPagination"), de = d("AdminTableCardInfo");
1256
- return s(), a("div", Nn, [
1257
- l("div", Wn, [
1258
- l("h2", Rn, S(n.title), 1),
1259
- o.isForm ? (s(), v(b, {
1290
+ class: "font-semibold text-gray-800 dark:text-neutral-200"
1291
+ };
1292
+ function Vs(t, e, s, i, n, o) {
1293
+ var U, O, E, N, H, R, W, G, Z, J, K, Q, X, Y, ee, te, ne, se, re, le, oe;
1294
+ const u = h("IconPlus"), b = h("router-link"), f = h("AdminTableTabs"), g = h("IconSearch"), v = h("VsText"), c = h("AdminTableCustomButtons"), m = h("AdminTableCustomFilters"), p = h("AdminTableColumnsHidden"), S = h("AdminTableExport"), y = h("AdminTableFilters"), F = h("IconOpenCard"), q = h("AdminTableColumn"), L = h("AdminComponentIs"), we = h("AdminTableControl"), Ce = h("AdminNodata"), $e = h("VsPagination"), Se = h("AdminTableCardInfo");
1295
+ return l(), a("div", is, [
1296
+ r("div", cs, [
1297
+ r("h2", us, A(s.title), 1),
1298
+ o.isForm ? (l(), _(b, {
1260
1299
  key: 0,
1261
- to: `/add?table=${(P = (B = t.$route) == null ? void 0 : B.params) == null ? void 0 : P.catchAll}`,
1300
+ to: `/add?table=${(O = (U = t.$route) == null ? void 0 : U.params) == null ? void 0 : O.catchAll}`,
1262
1301
  class: "inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-blue-600 border border-transparent rounded-lg gap-x-2 hover:bg-blue-700 hover:text-white"
1263
1302
  }, {
1264
- default: w(() => [
1265
- f(u, {
1303
+ default: C(() => [
1304
+ x(u, {
1266
1305
  height: "16",
1267
1306
  width: "16"
1268
1307
  }),
1269
1308
  e[5] || (e[5] = D(" Додати "))
1270
1309
  ]),
1271
1310
  _: 1
1272
- }, 8, ["to"])) : C("", !0)
1311
+ }, 8, ["to"])) : w("", !0)
1273
1312
  ]),
1274
- l("div", Gn, [
1275
- l("div", Zn, [
1276
- (U = (L = r.tableData) == null ? void 0 : L.filterState) != null && U.length ? (s(), v(p, {
1313
+ r("div", ds, [
1314
+ r("div", hs, [
1315
+ (N = (E = n.tableData) == null ? void 0 : E.filterState) != null && N.length ? (l(), _(f, {
1277
1316
  key: 0,
1278
- tabsList: (O = r.tableData) == null ? void 0 : O.filterState,
1279
- filterState: r.filterState,
1280
- "onUpdate:filterState": e[0] || (e[0] = (m) => r.filterState = m)
1281
- }, null, 8, ["tabsList", "filterState"])) : C("", !0),
1282
- l("div", Jn, [
1283
- l("div", {
1284
- class: A([r.isVisibleCardInfo ? "w-[calc(100%-360px)]" : "w-full"])
1317
+ tabsList: (H = n.tableData) == null ? void 0 : H.filterState,
1318
+ filterState: n.filterState,
1319
+ "onUpdate:filterState": e[0] || (e[0] = (d) => n.filterState = d)
1320
+ }, null, 8, ["tabsList", "filterState"])) : w("", !0),
1321
+ r("div", ps, [
1322
+ r("div", {
1323
+ class: I([n.isVisibleCardInfo ? "w-[calc(100%-360px)]" : "w-full"])
1285
1324
  }, [
1286
- l("div", {
1287
- class: A(["flex sm:grid sm:grid-cols-2 gap-x-2 sm:gap-x-5 mb-[10px] relative", { "pr-[20px]": !r.isVisibleCardInfo }])
1325
+ r("div", {
1326
+ class: I(["flex sm:grid sm:grid-cols-2 gap-x-2 sm:gap-x-5 mb-[10px] relative", { "pr-[20px]": !n.isVisibleCardInfo }])
1288
1327
  }, [
1289
- f(g, {
1328
+ x(g, {
1290
1329
  height: "14",
1291
1330
  width: "14",
1292
1331
  class: "absolute top-[10px] left-[14px] text-gray-500 z-[1]"
1293
1332
  }),
1294
- f(k, {
1295
- modelValue: r.searchValue,
1296
- "onUpdate:modelValue": e[1] || (e[1] = (m) => r.searchValue = m),
1333
+ x(v, {
1334
+ modelValue: n.searchValue,
1335
+ "onUpdate:modelValue": e[1] || (e[1] = (d) => n.searchValue = d),
1297
1336
  placeholder: "Пошук...",
1298
1337
  clearable: !0,
1299
1338
  class: "[&>input]:py-[7px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:rounded-lg [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600"
1300
1339
  }, null, 8, ["modelValue"]),
1301
- l("div", Kn, [
1302
- (H = (E = r.tableData) == null ? void 0 : E.filterCustom) != null && H.length ? (s(), v(c, {
1340
+ r("div", fs, [
1341
+ (R = n.tableData) != null && R.slots ? (l(), _(c, {
1303
1342
  key: 0,
1304
- customList: (N = r.tableData) == null ? void 0 : N.filterCustom,
1305
- filterCustom: r.filterCustom,
1306
- "onUpdate:filterCustom": e[2] || (e[2] = (m) => r.filterCustom = m)
1307
- }, null, 8, ["customList", "filterCustom"])) : C("", !0),
1308
- f(x, {
1309
- columns: (W = r.tableData) == null ? void 0 : W.columns,
1310
- onUpdateColumns: e[3] || (e[3] = (m) => r.tableData.columns = m)
1343
+ slots: (W = n.tableData) == null ? void 0 : W.slots
1344
+ }, null, 8, ["slots"])) : w("", !0),
1345
+ (Z = (G = n.tableData) == null ? void 0 : G.filterCustom) != null && Z.length ? (l(), _(m, {
1346
+ key: 1,
1347
+ customList: (J = n.tableData) == null ? void 0 : J.filterCustom,
1348
+ filterCustom: n.filterCustom,
1349
+ "onUpdate:filterCustom": e[2] || (e[2] = (d) => n.filterCustom = d)
1350
+ }, null, 8, ["customList", "filterCustom"])) : w("", !0),
1351
+ x(p, {
1352
+ columns: (K = n.tableData) == null ? void 0 : K.columns,
1353
+ onUpdateColumns: e[3] || (e[3] = (d) => n.tableData.columns = d)
1311
1354
  }, null, 8, ["columns"]),
1312
- f(h, {
1313
- table: n.table,
1314
- columns: (R = r.tableData) == null ? void 0 : R.columns,
1315
- page: r.page,
1316
- "filter-state": r.filterState,
1317
- "filter-custom": r.filterCustom,
1318
- filters: r.filters
1355
+ x(S, {
1356
+ table: s.table,
1357
+ columns: (Q = n.tableData) == null ? void 0 : Q.columns,
1358
+ page: n.page,
1359
+ "filter-state": n.filterState,
1360
+ "filter-custom": n.filterCustom,
1361
+ filters: n.filters
1319
1362
  }, null, 8, ["table", "columns", "page", "filter-state", "filter-custom", "filters"]),
1320
- f(y, {
1321
- scheme: r.filterScheme,
1322
- onFilters: r.onFilters,
1363
+ (X = n.filterScheme) != null && X.length ? (l(), _(y, {
1364
+ key: 2,
1365
+ scheme: n.filterScheme,
1366
+ onFilters: n.onFilters,
1323
1367
  onFilterChange: o.filterChange
1324
- }, null, 8, ["scheme", "onFilters", "onFilterChange"]),
1325
- l("button", {
1326
- onClick: e[4] || (e[4] = (...m) => o.toggleCardInfo && o.toggleCardInfo(...m)),
1368
+ }, null, 8, ["scheme", "onFilters", "onFilterChange"])) : w("", !0),
1369
+ r("button", {
1370
+ onClick: e[4] || (e[4] = (...d) => o.toggleCardInfo && o.toggleCardInfo(...d)),
1327
1371
  class: "py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"
1328
1372
  }, [
1329
- f(V, {
1330
- class: A({ "rotate-180 duration-300": !r.isVisibleCardInfo })
1373
+ x(F, {
1374
+ class: I({ "rotate-180 duration-300": !n.isVisibleCardInfo })
1331
1375
  }, null, 8, ["class"])
1332
1376
  ])
1333
1377
  ])
1334
1378
  ], 2),
1335
- l("div", {
1336
- class: A(["flex items-start justify-start w-full space-y-5", { "pr-[20px]": !r.isVisibleCardInfo }])
1379
+ r("div", {
1380
+ class: I(["flex items-start justify-start w-full space-y-5", { "pr-[20px]": !n.isVisibleCardInfo }])
1337
1381
  }, [
1338
- l("div", {
1339
- style: le({
1340
- height: (Z = (G = r.tableData) == null ? void 0 : G.filterState) != null && Z.length ? "calc(100vh - 370px)" : "calc(100vh - 330px)"
1382
+ r("div", {
1383
+ style: ye({
1384
+ height: (ee = (Y = n.tableData) == null ? void 0 : Y.filterState) != null && ee.length ? "calc(100vh - 370px)" : "calc(100vh - 330px)"
1341
1385
  }),
1342
1386
  class: "overflow-x-auto w-full [&::-webkit-scrollbar]:h-2 [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-stone-100 [&::-webkit-scrollbar-thumb]:bg-stone-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500"
1343
1387
  }, [
1344
- l("div", Qn, [
1345
- o.isNoData ? (s(), v(ce, { key: 1 })) : (s(), a("table", Xn, [
1346
- l("thead", Yn, [
1347
- l("tr", er, [
1348
- (s(!0), a($, null, I(o.columns, (m) => (s(), v(F, {
1349
- key: m.name,
1350
- style: le({
1351
- width: o.rowWidth(m == null ? void 0 : m.name),
1352
- textAlign: m == null ? void 0 : m.align,
1353
- wordBreak: m == null ? void 0 : m.wrap
1388
+ r("div", bs, [
1389
+ o.isNoData ? (l(), _(Ce, { key: 1 })) : (l(), a("table", ms, [
1390
+ r("thead", gs, [
1391
+ r("tr", xs, [
1392
+ (l(!0), a($, null, T(o.columns, (d) => (l(), _(q, {
1393
+ key: d.name,
1394
+ style: ye({
1395
+ width: o.rowWidth(d == null ? void 0 : d.name),
1396
+ textAlign: d == null ? void 0 : d.align,
1397
+ wordBreak: d == null ? void 0 : d.wrap
1354
1398
  }),
1355
- data: m,
1356
- activeColumn: r.activeColumn,
1399
+ data: d,
1400
+ activeColumn: n.activeColumn,
1357
1401
  onChangeActive: o.changeActiveColumn
1358
1402
  }, null, 8, ["style", "data", "activeColumn", "onChangeActive"]))), 128)),
1359
- e[6] || (e[6] = l("th", { class: "w-[70px] sticky right-0 top-0" }, null, -1))
1403
+ (ne = (te = o.getActions) == null ? void 0 : te.filter((d) => d !== "add")) != null && ne.length ? (l(), a("th", ys)) : w("", !0)
1360
1404
  ])
1361
1405
  ]),
1362
- l("tbody", tr, [
1363
- (s(!0), a($, null, I((J = r.tableData) == null ? void 0 : J.rows, (m, he) => {
1364
- var Y, ee, te;
1365
- return s(), a("tr", { key: he }, [
1366
- l("td", nr, [
1367
- l("button", {
1368
- onClick: () => o.pushToCard(m == null ? void 0 : m.id),
1369
- class: A(["text-sm font-medium", [
1370
- ((Y = r.tableData) == null ? void 0 : Y.card) === !1 ? "" : "text-blue-600 decoration-2 focus:outline-none focus:underline hover:text-blue-600 hover:underline"
1406
+ r("tbody", _s, [
1407
+ (l(!0), a($, null, T((se = n.tableData) == null ? void 0 : se.rows, (d, Ae) => {
1408
+ var ae, ie, ce, ue, de, he, pe, fe, be, me;
1409
+ return l(), a("tr", {
1410
+ key: Ae,
1411
+ class: I({
1412
+ "bg-gray-50": ((ie = (ae = t.$route) == null ? void 0 : ae.query) == null ? void 0 : ie.card) === (d == null ? void 0 : d.id)
1413
+ })
1414
+ }, [
1415
+ r("td", ks, [
1416
+ r("button", {
1417
+ onClick: () => o.pushToCard(d == null ? void 0 : d.id),
1418
+ class: I(["text-sm font-medium", [
1419
+ ((ce = n.tableData) == null ? void 0 : ce.card) === !1 ? "" : "text-blue-600 decoration-2 focus:outline-none focus:underline hover:text-blue-600 hover:underline"
1371
1420
  ]])
1372
1421
  }, [
1373
- f(M, {
1374
- row: m,
1422
+ x(L, {
1423
+ row: d,
1375
1424
  column: o.columns[0],
1376
- table: n.table,
1425
+ table: s.table,
1377
1426
  onUpdateTable: o.getTableData
1378
1427
  }, null, 8, ["row", "column", "table", "onUpdateTable"])
1379
- ], 10, rr)
1428
+ ], 10, vs)
1380
1429
  ]),
1381
- (s(!0), a($, null, I((ee = o.columns) == null ? void 0 : ee.slice(1), (ne) => (s(), a("td", {
1382
- onClick: (mr) => o.changeActiveCardInfo(m == null ? void 0 : m.id),
1383
- class: A(["px-3 py-3 text-sm text-gray-600 text-start whitespace-nowrap", { "cursor-pointer": r.isVisibleCardInfo }]),
1384
- key: ne.name
1430
+ (l(!0), a($, null, T((ue = o.columns) == null ? void 0 : ue.slice(1), (M) => (l(), a("td", {
1431
+ onClick: (qs) => o.changeActiveCardInfo(d == null ? void 0 : d.id),
1432
+ class: I(["px-3 py-3 text-sm text-gray-600 text-start whitespace-nowrap", { "cursor-pointer": n.isVisibleCardInfo }]),
1433
+ key: M.name
1385
1434
  }, [
1386
- f(M, {
1387
- row: m,
1388
- column: ne,
1389
- table: n.table,
1435
+ x(L, {
1436
+ row: d,
1437
+ column: M,
1438
+ table: s.table,
1390
1439
  onUpdateTable: o.getTableData
1391
1440
  }, null, 8, ["row", "column", "table", "onUpdateTable"])
1392
- ], 10, lr))), 128)),
1393
- (te = o.getActions) != null && te.length ? (s(), a("td", sr, [
1394
- f(ie, {
1441
+ ], 10, ws))), 128)),
1442
+ (he = (de = o.getActions) == null ? void 0 : de.filter((M) => M !== "add")) != null && he.length ? (l(), a("td", {
1443
+ key: 0,
1444
+ class: I(["text-center sticky right-0 w-[80px] px-[10px]", {
1445
+ "bg-gray-50": ((fe = (pe = t.$route) == null ? void 0 : pe.query) == null ? void 0 : fe.card) === (d == null ? void 0 : d.id),
1446
+ "bg-white": ((me = (be = t.$route) == null ? void 0 : be.query) == null ? void 0 : me.card) !== (d == null ? void 0 : d.id)
1447
+ }])
1448
+ }, [
1449
+ x(we, {
1395
1450
  actions: o.getActions,
1396
1451
  isForm: o.isForm,
1397
- item: m,
1398
- table: n.table,
1452
+ item: d,
1453
+ table: s.table,
1399
1454
  onUpdateTable: o.getTableData
1400
1455
  }, null, 8, ["actions", "isForm", "item", "table", "onUpdateTable"])
1401
- ])) : C("", !0)
1402
- ]);
1456
+ ], 2)) : w("", !0)
1457
+ ], 2);
1403
1458
  }), 128))
1404
1459
  ])
1405
1460
  ]))
1406
1461
  ])
1407
1462
  ], 4)
1408
1463
  ], 2),
1409
- l("div", or, [
1410
- l("div", ar, [
1411
- l("p", ir, [
1412
- l("span", cr, S(r.filters || r.searchValue ? "Знайдено" : "Об'єктів") + " " + S(((K = r.tableData) == null ? void 0 : K.count) || 0) + " з ", 1),
1413
- l("span", ur, S(((Q = r.tableData) == null ? void 0 : Q.total) || 0), 1)
1464
+ r("div", Cs, [
1465
+ r("div", $s, [
1466
+ r("p", Ss, [
1467
+ r("span", As, [
1468
+ D(A(n.filters || n.searchValue ? "Знайдено" : "Об'єктів") + " " + A(((re = n.tableData) == null ? void 0 : re.count) || "0 ") + " ", 1),
1469
+ n.filters || n.searchValue ? (l(), a("span", Is, " з")) : w("", !0)
1470
+ ]),
1471
+ n.filters || n.searchValue ? (l(), a("span", Ts, A(" " + ((le = n.tableData) == null ? void 0 : le.filtered) || 0), 1)) : w("", !0)
1414
1472
  ])
1415
1473
  ]),
1416
- r.limit ? (s(), v(ue, {
1474
+ n.limit ? (l(), _($e, {
1417
1475
  key: 0,
1418
1476
  goTo: !1,
1419
1477
  class: "justify-end",
1420
1478
  "default-page": parseInt(o.defaultPage),
1421
- total: ((X = r.tableData) == null ? void 0 : X.total) || 0,
1422
- pageSize: parseInt(r.limit),
1479
+ total: ((oe = n.tableData) == null ? void 0 : oe.filtered) || 0,
1480
+ pageSize: parseInt(n.limit),
1423
1481
  onPageChange: o.handlePageChange,
1424
1482
  pageSizes: [10, 16, 20],
1425
- onPageSizeChange: o.changeLimit
1426
- }, null, 8, ["default-page", "total", "pageSize", "onPageChange", "onPageSizeChange"])) : C("", !0)
1483
+ onPageSizeChange: o.changeLimit,
1484
+ backgroundColor: "#D6D3D1"
1485
+ }, null, 8, ["default-page", "total", "pageSize", "onPageChange", "onPageSizeChange"])) : w("", !0)
1427
1486
  ])
1428
1487
  ], 2),
1429
- f(z, { name: "slide-fade" }, {
1430
- default: w(() => [
1431
- r.isVisibleCardInfo ? (s(), v(de, {
1432
- key: 0,
1433
- table: n.table,
1434
- columns: o.columns,
1435
- row: o.activeCardRow
1436
- }, null, 8, ["table", "columns", "row"])) : C("", !0)
1437
- ]),
1488
+ x(P, { name: "slide-fade" }, {
1489
+ default: C(() => {
1490
+ var d;
1491
+ return [
1492
+ n.isVisibleCardInfo ? (l(), _(Se, {
1493
+ key: 0,
1494
+ table: s.table,
1495
+ columns: (d = n.tableData) == null ? void 0 : d.columns,
1496
+ row: o.activeCardRow
1497
+ }, null, 8, ["table", "columns", "row"])) : w("", !0)
1498
+ ];
1499
+ }),
1438
1500
  _: 1
1439
1501
  })
1440
1502
  ])
@@ -1442,8 +1504,8 @@ function dr(t, e, n, i, r, o) {
1442
1504
  ])
1443
1505
  ]);
1444
1506
  }
1445
- const hr = /* @__PURE__ */ _(Hn, [["render", dr], ["__scopeId", "data-v-4fec8b49"]]), pr = {
1446
- components: { AdminTable: hr },
1507
+ const Ds = /* @__PURE__ */ k(as, [["render", Vs], ["__scopeId", "data-v-f77b0b94"]]), Fs = {
1508
+ components: { AdminTable: Ds },
1447
1509
  data() {
1448
1510
  return {
1449
1511
  table: !1,
@@ -1455,12 +1517,13 @@ const hr = /* @__PURE__ */ _(Hn, [["render", dr], ["__scopeId", "data-v-4fec8b49
1455
1517
  $route: {
1456
1518
  async handler() {
1457
1519
  var t;
1458
- (t = re) != null && t.value || await this.getMenu(), await this.checkPageType();
1520
+ (t = ge) != null && t.value || await this.getMenu(), await this.checkPageType();
1459
1521
  },
1460
1522
  deep: !0
1461
1523
  },
1462
1524
  title(t) {
1463
- t && (document.title = t);
1525
+ var e;
1526
+ t && (document.title = (((e = je.value) == null ? void 0 : e.titlePrefix) || "") + t);
1464
1527
  }
1465
1528
  },
1466
1529
  async mounted() {
@@ -1469,49 +1532,49 @@ const hr = /* @__PURE__ */ _(Hn, [["render", dr], ["__scopeId", "data-v-4fec8b49
1469
1532
  methods: {
1470
1533
  flattenMenu(t) {
1471
1534
  const e = [];
1472
- return t.forEach((n) => {
1473
- n.menu ? e.push(...this.flattenMenu(n.menu)) : e.push(n);
1535
+ return t.forEach((s) => {
1536
+ s.menu ? e.push(...this.flattenMenu(s.menu)) : e.push(s);
1474
1537
  }), e;
1475
1538
  },
1476
1539
  async checkPageType() {
1477
- var i, r;
1478
- const t = this.flattenMenu(re.value);
1540
+ var i, n;
1541
+ const t = this.flattenMenu(ge.value);
1479
1542
  t != null && t.length || this.$router.replace("/404");
1480
1543
  const e = t == null ? void 0 : t.find((o) => {
1481
1544
  var u, b;
1482
1545
  return (o == null ? void 0 : o.path) == ((b = (u = this.$route) == null ? void 0 : u.params) == null ? void 0 : b.catchAll);
1483
1546
  });
1484
- this.title = e == null ? void 0 : e.ua, e || this.$router.replace("/404"), e != null && e.component && this.$router.replace((r = (i = this.$route) == null ? void 0 : i.params) == null ? void 0 : r.catchAll);
1485
- const n = e == null ? void 0 : e.table;
1486
- this.table = n || !1, !n && this.getInterface();
1547
+ this.title = e == null ? void 0 : e.ua, e || this.$router.replace("/404"), e != null && e.component && this.$router.replace((n = (i = this.$route) == null ? void 0 : i.params) == null ? void 0 : n.catchAll);
1548
+ const s = e == null ? void 0 : e.table;
1549
+ this.table = s || !1, !s && this.getInterface();
1487
1550
  },
1488
1551
  async getInterface() {
1489
1552
  var t, e;
1490
1553
  try {
1491
- const { data: n } = await T.get(
1554
+ const { data: s } = await V.get(
1492
1555
  `/api/template/interface/${((e = (t = this.$route) == null ? void 0 : t.params) == null ? void 0 : e.catchAll) || ""}`
1493
1556
  );
1494
- this.interface = n || "";
1557
+ this.interface = s || "";
1495
1558
  } catch {
1496
1559
  this.interface = "";
1497
1560
  }
1498
1561
  }
1499
1562
  }
1500
- }, br = ["innerHTML"];
1501
- function fr(t, e, n, i, r, o) {
1502
- const u = d("AdminTable");
1503
- return r.table ? (s(), v(u, {
1563
+ }, Ms = ["innerHTML"];
1564
+ function js(t, e, s, i, n, o) {
1565
+ const u = h("AdminTable");
1566
+ return n.table ? (l(), _(u, {
1504
1567
  key: 0,
1505
- table: r.table,
1506
- title: r.title
1507
- }, null, 8, ["table", "title"])) : (s(), a("div", {
1568
+ table: n.table,
1569
+ title: n.title
1570
+ }, null, 8, ["table", "title"])) : (l(), a("div", {
1508
1571
  key: 1,
1509
1572
  class: "w-full bg-gray-50",
1510
1573
  style: { height: "calc(100vh - 120px)" },
1511
- innerHTML: r.interface
1512
- }, null, 8, br));
1574
+ innerHTML: n.interface
1575
+ }, null, 8, Ms));
1513
1576
  }
1514
- const _r = /* @__PURE__ */ _(pr, [["render", fr]]);
1577
+ const Ls = /* @__PURE__ */ k(Fs, [["render", js]]);
1515
1578
  export {
1516
- _r as default
1579
+ Ls as default
1517
1580
  };