@opengis/admin 0.2.65 → 0.2.67

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-BtUzi4GX.js → add-page-Caxn9Woj.js} +1 -1
  4. package/dist/{admin-interface-azd5p258.js → admin-interface-CPjEYW_l.js} +203 -190
  5. package/dist/{admin-view-BBwandFl.js → admin-view-yVqjTc8c.js} +185 -177
  6. package/dist/admin.js +1 -1
  7. package/dist/admin.umd.cjs +51 -51
  8. package/dist/assets/logo.svg +41 -41
  9. package/dist/{card-view-B2H9qddj.js → card-view-Ws57jfaC.js} +1 -1
  10. package/dist/{edit-page-DnE5wYiH.js → edit-page-CdY6VuH9.js} +1 -1
  11. package/dist/{import-file-C6G431s6.js → import-file-4HSrPd25.js} +3314 -3320
  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 +3 -3
  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,5 +1,5 @@
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-C6G431s6.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";
1
+ import { _ as C, f as qe, g as Be, h as Oe, e as j, 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-4HSrPd25.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 Qe, createStaticVNode as Xe, withDirectives as L, vModelCheckbox as Ye, Transition as z, 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
3
  const nt = {
4
4
  data() {
5
5
  return {
@@ -71,9 +71,9 @@ function at(t, e, s, a, n, o) {
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),
76
+ P(A(o.label) + " ", 1),
77
77
  l("span", rt, [
78
78
  n.currentSort ? (r(), i("svg", {
79
79
  key: 0,
@@ -95,7 +95,7 @@ function at(t, e, s, a, n, o) {
95
95
  ])) : (r(), i("p", ot, A(o.label), 1))
96
96
  ]);
97
97
  }
98
- const it = /* @__PURE__ */ C(nt, [["render", at]]), ut = {
98
+ const it = /* @__PURE__ */ C(nt, [["render", at]]), dt = {
99
99
  components: {
100
100
  IconMore: qe,
101
101
  IconDelete: Be,
@@ -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
+ }, ut = { 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 = {
182
182
  key: 1,
183
183
  class: "h-[1px] w-[80%] bg-gray-200 ml-auto mr-auto"
184
184
  }, gt = { class: "flex justify-end p-[16px] pr-0 gap-x-3" };
185
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");
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", ut, [
189
+ x(d, {
190
190
  trigger: "click",
191
191
  placement: "bottom-left"
192
192
  }, {
193
193
  reference: S(() => [
194
194
  l("button", ct, [
195
- x(d, {
195
+ x(u, {
196
196
  height: "16",
197
197
  width: "16"
198
198
  })
@@ -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)
222
+ l("span", bt, A(V == null ? void 0 : V.label), 1)
223
223
  ], 8, ht))), 128)),
224
224
  s.isForm ? (r(), i("div", ft)) : 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] = Qe((...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),
@@ -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 xt = /* @__PURE__ */ C(dt, [["render", mt]]), yt = {}, kt = {
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",
@@ -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: "Файл успішно експортовано!"
@@ -411,10 +411,10 @@ const At = /* @__PURE__ */ C(wt, [["render", $t]]), Tt = {
411
411
  }, It = {
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
+ }, 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"], Ft = {
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
+ }, jt = { 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 = {
418
418
  key: 0,
419
419
  class: "flex w-full justify-end p-[20px] gap-[6px] border-t"
420
420
  }, Ot = {
@@ -422,21 +422,21 @@ const At = /* @__PURE__ */ C(wt, [["render", $t]]), Tt = {
422
422
  class: "flex w-full justify-end p-[20px] gap-[6px] border-t"
423
423
  };
424
424
  function Nt(t, e, s, a, n, o) {
425
- const d = p("IconExport"), f = p("IconSuccess"), h = p("VsCheckbox"), b = p("VsDialog");
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
@@ -446,23 +446,23 @@ function Nt(t, e, s, a, n, o) {
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
456
  ])) : (r(), i("div", Ot, [
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
  ]),
@@ -478,21 +478,21 @@ function Nt(t, e, s, a, n, o) {
478
478
  l("div", Vt, [
479
479
  e[9] || (e[9] = l("h2", { class: "text-sm font-[600] text-gray-500" }, " Виберіть стовпці таблиці для експорту: ", -1)),
480
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,
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", Ft)) : v("", !0)
490
490
  ], 2),
491
- j(" " + A(u == null ? void 0 : u.label), 1)
491
+ P(" " + A(d == null ? void 0 : d.label), 1)
492
492
  ], 8, Pt))), 128))
493
493
  ]),
494
- l("div", Ft, [
495
- (r(!0), i(T, null, V(s.columns, (u, _) => (r(), i("div", {
494
+ l("div", jt, [
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,8 +501,8 @@ 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
  ])
@@ -510,7 +510,7 @@ function Nt(t, e, s, a, n, o) {
510
510
  l("div", Mt, [
511
511
  e[10] || (e[10] = l("h2", { class: "text-sm font-[600] text-gray-500" }, "Виберіть формат таблиці:", -1)),
512
512
  l("div", Lt, [
513
- (r(!0), i(T, null, V(n.tableFormats, (u, _) => (r(), i("div", {
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)
521
+ id: d,
522
+ onChange: (m) => o.selectFormat(d)
523
523
  }, null, 40, zt),
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, qt)
528
528
  ]))), 128))
529
529
  ])
530
530
  ])
@@ -572,11 +572,11 @@ const Wt = /* @__PURE__ */ C(Et, [["render", Rt]]), Jt = {
572
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
573
  function Qt(t, e, s, a, n, o) {
574
574
  var f, h;
575
- const d = p("IconCheck2");
575
+ const u = p("IconCheck2");
576
576
  return r(), i("div", Gt, [
577
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", {
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"
@@ -586,7 +586,7 @@ function Qt(t, e, s, a, n, o) {
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
  })
@@ -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
  }
@@ -645,26 +645,26 @@ const Xt = /* @__PURE__ */ C(Jt, [["render", Qt]]), Yt = {
645
645
  class: "flex items-center px-3 text-[13px] py-1.5 px-3 rounded-md cursor-pointer group"
646
646
  };
647
647
  function os(t, e, s, a, n, o) {
648
- const d = p("IconColumns"), f = p("AdminTableColumnsHiddenItem");
648
+ const u = p("IconColumns"), f = p("AdminTableColumnsHiddenItem");
649
649
  return r(), i("div", Zt, [
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
663
  n.visible ? (r(), i("div", es, [
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
665
  l("div", ts, [
666
- M(l("input", {
667
- "onUpdate:modelValue": e[1] || (e[1] = (u) => n.searchValue = u),
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",
@@ -676,9 +676,9 @@ function os(t, e, s, a, n, o) {
676
676
  l("div", ss, [
677
677
  (h = o.filteredColumn) != null && h.length ? (r(), i("span", ns, " Оберіть колонки для відображення ")) : v("", !0),
678
678
  l("div", ls, [
679
- (b = o.filteredColumn) != null && b.length ? (r(!0), i(T, { key: 0 }, V(o.filteredColumn, (u, _) => (r(), k(f, {
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
683
  }, null, 8, ["column", "onUpdateColumn"]))), 128)) : (r(), i("div", rs, " Нічого не знайдено "))
684
684
  ])
@@ -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 as = /* @__PURE__ */ C(Yt, [["render", os]]), is = {}, ds = {
694
694
  xmlns: "http://www.w3.org/2000/svg",
695
695
  viewBox: "0 0 24 24",
696
696
  fill: "none",
@@ -700,8 +700,8 @@ 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) {
704
- return r(), i("svg", us, e[0] || (e[0] = [
703
+ function us(t, e, s, a, n, o) {
704
+ return r(), i("svg", ds, e[0] || (e[0] = [
705
705
  l("path", {
706
706
  stroke: "none",
707
707
  d: "M0 0h24v24H0z",
@@ -710,7 +710,7 @@ 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 = {
713
+ const cs = /* @__PURE__ */ C(is, [["render", us]]), ps = {
714
714
  components: { IconPlus: N, IconMinus: cs },
715
715
  props: {
716
716
  title: String,
@@ -721,7 +721,7 @@ const cs = /* @__PURE__ */ C(is, [["render", ds]]), ps = {
721
721
  }
722
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
723
  function ms(t, e, s, a, n, o) {
724
- const d = p("IconPlus"), f = p("IconMinus");
724
+ const u = p("IconPlus"), f = p("IconMinus");
725
725
  return r(), i("div", null, [
726
726
  l("div", null, [
727
727
  l("div", hs, [
@@ -739,12 +739,12 @@ 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, [
747
+ L(l("div", gs, [
748
748
  et(t.$slots, "default", {}, void 0, !0)
749
749
  ], 512), [
750
750
  [E, n.expanded]
@@ -756,7 +756,7 @@ 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-c6318482"]]), ys = {
759
+ const xs = /* @__PURE__ */ C(ps, [["render", ms], ["__scopeId", "data-v-e1f274c9"]]), ys = {
760
760
  components: {
761
761
  AdminComponentIs: U,
762
762
  AdminTree: xs,
@@ -775,7 +775,7 @@ const xs = /* @__PURE__ */ C(ps, [["render", ms], ["__scopeId", "data-v-c6318482
775
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
776
  function Is(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");
778
+ const u = p("AdminComponentIs"), f = p("AdminTree"), h = p("VsWidgetMap"), b = p("VsNoData"), d = p("VsWidgetComments"), _ = p("VsWidgetFileList");
779
779
  return r(), i("div", ks, [
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" }, "Інформація про об'єкт")
@@ -791,10 +791,10 @@ function Is(t, e, s, a, n, o) {
791
791
  default: S(() => [
792
792
  l("div", _s, [
793
793
  l("dl", ws, [
794
- (r(!0), i(T, null, V(s.columns, (y) => (r(), i("div", Cs, [
794
+ (r(!0), i(T, null, D(s.columns, (y) => (r(), i("div", Cs, [
795
795
  l("dt", $s, A((y == null ? void 0 : y.ua) || (y == null ? void 0 : y.title)), 1),
796
796
  l("dd", As, [
797
- x(d, {
797
+ x(u, {
798
798
  row: s.row,
799
799
  column: y,
800
800
  table: s.table
@@ -836,7 +836,7 @@ function Is(t, e, s, a, n, o) {
836
836
  var y;
837
837
  return [
838
838
  l("div", Ts, [
839
- x(u, {
839
+ x(d, {
840
840
  id: (y = s.row) == null ? void 0 : y.id
841
841
  }, null, 8, ["id"])
842
842
  ])
@@ -878,7 +878,7 @@ const Vs = /* @__PURE__ */ C(ys, [["render", Is]]), Ds = {}, Ps = {
878
878
  "stroke-linecap": "round",
879
879
  "stroke-linejoin": "round"
880
880
  };
881
- function js(t, e, s, a, n, o) {
881
+ function Fs(t, e, s, a, n, o) {
882
882
  return r(), i("svg", Ps, e[0] || (e[0] = [
883
883
  l("rect", {
884
884
  width: "18",
@@ -891,7 +891,7 @@ 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 js = /* @__PURE__ */ C(Ds, [["render", Fs]]), Ms = {
895
895
  emits: ["filterChange"],
896
896
  props: {
897
897
  scheme: { type: Object },
@@ -909,27 +909,30 @@ 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" };
912
+ }, Ls = {
913
+ key: 0,
914
+ class: "px-[7px] text-[10px] py-[1px] font-[700] text-white bg-blue-500 rounded-full"
915
+ }, 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
916
  function qs(t, e, s, a, n, o) {
914
- const d = p("IconFilter"), f = p("VsFilter");
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(" Фільтри ")),
927
+ e[4] || (e[4] = P(" Фільтри ")),
925
928
  s.onFilters ? (r(), i("span", Ls, 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
934
  (r(), k(tt, { to: "#modal" }, [
932
- M(l("div", {
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)]"
@@ -971,12 +974,12 @@ const Bs = /* @__PURE__ */ C(Ms, [["render", qs]]), Os = {
971
974
  }, Us = ["onClick"];
972
975
  function Es(t, e, s, a, n, o) {
973
976
  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),
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, Us))), 256))
980
983
  ]);
981
984
  }
982
985
  const Hs = /* @__PURE__ */ C(Os, [["render", Es]]), Rs = {}, Ws = {
@@ -1004,14 +1007,14 @@ const Gs = /* @__PURE__ */ C(Rs, [["render", Js]]), Ks = {
1004
1007
  props: { filterCustom: String, customList: Array }
1005
1008
  }, 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
1009
  function en(t, e, s, a, n, o) {
1007
- const d = p("IconFilter2"), f = p("IconCheck2"), h = p("VsPopover");
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
1016
  l("button", Qs, [
1014
- x(d, {
1017
+ x(u, {
1015
1018
  height: "20",
1016
1019
  width: "20"
1017
1020
  })
@@ -1019,12 +1022,12 @@ function en(t, e, s, a, n, o) {
1019
1022
  ]),
1020
1023
  default: S(() => [
1021
1024
  l("div", Xs, [
1022
- (r(!0), i(T, null, V(s.customList, (b, u) => (r(), i("button", {
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
1033
  l("span", Zs, A(b == null ? void 0 : b.label), 1),
@@ -1036,8 +1039,8 @@ function en(t, e, s, a, n, o) {
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
  ])
@@ -1051,27 +1054,27 @@ const tn = /* @__PURE__ */ C(Ks, [["render", en]]), sn = { class: "flex items-ce
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 = De()) == 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", sn, [
1075
1078
  (r(), k(O(a.value))),
1076
1079
  (r(), k(O(s.value)))
1077
1080
  ]));
@@ -1089,18 +1092,18 @@ const tn = /* @__PURE__ */ C(Ks, [["render", en]]), sn = { class: "flex items-ce
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 = De()) == 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);
@@ -1111,7 +1114,7 @@ const tn = /* @__PURE__ */ C(Ks, [["render", en]]), sn = { class: "flex items-ce
1111
1114
  }, an = {
1112
1115
  key: 1,
1113
1116
  class: "px-1 py-3 text-gray-800 font-[700]"
1114
- }, un = {
1117
+ }, dn = {
1115
1118
  __name: "admin-table-totals-list",
1116
1119
  props: {
1117
1120
  columns: { type: Array, default: () => [] },
@@ -1120,7 +1123,7 @@ 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
@@ -1135,7 +1138,7 @@ const tn = /* @__PURE__ */ C(Ks, [["render", en]]), sn = { class: "flex items-ce
1135
1138
  }), 128))
1136
1139
  ]));
1137
1140
  }
1138
- }, dn = {}, cn = {
1141
+ }, un = {}, cn = {
1139
1142
  xmlns: "http://www.w3.org/2000/svg",
1140
1143
  viewBox: "0 0 24 24",
1141
1144
  fill: "none",
@@ -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 hn = /* @__PURE__ */ C(un, [["render", pn]]), bn = {}, fn = {
1159
1162
  xmlns: "http://www.w3.org/2000/svg",
1160
1163
  viewBox: "0 0 24 24",
1161
1164
  fill: "none",
@@ -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: {
@@ -1260,17 +1263,17 @@ const mn = /* @__PURE__ */ C(bn, [["render", gn]]), xn = st({
1260
1263
  }
1261
1264
  }), 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 = {
1262
1265
  key: 0,
1263
- class: "flex justify-center items-center gap-x-5 ml-3"
1266
+ class: "flex items-center justify-center ml-3 gap-x-5"
1264
1267
  }, 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
1268
  function An(t, e, s, a, n, o) {
1266
- const d = p("IconChevronDown"), f = p("IconCheck");
1269
+ const u = p("IconChevronDown"), f = p("IconCheck");
1267
1270
  return r(), i("nav", yn, [
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"
@@ -1291,7 +1294,7 @@ function An(t, e, s, a, n, o) {
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"
@@ -1299,13 +1302,13 @@ function An(t, e, s, a, n, o) {
1299
1302
  ], 2),
1300
1303
  t.pageSizes.length ? (r(), i("div", _n, [
1301
1304
  l("div", wn, [
1302
- M(l("div", Cn, [
1303
- (r(!0), i(T, null, V(t.pageSizes, (h) => (r(), i("button", {
1305
+ L(l("div", Cn, [
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",
@@ -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
  })
@@ -1343,14 +1346,14 @@ const Tn = /* @__PURE__ */ C(xn, [["render", An]]), Sn = {
1343
1346
  IconPlus: N,
1344
1347
  IconSearch: Ge,
1345
1348
  AdminTableCardInfo: Vs,
1346
- IconOpenCard: Fs,
1349
+ IconOpenCard: js,
1347
1350
  AdminComponentIs: U,
1348
1351
  AdminTableFilters: Bs,
1349
1352
  AdminTableTabs: Hs,
1350
1353
  AdminTableCustomFilters: tn,
1351
1354
  AdminTableCustomButtons: nn,
1352
1355
  AdminCustomButtonAdd: rn,
1353
- AdminTableTotalsList: un,
1356
+ AdminTableTotalsList: dn,
1354
1357
  AdminTablePagination: Tn
1355
1358
  },
1356
1359
  data() {
@@ -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,38 @@ 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
+ var e;
1545
+ return [
1546
+ ((e = this.tableData) == null ? void 0 : e.card) === !1 ? "" : " text-blue-600 decoration-2 focus:outline-none focus:underline hover:text-blue-600 hover:underline",
1547
+ t != null && t.link ? " text-blue-600 hover:underline decoration-2" : "",
1548
+ t != null && t.align ? ` text-${(t == null ? void 0 : t.align) || "left"}` : "",
1549
+ `text-${(t == null ? void 0 : t.wrap) || "wrap"}`
1550
+ ];
1536
1551
  }
1537
1552
  }
1538
1553
  }, 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 = {
1539
1554
  style: { height: "calc(100vh - 155px)" },
1540
1555
  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 = {
1556
+ }, Fn = { class: "bg-white w-full rounded-xl border p-[20px] pr-0" }, jn = { class: "flex" }, Mn = { class: "flex gap-[6px] ml-auto" }, Ln = { class: "inline-block w-full align-middle" }, zn = {
1542
1557
  key: 0,
1543
1558
  class: "relative min-w-full text-[13px] divide-y divide-gray-200 table-fixed w-max dark:divide-neutral-700"
1544
1559
  }, 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 = {
1545
1560
  key: 0,
1546
1561
  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 = {
1562
+ }, Nn = { class: "divide-y divide-gray-200 z-[1] relative" }, Un = ["onClick"], En = ["onClick"], Hn = { class: "p-[10px] flex justify-start items-center w-full" }, Rn = { class: "w-[200px] md:inline-flex hidden" }, Wn = { class: "text-sm text-gray-600 dark:text-neutral-400" }, Jn = { class: "font-semibold text-gray-800 dark:text-neutral-200" }, Gn = { key: 0 }, Kn = {
1548
1563
  key: 0,
1549
1564
  class: "font-semibold text-gray-800 dark:text-neutral-200"
1550
1565
  };
1551
- 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");
1566
+ function Qn(t, e, s, a, n, o) {
1567
+ 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;
1568
+ 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"), Pe = p("AdminTableControl"), Fe = p("AdminTableTotalsList"), je = p("AdminNodata"), Me = p("AdminTablePagination"), Le = p("AdminTableCardInfo");
1554
1569
  return r(), i("div", In, [
1555
1570
  l("div", Vn, [
1556
1571
  l("h2", Dn, A(s.title), 1),
1557
1572
  o.isForm ? (r(), i(T, { key: 0 }, [
1558
- (R = (H = n.tableData) == null ? void 0 : H.slots) != null && R.addButton ? (r(), k(d, {
1573
+ (R = (H = n.tableData) == null ? void 0 : H.slots) != null && R.addButton ? (r(), k(u, {
1559
1574
  key: 0,
1560
1575
  slots: (W = n.tableData) == null ? void 0 : W.slots
1561
1576
  }, null, 8, ["slots"])) : (r(), k(h, {
@@ -1568,28 +1583,28 @@ function Xn(t, e, s, a, n, o) {
1568
1583
  height: "16",
1569
1584
  width: "16"
1570
1585
  }),
1571
- e[5] || (e[5] = j(" Додати "))
1586
+ e[5] || (e[5] = P(" Додати "))
1572
1587
  ]),
1573
1588
  _: 1
1574
1589
  }, 8, ["to"]))
1575
1590
  ], 64)) : v("", !0)
1576
1591
  ]),
1577
1592
  l("div", Pn, [
1578
- l("div", jn, [
1593
+ l("div", Fn, [
1579
1594
  (Q = (K = n.tableData) == null ? void 0 : K.filterState) != null && Q.length ? (r(), k(b, {
1580
1595
  key: 0,
1581
1596
  tabsList: (X = n.tableData) == null ? void 0 : X.filterState,
1582
1597
  filterState: n.filterState,
1583
1598
  "onUpdate:filterState": e[0] || (e[0] = (c) => n.filterState = c)
1584
1599
  }, null, 8, ["tabsList", "filterState"])) : v("", !0),
1585
- l("div", Fn, [
1600
+ l("div", jn, [
1586
1601
  l("div", {
1587
1602
  class: I([n.isVisibleCardInfo ? "w-[calc(100%-360px)]" : "w-full"])
1588
1603
  }, [
1589
1604
  l("div", {
1590
1605
  class: I(["flex sm:grid sm:grid-cols-2 gap-x-2 sm:gap-x-5 mb-[10px] relative", { "pr-[20px]": !n.isVisibleCardInfo }])
1591
1606
  }, [
1592
- x(u, {
1607
+ x(d, {
1593
1608
  height: "14",
1594
1609
  width: "14",
1595
1610
  class: "absolute top-[10px] left-[14px] text-gray-500 z-[1]"
@@ -1636,7 +1651,7 @@ function Xn(t, e, s, a, n, o) {
1636
1651
  onClick: e[4] || (e[4] = (...c) => o.toggleCardInfo && o.toggleCardInfo(...c)),
1637
1652
  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
1653
  }, [
1639
- x(D, {
1654
+ x(V, {
1640
1655
  class: I({ "rotate-180 duration-300": !n.isVisibleCardInfo })
1641
1656
  }, null, 8, ["class"])
1642
1657
  ])
@@ -1652,10 +1667,10 @@ function Xn(t, e, s, a, n, o) {
1652
1667
  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
1668
  }, [
1654
1669
  l("div", Ln, [
1655
- o.isNoData ? (r(), k(Fe, { key: 1 })) : (r(), i("table", zn, [
1670
+ o.isNoData ? (r(), k(je, { key: 1 })) : (r(), i("table", zn, [
1656
1671
  l("thead", qn, [
1657
1672
  l("tr", Bn, [
1658
- (r(!0), i(T, null, V(o.columns, (c) => (r(), k(z, {
1673
+ (r(!0), i(T, null, D(o.columns, (c) => (r(), k(M, {
1659
1674
  key: c.name,
1660
1675
  style: Ie({
1661
1676
  width: o.rowWidth(c == null ? void 0 : c.name),
@@ -1666,13 +1681,13 @@ function Xn(t, e, s, a, n, o) {
1666
1681
  activeColumn: n.activeColumn,
1667
1682
  onChangeActive: o.changeActiveColumn
1668
1683
  }, null, 8, ["style", "data", "activeColumn", "onChangeActive"]))), 128)),
1669
- (de = (ue = o.getActions) == null ? void 0 : ue.filter(
1684
+ (ue = (de = o.getActions) == null ? void 0 : de.filter(
1670
1685
  (c) => c !== "add" && c !== "view"
1671
- )) != null && de.length ? (r(), i("th", On)) : v("", !0)
1686
+ )) != null && ue.length ? (r(), i("th", On)) : v("", !0)
1672
1687
  ])
1673
1688
  ]),
1674
1689
  l("tbody", Nn, [
1675
- (r(!0), i(T, null, V((ce = n.tableData) == null ? void 0 : ce.rows, (c, ze) => {
1690
+ (r(!0), i(T, null, D((ce = n.tableData) == null ? void 0 : ce.rows, (c, ze) => {
1676
1691
  var me, xe, ye, ke, ve, _e, we, Ce, $e, Ae, Te;
1677
1692
  return r(), i("tr", {
1678
1693
  key: (c == null ? void 0 : c.id) || ze,
@@ -1680,15 +1695,16 @@ function Xn(t, e, s, a, n, o) {
1680
1695
  "bg-gray-50": ((xe = (me = t.$route) == null ? void 0 : me.query) == null ? void 0 : xe.card) === (c == null ? void 0 : c.id)
1681
1696
  })
1682
1697
  }, [
1683
- l("td", Un, [
1698
+ l("td", {
1699
+ class: I(["px-1 py-3 text-gray-600 pe-4", [
1700
+ (ye = o.columns[0]) != null && ye.align ? `text-${((ke = o.columns[0]) == null ? void 0 : ke.align) || "left"}` : ""
1701
+ ]])
1702
+ }, [
1684
1703
  l("button", {
1685
- onClick: (P) => {
1704
+ onClick: (F) => {
1686
1705
  o.pushToCard(c == null ? void 0 : c.id), o.pushToLinkCard(o.columns[0], c);
1687
1706
  },
1688
- 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" : ""
1691
- ]])
1707
+ class: I(["font-medium", o.getCustomStyles(o.columns[0])])
1692
1708
  }, [
1693
1709
  x(q, {
1694
1710
  row: c,
@@ -1696,27 +1712,24 @@ function Xn(t, e, s, a, n, o) {
1696
1712
  table: s.table,
1697
1713
  onUpdateTable: o.getTableData
1698
1714
  }, null, 8, ["row", "column", "table", "onUpdateTable"])
1699
- ], 10, En)
1700
- ]),
1701
- (r(!0), i(T, null, V((ve = o.columns) == null ? void 0 : ve.slice(1), (P) => (r(), i("td", {
1702
- onClick: (sl) => {
1703
- o.changeActiveCardInfo(c == null ? void 0 : c.id), o.pushToLinkCard(P, c);
1715
+ ], 10, Un)
1716
+ ], 2),
1717
+ (r(!0), i(T, null, D((ve = o.columns) == null ? void 0 : ve.slice(1), (F) => (r(), i("td", {
1718
+ onClick: (tl) => {
1719
+ o.changeActiveCardInfo(c == null ? void 0 : c.id), o.pushToLinkCard(F, c);
1704
1720
  },
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
1721
+ class: I(["px-1 py-3 text-gray-600 pe-3", o.getCustomStyles(F)]),
1722
+ key: F.name
1710
1723
  }, [
1711
1724
  x(q, {
1712
1725
  row: c,
1713
- column: P,
1726
+ column: F,
1714
1727
  table: s.table,
1715
1728
  onUpdateTable: o.getTableData
1716
1729
  }, null, 8, ["row", "column", "table", "onUpdateTable"])
1717
- ], 10, Hn))), 128)),
1730
+ ], 10, En))), 128)),
1718
1731
  (we = (_e = o.getActions) == null ? void 0 : _e.filter(
1719
- (P) => P !== "add" && P !== "view"
1732
+ (F) => F !== "add" && F !== "view"
1720
1733
  )) != null && we.length ? (r(), i("td", {
1721
1734
  key: 0,
1722
1735
  class: I(["text-center sticky right-0 w-[80px] px-[10px]", {
@@ -1735,7 +1748,7 @@ function Xn(t, e, s, a, n, o) {
1735
1748
  ], 2);
1736
1749
  }), 128))
1737
1750
  ]),
1738
- x(je, {
1751
+ x(Fe, {
1739
1752
  columns: o.columns,
1740
1753
  agg: (pe = n.tableData) == null ? void 0 : pe.agg
1741
1754
  }, null, 8, ["columns", "agg"])
@@ -1743,14 +1756,14 @@ function Xn(t, e, s, a, n, o) {
1743
1756
  ])
1744
1757
  ], 4)
1745
1758
  ], 2),
1746
- l("div", Rn, [
1747
- l("div", Wn, [
1748
- l("p", Jn, [
1749
- l("span", Gn, [
1750
- j(A(n.filters || n.searchValue ? "Знайдено" : "Об'єктів") + " " + A(((he = n.tableData) == null ? void 0 : he.count) || "0 ") + " ", 1),
1751
- n.filters || n.searchValue ? (r(), i("span", Kn, " з")) : v("", !0)
1759
+ l("div", Hn, [
1760
+ l("div", Rn, [
1761
+ l("p", Wn, [
1762
+ l("span", Jn, [
1763
+ P(A(n.filters || n.searchValue ? "Знайдено" : "Об'єктів") + " " + A(((he = n.tableData) == null ? void 0 : he.count) || "0 ") + " ", 1),
1764
+ n.filters || n.searchValue ? (r(), i("span", Gn, " з")) : v("", !0)
1752
1765
  ]),
1753
- n.filters || n.searchValue ? (r(), i("span", Qn, A(" " + ((be = n.tableData) == null ? void 0 : be.filtered) || 0), 1)) : v("", !0)
1766
+ n.filters || n.searchValue ? (r(), i("span", Kn, A(" " + ((be = n.tableData) == null ? void 0 : be.filtered) || 0), 1)) : v("", !0)
1754
1767
  ])
1755
1768
  ]),
1756
1769
  Math.ceil(((fe = n.tableData) == null ? void 0 : fe.filtered) / n.limit) > 1 ? (r(), k(Me, {
@@ -1764,7 +1777,7 @@ function Xn(t, e, s, a, n, o) {
1764
1777
  }, null, 8, ["default-page", "total", "onPageChange", "pageSize"])) : v("", !0)
1765
1778
  ])
1766
1779
  ], 2),
1767
- x(L, { name: "slide-fade" }, {
1780
+ x(z, { name: "slide-fade" }, {
1768
1781
  default: S(() => {
1769
1782
  var c;
1770
1783
  return [
@@ -1783,8 +1796,8 @@ function Xn(t, e, s, a, n, o) {
1783
1796
  ])
1784
1797
  ]);
1785
1798
  }
1786
- const Yn = /* @__PURE__ */ C(Sn, [["render", Xn], ["__scopeId", "data-v-df0b453f"]]), Zn = {
1787
- components: { AdminTable: Yn },
1799
+ const Xn = /* @__PURE__ */ C(Sn, [["render", Qn], ["__scopeId", "data-v-24d367b7"]]), Yn = {
1800
+ components: { AdminTable: Xn },
1788
1801
  data() {
1789
1802
  return {
1790
1803
  table: !1,
@@ -1820,8 +1833,8 @@ const Yn = /* @__PURE__ */ C(Sn, [["render", Xn], ["__scopeId", "data-v-df0b453f
1820
1833
  const t = this.flattenMenu(Se.value);
1821
1834
  t != null && t.length || this.$router.replace("/404");
1822
1835
  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);
1836
+ var u, f;
1837
+ return (o == null ? void 0 : o.path) == ((f = (u = this.$route) == null ? void 0 : u.params) == null ? void 0 : f.catchAll);
1825
1838
  });
1826
1839
  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
1840
  const s = e == null ? void 0 : e.table;
@@ -1830,7 +1843,7 @@ const Yn = /* @__PURE__ */ C(Sn, [["render", Xn], ["__scopeId", "data-v-df0b453f
1830
1843
  async getInterface() {
1831
1844
  var t, e;
1832
1845
  try {
1833
- const { data: s } = await F.get(
1846
+ const { data: s } = await j.get(
1834
1847
  `/api/template/interface/${((e = (t = this.$route) == null ? void 0 : t.params) == null ? void 0 : e.catchAll) || ""}`
1835
1848
  );
1836
1849
  this.interface = s || "";
@@ -1839,10 +1852,10 @@ const Yn = /* @__PURE__ */ C(Sn, [["render", Xn], ["__scopeId", "data-v-df0b453f
1839
1852
  }
1840
1853
  }
1841
1854
  }
1842
- }, el = ["innerHTML"];
1843
- function tl(t, e, s, a, n, o) {
1844
- const d = p("AdminTable");
1845
- return n.table ? (r(), k(d, {
1855
+ }, Zn = ["innerHTML"];
1856
+ function el(t, e, s, a, n, o) {
1857
+ const u = p("AdminTable");
1858
+ return n.table ? (r(), k(u, {
1846
1859
  key: 0,
1847
1860
  table: n.table,
1848
1861
  title: n.title
@@ -1851,9 +1864,9 @@ function tl(t, e, s, a, n, o) {
1851
1864
  class: "w-full bg-gray-50",
1852
1865
  style: { height: "calc(100vh - 120px)" },
1853
1866
  innerHTML: n.interface
1854
- }, null, 8, el));
1867
+ }, null, 8, Zn));
1855
1868
  }
1856
- const rl = /* @__PURE__ */ C(Zn, [["render", tl]]);
1869
+ const ll = /* @__PURE__ */ C(Yn, [["render", el]]);
1857
1870
  export {
1858
- rl as default
1871
+ ll as default
1859
1872
  };