@opengis/admin 0.2.66 → 0.2.68

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 (127) hide show
  1. package/README.md +97 -97
  2. package/config.js +4 -4
  3. package/dist/{add-page-BGF5KVWj.js → add-page-DxcLw2Tg.js} +1 -1
  4. package/dist/{admin-interface-C38XwfYa.js → admin-interface-PNmf4mYy.js} +353 -339
  5. package/dist/{admin-view-CxfEFvYh.js → admin-view-BhUkmxzd.js} +2 -2
  6. package/dist/admin.js +1 -1
  7. package/dist/admin.umd.cjs +75 -75
  8. package/dist/assets/logo.svg +41 -41
  9. package/dist/{card-view-BSDdkWai.js → card-view-BHYYHZKY.js} +1 -1
  10. package/dist/{edit-page-BOvj73M2.js → edit-page-CwSP7-2a.js} +1 -1
  11. package/dist/{import-file-BdITdwoX.js → import-file-B2eafLRU.js} +9229 -9165
  12. package/dist/style.css +1 -1
  13. package/module/settings/card/admin.accounts.table/index.yml +7 -7
  14. package/module/settings/card/admin.accounts.table/rules.hbs +18 -18
  15. package/module/settings/card/admin.accounts.table/users.hbs +13 -13
  16. package/module/settings/card/admin.routes.table/groups.hbs +11 -11
  17. package/module/settings/card/admin.routes.table/index.yml +11 -11
  18. package/module/settings/card/admin.routes.table/users.hbs +16 -16
  19. package/module/settings/cls/core.actions.json +17 -17
  20. package/module/settings/cls/core.scope.json +13 -13
  21. package/module/settings/cls/properties.site_status.json +13 -13
  22. package/module/settings/cls/properties.widget_status.json +13 -13
  23. package/module/settings/cls/users.user_type.json +13 -13
  24. package/module/settings/cls/yes_no.json +11 -11
  25. package/module/settings/form/admin.accounts.form.json +13 -13
  26. package/module/settings/form/admin.properties.form.json +15 -15
  27. package/module/settings/form/admin.roles.form.json +21 -21
  28. package/module/settings/form/admin.user_properties.form.json +15 -15
  29. package/module/settings/form/admin.user_roles_card.form.json +13 -13
  30. package/module/settings/interface/admin.properties.json +4 -4
  31. package/module/settings/interface/admin.roles.json +4 -4
  32. package/module/settings/interface/admin.routes.json +4 -4
  33. package/module/settings/interface/admin.users.json +4 -4
  34. package/module/settings/select/core.routes.sql +1 -1
  35. package/module/settings/select/core.user_mentioned.sql +1 -1
  36. package/module/settings/select/core.user_uid.sql +1 -1
  37. package/module/settings/table/admin.properties.table.json +39 -39
  38. package/module/settings/table/admin.user_properties.table.json +34 -34
  39. package/package.json +2 -2
  40. package/plugin.js +29 -29
  41. package/server/helpers/core/badge.js +16 -16
  42. package/server/helpers/core/buttonHelper.js +21 -21
  43. package/server/helpers/core/select.js +48 -48
  44. package/server/helpers/core/token.js +18 -18
  45. package/server/helpers/index.js +29 -29
  46. package/server/helpers/list/buttonHelper.js +21 -21
  47. package/server/helpers/list/utils/button.js +5 -5
  48. package/server/helpers/temp/contentList.js +58 -58
  49. package/server/helpers/temp/ifCond.js +101 -101
  50. package/server/helpers/utils/button.js +5 -5
  51. package/server/plugins/access/index.mjs +6 -6
  52. package/server/plugins/adminHook.js +81 -81
  53. package/server/plugins/cron.js +10 -10
  54. package/server/plugins/docs.js +28 -28
  55. package/server/plugins/vite.js +71 -71
  56. package/server/routes/access/controllers/access.group.js +29 -29
  57. package/server/routes/access/controllers/access.group.post.js +49 -49
  58. package/server/routes/access/index.mjs +8 -8
  59. package/server/routes/access/schema.mjs +57 -57
  60. package/server/routes/calendar/controllers/calendar.data.js +87 -87
  61. package/server/routes/calendar/index.mjs +7 -7
  62. package/server/routes/calendar/schema.js +21 -21
  63. package/server/routes/data/controllers/cardData.js +106 -106
  64. package/server/routes/data/controllers/cardTabData.js +49 -49
  65. package/server/routes/data/controllers/funcs/getFilterSQL/index.js +92 -92
  66. package/server/routes/data/controllers/funcs/getFilterSQL/util/formatValue.js +170 -170
  67. package/server/routes/data/controllers/funcs/getFilterSQL/util/getCustomQuery.js +13 -13
  68. package/server/routes/data/controllers/funcs/getFilterSQL/util/getFilterQuery.js +64 -64
  69. package/server/routes/data/controllers/funcs/getFilterSQL/util/getOptimizedQuery.js +12 -12
  70. package/server/routes/data/controllers/funcs/getFilterSQL/util/getTableSql.js +34 -34
  71. package/server/routes/data/controllers/tableData.js +29 -29
  72. package/server/routes/data/controllers/tableDataId.js +27 -27
  73. package/server/routes/data/controllers/tableFilter.js +70 -70
  74. package/server/routes/data/controllers/tokenInfo.js +9 -9
  75. package/server/routes/data/controllers/utils/assignTokens.js +30 -30
  76. package/server/routes/data/controllers/utils/conditions.js +20 -20
  77. package/server/routes/data/controllers/utils/getColumns.js +8 -8
  78. package/server/routes/data/index.mjs +20 -20
  79. package/server/routes/data/schema.js +54 -54
  80. package/server/routes/menu/index.mjs +5 -5
  81. package/server/routes/notifications/controllers/readNotifications.js +27 -27
  82. package/server/routes/notifications/controllers/testEmail.js +35 -35
  83. package/server/routes/notifications/controllers/userNotifications.js +53 -53
  84. package/server/routes/notifications/funcs/addNotification.js +21 -21
  85. package/server/routes/notifications/funcs/sendNotification.js +92 -92
  86. package/server/routes/notifications/hook/onWidgetSet.js +57 -57
  87. package/server/routes/notifications/index.mjs +27 -27
  88. package/server/routes/notifications/schema.js +16 -16
  89. package/server/routes/print/controllers/cardPrint.js +107 -107
  90. package/server/routes/print/index.mjs +5 -5
  91. package/server/routes/properties/controllers/admin.properties.get.js +29 -29
  92. package/server/routes/properties/controllers/user.properties.get.js +30 -30
  93. package/server/routes/properties/controllers/user.properties.post.js +30 -30
  94. package/server/routes/properties/funcs/getSettings.js +56 -56
  95. package/server/routes/properties/funcs/setSettings.js +44 -44
  96. package/server/routes/properties/funcs/utils/dataInsert.js +26 -26
  97. package/server/routes/properties/index.mjs +14 -14
  98. package/server/routes/properties/schema.js +10 -10
  99. package/server/routes/root.mjs +3 -3
  100. package/server/routes/templates/controllers/getTemplate.js +49 -49
  101. package/server/routes/templates/index.mjs +16 -16
  102. package/server/routes/templates/schema.js +8 -8
  103. package/server/routes/user/controllers/user.cls.id.js +14 -14
  104. package/server/routes/user/controllers/user.cls.js +71 -71
  105. package/server/routes/user/controllers/user.info.js +17 -17
  106. package/server/routes/user/schema.js +14 -14
  107. package/server/routes/widget/controllers/utils/obj2db.js +13 -13
  108. package/server/routes/widget/controllers/widget.del.js +47 -47
  109. package/server/routes/widget/controllers/widget.get.js +98 -98
  110. package/server/routes/widget/controllers/widget.set.js +76 -76
  111. package/server/routes/widget/index.mjs +11 -11
  112. package/server/routes/widget/schema.js +12 -12
  113. package/server/templates/cls/itree.recrzone_category.json +73 -73
  114. package/server/templates/cls/test.json +9 -9
  115. package/server/templates/form/admin.user_cls.data.form.json +49 -49
  116. package/server/templates/form/admin.user_group_rel.form.json +21 -21
  117. package/server/templates/form/cp_building.form.json +32 -32
  118. package/server/templates/form/form-user-pass.json +10 -10
  119. package/server/templates/form/form-user_group.json +39 -39
  120. package/server/templates/form/form-users.json +156 -156
  121. package/server/templates/form/user_group_access.form.json +22 -22
  122. package/server/templates/select/account_id.json +2 -2
  123. package/server/templates/table/gis.dataset.table.json +43 -43
  124. package/server/templates/table/management.user_group.table.json +112 -112
  125. package/server/templates/table/management.users.table.json +126 -126
  126. package/utils.js +29 -29
  127. package/server/routes/widget/controllers/utils/historyFormat.js +0 -75
