@opengis/admin 0.4.42 → 0.4.43

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.
@@ -1,5 +1,5 @@
1
- import { _ as d, f as m, u as f, s as g } from "./import-file-BJjaVke8.js";
2
- import { resolveComponent as b, createElementBlock as x, openBlock as h, createElementVNode as i, normalizeClass as y, normalizeStyle as p, createBlock as w, createCommentVNode as v } from "vue";
1
+ import { _ as d, f as h, u as f, s as g } from "./import-file-BztF-VRo.js";
2
+ import { resolveComponent as b, createElementBlock as x, openBlock as m, createElementVNode as i, normalizeClass as y, normalizeStyle as p, createBlock as w, createCommentVNode as v } from "vue";
3
3
  const $ = {
4
4
  data() {
5
5
  return {
@@ -20,48 +20,48 @@ const $ = {
20
20
  }
21
21
  },
22
22
  methods: {
23
- flattenMenu(o) {
23
+ flattenMenu(s) {
24
24
  const t = [];
25
- return o.forEach((a) => {
26
- a.menu ? t.push(...this.flattenMenu(a.menu)) : t.push(a);
25
+ return s.forEach((r) => {
26
+ r.menu ? t.push(...this.flattenMenu(r.menu)) : t.push(r);
27
27
  }), t;
28
28
  },
29
29
  async getFormScheme() {
30
- var l, r;
31
- const o = this.flattenMenu(f.value);
32
- o != null && o.length || this.$router.replace("/404");
33
- const t = o == null ? void 0 : o.find((s) => {
30
+ var a;
31
+ const s = this.flattenMenu(f.value);
32
+ s != null && s.length || this.$router.replace("/404");
33
+ const t = s == null ? void 0 : s.find((o) => {
34
34
  var e, n;
35
- return (s == null ? void 0 : s.path) == ((n = (e = this.$route) == null ? void 0 : e.query) == null ? void 0 : n.table);
35
+ return (o == null ? void 0 : o.path) == ((n = (e = this.$route) == null ? void 0 : e.query) == null ? void 0 : n.table);
36
36
  });
37
37
  t || this.$router.replace("/404");
38
- const a = t == null ? void 0 : t.table;
39
- this.table = a;
38
+ const r = t == null ? void 0 : t.table;
39
+ this.table = r;
40
40
  try {
41
- const s = await m.get(`/api/table-data/${a}`), { data: e } = await m.get(
42
- `/api/template/form/${(l = s == null ? void 0 : s.data) == null ? void 0 : l.form}`
41
+ const o = await h.get(`/api/table-data/${r}`), { data: e } = await h.get(
42
+ `/api/form/${(a = o == null ? void 0 : o.data) == null ? void 0 : a.form}`
43
43
  );
44
- this.scheme = (e == null ? void 0 : e.schema) || e, this.style = (e == null ? void 0 : e.style) || null, this.api = (e == null ? void 0 : e.api) || "", this.token = ((r = s == null ? void 0 : s.data) == null ? void 0 : r.addToken) || "";
44
+ this.scheme = (e == null ? void 0 : e.schema) || e, this.style = (e == null ? void 0 : e.style) || null, this.api = (e == null ? void 0 : e.api) || "", this.token = (e == null ? void 0 : e.token) || "";
45
45
  } catch {
46
46
  }
47
47
  },
48
- getGroupedErrorNotification(o, t) {
49
- if (!o || !t) return "";
50
- const a = {};
51
- return Object.entries(o).forEach(([r, s]) => {
52
- var n;
53
- const e = ((n = t[r]) == null ? void 0 : n.ua) || r;
54
- s.forEach((c) => {
48
+ getGroupedErrorNotification(s, t) {
49
+ if (!s || !t) return "";
50
+ const r = {};
51
+ return Object.entries(s).forEach(([o, e]) => {
52
+ var l;
53
+ const n = ((l = t[o]) == null ? void 0 : l.ua) || o;
54
+ e.forEach((c) => {
55
55
  const u = c.message;
56
- a[u] || (a[u] = []), a[u].push(`"${e}"`);
56
+ r[u] || (r[u] = []), r[u].push(`"${n}"`);
57
57
  });
58
- }), Object.entries(a).map(([r, s]) => `<b>${r}:</b> ${s.join(", ")}`).join("<br>") || "Сталася помилка валідації";
58
+ }), Object.entries(r).map(([o, e]) => `<b>${o}:</b> ${e.join(", ")}`).join("<br>") || "Сталася помилка валідації";
59
59
  },
60
60
  async createObject() {
61
- var t, a, l, r, s;
62
- const o = (a = (t = this.$refs.form) == null ? void 0 : t.$refs) == null ? void 0 : a.form;
61
+ var t, r, a, o, e;
62
+ const s = (r = (t = this.$refs.form) == null ? void 0 : t.$refs) == null ? void 0 : r.form;
63
63
  try {
64
- await o.doValidation(), await m.post(
64
+ await s.doValidation(), await h.post(
65
65
  this.api || `/api/table/${this.token}`,
66
66
  this.formValues
67
67
  ), await this.$router.back(), await this.$notify({
@@ -69,51 +69,51 @@ const $ = {
69
69
  message: "Об'єкт успішно створено",
70
70
  type: "success"
71
71
  });
72
- } catch (e) {
73
- const n = this.getGroupedErrorNotification(
74
- o == null ? void 0 : o.formErrors,
75
- o == null ? void 0 : o.scheme
72
+ } catch (n) {
73
+ const l = this.getGroupedErrorNotification(
74
+ s == null ? void 0 : s.formErrors,
75
+ s == null ? void 0 : s.scheme
76
76
  );
77
77
  this.$notify({
78
78
  title: "Помилка!",
79
- message: ((r = (l = e == null ? void 0 : e.response) == null ? void 0 : l.data) == null ? void 0 : r.error) || ((s = e == null ? void 0 : e.response) == null ? void 0 : s.data) || n,
79
+ message: ((o = (a = n == null ? void 0 : n.response) == null ? void 0 : a.data) == null ? void 0 : o.error) || ((e = n == null ? void 0 : n.response) == null ? void 0 : e.data) || l,
80
80
  type: "error"
81
81
  });
82
82
  }
83
83
  }
84
84
  }
85
85
  }, k = { class: "bg-gray-100 lg:w-[calc(100vw-260px)] w-[100vw]" }, V = { class: "h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white rounded-xl" }, _ = { class: "flex items-center gap-[6px]" }, j = { class: "bg-white w-full rounded-xl" };
86
- function E(o, t, a, l, r, s) {
87
- var n;
88
- const e = b("VsFormWithNavigation");
89
- return h(), x("div", k, [
86
+ function E(s, t, r, a, o, e) {
87
+ var l;
88
+ const n = b("VsFormWithNavigation");
89
+ return m(), x("div", k, [
90
90
  i("div", V, [
91
91
  t[3] || (t[3] = i("h2", { class: "text-xl font-medium" }, "Створити", -1)),
92
92
  i("div", _, [
93
93
  i("button", {
94
- onClick: t[0] || (t[0] = (c) => o.$router.back()),
94
+ onClick: t[0] || (t[0] = (c) => s.$router.back()),
95
95
  class: "flex items-center px-3 py-2 text-sm font-medium text-gray-800 duration-300 bg-white border border-gray-100 rounded-lg shadow gap-x-2 focus:outline-none hover:bg-gray-50 hover:border-gray-100"
96
96
  }, " Скасувати "),
97
97
  i("button", {
98
- onClick: t[1] || (t[1] = (...c) => s.createObject && s.createObject(...c)),
99
- class: y(`inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-${s.color}-700 border border-transparent rounded-lg gap-x-2 hover:bg-${s.color}-800 hover:text-white`)
98
+ onClick: t[1] || (t[1] = (...c) => e.createObject && e.createObject(...c)),
99
+ class: y(`inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-${e.color}-700 border border-transparent rounded-lg gap-x-2 hover:bg-${e.color}-800 hover:text-white`)
100
100
  }, " Зберегти ", 2)
101
101
  ])
102
102
  ]),
103
103
  i("div", {
104
104
  style: p({
105
- height: ((n = o.$adminSettings) == null ? void 0 : n.header) === !1 ? "calc(100vh - 91px)" : "calc(100vh - 150px)"
105
+ height: ((l = s.$adminSettings) == null ? void 0 : l.header) === !1 ? "calc(100vh - 91px)" : "calc(100vh - 150px)"
106
106
  }),
107
107
  class: "bg-gray-100 p-[20px] flex lg:w-[calc(100vw-260px)] w-[100vw] overflow-hidden"
108
108
  }, [
109
109
  i("div", j, [
110
- r.scheme ? (h(), w(e, {
110
+ o.scheme ? (m(), w(n, {
111
111
  key: 0,
112
112
  ref: "form",
113
- scheme: r.scheme,
114
- style: p(r.style),
115
- modelValue: r.formValues,
116
- "onUpdate:modelValue": t[2] || (t[2] = (c) => r.formValues = c),
113
+ scheme: o.scheme,
114
+ style: p(o.style),
115
+ modelValue: o.formValues,
116
+ "onUpdate:modelValue": t[2] || (t[2] = (c) => o.formValues = c),
117
117
  class: "h-full p-[20px]"
118
118
  }, null, 8, ["scheme", "style", "modelValue"])) : v("", !0)
119
119
  ])
@@ -1,4 +1,4 @@
1
- import { _ as T, h as Je, i as Ke, j as Ge, f as L, I as Qe, s as R, k as K, V as Xe, l as Ye, m as Ze, n as et, A as G, o as tt, p as st, b as nt, q as at, r as lt, a as rt, t as ot, v as it, u as Ee } from "./import-file-BJjaVke8.js";
1
+ import { _ as T, h as Je, i as Ke, j as Ge, f as L, I as Qe, s as R, k as K, V as Xe, l as Ye, m as Ze, n as et, A as G, o as tt, p as st, b as nt, q as at, r as lt, a as rt, t as ot, v as it, u as Ee } from "./import-file-BztF-VRo.js";
2
2
  import { createElementBlock as d, openBlock as r, createTextVNode as z, createElementVNode as a, toDisplayString as A, createCommentVNode as k, normalizeClass as w, resolveComponent as p, Fragment as $, createVNode as x, withCtx as P, createBlock as y, renderList as V, withModifiers as dt, Transition as Q, withDirectives as X, renderSlot as ut, vShow as Y, Teleport as ct, getCurrentInstance as Ue, ref as H, resolveDynamicComponent as J, defineComponent as ht, withKeys as pt, normalizeStyle as W } from "vue";
3
3
  const bt = {
4
4
  data() {
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as u, openBlock as n, createElementVNode as o, createStaticVNode as Q, resolveComponent as p, createCommentVNode as w, createVNode as h, normalizeClass as f, createTextVNode as V, toDisplayString as B, Transition as q, withCtx as _, withDirectives as W, Fragment as U, renderList as P, vShow as J, createBlock as T, resolveDynamicComponent as F, ref as le, onMounted as ae, computed as oe, withModifiers as ne } from "vue";
2
- import { _ as y, I as K, s as g, a as X, u as A, b as se, c as Y, d as ue, e as ie, f as de, g as ce } from "./import-file-BJjaVke8.js";
2
+ import { _ as y, I as K, s as g, a as X, u as A, b as se, c as Y, d as ue, e as ie, f as de, g as ce } from "./import-file-BztF-VRo.js";
3
3
  import "./user-DCzCj0wb.js";
4
4
  const he = {}, ge = {
5
5
  xmlns: "http://www.w3.org/2000/svg",
package/dist/admin.js CHANGED
@@ -1,4 +1,4 @@
1
- import { w as f } from "./import-file-BJjaVke8.js";
1
+ import { w as f } from "./import-file-BztF-VRo.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -657,5 +657,5 @@ uniform ${O} ${L} u_${G};
657
657
  </div>
658
658
  `}).mount(p)},{Fancybox:_9}=Gh,zy={$form:f9,$api:g9,$map:y9,$preview:({media:t})=>{const e=document.querySelector("#app");if(!e){console.error('Modal root element with id "#app" not found!');return}const n=document.createElement("div");e.appendChild(n),a.createApp({data(){return{items:Array.isArray(t)?t:[t]}},mounted(){this.$nextTick(()=>{_9.show(this.items.map(o=>{const d=typeof o=="string"&&o.endsWith(".pdf");return{src:o,type:d?"iframe":"image"}}),{groupAll:!0,Thumbs:{autoStart:!0}})})},template:`
659
659
  <div style="display: none;"></div> <!-- Keeps container hidden -->
660
- `}).mount(n)}};window.addEventListener("click",t=>{var n,r,o;const e=(n=t==null?void 0:t.target)==null?void 0:n.closest("[_href]");if(e&&(e==null?void 0:e.tagName)==="A"){const d=e==null?void 0:e.getAttribute("_href");(o=(r=window==null?void 0:window.app)==null?void 0:r.router)==null||o.push(d),t==null||t.preventDefault()}});const b9=()=>{const t=a.defineCustomElement(By);customElements.define("admin-info",t)},x9=["black","gray","red","yellow","green","blue","indigo","purple","pink","rose","amber","lime","emerald","teal","cyan","sky","violet","fuchsia","lavender","zinc","neutral","stone"],v9=["white"];let Ld,R2;const w9=async()=>{try{const{data:t}=await Oe.get("/api/user-menu"),e=t.menus;return ii.value=e,Ld=t.settings,R2=t.user,Iy(e)}catch(t){return console.error(t),[]}},k9=(t,e)=>{Object.entries(e).forEach(([n,r])=>{t.component(n,r)})},N2={async install(t,{componentsApp:e={},settings:n,routes:r=[]}){try{b9(),(n.sidebarDark??!0)&&(n.sidebarDark=!v9.includes(n.sidebarColor)),n.buttonColor||(n.buttonColor=x9.includes(n.sidebarColor)?n.sidebarColor:"blue");const d=(await w9()).filter(c=>c==null?void 0:c.component).map(c=>({...c,component:{...Vy,...e}[c==null?void 0:c.component]}));et.value={...et.value,...n,...(Ld==null?void 0:Ld.admin)||{}},k9(t,{...Vy,...e}),t.component("admin",tS);const{router:p}=await OT(d.concat(r));window.app={...t,router:p},window.v3plugin={...t.config.globalProperties,...zy},t.config.globalProperties={...t.config.globalProperties,$componentsConfig:{...Sx,componentsApp:e},$router:p,$v3plugin:zy,$utils:{reloadCardPage:ih},$settings:Ld,$adminSettings:et.value,$user:R2},t.use(p)}catch(o){console.error(o)}},components:Vy,plugins:zy};typeof window<"u"&&(window.v3Admin=N2);const E9={data(){return{formValues:{},scheme:null,table:"",token:"",style:null}},mounted(){this.getFormScheme()},computed:{color(){return et.value.buttonColor||"blue"}},methods:{flattenMenu(t){const e=[];return t.forEach(n=>{n.menu?e.push(...this.flattenMenu(n.menu)):e.push(n)}),e},async getFormScheme(){var r,o;const t=this.flattenMenu(ii.value);t!=null&&t.length||this.$router.replace("/404");const e=t==null?void 0:t.find(d=>{var p,c;return(d==null?void 0:d.path)==((c=(p=this.$route)==null?void 0:p.query)==null?void 0:c.table)});e||this.$router.replace("/404");const n=e==null?void 0:e.table;this.table=n;try{const{data:{form:d}}=await Oe.get(`/api/template/table/${n}`),{data:p}=await Oe.get(`/api/table/${this.table}/${(o=(r=this.$route)==null?void 0:r.query)==null?void 0:o.id}`);this.formValues=p||{};const{data:c}=await Oe.get(`/api/form/${d}`);this.scheme=(c==null?void 0:c.schema)||c,this.style=(c==null?void 0:c.style)||null,this.token=(c==null?void 0:c.token)||""}catch{}},async onlyEditObject(){var e,n,r,o,d,p,c,b,k,E,C;const t=(n=(e=this.$refs.form)==null?void 0:e.$refs)==null?void 0:n.form;try{await t.doValidation(),await Oe.put(`/api/table/${this.token}`,this.formValues),await this.$notify({title:"Успішно!",message:"Об'єкт успішно створено",type:"success"})}catch(T){const I=((r=T==null?void 0:T.response)==null?void 0:r.data)||"";let N=((c=(p=(d=(o=Object.entries(t==null?void 0:t.formErrors))==null?void 0:o[0])==null?void 0:d[1])==null?void 0:p[0])==null?void 0:c.message)==="Це поле обов'язкове"?"Заповніть обов'язкові поля":(C=(E=(k=(b=Object.entries(t==null?void 0:t.formErrors))==null?void 0:b[0])==null?void 0:k[1])==null?void 0:E[0])==null?void 0:C.message;this.$notify({title:"Помилка!",message:I||N||"Сталася помилка валідаціі",type:"error"})}},getGroupedErrorNotification(t,e){if(!t||!e)return"";const n={};return Object.entries(t).forEach(([o,d])=>{var c;const p=((c=e[o])==null?void 0:c.ua)||o;d.forEach(b=>{const k=b.message;n[k]||(n[k]=[]),n[k].push(`"${p}"`)})}),Object.entries(n).map(([o,d])=>`<b>${o}:</b> ${d.join(", ")}`).join("<br>")||"Сталася помилка валідації"},async editObjectAndRedirect(t=!0){var n,r;const e=(r=(n=this.$refs.form)==null?void 0:n.$refs)==null?void 0:r.form;try{t&&await e.doValidation(),await Oe.put(`/api/table/${this.token}${t?"":"?draft=1"}`,this.formValues),await this.$router.back(),await this.$notify({title:"Успішно!",message:"Об'єкт успішно створено",type:"success"})}catch{const d=this.getGroupedErrorNotification(e==null?void 0:e.formErrors,e==null?void 0:e.scheme);this.$notify({title:"Помилка!",message:d,type:"error"})}}}},C9={class:"bg-gray-100 lg:w-[calc(100vw-260px)] w-[100vw]"},S9={class:"h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white rounded-xl"},T9={class:"flex items-center gap-[6px]"},A9={class:"bg-white w-full rounded-xl"};function D9(t,e,n,r,o,d){var c,b,k;const p=a.resolveComponent("VsFormWithNavigation");return a.openBlock(),a.createElementBlock("div",C9,[a.createElementVNode("div",S9,[e[4]||(e[4]=a.createElementVNode("h2",{class:"text-xl font-medium"},"Редагувати",-1)),a.createElementVNode("div",T9,[a.createElementVNode("button",{onClick:e[0]||(e[0]=E=>t.$router.back()),class:"flex items-center px-3 py-2 text-sm font-medium text-gray-800 duration-300 bg-white border border-gray-100 rounded-lg shadow gap-x-2 focus:outline-none hover:bg-gray-50 hover:border-gray-100"}," Скасувати "),(c=o.style)!=null&&c.draft?(a.openBlock(),a.createElementBlock("button",{key:0,onClick:e[1]||(e[1]=E=>d.editObjectAndRedirect(!1)),class:a.normalizeClass(`inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-${d.color}-700 border border-transparent rounded-lg gap-x-2 hover:bg-${d.color}-800 hover:text-white`)}," Зберегти DRAFT ",2)):a.createCommentVNode("",!0),a.createElementVNode("button",{onClick:e[2]||(e[2]=(...E)=>d.editObjectAndRedirect&&d.editObjectAndRedirect(...E)),class:a.normalizeClass(`inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-${d.color}-700 border border-transparent rounded-lg gap-x-2 hover:bg-${d.color}-800 hover:text-white`)}," Зберегти ",2)])]),a.createElementVNode("div",{style:a.normalizeStyle({height:((b=t.$adminSettings)==null?void 0:b.header)===!1?"calc(100vh - 91px)":"calc(100vh - 150px)"}),class:"bg-gray-100 p-[20px] flex lg:w-[calc(100vw-260px)] w-[100vw] overflow-hidden"},[a.createElementVNode("div",A9,[o.scheme?(a.openBlock(),a.createBlock(p,{key:0,ref:"form",scheme:o.scheme,columns:(k=o.style)==null?void 0:k.columns,style:a.normalizeStyle(o.style),modelValue:o.formValues,"onUpdate:modelValue":e[3]||(e[3]=E=>o.formValues=E),class:"p-[20px] h-full"},null,8,["scheme","columns","style","modelValue"])):a.createCommentVNode("",!0)])],4)])}const M9=Object.freeze(Object.defineProperty({__proto__:null,default:Le(E9,[["render",D9]])},Symbol.toStringTag,{value:"Module"})),I9={data(){return{formValues:{},scheme:null,table:"",token:"",api:"",style:null}},mounted(){this.getFormScheme()},computed:{color(){return et.value.buttonColor||"blue"}},methods:{flattenMenu(t){const e=[];return t.forEach(n=>{n.menu?e.push(...this.flattenMenu(n.menu)):e.push(n)}),e},async getFormScheme(){var r,o;const t=this.flattenMenu(ii.value);t!=null&&t.length||this.$router.replace("/404");const e=t==null?void 0:t.find(d=>{var p,c;return(d==null?void 0:d.path)==((c=(p=this.$route)==null?void 0:p.query)==null?void 0:c.table)});e||this.$router.replace("/404");const n=e==null?void 0:e.table;this.table=n;try{const d=await Oe.get(`/api/table-data/${n}`),{data:p}=await Oe.get(`/api/template/form/${(r=d==null?void 0:d.data)==null?void 0:r.form}`);this.scheme=(p==null?void 0:p.schema)||p,this.style=(p==null?void 0:p.style)||null,this.api=(p==null?void 0:p.api)||"",this.token=((o=d==null?void 0:d.data)==null?void 0:o.addToken)||""}catch{}},getGroupedErrorNotification(t,e){if(!t||!e)return"";const n={};return Object.entries(t).forEach(([o,d])=>{var c;const p=((c=e[o])==null?void 0:c.ua)||o;d.forEach(b=>{const k=b.message;n[k]||(n[k]=[]),n[k].push(`"${p}"`)})}),Object.entries(n).map(([o,d])=>`<b>${o}:</b> ${d.join(", ")}`).join("<br>")||"Сталася помилка валідації"},async createObject(){var e,n,r,o,d;const t=(n=(e=this.$refs.form)==null?void 0:e.$refs)==null?void 0:n.form;try{await t.doValidation(),await Oe.post(this.api||`/api/table/${this.token}`,this.formValues),await this.$router.back(),await this.$notify({title:"Успішно!",message:"Об'єкт успішно створено",type:"success"})}catch(p){const c=this.getGroupedErrorNotification(t==null?void 0:t.formErrors,t==null?void 0:t.scheme);this.$notify({title:"Помилка!",message:((o=(r=p==null?void 0:p.response)==null?void 0:r.data)==null?void 0:o.error)||((d=p==null?void 0:p.response)==null?void 0:d.data)||c,type:"error"})}}}},P9={class:"bg-gray-100 lg:w-[calc(100vw-260px)] w-[100vw]"},R9={class:"h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white rounded-xl"},N9={class:"flex items-center gap-[6px]"},B9={class:"bg-white w-full rounded-xl"};function V9(t,e,n,r,o,d){var c;const p=a.resolveComponent("VsFormWithNavigation");return a.openBlock(),a.createElementBlock("div",P9,[a.createElementVNode("div",R9,[e[3]||(e[3]=a.createElementVNode("h2",{class:"text-xl font-medium"},"Створити",-1)),a.createElementVNode("div",N9,[a.createElementVNode("button",{onClick:e[0]||(e[0]=b=>t.$router.back()),class:"flex items-center px-3 py-2 text-sm font-medium text-gray-800 duration-300 bg-white border border-gray-100 rounded-lg shadow gap-x-2 focus:outline-none hover:bg-gray-50 hover:border-gray-100"}," Скасувати "),a.createElementVNode("button",{onClick:e[1]||(e[1]=(...b)=>d.createObject&&d.createObject(...b)),class:a.normalizeClass(`inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-${d.color}-700 border border-transparent rounded-lg gap-x-2 hover:bg-${d.color}-800 hover:text-white`)}," Зберегти ",2)])]),a.createElementVNode("div",{style:a.normalizeStyle({height:((c=t.$adminSettings)==null?void 0:c.header)===!1?"calc(100vh - 91px)":"calc(100vh - 150px)"}),class:"bg-gray-100 p-[20px] flex lg:w-[calc(100vw-260px)] w-[100vw] overflow-hidden"},[a.createElementVNode("div",B9,[o.scheme?(a.openBlock(),a.createBlock(p,{key:0,ref:"form",scheme:o.scheme,style:a.normalizeStyle(o.style),modelValue:o.formValues,"onUpdate:modelValue":e[2]||(e[2]=b=>o.formValues=b),class:"h-full p-[20px]"},null,8,["scheme","style","modelValue"])):a.createCommentVNode("",!0)])],4)])}const z9=Object.freeze(Object.defineProperty({__proto__:null,default:Le(I9,[["render",V9]])},Symbol.toStringTag,{value:"Module"}));a.ref(null);const O9={data(){return{formScheme:null,uid:null,userData:null}},async created(){await this.getUserData(),await this.getFormScheme()},methods:{async getUserData(){var n;const{data:t}=await Oe.get("/user");this.uid=(n=t==null?void 0:t.user)==null?void 0:n.uid;const{data:e}=await Oe.get(`/api/table/admin.users.table/${this.uid}`);this.userData=e},async updateUser(){try{await Oe.put(`/api/user/${this.uid}`,this.userData),await this.$notify({title:"Успішно!",message:"Дані успішно оновлені",type:"success"})}catch(t){this.$notify({title:"Помилка!",message:`Сталася помилка редагування.
660
+ `}).mount(n)}};window.addEventListener("click",t=>{var n,r,o;const e=(n=t==null?void 0:t.target)==null?void 0:n.closest("[_href]");if(e&&(e==null?void 0:e.tagName)==="A"){const d=e==null?void 0:e.getAttribute("_href");(o=(r=window==null?void 0:window.app)==null?void 0:r.router)==null||o.push(d),t==null||t.preventDefault()}});const b9=()=>{const t=a.defineCustomElement(By);customElements.define("admin-info",t)},x9=["black","gray","red","yellow","green","blue","indigo","purple","pink","rose","amber","lime","emerald","teal","cyan","sky","violet","fuchsia","lavender","zinc","neutral","stone"],v9=["white"];let Ld,R2;const w9=async()=>{try{const{data:t}=await Oe.get("/api/user-menu"),e=t.menus;return ii.value=e,Ld=t.settings,R2=t.user,Iy(e)}catch(t){return console.error(t),[]}},k9=(t,e)=>{Object.entries(e).forEach(([n,r])=>{t.component(n,r)})},N2={async install(t,{componentsApp:e={},settings:n,routes:r=[]}){try{b9(),(n.sidebarDark??!0)&&(n.sidebarDark=!v9.includes(n.sidebarColor)),n.buttonColor||(n.buttonColor=x9.includes(n.sidebarColor)?n.sidebarColor:"blue");const d=(await w9()).filter(c=>c==null?void 0:c.component).map(c=>({...c,component:{...Vy,...e}[c==null?void 0:c.component]}));et.value={...et.value,...n,...(Ld==null?void 0:Ld.admin)||{}},k9(t,{...Vy,...e}),t.component("admin",tS);const{router:p}=await OT(d.concat(r));window.app={...t,router:p},window.v3plugin={...t.config.globalProperties,...zy},t.config.globalProperties={...t.config.globalProperties,$componentsConfig:{...Sx,componentsApp:e},$router:p,$v3plugin:zy,$utils:{reloadCardPage:ih},$settings:Ld,$adminSettings:et.value,$user:R2},t.use(p)}catch(o){console.error(o)}},components:Vy,plugins:zy};typeof window<"u"&&(window.v3Admin=N2);const E9={data(){return{formValues:{},scheme:null,table:"",token:"",style:null}},mounted(){this.getFormScheme()},computed:{color(){return et.value.buttonColor||"blue"}},methods:{flattenMenu(t){const e=[];return t.forEach(n=>{n.menu?e.push(...this.flattenMenu(n.menu)):e.push(n)}),e},async getFormScheme(){var r,o,d,p,c,b;const t=this.flattenMenu(ii.value);t!=null&&t.length||this.$router.replace("/404");const e=t==null?void 0:t.find(k=>{var E,C;return(k==null?void 0:k.path)==((C=(E=this.$route)==null?void 0:E.query)==null?void 0:C.table)});e||this.$router.replace("/404");const n=e==null?void 0:e.table;this.table=n;try{const{data:{form:k}}=await Oe.get(`/api/template/table/${n}`),{data:E}=await Oe.get(`/api/table/${this.table}/${(o=(r=this.$route)==null?void 0:r.query)==null?void 0:o.id}`);this.formValues=E||{};const{data:C}=await Oe.get(`/api/form/${k}${(p=(d=this.$route)==null?void 0:d.query)!=null&&p.id?`/${(b=(c=this.$route)==null?void 0:c.query)==null?void 0:b.id}`:""}`);this.scheme=(C==null?void 0:C.schema)||C,this.style=(C==null?void 0:C.style)||null,this.token=(C==null?void 0:C.token)||""}catch{}},async onlyEditObject(){var e,n,r,o,d,p,c,b,k,E,C;const t=(n=(e=this.$refs.form)==null?void 0:e.$refs)==null?void 0:n.form;try{await t.doValidation(),await Oe.put(`/api/table/${this.token}`,this.formValues),await this.$notify({title:"Успішно!",message:"Об'єкт успішно створено",type:"success"})}catch(T){const I=((r=T==null?void 0:T.response)==null?void 0:r.data)||"";let N=((c=(p=(d=(o=Object.entries(t==null?void 0:t.formErrors))==null?void 0:o[0])==null?void 0:d[1])==null?void 0:p[0])==null?void 0:c.message)==="Це поле обов'язкове"?"Заповніть обов'язкові поля":(C=(E=(k=(b=Object.entries(t==null?void 0:t.formErrors))==null?void 0:b[0])==null?void 0:k[1])==null?void 0:E[0])==null?void 0:C.message;this.$notify({title:"Помилка!",message:I||N||"Сталася помилка валідаціі",type:"error"})}},getGroupedErrorNotification(t,e){if(!t||!e)return"";const n={};return Object.entries(t).forEach(([o,d])=>{var c;const p=((c=e[o])==null?void 0:c.ua)||o;d.forEach(b=>{const k=b.message;n[k]||(n[k]=[]),n[k].push(`"${p}"`)})}),Object.entries(n).map(([o,d])=>`<b>${o}:</b> ${d.join(", ")}`).join("<br>")||"Сталася помилка валідації"},async editObjectAndRedirect(t=!0){var n,r;const e=(r=(n=this.$refs.form)==null?void 0:n.$refs)==null?void 0:r.form;try{t&&await e.doValidation(),await Oe.put(`/api/table/${this.token}${t?"":"?draft=1"}`,this.formValues),await this.$router.back(),await this.$notify({title:"Успішно!",message:"Об'єкт успішно створено",type:"success"})}catch{const d=this.getGroupedErrorNotification(e==null?void 0:e.formErrors,e==null?void 0:e.scheme);this.$notify({title:"Помилка!",message:d,type:"error"})}}}},C9={class:"bg-gray-100 lg:w-[calc(100vw-260px)] w-[100vw]"},S9={class:"h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white rounded-xl"},T9={class:"flex items-center gap-[6px]"},A9={class:"bg-white w-full rounded-xl"};function D9(t,e,n,r,o,d){var c,b,k;const p=a.resolveComponent("VsFormWithNavigation");return a.openBlock(),a.createElementBlock("div",C9,[a.createElementVNode("div",S9,[e[4]||(e[4]=a.createElementVNode("h2",{class:"text-xl font-medium"},"Редагувати",-1)),a.createElementVNode("div",T9,[a.createElementVNode("button",{onClick:e[0]||(e[0]=E=>t.$router.back()),class:"flex items-center px-3 py-2 text-sm font-medium text-gray-800 duration-300 bg-white border border-gray-100 rounded-lg shadow gap-x-2 focus:outline-none hover:bg-gray-50 hover:border-gray-100"}," Скасувати "),(c=o.style)!=null&&c.draft?(a.openBlock(),a.createElementBlock("button",{key:0,onClick:e[1]||(e[1]=E=>d.editObjectAndRedirect(!1)),class:a.normalizeClass(`inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-${d.color}-700 border border-transparent rounded-lg gap-x-2 hover:bg-${d.color}-800 hover:text-white`)}," Зберегти DRAFT ",2)):a.createCommentVNode("",!0),a.createElementVNode("button",{onClick:e[2]||(e[2]=(...E)=>d.editObjectAndRedirect&&d.editObjectAndRedirect(...E)),class:a.normalizeClass(`inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-${d.color}-700 border border-transparent rounded-lg gap-x-2 hover:bg-${d.color}-800 hover:text-white`)}," Зберегти ",2)])]),a.createElementVNode("div",{style:a.normalizeStyle({height:((b=t.$adminSettings)==null?void 0:b.header)===!1?"calc(100vh - 91px)":"calc(100vh - 150px)"}),class:"bg-gray-100 p-[20px] flex lg:w-[calc(100vw-260px)] w-[100vw] overflow-hidden"},[a.createElementVNode("div",A9,[o.scheme?(a.openBlock(),a.createBlock(p,{key:0,ref:"form",scheme:o.scheme,columns:(k=o.style)==null?void 0:k.columns,style:a.normalizeStyle(o.style),modelValue:o.formValues,"onUpdate:modelValue":e[3]||(e[3]=E=>o.formValues=E),class:"p-[20px] h-full"},null,8,["scheme","columns","style","modelValue"])):a.createCommentVNode("",!0)])],4)])}const M9=Object.freeze(Object.defineProperty({__proto__:null,default:Le(E9,[["render",D9]])},Symbol.toStringTag,{value:"Module"})),I9={data(){return{formValues:{},scheme:null,table:"",token:"",api:"",style:null}},mounted(){this.getFormScheme()},computed:{color(){return et.value.buttonColor||"blue"}},methods:{flattenMenu(t){const e=[];return t.forEach(n=>{n.menu?e.push(...this.flattenMenu(n.menu)):e.push(n)}),e},async getFormScheme(){var r;const t=this.flattenMenu(ii.value);t!=null&&t.length||this.$router.replace("/404");const e=t==null?void 0:t.find(o=>{var d,p;return(o==null?void 0:o.path)==((p=(d=this.$route)==null?void 0:d.query)==null?void 0:p.table)});e||this.$router.replace("/404");const n=e==null?void 0:e.table;this.table=n;try{const o=await Oe.get(`/api/table-data/${n}`),{data:d}=await Oe.get(`/api/form/${(r=o==null?void 0:o.data)==null?void 0:r.form}`);this.scheme=(d==null?void 0:d.schema)||d,this.style=(d==null?void 0:d.style)||null,this.api=(d==null?void 0:d.api)||"",this.token=(d==null?void 0:d.token)||""}catch{}},getGroupedErrorNotification(t,e){if(!t||!e)return"";const n={};return Object.entries(t).forEach(([o,d])=>{var c;const p=((c=e[o])==null?void 0:c.ua)||o;d.forEach(b=>{const k=b.message;n[k]||(n[k]=[]),n[k].push(`"${p}"`)})}),Object.entries(n).map(([o,d])=>`<b>${o}:</b> ${d.join(", ")}`).join("<br>")||"Сталася помилка валідації"},async createObject(){var e,n,r,o,d;const t=(n=(e=this.$refs.form)==null?void 0:e.$refs)==null?void 0:n.form;try{await t.doValidation(),await Oe.post(this.api||`/api/table/${this.token}`,this.formValues),await this.$router.back(),await this.$notify({title:"Успішно!",message:"Об'єкт успішно створено",type:"success"})}catch(p){const c=this.getGroupedErrorNotification(t==null?void 0:t.formErrors,t==null?void 0:t.scheme);this.$notify({title:"Помилка!",message:((o=(r=p==null?void 0:p.response)==null?void 0:r.data)==null?void 0:o.error)||((d=p==null?void 0:p.response)==null?void 0:d.data)||c,type:"error"})}}}},P9={class:"bg-gray-100 lg:w-[calc(100vw-260px)] w-[100vw]"},R9={class:"h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white rounded-xl"},N9={class:"flex items-center gap-[6px]"},B9={class:"bg-white w-full rounded-xl"};function V9(t,e,n,r,o,d){var c;const p=a.resolveComponent("VsFormWithNavigation");return a.openBlock(),a.createElementBlock("div",P9,[a.createElementVNode("div",R9,[e[3]||(e[3]=a.createElementVNode("h2",{class:"text-xl font-medium"},"Створити",-1)),a.createElementVNode("div",N9,[a.createElementVNode("button",{onClick:e[0]||(e[0]=b=>t.$router.back()),class:"flex items-center px-3 py-2 text-sm font-medium text-gray-800 duration-300 bg-white border border-gray-100 rounded-lg shadow gap-x-2 focus:outline-none hover:bg-gray-50 hover:border-gray-100"}," Скасувати "),a.createElementVNode("button",{onClick:e[1]||(e[1]=(...b)=>d.createObject&&d.createObject(...b)),class:a.normalizeClass(`inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-${d.color}-700 border border-transparent rounded-lg gap-x-2 hover:bg-${d.color}-800 hover:text-white`)}," Зберегти ",2)])]),a.createElementVNode("div",{style:a.normalizeStyle({height:((c=t.$adminSettings)==null?void 0:c.header)===!1?"calc(100vh - 91px)":"calc(100vh - 150px)"}),class:"bg-gray-100 p-[20px] flex lg:w-[calc(100vw-260px)] w-[100vw] overflow-hidden"},[a.createElementVNode("div",B9,[o.scheme?(a.openBlock(),a.createBlock(p,{key:0,ref:"form",scheme:o.scheme,style:a.normalizeStyle(o.style),modelValue:o.formValues,"onUpdate:modelValue":e[2]||(e[2]=b=>o.formValues=b),class:"h-full p-[20px]"},null,8,["scheme","style","modelValue"])):a.createCommentVNode("",!0)])],4)])}const z9=Object.freeze(Object.defineProperty({__proto__:null,default:Le(I9,[["render",V9]])},Symbol.toStringTag,{value:"Module"}));a.ref(null);const O9={data(){return{formScheme:null,uid:null,userData:null}},async created(){await this.getUserData(),await this.getFormScheme()},methods:{async getUserData(){var n;const{data:t}=await Oe.get("/user");this.uid=(n=t==null?void 0:t.user)==null?void 0:n.uid;const{data:e}=await Oe.get(`/api/table/admin.users.table/${this.uid}`);this.userData=e},async updateUser(){try{await Oe.put(`/api/user/${this.uid}`,this.userData),await this.$notify({title:"Успішно!",message:"Дані успішно оновлені",type:"success"})}catch(t){this.$notify({title:"Помилка!",message:`Сталася помилка редагування.
661
661
  ${t.toString()}`,type:"error"})}},async getFormScheme(){try{const{data:t}=await Oe.get("/api/template/form/admin.profile.form");this.formScheme=t.schema}catch(t){console.error(t)}}}},L9={class:"flex justify-center pt-[20px] pb-[20px] pl-[20px] h-[calc(100vh-58px)]"},F9={class:"bg-white rounded-xl p-[20px]"},$9={class:"flex-1 overflow-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"},j9={class:"flex"};function U9(t,e,n,r,o,d){const p=a.resolveComponent("VsForm");return a.openBlock(),a.createElementBlock("div",L9,[a.createElementVNode("div",F9,[a.createTextVNode(a.toDisplayString(t.user)+" ",1),e[2]||(e[2]=a.createElementVNode("h2",{class:"mb-[20px] text-center"},"Профіль",-1)),a.createElementVNode("div",$9,[o.formScheme?(a.openBlock(),a.createBlock(p,{key:0,scheme:o.formScheme,modelValue:o.userData,"onUpdate:modelValue":e[0]||(e[0]=c=>o.userData=c),class:"pb-0"},null,8,["scheme","modelValue"])):a.createCommentVNode("",!0),a.createElementVNode("div",j9,[a.createElementVNode("button",{onClick:e[1]||(e[1]=(...c)=>d.updateUser&&d.updateUser(...c)),class:"ml-auto text-[18px] bg-blue-500 text-white px-[8px] py-[4px] rounded hover:bg-blue-700 duration-300"}," Зберегти ")])])])])}const H9=Object.freeze(Object.defineProperty({__proto__:null,default:Le(O9,[["render",U9]])},Symbol.toStringTag,{value:"Module"})),W9={};function q9(t,e,n,r,o,d){const p=a.resolveComponent("router-view");return a.openBlock(),a.createBlock(p)}const B2=Object.freeze(Object.defineProperty({__proto__:null,default:Le(W9,[["render",q9]])},Symbol.toStringTag,{value:"Module"})),G9={},Z9={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-logout"};function Y9(t,e,n,r,o,d){return a.openBlock(),a.createElementBlock("svg",Z9,[...e[0]||(e[0]=[a.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),a.createElementVNode("path",{d:"M14 8v-2a2 2 0 0 0 -2 -2h-7a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2 -2v-2"},null,-1),a.createElementVNode("path",{d:"M9 12h12l-3 -3"},null,-1),a.createElementVNode("path",{d:"M18 15l3 -3"},null,-1)])])}const Oy=Le(G9,[["render",Y9]]),X9={},K9={viewBox:"0 0 1823 249",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function J9(t,e,n,r,o,d){return a.openBlock(),a.createElementBlock("svg",K9,[...e[0]||(e[0]=[a.createStaticVNode('<path d="M218.88 96.05C223.55 99.19 228.69 101.56 234.09 103.07V145.42C212.05 151.54 195.83 171.79 195.83 195.75C195.83 200.22 196.41 204.65 197.53 208.94L160.92 230.08C156.82 226.06 152.08 222.73 146.91 220.24V171.62C164.83 163.13 176.59 145.06 176.59 124.48C176.59 123.17 176.54 121.86 176.44 120.56L218.88 96.05ZM220.32 79.09L160.97 113.36C162.04 116.88 162.61 120.61 162.61 124.48C162.61 142.66 149.93 157.87 132.93 161.76V230.05C143.4 232.46 152.23 239.16 157.46 248.21L215 214.99C211.7 209.34 209.81 202.77 209.81 195.75C209.81 174.62 226.94 157.49 248.07 157.49V91.02C237.14 91.02 227.29 86.43 220.32 79.09Z" fill="#CE3936"></path><path d="M161.39 19.13L197.44 39.94C196.39 44.11 195.84 48.42 195.84 52.75C195.84 54.21 195.9 55.65 196.02 57.1L153.9 81.42C145.27 75.5 134.95 72.24 124.36 72.24C113.83 72.24 103.57 75.47 94.96 81.32L52.71 56.93C52.82 55.55 52.88 54.16 52.88 52.76C52.88 48.43 52.34 44.12 51.28 39.95L87.3 19.16C96.98 28.89 110.26 34.58 124.34 34.58C138.42 34.57 151.7 28.87 161.39 19.13ZM157.77 0.919983C151.24 12.66 138.71 20.6 124.33 20.6C109.95 20.6 97.44 12.67 90.9 0.939983L33.9 33.85C37.08 39.43 38.91 45.88 38.91 52.76C38.91 56.71 38.31 60.52 37.2 64.11L96.46 98.32C103.44 90.87 113.36 86.22 124.37 86.22C135.44 86.22 145.41 90.93 152.39 98.44L211.59 64.27C210.45 60.64 209.83 56.78 209.83 52.77C209.83 45.89 211.65 39.44 214.84 33.86L157.77 0.919983Z" fill="#CE3936"></path><path d="M29.97 95.95L72.28 120.38C72.17 121.74 72.12 123.1 72.12 124.47C72.12 145.02 83.86 163.08 101.74 171.58V220.23C96.58 222.71 91.84 226.04 87.75 230.05L51.17 208.93C52.29 204.64 52.87 200.21 52.87 195.74C52.87 171.78 36.65 151.53 14.61 145.41V103.06C20.07 101.55 25.27 99.14 29.97 95.95ZM28.5 78.97C21.52 86.38 11.63 91.02 0.640015 91.02V157.49C21.77 157.49 38.9 174.62 38.9 195.75C38.9 202.77 37 209.33 33.71 214.99L91.2 248.18C96.43 239.14 105.25 232.45 115.71 230.04V161.73C98.74 157.81 86.09 142.62 86.09 124.46C86.09 120.54 86.68 116.75 87.78 113.18L28.5 78.97Z" fill="#CE3936"></path><path d="M498.39 177.5V144.88C498.39 128.55 485.11 115.27 468.78 115.27H343.22C342.69 115.27 342.18 115.32 341.67 115.4H337.19C332.35 115.4 328.42 111.46 328.42 106.63V74C328.42 69.16 332.36 65.23 337.19 65.23H486.33C492.08 65.23 496.75 60.57 496.75 54.81C496.75 49.06 492.08 44.39 486.33 44.39H337.19C320.86 44.39 307.58 57.67 307.58 74V106.62C307.58 122.95 320.86 136.23 337.19 136.23H462.75C463.28 136.23 463.79 136.18 464.3 136.1H468.78C473.62 136.1 477.55 140.04 477.55 144.87V177.49C477.55 182.33 473.61 186.26 468.78 186.26H319.64C313.89 186.26 309.22 190.92 309.22 196.68C309.22 202.43 313.89 207.1 319.64 207.1H468.78C485.11 207.11 498.39 193.83 498.39 177.5Z" fill="#CE3935"></path><path d="M710.7 177.32V75.24C710.7 58.91 697.42 45.63 681.09 45.63H550.05C533.72 45.63 520.44 58.91 520.44 75.24V177.32C520.44 193.65 533.72 206.93 550.05 206.93H681.1C697.42 206.93 710.7 193.65 710.7 177.32ZM541.27 75.24C541.27 70.4 545.21 66.47 550.04 66.47H681.09C685.93 66.47 689.86 70.41 689.86 75.24V177.32C689.86 182.16 685.92 186.09 681.09 186.09H550.05C545.21 186.09 541.28 182.15 541.28 177.32V75.24H541.27Z" fill="#CE3935"></path><path d="M1823 177.32V75.24C1823 58.91 1809.72 45.63 1793.39 45.63H1662.34C1646.01 45.63 1632.73 58.91 1632.73 75.24V177.32C1632.73 193.65 1646.01 206.93 1662.34 206.93H1793.39C1809.72 206.93 1823 193.65 1823 177.32ZM1653.57 75.24C1653.57 70.4 1657.51 66.47 1662.34 66.47H1793.39C1798.23 66.47 1802.16 70.41 1802.16 75.24V177.32C1802.16 182.16 1798.22 186.09 1793.39 186.09H1662.34C1657.5 186.09 1653.57 182.15 1653.57 177.32V75.24Z" fill="#CE3935"></path><path d="M756.76 196.51V152H849.42C855.17 152 859.84 147.34 859.84 141.58C859.84 135.83 855.17 131.16 849.42 131.16H756.76V75.23C756.76 70.39 760.7 66.46 765.53 66.46H893.29C899.04 66.46 903.71 61.8 903.71 56.04C903.71 50.29 899.04 45.62 893.29 45.62H765.53C749.2 45.62 735.92 58.9 735.92 75.23V196.5C735.92 202.25 740.59 206.92 746.34 206.92C752.09 206.93 756.76 202.27 756.76 196.51Z" fill="#CE3935"></path><path d="M933.86 66.47H1006.51V194.32C1006.51 200.07 1011.18 204.74 1016.93 204.74C1022.68 204.74 1027.35 200.07 1027.35 194.32V66.47H1100C1105.75 66.47 1110.42 61.81 1110.42 56.05C1110.42 50.3 1105.76 45.63 1100 45.63H933.86C928.11 45.63 923.44 50.29 923.44 56.05C923.45 61.81 928.11 66.47 933.86 66.47Z" fill="#CE3935"></path><path d="M1218.44 204.19C1224.19 204.19 1228.86 199.53 1228.86 193.77V152H1368.13C1384.46 152 1397.74 138.72 1397.74 122.39V75.24C1397.74 58.91 1384.46 45.63 1368.13 45.63H1237.63C1221.3 45.63 1208.02 58.91 1208.02 75.24V193.77C1208.02 199.53 1212.68 204.19 1218.44 204.19ZM1237.63 66.47H1368.13C1372.97 66.47 1376.9 70.41 1376.9 75.24V122.39C1376.9 127.23 1372.96 131.16 1368.13 131.16H1228.86V75.23C1228.86 70.41 1232.79 66.47 1237.63 66.47Z" fill="#CE3935"></path><path d="M1430.64 204.19C1436.39 204.19 1441.06 199.53 1441.06 193.77V152H1523.95C1524.57 153.18 1525.42 154.26 1526.51 155.17L1581.89 201.23C1583.83 202.85 1586.2 203.64 1588.55 203.64C1591.54 203.64 1594.5 202.36 1596.57 199.88C1600.25 195.46 1599.64 188.89 1595.22 185.21L1555.29 152H1580.33C1596.66 152 1609.94 138.72 1609.94 122.39V75.24C1609.94 58.91 1596.66 45.63 1580.33 45.63H1449.83C1433.5 45.63 1420.22 58.91 1420.22 75.24V193.77C1420.22 199.53 1424.88 204.19 1430.64 204.19ZM1449.83 66.47H1580.33C1585.17 66.47 1589.1 70.41 1589.1 75.24V122.39C1589.1 127.23 1585.17 131.16 1580.33 131.16H1441.06V75.23C1441.05 70.41 1444.99 66.47 1449.83 66.47Z" fill="#CE3935"></path>',10)])])}const V2=Le(X9,[["render",J9]]),Q9={components:{IconChevronDown:Od},props:{route:Object,searchable:String},mounted(){var t,e;(e=(t=this.route)==null?void 0:t.menu)!=null&&e.some(n=>{var r,o;return(n==null?void 0:n.path)===this.$route.path.replace("/","")||((o=(r=this.$route)==null?void 0:r.params)==null?void 0:o.table)===(n==null?void 0:n.table)&&(n==null?void 0:n.table)})&&(this.isOpen=!0)},watch:{route:{immediate:!0,handler(t){t!=null&&t.open&&(this.isOpen=!0)}}},data(){return{isOpen:!1,arr:[]}},computed:{darkMode(){var t;return(t=et==null?void 0:et.value)==null?void 0:t.sidebarDark}},methods:{highLight(t){if(!this.searchable)return t;const e=this.searchable.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),n=new RegExp(`(${e})(\\s*)`,"gi");return t.replace(n,(r,o,d)=>`<span style="color:#1989fa;">${o}</span>${d}`)}}},eW={key:0,class:""},tW={key:0,class:"py-0.5 px-2 inline-flex items-center gap-x-1.5 text-xs font-medium bg-blue-100 text-blue-800 rounded-full dark:bg-blue-500/10 dark:text-blue-500"},nW={key:1},rW=["innerHTML"];function iW(t,e,n,r,o,d){var b,k,E,C,T,I,N,$,F,q,J,Q,me,Ee,Ve;const p=a.resolveComponent("IconChevronDown"),c=a.resolveComponent("router-link");return(b=n.route)!=null&&b.menu?(a.openBlock(),a.createElementBlock("div",eW,[a.createElementVNode("button",{onClick:e[0]||(e[0]=we=>o.isOpen=!o.isOpen),class:a.normalizeClass(["flex items-center justify-start w-full px-3 py-2 text-sm text-left text-gray-800 duration-300 border-none rounded-lg cursor-pointer gap-x-3 focus:outline-none hover:bg-gray-100",[((E=(k=n.route)==null?void 0:k.menu)==null?void 0:E.some(we=>{var Re,Ne;return(we==null?void 0:we.path)===t.$route.path.replace("/","")||(we==null?void 0:we.table)===((Ne=(Re=t.$route)==null?void 0:Re.params)==null?void 0:Ne.table)&&(we==null?void 0:we.table)}))&&(d.darkMode?"bg-white/10":"bg-gray-100"),{"text-white/80 hover:bg-white/10 hover:text-white/80 focus:bg-white/10":d.darkMode,"text-gray-800 hover:bg-gray-100 hover:text-gray-800 focus:bg-gray-100":!d.darkMode}]])},[a.createTextVNode(a.toDisplayString((C=n.route)==null?void 0:C.ua)+" ",1),(T=n.route)!=null&&T.new?(a.openBlock(),a.createElementBlock("span",tW,"Нове")):a.createCommentVNode("",!0),a.createVNode(p,{class:a.normalizeClass([[o.isOpen&&"-rotate-180"],"ml-auto duration-300 flex-shrink-0"]),width:"14",height:"14"},null,8,["class"])],2),a.createVNode(a.Transition,{name:"fade"},{default:a.withCtx(()=>{var we;return[a.withDirectives(a.createElementVNode("ul",{class:a.normalizeClass(["ml-[28px] pt-[6px] before:block before:absolute relative w-[calc(100%-28px)] flex-col gap-y-1.5 inline-flex before:w-[2px] before:h-[100%] before:left-[-10px] cursor-pointer",d.darkMode?"before:bg-white/10":"before:bg-gray-100"])},[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList((we=n.route)==null?void 0:we.menu,(Re,Ne)=>{var Ue,Xe;return a.openBlock(),a.createElementBlock("li",{key:Ne,class:"w-full"},[a.createVNode(c,{innerHTML:d.highLight(Re==null?void 0:Re.ua),to:"/"+(Re==null?void 0:Re.path),class:a.normalizeClass([[((Re==null?void 0:Re.path)===t.$route.path.replace("/","")||((Xe=(Ue=t.$route)==null?void 0:Ue.params)==null?void 0:Xe.table)===(Re==null?void 0:Re.table)&&(Re==null?void 0:Re.table))&&(d.darkMode?"bg-white/10":"bg-gray-100"),{"text-white/80 hover:bg-white/10 hover:text-white/80 focus:bg-white/10":d.darkMode,"text-gray-800 hover:bg-gray-100 hover:text-gray-800 focus:bg-gray-100":!d.darkMode}],"block px-3 py-2 text-sm rounded-lg focus:outline-none focus:bg-gray-100"])},null,8,["innerHTML","to","class"])])}),128))],2),[[a.vShow,o.isOpen]])]}),_:1})])):(I=n.route)!=null&&I.hidden?a.createCommentVNode("",!0):(a.openBlock(),a.createElementBlock("div",nW,[a.createVNode(c,{to:(($=(N=n.route)==null?void 0:N.path)==null?void 0:$[0])==="/"?(F=n.route)==null?void 0:F.path:"/"+((q=n.route)==null?void 0:q.path),class:a.normalizeClass([[(((J=n.route)==null?void 0:J.path.replace("/",""))===t.$route.path.replace("/","")||((me=(Q=t.$route)==null?void 0:Q.params)==null?void 0:me.table)===((Ee=n.route)==null?void 0:Ee.table)&&((Ve=n.route)==null?void 0:Ve.table))&&(d.darkMode?"bg-white/10":"bg-gray-100"),{"text-white/80 hover:bg-white/10 hover:text-white/80 focus:bg-white/10 ":d.darkMode,"text-gray-800 hover:bg-gray-100 hover:text-gray-800 focus:bg-gray-100 ":!d.darkMode}],"flex items-center w-full px-3 py-2 text-sm text-gray-800 duration-300 rounded-lg gap-x-3"])},{default:a.withCtx(()=>{var we;return[a.createElementVNode("span",{innerHTML:d.highLight((we=n.route)==null?void 0:we.ua)},null,8,rW)]}),_:1},8,["to","class"])]))}const sW=Le(Q9,[["render",iW]]),oW={},aW={class:"flex-shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function lW(t,e,n,r,o,d){return a.openBlock(),a.createElementBlock("svg",aW,[...e[0]||(e[0]=[a.createElementVNode("circle",{cx:"12",cy:"12",r:"10"},null,-1),a.createElementVNode("path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"},null,-1),a.createElementVNode("path",{d:"M12 17h.01"},null,-1)])])}const z2=Le(oW,[["render",lW]]),cW={},dW={class:"shrink-0 size-4 rounded-full",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"};function uW(t,e,n,r,o,d){return a.openBlock(),a.createElementBlock("svg",dW,[...e[0]||(e[0]=[a.createStaticVNode('<g fill-rule="evenodd"><g stroke-width="1pt"><path fill="#bd3d44" d="M0 0h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0z" transform="scale(3.9385)"></path><path fill="#fff" d="M0 10h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0z" transform="scale(3.9385)"></path></g><path fill="#192f5d" d="M0 0h98.8v70H0z" transform="scale(3.9385)"></path><path fill="#fff" d="M8.2 3l1 2.8H12L9.7 7.5l.9 2.7-2.4-1.7L6 10.2l.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7L74 8.5l-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 7.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm-74.1 7l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7H65zm16.4 0l1 2.8H86l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm-74 7l.8 2.8h3l-2.4 1.7.9 2.7-2.4-1.7L6 24.2l.9-2.7-2.4-1.7h3zm16.4 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 21.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm-74.1 7l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7H65zm16.4 0l1 2.8H86l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm-74 7l.8 2.8h3l-2.4 1.7.9 2.7-2.4-1.7L6 38.2l.9-2.7-2.4-1.7h3zm16.4 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 35.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm-74.1 7l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7H65zm16.4 0l1 2.8H86l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm-74 7l.8 2.8h3l-2.4 1.7.9 2.7-2.4-1.7L6 52.2l.9-2.7-2.4-1.7h3zm16.4 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 49.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm-74.1 7l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7H65zm16.4 0l1 2.8H86l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm-74 7l.8 2.8h3l-2.4 1.7.9 2.7-2.4-1.7L6 66.2l.9-2.7-2.4-1.7h3zm16.4 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 63.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9z" transform="scale(3.9385)"></path></g>',1)])])}const hW=Le(cW,[["render",uW]]),pW={},fW={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1",width:"256",height:"256",viewBox:"0 0 256 256","xml:space":"preserve"};function mW(t,e,n,r,o,d){return a.openBlock(),a.createElementBlock("svg",fW,[...e[0]||(e[0]=[a.createElementVNode("defs",null,null,-1),a.createElementVNode("g",{style:{stroke:"none","stroke-width":"0","stroke-dasharray":"none","stroke-linecap":"butt","stroke-linejoin":"miter","stroke-miterlimit":"10",fill:"none","fill-rule":"nonzero",opacity:"1"},transform:"translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)"},[a.createElementVNode("path",{d:"M 45 90 C 20.147 90 0 69.853 0 45 h 90 C 90 69.853 69.853 90 45 90 z",style:{stroke:"none","stroke-width":"1","stroke-dasharray":"none","stroke-linecap":"butt","stroke-linejoin":"miter","stroke-miterlimit":"10",fill:"rgb(255,213,0)","fill-rule":"nonzero",opacity:"1"},transform:" matrix(1 0 0 1 0 0) ","stroke-linecap":"round"}),a.createElementVNode("path",{d:"M 45 0 C 20.147 0 0 20.147 0 45 h 90 C 90 20.147 69.853 0 45 0 z",style:{stroke:"none","stroke-width":"1","stroke-dasharray":"none","stroke-linecap":"butt","stroke-linejoin":"miter","stroke-miterlimit":"10",fill:"rgb(0,91,187)","fill-rule":"nonzero",opacity:"1"},transform:" matrix(1 0 0 1 0 0) ","stroke-linecap":"round"})],-1)])])}const gW=Le(pW,[["render",mW]]),yW={},_W={class:"shrink-0 size-3.5 text-gray-800 dark:text-neutral-200",xmlns:"http:.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function bW(t,e,n,r,o,d){return a.openBlock(),a.createElementBlock("svg",_W,[...e[0]||(e[0]=[a.createElementVNode("polyline",{points:"20 6 9 17 4 12"},null,-1)])])}const xW={components:{IconQuestion:z2,IconUSA:hW,IconUkraine:gW,IconTick:Le(yW,[["render",bW]])},props:["docs","languages"],data(){return{currentLang:"ukraine",languagesOptions:[{titleEN:"English",titleUA:"Англійська",id:"english",icon:"IconUSA"},{titleEN:"Ukraine",titleUA:"Українська",id:"ukraine",icon:"IconUkraine"}]}},computed:{selectedLang(){return this.languagesOptions.find(t=>t.id===this.currentLang)},darkMode(){var t;return(t=et==null?void 0:et.value)==null?void 0:t.sidebarDark}},methods:{changeLang(t){this.$refs.langPopover.togglePopover(),this.currentLang=t}}},vW={class:"flex justify-center items-center gap-x-2"},wW=["onClick"],kW={class:"text-gray-800"},EW={class:"ms-auto"},CW={class:"truncate"};function SW(t,e,n,r,o,d){const p=a.resolveComponent("IconTick"),c=a.resolveComponent("VsPopover");return n.docs||n.languages?(a.openBlock(),a.createElementBlock("div",{key:0,class:a.normalizeClass(["py-2 px-5 border-t dark:border-neutral-700",d.darkMode?"border-white/10 ":"border-gray-200"])},[a.createElementVNode("div",vW,[a.createVNode(c,{trigger:"click",placement:"top",ref:"langPopover"},{reference:a.withCtx(()=>{var b,k,E;return[a.createElementVNode("button",{type:"button","aria-expanded":"false",class:a.normalizeClass(["relative py-2 px-3 flex items-center gap-x-2 text-nowrap w-full cursor-pointer border rounded-full text-start text-sm text-gray-800 focus:outline-none",d.darkMode?"border-white/10 bg-transparent text-white/80 hover:bg-white/10 focus:bg-white/10":"border-gray-200 bg-white hover:bg-gray-100 focus:bg-gray-100"])},[a.createElementVNode("div",null,[(a.openBlock(),a.createBlock(a.resolveDynamicComponent((b=d.selectedLang)==null?void 0:b.icon),{class:"w-[16px] h-[16px] rounded-full"}))]),a.createElementVNode("span",CW,a.toDisplayString(o.currentLang==="ukraine"?(k=d.selectedLang)==null?void 0:k.titleUA:(E=d.selectedLang)==null?void 0:E.titleEN),1)],2)]}),default:a.withCtx(()=>[a.createElementVNode("div",null,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(o.languagesOptions,b=>(a.openBlock(),a.createElementBlock("button",{key:b.id,type:"button",onClick:k=>d.changeLang(b.id),class:a.normalizeClass(["flex items-center gap-x-2 cursor-pointer dark:hs-selected:bg-neutral-800 py-2 px-4 w-full text-sm text-gray-800 hover:bg-gray-100 rounded-lg focus:outline-none focus:bg-gray-100 dark:text-neutral-300 dark:hover:bg-neutral-800 dark:focus:bg-neutral-800 selected",(b==null?void 0:b.id)===o.currentLang?"bg-gray-100":""])},[(a.openBlock(),a.createBlock(a.resolveDynamicComponent(b==null?void 0:b.icon),{class:"w-[16px] h-[16px] rounded-full"})),a.createElementVNode("div",kW,a.toDisplayString(o.currentLang==="ukraine"?b==null?void 0:b.titleUA:b==null?void 0:b.titleEN),1),a.createElementVNode("span",EW,[(b==null?void 0:b.id)===o.currentLang?(a.openBlock(),a.createBlock(p,{key:0})):a.createCommentVNode("",!0)])],10,wW))),128))])]),_:1},512)])],2)):a.createCommentVNode("",!0)}const O2=Le(xW,[["render",SW]]),TW={components:{IconLogout:Oy,NavbarItem:sW,IconLogo:V2,IconSearch:Pp,NavbarFooter:O2},data(){return{activeIndex:null,searchValue:""}},computed:{data(){var t;return(t=this.searchValue)!=null&&t.trim()?this.filterMenu(ii.value,this.searchValue):ii.value},logo(){var t,e,n;return((e=(t=this.$settings)==null?void 0:t.admin)==null?void 0:e.logo)||((n=et.value)==null?void 0:n.logo)||"/assets/logo.svg"},docs(){var t;return(t=et==null?void 0:et.value)==null?void 0:t.docs},languages(){var t;return(t=et==null?void 0:et.value)==null?void 0:t.languages},darkMode(){var t;return((t=et==null?void 0:et.value)==null?void 0:t.sidebarDark)||!1},darkColor(){var e,n,r;const t=((e=et==null?void 0:et.value)==null?void 0:e.sidebarColor)||((n=et==null?void 0:et.value)==null?void 0:n.color)||((r=et==null?void 0:et.value)!=null&&r.sidebarDark?"blue":"white");return t.includes("-")||t.includes("[")?t:t+"-950"}},watch:{"$route.path"(){this.$parent.showMenu=!1}},methods:{filterMenu(t,e){return t.map(n=>{var r,o;if(n.menu){const d=this.filterMenu(n.menu,e);if(d.length>0)return{...n,menu:d,open:!0}}else if((o=(r=n.ua)==null?void 0:r.toLowerCase())!=null&&o.includes(e.toLowerCase()))return n;return null}).filter(Boolean)}}},AW={class:"h-[46px] w-full px-5 lg:px-8 mb-[10px]"},DW={href:"/"},MW=["src"],IW={class:"px-2 lg:px-5"},PW={class:"px-2 lg:px-5 flex flex-col flex-wrap w-full pb-3"},RW={key:0,class:"flex flex-col gap-y-1"};function NW(t,e,n,r,o,d){var k;const p=a.resolveComponent("VsText"),c=a.resolveComponent("NavbarItem"),b=a.resolveComponent("NavbarFooter");return a.openBlock(),a.createElementBlock("div",{class:a.normalizeClass(["lg:flex lg:relative lg:left-0 flex-col h-[100vh] pt-3 border-r w-[260px] top-0 bottom-0 shrink-0 absolute transition left-[-100%] z-[11]",{"left-0":t.$parent.showMenu,["bg-"+d.darkColor]:d.darkColor,"bg-white":!d.darkMode&&!d.darkColor}])},[a.createElementVNode("div",AW,[a.createElementVNode("a",DW,[a.createElementVNode("img",{src:d.logo,class:"object-contain w-full h-full"},null,8,MW)])]),a.createElementVNode("div",IW,[a.createVNode(p,{type:"text",modelValue:o.searchValue,"onUpdate:modelValue":e[0]||(e[0]=E=>o.searchValue=E),clearable:!0,icon:"search","icon-position":"left",placeholder:"Пошук по меню",class:a.normalizeClass(["[&>input]:h-[38px]",{"[&>input]:bg-[#172554] [&>input]:text-white/80 [&>input]:placeholder:text-white/40 [&>input]:border [&>input]:border-white/50":d.darkMode,["[&>input]:bg-"+d.darkColor]:d.darkColor,["focus:[&>input]:border-"+d.darkColor+"-500"]:d.darkMode}])},null,8,["modelValue","class"])]),a.createElementVNode("div",{class:a.normalizeClass(["py-[10px] 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",d.languages||d.docs?"h-[calc(100vh-161px)]":"h-[calc(100vh-110px)]"])},[a.createElementVNode("nav",PW,[(k=d.data)!=null&&k.length?(a.openBlock(),a.createElementBlock("ul",RW,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(d.data,(E,C)=>(a.openBlock(),a.createElementBlock("li",{key:C,class:"flex flex-col gap-[6px]"},[a.createVNode(c,{route:E,searchable:o.searchValue},null,8,["route","searchable"])]))),128))])):(a.openBlock(),a.createElementBlock("div",{key:1,class:a.normalizeClass(["text-lg mt-[20px]",{"text-white/80":d.darkMode,"text-gray-800":!d.darkMode}])}," Не знайдено ",2))])],2),d.docs||d.languages?(a.openBlock(),a.createBlock(b,{key:0,docs:d.docs,languages:d.languages},null,8,["docs","languages"])):a.createCommentVNode("",!0)],2)}const L2=Le(TW,[["render",NW],["__scopeId","data-v-7817bab2"]]),BW={components:{IconChevronDown:Od},props:{route:Object,searchable:String},mounted(){var t,e;(e=(t=this.route)==null?void 0:t.menu)!=null&&e.some(n=>{var r,o;return(n==null?void 0:n.path)===this.$route.path.replace("/","")||((o=(r=this.$route)==null?void 0:r.params)==null?void 0:o.table)===(n==null?void 0:n.table)&&(n==null?void 0:n.table)})&&(this.isOpen=!0)},watch:{route:{immediate:!0,handler(t){t!=null&&t.open&&(this.isOpen=!0)}}},data(){return{isOpen:!1,arr:[]}},computed:{darkMode(){var t;return(t=et==null?void 0:et.value)==null?void 0:t.sidebarDark}},methods:{highLight(t){if(!this.searchable)return t;const e=this.searchable.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),n=new RegExp(`(${e})(\\s*)`,"gi");return t.replace(n,(r,o,d)=>`<span style="color:#1989fa;">${o}</span>${d}`)}}},VW={key:0,class:""},zW={key:0,class:"py-0.5 px-2 inline-flex items-center gap-x-1.5 text-xs font-medium bg-blue-100 text-blue-800 rounded-full dark:bg-blue-500/10 dark:text-blue-500"},OW={class:"ml-[28px] pt-[6px] before:block before:absolute relative w-[calc(100%-28px)] before:bg-gray-200 flex-col gap-y-1.5 inline-flex before:w-[2px] before:h-[100%] before:left-[-10px] cursor-pointer"},LW={key:1},FW=["innerHTML"];function $W(t,e,n,r,o,d){var b,k,E,C,T,I,N,$,F,q,J,Q,me,Ee,Ve;const p=a.resolveComponent("IconChevronDown"),c=a.resolveComponent("router-link");return(b=n.route)!=null&&b.menu?(a.openBlock(),a.createElementBlock("div",VW,[a.createElementVNode("button",{onClick:e[0]||(e[0]=we=>o.isOpen=!o.isOpen),class:a.normalizeClass(["flex items-center justify-start w-full px-3 py-2 text-sm text-left text-gray-800 duration-300 border-none rounded-lg cursor-pointer gap-x-3 focus:outline-none hover:bg-gray-200",[((E=(k=n.route)==null?void 0:k.menu)==null?void 0:E.some(we=>{var Re,Ne;return(we==null?void 0:we.path)===t.$route.path.replace("/","")||(we==null?void 0:we.table)===((Ne=(Re=t.$route)==null?void 0:Re.params)==null?void 0:Ne.table)&&(we==null?void 0:we.table)}))&&"bg-gray-200"]])},[a.createTextVNode(a.toDisplayString((C=n.route)==null?void 0:C.ua)+" ",1),(T=n.route)!=null&&T.new?(a.openBlock(),a.createElementBlock("span",zW,"Нове")):a.createCommentVNode("",!0),a.createVNode(p,{class:a.normalizeClass([[o.isOpen&&"-rotate-180"],"ml-auto duration-300"]),width:"14",height:"14"},null,8,["class"])],2),a.createVNode(a.Transition,{name:"fade"},{default:a.withCtx(()=>{var we;return[a.withDirectives(a.createElementVNode("ul",OW,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList((we=n.route)==null?void 0:we.menu,(Re,Ne)=>{var Ue,Xe;return a.openBlock(),a.createElementBlock("li",{key:Ne,class:"w-full"},[a.createVNode(c,{innerHTML:d.highLight(Re==null?void 0:Re.ua),to:"/"+(Re==null?void 0:Re.path),class:a.normalizeClass([[((Re==null?void 0:Re.path)===t.$route.path.replace("/","")||((Xe=(Ue=t.$route)==null?void 0:Ue.params)==null?void 0:Xe.table)===(Re==null?void 0:Re.table)&&(Re==null?void 0:Re.table))&&"bg-gray-200"],"block px-3 py-2 text-sm rounded-lg focus:outline-none hover:bg-gray-200 focus:bg-gray-200"])},null,8,["innerHTML","to","class"])])}),128))],512),[[a.vShow,o.isOpen]])]}),_:1})])):(I=n.route)!=null&&I.hidden?a.createCommentVNode("",!0):(a.openBlock(),a.createElementBlock("div",LW,[a.createVNode(c,{to:(($=(N=n.route)==null?void 0:N.path)==null?void 0:$[0])==="/"?(F=n.route)==null?void 0:F.path:"/"+((q=n.route)==null?void 0:q.path),class:a.normalizeClass([[(((J=n.route)==null?void 0:J.path.replace("/",""))===t.$route.path.replace("/","")||((me=(Q=t.$route)==null?void 0:Q.params)==null?void 0:me.table)===((Ee=n.route)==null?void 0:Ee.table)&&((Ve=n.route)==null?void 0:Ve.table))&&"bg-gray-200"],"flex items-center w-full px-3 py-2 text-sm text-gray-800 duration-300 rounded-lg gap-x-3 hover:bg-gray-200 focus:bg-gray-200"])},{default:a.withCtx(()=>{var we;return[a.createElementVNode("span",{innerHTML:d.highLight((we=n.route)==null?void 0:we.ua)},null,8,FW)]}),_:1},8,["to","class"])]))}const jW=Le(BW,[["render",$W]]),UW={class:"relative w-fit mx-auto"},HW={key:0,class:"w-60 duration absolute top-full left-0 z-20 bg-white rounded-xl shadow-xl block"},WW={class:"p-1"},qW={__name:"navbar-gray-dropdown",setup(t){const e=a.ref(!1);return a.onMounted(()=>{document.addEventListener("click",n=>{n.target.closest(".navbar-gray-dropdown")||(e.value=!1)})}),(n,r)=>{var d;const o=a.resolveComponent("router-link");return a.openBlock(),a.createElementBlock("div",UW,[a.createElementVNode("button",{onClick:r[0]||(r[0]=p=>e.value=!e.value),type:"button",class:"py-1 px-2 navbar-gray-dropdown inline-flex justify-center items-center gap-x-1 font-semibold rounded-lg text-gray-800 hover:text-purple-600 focus:outline-hidden focus:text-purple-600 disabled:opacity-50 disabled:pointer-events-none dark:text-neutral-300 dark:hover:text-purple-500 dark:focus:text-purple-500"},[a.createTextVNode(a.toDisplayString((d=n.$user)==null?void 0:d.user_name)+" ",1),a.createVNode(Rp,{width:"16",height:"16"})]),e.value?(a.openBlock(),a.createElementBlock("div",HW,[a.createElementVNode("div",WW,[r[2]||(r[2]=a.createElementVNode("a",{class:"flex items-center gap-x-3 py-2 px-3 rounded-lg text-sm text-gray-800 hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-hidden focus:bg-gray-100 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",href:"#"}," Профіль ",-1)),a.createVNode(o,{class:"flex items-center gap-x-3 py-2 px-3 rounded-lg text-sm text-gray-800 hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-hidden focus:bg-gray-100 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",to:"/admin.settings"},{default:a.withCtx(()=>[...r[1]||(r[1]=[a.createTextVNode(" Налаштування ",-1)])]),_:1})]),r[3]||(r[3]=a.createElementVNode("div",{class:"p-1 border-t border-gray-200 dark:border-neutral-700"},[a.createElementVNode("a",{class:"flex items-center gap-x-3 py-2 px-3 rounded-lg text-sm text-gray-800 hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-hidden focus:bg-gray-100 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",href:"/logout"}," Вийти ")],-1))])):a.createCommentVNode("",!0)])}}},GW={class:"p-4 flex flex-col justify-center border-b relative max-h-[192px]"},ZW={components:{IconLogout:Oy,NavbarItem:jW,IconLogo:V2,IconSearch:Pp,NavbarFooter:O2,NavbarUser:{__name:"navbar-gray-user",setup(t){return(e,n)=>(a.openBlock(),a.createElementBlock("div",GW,[a.createVNode(yg,{class:"!absolute top-[8px] right-[8px]",placement:"left"}),n[0]||(n[0]=a.createElementVNode("div",{class:"flex size-24 justify-center items-center shrink-0 rounded-full overflow-hidden mx-auto mb-2"},[a.createElementVNode("img",{class:"object-cover h-[130px] w-[130px]",src:"https://media.istockphoto.com/id/1337144146/vector/default-avatar-profile-icon-vector.jpg?s=612x612&w=0&k=20&c=BIbFwuv7FxTWvh5S3vB6bkT0Qv8Vn8N5Ffseq84ClGI=",alt:"Avatar"})],-1)),a.createVNode(qW)]))}}},data(){return{activeIndex:null,searchValue:""}},computed:{data(){var t;return(t=this.searchValue)!=null&&t.trim()?this.filterMenu(ii.value,this.searchValue):ii.value},logo(){var t,e,n;return((e=(t=this.$settings)==null?void 0:t.admin)==null?void 0:e.logo)||((n=et.value)==null?void 0:n.logo)||"/assets/logo.svg"},docs(){var t;return(t=et==null?void 0:et.value)==null?void 0:t.docs},languages(){var t;return(t=et==null?void 0:et.value)==null?void 0:t.languages},darkMode(){var t;return((t=et==null?void 0:et.value)==null?void 0:t.sidebarDark)||!1},darkColor(){var e,n,r;const t=((e=et==null?void 0:et.value)==null?void 0:e.sidebarColor)||((n=et==null?void 0:et.value)==null?void 0:n.color)||((r=et==null?void 0:et.value)!=null&&r.sidebarDark?"blue":"white");return t.includes("-")||t.includes("[")?t:t+"-950"}},watch:{"$route.path"(){this.$parent.showMenu=!1}},methods:{filterMenu(t,e){return t.map(n=>{var r,o;if(n.menu){const d=this.filterMenu(n.menu,e);if(d.length>0)return{...n,menu:d,open:!0}}else if((o=(r=n.ua)==null?void 0:r.toLowerCase())!=null&&o.includes(e.toLowerCase()))return n;return null}).filter(Boolean)}}},YW={class:"px-2 lg:px-5 flex flex-col flex-wrap w-full pb-3"},XW={key:0,class:"flex flex-col gap-y-1"},KW={class:"h-[55px] border-t w-full px-5 shrink-0 lg:px-5 flex items-center"},JW={href:"/"},QW=["src"];function eq(t,e,n,r,o,d){var b;const p=a.resolveComponent("NavbarUser"),c=a.resolveComponent("NavbarItem");return a.openBlock(),a.createElementBlock("div",{class:a.normalizeClass(["lg:flex lg:relative lg:left-0 flex-col h-[100vh] border-r w-[260px] bg-gray-100 top-0 bottom-0 shrink-0 absolute transition left-[-100%] z-[11]",{"left-0":t.$parent.showMenu}])},[a.createVNode(p),a.createElementVNode("div",{class:a.normalizeClass(["py-[10px] 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",d.languages||d.docs?"h-[calc(100vh-161px)]":"h-[calc(100vh-110px)]"])},[a.createElementVNode("nav",YW,[(b=d.data)!=null&&b.length?(a.openBlock(),a.createElementBlock("ul",XW,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(d.data,(k,E)=>(a.openBlock(),a.createElementBlock("li",{key:E,class:"flex flex-col gap-[6px]"},[a.createVNode(c,{route:k,searchable:o.searchValue},null,8,["route","searchable"])]))),128))])):(a.openBlock(),a.createElementBlock("div",{key:1,class:a.normalizeClass(["text-lg mt-[20px]",{"text-white/80":d.darkMode,"text-gray-800":!d.darkMode}])}," Не знайдено ",2))])],2),a.createElementVNode("div",KW,[a.createElementVNode("a",JW,[a.createElementVNode("img",{src:d.logo,class:"object-contain max-h-[40px]"},null,8,QW)])])],2)}const tq=Le(ZW,[["render",eq],["__scopeId","data-v-3cea82a7"]]),nq={__name:"navbar",setup(t){const e={default:L2,gray:tq},n=a.computed(()=>{var r;return e[(r=et.value)==null?void 0:r.navbar]||L2});return(r,o)=>(a.openBlock(),a.createBlock(a.resolveDynamicComponent(n.value)))}},rq={components:{IconQuestion:z2,IconUser:Vv,AdminNotification:yg,IconUserOutline:Pv,IconLogout:Oy},data(){return{userData:null,isVisible:!1}},computed:{headerBadgeTitle(){var t;return(t=et.value)==null?void 0:t.headerBadge},headerBadgeColor(){var t;return(t=et.value)==null?void 0:t.headerBadgeColor}},watch:{isVisible(t){t?setTimeout(()=>window.addEventListener("click",this.closeOnOutsideClick),0):window.removeEventListener("click",this.closeOnOutsideClick)}},created(){this.userData=this.$user,Ry.value=this.$settings},methods:{async logout(){try{await Oe.get("/logout"),await window.history.pushState({},"","/login"),await location.reload(),localStorage.removeItem("user")}catch{}},closeOnOutsideClick(){this.isVisible=!1}},beforeUnmount(){window.removeEventListener("click",this.closeOnOutsideClick)}},iq={class:"flex items-center gap-[6px]"},sq={href:"/docs-user",class:"size-[38px] inline-flex justify-center items-center gap-x-2 rounded-full border border-transparent text-gray-500 hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100 dark:text-neutral-400 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},oq={href:"/docs-user",class:"size-[38px] inline-flex justify-center items-center gap-x-2 rounded-full border border-transparent text-gray-500 hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100 dark:text-neutral-400 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},aq={class:"relative"},lq=["src"],cq={key:1,class:"size-[40px] rounded-full bg-gray-200 flex items-center justify-center"},dq=["src"],uq={key:1,class:"flex items-center justify-center bg-gray-200 rounded-full size-10"},hq={class:"grow"},pq={class:"block text-sm font-medium text-gray-800 dark:text-neutral-200"},fq={class:"text-xs text-gray-500 dark:text-neutral-500"},mq={class:"flex flex-col space-y-0.5"};function gq(t,e,n,r,o,d){const p=a.resolveComponent("IconQuestion"),c=a.resolveComponent("VsPopover"),b=a.resolveComponent("AdminNotification"),k=a.resolveComponent("IconUser"),E=a.resolveComponent("router-link"),C=a.resolveComponent("IconUserOutline"),T=a.resolveComponent("IconLogout");return a.openBlock(),a.createElementBlock("div",{class:a.normalizeClass(["h-[58px] border-b flex items-center px-[20px]",d.headerBadgeTitle?"justify-between":"justify-end"])},[d.headerBadgeTitle?(a.openBlock(),a.createElementBlock("div",{key:0,class:a.normalizeClass(["py-1.5 px-2.5 flex justify-center items-center text-white hover:bg-gray-900 focus:bg-gray-900 dark:bg-neutral-100 dark:text-neutral-800 dark:hover:bg-white dark:focus:bg-white.class text-nowrap text-xs sm:text-[13px] rounded-lg disabled:opacity-50 disabled:pointer-events-none focus:outline-none dark:text-neutral-400",{["bg-"+d.headerBadgeColor]:d.headerBadgeColor,"bg-gray-800":!d.headerBadgeColor}])},a.toDisplayString(d.headerBadgeTitle),3)):a.createCommentVNode("",!0),a.createElementVNode("div",{class:"flex lg:hidden",onClick:e[0]||(e[0]=I=>t.$parent.showMenu=!0)},[...e[4]||(e[4]=[a.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-menu-2"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M4 6l16 0"></path><path d="M4 12l16 0"></path><path d="M4 18l16 0"></path></svg>',1)])]),a.createElementVNode("div",iq,[a.createVNode(c,{trigger:"hover"},{reference:a.withCtx(()=>[a.createElementVNode("a",sq,[a.createVNode(p,{height:"24",width:"24"})])]),default:a.withCtx(()=>[e[5]||(e[5]=a.createTextVNode(" Допомога ",-1))]),_:1}),a.createVNode(c,{trigger:"hover"},{reference:a.withCtx(()=>[a.createElementVNode("a",oq,[a.createVNode(b)])]),default:a.withCtx(()=>[e[6]||(e[6]=a.createTextVNode(" Сповіщення ",-1))]),_:1}),e[12]||(e[12]=a.createElementVNode("div",{class:"h-[30px] w-[1px] bg-gray-200 ml-[10px] mr-[10px]"},null,-1)),a.createElementVNode("div",aq,[a.createElementVNode("div",{onClick:e[1]||(e[1]=I=>o.isVisible=!0),class:"cursor-pointer"},[a.createVNode(c,{trigger:"hover"},{reference:a.withCtx(()=>{var I,N,$,F;return[(N=(I=o.userData)==null?void 0:I.user)!=null&&N.avatar?(a.openBlock(),a.createElementBlock("img",{key:0,class:"flex-shrink-0 size-[30px] rounded-full",src:(F=($=o.userData)==null?void 0:$.user)==null?void 0:F.avatar,alt:"Image Description"},null,8,lq)):(a.openBlock(),a.createElementBlock("div",cq,[a.createVNode(k)]))]}),default:a.withCtx(()=>[e[7]||(e[7]=a.createTextVNode(" Профіль ",-1))]),_:1})]),o.isVisible?(a.openBlock(),a.createElementBlock("div",{key:0,onClick:e[3]||(e[3]=a.withModifiers(()=>{},["stop"])),class:"fixed p-2 bg-white w-[240px] top-[55px] right-[20px] rounded-xl z-[1] shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] dark:shadow-[0_10px_40px_10px_rgba(0,0,0,0.2)] dark:bg-neutral-900 block"},[a.createVNode(E,{to:"profile",disabled:!0,class:"py-2 px-2.5 flex items-center gap-3 rounded-lg hover:bg-gray-100 focus:outline-none focus:bg-gray-100 dark:hover:bg-neutral-800 dark:focus:bg-neutral-800"},{default:a.withCtx(()=>{var I,N,$,F,q,J,Q,me,Ee,Ve;return[(N=(I=o.userData)==null?void 0:I.user)!=null&&N.avatar?(a.openBlock(),a.createElementBlock("img",{key:0,class:"rounded-full shrink-0 size-10",src:(F=($=o.userData)==null?void 0:$.user)==null?void 0:F.avatar,alt:"Image Description"},null,8,dq)):(a.openBlock(),a.createElementBlock("div",uq,[a.createVNode(k,{class:"w-[16px]"})])),a.createElementVNode("div",hq,[a.createElementVNode("span",pq,a.toDisplayString(((J=(q=o.userData)==null?void 0:q.user)==null?void 0:J.username)||((me=(Q=o.userData)==null?void 0:Q.user)==null?void 0:me.user_name)||"User User"),1),a.createElementVNode("p",fq,a.toDisplayString(((Ve=(Ee=o.userData)==null?void 0:Ee.user)==null?void 0:Ve.email)||"email не вказано"),1)])]}),_:1}),e[10]||(e[10]=a.createElementVNode("div",{class:"my-2 mx-2.5 h-px bg-gray-200 dark:bg-neutral-700"},null,-1)),a.createElementVNode("ul",mq,[a.createElementVNode("li",null,[a.createVNode(E,{to:"profile",class:"w-full flex items-center gap-x-3.5 py-2 px-2.5 text-sm text-gray-800 rounded-lg hover:bg-gray-100 focus:outline-none focus:bg-gray-100 dark:text-white dark:hover:bg-neutral-800 dark:focus:bg-neutral-800",disabled:"true"},{default:a.withCtx(()=>[a.createVNode(C,{class:"size-4"}),e[8]||(e[8]=a.createTextVNode(" Профіль ",-1))]),_:1})])]),e[11]||(e[11]=a.createElementVNode("div",{class:"my-2 mx-2.5 h-px bg-gray-200 dark:bg-neutral-700"},null,-1)),a.createElementVNode("p",null,[a.createElementVNode("button",{type:"button",onClick:e[2]||(e[2]=(...I)=>d.logout&&d.logout(...I)),class:"w-full flex items-center gap-x-3.5 py-2 px-2.5 text-sm text-gray-800 rounded-lg hover:bg-gray-100 hover:text-red-500 focus:outline-none focus:bg-gray-100 focus:text-red-500 dark:text-white dark:hover:bg-neutral-800 dark:focus:bg-neutral-800 dark:hover:text-red-500 dark:focus:text-red-500"},[a.createVNode(T,{class:"size-4"}),e[9]||(e[9]=a.createTextVNode(" Вийти ",-1))])])])):a.createCommentVNode("",!0)])])],2)}const yq={components:{navbar:nq,AdminHeader:Le(rq,[["render",gq]])},data(){return{showMenu:!1}},computed:{isMenu(){return ii.value||null},header(){var t,e;return((t=et.value)==null?void 0:t.header)===!1?!1:((e=et.value)==null?void 0:e.header)||"admin-header"}}},_q={class:"admin-wrapper"},bq={class:"flex flex-col w-full"};function xq(t,e,n,r,o,d){const p=a.resolveComponent("navbar"),c=a.resolveComponent("router-view");return a.openBlock(),a.createElementBlock("div",_q,[a.createVNode(p),o.showMenu?(a.openBlock(),a.createElementBlock("div",{key:0,onClick:e[0]||(e[0]=b=>o.showMenu=!1),class:"z-[10] lg:hidden transition duration fixed inset-0 bg-gray-900 bg-opacity-50 dark:bg-opacity-80 dark:bg-neutral-900"})):a.createCommentVNode("",!0),a.createElementVNode("div",bq,[d.isMenu?(a.openBlock(),a.createElementBlock(a.Fragment,{key:0},[d.header?(a.openBlock(),a.createBlock(a.resolveDynamicComponent(d.header),{key:0})):a.createCommentVNode("",!0),a.createVNode(c)],64)):a.createCommentVNode("",!0)])])}const vq=Object.freeze(Object.defineProperty({__proto__:null,default:Le(yq,[["render",xq],["__scopeId","data-v-804a7309"]])},Symbol.toStringTag,{value:"Module"})),wq={data(){return{currentSort:""}},props:{data:{type:Object,default:()=>null},activeColumn:{type:String}},mounted(){this.$emit("update-ref",this.$refs.column)},computed:{label(){var t,e;return((t=this.data)==null?void 0:t.ua)||((e=this.data)==null?void 0:e.label)||this.data.title||"null"},selectedSortParam(){var t,e;return(e=(t=this.$route)==null?void 0:t.query)==null?void 0:e.sort},getVisibleIcon(){return this.data.format!=="image"&&this.data.format!=="verify"}},watch:{activeColumn(t){t!==this.data.name&&(this.currentSort="")}},methods:{changeCurrentSort(t){switch(t){case"":return"asc";case"asc":return"desc";case"desc":return"";default:return""}},handleClickSortBtn(t){this.$emit("change-active",this.data.name),this.currentSort=this.changeCurrentSort(t);const e=this.$route.query,{sort:n,...r}=e,o=this.currentSort?`${this.data.name}-${this.currentSort}`:"";this.$router.replace({query:{...r,...o&&{sort:o}}})},isValueEqualToSelected(t){return`${this.data.name}-${t}`===this.selectedSortParam}}},kq={scope:"col",class:"text-start",ref:"column"},Eq={class:"w-[24px]"},Cq={key:1,class:"flex items-center px-1 py-3 font-medium text-gray-800 text-start gap-x-1 dark:text-neutral-200"};function Sq(t,e,n,r,o,d){return a.openBlock(),a.createElementBlock("th",kq,[d.getVisibleIcon?(a.openBlock(),a.createElementBlock("button",{key:0,type:"button",class:"flex items-center px-1 py-2 font-medium text-gray-800 text-start gap-x-1 dark:text-neutral-200",onClick:e[0]||(e[0]=p=>d.handleClickSortBtn(o.currentSort))},[a.createTextVNode(a.toDisplayString(d.label)+" ",1),a.createElementVNode("span",Eq,[o.currentSort?(a.openBlock(),a.createElementBlock("svg",{key:0,class:a.normalizeClass(["shrink-0 size-3.5",{"rotate-180":o.currentSort==="asc"}]),xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[...e[1]||(e[1]=[a.createElementVNode("path",{d:"m5 12 7-7 7 7"},null,-1),a.createElementVNode("path",{d:"M12 19V5"},null,-1)])],2)):a.createCommentVNode("",!0)])])):(a.openBlock(),a.createElementBlock("p",Cq,a.toDisplayString(d.label),1))],512)}const Tq=Le(wq,[["render",Sq]]),Aq={},Dq={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-link"};function Mq(t,e){return a.openBlock(),a.createElementBlock("svg",Dq,[...e[0]||(e[0]=[a.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),a.createElementVNode("path",{d:"M9 15l6 -6"},null,-1),a.createElementVNode("path",{d:"M11 6l.463 -.536a5 5 0 0 1 7.071 7.072l-.534 .464"},null,-1),a.createElementVNode("path",{d:"M13 18l-.397 .534a5.068 5.068 0 0 1 -7.127 0a4.972 4.972 0 0 1 0 -7.071l.524 -.463"},null,-1)])])}const Iq={components:{IconMore:pg,IconDelete:fg,IconEdit:mg,IconLink:Le(Aq,[["render",Mq]])},emits:["updateTable"],props:{item:Object,table:String,isForm:null,actions:Array,default:()=>[]},data(){return{formVisible:!1,isDeleteConfirm:!1,formValue:{},top:0,left:0}},computed:{getCustomActions(){return this.actions.filter(t=>typeof t=="object")}},methods:{openConfirm(){this.isDeleteConfirm=!0,document.querySelector("body").click()},async getData(){var t;try{const{data:e}=await Oe.get(`/api/table/${this.table}/${(t=this.item)==null?void 0:t.id}`);this.formValue=e}catch(e){console.error(e)}},doSomethingOnCancel(){this.formVisible=!1},async deleteElement(){var t,e;try{const{data:n}=await Oe.get(`/api/table/${this.table}/${(t=this.item)==null?void 0:t.id}`);await Oe.delete(`/api/table/${n==null?void 0:n.token}`),await this.$notify({title:"Успішно!",message:"Об`єкт успішно видалeно",type:"success"}),await this.$emit("update-table")}catch(n){this.$notify({title:"Помилка!",message:(e=n==null?void 0:n.response)==null?void 0:e.data,type:"error"})}finally{this.isDeleteConfirm=!1}},async customButtonAction(t){var e,n,r;document.querySelector("body").click(),t!=null&&t.form?(await this.$v3plugin.$form({form:t==null?void 0:t.form,id:(e=this.item)==null?void 0:e.id,api:t==null?void 0:t.api,title:t==null?void 0:t.title}),await this.$emit("update-table")):t!=null&&t.api?(await this.$v3plugin.$api({confirm:t==null?void 0:t.confirm,api:t==null?void 0:t.api,method:t==null?void 0:t.method,id:(n=this.item)==null?void 0:n.id,isId:(t==null?void 0:t.isId)||!1}),await this.$emit("update-table")):t!=null&&t.href&&this.$router.push((t==null?void 0:t.href)+((r=this.item)==null?void 0:r.id))}}},Pq={class:"inline-flex"},Rq={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"},Nq={class:"flex flex-col items-start"},Bq=["onClick"],Vq={class:"text-gray-800"},zq={key:1,class:"h-[1px] w-[80%] bg-gray-200 ml-auto mr-auto"},Oq={class:"flex justify-end p-[16px] pr-0 gap-x-3"};function Lq(t,e,n,r,o,d){const p=a.resolveComponent("IconMore"),c=a.resolveComponent("IconEdit"),b=a.resolveComponent("router-link"),k=a.resolveComponent("IconLink"),E=a.resolveComponent("IconDelete"),C=a.resolveComponent("VsPopover"),T=a.resolveComponent("VsConfirm");return a.openBlock(),a.createElementBlock(a.Fragment,null,[a.createElementVNode("div",Pq,[a.createVNode(C,{trigger:"click",placement:"bottom-left"},{reference:a.withCtx(()=>[a.createElementVNode("button",Rq,[a.createVNode(p,{height:"16",width:"16"})])]),default:a.withCtx(()=>{var I,N,$,F,q;return[a.createElementVNode("div",Nq,[(I=n.actions)!=null&&I.includes("edit")&&n.isForm?(a.openBlock(),a.createBlock(b,{key:0,to:`/edit?table=${($=(N=t.$route)==null?void 0:N.params)==null?void 0:$.catchAll}&id=${(F=n.item)==null?void 0:F.id}`,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"},{default:a.withCtx(()=>[a.createVNode(c,{color:"#000"}),e[4]||(e[4]=a.createTextVNode(" Редагувати ",-1))]),_:1},8,["to"])):a.createCommentVNode("",!0),(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(d.getCustomActions,(J,Q)=>(a.openBlock(),a.createElementBlock("button",{key:Q,onClick:me=>d.customButtonAction(J),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"},[J!=null&&J.href?(a.openBlock(),a.createBlock(k,{key:0,class:"size-3.5"})):a.createCommentVNode("",!0),a.createElementVNode("span",Vq,a.toDisplayString(J==null?void 0:J.label),1)],8,Bq))),128)),n.isForm?(a.openBlock(),a.createElementBlock("div",zq)):a.createCommentVNode("",!0),(q=n.actions)!=null&&q.includes("del")?(a.openBlock(),a.createElementBlock("button",{key:2,onClick:e[0]||(e[0]=a.withModifiers((...J)=>d.openConfirm&&d.openConfirm(...J),["stop"])),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"},[a.createVNode(E),e[5]||(e[5]=a.createElementVNode("span",{class:"text-gray-800"},"Видалити",-1))])):a.createCommentVNode("",!0)])]}),_:1})]),a.createVNode(T,{visible:o.isDeleteConfirm,"onUpdate:visible":e[3]||(e[3]=I=>o.isDeleteConfirm=I),size:"small",title:"Ви впевнені?"},{default:a.withCtx(()=>[e[6]||(e[6]=a.createElementVNode("p",{class:"mt-1 text-sm text-gray-600 dark:text-neutral-400"}," Ви впевнені, що хочете видалити цей об'єкт? ",-1)),a.createElementVNode("div",Oq,[a.createElementVNode("button",{type:"button",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",onClick:e[1]||(e[1]=I=>o.isDeleteConfirm=!1)}," Скасувати "),a.createElementVNode("button",{type:"button",class:"inline-flex items-center px-3 py-2 text-xs font-medium text-white duration-300 bg-red-500 rounded-lg gap-x-2 hover:bg-red-700 disabled:opacity-50 disabled:pointer-events-none",onClick:e[2]||(e[2]=(...I)=>d.deleteElement&&d.deleteElement(...I))}," Так, я впевнена(ий) ")])]),_:1},8,["visible"])],64)}const Fq=Le(Iq,[["render",Lq]]),$q={},jq={class:"flex-shrink-0 mt-0.5 size-3.5",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function Uq(t,e,n,r,o,d){return a.openBlock(),a.createElementBlock("svg",jq,[...e[0]||(e[0]=[a.createElementVNode("path",{d:"m3 16 4 4 4-4"},null,-1),a.createElementVNode("path",{d:"M7 20V4"},null,-1),a.createElementVNode("path",{d:"m21 8-4-4-4 4"},null,-1),a.createElementVNode("path",{d:"M17 4v16"},null,-1)])])}const Hq=Le($q,[["render",Uq]]),Wq={},qq={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-rosette-discount-check"};function Gq(t,e,n,r,o,d){return a.openBlock(),a.createElementBlock("svg",qq,[...e[0]||(e[0]=[a.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),a.createElementVNode("path",{d:"M5 7.2a2.2 2.2 0 0 1 2.2 -2.2h1a2.2 2.2 0 0 0 1.55 -.64l.7 -.7a2.2 2.2 0 0 1 3.12 0l.7 .7c.412 .41 .97 .64 1.55 .64h1a2.2 2.2 0 0 1 2.2 2.2v1c0 .58 .23 1.138 .64 1.55l.7 .7a2.2 2.2 0 0 1 0 3.12l-.7 .7a2.2 2.2 0 0 0 -.64 1.55v1a2.2 2.2 0 0 1 -2.2 2.2h-1a2.2 2.2 0 0 0 -1.55 .64l-.7 .7a2.2 2.2 0 0 1 -3.12 0l-.7 -.7a2.2 2.2 0 0 0 -1.55 -.64h-1a2.2 2.2 0 0 1 -2.2 -2.2v-1a2.2 2.2 0 0 0 -.64 -1.55l-.7 -.7a2.2 2.2 0 0 1 0 -3.12l.7 -.7a2.2 2.2 0 0 0 .64 -1.55v-1"},null,-1),a.createElementVNode("path",{d:"M9 12l2 2l4 -4"},null,-1)])])}const Zq={components:{IconExport:Hq,IconChevronDown:Od,IconSuccess:Le(Wq,[["render",Gq]])},props:{table:String,columns:Array,page:[String,Number],filterCustom:String,filterState:String,filters:String},data(){return{isOpen:!1,tableFormats:["json","csv","xlsx"],format:"",cols:[],activeAction:"",isSuccessTemplate:!1,actions:[{name:"choceAll",function:this.choceAll,label:"Вибрати усі"},{name:"choceVisible",function:this.choceVisible,label:"Вибрати поточні"},{name:"clearAll",function:this.clearAll,label:"Жодного"}],es:null,progress:0}},watch:{isOpen(t){t||(this.format="",this.cols=[],this.activeAction="",this.isSuccessTemplate=!1)}},computed:{color(){return et.value.buttonColor||"blue"}},methods:{async downloadBlob(t){const e=await Oe.get(t||"/api/export",{params:{table:this.table,format:this.format,cols:this.cols.join(","),page:this.page,filter:this.filters||null,state:this.filterState||null,custom:this.filterCustom||null},responseType:"blob"}),n=new Blob([e.data],{type:"application/octet-stream"}),r=document.createElement("a");r.href=URL.createObjectURL(n),r.download=`${this.table.split(".")[0]}.${this.format}`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(r.href),this.isSuccessTemplate=!0,this.$notify({type:"success",title:"Експорт",message:"Файл успішно експортовано!"})},async exportTable(){var e;try{await Oe.get("/api/export",{params:{table:this.table,format:this.format,cols:this.cols.join(","),page:this.page,filter:this.filters||null,state:this.filterState||null,custom:this.filterCustom||null,stream:!0},validateStatus:n=>n===200}),await this.downloadBlob();return}catch{}const t=new URLSearchParams({table:this.table,format:this.format,cols:this.cols.join(","),page:this.page,filter:this.filters||"",state:this.filterState||"",custom:this.filterCustom||""});(e=this.es)==null||e.close(),this.es=new EventSource(`/api/export?${t.toString()}`),this.es.addEventListener("progress",n=>{try{const{percent:r}=JSON.parse(n.data);this.progress=r}catch{console.log("progress",n.data)}}),this.es.addEventListener("done",async n=>{this.es.close(),this.es=null;const{url:r}=JSON.parse(n.data||"{}");await this.downloadBlob(r)}),this.es.onerror=n=>{var r;console.error("SSE error",n),this.$notify({type:"error",title:"Помилка",message:"Потік експорту перервано."}),(r=this.es)==null||r.close()}},selectFormat(t){this.format=t},choceAll(){var t;this.cols=(t=this.columns)==null?void 0:t.map(e=>e==null?void 0:e.name),this.activeAction="choceAll"},clearAll(){this.cols=[],this.activeAction="clearAll"},choceVisible(){var t,e;this.cols=(e=(t=this.columns)==null?void 0:t.filter(n=>(n==null?void 0:n.hidden)!==!0))==null?void 0:e.map(n=>n==null?void 0:n.name),this.activeAction="choceVisible"}}},Yq={key:0,class:"flex flex-col items-center"},Xq={key:1,class:"p-4"},Kq={class:"pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700"},Jq={class:"flex items-center gap-[10px] -ml-[10px] my-[10px]"},Qq=["onClick"],eG={key:0,class:"block h-[8px] w-[8px] rounded-full bg-blue-500"},tG={class:"mt-2 flex row flex-wrap gap-y-[5px] gap-x-[10px]"},nG={class:"pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700"},rG={class:"mt-2 space-y-2"},iG=["id","onChange"],sG=["for"],oG={key:0,class:"flex w-full justify-end p-[20px] gap-[6px] border-t"},aG={key:1,class:"flex w-full justify-end p-[20px] gap-[6px] border-t"};function lG(t,e,n,r,o,d){const p=a.resolveComponent("IconExport"),c=a.resolveComponent("IconSuccess"),b=a.resolveComponent("VsCheckbox"),k=a.resolveComponent("VsDialog");return a.openBlock(),a.createElementBlock(a.Fragment,null,[a.createElementVNode("button",{onClick:e[0]||(e[0]=E=>o.isOpen=!0),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"},[a.createVNode(p,{height:"16",width:"16"}),e[7]||(e[7]=a.createTextVNode(" Експорт ",-1))]),a.createVNode(k,{visible:o.isOpen,"onUpdate:visible":e[6]||(e[6]=E=>o.isOpen=E),title:"Експорт таблиці",size:"small",closeClickBack:!0},{footer:a.withCtx(()=>[o.isSuccessTemplate?(a.openBlock(),a.createElementBlock("div",oG,[a.createElementVNode("button",{type:"button",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",onClick:e[2]||(e[2]=E=>o.isOpen=!1)}," Закрити "),a.createElementVNode("button",{type:"button",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",onClick:e[3]||(e[3]=E=>o.isSuccessTemplate=!1)}," Вигрузити ще ")])):(a.openBlock(),a.createElementBlock("div",aG,[a.createElementVNode("button",{type:"button",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",onClick:e[4]||(e[4]=E=>o.isOpen=!1)}," Скасувати "),a.createElementVNode("button",{type:"button",class:a.normalizeClass(`inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-white align-middle bg-${d.color}-700 rounded-lg shadow-sm text-nowrap gap-x-2 text-start hover:bg-${d.color}-800 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:ring-1 focus:ring-${d.color}-300 dark:focus:ring-${d.color}-500`),onClick:e[5]||(e[5]=(...E)=>d.exportTable&&d.exportTable(...E))}," Завантажити таблицю ",2)]))]),default:a.withCtx(()=>[o.isSuccessTemplate?(a.openBlock(),a.createElementBlock("div",Yq,[a.createVNode(c,{height:"100",width:"100",class:"text-green-200 mb-[20px]"}),e[8]||(e[8]=a.createElementVNode("h2",null,"Звіт сформовано і збережено",-1))])):(a.openBlock(),a.createElementBlock("div",Xq,[a.createElementVNode("div",Kq,[e[9]||(e[9]=a.createElementVNode("h2",{class:"text-sm font-[600] text-gray-500"}," Виберіть стовпці таблиці для експорту: ",-1)),a.createElementVNode("div",Jq,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(o.actions,E=>(a.openBlock(),a.createElementBlock("button",{key:E==null?void 0:E.name,onClick:E==null?void 0:E.function,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"},[a.createElementVNode("span",{class:a.normalizeClass(["h-[14px] w-[14px] border rounded-full flex items-center justify-center",{"border-blue-500":(E==null?void 0:E.name)===o.activeAction}])},[(E==null?void 0:E.name)===o.activeAction?(a.openBlock(),a.createElementBlock("span",eG)):a.createCommentVNode("",!0)],2),a.createTextVNode(" "+a.toDisplayString(E==null?void 0:E.label),1)],8,Qq))),128))]),a.createElementVNode("div",tG,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.columns,(E,C)=>(a.openBlock(),a.createElementBlock("div",{class:"flex items-center",key:C,style:{width:"calc((100% - 10px) / 2)"}},[a.createVNode(b,{class:"[&>label]:text-sm [&>label]:text-gray-800 [&>label]:ms-3 !gap-x-[1px] !p-0",modelValue:o.cols,"onUpdate:modelValue":e[1]||(e[1]=T=>o.cols=T),value:E==null?void 0:E.name,label:E==null?void 0:E.ua},null,8,["modelValue","value","label"])]))),128))])]),a.createElementVNode("div",nG,[e[10]||(e[10]=a.createElementVNode("h2",{class:"text-sm font-[600] text-gray-500"}," Виберіть формат таблиці: ",-1)),a.createElementVNode("div",rG,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(o.tableFormats,(E,C)=>(a.openBlock(),a.createElementBlock("div",{class:"flex items-center",key:C},[a.createElementVNode("input",{type:"radio",name:"hs-pro-duecmfm",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",id:E,onChange:T=>d.selectFormat(E)},null,40,iG),a.createElementVNode("label",{for:E,class:"text-sm text-gray-800 ms-3 dark:text-neutral-400"}," Формат "+a.toDisplayString(E),9,sG)]))),128))])])]))]),_:1},8,["visible"])],64)}const cG=Le(Zq,[["render",lG]]),dG={},uG={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus"};function hG(t,e,n,r,o,d){return a.openBlock(),a.createElementBlock("svg",uG,[...e[0]||(e[0]=[a.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),a.createElementVNode("path",{d:"M5 12l14 0"},null,-1)])])}const pG={components:{IconPlus:Gl,IconMinus:Le(dG,[["render",hG]])},props:{title:String,defaultValue:{type:Boolean,default:()=>!1}},data(){return{expanded:this.defaultValue}}},fG={class:"hs-accordion"},mG={class:"py-0.5 flex items-center gap-x-0.5 w-full"},gG={class:"text-sm font-medium"},yG={class:"relative inline-block w-full duration-150 cursor-pointer before:block before:absolute b"};function _G(t,e,n,r,o,d){const p=a.resolveComponent("IconPlus"),c=a.resolveComponent("IconMinus");return a.openBlock(),a.createElementBlock("div",null,[a.createElementVNode("div",null,[a.createElementVNode("div",fG,[a.createElementVNode("div",mG,[a.createElementVNode("div",{onClick:e[0]||(e[0]=b=>o.expanded=!o.expanded),class:"rounded-md cursor-pointer grow"},[a.createElementVNode("span",gG,a.toDisplayString(n.title),1)]),a.createElementVNode("button",{class:"flex items-center justify-center rounded-md size-6 hover:bg-gray-100",onClick:e[1]||(e[1]=b=>o.expanded=!o.expanded)},[o.expanded?(a.openBlock(),a.createBlock(c,{key:1,width:"14"})):(a.openBlock(),a.createBlock(p,{key:0}))])]),a.createVNode(a.Transition,{name:"fade"},{default:a.withCtx(()=>[a.withDirectives(a.createElementVNode("div",yG,[a.renderSlot(t.$slots,"default",{},void 0,!0)],512),[[a.vShow,o.expanded]])]),_:3})])])])}const bG={components:{AdminComponentIs:Ed,AdminTree:Le(pG,[["render",_G],["__scopeId","data-v-c6318482"]]),VsNoData:Ya,VsWidgetComments:Mv,VsWidgetMap:Um,VsWidgetFileList:Dv},props:{table:String,columns:Array,row:Object}},xG={class:"pl-2 hs-accordion 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",style:{height:"calc(100vh - 229px)"}},vG={style:{height:"calc(100vh - 360px)"},class:"pl-2"},wG={class:"flow-root mt-[10px]"},kG={class:"divide-y divide-gray-100 text-[12px]"},EG={class:"grid grid-cols-1 gap-1 py-3 even:bg-gray-50 sm:grid-cols-3 sm:gap-4"},CG={class:"font-medium text-gray-900"},SG={class:"text-gray-700 sm:col-span-2"};function TG(t,e,n,r,o,d){var k,E,C,T;const p=a.resolveComponent("AdminComponentIs"),c=a.resolveComponent("VsWidgetFileList"),b=a.resolveComponent("VsNoData");return a.openBlock(),a.createElementBlock("div",xG,[e[0]||(e[0]=a.createElementVNode("div",{class:"pl-[10px] py-[9px]"},[a.createElementVNode("h2",{class:"text-sm font-medium text-center"},"Інформація про об'єкт")],-1)),a.createElementVNode("div",vG,[(E=(k=t.$route)==null?void 0:k.query)!=null&&E.card?(a.openBlock(),a.createElementBlock(a.Fragment,{key:0},[a.createElementVNode("div",wG,[a.createElementVNode("dl",kG,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.columns,I=>(a.openBlock(),a.createElementBlock("div",EG,[a.createElementVNode("dt",CG,a.toDisplayString((I==null?void 0:I.ua)||(I==null?void 0:I.title)),1),a.createElementVNode("dd",SG,[a.createVNode(p,{row:n.row,column:I,table:n.table},null,8,["row","column","table"])])]))),256))])]),(a.openBlock(),a.createBlock(c,{key:(C=n.row)==null?void 0:C.id,id:(T=n.row)==null?void 0:T.id,class:"mt-10"},null,8,["id"]))],64)):(a.openBlock(),a.createBlock(b,{key:1,text:"Оберіть один з об'єктів в таблиці для відображення інформаціі про нього"}))])])}const AG=Le(bG,[["render",TG]]),DG={emits:["filterChange"],props:{scheme:{type:Object},onFilters:{type:Number},table:{type:String}},components:{IconFilter:Rv},data(){return{isFilters:!1}},methods:{closeFilter({target:t}){this.isFilters&&t.classList.contains("filter-container")&&(this.isFilters=!1)}}},MG={key:0,class:"px-[7px] text-[10px] py-[1px] font-[700] text-white bg-blue-500 rounded-full"},IG={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"};function PG(t,e,n,r,o,d){const p=a.resolveComponent("IconFilter"),c=a.resolveComponent("VsFilter");return a.openBlock(),a.createElementBlock(a.Fragment,null,[a.createElementVNode("button",{onClick:e[0]||(e[0]=b=>o.isFilters=!o.isFilters),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"},[a.createVNode(p,{height:"16",width:"16"}),e[4]||(e[4]=a.createTextVNode(" Фільтри ",-1)),n.onFilters?(a.openBlock(),a.createElementBlock("span",MG,a.toDisplayString(n.onFilters),1)):a.createCommentVNode("",!0)]),a.createVNode(a.Transition,{name:"fade"},{default:a.withCtx(()=>{var b;return[(a.openBlock(),a.createBlock(a.Teleport,{to:"#modal"},[a.withDirectives(a.createElementVNode("div",{onClick:e[3]||(e[3]=(...k)=>d.closeFilter&&d.closeFilter(...k)),style:{height:"100vh"},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)]"},[a.createElementVNode("div",IG,[(b=n.scheme)!=null&&b.length?(a.openBlock(),a.createBlock(c,{key:0,ref:"filter",scheme:n.scheme,layout:"default","apply-vue-router":"",history:"",name:"filter",footer:!0,background:!0,onFilterChange:e[1]||(e[1]=k=>t.$emit("filterChange",k)),closeFilterBtn:!0,onFilterClose:e[2]||(e[2]=k=>o.isFilters=!1)},null,8,["scheme"])):a.createCommentVNode("",!0)])],512),[[a.vShow,o.isFilters]])]))]}),_:1})],64)}const RG=Le(DG,[["render",PG]]),NG={props:{tabsList:{type:Array,default:()=>[]},filterState:String}},BG={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","aria-label":"Tabs",role:"tablist","aria-orientation":"horizontal"},VG=["onClick"];function zG(t,e,n,r,o,d){return a.openBlock(),a.createElementBlock("nav",BG,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.tabsList,p=>(a.openBlock(),a.createElementBlock("button",{onClick:c=>t.$emit("update:filterState",p==null?void 0:p.name),class:a.normalizeClass(["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",{" 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":(p==null?void 0:p.name)===n.filterState}])},a.toDisplayString(p==null?void 0:p.label),11,VG))),256))])}const OG=Le(NG,[["render",zG]]),LG={},FG={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-filter"};function $G(t,e,n,r,o,d){return a.openBlock(),a.createElementBlock("svg",FG,[...e[0]||(e[0]=[a.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),a.createElementVNode("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)])])}const jG={components:{IconFilter2:Le(LG,[["render",$G]]),IconCheck2:Dl},props:{filterCustom:String,customList:Array}},UG={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"},HG={class:"flex flex-col p-[2px] gap-[2px] w-[170px]"},WG=["onClick"],qG={class:"text-sm text-gray-800"};function GG(t,e,n,r,o,d){const p=a.resolveComponent("IconFilter2"),c=a.resolveComponent("IconCheck2"),b=a.resolveComponent("VsPopover");return a.openBlock(),a.createBlock(b,{ref:"popover",placement:"bottom"},{reference:a.withCtx(()=>[a.createElementVNode("button",UG,[a.createVNode(p,{height:"20",width:"20"})])]),default:a.withCtx(()=>[a.createElementVNode("div",HG,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.customList,(k,E)=>(a.openBlock(),a.createElementBlock("button",{onClick:C=>{var T;t.$emit("update:filterCustom",k==null?void 0:k.name),(T=t.$refs)==null||T.popover.togglePopover()},key:E,class:a.normalizeClass(["flex items-center px-3 py-1 rounded-md cursor-pointer group hover:bg-gray-100",{"bg-gray-100":n.filterCustom===(k==null?void 0:k.name)}])},[a.createElementVNode("span",qG,a.toDisplayString(k==null?void 0:k.label),1),n.filterCustom===(k==null?void 0:k.name)?(a.openBlock(),a.createBlock(c,{key:0,class:"ml-auto size-3 shrink-0"})):a.createCommentVNode("",!0)],10,WG))),128)),a.createElementVNode("button",{class:"flex items-center px-3 py-1 rounded-md cursor-pointer group hover:bg-gray-100",onClick:e[0]||(e[0]=k=>{var E;t.$emit("update:filterCustom",void 0),(E=t.$refs)==null||E.popover.togglePopover()})}," Скинути фільтри ")])]),_:1},512)}const ZG=Le(jG,[["render",GG]]),YG={class:"flex items-center gap-x-2"},XG={__name:"admin-table-custom-buttons",props:{slots:Object,data:Object},setup(t){var c,b,k,E,C;const{asyncTemplateSlot:e}=(C=(E=(k=(b=(c=a.getCurrentInstance())==null?void 0:c.appContext)==null?void 0:b.app)==null?void 0:k.config)==null?void 0:E.globalProperties)==null?void 0:C.utils,n=a.ref(""),r=a.ref(""),o=t,d=()=>{var T,I,N,$,F;if((T=o.slots)!=null&&T.panelLeft||(r.value="div"),(N=(I=o.slots)==null?void 0:I.panelLeft)!=null&&N.includes("<")){const q=e("PanelLeft",($=o.slots)==null?void 0:$.panelLeft,["name"]);r.value=q}else r.value=(F=o.slots)==null?void 0:F.panelLeft},p=()=>{var T,I,N,$,F;if((T=o.slots)!=null&&T.panelRight||(n.value="div"),(N=(I=o.slots)==null?void 0:I.panelRight)!=null&&N.includes("<")){const q=e("PanelRight",($=o.slots)==null?void 0:$.panelRight,["name"]);n.value=q}else n.value=(F=o.slots)==null?void 0:F.panelRight};return d(),p(),(T,I)=>(a.openBlock(),a.createElementBlock("div",YG,[(a.openBlock(),a.createBlock(a.resolveDynamicComponent(r.value),{data:t.data},null,8,["data"])),(a.openBlock(),a.createBlock(a.resolveDynamicComponent(n.value),{data:t.data},null,8,["data"]))]))}},KG={__name:"admin-custom-button-add",props:{slots:Object},setup(t){var d,p,c,b,k;const{asyncTemplateSlot:e}=(k=(b=(c=(p=(d=a.getCurrentInstance())==null?void 0:d.appContext)==null?void 0:p.app)==null?void 0:c.config)==null?void 0:b.globalProperties)==null?void 0:k.utils,n=a.ref(""),r=t;return(()=>{var E,C,T,I,N;if((E=r.slots)!=null&&E.addButton||(n.value="div"),(T=(C=r.slots)==null?void 0:C.addButton)!=null&&T.includes("<")){const $=e("addButton",(I=r.slots)==null?void 0:I.addButton,["IconPlus"]);n.value=$}else n.value=(N=r.slots)==null?void 0:N.addButton})(),(E,C)=>n.value?(a.openBlock(),a.createBlock(a.resolveDynamicComponent(n.value),{key:0,IconPlus:Gl})):a.createCommentVNode("",!0)}},JG={key:0,class:"px-1 py-3 text-gray-800 font-[500]"},QG={key:1,class:"px-1 py-3 text-gray-800 font-[700]"},eZ={__name:"admin-table-totals-list",props:{columns:{type:Array,default:()=>[]},agg:{type:Object,default:()=>{}}},setup(t){return(e,n)=>(a.openBlock(),a.createElementBlock("tr",null,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(t.columns,r=>{var o;return a.openBlock(),a.createElementBlock(a.Fragment,{key:r==null?void 0:r.name},[(o=t.agg)!=null&&o[r==null?void 0:r.name]?(a.openBlock(),a.createElementBlock("td",JG,[a.createVNode(Ed,{column:r,row:t.agg},null,8,["column","row"])])):(a.openBlock(),a.createElementBlock("td",QG))],64)}),128))]))}},tZ={},nZ={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-check"};function rZ(t,e,n,r,o,d){return a.openBlock(),a.createElementBlock("svg",nZ,[...e[0]||(e[0]=[a.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),a.createElementVNode("path",{d:"M5 12l5 5l10 -10"},null,-1)])])}const iZ=Le(tZ,[["render",rZ]]),sZ=a.defineComponent({components:{IconChevronDown:Rp,IconCheck:iZ},props:{total:{type:Number,default:()=>0},pageSize:{type:Number,default:()=>20},maxPages:{type:Number,default:()=>10},defaultPage:{type:Number,default:()=>1},pageSizes:{type:Array,default:[]}},data(){return{page:1,pages:[],isDropdownOpen:!1,pageSizeLocal:null}},mounted(){this.pageSizeLocal=this.pageSize},watch:{total:{immediate:!0,handler(){this.initPages()}},defaultPage:{immediate:!0,handler(t){this.page=t,this.updatePages(t)}},pageSizeLocal(t,e){e&&(this.isDropdownOpen=!1,this.setCurrentPage(1))}},computed:{pagesCount(){return Math.ceil(this.total/this.pageSizeLocal)},disableNextClick(){return this.page>=this.pagesCount},disablePrevClick(){return this.page<=1}},methods:{initPages(){if(this.total<=0){this.pages=[1];return}this.updatePages(this.page)},handleSetPage(t){const e=t.replace(/\D/g,"");if(e>this.pagesCount){this.$refs.currentPage.innerText=this.page;return}else this.$refs.currentPage.innerText=e;this.setCurrentPage(e)},updatePages(t){const e=Math.floor(this.maxPages/2);let n=Math.max(t-e,1),r=n+this.maxPages-1;r>this.pagesCount&&(r=this.pagesCount,n=Math.max(r-this.maxPages+1,1)),this.pages=Array.from({length:r-n+1},(o,d)=>n+d)},handleClickPrev(){this.disablePrevClick||(this.setCurrentPage(this.page-1),this.updatePages(this.page),this.$emit("prevClick"))},handleClickNext(){this.disableNextClick||(this.setCurrentPage(parseInt(this.page)+1),this.updatePages(this.page),this.$emit("nextClick"))},setCurrentPage(t){this.page=t,this.$emit("pageChange",this.page,this.pageSizeLocal),this.updatePages(t)},keydownEnter(t){t.preventDefault(),t.target.blur()}}}),oZ={class:"flex items-center w-full"},aZ={class:"flex items-center mx-[8px]"},lZ={class:"min-h-[38px] flex justify-center items-center text-stone-500 py-2 px-1.5 text-sm"},cZ={key:0,class:"flex items-center justify-center ml-3 gap-x-5"},dZ={class:"relative"},uZ={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%]"},hZ=["onClick"];function pZ(t,e,n,r,o,d){const p=a.resolveComponent("IconChevronDown"),c=a.resolveComponent("IconCheck");return a.openBlock(),a.createElementBlock("nav",oZ,[a.createElementVNode("button",{type:"button",onClick:e[0]||(e[0]=(...b)=>t.handleClickPrev&&t.handleClickPrev(...b)),class:a.normalizeClass(["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}])},[a.createVNode(p,{height:"16",width:"16",class:"rotate-90"})],2),a.createElementVNode("div",aZ,[a.createElementVNode("span",{ref:"currentPage",contenteditable:"true",onKeydown:e[1]||(e[1]=a.withKeys((...b)=>t.keydownEnter&&t.keydownEnter(...b),["enter"])),onBlur:e[2]||(e[2]=b=>t.handleSetPage(b.target.innerText)),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 outline-blue-600 text-sm rounded-lg disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-700 dark:text-white"},a.toDisplayString(t.page),545),e[5]||(e[5]=a.createElementVNode("span",{class:"min-h-[38px] flex justify-center items-center text-stone-500 py-2 px-1.5 text-sm"},"з",-1)),a.createElementVNode("span",lZ,a.toDisplayString(t.pagesCount),1)]),a.createElementVNode("button",{type:"button",onClick:e[3]||(e[3]=(...b)=>t.handleClickNext&&t.handleClickNext(...b)),class:a.normalizeClass([{"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"])},[a.createVNode(p,{height:"16",width:"16",class:"-rotate-90"})],2),t.pageSizes.length?(a.openBlock(),a.createElementBlock("div",cZ,[a.createElementVNode("div",dZ,[a.withDirectives(a.createElementVNode("div",uZ,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(t.pageSizes,b=>(a.openBlock(),a.createElementBlock("button",{type:"button",class:"w-full flex items-center gap-x-3.5 py-2 px-3 rounded-lg text-sm",onClick:k=>t.pageSizeLocal=b},[a.createTextVNode(a.toDisplayString(b)+" ",1),b===t.pageSizeLocal?(a.openBlock(),a.createBlock(c,{key:0,width:"14",height:"14",class:"text-blue-600"})):a.createCommentVNode("",!0)],8,hZ))),256))],512),[[a.vShow,t.isDropdownOpen]]),t.pageSizes.length?(a.openBlock(),a.createElementBlock("button",{key:0,type:"button",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",onClick:e[4]||(e[4]=b=>t.isDropdownOpen=!t.isDropdownOpen)},[a.createTextVNode(a.toDisplayString(t.pageSizeLocal)+" ",1),a.createVNode(p,{height:"16",width:"16"})])):a.createCommentVNode("",!0)])])):a.createCommentVNode("",!0)])}const fZ={props:{table:String,title:String,search:String},components:{AdminTableControl:Fq,AdminTableExport:cG,AdminTableColumnsHidden:Bv,AdminTableColumn:Tq,AdminNodata:gg,IconPlus:Gl,IconSearch:Pp,AdminTableCardInfo:AG,IconOpenCard:A2,AdminComponentIs:Ed,AdminTableFilters:RG,AdminTableTabs:OG,AdminTableCustomFilters:ZG,AdminTableCustomButtons:XG,AdminCustomButtonAdd:KG,AdminTableTotalsList:eZ,AdminTablePagination:Le(sZ,[["render",pZ]])},data(){return{tableData:{},filterScheme:[],page:1,searchValue:"",limit:0,filters:null,activeColumn:"",isVisibleCardInfo:!1,onFilters:0,filterState:null,filterCustom:null,visibleColumns:[],initialHiddenColumns:"",columnsWidth:{}}},async mounted(){await this.checkUrlMounted(),await this.getTableData(),await this.getFilters(),window.addEventListener("reloadTablePage",this.getTableData)},unmounted(){window.removeEventListener("reloadTablePage",this.getTableData)},computed:{color(){return et.value.buttonColor||"blue"},fontSize(){return`text-[${et.value.fontSize||13}px]`},defaultPage(){var t,e;return((e=(t=this.$route)==null?void 0:t.query)==null?void 0:e.page)||1},columns(){var t,e;return(e=(t=this.tableData)==null?void 0:t.columns)==null?void 0:e.filter(n=>(n==null?void 0:n.hidden)!==!0)},isForm(){var t,e,n,r,o;return((t=this.tableData)==null?void 0:t.form)&&(((n=(e=this.tableData)==null?void 0:e.actions)==null?void 0:n.includes("add"))||((o=(r=this.tableData)==null?void 0:r.actions)==null?void 0:o.includes("edit")))},isNoData(){var t,e;return!((t=this.tableData)!=null&&t.rows)||!((e=this.columns)!=null&&e.length)},activeCardRow(){var t,e;return((e=(t=this.tableData)==null?void 0:t.rows)==null?void 0:e.find(n=>{var r,o;return(n==null?void 0:n.id)===((o=(r=this.$route)==null?void 0:r.query)==null?void 0:o.card)}))||{}},getActions(){var t;return(t=this.tableData)==null?void 0:t.actions}},watch:{searchValue:{handler:Ny(async function(t){var e;this.page=1,await this.getTableData(),this.$router.push({...this.$route,query:{...(e=this.$route)==null?void 0:e.query,search:t||void 0,page:1}})},500)},$route:{async handler(t,e){var n,r;((n=t==null?void 0:t.params)==null?void 0:n.catchAll)!==((r=e==null?void 0:e.params)==null?void 0:r.catchAll)&&(this.visibleColumns=[],this.tableData=null,this.columnsWidth={},this.unmountedData(),this.getFilters(),await this.getTableData())},deep:!0},limit(t){var e;this.$router.replace({...this.$route,query:{...(e=this.$route)==null?void 0:e.query,limit:t}})},filterState(t){var e;t&&(this.$router.replace({...this.$route,query:{...(e=this.$route)==null?void 0:e.query,state:t}}),this.getTableData())},filterCustom(t){var e;this.$router.replace({...this.$route,query:{...(e=this.$route)==null?void 0:e.query,custom:t}}),this.getTableData()},columns(t){var e,n,r,o;this.visibleColumns=t==null?void 0:t.map(d=>d==null?void 0:d.name),this.initialHiddenColumns===((e=this.visibleColumns)==null?void 0:e.join(","))&&(this.visibleColumns=[]),this.$router.replace({...this.$route,query:{...(n=this.$route)==null?void 0:n.query,columns:(r=this.visibleColumns)!=null&&r.length?(o=this.visibleColumns)==null?void 0:o.join(","):void 0}})}},methods:{async checkUrlMounted(){var t,e,n,r,o,d,p,c,b,k,E,C,T,I,N,$,F,q,J,Q,me;this.page=((e=(t=this.$route)==null?void 0:t.query)==null?void 0:e.page)||1,this.limit=((r=(n=this.$route)==null?void 0:n.query)==null?void 0:r.limit)||20,(d=(o=this.$route)==null?void 0:o.query)!=null&&d.filter&&(this.filters=((b=decodeURI((c=(p=this.$route)==null?void 0:p.query)==null?void 0:c.filter))==null?void 0:b.replaceAll("+"," "))||null),this.filters&&(this.onFilters=((E=(k=this.filters)==null?void 0:k.split("="))==null?void 0:E.length)-1),this.filterState=((T=(C=this.$route)==null?void 0:C.query)==null?void 0:T.state)||null,this.filterCustom=((N=(I=this.$route)==null?void 0:I.query)==null?void 0:N.custom)||null,this.searchValue=((F=($=this.$route)==null?void 0:$.query)==null?void 0:F.search)||"",this.visibleColumns=((Q=(J=(q=this.$route)==null?void 0:q.query)==null?void 0:J.columns)==null?void 0:Q.split(","))||[],(me=this.$route)!=null&&me.query.card&&(this.isVisibleCardInfo=!0)},rowWidth(t){var n,r;const e=(r=(n=this.tableData)==null?void 0:n.columns)==null?void 0:r.find(o=>o.name===t);if(e){const o=e==null?void 0:e.width;return typeof o=="number"?`${o}px`:o!=null&&o.includes("px")?o:`${o}px`}},unmountedData(){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=""},async getTableData(){var t,e,n,r,o,d,p,c,b,k,E;try{const{data:C}=await Oe.get(`/api/template/table/${this.table}`),T=await Oe.get(`/api/table-data/${this.table}`,{params:{page:this.page,search:this.searchValue||null,limit:this.limit,filter:this.filters||null,order:((e=(t=this.$route)==null?void 0:t.query)==null?void 0:e.sort)||null,state:this.filterState||null,custom:this.filterCustom||null}});this.tableData={...C,...(T==null?void 0:T.data)||{}},this.initialHiddenColumns=(d=(o=(r=(n=this.tableData)==null?void 0:n.columns)==null?void 0:r.filter(I=>(I==null?void 0:I.hidden)!==!0))==null?void 0:o.map(I=>I==null?void 0:I.name))==null?void 0:d.join(","),(p=this.visibleColumns)!=null&&p.length?(c=this.tableData)==null||c.columns.forEach(I=>{var N;(N=this.visibleColumns)!=null&&N.includes(I==null?void 0:I.name)?I.hidden=!1:I.hidden=!0}):this.visibleColumns=(E=(k=(b=this.tableData)==null?void 0:b.columns)==null?void 0:k.filter(I=>(I==null?void 0:I.hidden)!==!0))==null?void 0:E.map(I=>I==null?void 0:I.name),setTimeout(()=>{var I,N;(N=(I=this.tableData)==null?void 0:I.columns)==null||N.forEach(({name:$})=>{var F,q,J,Q,me,Ee;(q=(F=this.columnsWidth)==null?void 0:F[$])!=null&&q.ref&&(this.columnsWidth[$].width=parseInt((Ee=(me=(Q=(J=this.columnsWidth)==null?void 0:J[$])==null?void 0:Q.ref)==null?void 0:me.getBoundingClientRect())==null?void 0:Ee.width)+"px")})})}catch{}},async getFilters(){var t;try{const{data:e}=await Oe.get(`/api/table-filter/${this.table}`);this.filterScheme=(t=e==null?void 0:e.list)==null?void 0:t.map(n=>({...n,label:(n==null?void 0:n.label)||(n==null?void 0:n.ua)}))}catch{}},async handlePageChange(t,e){const n=this.$route.query;this.page=t,this.limit=e,await this.$router.replace({query:{...n,page:t,limit:e}}),await this.getTableData()},async filterChange({url:t,state:e}){var n;this.filters=t!=="no-url"?t:null,this.onFilters=(n=Object.entries(e))==null?void 0:n.length,this.page=1,await this.getTableData()},changeActiveColumn(t){this.activeColumn=t,this.getTableData()},pushToCard(t){var e;((e=this.tableData)==null?void 0:e.card)===!1||this.$router.push(`/card/${this.table}/${t}`)},pushToLinkCard(t,e){t!=null&&t.link&&this.$router.push(`/card/${t==null?void 0:t.link}/${e==null?void 0:e[t==null?void 0:t.name]}`)},changeActiveCardInfo(t){var e;this.isVisibleCardInfo&&this.$router.push({...this.$route,query:{...(e=this.$route)==null?void 0:e.query,card:t}})},toggleCardInfo(){var t;this.isVisibleCardInfo=!this.isVisibleCardInfo,this.isVisibleCardInfo||this.$router.push({...this.$route,query:{...(t=this.$route)==null?void 0:t.query,card:void 0}})},getCustomStyles(t){return[t!=null&&t.link?" text-blue-800 hover:underline decoration-1":"",t!=null&&t.align?` text-${(t==null?void 0:t.align)||"left"}`:"",`text-${(t==null?void 0:t.wrap)||"wrap"}`]}}},mZ={class:"w-[calc(100vw - 320px)] bg-gray-100"},gZ={class:"h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white rounded-xl"},yZ={class:"text-lg font-semibold text-gray-800 dark:text-neutral-200"},_Z={class:"bg-white w-full rounded-xl p-[20px] pr-0"},bZ={class:"flex"},xZ={class:"flex gap-[6px] ml-auto"},vZ={class:"inline-block w-full align-middle"},wZ={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"},kZ={class:"right-0"},EZ={key:0,class:"w-[70px] sticky right-0 top-0"},CZ={class:"divide-y divide-gray-200 z-[1] relative text-gray-600"},SZ=["onClick"],TZ=["onClick"],AZ=["onClick"],DZ={class:"flex items-center justify-start w-full px-1 py-2"},MZ={class:"w-[200px] md:inline-flex hidden"},IZ={class:"text-sm text-gray-600 dark:text-neutral-400"},PZ={class:"font-semibold text-gray-800 dark:text-neutral-200"},RZ={key:0};function NZ(t,e,n,r,o,d){var Ne,Ue,Xe,He,tt,ce,$t,ut,Ft,Ut,cn,dn,Wt,en,mn,gn,yn,Wn,Te,nt,rt,wt,Vt,un,zt,Bt,_n,Ce,zn,Vs,tn,On,zs;const p=a.resolveComponent("AdminCustomButtonAdd"),c=a.resolveComponent("IconPlus"),b=a.resolveComponent("router-link"),k=a.resolveComponent("AdminTableTabs"),E=a.resolveComponent("IconSearch"),C=a.resolveComponent("VsText"),T=a.resolveComponent("AdminTableCustomButtons"),I=a.resolveComponent("AdminTableCustomFilters"),N=a.resolveComponent("AdminTableColumnsHidden"),$=a.resolveComponent("AdminTableExport"),F=a.resolveComponent("AdminTableFilters"),q=a.resolveComponent("IconOpenCard"),J=a.resolveComponent("AdminTableColumn"),Q=a.resolveComponent("AdminComponentIs"),me=a.resolveComponent("AdminTableControl"),Ee=a.resolveComponent("AdminTableTotalsList"),Ve=a.resolveComponent("AdminNodata"),we=a.resolveComponent("AdminTablePagination"),Re=a.resolveComponent("AdminTableCardInfo");return a.openBlock(),a.createElementBlock("div",mZ,[a.createElementVNode("div",gZ,[a.createElementVNode("h2",yZ,a.toDisplayString(n.title),1),d.isForm?(a.openBlock(),a.createElementBlock(a.Fragment,{key:0},[(Ue=(Ne=o.tableData)==null?void 0:Ne.slots)!=null&&Ue.addButton?(a.openBlock(),a.createBlock(p,{key:0,slots:(Xe=o.tableData)==null?void 0:Xe.slots},null,8,["slots"])):(a.openBlock(),a.createBlock(b,{key:1,to:`/add?table=${(tt=(He=t.$route)==null?void 0:He.params)==null?void 0:tt.catchAll}`,class:a.normalizeClass(`inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-${d.color}-700 border border-transparent rounded-lg gap-x-2 hover:bg-${d.color}-800 hover:text-white`)},{default:a.withCtx(()=>[a.createVNode(c,{height:"16",width:"16"}),e[5]||(e[5]=a.createTextVNode(" Додати ",-1))]),_:1},8,["to","class"]))],64)):a.createCommentVNode("",!0)]),a.createElementVNode("div",{style:a.normalizeStyle({height:((ce=t.$adminSettings)==null?void 0:ce.header)===!1?"calc(100vh - 91px)":"calc(100vh - 155px)"}),class:"bg-gray-100 p-[20px] flex pt-[10px] lg:w-[calc(100vw-260px)] w-[100vw]"},[a.createElementVNode("div",_Z,[(ut=($t=o.tableData)==null?void 0:$t.filterState)!=null&&ut.length?(a.openBlock(),a.createBlock(k,{key:0,tabsList:(Ft=o.tableData)==null?void 0:Ft.filterState,filterState:o.filterState,"onUpdate:filterState":e[0]||(e[0]=ht=>o.filterState=ht)},null,8,["tabsList","filterState"])):a.createCommentVNode("",!0),a.createElementVNode("div",bZ,[a.createElementVNode("div",{class:a.normalizeClass([o.isVisibleCardInfo?"w-[calc(100%-360px)]":"w-full"])},[a.createElementVNode("div",{class:a.normalizeClass(["flex sm:grid sm:grid-cols-2 gap-x-2 sm:gap-x-5 mb-[10px] relative",{"pr-[20px]":!o.isVisibleCardInfo}])},[a.createVNode(E,{height:"14",width:"14",class:"absolute top-[10px] left-[14px] text-gray-500 z-[1]"}),a.createVNode(C,{modelValue:o.searchValue,"onUpdate:modelValue":e[1]||(e[1]=ht=>o.searchValue=ht),placeholder:n.search||"Пошук...",clearable:!0,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"},null,8,["modelValue","placeholder"]),a.createElementVNode("div",xZ,[(Ut=o.tableData)!=null&&Ut.slots?(a.openBlock(),a.createBlock(T,{key:0,data:o.tableData,slots:(cn=o.tableData)==null?void 0:cn.slots},null,8,["data","slots"])):a.createCommentVNode("",!0),(Wt=(dn=o.tableData)==null?void 0:dn.filterCustom)!=null&&Wt.length?(a.openBlock(),a.createBlock(I,{key:1,customList:(en=o.tableData)==null?void 0:en.filterCustom,filterCustom:o.filterCustom,"onUpdate:filterCustom":e[2]||(e[2]=ht=>o.filterCustom=ht)},null,8,["customList","filterCustom"])):a.createCommentVNode("",!0),a.createVNode(N,{columns:(mn=o.tableData)==null?void 0:mn.columns,onUpdateColumns:e[3]||(e[3]=ht=>o.tableData.columns=ht)},null,8,["columns"]),((gn=o.tableData)==null?void 0:gn.export)!==!1?(a.openBlock(),a.createBlock($,{key:2,table:n.table,columns:(yn=o.tableData)==null?void 0:yn.columns,page:o.page,"filter-state":o.filterState,"filter-custom":o.filterCustom,filters:o.filters},null,8,["table","columns","page","filter-state","filter-custom","filters"])):a.createCommentVNode("",!0),(Wn=o.filterScheme)!=null&&Wn.length?(a.openBlock(),a.createBlock(F,{key:3,scheme:o.filterScheme,onFilters:o.onFilters,table:n.table,onFilterChange:d.filterChange},null,8,["scheme","onFilters","table","onFilterChange"])):a.createCommentVNode("",!0),a.createElementVNode("button",{onClick:e[4]||(e[4]=(...ht)=>d.toggleCardInfo&&d.toggleCardInfo(...ht)),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"},[a.createVNode(q,{class:a.normalizeClass({"rotate-180 duration-300":!o.isVisibleCardInfo})},null,8,["class"])])])],2),a.createElementVNode("div",{class:a.normalizeClass(["flex items-start justify-start w-full space-y-5",{"pr-[20px]":!o.isVisibleCardInfo}])},[a.createElementVNode("div",{style:a.normalizeStyle({height:`calc(100vh - ${((Te=t.$adminSettings)==null?void 0:Te.header)===!1?(rt=(nt=o.tableData)==null?void 0:nt.filterState)!=null&&rt.length?330:270:(Vt=(wt=o.tableData)==null?void 0:wt.filterState)!=null&&Vt.length?380:320}px)`}),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"},[a.createElementVNode("div",vZ,[d.isNoData?(a.openBlock(),a.createBlock(Ve,{key:1})):(a.openBlock(),a.createElementBlock("table",{key:0,class:a.normalizeClass([d.fontSize,"relative min-w-full my-2 divide-y divide-gray-200 table-fixed w-max dark:divide-neutral-700"])},[a.createElementVNode("thead",wZ,[a.createElementVNode("tr",kZ,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(d.columns,ht=>{var Tr,vi;return a.openBlock(),a.createBlock(J,{key:ht.name,style:a.normalizeStyle({width:((vi=(Tr=o.columnsWidth)==null?void 0:Tr[ht==null?void 0:ht.name])==null?void 0:vi.width)||d.rowWidth(ht==null?void 0:ht.name),textAlign:ht==null?void 0:ht.align,wordBreak:ht==null?void 0:ht.wrap}),data:ht,activeColumn:o.activeColumn,onUpdateRef:vr=>{var Ni,Bi;(Bi=(Ni=o.columnsWidth)==null?void 0:Ni[ht==null?void 0:ht.name])!=null&&Bi.ref||(o.columnsWidth[ht.name]={ref:vr})},onChangeActive:d.changeActiveColumn},null,8,["style","data","activeColumn","onUpdateRef","onChangeActive"])}),128)),(zt=(un=d.getActions)==null?void 0:un.filter(ht=>ht!=="add"&&ht!=="view"))!=null&&zt.length?(a.openBlock(),a.createElementBlock("th",EZ)):a.createCommentVNode("",!0)])]),a.createElementVNode("tbody",CZ,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList((Bt=o.tableData)==null?void 0:Bt.rows,(ht,Tr)=>{var vi,vr,Ni,Bi,je,si,fr,oi,Vi,qe,Lt,At,wr,Gr;return a.openBlock(),a.createElementBlock("tr",{key:(ht==null?void 0:ht.id)||Tr,class:a.normalizeClass({"bg-gray-100":((vr=(vi=t.$route)==null?void 0:vi.query)==null?void 0:vr.card)===(ht==null?void 0:ht.id),"odd:bg-gray-50":((Bi=(Ni=t.$route)==null?void 0:Ni.query)==null?void 0:Bi.card)!==(ht==null?void 0:ht.id)})},[a.createElementVNode("td",{class:a.normalizeClass(["px-1 py-2.5 pr-5",[(je=d.columns[0])!=null&&je.align?`text-${((si=d.columns[0])==null?void 0:si.align)||"left"}`:""]]),onClick:Et=>d.changeActiveCardInfo(ht==null?void 0:ht.id)},[a.createElementVNode("button",{onClick:Et=>{d.pushToCard(ht==null?void 0:ht.id),d.pushToLinkCard(d.columns[0],ht)},class:a.normalizeClass(["font-medium text-start",[...d.getCustomStyles(d.columns[0]),((fr=this.tableData)==null?void 0:fr.card)===!1?"":` text-${d.color}-800 decoration-2 focus:outline-none focus:underline hover:text-${d.color}-700 hover:underline`]])},[a.createVNode(Q,{row:ht,column:d.columns[0],table:n.table,onUpdateTable:d.getTableData},null,8,["row","column","table","onUpdateTable"])],10,TZ)],10,SZ),(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList((oi=d.columns)==null?void 0:oi.slice(1),Et=>(a.openBlock(),a.createElementBlock("td",{onClick:zi=>{d.changeActiveCardInfo(ht==null?void 0:ht.id),d.pushToLinkCard(Et,ht)},class:a.normalizeClass(["px-1 py-2.5 pr-5",d.getCustomStyles(Et)]),key:Et.name},[a.createVNode(Q,{row:ht,column:Et,table:n.table,onUpdateTable:d.getTableData},null,8,["row","column","table","onUpdateTable"])],10,AZ))),128)),(qe=(Vi=d.getActions)==null?void 0:Vi.filter(Et=>Et!=="add"&&Et!=="view"))!=null&&qe.length?(a.openBlock(),a.createElementBlock("td",{key:0,class:a.normalizeClass(["text-center sticky right-0 w-[80px] px-[10px]",{"bg-gray-50":((At=(Lt=t.$route)==null?void 0:Lt.query)==null?void 0:At.card)===(ht==null?void 0:ht.id)||!(Tr%2),"bg-white":((Gr=(wr=t.$route)==null?void 0:wr.query)==null?void 0:Gr.card)!==(ht==null?void 0:ht.id)&&Tr%2}])},[a.createVNode(me,{actions:d.getActions,isForm:d.isForm,item:ht,table:n.table,onUpdateTable:d.getTableData},null,8,["actions","isForm","item","table","onUpdateTable"])],2)):a.createCommentVNode("",!0)],2)}),128))]),a.createVNode(Ee,{columns:d.columns,agg:(_n=o.tableData)==null?void 0:_n.agg},null,8,["columns","agg"])],2))])],4)],2),a.createElementVNode("div",DZ,[a.createElementVNode("div",MZ,[a.createElementVNode("p",IZ,[a.createElementVNode("span",PZ,[a.createTextVNode(" Об'єктів: "+a.toDisplayString(Intl.NumberFormat("ua").format(o.limit<((Ce=o.tableData)==null?void 0:Ce.filtered)?o.limit:((zn=o.tableData)==null?void 0:zn.filtered)||0))+" ",1),o.limit<((Vs=o.tableData)==null?void 0:Vs.filtered)?(a.openBlock(),a.createElementBlock("span",RZ," з "+a.toDisplayString(Intl.NumberFormat("ua").format(((tn=o.tableData)==null?void 0:tn.filtered)||0)),1)):a.createCommentVNode("",!0)])])]),Math.ceil((On=o.tableData)==null?void 0:On.filtered)>10?(a.openBlock(),a.createBlock(we,{key:0,class:"justify-end mr-10","default-page":parseInt(d.defaultPage),total:((zs=o.tableData)==null?void 0:zs.filtered)||0,onPageChange:d.handlePageChange,pageSize:parseInt(o.limit),pageSizes:[10,20,50,100]},null,8,["default-page","total","onPageChange","pageSize"])):a.createCommentVNode("",!0)])],2),a.createVNode(a.Transition,{name:"slide-fade"},{default:a.withCtx(()=>{var ht;return[o.isVisibleCardInfo?(a.openBlock(),a.createBlock(Re,{key:0,table:n.table,columns:(ht=o.tableData)==null?void 0:ht.columns,row:d.activeCardRow},null,8,["table","columns","row"])):a.createCommentVNode("",!0)]}),_:1})])])],4)])}const BZ={components:{AdminTable:Le(fZ,[["render",NZ],["__scopeId","data-v-ca941f11"]])},data(){return{table:!1,interface:"",search:""}},watch:{$route:{async handler(){ii!=null&&ii.value||await this.getMenu(),await this.checkPageType()},deep:!0},title(t){var e;t&&(document.title=(((e=et.value)==null?void 0:e.titlePrefix)||"")+t)}},async mounted(){await this.checkPageType()},methods:{flattenMenu(t){const e=[];return t.forEach(n=>{n.menu?e.push(...this.flattenMenu(n.menu)):e.push(n)}),e},async checkPageType(){var r,o;const t=this.flattenMenu(ii.value);t!=null&&t.length||this.$router.replace("/404");const e=t==null?void 0:t.find(d=>{var p,c;return(d==null?void 0:d.path)==((c=(p=this.$route)==null?void 0:p.params)==null?void 0:c.catchAll)});this.title=e==null?void 0:e.ua,e||this.$router.replace("/404"),e!=null&&e.component&&this.$router.replace((o=(r=this.$route)==null?void 0:r.params)==null?void 0:o.catchAll);const n=e==null?void 0:e.table;this.table=n||!1,this.search=(e==null?void 0:e.search)||"",!n&&this.getInterface()},async getInterface(){var t,e;try{const{data:n}=await Oe.get(`/api/template/interface/${((e=(t=this.$route)==null?void 0:t.params)==null?void 0:e.catchAll)||""}`);this.interface=n||""}catch{this.interface=""}}}},VZ=["innerHTML"];function zZ(t,e,n,r,o,d){const p=a.resolveComponent("AdminTable");return o.table?(a.openBlock(),a.createBlock(p,{key:0,table:o.table,title:t.title,search:o.search},null,8,["table","title","search"])):(a.openBlock(),a.createElementBlock("div",{key:1,class:"w-full bg-gray-50",style:{height:"calc(100vh - 120px)"},innerHTML:o.interface},null,8,VZ))}const OZ=Object.freeze(Object.defineProperty({__proto__:null,default:Le(BZ,[["render",zZ]])},Symbol.toStringTag,{value:"Module"}));return N2});
@@ -1,5 +1,5 @@
1
1
  import { resolveComponent as e, createBlock as r, openBlock as t } from "vue";
2
- import { _ as c } from "./import-file-BJjaVke8.js";
2
+ import { _ as c } from "./import-file-BztF-VRo.js";
3
3
  const n = {};
4
4
  function s(_, p, a, i, f, m) {
5
5
  const o = e("router-view");
@@ -0,0 +1,154 @@
1
+ import { _ as $, f as h, u as k, s as V } from "./import-file-BztF-VRo.js";
2
+ import { resolveComponent as j, createElementBlock as g, openBlock as f, createElementVNode as d, createCommentVNode as b, normalizeClass as y, normalizeStyle as x, createBlock as E } from "vue";
3
+ const O = {
4
+ data() {
5
+ return {
6
+ formValues: {},
7
+ scheme: null,
8
+ table: "",
9
+ token: "",
10
+ style: null
11
+ };
12
+ },
13
+ mounted() {
14
+ this.getFormScheme();
15
+ },
16
+ computed: {
17
+ color() {
18
+ return V.value.buttonColor || "blue";
19
+ }
20
+ },
21
+ methods: {
22
+ flattenMenu(t) {
23
+ const e = [];
24
+ return t.forEach((o) => {
25
+ o.menu ? e.push(...this.flattenMenu(o.menu)) : e.push(o);
26
+ }), e;
27
+ },
28
+ async getFormScheme() {
29
+ var c, s, r, m, l, u;
30
+ const t = this.flattenMenu(k.value);
31
+ t != null && t.length || this.$router.replace("/404");
32
+ const e = t == null ? void 0 : t.find((n) => {
33
+ var a, i;
34
+ return (n == null ? void 0 : n.path) == ((i = (a = this.$route) == null ? void 0 : a.query) == null ? void 0 : i.table);
35
+ });
36
+ e || this.$router.replace("/404");
37
+ const o = e == null ? void 0 : e.table;
38
+ this.table = o;
39
+ try {
40
+ const {
41
+ data: { form: n }
42
+ } = await h.get(`/api/template/table/${o}`), { data: a } = await h.get(
43
+ `/api/table/${this.table}/${(s = (c = this.$route) == null ? void 0 : c.query) == null ? void 0 : s.id}`
44
+ );
45
+ this.formValues = a || {};
46
+ const { data: i } = await h.get(`/api/form/${n}${(m = (r = this.$route) == null ? void 0 : r.query) != null && m.id ? `/${(u = (l = this.$route) == null ? void 0 : l.query) == null ? void 0 : u.id}` : ""}`);
47
+ this.scheme = (i == null ? void 0 : i.schema) || i, this.style = (i == null ? void 0 : i.style) || null, this.token = (i == null ? void 0 : i.token) || "";
48
+ } catch {
49
+ }
50
+ },
51
+ async onlyEditObject() {
52
+ var e, o, c, s, r, m, l, u, n, a, i;
53
+ const t = (o = (e = this.$refs.form) == null ? void 0 : e.$refs) == null ? void 0 : o.form;
54
+ try {
55
+ await t.doValidation(), await h.put(`/api/table/${this.token}`, this.formValues), await this.$notify({
56
+ title: "Успішно!",
57
+ message: "Об'єкт успішно створено",
58
+ type: "success"
59
+ });
60
+ } catch (p) {
61
+ const w = ((c = p == null ? void 0 : p.response) == null ? void 0 : c.data) || "";
62
+ let v = ((l = (m = (r = (s = Object.entries(t == null ? void 0 : t.formErrors)) == null ? void 0 : s[0]) == null ? void 0 : r[1]) == null ? void 0 : m[0]) == null ? void 0 : l.message) === "Це поле обов'язкове" ? "Заповніть обов'язкові поля" : (i = (a = (n = (u = Object.entries(t == null ? void 0 : t.formErrors)) == null ? void 0 : u[0]) == null ? void 0 : n[1]) == null ? void 0 : a[0]) == null ? void 0 : i.message;
63
+ this.$notify({
64
+ title: "Помилка!",
65
+ message: w || v || "Сталася помилка валідаціі",
66
+ type: "error"
67
+ });
68
+ }
69
+ },
70
+ getGroupedErrorNotification(t, e) {
71
+ if (!t || !e) return "";
72
+ const o = {};
73
+ return Object.entries(t).forEach(([s, r]) => {
74
+ var l;
75
+ const m = ((l = e[s]) == null ? void 0 : l.ua) || s;
76
+ r.forEach((u) => {
77
+ const n = u.message;
78
+ o[n] || (o[n] = []), o[n].push(`"${m}"`);
79
+ });
80
+ }), Object.entries(o).map(([s, r]) => `<b>${s}:</b> ${r.join(", ")}`).join("<br>") || "Сталася помилка валідації";
81
+ },
82
+ async editObjectAndRedirect(t = !0) {
83
+ var o, c;
84
+ const e = (c = (o = this.$refs.form) == null ? void 0 : o.$refs) == null ? void 0 : c.form;
85
+ try {
86
+ t && await e.doValidation(), await h.put(
87
+ `/api/table/${this.token}${t ? "" : "?draft=1"}`,
88
+ this.formValues
89
+ ), await this.$router.back(), await this.$notify({
90
+ title: "Успішно!",
91
+ message: "Об'єкт успішно створено",
92
+ type: "success"
93
+ });
94
+ } catch {
95
+ const r = this.getGroupedErrorNotification(
96
+ e == null ? void 0 : e.formErrors,
97
+ e == null ? void 0 : e.scheme
98
+ );
99
+ this.$notify({
100
+ title: "Помилка!",
101
+ message: r,
102
+ type: "error"
103
+ });
104
+ }
105
+ }
106
+ }
107
+ }, C = { class: "bg-gray-100 lg:w-[calc(100vw-260px)] w-[100vw]" }, M = { class: "h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white rounded-xl" }, _ = { class: "flex items-center gap-[6px]" }, N = { class: "bg-white w-full rounded-xl" };
108
+ function A(t, e, o, c, s, r) {
109
+ var l, u, n;
110
+ const m = j("VsFormWithNavigation");
111
+ return f(), g("div", C, [
112
+ d("div", M, [
113
+ e[4] || (e[4] = d("h2", { class: "text-xl font-medium" }, "Редагувати", -1)),
114
+ d("div", _, [
115
+ d("button", {
116
+ onClick: e[0] || (e[0] = (a) => t.$router.back()),
117
+ class: "flex items-center px-3 py-2 text-sm font-medium text-gray-800 duration-300 bg-white border border-gray-100 rounded-lg shadow gap-x-2 focus:outline-none hover:bg-gray-50 hover:border-gray-100"
118
+ }, " Скасувати "),
119
+ (l = s.style) != null && l.draft ? (f(), g("button", {
120
+ key: 0,
121
+ onClick: e[1] || (e[1] = (a) => r.editObjectAndRedirect(!1)),
122
+ class: y(`inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-${r.color}-700 border border-transparent rounded-lg gap-x-2 hover:bg-${r.color}-800 hover:text-white`)
123
+ }, " Зберегти DRAFT ", 2)) : b("", !0),
124
+ d("button", {
125
+ onClick: e[2] || (e[2] = (...a) => r.editObjectAndRedirect && r.editObjectAndRedirect(...a)),
126
+ class: y(`inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-${r.color}-700 border border-transparent rounded-lg gap-x-2 hover:bg-${r.color}-800 hover:text-white`)
127
+ }, " Зберегти ", 2)
128
+ ])
129
+ ]),
130
+ d("div", {
131
+ style: x({
132
+ height: ((u = t.$adminSettings) == null ? void 0 : u.header) === !1 ? "calc(100vh - 91px)" : "calc(100vh - 150px)"
133
+ }),
134
+ class: "bg-gray-100 p-[20px] flex lg:w-[calc(100vw-260px)] w-[100vw] overflow-hidden"
135
+ }, [
136
+ d("div", N, [
137
+ s.scheme ? (f(), E(m, {
138
+ key: 0,
139
+ ref: "form",
140
+ scheme: s.scheme,
141
+ columns: (n = s.style) == null ? void 0 : n.columns,
142
+ style: x(s.style),
143
+ modelValue: s.formValues,
144
+ "onUpdate:modelValue": e[3] || (e[3] = (a) => s.formValues = a),
145
+ class: "p-[20px] h-full"
146
+ }, null, 8, ["scheme", "columns", "style", "modelValue"])) : b("", !0)
147
+ ])
148
+ ], 4)
149
+ ]);
150
+ }
151
+ const S = /* @__PURE__ */ $(O, [["render", A]]);
152
+ export {
153
+ S as default
154
+ };
@@ -3540,27 +3540,27 @@ const cM = [
3540
3540
  {
3541
3541
  name: "edit",
3542
3542
  path: "/edit",
3543
- component: () => import("./edit-page-C_BUGbHd.js")
3543
+ component: () => import("./edit-page-BaxTTwrx.js")
3544
3544
  },
3545
3545
  {
3546
3546
  name: "add",
3547
3547
  path: "/add",
3548
- component: () => import("./add-page-Hjrie81q.js")
3548
+ component: () => import("./add-page-DehCZrQY.js")
3549
3549
  },
3550
3550
  {
3551
3551
  path: "/profile",
3552
3552
  name: "profile",
3553
- component: () => import("./profile-page-Dt-P9hyg.js")
3553
+ component: () => import("./profile-page-ChdVgL-n.js")
3554
3554
  },
3555
3555
  {
3556
3556
  name: "card-view",
3557
3557
  path: "/card",
3558
- component: () => import("./card-view-CUEzdvrO.js"),
3558
+ component: () => import("./card-view-BKWa2dgn.js"),
3559
3559
  children: [
3560
3560
  {
3561
3561
  name: "table",
3562
3562
  path: ":table",
3563
- component: () => import("./card-view-CUEzdvrO.js"),
3563
+ component: () => import("./card-view-BKWa2dgn.js"),
3564
3564
  children: [
3565
3565
  {
3566
3566
  name: "card",
@@ -3621,14 +3621,14 @@ const pM = /* @__PURE__ */ gt(uM, [["render", fM]]), mM = (t) => {
3621
3621
  {
3622
3622
  path: "/",
3623
3623
  name: "home",
3624
- component: () => import("./admin-view-BGZFxX9d.js"),
3624
+ component: () => import("./admin-view-ClAZtyxx.js"),
3625
3625
  children: [
3626
3626
  ...t,
3627
3627
  ...e,
3628
3628
  // { path: '/', redirect: '/home' },
3629
3629
  {
3630
3630
  path: "/:catchAll(.*)",
3631
- component: () => import("./admin-interface-FL4kR5LT.js")
3631
+ component: () => import("./admin-interface-B08mjpvA.js")
3632
3632
  }
3633
3633
  ]
3634
3634
  }
@@ -1,4 +1,4 @@
1
- import { _ as u, f as a } from "./import-file-BJjaVke8.js";
1
+ import { _ as u, f as a } from "./import-file-BztF-VRo.js";
2
2
  import "./user-DCzCj0wb.js";
3
3
  import { resolveComponent as m, createElementBlock as p, openBlock as c, createElementVNode as r, createTextVNode as d, toDisplayString as b, createBlock as h, createCommentVNode as f } from "vue";
4
4
  const g = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengis/admin",
3
- "version": "0.4.42",
3
+ "version": "0.4.43",
4
4
  "description": "This project Softpro Admin",
5
5
  "main": "dist/admin.js",
6
6
  "type": "module",
@@ -1,154 +0,0 @@
1
- import { _ as $, f as d, u as k, s as V } from "./import-file-BJjaVke8.js";
2
- import { resolveComponent as j, createElementBlock as g, openBlock as p, createElementVNode as m, createCommentVNode as b, normalizeClass as x, normalizeStyle as y, createBlock as E } from "vue";
3
- const O = {
4
- data() {
5
- return {
6
- formValues: {},
7
- scheme: null,
8
- table: "",
9
- token: "",
10
- style: null
11
- };
12
- },
13
- mounted() {
14
- this.getFormScheme();
15
- },
16
- computed: {
17
- color() {
18
- return V.value.buttonColor || "blue";
19
- }
20
- },
21
- methods: {
22
- flattenMenu(t) {
23
- const e = [];
24
- return t.forEach((n) => {
25
- n.menu ? e.push(...this.flattenMenu(n.menu)) : e.push(n);
26
- }), e;
27
- },
28
- async getFormScheme() {
29
- var a, o;
30
- const t = this.flattenMenu(k.value);
31
- t != null && t.length || this.$router.replace("/404");
32
- const e = t == null ? void 0 : t.find((s) => {
33
- var i, r;
34
- return (s == null ? void 0 : s.path) == ((r = (i = this.$route) == null ? void 0 : i.query) == null ? void 0 : r.table);
35
- });
36
- e || this.$router.replace("/404");
37
- const n = e == null ? void 0 : e.table;
38
- this.table = n;
39
- try {
40
- const {
41
- data: { form: s }
42
- } = await d.get(`/api/template/table/${n}`), { data: i } = await d.get(
43
- `/api/table/${this.table}/${(o = (a = this.$route) == null ? void 0 : a.query) == null ? void 0 : o.id}`
44
- );
45
- this.formValues = i || {};
46
- const { data: r } = await d.get(`/api/form/${s}`);
47
- this.scheme = (r == null ? void 0 : r.schema) || r, this.style = (r == null ? void 0 : r.style) || null, this.token = (r == null ? void 0 : r.token) || "";
48
- } catch {
49
- }
50
- },
51
- async onlyEditObject() {
52
- var e, n, a, o, s, i, r, u, l, c, f;
53
- const t = (n = (e = this.$refs.form) == null ? void 0 : e.$refs) == null ? void 0 : n.form;
54
- try {
55
- await t.doValidation(), await d.put(`/api/table/${this.token}`, this.formValues), await this.$notify({
56
- title: "Успішно!",
57
- message: "Об'єкт успішно створено",
58
- type: "success"
59
- });
60
- } catch (h) {
61
- const w = ((a = h == null ? void 0 : h.response) == null ? void 0 : a.data) || "";
62
- let v = ((r = (i = (s = (o = Object.entries(t == null ? void 0 : t.formErrors)) == null ? void 0 : o[0]) == null ? void 0 : s[1]) == null ? void 0 : i[0]) == null ? void 0 : r.message) === "Це поле обов'язкове" ? "Заповніть обов'язкові поля" : (f = (c = (l = (u = Object.entries(t == null ? void 0 : t.formErrors)) == null ? void 0 : u[0]) == null ? void 0 : l[1]) == null ? void 0 : c[0]) == null ? void 0 : f.message;
63
- this.$notify({
64
- title: "Помилка!",
65
- message: w || v || "Сталася помилка валідаціі",
66
- type: "error"
67
- });
68
- }
69
- },
70
- getGroupedErrorNotification(t, e) {
71
- if (!t || !e) return "";
72
- const n = {};
73
- return Object.entries(t).forEach(([o, s]) => {
74
- var r;
75
- const i = ((r = e[o]) == null ? void 0 : r.ua) || o;
76
- s.forEach((u) => {
77
- const l = u.message;
78
- n[l] || (n[l] = []), n[l].push(`"${i}"`);
79
- });
80
- }), Object.entries(n).map(([o, s]) => `<b>${o}:</b> ${s.join(", ")}`).join("<br>") || "Сталася помилка валідації";
81
- },
82
- async editObjectAndRedirect(t = !0) {
83
- var n, a;
84
- const e = (a = (n = this.$refs.form) == null ? void 0 : n.$refs) == null ? void 0 : a.form;
85
- try {
86
- t && await e.doValidation(), await d.put(
87
- `/api/table/${this.token}${t ? "" : "?draft=1"}`,
88
- this.formValues
89
- ), await this.$router.back(), await this.$notify({
90
- title: "Успішно!",
91
- message: "Об'єкт успішно створено",
92
- type: "success"
93
- });
94
- } catch {
95
- const s = this.getGroupedErrorNotification(
96
- e == null ? void 0 : e.formErrors,
97
- e == null ? void 0 : e.scheme
98
- );
99
- this.$notify({
100
- title: "Помилка!",
101
- message: s,
102
- type: "error"
103
- });
104
- }
105
- }
106
- }
107
- }, C = { class: "bg-gray-100 lg:w-[calc(100vw-260px)] w-[100vw]" }, M = { class: "h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white rounded-xl" }, _ = { class: "flex items-center gap-[6px]" }, N = { class: "bg-white w-full rounded-xl" };
108
- function A(t, e, n, a, o, s) {
109
- var r, u, l;
110
- const i = j("VsFormWithNavigation");
111
- return p(), g("div", C, [
112
- m("div", M, [
113
- e[4] || (e[4] = m("h2", { class: "text-xl font-medium" }, "Редагувати", -1)),
114
- m("div", _, [
115
- m("button", {
116
- onClick: e[0] || (e[0] = (c) => t.$router.back()),
117
- class: "flex items-center px-3 py-2 text-sm font-medium text-gray-800 duration-300 bg-white border border-gray-100 rounded-lg shadow gap-x-2 focus:outline-none hover:bg-gray-50 hover:border-gray-100"
118
- }, " Скасувати "),
119
- (r = o.style) != null && r.draft ? (p(), g("button", {
120
- key: 0,
121
- onClick: e[1] || (e[1] = (c) => s.editObjectAndRedirect(!1)),
122
- class: x(`inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-${s.color}-700 border border-transparent rounded-lg gap-x-2 hover:bg-${s.color}-800 hover:text-white`)
123
- }, " Зберегти DRAFT ", 2)) : b("", !0),
124
- m("button", {
125
- onClick: e[2] || (e[2] = (...c) => s.editObjectAndRedirect && s.editObjectAndRedirect(...c)),
126
- class: x(`inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-${s.color}-700 border border-transparent rounded-lg gap-x-2 hover:bg-${s.color}-800 hover:text-white`)
127
- }, " Зберегти ", 2)
128
- ])
129
- ]),
130
- m("div", {
131
- style: y({
132
- height: ((u = t.$adminSettings) == null ? void 0 : u.header) === !1 ? "calc(100vh - 91px)" : "calc(100vh - 150px)"
133
- }),
134
- class: "bg-gray-100 p-[20px] flex lg:w-[calc(100vw-260px)] w-[100vw] overflow-hidden"
135
- }, [
136
- m("div", N, [
137
- o.scheme ? (p(), E(i, {
138
- key: 0,
139
- ref: "form",
140
- scheme: o.scheme,
141
- columns: (l = o.style) == null ? void 0 : l.columns,
142
- style: y(o.style),
143
- modelValue: o.formValues,
144
- "onUpdate:modelValue": e[3] || (e[3] = (c) => o.formValues = c),
145
- class: "p-[20px] h-full"
146
- }, null, 8, ["scheme", "columns", "style", "modelValue"])) : b("", !0)
147
- ])
148
- ], 4)
149
- ]);
150
- }
151
- const B = /* @__PURE__ */ $(O, [["render", A]]);
152
- export {
153
- B as default
154
- };