@@ -1,6 +1,6 @@
1
- import { _ as C, f as qe, g as Be, h as Oe, e as F, I as Ne, i as Ve, j as N, A as U, V as Ue, k as Ee, l as He, m as Re, n as We, o as Je, a as Ge, u as Se, s as Ke } from "./import-file-BdITdwoX.js";
2
- import { openBlock as r, createElementBlock as i, createTextVNode as j, toDisplayString as A, createElementVNode as l, normalizeClass as I, createCommentVNode as v, resolveComponent as p, Fragment as T, createVNode as x, withCtx as S, createBlock as k, renderList as V, withModifiers as Qe, createStaticVNode as Xe, withDirectives as M, vModelCheckbox as Ye, Transition as L, vModelText as Ze, renderSlot as et, vShow as E, Teleport as tt, getCurrentInstance as De, ref as B, resolveDynamicComponent as O, defineComponent as st, normalizeStyle as Ie } from "vue";
3
- const nt = {
1
+ import { _ as C, f as Be, g as Oe, h as Ne, e as j, I as Ue, i as De, j as N, A as U, V as Ee, k as He, l as Re, m as We, n as Je, o as Ge, a as Ke, u as Ie, s as Qe } from "./import-file-B2eafLRU.js";
2
+ import { openBlock as r, createElementBlock as i, createTextVNode as P, toDisplayString as A, createElementVNode as l, normalizeClass as I, createCommentVNode as v, resolveComponent as p, Fragment as T, createVNode as x, withCtx as S, createBlock as k, renderList as D, withModifiers as Xe, createStaticVNode as Ye, withDirectives as L, vModelCheckbox as Ze, Transition as z, vModelText as et, renderSlot as tt, vShow as E, Teleport as st, getCurrentInstance as Pe, ref as B, resolveDynamicComponent as O, defineComponent as nt, normalizeStyle as Ve } from "vue";
3
+ const lt = {
4
4
  data() {
5
5
  return {
6
6
  currentSort: ""
@@ -58,23 +58,23 @@ const nt = {
58
58
  return `${this.data.name}-${t}` === this.selectedSortParam;
59
59
  }
60
60
  }
61
- }, lt = {
61
+ }, rt = {
62
62
  scope: "col",
63
63
  class: "pe-2 py-1 text-start"
64
- }, rt = { class: "w-[24px]" }, ot = {
64
+ }, ot = { class: "w-[24px]" }, at = {
65
65
  key: 1,
66
66
  class: "flex items-center px-1 py-3 font-medium text-gray-800 text-start gap-x-1 dark:text-neutral-200"
67
67
  };
68
- function at(t, e, s, a, n, o) {
69
- return r(), i("th", lt, [
68
+ function it(t, e, s, a, n, o) {
69
+ return r(), i("th", rt, [
70
70
  o.getVisibleIcon ? (r(), i("button", {
71
71
  key: 0,
72
72
  type: "button",
73
73
  class: "flex items-center px-1 py-3 font-medium text-gray-800 text-start gap-x-1 dark:text-neutral-200",
74
- onClick: e[0] || (e[0] = (d) => o.handleClickSortBtn(n.currentSort))
74
+ onClick: e[0] || (e[0] = (u) => o.handleClickSortBtn(n.currentSort))
75
75
  }, [
76
- j(A(o.label) + " ", 1),
77
- l("span", rt, [
76
+ P(A(o.label) + " ", 1),
77
+ l("span", ot, [
78
78
  n.currentSort ? (r(), i("svg", {
79
79
  key: 0,
80
80
  class: I(["shrink-0 size-3.5", { "rotate-180": n.currentSort === "asc" }]),
@@ -92,14 +92,14 @@ function at(t, e, s, a, n, o) {
92
92
  l("path", { d: "M12 19V5" }, null, -1)
93
93
  ]), 2)) : v("", !0)
94
94
  ])
95
- ])) : (r(), i("p", ot, A(o.label), 1))
95
+ ])) : (r(), i("p", at, A(o.label), 1))
96
96
  ]);
97
97
  }
98
- const it = /* @__PURE__ */ C(nt, [["render", at]]), ut = {
98
+ const dt = /* @__PURE__ */ C(lt, [["render", it]]), ut = {
99
99
  components: {
100
- IconMore: qe,
101
- IconDelete: Be,
102
- IconEdit: Oe
100
+ IconMore: Be,
101
+ IconDelete: Oe,
102
+ IconEdit: Ne
103
103
  },
104
104
  emits: ["updateTable"],
105
105
  props: {
@@ -130,7 +130,7 @@ const it = /* @__PURE__ */ C(nt, [["render", at]]), ut = {
130
130
  async getData() {
131
131
  var t;
132
132
  try {
133
- const { data: e } = await F.get(
133
+ const { data: e } = await j.get(
134
134
  `/api/table/${this.table}/${(t = this.item) == null ? void 0 : t.id}`
135
135
  );
136
136
  this.formValue = e;
@@ -144,10 +144,10 @@ const it = /* @__PURE__ */ C(nt, [["render", at]]), ut = {
144
144
  async deleteElement() {
145
145
  var t, e;
146
146
  try {
147
- const { data: s } = await F.get(
147
+ const { data: s } = await j.get(
148
148
  `/api/table/${this.table}/${(t = this.item) == null ? void 0 : t.id}`
149
149
  );
150
- await F.delete(`/api/table/${s == null ? void 0 : s.token}`), await this.$notify({
150
+ await j.delete(`/api/table/${s == null ? void 0 : s.token}`), await this.$notify({
151
151
  title: "Успішно!",
152
152
  message: "Об`єкт успішно видалeно",
153
153
  type: "success"
@@ -178,21 +178,21 @@ const it = /* @__PURE__ */ C(nt, [["render", at]]), ut = {
178
178
  });
179
179
  }
180
180
  }
181
- }, dt = { class: "inline-flex" }, ct = { 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" }, pt = { class: "flex flex-col items-start" }, ht = ["onClick"], bt = { class: "text-gray-800" }, ft = {
181
+ }, ct = { class: "inline-flex" }, pt = { 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" }, ht = { class: "flex flex-col items-start" }, bt = ["onClick"], ft = { class: "text-gray-800" }, gt = {
182
182
  key: 1,
183
183
  class: "h-[1px] w-[80%] bg-gray-200 ml-auto mr-auto"
184
- }, gt = { class: "flex justify-end p-[16px] pr-0 gap-x-3" };
185
- function mt(t, e, s, a, n, o) {
186
- const d = p("IconMore"), f = p("IconEdit"), h = p("router-link"), b = p("IconDelete"), u = p("VsPopover"), _ = p("VsConfirm");
184
+ }, mt = { class: "flex justify-end p-[16px] pr-0 gap-x-3" };
185
+ function xt(t, e, s, a, n, o) {
186
+ const u = p("IconMore"), f = p("IconEdit"), h = p("router-link"), b = p("IconDelete"), d = p("VsPopover"), _ = p("VsConfirm");
187
187
  return r(), i(T, null, [
188
- l("div", dt, [
189
- x(u, {
188
+ l("div", ct, [
189
+ x(d, {
190
190
  trigger: "click",
191
191
  placement: "bottom-left"
192
192
  }, {
193
193
  reference: S(() => [
194
- l("button", ct, [
195
- x(d, {
194
+ l("button", pt, [
195
+ x(u, {
196
196
  height: "16",
197
197
  width: "16"
198
198
  })
@@ -201,7 +201,7 @@ function mt(t, e, s, a, n, o) {
201
201
  default: S(() => {
202
202
  var m, g, w, y, $;
203
203
  return [
204
- l("div", pt, [
204
+ l("div", ht, [
205
205
  (m = s.actions) != null && m.includes("edit") && s.isForm ? (r(), k(h, {
206
206
  key: 0,
207
207
  to: `/edit?table=${(w = (g = t.$route) == null ? void 0 : g.params) == null ? void 0 : w.catchAll}&id=${(y = s.item) == null ? void 0 : y.id}`,
@@ -209,22 +209,22 @@ function mt(t, e, s, a, n, o) {
209
209
  }, {
210
210
  default: S(() => [
211
211
  x(f, { color: "#000" }),
212
- e[4] || (e[4] = j(" Редагувати "))
212
+ e[4] || (e[4] = P(" Редагувати "))
213
213
  ]),
214
214
  _: 1
215
215
  }, 8, ["to"])) : v("", !0),
216
- (r(!0), i(T, null, V(o.getCustomActions, (D, z) => (r(), i("button", {
217
- key: z,
218
- onClick: (q) => o.customButtonAction(D),
216
+ (r(!0), i(T, null, D(o.getCustomActions, (V, M) => (r(), i("button", {
217
+ key: M,
218
+ onClick: (q) => o.customButtonAction(V),
219
219
  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"
220
220
  }, [
221
221
  x(b, { class: "opacity-0" }),
222
- l("span", bt, A(D == null ? void 0 : D.label), 1)
223
- ], 8, ht))), 128)),
224
- s.isForm ? (r(), i("div", ft)) : v("", !0),
222
+ l("span", ft, A(V == null ? void 0 : V.label), 1)
223
+ ], 8, bt))), 128)),
224
+ s.isForm ? (r(), i("div", gt)) : v("", !0),
225
225
  ($ = s.actions) != null && $.includes("del") ? (r(), i("button", {
226
226
  key: 2,
227
- onClick: e[0] || (e[0] = Qe((...D) => o.openConfirm && o.openConfirm(...D), ["stop"])),
227
+ onClick: e[0] || (e[0] = Xe((...V) => o.openConfirm && o.openConfirm(...V), ["stop"])),
228
228
  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"
229
229
  }, [
230
230
  x(b),
@@ -244,7 +244,7 @@ function mt(t, e, s, a, n, o) {
244
244
  }, {
245
245
  default: S(() => [
246
246
  e[6] || (e[6] = l("p", { class: "mt-1 text-sm text-gray-600 dark:text-neutral-400" }, " Ви впевнені, що хочете видалити цей об'єкт? ", -1)),
247
- l("div", gt, [
247
+ l("div", mt, [
248
248
  l("button", {
249
249
  type: "button",
250
250
  class: "inline-flex items-center px-3 py-2 text-xs font-medium duration-300 border rounded-lg shadow-sm hover:bg-gray-100 gap-x-2 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50",
@@ -261,7 +261,7 @@ function mt(t, e, s, a, n, o) {
261
261
  }, 8, ["visible"])
262
262
  ], 64);
263
263
  }
264
- const xt = /* @__PURE__ */ C(ut, [["render", mt]]), yt = {}, kt = {
264
+ const yt = /* @__PURE__ */ C(ut, [["render", xt]]), kt = {}, vt = {
265
265
  class: "flex-shrink-0 mt-0.5 size-3.5",
266
266
  xmlns: "http://www.w3.org/2000/svg",
267
267
  viewBox: "0 0 24 24",
@@ -271,15 +271,15 @@ const xt = /* @__PURE__ */ C(ut, [["render", mt]]), yt = {}, kt = {
271
271
  "stroke-linecap": "round",
272
272
  "stroke-linejoin": "round"
273
273
  };
274
- function vt(t, e, s, a, n, o) {
275
- return r(), i("svg", kt, e[0] || (e[0] = [
274
+ function _t(t, e, s, a, n, o) {
275
+ return r(), i("svg", vt, e[0] || (e[0] = [
276
276
  l("path", { d: "m3 16 4 4 4-4" }, null, -1),
277
277
  l("path", { d: "M7 20V4" }, null, -1),
278
278
  l("path", { d: "m21 8-4-4-4 4" }, null, -1),
279
279
  l("path", { d: "M17 4v16" }, null, -1)
280
280
  ]));
281
281
  }
282
- const _t = /* @__PURE__ */ C(yt, [["render", vt]]), wt = {}, Ct = {
282
+ const wt = /* @__PURE__ */ C(kt, [["render", _t]]), Ct = {}, $t = {
283
283
  xmlns: "http://www.w3.org/2000/svg",
284
284
  width: "24",
285
285
  height: "24",
@@ -291,8 +291,8 @@ const _t = /* @__PURE__ */ C(yt, [["render", vt]]), wt = {}, Ct = {
291
291
  "stroke-linejoin": "round",
292
292
  class: "icon icon-tabler icons-tabler-outline icon-tabler-rosette-discount-check"
293
293
  };
294
- function $t(t, e, s, a, n, o) {
295
- return r(), i("svg", Ct, e[0] || (e[0] = [
294
+ function At(t, e, s, a, n, o) {
295
+ return r(), i("svg", $t, e[0] || (e[0] = [
296
296
  l("path", {
297
297
  stroke: "none",
298
298
  d: "M0 0h24v24H0z",
@@ -302,8 +302,8 @@ function $t(t, e, s, a, n, o) {
302
302
  l("path", { d: "M9 12l2 2l4 -4" }, null, -1)
303
303
  ]));
304
304
  }
305
- const At = /* @__PURE__ */ C(wt, [["render", $t]]), Tt = {
306
- components: { IconExport: _t, IconChevronDown: Ne, IconSuccess: At },
305
+ const Tt = /* @__PURE__ */ C(Ct, [["render", At]]), St = {
306
+ components: { IconExport: wt, IconChevronDown: Ue, IconSuccess: Tt },
307
307
  props: {
308
308
  table: String,
309
309
  columns: Array,
@@ -356,7 +356,7 @@ const At = /* @__PURE__ */ C(wt, [["render", $t]]), Tt = {
356
356
  return;
357
357
  }
358
358
  try {
359
- const e = await F.get("/api/export", {
359
+ const e = await j.get("/api/export", {
360
360
  params: {
361
361
  table: this.table,
362
362
  format: this.format,
@@ -369,15 +369,15 @@ const At = /* @__PURE__ */ C(wt, [["render", $t]]), Tt = {
369
369
  responseType: "blob"
370
370
  }), s = await e.data.text(), a = s != null && s.includes(";") ? null : JSON == null ? void 0 : JSON.parse(s), n = new Blob([e.data], {
371
371
  type: "application/octet-stream"
372
- }), o = window.URL.createObjectURL(n), d = document.createElement("a");
373
- if (d.href = o, d.setAttribute(
372
+ }), o = window.URL.createObjectURL(n), u = document.createElement("a");
373
+ if (u.href = o, u.setAttribute(
374
374
  "download",
375
375
  `${this.table.split(".")[0]}.${this.format}`
376
- ), document.body.appendChild(d), typeof a == "string") {
376
+ ), document.body.appendChild(u), typeof a == "string") {
377
377
  this.exportTable();
378
378
  return;
379
379
  }
380
- d.click(), document.body.removeChild(d), window.URL.revokeObjectURL(o), this.$notify({
380
+ u.click(), document.body.removeChild(u), window.URL.revokeObjectURL(o), this.$notify({
381
381
  type: "success",
382
382
  title: "Експорт",
383
383
  message: "Файл успішно експортовано!"
@@ -405,94 +405,94 @@ const At = /* @__PURE__ */ C(wt, [["render", $t]]), Tt = {
405
405
  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";
406
406
  }
407
407
  }
408
- }, St = {
408
+ }, It = {
409
409
  key: 0,
410
410
  class: "flex flex-col items-center"
411
- }, It = {
411
+ }, Vt = {
412
412
  key: 1,
413
413
  class: "p-4"
414
- }, Vt = { class: "pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700" }, Dt = { class: "flex items-center gap-[10px] -ml-[10px] my-[10px]" }, Pt = ["onClick"], jt = {
414
+ }, Dt = { class: "pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700" }, Pt = { class: "flex items-center gap-[10px] -ml-[10px] my-[10px]" }, Ft = ["onClick"], jt = {
415
415
  key: 0,
416
416
  class: "block h-[8px] w-[8px] rounded-full bg-blue-500"
417
- }, Ft = { class: "mt-2 flex row flex-wrap gap-y-[5px] gap-x-[10px]" }, Mt = { class: "pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700" }, Lt = { class: "mt-2 space-y-2" }, zt = ["id", "onChange"], qt = ["for"], Bt = {
417
+ }, Mt = { class: "mt-2 flex row flex-wrap gap-y-[5px] gap-x-[10px]" }, Lt = { class: "pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700" }, zt = { class: "mt-2 space-y-2" }, qt = ["id", "onChange"], Bt = ["for"], Ot = {
418
418
  key: 0,
419
419
  class: "flex w-full justify-end p-[20px] gap-[6px] border-t"
420
- }, Ot = {
420
+ }, Nt = {
421
421
  key: 1,
422
422
  class: "flex w-full justify-end p-[20px] gap-[6px] border-t"
423
423
  };
424
- function Nt(t, e, s, a, n, o) {
425
- const d = p("IconExport"), f = p("IconSuccess"), h = p("VsCheckbox"), b = p("VsDialog");
424
+ function Ut(t, e, s, a, n, o) {
425
+ const u = p("IconExport"), f = p("IconSuccess"), h = p("VsCheckbox"), b = p("VsDialog");
426
426
  return r(), i(T, null, [
427
427
  l("button", {
428
- onClick: e[0] || (e[0] = (u) => n.isOpen = !0),
428
+ onClick: e[0] || (e[0] = (d) => n.isOpen = !0),
429
429
  class: "py-2 max-h-[34px] px-2.5 md:inline-flex hidden 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"
430
430
  }, [
431
- x(d, {
431
+ x(u, {
432
432
  height: "16",
433
433
  width: "16"
434
434
  }),
435
- e[7] || (e[7] = j(" Експорт "))
435
+ e[7] || (e[7] = P(" Експорт "))
436
436
  ]),
437
437
  x(b, {
438
438
  visible: n.isOpen,
439
- "onUpdate:visible": e[6] || (e[6] = (u) => n.isOpen = u),
439
+ "onUpdate:visible": e[6] || (e[6] = (d) => n.isOpen = d),
440
440
  title: "Експорт таблиці",
441
441
  size: "small",
442
442
  closeClickBack: !0
443
443
  }, {
444
444
  footer: S(() => [
445
- n.isSuccessTemplate ? (r(), i("div", Bt, [
445
+ n.isSuccessTemplate ? (r(), i("div", Ot, [
446
446
  l("button", {
447
447
  type: "button",
448
448
  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",
449
- onClick: e[2] || (e[2] = (u) => n.isOpen = !1)
449
+ onClick: e[2] || (e[2] = (d) => n.isOpen = !1)
450
450
  }, " Закрити "),
451
451
  l("button", {
452
452
  type: "button",
453
453
  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",
454
- onClick: e[3] || (e[3] = (u) => n.isSuccessTemplate = !1)
454
+ onClick: e[3] || (e[3] = (d) => n.isSuccessTemplate = !1)
455
455
  }, " Вигрузити ще ")
456
- ])) : (r(), i("div", Ot, [
456
+ ])) : (r(), i("div", Nt, [
457
457
  l("button", {
458
458
  type: "button",
459
459
  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",
460
- onClick: e[4] || (e[4] = (u) => n.isOpen = !1)
460
+ onClick: e[4] || (e[4] = (d) => n.isOpen = !1)
461
461
  }, " Скасувати "),
462
462
  l("button", {
463
463
  type: "button",
464
464
  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",
465
- onClick: e[5] || (e[5] = (...u) => o.exportTable && o.exportTable(...u))
465
+ onClick: e[5] || (e[5] = (...d) => o.exportTable && o.exportTable(...d))
466
466
  }, " Завантажити таблицю ")
467
467
  ]))
468
468
  ]),
469
469
  default: S(() => [
470
- n.isSuccessTemplate ? (r(), i("div", St, [
470
+ n.isSuccessTemplate ? (r(), i("div", It, [
471
471
  x(f, {
472
472
  height: "100",
473
473
  width: "100",
474
474
  class: "text-green-200 mb-[20px]"
475
475
  }),
476
476
  e[8] || (e[8] = l("h2", null, "Звіт сформовано і збережено", -1))
477
- ])) : (r(), i("div", It, [
478
- l("div", Vt, [
477
+ ])) : (r(), i("div", Vt, [
478
+ l("div", Dt, [
479
479
  e[9] || (e[9] = l("h2", { class: "text-sm font-[600] text-gray-500" }, " Виберіть стовпці таблиці для експорту: ", -1)),
480
- l("div", Dt, [
481
- (r(!0), i(T, null, V(n.actions, (u) => (r(), i("button", {
482
- key: u == null ? void 0 : u.name,
483
- onClick: u == null ? void 0 : u.function,
480
+ l("div", Pt, [
481
+ (r(!0), i(T, null, D(n.actions, (d) => (r(), i("button", {
482
+ key: d == null ? void 0 : d.name,
483
+ onClick: d == null ? void 0 : d.function,
484
484
  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"
485
485
  }, [
486
486
  l("span", {
487
- class: I(["h-[14px] w-[14px] border rounded-full flex items-center justify-center", { "border-blue-500": (u == null ? void 0 : u.name) === n.activeAction }])
487
+ class: I(["h-[14px] w-[14px] border rounded-full flex items-center justify-center", { "border-blue-500": (d == null ? void 0 : d.name) === n.activeAction }])
488
488
  }, [
489
- (u == null ? void 0 : u.name) === n.activeAction ? (r(), i("span", jt)) : v("", !0)
489
+ (d == null ? void 0 : d.name) === n.activeAction ? (r(), i("span", jt)) : v("", !0)
490
490
  ], 2),
491
- j(" " + A(u == null ? void 0 : u.label), 1)
492
- ], 8, Pt))), 128))
491
+ P(" " + A(d == null ? void 0 : d.label), 1)
492
+ ], 8, Ft))), 128))
493
493
  ]),
494
- l("div", Ft, [
495
- (r(!0), i(T, null, V(s.columns, (u, _) => (r(), i("div", {
494
+ l("div", Mt, [
495
+ (r(!0), i(T, null, D(s.columns, (d, _) => (r(), i("div", {
496
496
  class: "flex items-center",
497
497
  key: _,
498
498
  style: { width: "calc((100% - 10px) / 2)" }
@@ -501,16 +501,16 @@ function Nt(t, e, s, a, n, o) {
501
501
  class: "[&>label]:text-sm [&>label]:text-gray-800 [&>label]:ms-3 !gap-x-[1px] !p-0",
502
502
  modelValue: n.cols,
503
503
  "onUpdate:modelValue": e[1] || (e[1] = (m) => n.cols = m),
504
- value: u == null ? void 0 : u.name,
505
- label: u == null ? void 0 : u.ua
504
+ value: d == null ? void 0 : d.name,
505
+ label: d == null ? void 0 : d.ua
506
506
  }, null, 8, ["modelValue", "value", "label"])
507
507
  ]))), 128))
508
508
  ])
509
509
  ]),
510
- l("div", Mt, [
510
+ l("div", Lt, [
511
511
  e[10] || (e[10] = l("h2", { class: "text-sm font-[600] text-gray-500" }, "Виберіть формат таблиці:", -1)),
512
- l("div", Lt, [
513
- (r(!0), i(T, null, V(n.tableFormats, (u, _) => (r(), i("div", {
512
+ l("div", zt, [
513
+ (r(!0), i(T, null, D(n.tableFormats, (d, _) => (r(), i("div", {
514
514
  class: "flex items-center",
515
515
  key: _
516
516
  }, [
@@ -518,13 +518,13 @@ function Nt(t, e, s, a, n, o) {
518
518
  type: "radio",
519
519
  name: "hs-pro-duecmfm",
520
520
  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",
521
- id: u,
522
- onChange: (m) => o.selectFormat(u)
523
- }, null, 40, zt),
521
+ id: d,
522
+ onChange: (m) => o.selectFormat(d)
523
+ }, null, 40, qt),
524
524
  l("label", {
525
- for: u,
525
+ for: d,
526
526
  class: "text-sm text-gray-800 ms-3 dark:text-neutral-400"
527
- }, " Формат " + A(u), 9, qt)
527
+ }, " Формат " + A(d), 9, Bt)
528
528
  ]))), 128))
529
529
  ])
530
530
  ])
@@ -534,7 +534,7 @@ function Nt(t, e, s, a, n, o) {
534
534
  }, 8, ["visible"])
535
535
  ], 64);
536
536
  }
537
- const Ut = /* @__PURE__ */ C(Tt, [["render", Nt]]), Et = {}, Ht = {
537
+ const Et = /* @__PURE__ */ C(St, [["render", Ut]]), Ht = {}, Rt = {
538
538
  xmlns: "http://www.w3.org/2000/svg",
539
539
  viewBox: "0 0 24 24",
540
540
  fill: "none",
@@ -544,16 +544,16 @@ const Ut = /* @__PURE__ */ C(Tt, [["render", Nt]]), Et = {}, Ht = {
544
544
  "stroke-linejoin": "round",
545
545
  class: "icon icon-tabler icons-tabler-outline icon-tabler-columns"
546
546
  };
547
- function Rt(t, e, s, a, n, o) {
548
- return r(), i("svg", Ht, e[0] || (e[0] = [
549
- Xe('<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)
547
+ function Wt(t, e, s, a, n, o) {
548
+ return r(), i("svg", Rt, e[0] || (e[0] = [
549
+ Ye('<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)
550
550
  ]));
551
551
  }
552
- const Wt = /* @__PURE__ */ C(Et, [["render", Rt]]), Jt = {
552
+ const Jt = /* @__PURE__ */ C(Ht, [["render", Wt]]), Gt = {
553
553
  props: { column: Object },
554
554
  emits: ["update-column"],
555
555
  components: {
556
- IconCheck2: Ve
556
+ IconCheck2: De
557
557
  },
558
558
  data() {
559
559
  return {
@@ -569,24 +569,24 @@ const Wt = /* @__PURE__ */ C(Et, [["render", Rt]]), Jt = {
569
569
  var t;
570
570
  ((t = this.column) == null ? void 0 : t.hidden) !== !0 && (this.value = !0);
571
571
  }
572
- }, Gt = { class: "flex justify-between items-center py-1.5 px-3 cursor-pointer rounded-lg hover:bg-gray-100 has-[:disabled]:opacity-50 has-[:disabled]:pointer-events-none dark:hover:bg-neutral-800" }, Kt = { class: "flex justify-between flex-1 items-center gap-x-2.5 cursor-pointer text-[13px] text-gray-800 dark:text-neutral-300" };
573
- function Qt(t, e, s, a, n, o) {
572
+ }, Kt = { class: "flex justify-between items-center py-1.5 px-3 cursor-pointer rounded-lg hover:bg-gray-100 has-[:disabled]:opacity-50 has-[:disabled]:pointer-events-none dark:hover:bg-neutral-800" }, Qt = { class: "flex justify-between flex-1 items-center gap-x-2.5 cursor-pointer text-[13px] text-gray-800 dark:text-neutral-300" };
573
+ function Xt(t, e, s, a, n, o) {
574
574
  var f, h;
575
- const d = p("IconCheck2");
576
- return r(), i("div", Gt, [
577
- l("label", Kt, [
578
- j(A(((f = s.column) == null ? void 0 : f.ua) || ((h = s.column) == null ? void 0 : h.title)) + " ", 1),
579
- M(l("input", {
575
+ const u = p("IconCheck2");
576
+ return r(), i("div", Kt, [
577
+ l("label", Qt, [
578
+ P(A(((f = s.column) == null ? void 0 : f.ua) || ((h = s.column) == null ? void 0 : h.title)) + " ", 1),
579
+ L(l("input", {
580
580
  type: "checkbox",
581
581
  "onUpdate:modelValue": e[0] || (e[0] = (b) => n.value = b),
582
582
  class: "hidden"
583
583
  }, null, 512), [
584
- [Ye, n.value]
584
+ [Ze, n.value]
585
585
  ]),
586
586
  l("span", {
587
587
  class: I(["flex items-center justify-center text-white border border-gray-300 rounded shrink-0 size-4 focus:ring-blue-500", [n.value ? "bg-blue-600 border-0" : "bg-white"]])
588
588
  }, [
589
- x(d, {
589
+ x(u, {
590
590
  height: "12",
591
591
  width: "12"
592
592
  })
@@ -594,8 +594,8 @@ function Qt(t, e, s, a, n, o) {
594
594
  ])
595
595
  ]);
596
596
  }
597
- const Xt = /* @__PURE__ */ C(Jt, [["render", Qt]]), Yt = {
598
- components: { IconColumns: Wt, AdminTableColumnsHiddenItem: Xt },
597
+ const Yt = /* @__PURE__ */ C(Gt, [["render", Xt]]), Zt = {
598
+ components: { IconColumns: Jt, AdminTableColumnsHiddenItem: Yt },
599
599
  emits: ["update-columns"],
600
600
  props: { columns: Array },
601
601
  data() {
@@ -609,8 +609,8 @@ const Xt = /* @__PURE__ */ C(Jt, [["render", Qt]]), Yt = {
609
609
  var t;
610
610
  return (t = this.columns) == null ? void 0 : t.filter(
611
611
  (e) => {
612
- var s, a, n, o, d, f;
613
- return ((n = (s = e == null ? void 0 : e.ua) == null ? void 0 : s.toLowerCase()) == null ? void 0 : n.includes((a = this.searchValue) == null ? void 0 : a.toLowerCase())) || ((f = (o = e == null ? void 0 : e.title) == null ? void 0 : o.toLowerCase()) == null ? void 0 : f.includes((d = this.searchValue) == null ? void 0 : d.toLowerCase()));
612
+ var s, a, n, o, u, f;
613
+ return ((n = (s = e == null ? void 0 : e.ua) == null ? void 0 : s.toLowerCase()) == null ? void 0 : n.includes((a = this.searchValue) == null ? void 0 : a.toLowerCase())) || ((f = (o = e == null ? void 0 : e.title) == null ? void 0 : o.toLowerCase()) == null ? void 0 : f.includes((u = this.searchValue) == null ? void 0 : u.toLowerCase()));
614
614
  }
615
615
  );
616
616
  }
@@ -631,56 +631,56 @@ const Xt = /* @__PURE__ */ C(Jt, [["render", Qt]]), Yt = {
631
631
  beforeUnmount() {
632
632
  document.removeEventListener("click", this.handleClickOutside);
633
633
  }
634
- }, Zt = {
634
+ }, es = {
635
635
  class: "relative",
636
636
  ref: "wrapper"
637
- }, es = {
637
+ }, ts = {
638
638
  key: 0,
639
639
  class: "absolute left-[50%] top-[110%] translate-x-[-50%] z-10 w-64 transition-[opacity,margin] duration bg-white rounded-xl shadow-lg dark:bg-neutral-900"
640
- }, ts = { class: "relative p-1 border-gray-200 border-y dark:border-neutral-800" }, ss = { class: "p-1 pt-3 max-h-80 overflow-y-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-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" }, ns = {
640
+ }, ss = { class: "relative p-1 border-gray-200 border-y dark:border-neutral-800" }, ns = { class: "p-1 pt-3 max-h-80 overflow-y-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-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" }, ls = {
641
641
  key: 0,
642
642
  class: "block px-3 mb-2 text-xs text-gray-500 dark:text-neutral-500"
643
- }, ls = { class: "space-y-1" }, rs = {
643
+ }, rs = { class: "space-y-1" }, os = {
644
644
  key: 1,
645
645
  class: "flex items-center px-3 text-[13px] py-1.5 px-3 rounded-md cursor-pointer group"
646
646
  };
647
- function os(t, e, s, a, n, o) {
648
- const d = p("IconColumns"), f = p("AdminTableColumnsHiddenItem");
649
- return r(), i("div", Zt, [
647
+ function as(t, e, s, a, n, o) {
648
+ const u = p("IconColumns"), f = p("AdminTableColumnsHiddenItem");
649
+ return r(), i("div", es, [
650
650
  l("button", {
651
651
  onClick: e[0] || (e[0] = (...h) => o.toggleVisible && o.toggleVisible(...h)),
652
652
  class: "py-2 max-h-[34px] px-2.5 md:inline-flex hidden 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"
653
653
  }, [
654
- x(d, {
654
+ x(u, {
655
655
  height: "20",
656
656
  width: "16"
657
657
  })
658
658
  ]),
659
- x(L, { name: "fade" }, {
659
+ x(z, { name: "fade" }, {
660
660
  default: S(() => {
661
661
  var h, b;
662
662
  return [
663
- n.visible ? (r(), i("div", es, [
663
+ n.visible ? (r(), i("div", ts, [
664
664
  e[2] || (e[2] = l("div", { class: "flex items-center justify-between h-[48px] px-4 py-2 gap-x-2 text-sm font-medium text-gray-800" }, " Колонки ", -1)),
665
- l("div", ts, [
666
- M(l("input", {
667
- "onUpdate:modelValue": e[1] || (e[1] = (u) => n.searchValue = u),
665
+ l("div", ss, [
666
+ L(l("input", {
667
+ "onUpdate:modelValue": e[1] || (e[1] = (d) => n.searchValue = d),
668
668
  type: "text",
669
669
  class: "py-1.5 px-3 block w-full border-transparent rounded-lg sm:text-sm text-base placeholder:text-gray-500 hover:bg-gray-100 focus:outline-none focus:border-transparent focus:ring-0 focus:bg-gray-100 disabled:opacity-100 disabled:pointer-events-none dark:bg-transparent dark:border-transparent dark:text-neutral-400 dark:placeholder:text-neutral-400 dark:hover:bg-neutral-800 dark:focus:ring-neutral-600 dark:focus:bg-neutral-800",
670
670
  placeholder: "Search",
671
671
  autofocus: ""
672
672
  }, null, 512), [
673
- [Ze, n.searchValue]
673
+ [et, n.searchValue]
674
674
  ])
675
675
  ]),
676
- l("div", ss, [
677
- (h = o.filteredColumn) != null && h.length ? (r(), i("span", ns, " Оберіть колонки для відображення ")) : v("", !0),
678
- l("div", ls, [
679
- (b = o.filteredColumn) != null && b.length ? (r(!0), i(T, { key: 0 }, V(o.filteredColumn, (u, _) => (r(), k(f, {
676
+ l("div", ns, [
677
+ (h = o.filteredColumn) != null && h.length ? (r(), i("span", ls, " Оберіть колонки для відображення ")) : v("", !0),
678
+ l("div", rs, [
679
+ (b = o.filteredColumn) != null && b.length ? (r(!0), i(T, { key: 0 }, D(o.filteredColumn, (d, _) => (r(), k(f, {
680
680
  key: _,
681
- column: u,
681
+ column: d,
682
682
  onUpdateColumn: o.updateColumn
683
- }, null, 8, ["column", "onUpdateColumn"]))), 128)) : (r(), i("div", rs, " Нічого не знайдено "))
683
+ }, null, 8, ["column", "onUpdateColumn"]))), 128)) : (r(), i("div", os, " Нічого не знайдено "))
684
684
  ])
685
685
  ])
686
686
  ])) : v("", !0)
@@ -690,7 +690,7 @@ function os(t, e, s, a, n, o) {
690
690
  })
691
691
  ], 512);
692
692
  }
693
- const as = /* @__PURE__ */ C(Yt, [["render", os]]), is = {}, us = {
693
+ const is = /* @__PURE__ */ C(Zt, [["render", as]]), ds = {}, us = {
694
694
  xmlns: "http://www.w3.org/2000/svg",
695
695
  viewBox: "0 0 24 24",
696
696
  fill: "none",
@@ -700,7 +700,7 @@ const as = /* @__PURE__ */ C(Yt, [["render", os]]), is = {}, us = {
700
700
  "stroke-linejoin": "round",
701
701
  class: "icon icon-tabler icons-tabler-outline icon-tabler-minus"
702
702
  };
703
- function ds(t, e, s, a, n, o) {
703
+ function cs(t, e, s, a, n, o) {
704
704
  return r(), i("svg", us, e[0] || (e[0] = [
705
705
  l("path", {
706
706
  stroke: "none",
@@ -710,8 +710,8 @@ function ds(t, e, s, a, n, o) {
710
710
  l("path", { d: "M5 12l14 0" }, null, -1)
711
711
  ]));
712
712
  }
713
- const cs = /* @__PURE__ */ C(is, [["render", ds]]), ps = {
714
- components: { IconPlus: N, IconMinus: cs },
713
+ const ps = /* @__PURE__ */ C(ds, [["render", cs]]), hs = {
714
+ components: { IconPlus: N, IconMinus: ps },
715
715
  props: {
716
716
  title: String,
717
717
  defaultValue: { type: Boolean, default: () => !1 }
@@ -719,18 +719,18 @@ const cs = /* @__PURE__ */ C(is, [["render", ds]]), ps = {
719
719
  data() {
720
720
  return { expanded: this.defaultValue };
721
721
  }
722
- }, hs = { class: "hs-accordion" }, bs = { class: "py-0.5 flex items-center gap-x-0.5 w-full" }, fs = { class: "text-sm font-medium" }, gs = { class: "relative inline-block w-full duration-150 cursor-pointer before:block before:absolute b" };
723
- function ms(t, e, s, a, n, o) {
724
- const d = p("IconPlus"), f = p("IconMinus");
722
+ }, bs = { class: "hs-accordion" }, fs = { class: "py-0.5 flex items-center gap-x-0.5 w-full" }, gs = { class: "text-sm font-medium" }, ms = { class: "relative inline-block w-full duration-150 cursor-pointer before:block before:absolute b" };
723
+ function xs(t, e, s, a, n, o) {
724
+ const u = p("IconPlus"), f = p("IconMinus");
725
725
  return r(), i("div", null, [
726
726
  l("div", null, [
727
- l("div", hs, [
728
- l("div", bs, [
727
+ l("div", bs, [
728
+ l("div", fs, [
729
729
  l("div", {
730
730
  onClick: e[0] || (e[0] = (h) => n.expanded = !n.expanded),
731
731
  class: "rounded-md cursor-pointer grow"
732
732
  }, [
733
- l("span", fs, A(s.title), 1)
733
+ l("span", gs, A(s.title), 1)
734
734
  ]),
735
735
  l("button", {
736
736
  class: "flex items-center justify-center rounded-md size-6 hover:bg-gray-100",
@@ -739,13 +739,13 @@ function ms(t, e, s, a, n, o) {
739
739
  n.expanded ? (r(), k(f, {
740
740
  key: 1,
741
741
  width: "14"
742
- })) : (r(), k(d, { key: 0 }))
742
+ })) : (r(), k(u, { key: 0 }))
743
743
  ])
744
744
  ]),
745
- x(L, { name: "fade" }, {
745
+ x(z, { name: "fade" }, {
746
746
  default: S(() => [
747
- M(l("div", gs, [
748
- et(t.$slots, "default", {}, void 0, !0)
747
+ L(l("div", ms, [
748
+ tt(t.$slots, "default", {}, void 0, !0)
749
749
  ], 512), [
750
750
  [E, n.expanded]
751
751
  ])
@@ -756,31 +756,31 @@ function ms(t, e, s, a, n, o) {
756
756
  ])
757
757
  ]);
758
758
  }
759
- const xs = /* @__PURE__ */ C(ps, [["render", ms], ["__scopeId", "data-v-e1f274c9"]]), ys = {
759
+ const ys = /* @__PURE__ */ C(hs, [["render", xs], ["__scopeId", "data-v-c6318482"]]), ks = {
760
760
  components: {
761
761
  AdminComponentIs: U,
762
- AdminTree: xs,
763
- VsNoData: Ue,
764
- VsWidgetComments: Ee,
765
- VsWidgetMap: He,
766
- VsWidgetFileList: Re
762
+ AdminTree: ys,
763
+ VsNoData: Ee,
764
+ VsWidgetComments: He,
765
+ VsWidgetMap: Re,
766
+ VsWidgetFileList: We
767
767
  },
768
768
  props: { table: String, columns: Array, row: Object }
769
- }, ks = {
769
+ }, vs = {
770
770
  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",
771
771
  style: { height: "calc(100vh - 310px)" }
772
- }, vs = {
772
+ }, _s = {
773
773
  class: "border-l",
774
774
  style: { height: "calc(100vh - 360px)" }
775
- }, _s = { class: "flow-root mt-[10px]" }, ws = { class: "-my-3 text-sm divide-y divide-gray-100" }, Cs = { class: "flex py-3 sm:grid-cols-3 sm:gap-4" }, $s = { class: "font-medium text-black w-[50%]" }, As = { class: "text-gray-700 sm:col-span-2 w-[50%]" }, Ts = { class: "table-info-card" }, Ss = { class: "table-info-card" };
776
- function Is(t, e, s, a, n, o) {
775
+ }, ws = { class: "flow-root mt-[10px]" }, Cs = { class: "-my-3 text-sm divide-y divide-gray-100" }, $s = { class: "flex py-3 sm:grid-cols-3 sm:gap-4" }, As = { class: "font-medium text-black w-[50%]" }, Ts = { class: "text-gray-700 sm:col-span-2 w-[50%]" }, Ss = { class: "table-info-card" }, Is = { class: "table-info-card" };
776
+ function Vs(t, e, s, a, n, o) {
777
777
  var m, g, w;
778
- const d = p("AdminComponentIs"), f = p("AdminTree"), h = p("VsWidgetMap"), b = p("VsNoData"), u = p("VsWidgetComments"), _ = p("VsWidgetFileList");
779
- return r(), i("div", ks, [
778
+ const u = p("AdminComponentIs"), f = p("AdminTree"), h = p("VsWidgetMap"), b = p("VsNoData"), d = p("VsWidgetComments"), _ = p("VsWidgetFileList");
779
+ return r(), i("div", vs, [
780
780
  e[0] || (e[0] = l("div", { class: "p-[10px] pl-[18px] pb-[18px] border-b" }, [
781
781
  l("h2", { class: "text-sm font-medium" }, "Інформація про об'єкт")
782
782
  ], -1)),
783
- l("div", vs, [
783
+ l("div", _s, [
784
784
  (g = (m = t.$route) == null ? void 0 : m.query) != null && g.card ? (r(), i(T, { key: 0 }, [
785
785
  s.row ? (r(), k(f, {
786
786
  key: 0,
@@ -789,12 +789,12 @@ function Is(t, e, s, a, n, o) {
789
789
  class: "border-b p-[10px] py-[16px]"
790
790
  }, {
791
791
  default: S(() => [
792
- l("div", _s, [
793
- l("dl", ws, [
794
- (r(!0), i(T, null, V(s.columns, (y) => (r(), i("div", Cs, [
795
- l("dt", $s, A((y == null ? void 0 : y.ua) || (y == null ? void 0 : y.title)), 1),
796
- l("dd", As, [
797
- x(d, {
792
+ l("div", ws, [
793
+ l("dl", Cs, [
794
+ (r(!0), i(T, null, D(s.columns, (y) => (r(), i("div", $s, [
795
+ l("dt", As, A((y == null ? void 0 : y.ua) || (y == null ? void 0 : y.title)), 1),
796
+ l("dd", Ts, [
797
+ x(u, {
798
798
  row: s.row,
799
799
  column: y,
800
800
  table: s.table
@@ -835,8 +835,8 @@ function Is(t, e, s, a, n, o) {
835
835
  default: S(() => {
836
836
  var y;
837
837
  return [
838
- l("div", Ts, [
839
- x(u, {
838
+ l("div", Ss, [
839
+ x(d, {
840
840
  id: (y = s.row) == null ? void 0 : y.id
841
841
  }, null, 8, ["id"])
842
842
  ])
@@ -851,7 +851,7 @@ function Is(t, e, s, a, n, o) {
851
851
  default: S(() => {
852
852
  var y, $;
853
853
  return [
854
- l("div", Ss, [
854
+ l("div", Is, [
855
855
  (r(), k(_, {
856
856
  key: (y = s.row) == null ? void 0 : y.id,
857
857
  id: ($ = s.row) == null ? void 0 : $.id
@@ -868,7 +868,7 @@ function Is(t, e, s, a, n, o) {
868
868
  ])
869
869
  ]);
870
870
  }
871
- const Vs = /* @__PURE__ */ C(ys, [["render", Is]]), Ds = {}, Ps = {
871
+ const Ds = /* @__PURE__ */ C(ks, [["render", Vs]]), Ps = {}, Fs = {
872
872
  class: "size-4",
873
873
  xmlns: "http://www.w3.org/2000/svg",
874
874
  viewBox: "0 0 24 24",
@@ -879,7 +879,7 @@ const Vs = /* @__PURE__ */ C(ys, [["render", Is]]), Ds = {}, Ps = {
879
879
  "stroke-linejoin": "round"
880
880
  };
881
881
  function js(t, e, s, a, n, o) {
882
- return r(), i("svg", Ps, e[0] || (e[0] = [
882
+ return r(), i("svg", Fs, e[0] || (e[0] = [
883
883
  l("rect", {
884
884
  width: "18",
885
885
  height: "18",
@@ -891,14 +891,14 @@ function js(t, e, s, a, n, o) {
891
891
  l("path", { d: "m8 9 3 3-3 3" }, null, -1)
892
892
  ]));
893
893
  }
894
- const Fs = /* @__PURE__ */ C(Ds, [["render", js]]), Ms = {
894
+ const Ms = /* @__PURE__ */ C(Ps, [["render", js]]), Ls = {
895
895
  emits: ["filterChange"],
896
896
  props: {
897
897
  scheme: { type: Object },
898
898
  onFilters: { type: Number },
899
899
  table: { type: String }
900
900
  },
901
- components: { IconFilter: We },
901
+ components: { IconFilter: Je },
902
902
  data() {
903
903
  return {
904
904
  isFilters: !1
@@ -909,32 +909,35 @@ const Fs = /* @__PURE__ */ C(Ds, [["render", js]]), Ms = {
909
909
  this.isFilters && t.classList.contains("filter-container") && (this.isFilters = !1);
910
910
  }
911
911
  }
912
- }, Ls = { key: 0 }, zs = { class: "filter-content h-screen bg-white w-[400px] overflow-x-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" };
913
- function qs(t, e, s, a, n, o) {
914
- const d = p("IconFilter"), f = p("VsFilter");
912
+ }, zs = {
913
+ key: 0,
914
+ class: "px-[7px] text-[10px] py-[1px] font-[700] text-white bg-blue-500 rounded-full"
915
+ }, qs = { class: "filter-content h-screen bg-white w-[400px] overflow-x-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" };
916
+ function Bs(t, e, s, a, n, o) {
917
+ const u = p("IconFilter"), f = p("VsFilter");
915
918
  return r(), i(T, null, [
916
919
  l("button", {
917
920
  onClick: e[0] || (e[0] = (h) => n.isFilters = !n.isFilters),
918
921
  class: "py-2 px-2.5 max-h-[34px] 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"
919
922
  }, [
920
- x(d, {
923
+ x(u, {
921
924
  height: "16",
922
925
  width: "16"
923
926
  }),
924
- e[4] || (e[4] = j(" Фільтри ")),
925
- s.onFilters ? (r(), i("span", Ls, A(s.onFilters), 1)) : v("", !0)
927
+ e[4] || (e[4] = P(" Фільтри ")),
928
+ s.onFilters ? (r(), i("span", zs, A(s.onFilters), 1)) : v("", !0)
926
929
  ]),
927
- x(L, { name: "fade" }, {
930
+ x(z, { name: "fade" }, {
928
931
  default: S(() => {
929
932
  var h;
930
933
  return [
931
- (r(), k(tt, { to: "#modal" }, [
932
- M(l("div", {
934
+ (r(), k(st, { to: "#modal" }, [
935
+ L(l("div", {
933
936
  onClick: e[3] || (e[3] = (...b) => o.closeFilter && o.closeFilter(...b)),
934
937
  style: { height: "100vh" },
935
938
  class: "fixed filter-container top-0 flex justify-end items-center z-[12] right-0 left-0 bottom-0 bg-[rgba(0,0,0,0.2)]"
936
939
  }, [
937
- l("div", zs, [
940
+ l("div", qs, [
938
941
  (h = s.scheme) != null && h.length ? (r(), k(f, {
939
942
  key: 0,
940
943
  ref: "filter",
@@ -961,25 +964,25 @@ function qs(t, e, s, a, n, o) {
961
964
  })
962
965
  ], 64);
963
966
  }
964
- const Bs = /* @__PURE__ */ C(Ms, [["render", qs]]), Os = {
967
+ const Os = /* @__PURE__ */ C(Ls, [["render", Bs]]), Ns = {
965
968
  props: { tabsList: { type: Array, default: () => [] }, filterState: String }
966
- }, Ns = {
969
+ }, Us = {
967
970
  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",
968
971
  "aria-label": "Tabs",
969
972
  role: "tablist",
970
973
  "aria-orientation": "horizontal"
971
- }, Us = ["onClick"];
972
- function Es(t, e, s, a, n, o) {
973
- return r(), i("nav", Ns, [
974
- (r(!0), i(T, null, V(s.tabsList, (d) => (r(), i("button", {
975
- onClick: (f) => t.$emit("update:filterState", d == null ? void 0 : d.name),
974
+ }, Es = ["onClick"];
975
+ function Hs(t, e, s, a, n, o) {
976
+ return r(), i("nav", Us, [
977
+ (r(!0), i(T, null, D(s.tabsList, (u) => (r(), i("button", {
978
+ onClick: (f) => t.$emit("update:filterState", u == null ? void 0 : u.name),
976
979
  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", {
977
- " 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": (d == null ? void 0 : d.name) === s.filterState
980
+ " 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
978
981
  }])
979
- }, A(d == null ? void 0 : d.label), 11, Us))), 256))
982
+ }, A(u == null ? void 0 : u.label), 11, Es))), 256))
980
983
  ]);
981
984
  }
982
- const Hs = /* @__PURE__ */ C(Os, [["render", Es]]), Rs = {}, Ws = {
985
+ const Rs = /* @__PURE__ */ C(Ns, [["render", Hs]]), Ws = {}, Js = {
983
986
  xmlns: "http://www.w3.org/2000/svg",
984
987
  viewBox: "0 0 24 24",
985
988
  fill: "none",
@@ -989,8 +992,8 @@ const Hs = /* @__PURE__ */ C(Os, [["render", Es]]), Rs = {}, Ws = {
989
992
  "stroke-linejoin": "round",
990
993
  class: "icon icon-tabler icons-tabler-outline icon-tabler-filter"
991
994
  };
992
- function Js(t, e, s, a, n, o) {
993
- return r(), i("svg", Ws, e[0] || (e[0] = [
995
+ function Gs(t, e, s, a, n, o) {
996
+ return r(), i("svg", Js, e[0] || (e[0] = [
994
997
  l("path", {
995
998
  stroke: "none",
996
999
  d: "M0 0h24v24H0z",
@@ -999,45 +1002,45 @@ function Js(t, e, s, a, n, o) {
999
1002
  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)
1000
1003
  ]));
1001
1004
  }
1002
- const Gs = /* @__PURE__ */ C(Rs, [["render", Js]]), Ks = {
1003
- components: { IconFilter2: Gs, IconCheck2: Ve },
1005
+ const Ks = /* @__PURE__ */ C(Ws, [["render", Gs]]), Qs = {
1006
+ components: { IconFilter2: Ks, IconCheck2: De },
1004
1007
  props: { filterCustom: String, customList: Array }
1005
- }, Qs = { class: "py-2 max-h-[34px] 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" }, Xs = { class: "flex flex-col p-[2px] gap-[2px] w-[170px]" }, Ys = ["onClick"], Zs = { class: "text-sm text-gray-800" };
1006
- function en(t, e, s, a, n, o) {
1007
- const d = p("IconFilter2"), f = p("IconCheck2"), h = p("VsPopover");
1008
+ }, Xs = { class: "py-2 max-h-[34px] 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" }, Ys = { class: "flex flex-col p-[2px] gap-[2px] w-[170px]" }, Zs = ["onClick"], en = { class: "text-sm text-gray-800" };
1009
+ function tn(t, e, s, a, n, o) {
1010
+ const u = p("IconFilter2"), f = p("IconCheck2"), h = p("VsPopover");
1008
1011
  return r(), k(h, {
1009
1012
  ref: "popover",
1010
1013
  placement: "bottom"
1011
1014
  }, {
1012
1015
  reference: S(() => [
1013
- l("button", Qs, [
1014
- x(d, {
1016
+ l("button", Xs, [
1017
+ x(u, {
1015
1018
  height: "20",
1016
1019
  width: "20"
1017
1020
  })
1018
1021
  ])
1019
1022
  ]),
1020
1023
  default: S(() => [
1021
- l("div", Xs, [
1022
- (r(!0), i(T, null, V(s.customList, (b, u) => (r(), i("button", {
1024
+ l("div", Ys, [
1025
+ (r(!0), i(T, null, D(s.customList, (b, d) => (r(), i("button", {
1023
1026
  onClick: (_) => {
1024
1027
  var m;
1025
1028
  t.$emit("update:filterCustom", b == null ? void 0 : b.name), (m = t.$refs) == null || m.popover.togglePopover();
1026
1029
  },
1027
- key: u,
1030
+ key: d,
1028
1031
  class: I(["flex items-center px-3 py-1 rounded-md cursor-pointer group hover:bg-gray-100", { "bg-gray-100": s.filterCustom === (b == null ? void 0 : b.name) }])
1029
1032
  }, [
1030
- l("span", Zs, A(b == null ? void 0 : b.label), 1),
1033
+ l("span", en, A(b == null ? void 0 : b.label), 1),
1031
1034
  s.filterCustom === (b == null ? void 0 : b.name) ? (r(), k(f, {
1032
1035
  key: 0,
1033
1036
  class: "ml-auto size-3 shrink-0"
1034
1037
  })) : v("", !0)
1035
- ], 10, Ys))), 128)),
1038
+ ], 10, Zs))), 128)),
1036
1039
  l("button", {
1037
1040
  class: "flex items-center px-3 py-1 rounded-md cursor-pointer group hover:bg-gray-100",
1038
1041
  onClick: e[0] || (e[0] = (b) => {
1039
- var u;
1040
- t.$emit("update:filterCustom", void 0), (u = t.$refs) == null || u.popover.togglePopover();
1042
+ var d;
1043
+ t.$emit("update:filterCustom", void 0), (d = t.$refs) == null || d.popover.togglePopover();
1041
1044
  })
1042
1045
  }, " Скинути фільтри ")
1043
1046
  ])
@@ -1045,70 +1048,70 @@ function en(t, e, s, a, n, o) {
1045
1048
  _: 1
1046
1049
  }, 512);
1047
1050
  }
1048
- const tn = /* @__PURE__ */ C(Ks, [["render", en]]), sn = { class: "flex items-center gap-x-2" }, nn = {
1051
+ const sn = /* @__PURE__ */ C(Qs, [["render", tn]]), nn = { class: "flex items-center gap-x-2" }, ln = {
1049
1052
  __name: "admin-table-custom-buttons",
1050
1053
  props: {
1051
1054
  slots: Object
1052
1055
  },
1053
1056
  setup(t) {
1054
- var f, h, b, u, _;
1055
- const { asyncTemplateSlot: e } = (_ = (u = (b = (h = (f = De()) == null ? void 0 : f.appContext) == null ? void 0 : h.app) == null ? void 0 : b.config) == null ? void 0 : u.globalProperties) == null ? void 0 : _.utils, s = B(""), a = B(""), n = t, o = () => {
1057
+ var f, h, b, d, _;
1058
+ const { asyncTemplateSlot: e } = (_ = (d = (b = (h = (f = Pe()) == null ? void 0 : f.appContext) == null ? void 0 : h.app) == null ? void 0 : b.config) == null ? void 0 : d.globalProperties) == null ? void 0 : _.utils, s = B(""), a = B(""), n = t, o = () => {
1056
1059
  var m, g, w, y, $;
1057
1060
  if ((m = n.slots) != null && m.panelLeft || (a.value = "div"), (w = (g = n.slots) == null ? void 0 : g.panelLeft) != null && w.includes("<")) {
1058
- const D = e("PanelLeft", (y = n.slots) == null ? void 0 : y.panelLeft, [
1061
+ const V = e("PanelLeft", (y = n.slots) == null ? void 0 : y.panelLeft, [
1059
1062
  "name"
1060
1063
  ]);
1061
- a.value = D;
1064
+ a.value = V;
1062
1065
  } else
1063
1066
  a.value = ($ = n.slots) == null ? void 0 : $.panelLeft;
1064
- }, d = () => {
1067
+ }, u = () => {
1065
1068
  var m, g, w, y, $;
1066
1069
  if ((m = n.slots) != null && m.panelRight || (s.value = "div"), (w = (g = n.slots) == null ? void 0 : g.panelRight) != null && w.includes("<")) {
1067
- const D = e("PanelRight", (y = n.slots) == null ? void 0 : y.panelRight, [
1070
+ const V = e("PanelRight", (y = n.slots) == null ? void 0 : y.panelRight, [
1068
1071
  "name"
1069
1072
  ]);
1070
- s.value = D;
1073
+ s.value = V;
1071
1074
  } else
1072
1075
  s.value = ($ = n.slots) == null ? void 0 : $.panelRight;
1073
1076
  };
1074
- return o(), d(), (m, g) => (r(), i("div", sn, [
1077
+ return o(), u(), (m, g) => (r(), i("div", nn, [
1075
1078
  (r(), k(O(a.value))),
1076
1079
  (r(), k(O(s.value)))
1077
1080
  ]));
1078
1081
  }
1079
- }, ln = (t, e = 300) => {
1082
+ }, rn = (t, e = 300) => {
1080
1083
  let s;
1081
1084
  return function(...a) {
1082
1085
  clearTimeout(s), s = setTimeout(() => {
1083
1086
  t.apply(this, a);
1084
1087
  }, e);
1085
1088
  };
1086
- }, rn = {
1089
+ }, on = {
1087
1090
  __name: "admin-custom-button-add",
1088
1091
  props: {
1089
1092
  slots: Object
1090
1093
  },
1091
1094
  setup(t) {
1092
- var o, d, f, h, b;
1093
- const { asyncTemplateSlot: e } = (b = (h = (f = (d = (o = De()) == null ? void 0 : o.appContext) == null ? void 0 : d.app) == null ? void 0 : f.config) == null ? void 0 : h.globalProperties) == null ? void 0 : b.utils, s = B(""), a = t;
1095
+ var o, u, f, h, b;
1096
+ const { asyncTemplateSlot: e } = (b = (h = (f = (u = (o = Pe()) == null ? void 0 : o.appContext) == null ? void 0 : u.app) == null ? void 0 : f.config) == null ? void 0 : h.globalProperties) == null ? void 0 : b.utils, s = B(""), a = t;
1094
1097
  return (() => {
1095
- var u, _, m, g, w;
1096
- if ((u = a.slots) != null && u.addButton || (s.value = "div"), (m = (_ = a.slots) == null ? void 0 : _.addButton) != null && m.includes("<")) {
1098
+ var d, _, m, g, w;
1099
+ if ((d = a.slots) != null && d.addButton || (s.value = "div"), (m = (_ = a.slots) == null ? void 0 : _.addButton) != null && m.includes("<")) {
1097
1100
  const y = e("addButton", (g = a.slots) == null ? void 0 : g.addButton, [
1098
1101
  "IconPlus"
1099
1102
  ]);
1100
1103
  s.value = y;
1101
1104
  } else
1102
1105
  s.value = (w = a.slots) == null ? void 0 : w.addButton;
1103
- })(), (u, _) => s.value ? (r(), k(O(s.value), {
1106
+ })(), (d, _) => s.value ? (r(), k(O(s.value), {
1104
1107
  key: 0,
1105
1108
  IconPlus: N
1106
1109
  })) : v("", !0);
1107
1110
  }
1108
- }, on = {
1111
+ }, an = {
1109
1112
  key: 0,
1110
1113
  class: "px-1 py-3 text-gray-800 font-[500]"
1111
- }, an = {
1114
+ }, dn = {
1112
1115
  key: 1,
1113
1116
  class: "px-1 py-3 text-gray-800 font-[700]"
1114
1117
  }, un = {
@@ -1120,22 +1123,22 @@ const tn = /* @__PURE__ */ C(Ks, [["render", en]]), sn = { class: "flex items-ce
1120
1123
  },
1121
1124
  setup(t) {
1122
1125
  return (e, s) => (r(), i("tr", null, [
1123
- (r(!0), i(T, null, V(t.columns, (a) => {
1126
+ (r(!0), i(T, null, D(t.columns, (a) => {
1124
1127
  var n;
1125
1128
  return r(), i(T, {
1126
1129
  key: a == null ? void 0 : a.name
1127
1130
  }, [
1128
- (n = t.agg) != null && n[a == null ? void 0 : a.name] ? (r(), i("td", on, [
1131
+ (n = t.agg) != null && n[a == null ? void 0 : a.name] ? (r(), i("td", an, [
1129
1132
  x(U, {
1130
1133
  column: a,
1131
1134
  row: t.agg
1132
1135
  }, null, 8, ["column", "row"])
1133
- ])) : (r(), i("td", an))
1136
+ ])) : (r(), i("td", dn))
1134
1137
  ], 64);
1135
1138
  }), 128))
1136
1139
  ]));
1137
1140
  }
1138
- }, dn = {}, cn = {
1141
+ }, cn = {}, pn = {
1139
1142
  xmlns: "http://www.w3.org/2000/svg",
1140
1143
  viewBox: "0 0 24 24",
1141
1144
  fill: "none",
@@ -1145,8 +1148,8 @@ const tn = /* @__PURE__ */ C(Ks, [["render", en]]), sn = { class: "flex items-ce
1145
1148
  "stroke-linejoin": "round",
1146
1149
  class: "icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"
1147
1150
  };
1148
- function pn(t, e, s, a, n, o) {
1149
- return r(), i("svg", cn, e[0] || (e[0] = [
1151
+ function hn(t, e, s, a, n, o) {
1152
+ return r(), i("svg", pn, e[0] || (e[0] = [
1150
1153
  l("path", {
1151
1154
  stroke: "none",
1152
1155
  d: "M0 0h24v24H0z",
@@ -1155,7 +1158,7 @@ function pn(t, e, s, a, n, o) {
1155
1158
  l("path", { d: "M6 9l6 6l6 -6" }, null, -1)
1156
1159
  ]));
1157
1160
  }
1158
- const hn = /* @__PURE__ */ C(dn, [["render", pn]]), bn = {}, fn = {
1161
+ const bn = /* @__PURE__ */ C(cn, [["render", hn]]), fn = {}, gn = {
1159
1162
  xmlns: "http://www.w3.org/2000/svg",
1160
1163
  viewBox: "0 0 24 24",
1161
1164
  fill: "none",
@@ -1165,8 +1168,8 @@ const hn = /* @__PURE__ */ C(dn, [["render", pn]]), bn = {}, fn = {
1165
1168
  "stroke-linejoin": "round",
1166
1169
  class: "icon icon-tabler icons-tabler-outline icon-tabler-check"
1167
1170
  };
1168
- function gn(t, e, s, a, n, o) {
1169
- return r(), i("svg", fn, e[0] || (e[0] = [
1171
+ function mn(t, e, s, a, n, o) {
1172
+ return r(), i("svg", gn, e[0] || (e[0] = [
1170
1173
  l("path", {
1171
1174
  stroke: "none",
1172
1175
  d: "M0 0h24v24H0z",
@@ -1175,8 +1178,8 @@ function gn(t, e, s, a, n, o) {
1175
1178
  l("path", { d: "M5 12l5 5l10 -10" }, null, -1)
1176
1179
  ]));
1177
1180
  }
1178
- const mn = /* @__PURE__ */ C(bn, [["render", gn]]), xn = st({
1179
- components: { IconChevronDown: hn, IconCheck: mn },
1181
+ const xn = /* @__PURE__ */ C(fn, [["render", mn]]), yn = nt({
1182
+ components: { IconChevronDown: bn, IconCheck: xn },
1180
1183
  props: {
1181
1184
  total: { type: Number, default: () => 0 },
1182
1185
  pageSize: { type: Number, default: () => 20 },
@@ -1189,7 +1192,7 @@ const mn = /* @__PURE__ */ C(bn, [["render", gn]]), xn = st({
1189
1192
  page: 1,
1190
1193
  pages: [],
1191
1194
  isDropdownOpen: !1,
1192
- pageSizeLocal: 10
1195
+ pageSizeLocal: null
1193
1196
  };
1194
1197
  },
1195
1198
  mounted() {
@@ -1208,8 +1211,8 @@ const mn = /* @__PURE__ */ C(bn, [["render", gn]]), xn = st({
1208
1211
  this.page = t, this.updatePages(t);
1209
1212
  }
1210
1213
  },
1211
- pageSizeLocal() {
1212
- this.isDropdownOpen = !1, this.setCurrentPage(1);
1214
+ pageSizeLocal(t, e) {
1215
+ e && (this.isDropdownOpen = !1, this.setCurrentPage(1));
1213
1216
  }
1214
1217
  },
1215
1218
  computed: {
@@ -1258,25 +1261,25 @@ const mn = /* @__PURE__ */ C(bn, [["render", gn]]), xn = st({
1258
1261
  t < 1 || t > this.pagesCount || this.page === t || (this.page = t, this.$emit("pageChange", this.page, this.pageSizeLocal), this.updatePages(t));
1259
1262
  }
1260
1263
  }
1261
- }), yn = { class: "flex items-center w-full" }, kn = { class: "flex items-center mx-[8px]" }, vn = { class: "min-h-[38px] flex justify-center items-center text-stone-500 py-2 px-1.5 text-sm" }, _n = {
1264
+ }), kn = { class: "flex items-center w-full" }, vn = { class: "flex items-center mx-[8px]" }, _n = { class: "min-h-[38px] flex justify-center items-center text-stone-500 py-2 px-1.5 text-sm" }, wn = {
1262
1265
  key: 0,
1263
- class: "flex justify-center items-center gap-x-5 ml-3"
1264
- }, wn = { class: "relative" }, Cn = { class: "z-50 bg-white shadow-md rounded-lg p-1 space-y-0.5 dark:bg-neutral-800 dark:border dark:border-neutral-700 dark:divide-neutral-700 absolute bottom-[100%]" }, $n = ["onClick"];
1265
- function An(t, e, s, a, n, o) {
1266
- const d = p("IconChevronDown"), f = p("IconCheck");
1267
- return r(), i("nav", yn, [
1266
+ class: "flex items-center justify-center ml-3 gap-x-5"
1267
+ }, Cn = { class: "relative" }, $n = { class: "z-50 bg-white shadow-md rounded-lg p-1 space-y-0.5 dark:bg-neutral-800 dark:border dark:border-neutral-700 dark:divide-neutral-700 absolute bottom-[100%]" }, An = ["onClick"];
1268
+ function Tn(t, e, s, a, n, o) {
1269
+ const u = p("IconChevronDown"), f = p("IconCheck");
1270
+ return r(), i("nav", kn, [
1268
1271
  l("button", {
1269
1272
  type: "button",
1270
1273
  onClick: e[0] || (e[0] = (...h) => t.handleClickPrev && t.handleClickPrev(...h)),
1271
1274
  class: I(["min-h-[38px] min-w-[38px] py-2 px-2.5 inline-flex justify-center items-center gap-x-2 text-sm rounded-lg text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100", { "opacity-50 pointer-events-none": t.disablePrevClick }])
1272
1275
  }, [
1273
- x(d, {
1276
+ x(u, {
1274
1277
  height: "16",
1275
1278
  width: "16",
1276
1279
  class: "rotate-90"
1277
1280
  })
1278
1281
  ], 2),
1279
- l("div", kn, [
1282
+ l("div", vn, [
1280
1283
  l("span", {
1281
1284
  ref: "currentPage",
1282
1285
  contenteditable: "true",
@@ -1284,35 +1287,35 @@ function An(t, e, s, a, n, o) {
1284
1287
  class: "min-h-[38px] max-h-[38px] overflow-hidden min-w-[38px] flex justify-center items-center bg-stone-100 text-stone-800 py-2 px-3 text-sm rounded-lg disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-700 dark:text-white"
1285
1288
  }, A(t.page), 545),
1286
1289
  e[4] || (e[4] = l("span", { class: "min-h-[38px] flex justify-center items-center text-stone-500 py-2 px-1.5 text-sm" }, "з", -1)),
1287
- l("span", vn, A(t.pagesCount), 1)
1290
+ l("span", _n, A(t.pagesCount), 1)
1288
1291
  ]),
1289
1292
  l("button", {
1290
1293
  type: "button",
1291
1294
  onClick: e[2] || (e[2] = (...h) => t.handleClickNext && t.handleClickNext(...h)),
1292
1295
  class: I([{ "opacity-50 pointer-events-none": t.disableNextClick }, "min-h-[38px] min-w-[38px] py-2 px-2.5 inline-flex justify-center items-center gap-x-2 text-sm rounded-lg text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"])
1293
1296
  }, [
1294
- x(d, {
1297
+ x(u, {
1295
1298
  height: "16",
1296
1299
  width: "16",
1297
1300
  class: "-rotate-90"
1298
1301
  })
1299
1302
  ], 2),
1300
- t.pageSizes.length ? (r(), i("div", _n, [
1301
- l("div", wn, [
1302
- M(l("div", Cn, [
1303
- (r(!0), i(T, null, V(t.pageSizes, (h) => (r(), i("button", {
1303
+ t.pageSizes.length ? (r(), i("div", wn, [
1304
+ l("div", Cn, [
1305
+ L(l("div", $n, [
1306
+ (r(!0), i(T, null, D(t.pageSizes, (h) => (r(), i("button", {
1304
1307
  type: "button",
1305
1308
  class: "w-full flex items-center gap-x-3.5 py-2 px-3 rounded-lg text-sm",
1306
1309
  onClick: (b) => t.pageSizeLocal = h
1307
1310
  }, [
1308
- j(A(h) + " ", 1),
1311
+ P(A(h) + " ", 1),
1309
1312
  h === t.pageSizeLocal ? (r(), k(f, {
1310
1313
  key: 0,
1311
1314
  width: "14",
1312
1315
  height: "14",
1313
1316
  class: "text-blue-600"
1314
1317
  })) : v("", !0)
1315
- ], 8, $n))), 256))
1318
+ ], 8, An))), 256))
1316
1319
  ], 512), [
1317
1320
  [E, t.isDropdownOpen]
1318
1321
  ]),
@@ -1322,8 +1325,8 @@ function An(t, e, s, a, n, o) {
1322
1325
  class: "text-sm h-[32px] min-w-8 py-3 px-3.5 inline-flex items-center gap-x-1 rounded-lg border border-gray-200 text-gray-800 shadow-sm hover:bg-gray-50 focus:outline-none focus:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:border-neutral-700 dark:text-white dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",
1323
1326
  onClick: e[3] || (e[3] = (h) => t.isDropdownOpen = !t.isDropdownOpen)
1324
1327
  }, [
1325
- j(A(t.pageSizeLocal) + " ", 1),
1326
- x(d, {
1328
+ P(A(t.pageSizeLocal) + " ", 1),
1329
+ x(u, {
1327
1330
  height: "16",
1328
1331
  width: "16"
1329
1332
  })
@@ -1332,26 +1335,26 @@ function An(t, e, s, a, n, o) {
1332
1335
  ])) : v("", !0)
1333
1336
  ]);
1334
1337
  }
1335
- const Tn = /* @__PURE__ */ C(xn, [["render", An]]), Sn = {
1338
+ const Sn = /* @__PURE__ */ C(yn, [["render", Tn]]), In = {
1336
1339
  props: { table: String, title: String },
1337
1340
  components: {
1338
- AdminTableControl: xt,
1339
- AdminTableExport: Ut,
1340
- AdminTableColumnsHidden: as,
1341
- AdminTableColumn: it,
1342
- AdminNodata: Je,
1341
+ AdminTableControl: yt,
1342
+ AdminTableExport: Et,
1343
+ AdminTableColumnsHidden: is,
1344
+ AdminTableColumn: dt,
1345
+ AdminNodata: Ge,
1343
1346
  IconPlus: N,
1344
- IconSearch: Ge,
1345
- AdminTableCardInfo: Vs,
1346
- IconOpenCard: Fs,
1347
+ IconSearch: Ke,
1348
+ AdminTableCardInfo: Ds,
1349
+ IconOpenCard: Ms,
1347
1350
  AdminComponentIs: U,
1348
- AdminTableFilters: Bs,
1349
- AdminTableTabs: Hs,
1350
- AdminTableCustomFilters: tn,
1351
- AdminTableCustomButtons: nn,
1352
- AdminCustomButtonAdd: rn,
1351
+ AdminTableFilters: Os,
1352
+ AdminTableTabs: Rs,
1353
+ AdminTableCustomFilters: sn,
1354
+ AdminTableCustomButtons: ln,
1355
+ AdminCustomButtonAdd: on,
1353
1356
  AdminTableTotalsList: un,
1354
- AdminTablePagination: Tn
1357
+ AdminTablePagination: Sn
1355
1358
  },
1356
1359
  data() {
1357
1360
  return {
@@ -1407,7 +1410,7 @@ const Tn = /* @__PURE__ */ C(xn, [["render", An]]), Sn = {
1407
1410
  this.tableData = null, await this.getTableData();
1408
1411
  },
1409
1412
  searchValue: {
1410
- handler: ln(async function(t) {
1413
+ handler: rn(async function(t) {
1411
1414
  var e;
1412
1415
  await this.getTableData(), this.$router.push({
1413
1416
  ...this.$route,
@@ -1424,7 +1427,10 @@ const Tn = /* @__PURE__ */ C(xn, [["render", An]]), Sn = {
1424
1427
  },
1425
1428
  limit(t) {
1426
1429
  var e;
1427
- this.$router.replace({ query: { ...(e = this.$route) == null ? void 0 : e.query, limit: t } });
1430
+ this.$router.replace({
1431
+ ...this.$route,
1432
+ query: { ...(e = this.$route) == null ? void 0 : e.query, limit: t }
1433
+ });
1428
1434
  },
1429
1435
  filterState(t) {
1430
1436
  var e;
@@ -1453,8 +1459,8 @@ const Tn = /* @__PURE__ */ C(xn, [["render", An]]), Sn = {
1453
1459
  },
1454
1460
  methods: {
1455
1461
  async checkUrlMounted() {
1456
- var t, e, s, a, n, o, d, f, h, b, u, _, m, g, w, y, $;
1457
- this.page = ((e = (t = this.$route) == null ? void 0 : t.query) == null ? void 0 : e.page) || 1, this.limit = ((a = (s = this.$route) == null ? void 0 : s.query) == null ? void 0 : a.limit) || 20, this.filters = ((d = decodeURI((o = (n = this.$route) == null ? void 0 : n.query) == null ? void 0 : o.filter)) == null ? void 0 : d.replaceAll("+", " ")) || null, this.filterState = ((h = (f = this.$route) == null ? void 0 : f.query) == null ? void 0 : h.filterState) || null, this.filterCustom = ((u = (b = this.$route) == null ? void 0 : b.query) == null ? void 0 : u.custom) || null, this.searchValue = ((m = (_ = this.$route) == null ? void 0 : _.query) == null ? void 0 : m.search) || "", this.visibleColumns = ((y = (w = (g = this.$route) == null ? void 0 : g.query) == null ? void 0 : w.columns) == null ? void 0 : y.split(",")) || [], ($ = this.$route) != null && $.query.card && (this.isVisibleCardInfo = !0);
1462
+ var t, e, s, a, n, o, u, f, h, b, d, _, m, g, w, y, $, V, M;
1463
+ this.page = ((e = (t = this.$route) == null ? void 0 : t.query) == null ? void 0 : e.page) || 1, this.limit = ((a = (s = this.$route) == null ? void 0 : s.query) == null ? void 0 : a.limit) || 20, this.filters = ((u = decodeURI((o = (n = this.$route) == null ? void 0 : n.query) == null ? void 0 : o.filter)) == null ? void 0 : u.replaceAll("+", " ")) || null, this.filters && (this.onFilters = ((h = (f = this.filters) == null ? void 0 : f.split("=")) == null ? void 0 : h.length) - 1), this.filterState = ((d = (b = this.$route) == null ? void 0 : b.query) == null ? void 0 : d.filterState) || null, this.filterCustom = ((m = (_ = this.$route) == null ? void 0 : _.query) == null ? void 0 : m.custom) || null, this.searchValue = ((w = (g = this.$route) == null ? void 0 : g.query) == null ? void 0 : w.search) || "", this.visibleColumns = ((V = ($ = (y = this.$route) == null ? void 0 : y.query) == null ? void 0 : $.columns) == null ? void 0 : V.split(",")) || [], (M = this.$route) != null && M.query.card && (this.isVisibleCardInfo = !0);
1458
1464
  },
1459
1465
  rowWidth(t) {
1460
1466
  var s, a;
@@ -1468,9 +1474,9 @@ const Tn = /* @__PURE__ */ C(xn, [["render", An]]), Sn = {
1468
1474
  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 = "";
1469
1475
  },
1470
1476
  async getTableData() {
1471
- var t, e, s, a, n, o, d, f, h, b, u;
1477
+ var t, e, s, a, n, o, u, f, h, b, d;
1472
1478
  try {
1473
- const { data: _ } = await F.get(`/api/template/table/${this.table}`), m = await F.get(`/api/table-data/${this.table}`, {
1479
+ const { data: _ } = await j.get(`/api/template/table/${this.table}`), m = await j.get(`/api/table-data/${this.table}`, {
1474
1480
  params: {
1475
1481
  page: this.page,
1476
1482
  search: this.searchValue || null,
@@ -1484,17 +1490,17 @@ const Tn = /* @__PURE__ */ C(xn, [["render", An]]), Sn = {
1484
1490
  this.tableData = {
1485
1491
  ..._,
1486
1492
  ...(m == null ? void 0 : m.data) || {}
1487
- }, this.initialHiddenColumns = (o = (n = (a = (s = this.tableData) == null ? void 0 : s.columns) == null ? void 0 : a.filter((g) => (g == null ? void 0 : g.hidden) !== !0)) == null ? void 0 : n.map((g) => g == null ? void 0 : g.name)) == null ? void 0 : o.join(","), (d = this.visibleColumns) != null && d.length ? (f = this.tableData) == null || f.columns.forEach((g) => {
1493
+ }, this.initialHiddenColumns = (o = (n = (a = (s = this.tableData) == null ? void 0 : s.columns) == null ? void 0 : a.filter((g) => (g == null ? void 0 : g.hidden) !== !0)) == null ? void 0 : n.map((g) => g == null ? void 0 : g.name)) == null ? void 0 : o.join(","), (u = this.visibleColumns) != null && u.length ? (f = this.tableData) == null || f.columns.forEach((g) => {
1488
1494
  var w;
1489
1495
  (w = this.visibleColumns) != null && w.includes(g == null ? void 0 : g.name) ? g.hidden = !1 : g.hidden = !0;
1490
- }) : this.visibleColumns = (u = (b = (h = this.tableData) == null ? void 0 : h.columns) == null ? void 0 : b.filter((g) => (g == null ? void 0 : g.hidden) !== !0)) == null ? void 0 : u.map((g) => g == null ? void 0 : g.name);
1496
+ }) : this.visibleColumns = (d = (b = (h = this.tableData) == null ? void 0 : h.columns) == null ? void 0 : b.filter((g) => (g == null ? void 0 : g.hidden) !== !0)) == null ? void 0 : d.map((g) => g == null ? void 0 : g.name);
1491
1497
  } catch {
1492
1498
  }
1493
1499
  },
1494
1500
  async getFilters() {
1495
1501
  var t;
1496
1502
  try {
1497
- const { data: e } = await F.get(`/api/table-filter/${this.table}`);
1503
+ const { data: e } = await j.get(`/api/table-filter/${this.table}`);
1498
1504
  this.filterScheme = (t = e == null ? void 0 : e.list) == null ? void 0 : t.map((s) => ({
1499
1505
  ...s,
1500
1506
  label: (s == null ? void 0 : s.label) || (s == null ? void 0 : s.ua)
@@ -1533,29 +1539,36 @@ const Tn = /* @__PURE__ */ C(xn, [["render", An]]), Sn = {
1533
1539
  ...this.$route,
1534
1540
  query: { ...(t = this.$route) == null ? void 0 : t.query, card: void 0 }
1535
1541
  });
1542
+ },
1543
+ getCustomStyles(t) {
1544
+ return [
1545
+ t != null && t.link ? " text-blue-600 hover:underline decoration-2" : "",
1546
+ t != null && t.align ? ` text-${(t == null ? void 0 : t.align) || "left"}` : "",
1547
+ `text-${(t == null ? void 0 : t.wrap) || "wrap"}`
1548
+ ];
1536
1549
  }
1537
1550
  }
1538
- }, In = { class: "w-[calc(100vw - 320px)] bg-gray-50" }, Vn = { class: "h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white border rounded-xl" }, Dn = { class: "text-lg font-semibold text-gray-800 dark:text-neutral-200" }, Pn = {
1551
+ }, Vn = { class: "w-[calc(100vw - 320px)] bg-gray-50" }, Dn = { class: "h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white border rounded-xl" }, Pn = { class: "text-lg font-semibold text-gray-800 dark:text-neutral-200" }, Fn = {
1539
1552
  style: { height: "calc(100vh - 155px)" },
1540
1553
  class: "bg-gray-50 p-[20px] flex pt-[10px] lg:w-[calc(100vw-260px)] w-[100vw]"
1541
- }, jn = { class: "bg-white w-full rounded-xl border p-[20px] pr-0" }, Fn = { class: "flex" }, Mn = { class: "flex gap-[6px] ml-auto" }, Ln = { class: "inline-block w-full align-middle" }, zn = {
1554
+ }, jn = { class: "bg-white w-full rounded-xl border p-[20px] pr-0" }, Mn = { class: "flex" }, Ln = { class: "flex gap-[6px] ml-auto" }, zn = { class: "inline-block w-full align-middle" }, qn = {
1542
1555
  key: 0,
1543
1556
  class: "relative min-w-full text-[13px] divide-y divide-gray-200 table-fixed w-max dark:divide-neutral-700"
1544
- }, qn = { class: "sticky top-[-1px] z-[2] bg-white w-full after:absolute after:content-[''] after:block after:w-full after:h-px after:bg-stone-200" }, Bn = { class: "right-0" }, On = {
1557
+ }, Bn = { class: "sticky top-[-1px] z-[2] bg-white w-full after:absolute after:content-[''] after:block after:w-full after:h-px after:bg-stone-200" }, On = { class: "right-0" }, Nn = {
1545
1558
  key: 0,
1546
1559
  class: "w-[70px] sticky right-0 top-0"
1547
- }, Nn = { class: "divide-y divide-gray-200 z-[1] relative" }, Un = { class: "px-1 py-3 text-gray-600 pe-4" }, En = ["onClick"], Hn = ["onClick"], Rn = { class: "p-[10px] flex justify-start items-center w-full" }, Wn = { class: "w-[200px] md:inline-flex hidden" }, Jn = { class: "text-sm text-gray-600 dark:text-neutral-400" }, Gn = { class: "font-semibold text-gray-800 dark:text-neutral-200" }, Kn = { key: 0 }, Qn = {
1560
+ }, Un = { class: "divide-y divide-gray-200 z-[1] relative" }, En = ["onClick"], Hn = ["onClick"], Rn = { class: "p-[10px] flex justify-start items-center w-full" }, Wn = { class: "w-[200px] md:inline-flex hidden" }, Jn = { class: "text-sm text-gray-600 dark:text-neutral-400" }, Gn = { class: "font-semibold text-gray-800 dark:text-neutral-200" }, Kn = { key: 0 }, Qn = {
1548
1561
  key: 0,
1549
1562
  class: "font-semibold text-gray-800 dark:text-neutral-200"
1550
1563
  };
1551
1564
  function Xn(t, e, s, a, n, o) {
1552
- var H, R, W, J, G, K, Q, X, Y, Z, ee, te, se, ne, le, re, oe, ae, ie, ue, de, ce, pe, he, be, fe, ge;
1553
- const d = p("AdminCustomButtonAdd"), f = p("IconPlus"), h = p("router-link"), b = p("AdminTableTabs"), u = p("IconSearch"), _ = p("VsText"), m = p("AdminTableCustomButtons"), g = p("AdminTableCustomFilters"), w = p("AdminTableColumnsHidden"), y = p("AdminTableExport"), $ = p("AdminTableFilters"), D = p("IconOpenCard"), z = p("AdminTableColumn"), q = p("AdminComponentIs"), Pe = p("AdminTableControl"), je = p("AdminTableTotalsList"), Fe = p("AdminNodata"), Me = p("AdminTablePagination"), Le = p("AdminTableCardInfo");
1554
- return r(), i("div", In, [
1555
- l("div", Vn, [
1556
- l("h2", Dn, A(s.title), 1),
1565
+ var H, R, W, J, G, K, Q, X, Y, Z, ee, te, se, ne, le, re, oe, ae, ie, de, ue, ce, pe, he, be, fe, ge;
1566
+ const u = p("AdminCustomButtonAdd"), f = p("IconPlus"), h = p("router-link"), b = p("AdminTableTabs"), d = p("IconSearch"), _ = p("VsText"), m = p("AdminTableCustomButtons"), g = p("AdminTableCustomFilters"), w = p("AdminTableColumnsHidden"), y = p("AdminTableExport"), $ = p("AdminTableFilters"), V = p("IconOpenCard"), M = p("AdminTableColumn"), q = p("AdminComponentIs"), Fe = p("AdminTableControl"), je = p("AdminTableTotalsList"), Me = p("AdminNodata"), Le = p("AdminTablePagination"), ze = p("AdminTableCardInfo");
1567
+ return r(), i("div", Vn, [
1568
+ l("div", Dn, [
1569
+ l("h2", Pn, A(s.title), 1),
1557
1570
  o.isForm ? (r(), i(T, { key: 0 }, [
1558
- (R = (H = n.tableData) == null ? void 0 : H.slots) != null && R.addButton ? (r(), k(d, {
1571
+ (R = (H = n.tableData) == null ? void 0 : H.slots) != null && R.addButton ? (r(), k(u, {
1559
1572
  key: 0,
1560
1573
  slots: (W = n.tableData) == null ? void 0 : W.slots
1561
1574
  }, null, 8, ["slots"])) : (r(), k(h, {
@@ -1568,13 +1581,13 @@ function Xn(t, e, s, a, n, o) {
1568
1581
  height: "16",
1569
1582
  width: "16"
1570
1583
  }),
1571
- e[5] || (e[5] = j(" Додати "))
1584
+ e[5] || (e[5] = P(" Додати "))
1572
1585
  ]),
1573
1586
  _: 1
1574
1587
  }, 8, ["to"]))
1575
1588
  ], 64)) : v("", !0)
1576
1589
  ]),
1577
- l("div", Pn, [
1590
+ l("div", Fn, [
1578
1591
  l("div", jn, [
1579
1592
  (Q = (K = n.tableData) == null ? void 0 : K.filterState) != null && Q.length ? (r(), k(b, {
1580
1593
  key: 0,
@@ -1582,14 +1595,14 @@ function Xn(t, e, s, a, n, o) {
1582
1595
  filterState: n.filterState,
1583
1596
  "onUpdate:filterState": e[0] || (e[0] = (c) => n.filterState = c)
1584
1597
  }, null, 8, ["tabsList", "filterState"])) : v("", !0),
1585
- l("div", Fn, [
1598
+ l("div", Mn, [
1586
1599
  l("div", {
1587
1600
  class: I([n.isVisibleCardInfo ? "w-[calc(100%-360px)]" : "w-full"])
1588
1601
  }, [
1589
1602
  l("div", {
1590
1603
  class: I(["flex sm:grid sm:grid-cols-2 gap-x-2 sm:gap-x-5 mb-[10px] relative", { "pr-[20px]": !n.isVisibleCardInfo }])
1591
1604
  }, [
1592
- x(u, {
1605
+ x(d, {
1593
1606
  height: "14",
1594
1607
  width: "14",
1595
1608
  class: "absolute top-[10px] left-[14px] text-gray-500 z-[1]"
@@ -1601,7 +1614,7 @@ function Xn(t, e, s, a, n, o) {
1601
1614
  clearable: !0,
1602
1615
  class: "[&>input]:py-[7px] [&>input]:max-h-[36px] [&>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"
1603
1616
  }, null, 8, ["modelValue"]),
1604
- l("div", Mn, [
1617
+ l("div", Ln, [
1605
1618
  (Y = n.tableData) != null && Y.slots ? (r(), k(m, {
1606
1619
  key: 0,
1607
1620
  slots: (Z = n.tableData) == null ? void 0 : Z.slots
@@ -1636,7 +1649,7 @@ function Xn(t, e, s, a, n, o) {
1636
1649
  onClick: e[4] || (e[4] = (...c) => o.toggleCardInfo && o.toggleCardInfo(...c)),
1637
1650
  class: "py-2 px-2.5 max-h-[34px] md:inline-flex hidden 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"
1638
1651
  }, [
1639
- x(D, {
1652
+ x(V, {
1640
1653
  class: I({ "rotate-180 duration-300": !n.isVisibleCardInfo })
1641
1654
  }, null, 8, ["class"])
1642
1655
  ])
@@ -1646,18 +1659,18 @@ function Xn(t, e, s, a, n, o) {
1646
1659
  class: I(["flex items-start justify-start w-full space-y-5", { "pr-[20px]": !n.isVisibleCardInfo }])
1647
1660
  }, [
1648
1661
  l("div", {
1649
- style: Ie({
1662
+ style: Ve({
1650
1663
  height: (ie = (ae = n.tableData) == null ? void 0 : ae.filterState) != null && ie.length ? "calc(100vh - 370px)" : "calc(100vh - 330px)"
1651
1664
  }),
1652
1665
  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"
1653
1666
  }, [
1654
- l("div", Ln, [
1655
- o.isNoData ? (r(), k(Fe, { key: 1 })) : (r(), i("table", zn, [
1656
- l("thead", qn, [
1657
- l("tr", Bn, [
1658
- (r(!0), i(T, null, V(o.columns, (c) => (r(), k(z, {
1667
+ l("div", zn, [
1668
+ o.isNoData ? (r(), k(Me, { key: 1 })) : (r(), i("table", qn, [
1669
+ l("thead", Bn, [
1670
+ l("tr", On, [
1671
+ (r(!0), i(T, null, D(o.columns, (c) => (r(), k(M, {
1659
1672
  key: c.name,
1660
- style: Ie({
1673
+ style: Ve({
1661
1674
  width: o.rowWidth(c == null ? void 0 : c.name),
1662
1675
  textAlign: c == null ? void 0 : c.align,
1663
1676
  wordBreak: c == null ? void 0 : c.wrap
@@ -1666,28 +1679,32 @@ function Xn(t, e, s, a, n, o) {
1666
1679
  activeColumn: n.activeColumn,
1667
1680
  onChangeActive: o.changeActiveColumn
1668
1681
  }, null, 8, ["style", "data", "activeColumn", "onChangeActive"]))), 128)),
1669
- (de = (ue = o.getActions) == null ? void 0 : ue.filter(
1682
+ (ue = (de = o.getActions) == null ? void 0 : de.filter(
1670
1683
  (c) => c !== "add" && c !== "view"
1671
- )) != null && de.length ? (r(), i("th", On)) : v("", !0)
1684
+ )) != null && ue.length ? (r(), i("th", Nn)) : v("", !0)
1672
1685
  ])
1673
1686
  ]),
1674
- l("tbody", Nn, [
1675
- (r(!0), i(T, null, V((ce = n.tableData) == null ? void 0 : ce.rows, (c, ze) => {
1676
- var me, xe, ye, ke, ve, _e, we, Ce, $e, Ae, Te;
1687
+ l("tbody", Un, [
1688
+ (r(!0), i(T, null, D((ce = n.tableData) == null ? void 0 : ce.rows, (c, qe) => {
1689
+ var me, xe, ye, ke, ve, _e, we, Ce, $e, Ae, Te, Se;
1677
1690
  return r(), i("tr", {
1678
- key: (c == null ? void 0 : c.id) || ze,
1691
+ key: (c == null ? void 0 : c.id) || qe,
1679
1692
  class: I({
1680
1693
  "bg-gray-50": ((xe = (me = t.$route) == null ? void 0 : me.query) == null ? void 0 : xe.card) === (c == null ? void 0 : c.id)
1681
1694
  })
1682
1695
  }, [
1683
- l("td", Un, [
1696
+ l("td", {
1697
+ class: I(["px-1 py-3 text-gray-600 pe-4", [
1698
+ (ye = o.columns[0]) != null && ye.align ? `text-${((ke = o.columns[0]) == null ? void 0 : ke.align) || "left"}` : ""
1699
+ ]])
1700
+ }, [
1684
1701
  l("button", {
1685
- onClick: (P) => {
1702
+ onClick: (F) => {
1686
1703
  o.pushToCard(c == null ? void 0 : c.id), o.pushToLinkCard(o.columns[0], c);
1687
1704
  },
1688
1705
  class: I(["font-medium", [
1689
- ((ye = n.tableData) == null ? void 0 : ye.card) === !1 ? "" : "text-blue-600 decoration-2 focus:outline-none focus:underline hover:text-blue-600 hover:underline",
1690
- (ke = o.columns[0]) != null && ke.link ? "text-blue-600 hover:underline decoration-2" : ""
1706
+ ...o.getCustomStyles(o.columns[0]),
1707
+ ((ve = this.tableData) == null ? void 0 : ve.card) === !1 ? "" : " text-blue-600 decoration-2 focus:outline-none focus:underline hover:text-blue-600 hover:underline"
1691
1708
  ]])
1692
1709
  }, [
1693
1710
  x(q, {
@@ -1697,34 +1714,31 @@ function Xn(t, e, s, a, n, o) {
1697
1714
  onUpdateTable: o.getTableData
1698
1715
  }, null, 8, ["row", "column", "table", "onUpdateTable"])
1699
1716
  ], 10, En)
1700
- ]),
1701
- (r(!0), i(T, null, V((ve = o.columns) == null ? void 0 : ve.slice(1), (P) => (r(), i("td", {
1717
+ ], 2),
1718
+ (r(!0), i(T, null, D((_e = o.columns) == null ? void 0 : _e.slice(1), (F) => (r(), i("td", {
1702
1719
  onClick: (sl) => {
1703
- o.changeActiveCardInfo(c == null ? void 0 : c.id), o.pushToLinkCard(P, c);
1720
+ o.changeActiveCardInfo(c == null ? void 0 : c.id), o.pushToLinkCard(F, c);
1704
1721
  },
1705
- class: I(["px-1 py-3 text-gray-600 pe-3 text-start", {
1706
- "cursor-pointer": n.isVisibleCardInfo,
1707
- "text-blue-600 hover:underline decoration-2": P == null ? void 0 : P.link
1708
- }]),
1709
- key: P.name
1722
+ class: I(["px-1 py-3 text-gray-600 pe-3", o.getCustomStyles(F)]),
1723
+ key: F.name
1710
1724
  }, [
1711
1725
  x(q, {
1712
1726
  row: c,
1713
- column: P,
1727
+ column: F,
1714
1728
  table: s.table,
1715
1729
  onUpdateTable: o.getTableData
1716
1730
  }, null, 8, ["row", "column", "table", "onUpdateTable"])
1717
1731
  ], 10, Hn))), 128)),
1718
- (we = (_e = o.getActions) == null ? void 0 : _e.filter(
1719
- (P) => P !== "add" && P !== "view"
1720
- )) != null && we.length ? (r(), i("td", {
1732
+ (Ce = (we = o.getActions) == null ? void 0 : we.filter(
1733
+ (F) => F !== "add" && F !== "view"
1734
+ )) != null && Ce.length ? (r(), i("td", {
1721
1735
  key: 0,
1722
1736
  class: I(["text-center sticky right-0 w-[80px] px-[10px]", {
1723
- "bg-gray-50": (($e = (Ce = t.$route) == null ? void 0 : Ce.query) == null ? void 0 : $e.card) === (c == null ? void 0 : c.id),
1724
- "bg-white": ((Te = (Ae = t.$route) == null ? void 0 : Ae.query) == null ? void 0 : Te.card) !== (c == null ? void 0 : c.id)
1737
+ "bg-gray-50": ((Ae = ($e = t.$route) == null ? void 0 : $e.query) == null ? void 0 : Ae.card) === (c == null ? void 0 : c.id),
1738
+ "bg-white": ((Se = (Te = t.$route) == null ? void 0 : Te.query) == null ? void 0 : Se.card) !== (c == null ? void 0 : c.id)
1725
1739
  }])
1726
1740
  }, [
1727
- x(Pe, {
1741
+ x(Fe, {
1728
1742
  actions: o.getActions,
1729
1743
  isForm: o.isForm,
1730
1744
  item: c,
@@ -1747,13 +1761,13 @@ function Xn(t, e, s, a, n, o) {
1747
1761
  l("div", Wn, [
1748
1762
  l("p", Jn, [
1749
1763
  l("span", Gn, [
1750
- j(A(n.filters || n.searchValue ? "Знайдено" : "Об'єктів") + " " + A(((he = n.tableData) == null ? void 0 : he.count) || "0 ") + " ", 1),
1764
+ P(A(n.filters || n.searchValue ? "Знайдено" : "Об'єктів") + " " + A(((he = n.tableData) == null ? void 0 : he.count) || "0 ") + " ", 1),
1751
1765
  n.filters || n.searchValue ? (r(), i("span", Kn, " з")) : v("", !0)
1752
1766
  ]),
1753
1767
  n.filters || n.searchValue ? (r(), i("span", Qn, A(" " + ((be = n.tableData) == null ? void 0 : be.filtered) || 0), 1)) : v("", !0)
1754
1768
  ])
1755
1769
  ]),
1756
- Math.ceil(((fe = n.tableData) == null ? void 0 : fe.filtered) / n.limit) > 1 ? (r(), k(Me, {
1770
+ Math.ceil(((fe = n.tableData) == null ? void 0 : fe.filtered) / n.limit) > 1 ? (r(), k(Le, {
1757
1771
  key: 0,
1758
1772
  class: "justify-end",
1759
1773
  "default-page": parseInt(o.defaultPage),
@@ -1764,11 +1778,11 @@ function Xn(t, e, s, a, n, o) {
1764
1778
  }, null, 8, ["default-page", "total", "onPageChange", "pageSize"])) : v("", !0)
1765
1779
  ])
1766
1780
  ], 2),
1767
- x(L, { name: "slide-fade" }, {
1781
+ x(z, { name: "slide-fade" }, {
1768
1782
  default: S(() => {
1769
1783
  var c;
1770
1784
  return [
1771
- n.isVisibleCardInfo ? (r(), k(Le, {
1785
+ n.isVisibleCardInfo ? (r(), k(ze, {
1772
1786
  key: 0,
1773
1787
  table: s.table,
1774
1788
  columns: (c = n.tableData) == null ? void 0 : c.columns,
@@ -1783,7 +1797,7 @@ function Xn(t, e, s, a, n, o) {
1783
1797
  ])
1784
1798
  ]);
1785
1799
  }
1786
- const Yn = /* @__PURE__ */ C(Sn, [["render", Xn], ["__scopeId", "data-v-df0b453f"]]), Zn = {
1800
+ const Yn = /* @__PURE__ */ C(In, [["render", Xn], ["__scopeId", "data-v-9370dca8"]]), Zn = {
1787
1801
  components: { AdminTable: Yn },
1788
1802
  data() {
1789
1803
  return {
@@ -1796,13 +1810,13 @@ const Yn = /* @__PURE__ */ C(Sn, [["render", Xn], ["__scopeId", "data-v-df0b453f
1796
1810
  $route: {
1797
1811
  async handler() {
1798
1812
  var t;
1799
- (t = Se) != null && t.value || await this.getMenu(), await this.checkPageType();
1813
+ (t = Ie) != null && t.value || await this.getMenu(), await this.checkPageType();
1800
1814
  },
1801
1815
  deep: !0
1802
1816
  },
1803
1817
  title(t) {
1804
1818
  var e;
1805
- t && (document.title = (((e = Ke.value) == null ? void 0 : e.titlePrefix) || "") + t);
1819
+ t && (document.title = (((e = Qe.value) == null ? void 0 : e.titlePrefix) || "") + t);
1806
1820
  }
1807
1821
  },
1808
1822
  async mounted() {
@@ -1817,11 +1831,11 @@ const Yn = /* @__PURE__ */ C(Sn, [["render", Xn], ["__scopeId", "data-v-df0b453f
1817
1831
  },
1818
1832
  async checkPageType() {
1819
1833
  var a, n;
1820
- const t = this.flattenMenu(Se.value);
1834
+ const t = this.flattenMenu(Ie.value);
1821
1835
  t != null && t.length || this.$router.replace("/404");
1822
1836
  const e = t == null ? void 0 : t.find((o) => {
1823
- var d, f;
1824
- return (o == null ? void 0 : o.path) == ((f = (d = this.$route) == null ? void 0 : d.params) == null ? void 0 : f.catchAll);
1837
+ var u, f;
1838
+ return (o == null ? void 0 : o.path) == ((f = (u = this.$route) == null ? void 0 : u.params) == null ? void 0 : f.catchAll);
1825
1839
  });
1826
1840
  this.title = e == null ? void 0 : e.ua, e || this.$router.replace("/404"), e != null && e.component && this.$router.replace((n = (a = this.$route) == null ? void 0 : a.params) == null ? void 0 : n.catchAll);
1827
1841
  const s = e == null ? void 0 : e.table;
@@ -1830,7 +1844,7 @@ const Yn = /* @__PURE__ */ C(Sn, [["render", Xn], ["__scopeId", "data-v-df0b453f
1830
1844
  async getInterface() {
1831
1845
  var t, e;
1832
1846
  try {
1833
- const { data: s } = await F.get(
1847
+ const { data: s } = await j.get(
1834
1848
  `/api/template/interface/${((e = (t = this.$route) == null ? void 0 : t.params) == null ? void 0 : e.catchAll) || ""}`
1835
1849
  );
1836
1850
  this.interface = s || "";
@@ -1841,8 +1855,8 @@ const Yn = /* @__PURE__ */ C(Sn, [["render", Xn], ["__scopeId", "data-v-df0b453f
1841
1855
  }
1842
1856
  }, el = ["innerHTML"];
1843
1857
  function tl(t, e, s, a, n, o) {
1844
- const d = p("AdminTable");
1845
- return n.table ? (r(), k(d, {
1858
+ const u = p("AdminTable");
1859
+ return n.table ? (r(), k(u, {
1846
1860
  key: 0,
1847
1861
  table: n.table,
1848
1862
  title: n.title