@opengis/gis 0.2.102 → 0.2.104

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { defineComponent as ve, computed as P, openBlock as c, createElementBlock as h, normalizeClass as Ee, renderSlot as Ut, createCommentVNode as Q, createElementVNode as o, createTextVNode as Se, toDisplayString as B, h as Co, mergeModels as Ht, defineAsyncComponent as ft, useModel as jt, ref as F, watch as re, createVNode as oe, unref as ae, withCtx as Ve, createStaticVNode as an, useSlots as _s, Fragment as se, renderList as ye, normalizeStyle as ct, withModifiers as nt, createBlock as pe, resolveDynamicComponent as Yt, withDirectives as Ue, onBeforeUnmount as qe, onMounted as He, resolveComponent as Zr, shallowRef as Gr, onUnmounted as so, provide as ks, inject as $s, vModelText as pt, getCurrentInstance as Jt, nextTick as lt, reactive as Tt, Teleport as Pt, Transition as zo, createSlots as Cs, toRef as Ss, resolveDirective as As, vShow as qt, vModelRadio as Ls, vModelSelect as rr, withKeys as lr } from "vue";
1
+ import { defineComponent as ve, computed as R, openBlock as c, createElementBlock as h, normalizeClass as Ee, renderSlot as Ut, createCommentVNode as Q, createElementVNode as o, createTextVNode as Se, toDisplayString as B, h as Co, mergeModels as Ht, defineAsyncComponent as ft, useModel as jt, ref as F, watch as re, createVNode as oe, unref as ae, withCtx as Ve, createStaticVNode as an, useSlots as _s, Fragment as se, renderList as ye, normalizeStyle as ct, withModifiers as nt, createBlock as pe, resolveDynamicComponent as Yt, withDirectives as Ue, onBeforeUnmount as qe, onMounted as He, resolveComponent as Zr, shallowRef as Gr, onUnmounted as so, provide as ks, inject as $s, vModelText as pt, getCurrentInstance as Jt, nextTick as lt, reactive as Tt, Teleport as Rt, Transition as zo, createSlots as Cs, toRef as Ss, resolveDirective as As, vShow as qt, vModelRadio as Ls, vModelSelect as rr, withKeys as lr } from "vue";
2
2
  import { useRoute as St, useRouter as zt } from "vue-router";
3
3
  import { notify as je, TooltipDirective as Ms, confirm as sr, VsPagination as Es } from "@opengis/core";
4
4
  import { VsInputArraySelect as Ts, VsInputMask as Fs } from "@opengis/form";
@@ -18,7 +18,7 @@ const Is = {
18
18
  title: { default: "" }
19
19
  },
20
20
  setup(e) {
21
- const t = e, n = P(() => t.variant === "table" ? "px-6 pb-4 pt-0 mt-0 flex flex-col gap-0 px-[25px] pt-[24px]" : "px-6 pb-4 pt-0 mt-0 flex flex-col gap-0 px-[25px] pt-[16px]"), r = P(() => t.variant === "form" ? "font-medium" : "");
21
+ const t = e, n = R(() => t.variant === "table" ? "px-6 pb-4 pt-0 mt-0 flex flex-col gap-0 px-[25px] pt-[24px]" : "px-6 pb-4 pt-0 mt-0 flex flex-col gap-0 px-[25px] pt-[16px]"), r = R(() => t.variant === "form" ? "font-medium" : "");
22
22
  return (l, i) => (c(), h("header", {
23
23
  class: Ee([n.value, "flex-shrink-0 pt"])
24
24
  }, [
@@ -54,10 +54,10 @@ const Is = {
54
54
  const ir = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Ns = (e) => e.replace(
55
55
  /^([A-Z])|[\s-_]+(\w)/g,
56
56
  (t, n, r) => r ? r.toUpperCase() : n.toLowerCase()
57
- ), Ps = (e) => {
57
+ ), Rs = (e) => {
58
58
  const t = Ns(e);
59
59
  return t.charAt(0).toUpperCase() + t.slice(1);
60
- }, Rs = (...e) => e.filter((t, n, r) => !!t && t.trim() !== "" && r.indexOf(t) === n).join(" ").trim();
60
+ }, Ps = (...e) => e.filter((t, n, r) => !!t && t.trim() !== "" && r.indexOf(t) === n).join(" ").trim();
61
61
  /**
62
62
  * @license lucide-vue-next v0.514.0 - ISC
63
63
  *
@@ -89,9 +89,9 @@ const Os = ({ size: e, strokeWidth: t = 2, absoluteStrokeWidth: n, color: r, ico
89
89
  height: e || Wn.height,
90
90
  stroke: r || Wn.stroke,
91
91
  "stroke-width": n ? Number(t) * 24 / Number(e) : t,
92
- class: Rs(
92
+ class: Ps(
93
93
  "lucide",
94
- ...i ? [`lucide-${ir(Ps(i))}-icon`, `lucide-${ir(i)}`] : ["lucide-icon"]
94
+ ...i ? [`lucide-${ir(Rs(i))}-icon`, `lucide-${ir(i)}`] : ["lucide-icon"]
95
95
  ),
96
96
  ...a
97
97
  },
@@ -533,7 +533,7 @@ const oi = Oe("square", [
533
533
  * This source code is licensed under the ISC license.
534
534
  * See the LICENSE file in the root directory of this source tree.
535
535
  */
536
- const Po = Oe("trash-2", [
536
+ const Ro = Oe("trash-2", [
537
537
  ["path", { d: "M3 6h18", key: "d0wm0j" }],
538
538
  ["path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6", key: "4alrt4" }],
539
539
  ["path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2", key: "v07s0e" }],
@@ -885,7 +885,7 @@ function ji(e, t) {
885
885
  }, null, -1)
886
886
  ])]);
887
887
  }
888
- const zi = /* @__PURE__ */ Fe(Fi, [["render", ji]]), Ni = {}, Pi = {
888
+ const zi = /* @__PURE__ */ Fe(Fi, [["render", ji]]), Ni = {}, Ri = {
889
889
  xmlns: "http://www.w3.org/2000/svg",
890
890
  width: "24",
891
891
  height: "24",
@@ -898,12 +898,12 @@ const zi = /* @__PURE__ */ Fe(Fi, [["render", ji]]), Ni = {}, Pi = {
898
898
  class: "w-4 h-4 text-gray-700 lucide lucide-file-text",
899
899
  __v0_r: "0,5361,5384"
900
900
  };
901
- function Ri(e, t) {
902
- return c(), h("svg", Pi, [...t[0] || (t[0] = [
901
+ function Pi(e, t) {
902
+ return c(), h("svg", Ri, [...t[0] || (t[0] = [
903
903
  an('<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path>', 5)
904
904
  ])]);
905
905
  }
906
- const Oi = /* @__PURE__ */ Fe(Ni, [["render", Ri]]), Di = {}, Vi = {
906
+ const Oi = /* @__PURE__ */ Fe(Ni, [["render", Pi]]), Di = {}, Vi = {
907
907
  xmlns: "http://www.w3.org/2000/svg",
908
908
  width: "24",
909
909
  height: "24",
@@ -1135,7 +1135,7 @@ const wa = /* @__PURE__ */ Fe(ha, [["render", ba]]), dr = {
1135
1135
  }, Na = {
1136
1136
  key: 1,
1137
1137
  class: "text-gray-500 text-sm"
1138
- }, Pa = { key: 3 }, Ra = { class: "px-6 py-4" }, Oa = { key: 1 }, Da = ["colspan"], Va = /* @__PURE__ */ ve({
1138
+ }, Ra = { key: 3 }, Pa = { class: "px-6 py-4" }, Oa = { key: 1 }, Da = ["colspan"], Va = /* @__PURE__ */ ve({
1139
1139
  __name: "vs-datatable",
1140
1140
  props: /* @__PURE__ */ Ht({
1141
1141
  columnsScheme: {},
@@ -1157,14 +1157,14 @@ const wa = /* @__PURE__ */ Fe(ha, [["render", ba]]), dr = {
1157
1157
  p.value = !0;
1158
1158
  }
1159
1159
  });
1160
- const u = P({
1160
+ const u = R({
1161
1161
  get() {
1162
1162
  return Array.isArray(i.value) ? i.value : i.value && Array.isArray(i.value.columns) ? i.value.columns : [];
1163
1163
  },
1164
1164
  set($) {
1165
1165
  Array.isArray(i.value) ? i.value = $ : i.value && Array.isArray(i.value.columns) && (i.value.columns = $);
1166
1166
  }
1167
- }), f = P(() => {
1167
+ }), f = R(() => {
1168
1168
  const $ = s.columnsScheme.map((C) => C.key);
1169
1169
  return $.includes("name") && $.includes("label") || $.includes("id") && $.includes("label") ? [
1170
1170
  {
@@ -1294,7 +1294,7 @@ const wa = /* @__PURE__ */ Fe(ha, [["render", ba]]), dr = {
1294
1294
  ])), [
1295
1295
  [ae(ui)]
1296
1296
  ]),
1297
- o("p", Ia, B(A.label || A.ua || A.name || A.id), 1)
1297
+ o("p", Ia, B(A.ua || A.label || A.name || A.id), 1)
1298
1298
  ])
1299
1299
  ])) : (c(), h(se, { key: 1 }, [
1300
1300
  V.slot && x(V.slot) ? Ut($.$slots, V.slot, {
@@ -1309,10 +1309,10 @@ const wa = /* @__PURE__ */ Fe(ha, [["render", ba]]), dr = {
1309
1309
  }, null, 2)
1310
1310
  ])) : ["format", "type", "meta"].includes(V.key) ? (c(), h(se, { key: 2 }, [
1311
1311
  A[V.key] ? (c(), h("span", za, B(A[V.key]), 1)) : (c(), h("span", Na, "Не вказано"))
1312
- ], 64)) : (c(), h("span", Pa, B(A[V.key]), 1))
1312
+ ], 64)) : (c(), h("span", Ra, B(A[V.key]), 1))
1313
1313
  ], 64))
1314
1314
  ]))), 128)),
1315
- o("td", Ra, [
1315
+ o("td", Pa, [
1316
1316
  oe(ai, {
1317
1317
  columns: u.value,
1318
1318
  "onUpdate:columns": C[1] || (C[1] = (V) => u.value = V),
@@ -1365,7 +1365,7 @@ const wa = /* @__PURE__ */ Fe(ha, [["render", ba]]), dr = {
1365
1365
  }, 8, ["visible"])
1366
1366
  ], 64));
1367
1367
  }
1368
- }), en = /* @__PURE__ */ Fe(Va, [["__scopeId", "data-v-93fedaf0"]]), Ba = { class: "p-4 text-[13px]" }, Ua = { class: "grid grid-cols-2 gap-x-6 gap-y-2" }, qa = ["id", "checked", "onChange"], Ha = { class: "ml-2 flex-1 min-w-0 flex items-center gap-2" }, Wa = { class: "font-medium text-gray-900 truncate" }, Ya = { class: "text-xs text-gray-500" }, Za = {
1368
+ }), en = /* @__PURE__ */ Fe(Va, [["__scopeId", "data-v-25566600"]]), Ba = { class: "p-4 text-[13px]" }, Ua = { class: "grid grid-cols-2 gap-x-6 gap-y-2" }, qa = ["id", "checked", "onChange"], Ha = { class: "ml-2 flex-1 min-w-0 flex items-center gap-2" }, Wa = { class: "font-medium text-gray-900 truncate" }, Ya = { class: "text-xs text-gray-500" }, Za = {
1369
1369
  key: 0,
1370
1370
  class: "text-xs text-[#B2C9D6]"
1371
1371
  }, Ga = { class: "flex justify-end gap-2 p-4 border-t w-full" }, wn = /* @__PURE__ */ ve({
@@ -1386,16 +1386,16 @@ const wa = /* @__PURE__ */ Fe(ha, [["render", ba]]), dr = {
1386
1386
  setup(e, { emit: t }) {
1387
1387
  const n = jt(e, "visible"), r = jt(e, "selection"), l = e, i = t, s = ft(
1388
1388
  () => import("@opengis/core").then((M) => M.VsModal)
1389
- ), a = P(
1389
+ ), a = R(
1390
1390
  () => Array.isArray(l.fields) ? l.fields.filter(Boolean) : []
1391
- ), p = (M) => (M == null ? void 0 : M.name) ?? (M == null ? void 0 : M.id) ?? (M == null ? void 0 : M.key) ?? (M == null ? void 0 : M.code) ?? (M == null ? void 0 : M.field) ?? (M == null ? void 0 : M.value) ?? "", v = (M) => String(p(M) ?? "").trim(), b = (M) => (M == null ? void 0 : M.title) ?? (M == null ? void 0 : M.label) ?? v(M), m = (M) => String((M == null ? void 0 : M.type) ?? "").trim(), x = P(
1391
+ ), p = (M) => (M == null ? void 0 : M.name) ?? (M == null ? void 0 : M.id) ?? (M == null ? void 0 : M.key) ?? (M == null ? void 0 : M.code) ?? (M == null ? void 0 : M.field) ?? (M == null ? void 0 : M.value) ?? "", v = (M) => String(p(M) ?? "").trim(), b = (M) => (M == null ? void 0 : M.title) ?? (M == null ? void 0 : M.label) ?? v(M), m = (M) => String((M == null ? void 0 : M.type) ?? "").trim(), x = R(
1392
1392
  () => new Set(r.value.map((M) => String(M ?? "").trim()))
1393
1393
  ), u = (M) => x.value.has(v(M)), f = (M) => {
1394
1394
  const L = v(M);
1395
1395
  if (!L) return;
1396
1396
  const k = new Set(x.value);
1397
1397
  k.has(L) ? k.delete(L) : k.add(L), r.value = Array.from(k);
1398
- }, y = P(() => l.confirmText || "Імпортувати"), d = P(() => l.cancelText || "Скасувати"), g = () => {
1398
+ }, y = R(() => l.confirmText || "Імпортувати"), d = R(() => l.cancelText || "Скасувати"), g = () => {
1399
1399
  n.value = !1, i("cancel");
1400
1400
  }, _ = () => {
1401
1401
  i("confirm"), n.value = !1;
@@ -1492,20 +1492,20 @@ const Ka = { class: "vs-form" }, Xa = { class: "vs-form__body auto-rows-max cont
1492
1492
  }),
1493
1493
  emits: ["update:data", "update:form"],
1494
1494
  setup(e) {
1495
- const t = jt(e, "data"), n = jt(e, "form"), r = e, l = P(() => Array.isArray(r.fields) ? r.fields : []), i = (_) => Xt(_ || {}), s = ft(() => import("@opengis/form")), a = F(), p = F(!1), v = F([]), b = () => {
1495
+ const t = jt(e, "data"), n = jt(e, "form"), r = e, l = R(() => Array.isArray(r.fields) ? r.fields : []), i = (_) => Xt(_ || {}), s = ft(() => import("@opengis/form")), a = F(), p = F(!1), v = F([]), b = () => {
1496
1496
  const _ = x.value.map((M) => i(M)).filter((M) => M.length > 0);
1497
1497
  v.value = [..._], p.value = !0;
1498
- }, m = P(
1498
+ }, m = R(
1499
1499
  () => {
1500
1500
  var _, M;
1501
1501
  return ((_ = t.value) == null ? void 0 : _.token) || ((M = t.value) == null ? void 0 : M.id) || "register-form";
1502
1502
  }
1503
- ), x = P({
1503
+ ), x = R({
1504
1504
  get: () => (t.value || (t.value = {}), Array.isArray(t.value.columns) || (t.value.columns = []), t.value.columns),
1505
1505
  set: (_) => {
1506
1506
  t.value || (t.value = {}), t.value.columns = Array.isArray(_) ? _ : [];
1507
1507
  }
1508
- }), u = P({
1508
+ }), u = R({
1509
1509
  get: () => t.value || {},
1510
1510
  set: (_) => {
1511
1511
  var L;
@@ -1715,10 +1715,10 @@ const Ka = { class: "vs-form" }, Xa = { class: "vs-form__body auto-rows-max cont
1715
1715
  }),
1716
1716
  emits: ["update:data", "update:form"],
1717
1717
  setup(e) {
1718
- const t = jt(e, "data"), n = jt(e, "form"), r = e, l = P(() => Array.isArray(r.fields) ? r.fields : []), i = (u) => Xt(u || {}), s = F(!1), a = F([]), p = () => {
1718
+ const t = jt(e, "data"), n = jt(e, "form"), r = e, l = R(() => Array.isArray(r.fields) ? r.fields : []), i = (u) => Xt(u || {}), s = F(!1), a = F([]), p = () => {
1719
1719
  const u = v.value.map((f) => i(f)).filter((f) => f.length > 0);
1720
1720
  a.value = [...u], s.value = !0;
1721
- }, v = P({
1721
+ }, v = R({
1722
1722
  get: () => (t.value || (t.value = {}), Array.isArray(t.value.filters) || (t.value.filters = []), t.value.filters),
1723
1723
  set: (u) => {
1724
1724
  t.value || (t.value = {}), t.value.filters = Array.isArray(u) ? u : [];
@@ -1761,11 +1761,11 @@ const Ka = { class: "vs-form" }, Xa = { class: "vs-form__body auto-rows-max cont
1761
1761
  validators: ["required"],
1762
1762
  position: "horizontal",
1763
1763
  options: [
1764
- { text: "Check", id: "check" },
1765
- { text: "Range", id: "range" },
1766
- { text: "Date", id: "date" },
1767
- { text: "Text", id: "text" },
1768
- { text: "Select", id: "select" }
1764
+ { text: "Check", id: "Check" },
1765
+ { text: "Range", id: "Range" },
1766
+ { text: "Date", id: "Date" },
1767
+ { text: "Text", id: "Text" },
1768
+ { text: "Select", id: "Select" }
1769
1769
  ]
1770
1770
  },
1771
1771
  hidden: {
@@ -1849,10 +1849,10 @@ const Ka = { class: "vs-form" }, Xa = { class: "vs-form__body auto-rows-max cont
1849
1849
  }),
1850
1850
  emits: ["update:data", "update:form"],
1851
1851
  setup(e) {
1852
- const t = jt(e, "data"), n = jt(e, "form"), r = e, l = P(() => Array.isArray(r.fields) ? r.fields : []), i = (u) => Xt(u || {}), s = F(!1), a = F([]), p = () => {
1852
+ const t = jt(e, "data"), n = jt(e, "form"), r = e, l = R(() => Array.isArray(r.fields) ? r.fields : []), i = (u) => Xt(u || {}), s = F(!1), a = F([]), p = () => {
1853
1853
  const u = v.value.map((f) => i(f)).filter((f) => f.length > 0);
1854
1854
  a.value = [...u], s.value = !0;
1855
- }, v = P({
1855
+ }, v = R({
1856
1856
  get: () => t.value.card,
1857
1857
  set: (u) => {
1858
1858
  t.value || (t.value = {}), t.value.card = Array.isArray(u) ? u : [];
@@ -2051,7 +2051,7 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2051
2051
  hideDetailsButton: { type: Boolean, default: !1 }
2052
2052
  },
2053
2053
  setup(e) {
2054
- const t = e, n = P(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (m) => (m == null ? void 0 : m.service_id) && (m == null ? void 0 : m.is_map) && m[t.id_key] && (m == null ? void 0 : m.geom), l = P(() => t.columns.find((m) => m.meta === "title")), i = P(() => t.columns.filter((m) => m.meta === "category")), s = P(() => t.columns.filter((m) => m.meta === "tags")), a = P(() => t.columns.filter((m) => m.meta !== "title")), p = (m, x) => {
2054
+ const t = e, n = R(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (m) => (m == null ? void 0 : m.service_id) && (m == null ? void 0 : m.is_map) && m[t.id_key] && (m == null ? void 0 : m.geom), l = R(() => t.columns.find((m) => m.meta === "title")), i = R(() => t.columns.filter((m) => m.meta === "category")), s = R(() => t.columns.filter((m) => m.meta === "tags")), a = R(() => t.columns.filter((m) => m.meta !== "title")), p = (m, x) => {
2055
2055
  if (x)
2056
2056
  return m[x];
2057
2057
  }, v = (m) => {
@@ -2165,11 +2165,11 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2165
2165
  ]);
2166
2166
  }), 128));
2167
2167
  }
2168
- }), Fu = { class: "p-0" }, Iu = { class: "border-l-4 border-l-slate-400" }, ju = { class: "p-4" }, zu = { class: "flex flex-wrap items-center gap-2 mb-3" }, Nu = { class: "text-lg font-bold" }, Pu = {
2168
+ }), Fu = { class: "p-0" }, Iu = { class: "border-l-4 border-l-slate-400" }, ju = { class: "p-4" }, zu = { class: "flex flex-wrap items-center gap-2 mb-3" }, Nu = { class: "text-lg font-bold" }, Ru = {
2169
2169
  key: 0,
2170
2170
  class: "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-green-100 text-green-800 hover:bg-green-100",
2171
2171
  "data-v0-t": "badge"
2172
- }, Ru = {
2172
+ }, Pu = {
2173
2173
  key: 1,
2174
2174
  class: "flex"
2175
2175
  }, Ou = {
@@ -2187,7 +2187,7 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2187
2187
  hideDetailsButton: { type: Boolean, default: !1 }
2188
2188
  },
2189
2189
  setup(e) {
2190
- const t = e, n = P(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (m) => (m == null ? void 0 : m.service_id) && (m == null ? void 0 : m.is_map) && m[t.id_key] && (m == null ? void 0 : m.geom), l = P(() => t.columns.find((m) => m.meta === "title")), i = P(() => t.columns.filter((m) => m.meta === "category")), s = P(() => t.columns.filter((m) => m.meta === "tags")), a = P(() => t.columns.filter((m) => m.meta !== "title")), p = (m, x) => {
2190
+ const t = e, n = R(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (m) => (m == null ? void 0 : m.service_id) && (m == null ? void 0 : m.is_map) && m[t.id_key] && (m == null ? void 0 : m.geom), l = R(() => t.columns.find((m) => m.meta === "title")), i = R(() => t.columns.filter((m) => m.meta === "category")), s = R(() => t.columns.filter((m) => m.meta === "tags")), a = R(() => t.columns.filter((m) => m.meta !== "title")), p = (m, x) => {
2191
2191
  if (x)
2192
2192
  return m[x];
2193
2193
  }, v = (m) => {
@@ -2212,9 +2212,9 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2212
2212
  Array.isArray(i.value) && i.value.length ? (c(!0), h(se, { key: 0 }, ye(i.value, (g) => (c(), h(se, {
2213
2213
  key: g.name
2214
2214
  }, [
2215
- u[g.name] ? (c(), h("div", Pu, B(u[`${g.name}_text`] || u[g.name]), 1)) : Q("", !0)
2215
+ u[g.name] ? (c(), h("div", Ru, B(u[`${g.name}_text`] || u[g.name]), 1)) : Q("", !0)
2216
2216
  ], 64))), 128)) : Q("", !0),
2217
- Array.isArray(s.value) && s.value.length ? (c(), h("div", Ru, [
2217
+ Array.isArray(s.value) && s.value.length ? (c(), h("div", Pu, [
2218
2218
  (c(!0), h(se, null, ye(s.value, (g) => (c(), h("div", {
2219
2219
  key: g.name,
2220
2220
  class: "flex flex-wrap gap-1 ml-2"
@@ -2324,7 +2324,7 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2324
2324
  hideDetailsButton: { type: Boolean, default: !1 }
2325
2325
  },
2326
2326
  setup(e) {
2327
- const t = e, n = P(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (x) => (x == null ? void 0 : x.service_id) && (x == null ? void 0 : x.is_map) && x[t.id_key] && (x == null ? void 0 : x.geom), l = P(() => t.columns.find((x) => x.meta === "title")), i = P(() => t.columns.filter((x) => x.meta === "category")), s = P(() => t.columns.filter((x) => x.meta === "tags")), a = P(() => t.columns.filter((x) => x.meta !== "title")), p = P(() => "bg-blue-500"), v = (x, u) => {
2327
+ const t = e, n = R(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (x) => (x == null ? void 0 : x.service_id) && (x == null ? void 0 : x.is_map) && x[t.id_key] && (x == null ? void 0 : x.geom), l = R(() => t.columns.find((x) => x.meta === "title")), i = R(() => t.columns.filter((x) => x.meta === "category")), s = R(() => t.columns.filter((x) => x.meta === "tags")), a = R(() => t.columns.filter((x) => x.meta !== "title")), p = R(() => "bg-blue-500"), v = (x, u) => {
2328
2328
  if (u)
2329
2329
  return x[u];
2330
2330
  }, b = (x) => {
@@ -2462,7 +2462,7 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2462
2462
  hideDetailsButton: { type: Boolean, default: !1 }
2463
2463
  },
2464
2464
  setup(e) {
2465
- const t = e, n = P(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (m) => (m == null ? void 0 : m.service_id) && (m == null ? void 0 : m.is_map) && m[t.id_key] && (m == null ? void 0 : m.geom), l = P(() => t.columns.find((m) => m.meta === "title")), i = P(() => t.columns.filter((m) => m.meta === "category")), s = P(() => t.columns.filter((m) => m.meta === "tags")), a = P(() => t.columns.filter((m) => m.meta !== "title")), p = (m, x) => {
2465
+ const t = e, n = R(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (m) => (m == null ? void 0 : m.service_id) && (m == null ? void 0 : m.is_map) && m[t.id_key] && (m == null ? void 0 : m.geom), l = R(() => t.columns.find((m) => m.meta === "title")), i = R(() => t.columns.filter((m) => m.meta === "category")), s = R(() => t.columns.filter((m) => m.meta === "tags")), a = R(() => t.columns.filter((m) => m.meta !== "title")), p = (m, x) => {
2466
2466
  if (x)
2467
2467
  return m[x];
2468
2468
  }, v = (m) => {
@@ -2547,7 +2547,7 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2547
2547
  }, Tc = { class: "col-span-1 lg:col-span-7 p-4 lg:p-4" }, Fc = { class: "flex flex-col mb-3 lg:flex-row lg:items-center lg:mb-1" }, Ic = { class: "text-base lg:text-base font-bold text-gray-900 mb-2 lg:mr-2 lg:mb-0" }, jc = { class: "flex flex-wrap gap-2 lg:gap-0" }, zc = {
2548
2548
  key: 0,
2549
2549
  class: "inline-flex items-center rounded-full px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-primary/80 bg-blue-100 text-blue-800 border-0 text-xs lg:ml-2"
2550
- }, Nc = { class: "text-sm text-gray-600 line-clamp-2 lg:line-clamp-1 mb-3 lg:mb-2" }, Pc = { class: "grid grid-cols-1 md:grid-cols-2 gap-y-3 md:gap-x-4 md:gap-y-1 text-sm" }, Rc = { class: "flex items-center mb-1 md:mb-0 md:mr-1 max-w-[50%]" }, Oc = ["innerHTML"], Dc = { class: "text-gray-500 font-medium md:font-normal" }, Vc = { class: "text-gray-600 break-words line-clamp-2" }, Bc = { class: "col-span-1 lg:col-span-2 p-4 lg:p-3 bg-gray-50 flex flex-col justify-center border-t lg:border-t-0 lg:border-l border-gray-100" }, Uc = { class: "text-xs text-gray-500 mb-2 lg:mb-1.5" }, qc = {
2550
+ }, Nc = { class: "text-sm text-gray-600 line-clamp-2 lg:line-clamp-1 mb-3 lg:mb-2" }, Rc = { class: "grid grid-cols-1 md:grid-cols-2 gap-y-3 md:gap-x-4 md:gap-y-1 text-sm" }, Pc = { class: "flex items-center mb-1 md:mb-0 md:mr-1 max-w-[50%]" }, Oc = ["innerHTML"], Dc = { class: "text-gray-500 font-medium md:font-normal" }, Vc = { class: "text-gray-600 break-words line-clamp-2" }, Bc = { class: "col-span-1 lg:col-span-2 p-4 lg:p-3 bg-gray-50 flex flex-col justify-center border-t lg:border-t-0 lg:border-l border-gray-100" }, Uc = { class: "text-xs text-gray-500 mb-2 lg:mb-1.5" }, qc = {
2551
2551
  key: 0,
2552
2552
  class: "flex flex-wrap gap-1.5 lg:gap-1"
2553
2553
  }, Hc = {
@@ -2565,7 +2565,7 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2565
2565
  hideDetailsButton: { type: Boolean, default: !1 }
2566
2566
  },
2567
2567
  setup(e) {
2568
- const t = e, n = P(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (u) => (u == null ? void 0 : u.service_id) && (u == null ? void 0 : u.is_map) && u[t.id_key] && (u == null ? void 0 : u.geom), l = P(() => t.columns.find((u) => u.meta === "title")), i = P(() => t.columns.filter((u) => u.meta === "category")), s = P(() => t.columns.filter((u) => u.meta === "tags")), a = P(() => t.columns.filter((u) => u.meta !== "title")), p = P(() => t.columns.find((u) => u.meta === "image")), v = P(
2568
+ const t = e, n = R(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (u) => (u == null ? void 0 : u.service_id) && (u == null ? void 0 : u.is_map) && u[t.id_key] && (u == null ? void 0 : u.geom), l = R(() => t.columns.find((u) => u.meta === "title")), i = R(() => t.columns.filter((u) => u.meta === "category")), s = R(() => t.columns.filter((u) => u.meta === "tags")), a = R(() => t.columns.filter((u) => u.meta !== "title")), p = R(() => t.columns.find((u) => u.meta === "image")), v = R(
2569
2569
  () => t.columns.find((u) => u.meta === "desc") || t.columns.find((u) => u.name === "description")
2570
2570
  ), b = (u, f) => {
2571
2571
  if (f)
@@ -2610,14 +2610,14 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2610
2610
  ])
2611
2611
  ]),
2612
2612
  o("p", Nc, B((($ = y[((k = v.value) == null ? void 0 : k.name) + "_data"]) == null ? void 0 : $.text) || y[((C = v.value) == null ? void 0 : C.name) + "_text"] || y[(A = v.value) == null ? void 0 : A.name]), 1),
2613
- o("div", Pc, [
2613
+ o("div", Rc, [
2614
2614
  (c(!0), h(se, null, ye(a.value, (z) => {
2615
2615
  var V;
2616
2616
  return c(), h("div", {
2617
2617
  key: z.name,
2618
2618
  class: "flex flex-col md:flex-row md:items-center"
2619
2619
  }, [
2620
- o("div", Rc, [
2620
+ o("div", Pc, [
2621
2621
  z.icon ? (c(), h("span", {
2622
2622
  key: 0,
2623
2623
  class: "mr-1 flex-shrink-0",
@@ -2709,23 +2709,23 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2709
2709
  options: r,
2710
2710
  col: 12
2711
2711
  }
2712
- }, i = P(
2712
+ }, i = R(
2713
2713
  () => {
2714
2714
  var b;
2715
2715
  return Array.isArray((b = n.value) == null ? void 0 : b.columns) ? n.value.columns : [];
2716
2716
  }
2717
- ), s = P(() => {
2717
+ ), s = R(() => {
2718
2718
  var b;
2719
2719
  return ((b = n.value) == null ? void 0 : b.view) || "template1";
2720
- }), a = P(
2720
+ }), a = R(
2721
2721
  () => fr[s.value] || fr.template1
2722
- ), p = P(() => {
2722
+ ), p = R(() => {
2723
2723
  var x;
2724
2724
  const b = (x = n.value) == null ? void 0 : x.view;
2725
2725
  if (!b) return "template1";
2726
2726
  const m = r.find((u) => u.id === b);
2727
2727
  return (m == null ? void 0 : m.text) || b;
2728
- }), v = P(() => (Array.isArray(n.value.tableData) ? n.value.tableData : []).slice(0, 5).map((m) => {
2728
+ }), v = R(() => (Array.isArray(n.value.tableData) ? n.value.tableData : []).slice(0, 5).map((m) => {
2729
2729
  var x, u;
2730
2730
  return {
2731
2731
  ...m,
@@ -2761,7 +2761,7 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2761
2761
  hideDetailsButton: { type: Boolean, default: !1 }
2762
2762
  },
2763
2763
  setup(e) {
2764
- const t = St(), n = zt(), r = P(() => t.path.replace(/\/[^/]+$/, "")), l = P(
2764
+ const t = St(), n = zt(), r = R(() => t.path.replace(/\/[^/]+$/, "")), l = R(
2765
2765
  () => {
2766
2766
  var y;
2767
2767
  return ((y = n.resolve(r.value).meta) == null ? void 0 : y.title) ?? "";
@@ -2954,15 +2954,15 @@ function il(e, t) {
2954
2954
 
2955
2955
  ` + e.mark.snippet), r + " " + n) : r;
2956
2956
  }
2957
- function Rn(e, t) {
2957
+ function Pn(e, t) {
2958
2958
  Error.call(this), this.name = "YAMLException", this.reason = e, this.mark = t, this.message = il(this, !1), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error().stack || "";
2959
2959
  }
2960
- Rn.prototype = Object.create(Error.prototype);
2961
- Rn.prototype.constructor = Rn;
2962
- Rn.prototype.toString = function(t) {
2960
+ Pn.prototype = Object.create(Error.prototype);
2961
+ Pn.prototype.constructor = Pn;
2962
+ Pn.prototype.toString = function(t) {
2963
2963
  return this.name + ": " + il(this, t);
2964
2964
  };
2965
- var wt = Rn;
2965
+ var wt = Pn;
2966
2966
  function go(e, t, n, r, l) {
2967
2967
  var i = "", s = "", a = Math.floor(l / 2) - 1;
2968
2968
  return r - t > a && (i = " ... ", t = r - a + i.length), n - r > a && (s = " ...", n = r + a - s.length), {
@@ -3187,10 +3187,10 @@ function zd(e) {
3187
3187
  function Nd(e) {
3188
3188
  return 48 <= e && e <= 55;
3189
3189
  }
3190
- function Pd(e) {
3190
+ function Rd(e) {
3191
3191
  return 48 <= e && e <= 57;
3192
3192
  }
3193
- function Rd(e) {
3193
+ function Pd(e) {
3194
3194
  if (e === null) return !1;
3195
3195
  var t = e.length, n = 0, r = !1, l;
3196
3196
  if (!t) return !1;
@@ -3224,7 +3224,7 @@ function Rd(e) {
3224
3224
  if (l === "_") return !1;
3225
3225
  for (; n < t; n++)
3226
3226
  if (l = e[n], l !== "_") {
3227
- if (!Pd(e.charCodeAt(n)))
3227
+ if (!Rd(e.charCodeAt(n)))
3228
3228
  return !1;
3229
3229
  r = !0;
3230
3230
  }
@@ -3245,7 +3245,7 @@ function Dd(e) {
3245
3245
  }
3246
3246
  var vl = new mt("tag:yaml.org,2002:int", {
3247
3247
  kind: "scalar",
3248
- resolve: Rd,
3248
+ resolve: Pd,
3249
3249
  construct: Od,
3250
3250
  predicate: Dd,
3251
3251
  represent: {
@@ -3370,11 +3370,11 @@ function Kd(e) {
3370
3370
  var _l = new mt("tag:yaml.org,2002:merge", {
3371
3371
  kind: "scalar",
3372
3372
  resolve: Kd
3373
- }), Ro = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
3373
+ }), Po = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
3374
3374
  \r`;
3375
3375
  function Xd(e) {
3376
3376
  if (e === null) return !1;
3377
- var t, n, r = 0, l = e.length, i = Ro;
3377
+ var t, n, r = 0, l = e.length, i = Po;
3378
3378
  for (n = 0; n < l; n++)
3379
3379
  if (t = i.indexOf(e.charAt(n)), !(t > 64)) {
3380
3380
  if (t < 0) return !1;
@@ -3383,13 +3383,13 @@ function Xd(e) {
3383
3383
  return r % 8 === 0;
3384
3384
  }
3385
3385
  function Qd(e) {
3386
- var t, n, r = e.replace(/[\r\n=]/g, ""), l = r.length, i = Ro, s = 0, a = [];
3386
+ var t, n, r = e.replace(/[\r\n=]/g, ""), l = r.length, i = Po, s = 0, a = [];
3387
3387
  for (t = 0; t < l; t++)
3388
3388
  t % 4 === 0 && t && (a.push(s >> 16 & 255), a.push(s >> 8 & 255), a.push(s & 255)), s = s << 6 | i.indexOf(r.charAt(t));
3389
3389
  return n = l % 4 * 6, n === 0 ? (a.push(s >> 16 & 255), a.push(s >> 8 & 255), a.push(s & 255)) : n === 18 ? (a.push(s >> 10 & 255), a.push(s >> 2 & 255)) : n === 12 && a.push(s >> 4 & 255), new Uint8Array(a);
3390
3390
  }
3391
3391
  function Jd(e) {
3392
- var t = "", n = 0, r, l, i = e.length, s = Ro;
3392
+ var t = "", n = 0, r, l, i = e.length, s = Po;
3393
3393
  for (r = 0; r < i; r++)
3394
3394
  r % 3 === 0 && r && (t += s[n >> 18 & 63], t += s[n >> 12 & 63], t += s[n >> 6 & 63], t += s[n & 63]), n = (n << 8) + e[r];
3395
3395
  return l = i % 3, l === 0 ? (t += s[n >> 18 & 63], t += s[n >> 12 & 63], t += s[n >> 6 & 63], t += s[n & 63]) : l === 2 ? (t += s[n >> 10 & 63], t += s[n >> 4 & 63], t += s[n << 2 & 63], t += s[64]) : l === 1 && (t += s[n >> 2 & 63], t += s[n << 4 & 63], t += s[64], t += s[64]), t;
@@ -3478,7 +3478,7 @@ var Sl = new mt("tag:yaml.org,2002:set", {
3478
3478
  function vr(e) {
3479
3479
  return Object.prototype.toString.call(e);
3480
3480
  }
3481
- function Rt(e) {
3481
+ function Pt(e) {
3482
3482
  return e === 10 || e === 13;
3483
3483
  }
3484
3484
  function rn(e) {
@@ -3596,7 +3596,7 @@ function ut(e, t, n) {
3596
3596
  do
3597
3597
  l = e.input.charCodeAt(++e.position);
3598
3598
  while (l !== 10 && l !== 13 && l !== 0);
3599
- if (Rt(l))
3599
+ if (Pt(l))
3600
3600
  for (Do(e), l = e.input.charCodeAt(e.position), r++, e.lineIndent = 0; l === 32; )
3601
3601
  e.lineIndent++, l = e.input.charCodeAt(++e.position);
3602
3602
  else
@@ -3626,7 +3626,7 @@ function wf(e, t, n) {
3626
3626
  } else {
3627
3627
  if (e.position === e.lineStart && ao(e) || n && vn(u))
3628
3628
  break;
3629
- if (Rt(u))
3629
+ if (Pt(u))
3630
3630
  if (p = e.line, v = e.lineStart, b = e.lineIndent, ut(e, !1, -1), e.lineIndent >= t) {
3631
3631
  a = !0, u = e.input.charCodeAt(e.position);
3632
3632
  continue;
@@ -3649,7 +3649,7 @@ function _f(e, t) {
3649
3649
  r = e.position, e.position++, l = e.position;
3650
3650
  else
3651
3651
  return !0;
3652
- else Rt(n) ? (Kt(e, r, l, !0), Vo(e, ut(e, !1, t)), r = l = e.position) : e.position === e.lineStart && ao(e) ? Me(e, "unexpected end of the document within a single quoted scalar") : (e.position++, l = e.position);
3652
+ else Pt(n) ? (Kt(e, r, l, !0), Vo(e, ut(e, !1, t)), r = l = e.position) : e.position === e.lineStart && ao(e) ? Me(e, "unexpected end of the document within a single quoted scalar") : (e.position++, l = e.position);
3653
3653
  Me(e, "unexpected end of the stream within a single quoted scalar");
3654
3654
  }
3655
3655
  function kf(e, t) {
@@ -3660,7 +3660,7 @@ function kf(e, t) {
3660
3660
  if (a === 34)
3661
3661
  return Kt(e, n, e.position, !0), e.position++, !0;
3662
3662
  if (a === 92) {
3663
- if (Kt(e, n, e.position, !0), a = e.input.charCodeAt(++e.position), Rt(a))
3663
+ if (Kt(e, n, e.position, !0), a = e.input.charCodeAt(++e.position), Pt(a))
3664
3664
  ut(e, !1, t);
3665
3665
  else if (a < 256 && Tl[a])
3666
3666
  e.result += Fl[a], e.position++;
@@ -3671,7 +3671,7 @@ function kf(e, t) {
3671
3671
  } else
3672
3672
  Me(e, "unknown escape sequence");
3673
3673
  n = r = e.position;
3674
- } else Rt(a) ? (Kt(e, n, r, !0), Vo(e, ut(e, !1, t)), n = r = e.position) : e.position === e.lineStart && ao(e) ? Me(e, "unexpected end of the document within a double quoted scalar") : (e.position++, r = e.position);
3674
+ } else Pt(a) ? (Kt(e, n, r, !0), Vo(e, ut(e, !1, t)), n = r = e.position) : e.position === e.lineStart && ao(e) ? Me(e, "unexpected end of the document within a double quoted scalar") : (e.position++, r = e.position);
3675
3675
  }
3676
3676
  Me(e, "unexpected end of the stream within a double quoted scalar");
3677
3677
  }
@@ -3712,12 +3712,12 @@ function Cf(e, t) {
3712
3712
  if (m === 35)
3713
3713
  do
3714
3714
  m = e.input.charCodeAt(++e.position);
3715
- while (!Rt(m) && m !== 0);
3715
+ while (!Pt(m) && m !== 0);
3716
3716
  }
3717
3717
  for (; m !== 0; ) {
3718
3718
  for (Do(e), e.lineIndent = 0, m = e.input.charCodeAt(e.position); (!s || e.lineIndent < a) && m === 32; )
3719
3719
  e.lineIndent++, m = e.input.charCodeAt(++e.position);
3720
- if (!s && e.lineIndent > a && (a = e.lineIndent), Rt(m)) {
3720
+ if (!s && e.lineIndent > a && (a = e.lineIndent), Pt(m)) {
3721
3721
  p++;
3722
3722
  continue;
3723
3723
  }
@@ -3731,7 +3731,7 @@ function Cf(e, t) {
3731
3731
  `, i ? 1 + p : p)) : v ? (v = !1, e.result += dt.repeat(`
3732
3732
  `, p + 1)) : p === 0 ? i && (e.result += " ") : e.result += dt.repeat(`
3733
3733
  `, p) : e.result += dt.repeat(`
3734
- `, i ? 1 + p : p), i = !0, s = !0, p = 0, n = e.position; !Rt(m) && m !== 0; )
3734
+ `, i ? 1 + p : p), i = !0, s = !0, p = 0, n = e.position; !Pt(m) && m !== 0; )
3735
3735
  m = e.input.charCodeAt(++e.position);
3736
3736
  Kt(e, n, e.position, !1);
3737
3737
  }
@@ -3854,10 +3854,10 @@ function Ef(e) {
3854
3854
  if (s === 35) {
3855
3855
  do
3856
3856
  s = e.input.charCodeAt(++e.position);
3857
- while (s !== 0 && !Rt(s));
3857
+ while (s !== 0 && !Pt(s));
3858
3858
  break;
3859
3859
  }
3860
- if (Rt(s)) break;
3860
+ if (Pt(s)) break;
3861
3861
  for (n = e.position; s !== 0 && !Ct(s); )
3862
3862
  s = e.input.charCodeAt(++e.position);
3863
3863
  l.push(e.input.slice(n, e.position));
@@ -3902,7 +3902,7 @@ function Ff(e, t) {
3902
3902
  var If = Tf, jf = Ff, zl = {
3903
3903
  loadAll: If,
3904
3904
  load: jf
3905
- }, Nl = Object.prototype.toString, Pl = Object.prototype.hasOwnProperty, Bo = 65279, zf = 9, On = 10, Nf = 13, Pf = 32, Rf = 33, Of = 34, Ao = 35, Df = 37, Vf = 38, Bf = 39, Uf = 42, Rl = 44, qf = 45, ro = 58, Hf = 61, Wf = 62, Yf = 63, Zf = 64, Ol = 91, Dl = 93, Gf = 96, Vl = 123, Kf = 124, Bl = 125, yt = {};
3905
+ }, Nl = Object.prototype.toString, Rl = Object.prototype.hasOwnProperty, Bo = 65279, zf = 9, On = 10, Nf = 13, Rf = 32, Pf = 33, Of = 34, Ao = 35, Df = 37, Vf = 38, Bf = 39, Uf = 42, Pl = 44, qf = 45, ro = 58, Hf = 61, Wf = 62, Yf = 63, Zf = 64, Ol = 91, Dl = 93, Gf = 96, Vl = 123, Kf = 124, Bl = 125, yt = {};
3906
3906
  yt[0] = "\\0";
3907
3907
  yt[7] = "\\a";
3908
3908
  yt[8] = "\\b";
@@ -3940,7 +3940,7 @@ function Jf(e, t) {
3940
3940
  var n, r, l, i, s, a, p;
3941
3941
  if (t === null) return {};
3942
3942
  for (n = {}, r = Object.keys(t), l = 0, i = r.length; l < i; l += 1)
3943
- s = r[l], a = String(t[s]), s.slice(0, 2) === "!!" && (s = "tag:yaml.org,2002:" + s.slice(2)), p = e.compiledTypeMap.fallback[s], p && Pl.call(p.styleAliases, a) && (a = p.styleAliases[a]), n[s] = a;
3943
+ s = r[l], a = String(t[s]), s.slice(0, 2) === "!!" && (s = "tag:yaml.org,2002:" + s.slice(2)), p = e.compiledTypeMap.fallback[s], p && Rl.call(p.styleAliases, a) && (a = p.styleAliases[a]), n[s] = a;
3944
3944
  return n;
3945
3945
  }
3946
3946
  function ep(e) {
@@ -3978,7 +3978,7 @@ function op(e, t) {
3978
3978
  return !1;
3979
3979
  }
3980
3980
  function lo(e) {
3981
- return e === Pf || e === zf;
3981
+ return e === Rf || e === zf;
3982
3982
  }
3983
3983
  function Vn(e) {
3984
3984
  return 32 <= e && e <= 126 || 161 <= e && e <= 55295 && e !== 8232 && e !== 8233 || 57344 <= e && e <= 65533 && e !== Bo || 65536 <= e && e <= 1114111;
@@ -3993,11 +3993,11 @@ function _r(e, t, n) {
3993
3993
  (n ? (
3994
3994
  // c = flow-in
3995
3995
  r
3996
- ) : r && e !== Rl && e !== Ol && e !== Dl && e !== Vl && e !== Bl) && e !== Ao && !(t === ro && !l) || wr(t) && !lo(t) && e === Ao || t === ro && l
3996
+ ) : r && e !== Pl && e !== Ol && e !== Dl && e !== Vl && e !== Bl) && e !== Ao && !(t === ro && !l) || wr(t) && !lo(t) && e === Ao || t === ro && l
3997
3997
  );
3998
3998
  }
3999
3999
  function rp(e) {
4000
- return Vn(e) && e !== Bo && !lo(e) && e !== qf && e !== Yf && e !== ro && e !== Rl && e !== Ol && e !== Dl && e !== Vl && e !== Bl && e !== Ao && e !== Vf && e !== Uf && e !== Rf && e !== Kf && e !== Hf && e !== Wf && e !== Bf && e !== Of && e !== Df && e !== Zf && e !== Gf;
4000
+ return Vn(e) && e !== Bo && !lo(e) && e !== qf && e !== Yf && e !== ro && e !== Pl && e !== Ol && e !== Dl && e !== Vl && e !== Bl && e !== Ao && e !== Vf && e !== Uf && e !== Pf && e !== Kf && e !== Hf && e !== Wf && e !== Bf && e !== Of && e !== Df && e !== Zf && e !== Gf;
4001
4001
  }
4002
4002
  function lp(e) {
4003
4003
  return !lo(e) && e !== ro;
@@ -4143,7 +4143,7 @@ function Ar(e, t, n) {
4143
4143
  if (n ? a.multi && a.representName ? e.tag = a.representName(t) : e.tag = a.tag : e.tag = "?", a.represent) {
4144
4144
  if (p = e.styleMap[a.tag] || a.defaultStyle, Nl.call(a.represent) === "[object Function]")
4145
4145
  r = a.represent(t, p);
4146
- else if (Pl.call(a.represent, p))
4146
+ else if (Rl.call(a.represent, p))
4147
4147
  r = a.represent[p](t, p);
4148
4148
  else
4149
4149
  throw new wt("!<" + a.tag + '> tag resolver accepts not "' + p + '" style');
@@ -4310,7 +4310,7 @@ function Np(e, t) {
4310
4310
  }, null, -1)
4311
4311
  ])]);
4312
4312
  }
4313
- const Gl = /* @__PURE__ */ Fe(jp, [["render", Np]]), Pp = {}, Rp = {
4313
+ const Gl = /* @__PURE__ */ Fe(jp, [["render", Np]]), Rp = {}, Pp = {
4314
4314
  xmlns: "http://www.w3.org/2000/svg",
4315
4315
  width: "24",
4316
4316
  height: "24",
@@ -4323,13 +4323,13 @@ const Gl = /* @__PURE__ */ Fe(jp, [["render", Np]]), Pp = {}, Rp = {
4323
4323
  class: "lucide lucide-layers"
4324
4324
  };
4325
4325
  function Op(e, t) {
4326
- return c(), h("svg", Rp, [...t[0] || (t[0] = [
4326
+ return c(), h("svg", Pp, [...t[0] || (t[0] = [
4327
4327
  o("path", { d: "m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z" }, null, -1),
4328
4328
  o("path", { d: "m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65" }, null, -1),
4329
4329
  o("path", { d: "m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65" }, null, -1)
4330
4330
  ])]);
4331
4331
  }
4332
- const Dp = /* @__PURE__ */ Fe(Pp, [["render", Op]]), Vp = {}, Bp = {
4332
+ const Dp = /* @__PURE__ */ Fe(Rp, [["render", Op]]), Vp = {}, Bp = {
4333
4333
  xmlns: "http://www.w3.org/2000/svg",
4334
4334
  width: "24",
4335
4335
  height: "24",
@@ -4445,7 +4445,7 @@ const Xp = /* @__PURE__ */ Fe(Zp, [["render", Kp]]), Ho = /* @__PURE__ */ ve({
4445
4445
  function b(k) {
4446
4446
  return typeof (k == null ? void 0 : k.is_public) != "boolean" ? It : k.is_public ? "Публічний" : "Приватний";
4447
4447
  }
4448
- const m = P(() => {
4448
+ const m = R(() => {
4449
4449
  const k = l.data, $ = (k == null ? void 0 : k.group_name) ?? s.value ?? ((k == null ? void 0 : k.group_id) != null ? String(k.group_id) : It), C = v(k), A = b(k), z = k != null && k.created_at ? p(k.created_at) : It;
4450
4450
  return [
4451
4451
  { label: "Група", value: $ },
@@ -4453,11 +4453,11 @@ const Xp = /* @__PURE__ */ Fe(Zp, [["render", Kp]]), Ho = /* @__PURE__ */ ve({
4453
4453
  { label: "Видимість", value: A },
4454
4454
  { label: "Створено", value: z }
4455
4455
  ];
4456
- }), x = P(() => {
4456
+ }), x = R(() => {
4457
4457
  var $;
4458
4458
  const k = ($ = l.data) == null ? void 0 : $.description;
4459
4459
  return k != null && k !== "" ? k : It;
4460
- }), u = P(() => {
4460
+ }), u = R(() => {
4461
4461
  const k = l.data, $ = (k == null ? void 0 : k.holder) ?? (k == null ? void 0 : k.producer) ?? It, C = (k == null ? void 0 : k.license) ?? It, A = (k == null ? void 0 : k.year) != null ? String(k.year) : It, z = Array.isArray(k == null ? void 0 : k.keywords) && k.keywords.length > 0 ? k.keywords.join(", ") : It;
4462
4462
  return [
4463
4463
  { label: "Виробник", value: $ },
@@ -5443,7 +5443,7 @@ function Nm(e) {
5443
5443
  function pn(e, t) {
5444
5444
  t && (Array.isArray(t) ? e.push(...t) : e.push(t));
5445
5445
  }
5446
- function Pm(e, t) {
5446
+ function Rm(e, t) {
5447
5447
  const n = (e == null ? void 0 : e.clusterZoom) ?? (e == null ? void 0 : e.pointZoom) ?? (e == null ? void 0 : e.iconZoom) ?? 12, r = Number(n);
5448
5448
  if (!Number.isFinite(r)) return null;
5449
5449
  const l = ["get", "point_count"], i = ["has", "point_count"], s = ["!", i], v = {
@@ -5522,10 +5522,10 @@ function Er(e, t) {
5522
5522
  "circle-stroke-width": e.width || 1,
5523
5523
  "circle-radius": e.radius || 5
5524
5524
  }
5525
- }, l = Pm(e, r);
5525
+ }, l = Rm(e, r);
5526
5526
  return l || r;
5527
5527
  }
5528
- function Rm(e) {
5528
+ function Pm(e) {
5529
5529
  const t = Yo(e);
5530
5530
  return {
5531
5531
  type: "fill",
@@ -5564,7 +5564,7 @@ function Tr(e, t = {}) {
5564
5564
  if (!e) return [];
5565
5565
  if (!Vm(e)) return [];
5566
5566
  const n = [];
5567
- e.icon && pn(n, Dm(e)), e.pointZoom && pn(n, Er(e, e.pointZoom)), e.type === "polygon" ? pn(n, Rm(e)) : e.type === "line" ? pn(n, Om(e)) : pn(n, Er(e));
5567
+ e.icon && pn(n, Dm(e)), e.pointZoom && pn(n, Er(e, e.pointZoom)), e.type === "polygon" ? pn(n, Pm(e)) : e.type === "line" ? pn(n, Om(e)) : pn(n, Er(e));
5568
5568
  const l = t.sourceType !== "raster" ? zm(e, {
5569
5569
  geometry: e.type || "point",
5570
5570
  filter: e.filter,
@@ -5626,12 +5626,12 @@ function Ge(e, t, n) {
5626
5626
  a.point && (a.source = Bm(a.point)), !a.layer && ((ie = a.source) == null ? void 0 : ie.type) === "raster" && (a.layer = { id: s, type: "raster", source: s }), a.layer && !a.layer.source && Object.assign(a.layer, { source: s });
5627
5627
  let p = !1, v = !1;
5628
5628
  const b = () => {
5629
- var X, ue, Y, O, j, D, T, E, R, U;
5629
+ var X, ue, Y, O, j, D, T, E, P, U;
5630
5630
  if (!(v || !r.value)) {
5631
5631
  if (a.source && !r.value.getSource(s) && r.value.addSource(s, a.source), !r.value.getLayer(i)) {
5632
5632
  const H = a.beforeId === 0 ? (ue = (X = r.value.getStyle().layers) == null ? void 0 : X[0]) == null ? void 0 : ue.id : a.beforeId;
5633
5633
  (O = (Y = a.layer) == null ? void 0 : Y.style) != null && O.icon && Ir(r.value, a.layer.style.icon, a.layer.style.colors);
5634
- const le = ((j = a.source) == null ? void 0 : j.type) || ((D = a.layer) == null ? void 0 : D.type), de = a.layer && (a.layer.type || a.layer.ref) ? a.layer : null, ge = (T = a.layer) == null ? void 0 : T.style, he = ((E = a.layer) == null ? void 0 : E["source-layer"]) || ((R = a.source) == null ? void 0 : R["source-layer"]) || a.sourceLayer || s, Ae = a.style || ge, ze = Fr(Ae, {
5634
+ const le = ((j = a.source) == null ? void 0 : j.type) || ((D = a.layer) == null ? void 0 : D.type), de = a.layer && (a.layer.type || a.layer.ref) ? a.layer : null, ge = (T = a.layer) == null ? void 0 : T.style, he = ((E = a.layer) == null ? void 0 : E["source-layer"]) || ((P = a.source) == null ? void 0 : P["source-layer"]) || a.sourceLayer || s, Ae = a.style || ge, ze = Fr(Ae, {
5635
5635
  sourceType: le,
5636
5636
  filter: (U = a.layer) == null ? void 0 : U.filter,
5637
5637
  allowFallback: !de
@@ -5674,12 +5674,12 @@ function Ge(e, t, n) {
5674
5674
  r.value.removeLayer(D.id);
5675
5675
  }), v = !0, a.source && X && r.value.getSource(s) && r.value.removeSource(s);
5676
5676
  }, f = async (X) => {
5677
- var j, D, T, E, R;
5677
+ var j, D, T, E, P;
5678
5678
  if (!r.value) return;
5679
5679
  X != null && X.icon && Ir(r.value, X.icon, X.colors);
5680
5680
  const ue = ((j = a.source) == null ? void 0 : j.type) || ((D = a.layer) == null ? void 0 : D.type), Y = ((T = a.layer) == null ? void 0 : T["source-layer"]) || ((E = a.source) == null ? void 0 : E["source-layer"]) || a.sourceLayer || s, O = Fr(X, {
5681
5681
  sourceType: ue,
5682
- filter: (R = a.layer) == null ? void 0 : R.filter,
5682
+ filter: (P = a.layer) == null ? void 0 : P.filter,
5683
5683
  allowFallback: !0
5684
5684
  });
5685
5685
  u(!1), O.forEach((U, H) => {
@@ -6455,20 +6455,20 @@ const cv = /* @__PURE__ */ ve({
6455
6455
  v.remove();
6456
6456
  }), (_, M) => null;
6457
6457
  }
6458
- }), Pn = F(null);
6458
+ }), Rn = F(null);
6459
6459
  function fv() {
6460
- Pn.value = null;
6460
+ Rn.value = null;
6461
6461
  }
6462
6462
  function pv(e) {
6463
6463
  const t = F(!1), n = () => typeof e == "string" ? e : e.value;
6464
- re(Pn, (s) => {
6464
+ re(Rn, (s) => {
6465
6465
  s !== n() && t.value && (t.value = !1);
6466
6466
  });
6467
6467
  function r() {
6468
- Pn.value = n(), t.value = !0;
6468
+ Rn.value = n(), t.value = !0;
6469
6469
  }
6470
6470
  function l() {
6471
- Pn.value === n() && (Pn.value = null), t.value = !1;
6471
+ Rn.value === n() && (Rn.value = null), t.value = !1;
6472
6472
  }
6473
6473
  function i() {
6474
6474
  t.value ? l() : r();
@@ -6489,10 +6489,10 @@ const mv = { class: "map-filter" }, vv = { class: "map-filter__header" }, gv = {
6489
6489
  disabled: { type: Boolean }
6490
6490
  },
6491
6491
  setup(e) {
6492
- const t = ft(() => import("@opengis/filter")), n = e, r = P(() => {
6492
+ const t = ft(() => import("@opengis/filter")), n = e, r = R(() => {
6493
6493
  var T;
6494
6494
  return ((T = n.layer) == null ? void 0 : T.id) ?? "";
6495
- }), l = P(() => `filter-popover-${r.value}`), {
6495
+ }), l = R(() => `filter-popover-${r.value}`), {
6496
6496
  isOpen: i,
6497
6497
  close: s,
6498
6498
  toggle: a
@@ -6503,16 +6503,16 @@ const mv = { class: "map-filter" }, vv = { class: "map-filter__header" }, gv = {
6503
6503
  text: "Спочатку активуйте шар, щоб застосувати фільтр",
6504
6504
  top: 0,
6505
6505
  left: 0
6506
- }), f = P(() => i.value), y = P(() => {
6506
+ }), f = R(() => i.value), y = R(() => {
6507
6507
  var T;
6508
6508
  return Array.isArray((T = n.layer) == null ? void 0 : T.filters) ? n.layer.filters : [];
6509
- }), d = P(() => y.value.length > 0), g = P(() => {
6509
+ }), d = R(() => y.value.length > 0), g = R(() => {
6510
6510
  var T;
6511
6511
  return ((T = n.layer) == null ? void 0 : T.name) ?? "";
6512
- }), _ = P(() => y.value), M = F(null), L = P(() => y.value.length), k = P(() => L.value <= 2), $ = P(() => k.value ? "body" : typeof window > "u" || M.value ? _o : "body"), C = P(() => {
6512
+ }), _ = R(() => y.value), M = F(null), L = R(() => y.value.length), k = R(() => L.value <= 2), $ = R(() => k.value ? "body" : typeof window > "u" || M.value ? _o : "body"), C = R(() => {
6513
6513
  if (!f.value || !k.value)
6514
6514
  return {};
6515
- const T = typeof window < "u" ? window.innerWidth : 280, R = Math.max(280, T - 16 * 2);
6515
+ const T = typeof window < "u" ? window.innerWidth : 280, P = Math.max(280, T - 16 * 2);
6516
6516
  return {
6517
6517
  position: "absolute",
6518
6518
  top: `${p.top}px`,
@@ -6520,32 +6520,32 @@ const mv = { class: "map-filter" }, vv = { class: "map-filter__header" }, gv = {
6520
6520
  transform: p.transform,
6521
6521
  zIndex: 1e3,
6522
6522
  width: "280px",
6523
- maxWidth: `${R}px`
6523
+ maxWidth: `${P}px`
6524
6524
  };
6525
6525
  });
6526
6526
  function A() {
6527
6527
  s();
6528
6528
  }
6529
- function z(T, E, R = 8) {
6530
- const U = window.scrollY + R, H = window.scrollY + window.innerHeight - R;
6529
+ function z(T, E, P = 8) {
6530
+ const U = window.scrollY + P, H = window.scrollY + window.innerHeight - P;
6531
6531
  let le = T;
6532
6532
  return le + E > H && (le = H - E), le < U && (le = U), le;
6533
6533
  }
6534
6534
  function V() {
6535
6535
  var ge, he, Ae;
6536
6536
  if (!v.value || !k.value) return;
6537
- const T = v.value.getBoundingClientRect(), E = window.scrollX + 8, R = window.scrollX + window.innerWidth - 8, U = ((ge = b.value) == null ? void 0 : ge.offsetWidth) || 280, H = ((he = b.value) == null ? void 0 : he.offsetHeight) || 0;
6537
+ const T = v.value.getBoundingClientRect(), E = window.scrollX + 8, P = window.scrollX + window.innerWidth - 8, U = ((ge = b.value) == null ? void 0 : ge.offsetWidth) || 280, H = ((he = b.value) == null ? void 0 : he.offsetHeight) || 0;
6538
6538
  let le = 0, de = 0;
6539
6539
  if ((Ae = n.catalogAnchor) != null && Ae.value) {
6540
6540
  const ze = n.catalogAnchor.value.getBoundingClientRect(), K = ze.top + window.scrollY;
6541
6541
  le = z(K, H, 8);
6542
- const fe = ze.right + window.scrollX + 12, w = R - U, N = E;
6542
+ const fe = ze.right + window.scrollX + 12, w = P - U, N = E;
6543
6543
  de = Math.min(Math.max(fe, N), Math.max(N, w));
6544
6544
  } else {
6545
6545
  const ze = T.bottom + window.scrollY + 8;
6546
6546
  le = z(ze, H, 8);
6547
6547
  let K = T.left + window.scrollX;
6548
- K < E && (K = E), K + U > R && (K = Math.max(E, R - U)), de = K;
6548
+ K < E && (K = E), K + U > P && (K = Math.max(E, P - U)), de = K;
6549
6549
  }
6550
6550
  p.left = de, p.top = le, p.transform = "none";
6551
6551
  }
@@ -6579,18 +6579,18 @@ const mv = { class: "map-filter" }, vv = { class: "map-filter__header" }, gv = {
6579
6579
  function X(T) {
6580
6580
  const E = r.value;
6581
6581
  if (!E) return;
6582
- const R = Ge(E);
6583
- if (!(R != null && R.setFilter)) return;
6582
+ const P = Ge(E);
6583
+ if (!(P != null && P.setFilter)) return;
6584
6584
  x.value = T;
6585
6585
  const U = Object.entries(T).map(([H, le]) => `${H}=${le}`).join("|");
6586
- R.setFilter(U);
6586
+ P.setFilter(U);
6587
6587
  }
6588
6588
  function ue(T) {
6589
6589
  if (!n.disabled) return;
6590
6590
  const E = T.currentTarget;
6591
6591
  if (!E) return;
6592
- const R = E.getBoundingClientRect();
6593
- u.left = R.left + R.width / 2 + window.scrollX, u.top = R.bottom + 8 + window.scrollY, u.visible = !0;
6592
+ const P = E.getBoundingClientRect();
6593
+ u.left = P.left + P.width / 2 + window.scrollX, u.top = P.bottom + 8 + window.scrollY, u.visible = !0;
6594
6594
  }
6595
6595
  function Y() {
6596
6596
  u.visible = !1;
@@ -6642,7 +6642,7 @@ const mv = { class: "map-filter" }, vv = { class: "map-filter__header" }, gv = {
6642
6642
  ])
6643
6643
  ], -1)
6644
6644
  ])], 34),
6645
- f.value ? (c(), pe(Pt, {
6645
+ f.value ? (c(), pe(Rt, {
6646
6646
  key: 0,
6647
6647
  to: $.value
6648
6648
  }, [
@@ -6673,13 +6673,13 @@ const mv = { class: "map-filter" }, vv = { class: "map-filter__header" }, gv = {
6673
6673
  schema: _.value,
6674
6674
  value: x.value,
6675
6675
  limit: 10,
6676
- onChange: E[0] || (E[0] = (R) => X(R.data)),
6676
+ onChange: E[0] || (E[0] = (P) => X(P.data)),
6677
6677
  width: 250
6678
6678
  }, null, 8, ["schema", "value"])
6679
6679
  ])
6680
6680
  ], 6)
6681
6681
  ], 8, ["to"])) : Q("", !0),
6682
- (c(), pe(Pt, { to: "body" }, [
6682
+ (c(), pe(Rt, { to: "body" }, [
6683
6683
  u.visible ? (c(), h("div", {
6684
6684
  key: 0,
6685
6685
  class: "filter-badge__hint",
@@ -6746,7 +6746,7 @@ const mv = { class: "map-filter" }, vv = { class: "map-filter__header" }, gv = {
6746
6746
  const L = p == null ? void 0 : p.query;
6747
6747
  return !L || typeof L != "object" ? null : typeof L.basemap == "string" ? L.basemap : null;
6748
6748
  }
6749
- const m = P(() => b()), x = P(() => {
6749
+ const m = R(() => b()), x = R(() => {
6750
6750
  const L = Array.isArray(a == null ? void 0 : a.basemaps) ? a == null ? void 0 : a.basemaps : [];
6751
6751
  if (!L.length) return {};
6752
6752
  const k = {};
@@ -6758,7 +6758,7 @@ const mv = { class: "map-filter" }, vv = { class: "map-filter__header" }, gv = {
6758
6758
  title: A
6759
6759
  };
6760
6760
  }), k;
6761
- }), u = P(() => {
6761
+ }), u = R(() => {
6762
6762
  const L = x.value;
6763
6763
  return Object.keys(L).length ? L : t;
6764
6764
  }), f = F(
@@ -6971,13 +6971,13 @@ const Lv = { class: "min-w-[200px] max-w-[280px] rounded-lg border border-slate-
6971
6971
  value: v(y, $)
6972
6972
  };
6973
6973
  }
6974
- const m = P(() => {
6974
+ const m = R(() => {
6975
6975
  const y = n.value || [], d = r.value || {};
6976
6976
  return y.filter((g) => (g == null ? void 0 : g.meta) !== "title").map((g, _) => b(g, d, _)).filter((g) => g.label);
6977
- }), x = P(() => {
6977
+ }), x = R(() => {
6978
6978
  const y = n.value || [], d = r.value || {}, g = y.find((_) => (_ == null ? void 0 : _.meta) === "title");
6979
6979
  return g ? b(g, d, 0) : null;
6980
- }), u = P(() => {
6980
+ }), u = R(() => {
6981
6981
  var d;
6982
6982
  const y = m.value;
6983
6983
  return (d = x.value) != null && d.value ? [
@@ -7030,7 +7030,7 @@ const Lv = { class: "min-w-[200px] max-w-[280px] rounded-lg border border-slate-
7030
7030
  }
7031
7031
  });
7032
7032
  function Fv() {
7033
- const { map: e, ready: t } = st(), n = St(), r = zt(), l = F(null), i = F(null), s = F(null), a = F(!1), p = F([]), v = F(0), b = P(() => p.value.length), m = P(() => a.value || !!l.value || !!s.value);
7033
+ const { map: e, ready: t } = st(), n = St(), r = zt(), l = F(null), i = F(null), s = F(null), a = F(!1), p = F([]), v = F(0), b = R(() => p.value.length), m = R(() => a.value || !!l.value || !!s.value);
7034
7034
  let x = null, u = !1;
7035
7035
  function f() {
7036
7036
  l.value = null, i.value = null, s.value = null, a.value = !1, p.value = [], v.value = 0;
@@ -7085,15 +7085,15 @@ function Fv() {
7085
7085
  try {
7086
7086
  const T = await fetch(`/api/map-format?${X.toString()}`);
7087
7087
  if (!T.ok) throw new Error(`Failed (${T.status})`);
7088
- const E = await T.json(), R = Array.isArray(E.columns) ? E.columns : [], U = Array.isArray(ie) ? ie : [];
7089
- if (!R.length && !U.length) {
7088
+ const E = await T.json(), P = Array.isArray(E.columns) ? E.columns : [], U = Array.isArray(ie) ? ie : [];
7089
+ if (!P.length && !U.length) {
7090
7090
  console.error("Configure layer in admin"), $();
7091
7091
  return;
7092
7092
  }
7093
7093
  l.value = {
7094
7094
  rows: E.rows || {},
7095
7095
  fields: U,
7096
- columns: R,
7096
+ columns: P,
7097
7097
  html: E.html || null
7098
7098
  }, u || V(i.value);
7099
7099
  const H = (j = E.rows) == null ? void 0 : j.geom;
@@ -7184,7 +7184,7 @@ function Fv() {
7184
7184
  };
7185
7185
  }
7186
7186
  function Iv() {
7187
- const { map: e, ready: t } = st(), n = F([]), r = F(0), l = F(0), i = F(!1), s = F(null), a = F({}), p = F(null), v = F([]), b = P(() => n.value[l.value] || null), m = P(() => n.value.length > 0);
7187
+ const { map: e, ready: t } = st(), n = F([]), r = F(0), l = F(0), i = F(!1), s = F(null), a = F({}), p = F(null), v = F([]), b = R(() => n.value[l.value] || null), m = R(() => n.value.length > 0);
7188
7188
  let x = null;
7189
7189
  const u = () => {
7190
7190
  x == null || x.remove(), x = null;
@@ -7213,9 +7213,9 @@ function Iv() {
7213
7213
  p.value = { x: J, y: ne }, v.value = V, i.value = !0, s.value = null, n.value = [], a.value = {}, l.value = 0;
7214
7214
  try {
7215
7215
  const ue = V.map(async (T) => {
7216
- const E = `/api/map-info-point?x=${J}&y=${ne}&layers=${T}`, R = await fetch(E);
7217
- if (!R.ok) return null;
7218
- const U = await R.json();
7216
+ const E = `/api/map-info-point?x=${J}&y=${ne}&layers=${T}`, P = await fetch(E);
7217
+ if (!P.ok) return null;
7218
+ const U = await P.json();
7219
7219
  if (!U.count) return null;
7220
7220
  const le = await (await fetch(`${E}&index=0`)).json();
7221
7221
  return { layerId: T, data: le, count: U.count };
@@ -7320,10 +7320,10 @@ const zr = /* @__PURE__ */ ve({
7320
7320
  const m = Array.from(v).map((x) => x.charCodeAt(0).toString(16)).join("").slice(0, 8);
7321
7321
  return m ? `layer-${m}` : "layer-temp";
7322
7322
  }
7323
- const i = P(() => {
7323
+ const i = R(() => {
7324
7324
  var v;
7325
7325
  return ((v = n.id) == null ? void 0 : v.trim()) || l(n.title);
7326
- }), s = P(() => n.buttonText || "Показати шар");
7326
+ }), s = R(() => n.buttonText || "Показати шар");
7327
7327
  function a() {
7328
7328
  return {
7329
7329
  id: i.value,
@@ -7465,7 +7465,7 @@ function Go(e) {
7465
7465
  isTemporaryLayerActive: i
7466
7466
  };
7467
7467
  }
7468
- const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string" && e.html.trim().length > 0 : !1, Rv = {
7468
+ const jo = "map-card:external-payload", Rv = (e) => e ? typeof e.html == "string" && e.html.trim().length > 0 : !1, Pv = {
7469
7469
  key: 0,
7470
7470
  class: "card absolute top-4 lg:left-auto right-11 md:left-4 z-[82] w-[calc(100%-36px)] md:w-[400px] max-h-[80%] overflow-hidden rounded-2xl border border-slate-200 bg-white/95 shadow-2xl backdrop-blur-md flex flex-col"
7471
7471
  }, Ov = { class: "flex items-start justify-between gap-3 border-b border-slate-200 px-4 py-3" }, Dv = { class: "min-w-0 flex-1" }, Vv = { class: "text-base font-semibold text-slate-900 truncate" }, Bv = {
@@ -7510,7 +7510,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
7510
7510
  mapId: {}
7511
7511
  },
7512
7512
  setup(e) {
7513
- const t = e, n = Fv(), r = Iv(), l = F(null), i = F(null), s = P(() => {
7513
+ const t = e, n = Fv(), r = Iv(), l = F(null), i = F(null), s = R(() => {
7514
7514
  var S;
7515
7515
  return !!((S = l.value) != null && S.trim());
7516
7516
  });
@@ -7527,10 +7527,10 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
7527
7527
  }), qe(() => {
7528
7528
  typeof window > "u" || window.removeEventListener(jo, p);
7529
7529
  });
7530
- const v = P(() => r.active.value), b = P(() => v.value || n.isOpen.value || s.value), m = P(() => v.value ? r.loading.value : n.cardLoading.value), x = P(() => v.value ? r.error.value : n.cardError.value), u = P(() => {
7530
+ const v = R(() => r.active.value), b = R(() => v.value || n.isOpen.value || s.value), m = R(() => v.value ? r.loading.value : n.cardLoading.value), x = R(() => v.value ? r.error.value : n.cardError.value), u = R(() => {
7531
7531
  var S, I;
7532
7532
  return v.value ? ((S = r.current.value) == null ? void 0 : S.html) || null : s.value ? l.value : ((I = n.card.value) == null ? void 0 : I.html) || null;
7533
- }), f = st(), y = Zo(), d = P(() => {
7533
+ }), f = st(), y = Zo(), d = R(() => {
7534
7534
  var S, I;
7535
7535
  return ((I = (S = y.value) == null ? void 0 : S.map) == null ? void 0 : I.cardHideEmpty) ?? null;
7536
7536
  }), g = St(), {
@@ -7542,10 +7542,10 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
7542
7542
  function $(S) {
7543
7543
  window.dispatchEvent(new CustomEvent(m0, { detail: S }));
7544
7544
  }
7545
- const C = P(() => {
7545
+ const C = R(() => {
7546
7546
  var S;
7547
7547
  return ((S = n.cardFeature.value) == null ? void 0 : S.source) ?? null;
7548
- }), A = P(() => C.value ? `map-card:${C.value}` : "map-card"), z = P(() => {
7548
+ }), A = R(() => C.value ? `map-card:${C.value}` : "map-card"), z = R(() => {
7549
7549
  var me, ke;
7550
7550
  const S = n.cardFeature.value, I = (S == null ? void 0 : S.source) || ((me = S == null ? void 0 : S.layer) == null ? void 0 : me.id), G = ((ke = S == null ? void 0 : S.properties) == null ? void 0 : ke.id) ?? (S == null ? void 0 : S.id);
7551
7551
  return I && G != null ? `${I}:${G}` : null;
@@ -7555,7 +7555,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
7555
7555
  const I = (window.location.pathname || "").match(/\/maps?\/([^/]+)/i);
7556
7556
  return I && I[1] ? I[1] : null;
7557
7557
  }
7558
- const ue = P(() => {
7558
+ const ue = R(() => {
7559
7559
  const S = typeof t.mapId == "string" ? t.mapId.trim() : "";
7560
7560
  if (S.length) return S;
7561
7561
  const I = typeof g.params.slug == "string" ? g.params.slug.trim() : "";
@@ -7591,7 +7591,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
7591
7591
  }
7592
7592
  return [];
7593
7593
  }
7594
- function R(S) {
7594
+ function P(S) {
7595
7595
  const I = E(S);
7596
7596
  if (I.length < 4) return null;
7597
7597
  const [G, me, ke, Ne] = I;
@@ -7602,7 +7602,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
7602
7602
  const I = S.trim();
7603
7603
  if (!I.length) return null;
7604
7604
  try {
7605
- const ke = JSON.parse(I), Ne = R(ke);
7605
+ const ke = JSON.parse(I), Ne = P(ke);
7606
7606
  if (Ne) return Ne;
7607
7607
  } catch {
7608
7608
  }
@@ -7694,19 +7694,19 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
7694
7694
  bounds: S.bounds
7695
7695
  };
7696
7696
  }
7697
- const Ae = P(() => {
7697
+ const Ae = R(() => {
7698
7698
  if (v.value && r.current.value)
7699
7699
  return r.current.value.data ?? {};
7700
7700
  const S = n.card.value;
7701
7701
  return (S == null ? void 0 : S.rows) ?? {};
7702
- }), ze = P(() => {
7702
+ }), ze = R(() => {
7703
7703
  if (v.value && r.current.value)
7704
7704
  return r.current.value.fields ?? [];
7705
7705
  const S = n.card.value;
7706
7706
  if (!S) return [];
7707
7707
  const I = Array.isArray(S.columns) ? S.columns : [];
7708
7708
  return I.length ? I : Array.isArray(S.fields) ? S.fields : [];
7709
- }), K = P(() => {
7709
+ }), K = R(() => {
7710
7710
  const S = ze.value;
7711
7711
  if (!S.length) return [];
7712
7712
  const I = Ae.value;
@@ -7768,12 +7768,12 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
7768
7768
  }
7769
7769
  return [];
7770
7770
  }
7771
- const be = F(!1), Re = F(!0), ot = F((() => {
7771
+ const be = F(!1), Pe = F(!0), ot = F((() => {
7772
7772
  var S, I;
7773
7773
  return typeof window > "u" ? null : ((I = (S = window.localStorage) == null ? void 0 : S.getItem) == null ? void 0 : I.call(S, Nr)) ?? null;
7774
7774
  })()), et = (S) => {
7775
7775
  const I = typeof S == "string" && S.toLowerCase() === "true";
7776
- be.value = I, Re.value = !I;
7776
+ be.value = I, Pe.value = !I;
7777
7777
  }, _t = (S) => {
7778
7778
  ot.value = S;
7779
7779
  };
@@ -7785,7 +7785,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
7785
7785
  window.removeEventListener("storage", S);
7786
7786
  });
7787
7787
  }
7788
- const ht = P(() => typeof ot.value == "string");
7788
+ const ht = R(() => typeof ot.value == "string");
7789
7789
  re(
7790
7790
  ot,
7791
7791
  (S) => {
@@ -7799,9 +7799,9 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
7799
7799
  },
7800
7800
  { immediate: !0 }
7801
7801
  );
7802
- const kn = P(
7802
+ const kn = R(
7803
7803
  () => K.value.filter((S) => xe(S.value)).length
7804
- ), $n = P(() => be.value && !Re.value ? K.value.filter((S) => !xe(S.value)) : K.value);
7804
+ ), $n = R(() => be.value && !Pe.value ? K.value.filter((S) => !xe(S.value)) : K.value);
7805
7805
  function cn(S) {
7806
7806
  const I = typeof S == "string" ? S : "";
7807
7807
  if (!I.length) return { sanitized: "", hiddenCount: 0 };
@@ -7818,23 +7818,23 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
7818
7818
  }
7819
7819
  }), { sanitized: me.body.innerHTML, hiddenCount: ke };
7820
7820
  }
7821
- const tn = P(() => cn(u.value)), Cn = P(() => u.value ? tn.value.hiddenCount : 0), Sn = P(() => kn.value + Cn.value), An = P(
7821
+ const tn = R(() => cn(u.value)), Cn = R(() => u.value ? tn.value.hiddenCount : 0), Sn = R(() => kn.value + Cn.value), An = R(
7822
7822
  () => {
7823
7823
  var S;
7824
- return be.value && !Re.value && !!((S = u.value) != null && S.trim());
7824
+ return be.value && !Pe.value && !!((S = u.value) != null && S.trim());
7825
7825
  }
7826
- ), Zt = P(
7826
+ ), Zt = R(
7827
7827
  () => be.value && Sn.value > 0
7828
- ), Ln = P(
7829
- () => Re.value ? "Приховати пусті значення" : "Показати пусті значення"
7830
- ), q = P(() => Re.value ? Us : Xr);
7828
+ ), Ln = R(
7829
+ () => Pe.value ? "Приховати пусті значення" : "Показати пусті значення"
7830
+ ), q = R(() => Pe.value ? Us : Xr);
7831
7831
  function ee() {
7832
- Re.value = !Re.value;
7832
+ Pe.value = !Pe.value;
7833
7833
  }
7834
- const Z = P(() => {
7834
+ const Z = R(() => {
7835
7835
  const S = An.value ? tn.value.sanitized : u.value ?? "";
7836
7836
  return ge(S);
7837
- }), we = P(() => Z.value.filter((S) => S.type === "layer"));
7837
+ }), we = R(() => Z.value.filter((S) => S.type === "layer"));
7838
7838
  function $e(S) {
7839
7839
  return Array.isArray(S) ? S.map((I, G) => {
7840
7840
  const me = T(typeof (I == null ? void 0 : I.url) == "string" ? I.url : ""), ke = typeof (I == null ? void 0 : I.geohub) == "string" && I.geohub.trim().length ? `/api-hub/tms/${I.geohub.trim()}/ua/{z}/{x}/{y}.png` : "", Ne = ((I == null ? void 0 : I.name) || (I == null ? void 0 : I.title) || (I == null ? void 0 : I.label) || `Шар ${G + 1}`).toString(), Qe = (I == null ? void 0 : I.id) != null ? String(I.id) : D(`${Ne}-${G + 1}`), Je = (I == null ? void 0 : I.buttonText) || (I == null ? void 0 : I.button_text) || null, it = (I == null ? void 0 : I.description) || (I == null ? void 0 : I.subtitle) || null, vt = me || T(ke) || "";
@@ -7847,11 +7847,11 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
7847
7847
  buttonText: Je || void 0
7848
7848
  };
7849
7849
  typeof (I == null ? void 0 : I.tileSize) == "number" && (rt.tileSize = I.tileSize), typeof (I == null ? void 0 : I.tile_size) == "number" && (rt.tileSize = I.tile_size), typeof (I == null ? void 0 : I.minzoom) == "number" && (rt.minzoom = I.minzoom), typeof (I == null ? void 0 : I.maxzoom) == "number" && (rt.maxzoom = I.maxzoom), typeof (I == null ? void 0 : I.opacity) == "number" && (rt.opacity = I.opacity);
7850
- const gt = R((I == null ? void 0 : I.bounds) ?? (I == null ? void 0 : I.bbox) ?? null);
7850
+ const gt = P((I == null ? void 0 : I.bounds) ?? (I == null ? void 0 : I.bbox) ?? null);
7851
7851
  return gt && (rt.bounds = gt), rt;
7852
7852
  }).filter(Boolean) : [];
7853
7853
  }
7854
- const Ie = P(() => {
7854
+ const Ie = R(() => {
7855
7855
  var me, ke;
7856
7856
  const S = n.card.value, I = r.current.value, G = [
7857
7857
  (me = S == null ? void 0 : S.rows) == null ? void 0 : me.layers,
@@ -7865,9 +7865,9 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
7865
7865
  return Qe;
7866
7866
  }
7867
7867
  return [];
7868
- }), De = P(
7868
+ }), De = R(
7869
7869
  () => Z.value.length > 0 || K.value.length > 0 || Ie.value.length > 0
7870
- ), Pe = P(() => !n.cardLoading.value && !!n.card.value);
7870
+ ), Re = R(() => !n.cardLoading.value && !!n.card.value);
7871
7871
  function kt() {
7872
7872
  const S = {}, I = Y.value;
7873
7873
  if (I && typeof I == "object" && Object.entries(I).forEach(([G, me]) => {
@@ -7954,7 +7954,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
7954
7954
  prev: We,
7955
7955
  count: tt,
7956
7956
  index: Ze
7957
- } = r, xt = P(() => n.count.value), At = P(() => n.index.value), Ft = P(() => xt.value > 1), Nt = P(() => v.value ? tt.value : xt.value), bt = P(() => v.value ? Ze.value : At.value), Ot = n.next, Mn = n.prev;
7957
+ } = r, xt = R(() => n.count.value), At = R(() => n.index.value), Ft = R(() => xt.value > 1), Nt = R(() => v.value ? tt.value : xt.value), bt = R(() => v.value ? Ze.value : At.value), Ot = n.next, Mn = n.prev;
7958
7958
  function nn() {
7959
7959
  const S = Be();
7960
7960
  S && (L(S), $({ action: "clear", owner: S }), V.value = null);
@@ -8144,7 +8144,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
8144
8144
  Lt();
8145
8145
  return;
8146
8146
  }
8147
- if (!Pe.value) {
8147
+ if (!Re.value) {
8148
8148
  Lt();
8149
8149
  return;
8150
8150
  }
@@ -8184,7 +8184,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
8184
8184
  return;
8185
8185
  }
8186
8186
  !v.value && n.cardFeature.value && En(n.cardFeature.value);
8187
- }), re(Pe, (S) => {
8187
+ }), re(Re, (S) => {
8188
8188
  a() || (S ? En(n.cardFeature.value) : Lt());
8189
8189
  }), re(
8190
8190
  () => Jo(),
@@ -8197,7 +8197,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
8197
8197
  nn(), Lt();
8198
8198
  }), (S, I) => (c(), pe(zo, { name: "fade" }, {
8199
8199
  default: Ve(() => [
8200
- b.value ? (c(), h("div", Rv, [
8200
+ b.value ? (c(), h("div", Pv, [
8201
8201
  o("div", Ov, [
8202
8202
  o("div", Dv, [
8203
8203
  o("p", Vv, [
@@ -8468,7 +8468,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
8468
8468
  targetAriaLabel: {}
8469
8469
  },
8470
8470
  setup(e) {
8471
- const t = e, { map: n, ready: r } = st(), l = F(null), i = F(null), s = F(null), a = F(null), p = Zo(), v = P(() => {
8471
+ const t = e, { map: n, ready: r } = st(), l = F(null), i = F(null), s = F(null), a = F(null), p = Zo(), v = R(() => {
8472
8472
  var _;
8473
8473
  return ((_ = p.value) == null ? void 0 : _.map) ?? null;
8474
8474
  });
@@ -8540,10 +8540,10 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
8540
8540
  },
8541
8541
  { immediate: !0 }
8542
8542
  );
8543
- const u = P(() => {
8543
+ const u = R(() => {
8544
8544
  var _;
8545
8545
  return ((_ = t.targetLabel) == null ? void 0 : _.trim()) || "Точка";
8546
- }), f = P(() => t.targetAriaLabel || "Перейти до точки"), y = P(() => !!s.value);
8546
+ }), f = R(() => t.targetAriaLabel || "Перейти до точки"), y = R(() => !!s.value);
8547
8547
  He(async () => {
8548
8548
  await (r == null ? void 0 : r());
8549
8549
  const _ = n.value;
@@ -8601,7 +8601,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
8601
8601
  }), sn = /* @__PURE__ */ Fe(b0, [["__scopeId", "data-v-03fa94f6"]]), w0 = { class: "flex h-full bg-gradient-to-br from-slate-50 to-white" }, _0 = { class: "flex-1 relative overflow-hidden" }, k0 = { class: "absolute top-0 left-0 w-full z-20" }, $0 = { class: "flex items-center justify-between bg-white/80 backdrop-blur border-b border-gray-200 px-6 py-3 shadow-sm gap-4" }, C0 = { class: "flex items-center gap-3 h-[2.75rem]" }, S0 = { class: "font-semibold text-lg text-gray-800 line-clamp-1" }, A0 = {
8602
8602
  key: 0,
8603
8603
  class: "text-xs text-gray-500 truncate"
8604
- }, L0 = ["title"], M0 = { class: "w-full h-full bg-gradient-to-br from-sky-50 via-white to-blue-50 flex items-center justify-center relative pt-[64px]" }, E0 = { class: "relative w-full h-full" }, T0 = { style: { top: "17px", left: "230px", position: "absolute", "z-index": "1" } }, F0 = { class: "absolute top-4 left-4 z-20" }, I0 = { class: "absolute top-[6.5rem] right-2 space-y-1 z-20" }, j0 = { class: "absolute bottom-4 left-4 z-20" }, z0 = { class: "flex-1 flex flex-col h-full" }, N0 = { class: "px-3 pt-3 pb-2 border-b border-gray-100" }, P0 = { class: "items-center justify-center text-muted-foreground grid w-full grid-cols-6 h-12 p-1 bg-gray-50 rounded-xl shadow-sm" }, R0 = ["aria-selected", "onClick"], O0 = { class: "leading-none" }, D0 = { class: "flex flex-col flex-1 overflow-y-hidden p-3" }, V0 = "OpenGIS", Pr = 2, Zn = 5, B0 = 1e3, U0 = /* @__PURE__ */ ve({
8604
+ }, L0 = ["title"], M0 = { class: "w-full h-full bg-gradient-to-br from-sky-50 via-white to-blue-50 flex items-center justify-center relative pt-[64px]" }, E0 = { class: "relative w-full h-full" }, T0 = { style: { top: "17px", left: "230px", position: "absolute", "z-index": "1" } }, F0 = { class: "absolute top-4 left-4 z-20" }, I0 = { class: "absolute top-[6.5rem] right-2 space-y-1 z-20" }, j0 = { class: "absolute bottom-4 left-4 z-20" }, z0 = { class: "flex-1 flex flex-col h-full" }, N0 = { class: "px-3 pt-3 pb-2 border-b border-gray-100" }, R0 = { class: "items-center justify-center text-muted-foreground grid w-full grid-cols-6 h-12 p-1 bg-gray-50 rounded-xl shadow-sm" }, P0 = ["aria-selected", "onClick"], O0 = { class: "leading-none" }, D0 = { class: "flex flex-col flex-1 overflow-y-hidden p-3" }, V0 = "OpenGIS", Rr = 2, Zn = 5, B0 = 1e3, U0 = /* @__PURE__ */ ve({
8605
8605
  __name: "service",
8606
8606
  props: {
8607
8607
  hideServiceKey: { type: Boolean, default: !1 }
@@ -8638,18 +8638,18 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
8638
8638
  const N = y(r.query.z), te = y(r.query.x), xe = y(r.query.y);
8639
8639
  if (N == null || te == null || xe == null) return;
8640
8640
  const Le = (et = w.getCenter) == null ? void 0 : et.call(w), be = (_t = w.getZoom) == null ? void 0 : _t.call(w);
8641
- (!Le || g(Le.lng, te, Zn) || g(Le.lat, xe, Zn) || g(be ?? 0, N, Pr)) && (u.value = !0, w.jumpTo({ center: [te, xe], zoom: N }), u.value = !1);
8641
+ (!Le || g(Le.lng, te, Zn) || g(Le.lat, xe, Zn) || g(be ?? 0, N, Rr)) && (u.value = !0, w.jumpTo({ center: [te, xe], zoom: N }), u.value = !1);
8642
8642
  }
8643
8643
  function M() {
8644
- var Le, be, Re, Ye;
8644
+ var Le, be, Pe, Ye;
8645
8645
  if (u.value) return;
8646
8646
  const w = (be = (Le = f()) == null ? void 0 : Le.map) == null ? void 0 : be.value;
8647
8647
  if (!w) return;
8648
- const N = (Re = w.getCenter) == null ? void 0 : Re.call(w), te = (Ye = w.getZoom) == null ? void 0 : Ye.call(w);
8648
+ const N = (Pe = w.getCenter) == null ? void 0 : Pe.call(w), te = (Ye = w.getZoom) == null ? void 0 : Ye.call(w);
8649
8649
  if (!N || te == null) return;
8650
8650
  const xe = {
8651
8651
  ...r.query,
8652
- z: d(te, Pr),
8652
+ z: d(te, Rr),
8653
8653
  x: d(N.lng, Zn),
8654
8654
  y: d(N.lat, Zn)
8655
8655
  };
@@ -8657,13 +8657,13 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
8657
8657
  }
8658
8658
  const L = F(null), k = F(""), $ = F([]), C = F([]), A = F([]), z = F("list"), V = F(""), J = F([]), ne = F(!0);
8659
8659
  let ie = null;
8660
- const X = P(() => {
8660
+ const X = R(() => {
8661
8661
  var w, N;
8662
8662
  return ((w = v.value) == null ? void 0 : w.id) ?? ((N = v.value) == null ? void 0 : N.service_id) ?? null;
8663
- }), ue = P(() => {
8663
+ }), ue = R(() => {
8664
8664
  const w = (b == null ? void 0 : b.map) || null, N = (w == null ? void 0 : w.boundary) ?? null, te = (w == null ? void 0 : w.katottg) ?? null;
8665
8665
  return !N && !te ? null : { boundary: N, katottg: te };
8666
- }), Y = P(() => {
8666
+ }), Y = R(() => {
8667
8667
  const w = v.value;
8668
8668
  if (!w) return "";
8669
8669
  const N = [];
@@ -8722,7 +8722,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
8722
8722
  return console.warn("Failed to clone style", N), null;
8723
8723
  }
8724
8724
  }
8725
- function R(w) {
8725
+ function P(w) {
8726
8726
  if (!w) return null;
8727
8727
  if (typeof w == "string")
8728
8728
  try {
@@ -8742,7 +8742,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
8742
8742
  function H() {
8743
8743
  var N;
8744
8744
  if (!v.value) return;
8745
- const w = R(L.value);
8745
+ const w = P(L.value);
8746
8746
  U(w, ((N = v.value) == null ? void 0 : N.style) ?? null) || (v.value = {
8747
8747
  ...v.value,
8748
8748
  style: w
@@ -8759,7 +8759,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
8759
8759
  if (!w.ok) throw new Error(`${w.status}`);
8760
8760
  const N = await w.json();
8761
8761
  p.value = N || {}, a.value = i;
8762
- const te = R(N.style);
8762
+ const te = P(N.style);
8763
8763
  v.value = N ? { ...N, style: E(te) } : null, L.value = te, k.value = typeof (N == null ? void 0 : N.style) == "string" ? N.style : te ? Lr.dump(te) : "", C.value = (N == null ? void 0 : N.popup) || [], z.value = N.card_mode === "html" ? "html" : "list", A.value = N.card, V.value = N.html, $.value = (N == null ? void 0 : N.legend) || [], J.value = (N == null ? void 0 : N.filters) || [];
8764
8764
  } catch (w) {
8765
8765
  console.error("Failed to fetch map info", w);
@@ -8771,7 +8771,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
8771
8771
  return (w = v.value) == null ? void 0 : w.style;
8772
8772
  },
8773
8773
  (w) => {
8774
- L.value = R(w);
8774
+ L.value = P(w);
8775
8775
  },
8776
8776
  { deep: !0 }
8777
8777
  ), re(
@@ -8866,11 +8866,11 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
8866
8866
  ref: s
8867
8867
  }, {
8868
8868
  default: Ve(() => {
8869
- var be, Re, Ye, ot, et, _t, ht;
8869
+ var be, Pe, Ye, ot, et, _t, ht;
8870
8870
  return [
8871
8871
  (be = v.value) != null && be.service_id ? (c(), pe(dv, {
8872
8872
  key: 0,
8873
- id: (Re = v.value) == null ? void 0 : Re.service_id,
8873
+ id: (Pe = v.value) == null ? void 0 : Pe.service_id,
8874
8874
  layer: v.value,
8875
8875
  "style-spec": ((Ye = v.value) == null ? void 0 : Ye.style) || null,
8876
8876
  autoCenter: !1
@@ -8928,18 +8928,18 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
8928
8928
  }, [
8929
8929
  o("div", z0, [
8930
8930
  o("div", N0, [
8931
- o("div", P0, [
8931
+ o("div", R0, [
8932
8932
  (c(), h(se, null, ye(O, (be) => o("button", {
8933
8933
  key: be.key,
8934
8934
  type: "button",
8935
8935
  role: "tab",
8936
8936
  "aria-selected": D.value === be.key,
8937
8937
  class: Ee(["whitespace-nowrap flex flex-col items-center justify-center gap-0.5 py-1 px-1 text-[9px] font-medium transition-all duration-300 hover:bg-white/70 rounded-lg group", D.value === be.key ? "bg-white shadow-sm text-gray-700" : ""]),
8938
- onClick: (Re) => D.value = be.key
8938
+ onClick: (Pe) => D.value = be.key
8939
8939
  }, [
8940
8940
  (c(), pe(Yt(be.icon), { class: "h-3.5 w-3.5 mb-0.5" })),
8941
8941
  o("span", O0, B(be.label), 1)
8942
- ], 10, R0)), 64))
8942
+ ], 10, P0)), 64))
8943
8943
  ])
8944
8944
  ]),
8945
8945
  o("div", D0, [
@@ -9211,7 +9211,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9211
9211
  },
9212
9212
  { immediate: !0 }
9213
9213
  );
9214
- const b = P(() => `${Math.round(a.value * 100)}%`);
9214
+ const b = R(() => `${Math.round(a.value * 100)}%`);
9215
9215
  return (m, x) => (c(), h("div", _g, [
9216
9216
  o("div", kg, [
9217
9217
  o("div", $g, [
@@ -9256,7 +9256,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9256
9256
  beforeId: {}
9257
9257
  },
9258
9258
  setup(e) {
9259
- const t = e, n = t.layerId || "extent-outline-layer", r = `${n}-source`, l = P(() => {
9259
+ const t = e, n = t.layerId || "extent-outline-layer", r = `${n}-source`, l = R(() => {
9260
9260
  const a = t.extent;
9261
9261
  if (!a || a.length !== 4) return null;
9262
9262
  const [p, v, b, m] = a;
@@ -9318,7 +9318,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9318
9318
  }, Fg = {
9319
9319
  key: 1,
9320
9320
  class: "py-6 px-4 text-sm text-red-600"
9321
- }, Ig = { class: "flex justify-end gap-2 px-4 py-3 border-t border-gray-100 w-full" }, jg = ["disabled"], zg = ["disabled"], Ng = 192, Rr = 8, In = 8, ns = /* @__PURE__ */ ve({
9321
+ }, Ig = { class: "flex justify-end gap-2 px-4 py-3 border-t border-gray-100 w-full" }, jg = ["disabled"], zg = ["disabled"], Ng = 192, Pr = 8, In = 8, ns = /* @__PURE__ */ ve({
9322
9322
  __name: "HeaderActions",
9323
9323
  props: {
9324
9324
  entityId: {},
@@ -9332,7 +9332,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9332
9332
  },
9333
9333
  emits: ["saved"],
9334
9334
  setup(e, { emit: t }) {
9335
- const n = e, r = t, l = ft(() => import("@opengis/core").then((H) => H.VsModal)), i = ft(() => import("@opengis/form")), s = F(!1), a = F(null), p = F(null), v = F(null), b = F(null), m = P(() => b.value ? {
9335
+ const n = e, r = t, l = ft(() => import("@opengis/core").then((H) => H.VsModal)), i = ft(() => import("@opengis/form")), s = F(!1), a = F(null), p = F(null), v = F(null), b = F(null), m = R(() => b.value ? {
9336
9336
  position: "fixed",
9337
9337
  top: `${b.value.top}px`,
9338
9338
  left: `${b.value.left}px`
@@ -9340,24 +9340,24 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9340
9340
  re(s, (H) => {
9341
9341
  H && lt(j);
9342
9342
  });
9343
- const x = F(!1), u = F(null), f = F({}), y = F(null), d = F(""), g = F(!1), _ = F(!1), M = F(null), L = P(() => n.entityId || ""), k = (H, le) => H ? typeof H == "function" ? H(le) : typeof H != "string" ? "" : H.includes(":id") ? le ? H.replace(":id", encodeURIComponent(le)) : "" : H : "", $ = P(() => {
9343
+ const x = F(!1), u = F(null), f = F({}), y = F(null), d = F(""), g = F(!1), _ = F(!1), M = F(null), L = R(() => n.entityId || ""), k = (H, le) => H ? typeof H == "function" ? H(le) : typeof H != "string" ? "" : H.includes(":id") ? le ? H.replace(":id", encodeURIComponent(le)) : "" : H : "", $ = R(() => {
9344
9344
  var H;
9345
9345
  return (H = n.table) == null ? void 0 : H.trim();
9346
- }), C = P(() => {
9346
+ }), C = R(() => {
9347
9347
  if (n.formEndpoint) return n.formEndpoint;
9348
9348
  if ($.value)
9349
9349
  return (H) => `/api/form/${$.value}/${H}`;
9350
- }), A = P(() => {
9350
+ }), A = R(() => {
9351
9351
  if (n.saveEndpoint) return n.saveEndpoint;
9352
9352
  if ($.value)
9353
9353
  return (H) => `/api/table/${H}`;
9354
- }), z = P(() => k(C.value, L.value)), V = P(() => n.saveEndpoint ? k(n.saveEndpoint, L.value) : M.value ? `/api/table/${encodeURIComponent(M.value)}` : k(A.value, L.value)), J = P(() => k("/api/gis-clear-rtile/:id", L.value)), ne = P(() => k("/api/gis-xml/:id", L.value)), ie = P(() => {
9354
+ }), z = R(() => k(C.value, L.value)), V = R(() => n.saveEndpoint ? k(n.saveEndpoint, L.value) : M.value ? `/api/table/${encodeURIComponent(M.value)}` : k(A.value, L.value)), J = R(() => k("/api/gis-clear-rtile/:id", L.value)), ne = R(() => k("/api/gis-xml/:id", L.value)), ie = R(() => {
9355
9355
  var de, ge, he;
9356
9356
  const H = (ge = (de = n.entityInfo) == null ? void 0 : de.name) == null ? void 0 : ge.trim();
9357
9357
  if (H) return `Редагування ${H}`;
9358
9358
  const le = (he = n.entityLabel) == null ? void 0 : he.trim();
9359
9359
  return le ? `Редагування ${le}` : "Редагування";
9360
- }), X = P(() => n.editButtonText || "Редагувати"), ue = P(() => (n.saveMethod || "POST").toUpperCase());
9360
+ }), X = R(() => n.editButtonText || "Редагувати"), ue = R(() => (n.saveMethod || "POST").toUpperCase());
9361
9361
  function Y() {
9362
9362
  s.value || j(), s.value = !s.value;
9363
9363
  }
@@ -9367,10 +9367,10 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9367
9367
  function j() {
9368
9368
  var w;
9369
9369
  if (typeof window > "u" || !p.value) return;
9370
- const H = p.value.getBoundingClientRect(), le = window.innerWidth, de = window.innerHeight, ge = H.left, he = Math.max(le - Ng - In, In), Ae = Math.min(Math.max(ge, In), he), ze = ((w = v.value) == null ? void 0 : w.offsetHeight) ?? 0, K = H.bottom + Rr;
9370
+ const H = p.value.getBoundingClientRect(), le = window.innerWidth, de = window.innerHeight, ge = H.left, he = Math.max(le - Ng - In, In), Ae = Math.min(Math.max(ge, In), he), ze = ((w = v.value) == null ? void 0 : w.offsetHeight) ?? 0, K = H.bottom + Pr;
9371
9371
  let fe = K;
9372
9372
  if (ze && K + ze > de - In) {
9373
- const N = H.top - Rr - ze;
9373
+ const N = H.top - Pr - ze;
9374
9374
  fe = Math.max(N, In);
9375
9375
  }
9376
9376
  b.value = { top: fe, left: Ae };
@@ -9408,7 +9408,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9408
9408
  }
9409
9409
  }
9410
9410
  }
9411
- function R() {
9411
+ function P() {
9412
9412
  x.value = !1, u.value = null, d.value = "", M.value = null;
9413
9413
  }
9414
9414
  async function U() {
@@ -9438,7 +9438,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9438
9438
  type: "success",
9439
9439
  title: "Збережено",
9440
9440
  message: "Зміни збережено"
9441
- }), r("saved", f.value), R();
9441
+ }), r("saved", f.value), P();
9442
9442
  } catch (de) {
9443
9443
  console.error("Failed to save edit form", de), je({
9444
9444
  type: "error",
@@ -9478,7 +9478,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9478
9478
  })
9479
9479
  ], -1)
9480
9480
  ])], 512),
9481
- (c(), pe(Pt, { to: "body" }, [
9481
+ (c(), pe(Rt, { to: "body" }, [
9482
9482
  s.value ? (c(), h("div", {
9483
9483
  key: 0,
9484
9484
  ref_key: "menuContainer",
@@ -9538,7 +9538,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9538
9538
  o("button", {
9539
9539
  type: "button",
9540
9540
  class: "px-4 py-2 rounded bg-gray-100 text-gray-700",
9541
- onClick: R,
9541
+ onClick: P,
9542
9542
  disabled: _.value
9543
9543
  }, " Скасувати ", 8, jg),
9544
9544
  o("button", {
@@ -9563,7 +9563,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9563
9563
  }, 8, ["visible", "title"])
9564
9564
  ], 512));
9565
9565
  }
9566
- }), Pg = { class: "flex h-full bg-gradient-to-br from-slate-50 to-white" }, Rg = { class: "flex-1 relative overflow-hidden" }, Og = { class: "absolute top-0 left-0 w-full z-20" }, Dg = { class: "flex items-center justify-between bg-white/80 backdrop-blur border-b border-gray-200 px-6 py-3 shadow-sm gap-4" }, Vg = { class: "flex items-center gap-3 min-w-0" }, Bg = { class: "flex flex-col min-w-0" }, Ug = { class: "font-semibold text-lg text-gray-800 line-clamp-1" }, qg = {
9566
+ }), Rg = { class: "flex h-full bg-gradient-to-br from-slate-50 to-white" }, Pg = { class: "flex-1 relative overflow-hidden" }, Og = { class: "absolute top-0 left-0 w-full z-20" }, Dg = { class: "flex items-center justify-between bg-white/80 backdrop-blur border-b border-gray-200 px-6 py-3 shadow-sm gap-4" }, Vg = { class: "flex items-center gap-3 min-w-0" }, Bg = { class: "flex flex-col min-w-0" }, Ug = { class: "font-semibold text-lg text-gray-800 line-clamp-1" }, qg = {
9567
9567
  key: 0,
9568
9568
  class: "text-xs text-gray-500 truncate"
9569
9569
  }, Hg = { class: "flex items-center gap-4" }, Wg = { class: "flex-1 min-w-0" }, Yg = ["title"], Zg = { class: "w-full h-full bg-gradient-to-br from-sky-50 via-white to-blue-50 flex items-center justify-center relative pt-[64px]" }, Gg = { class: "relative w-full h-full" }, Kg = { class: "absolute top-4 left-4 z-20" }, Xg = { class: "absolute top-[6.5rem] right-2 space-y-1 z-20" }, Qg = { class: "flex-1 flex flex-col h-full" }, Jg = { class: "px-3 pt-3 pb-2 border-b border-gray-100" }, ey = { class: "items-center justify-center text-muted-foreground grid w-full grid-cols-3 h-12 p-1 bg-gray-50 rounded-xl shadow-sm" }, ty = ["aria-selected", "onClick"], ny = { class: "leading-none" }, oy = { class: "flex flex-col flex-1 overflow-y-hidden p-4" }, ry = {
@@ -9580,7 +9580,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9580
9580
  { cardClass: "bg-gradient-to-br from-blue-50 to-blue-100/30 border-blue-200", titleClass: "text-blue-900" },
9581
9581
  { cardClass: "bg-gradient-to-br from-purple-50 to-purple-100/30 border-purple-200", titleClass: "text-purple-900" },
9582
9582
  { cardClass: "bg-gradient-to-br from-gray-50 to-gray-100/30 border-gray-200", titleClass: "text-gray-900" }
9583
- ], n = zt(), r = St(), l = F(null), i = P(() => {
9583
+ ], n = zt(), r = St(), l = F(null), i = R(() => {
9584
9584
  var N;
9585
9585
  const w = (N = r.params) == null ? void 0 : N.id;
9586
9586
  return typeof w == "string" ? w : void 0;
@@ -9614,11 +9614,11 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9614
9614
  (!Le || y(Le.lng, te, Gn) || y(Le.lat, xe, Gn) || y(be ?? 0, N, Or)) && (x.value = !0, w.jumpTo({ center: [te, xe], zoom: N }), x.value = !1);
9615
9615
  }
9616
9616
  function _() {
9617
- var Le, be, Re, Ye;
9617
+ var Le, be, Pe, Ye;
9618
9618
  if (x.value) return;
9619
9619
  const w = (be = (Le = d()) == null ? void 0 : Le.map) == null ? void 0 : be.value;
9620
9620
  if (!w) return;
9621
- const N = (Re = w.getCenter) == null ? void 0 : Re.call(w), te = (Ye = w.getZoom) == null ? void 0 : Ye.call(w);
9621
+ const N = (Pe = w.getCenter) == null ? void 0 : Pe.call(w), te = (Ye = w.getZoom) == null ? void 0 : Ye.call(w);
9622
9622
  if (!N || te == null) return;
9623
9623
  const xe = {
9624
9624
  ...r.query,
@@ -9634,24 +9634,24 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9634
9634
  const w = (N = J.value) == null ? void 0 : N.name;
9635
9635
  document.title = w ? `${w} — Растер` : sy;
9636
9636
  }
9637
- const L = P(() => {
9637
+ const L = R(() => {
9638
9638
  var N;
9639
9639
  const w = (N = s.value) == null ? void 0 : N.url;
9640
9640
  return w ? /^https?:\/\//i.test(w) || typeof window > "u" || typeof location > "u" ? w : `${location.origin}${w}` : "";
9641
- }), k = P(() => {
9641
+ }), k = R(() => {
9642
9642
  var w;
9643
9643
  return ((w = s.value) == null ? void 0 : w.extent) ?? null;
9644
- }), $ = P(() => i.value ? `raster-${i.value}` : void 0), C = P(() => i.value ? `raster-extent-${i.value}` : "raster-extent"), A = P(() => {
9644
+ }), $ = R(() => i.value ? `raster-${i.value}` : void 0), C = R(() => i.value ? `raster-extent-${i.value}` : "raster-extent"), A = R(() => {
9645
9645
  const w = $.value ?? "raster", N = k.value && k.value.length === 4 ? k.value.join(",") : "no-extent";
9646
9646
  return `${w}-${N}`;
9647
- }), z = P(() => !!L.value), V = P(() => {
9647
+ }), z = R(() => !!L.value), V = R(() => {
9648
9648
  const w = k.value;
9649
9649
  if (!w || w.length !== 4) return null;
9650
9650
  const [N, te, xe, Le] = w;
9651
9651
  return [N, te, xe, Le].some(
9652
9652
  (be) => typeof be != "number" || Number.isNaN(be)
9653
9653
  ) ? null : [(N + xe) / 2, (te + Le) / 2];
9654
- }), J = P(() => {
9654
+ }), J = R(() => {
9655
9655
  var Le, be;
9656
9656
  const w = s.value, N = w == null ? void 0 : w.extent;
9657
9657
  return {
@@ -9663,7 +9663,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9663
9663
  source: w != null && w.proj4 ? w.proj4 : "Джерело: Mapnik",
9664
9664
  updatedAt: w != null && w.cache ? "Дані кешовано" : "Нові дані"
9665
9665
  };
9666
- }), ne = P(() => {
9666
+ }), ne = R(() => {
9667
9667
  const w = s.value;
9668
9668
  return w ? [
9669
9669
  w.source_path,
@@ -9681,7 +9681,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9681
9681
  }), re(ue, (w) => {
9682
9682
  r.query.tab !== w && n.replace({ query: { ...r.query, tab: w } });
9683
9683
  });
9684
- const O = P(() => U(s.value)), j = P(() => le(s.value));
9684
+ const O = R(() => U(s.value)), j = R(() => le(s.value));
9685
9685
  re(
9686
9686
  () => s.value,
9687
9687
  () => {
@@ -9715,7 +9715,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9715
9715
  }, { immediate: !0 });
9716
9716
  async function T(w) {
9717
9717
  var N;
9718
- E(), ((N = s.value) == null ? void 0 : N.srid) !== w.srid && (je({ title: "XML start", type: "info", message: "зміна системи координат, оновлюємо карту ..." }), await R(`/api/gis-xml/${encodeURIComponent(i.value)}`), je({ title: "XML created", type: "info", message: "карта створена" }), location.reload());
9718
+ E(), ((N = s.value) == null ? void 0 : N.srid) !== w.srid && (je({ title: "XML start", type: "info", message: "зміна системи координат, оновлюємо карту ..." }), await P(`/api/gis-xml/${encodeURIComponent(i.value)}`), je({ title: "XML created", type: "info", message: "карта створена" }), location.reload());
9719
9719
  }
9720
9720
  async function E() {
9721
9721
  const w = i.value;
@@ -9729,14 +9729,14 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9729
9729
  if (!N.ok)
9730
9730
  throw new Error(`HTTP ${N.status}`);
9731
9731
  const te = await N.json();
9732
- te.xml && (p.value = !0), s.value = te, te.xml || (je({ title: "XML not found", type: "info", message: "йде створення xml ... зачекайте" }), await R(`/api/gis-xml/${encodeURIComponent(w)}`), je({ title: "XML created", type: "info", message: "карта створена" }), fetch(`/api/gis-raster/${encodeURIComponent(w)}?nocache=1`), p.value = !0);
9732
+ te.xml && (p.value = !0), s.value = te, te.xml || (je({ title: "XML not found", type: "info", message: "йде створення xml ... зачекайте" }), await P(`/api/gis-xml/${encodeURIComponent(w)}`), je({ title: "XML created", type: "info", message: "карта створена" }), fetch(`/api/gis-raster/${encodeURIComponent(w)}?nocache=1`), p.value = !0);
9733
9733
  } catch (N) {
9734
9734
  console.error("Failed to load raster info", N), s.value = null, v.value = N instanceof Error ? N.message : String(N);
9735
9735
  } finally {
9736
9736
  a.value = !1;
9737
9737
  }
9738
9738
  }
9739
- function R(w) {
9739
+ function P(w) {
9740
9740
  return new Promise((N, te) => {
9741
9741
  const xe = new EventSource(w), Le = [];
9742
9742
  xe.onmessage = (be) => {
@@ -9786,14 +9786,14 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9786
9786
  }).filter(Boolean).join("") : "";
9787
9787
  }
9788
9788
  function ge(w) {
9789
- var be, Re;
9789
+ var be, Pe;
9790
9790
  const N = w.bands_count ?? ((be = w.bands) == null ? void 0 : be.length) ?? "—", te = de(w.bands), xe = (w.bands ?? []).map((Ye) => Ye.trim()).filter((Ye) => Ye.length > 0), Le = xe.length ? xe.join(", ") : void 0;
9791
9791
  return [
9792
9792
  {
9793
9793
  label: "Розмір растру, px",
9794
9794
  value: w.width && w.height ? `${w.width}×${w.height}` : "—"
9795
9795
  },
9796
- { label: "Формат файлу", value: ((Re = w.extension) == null ? void 0 : Re.toUpperCase()) ?? "—" },
9796
+ { label: "Формат файлу", value: ((Pe = w.extension) == null ? void 0 : Pe.toUpperCase()) ?? "—" },
9797
9797
  { label: "Розмір файлу, mb", value: w.total_size ? `${w.total_size}` : "—" },
9798
9798
  {
9799
9799
  label: "Кількість каналів",
@@ -9850,8 +9850,8 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
9850
9850
  const te = `${w.toFixed(5)}°`;
9851
9851
  return N ? `${te} ${N}` : te;
9852
9852
  }
9853
- return (w, N) => (c(), h("div", Pg, [
9854
- o("div", Rg, [
9853
+ return (w, N) => (c(), h("div", Rg, [
9854
+ o("div", Pg, [
9855
9855
  o("div", Og, [
9856
9856
  o("div", Dg, [
9857
9857
  o("div", Vg, [
@@ -10014,7 +10014,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
10014
10014
  },
10015
10015
  emits: ["update:modelValue", "save"],
10016
10016
  setup(e, { emit: t }) {
10017
- const n = e, r = t, l = P({
10017
+ const n = e, r = t, l = R({
10018
10018
  get: () => n.modelValue,
10019
10019
  set: (i) => r("update:modelValue", i)
10020
10020
  });
@@ -10280,7 +10280,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
10280
10280
  activateTemporaryLayer: r,
10281
10281
  deactivateTemporaryLayer: l,
10282
10282
  setTemporaryLayerOpacity: i
10283
- } = Go(n.map), s = P(() => {
10283
+ } = Go(n.map), s = R(() => {
10284
10284
  var m;
10285
10285
  const b = `${(m = t == null ? void 0 : t.tileUrl) == null ? void 0 : m.trim()}`;
10286
10286
  return b ? typeof window > "u" || typeof location > "u" || /^https?:\/\//i.test(b) ? b : b.startsWith("//") ? `${window.location.protocol}${b}` : b.startsWith("/") ? `${location.origin}${b}` : `${location.origin}/${b}` : "";
@@ -10320,7 +10320,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
10320
10320
  infoEnabled: { type: [Boolean, null] }
10321
10321
  },
10322
10322
  setup(e) {
10323
- const t = e, n = P(() => t.cartocssId ?? null), r = P(() => !!t.infoEnabled), { map: l, ready: i } = st(), s = (u) => {
10323
+ const t = e, n = R(() => t.cartocssId ?? null), r = R(() => !!t.infoEnabled), { map: l, ready: i } = st(), s = (u) => {
10324
10324
  !u || typeof window > "u" || window.dispatchEvent(
10325
10325
  new CustomEvent(jo, { detail: u })
10326
10326
  );
@@ -10383,7 +10383,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
10383
10383
  await m(C, $);
10384
10384
  return;
10385
10385
  }
10386
- Pv({ html: k == null ? void 0 : k.html }) && s({
10386
+ Rv({ html: k == null ? void 0 : k.html }) && s({
10387
10387
  html: k == null ? void 0 : k.html,
10388
10388
  geometry: $
10389
10389
  });
@@ -10401,7 +10401,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
10401
10401
  }), Ly = { class: "flex h-full bg-gradient-to-br from-slate-50 to-white" }, My = { class: "flex-1 relative overflow-hidden" }, Ey = { class: "absolute top-0 left-0 w-full z-20" }, Ty = { class: "flex items-center justify-between bg-white/80 backdrop-blur border-b border-gray-200 px-6 py-3 shadow-sm gap-4" }, Fy = { class: "flex items-center gap-3 min-w-0" }, Iy = { class: "flex flex-col min-w-0" }, jy = { class: "font-semibold text-lg text-gray-800 line-clamp-1" }, zy = {
10402
10402
  key: 0,
10403
10403
  class: "text-xs text-gray-500 truncate"
10404
- }, Ny = { class: "w-full h-full bg-gradient-to-br from-sky-50 via-white to-blue-50 flex items-center justify-center relative pt-[64px]" }, Py = { class: "relative w-full h-full" }, Ry = { class: "absolute top-[5.5rem] left-4 z-30 flex flex-col items-start gap-2" }, Oy = { class: "rounded-2xl bg-white/90 px-3 py-2 text-xs font-medium text-slate-600 shadow-sm backdrop-blur" }, Dy = { class: "flex items-center gap-2" }, Vy = { class: "rounded-2xl bg-white/90 px-3 py-2 text-xs font-medium text-slate-600 shadow-sm backdrop-blur" }, By = { class: "inline-flex items-center gap-2 text-[11px] text-slate-600" }, Uy = ["checked"], qy = { class: "absolute top-4 left-4 z-20" }, Hy = { class: "absolute top-[6.5rem] right-2 space-y-1 z-20" }, Wy = { class: "flex-1 flex flex-col h-full" }, Yy = {
10404
+ }, Ny = { class: "w-full h-full bg-gradient-to-br from-sky-50 via-white to-blue-50 flex items-center justify-center relative pt-[64px]" }, Ry = { class: "relative w-full h-full" }, Py = { class: "absolute top-[5.5rem] left-4 z-30 flex flex-col items-start gap-2" }, Oy = { class: "rounded-2xl bg-white/90 px-3 py-2 text-xs font-medium text-slate-600 shadow-sm backdrop-blur" }, Dy = { class: "flex items-center gap-2" }, Vy = { class: "rounded-2xl bg-white/90 px-3 py-2 text-xs font-medium text-slate-600 shadow-sm backdrop-blur" }, By = { class: "inline-flex items-center gap-2 text-[11px] text-slate-600" }, Uy = ["checked"], qy = { class: "absolute top-4 left-4 z-20" }, Hy = { class: "absolute top-[6.5rem] right-2 space-y-1 z-20" }, Wy = { class: "flex-1 flex flex-col h-full" }, Yy = {
10405
10405
  key: 0,
10406
10406
  class: "px-3 pt-3 pb-2 border-b border-gray-100"
10407
10407
  }, Zy = { class: "items-center justify-center text-muted-foreground grid w-full grid-cols-4 h-12 p-1 bg-gray-50 rounded-xl shadow-sm" }, Gy = ["aria-selected", "onClick"], Ky = { class: "leading-none" }, Xy = { class: "flex flex-col flex-1 overflow-y-hidden p-4" }, Qy = {
@@ -10417,10 +10417,10 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
10417
10417
  { key: "card", label: "Картка", icon: Kl }
10418
10418
  ], i = l.map((K) => K.key), s = F(
10419
10419
  i.includes(n.query.tab) ? n.query.tab : "css"
10420
- ), a = F(!0), p = F(null), v = P(() => {
10420
+ ), a = F(!0), p = F(null), v = R(() => {
10421
10421
  var K;
10422
10422
  return (K = p.value) != null && K.source_path ? l.filter((fe) => fe.key === "card" || fe.key === "metadata") : l;
10423
- }), b = P(
10423
+ }), b = R(
10424
10424
  () => n.params.id || Jy
10425
10425
  ), m = F({
10426
10426
  id: b.value,
@@ -10447,8 +10447,8 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
10447
10447
  return (K = r.value) == null ? void 0 : K.ctx;
10448
10448
  }
10449
10449
  function _() {
10450
- var be, Re, Ye, ot;
10451
- const K = (Re = (be = g()) == null ? void 0 : be.map) == null ? void 0 : Re.value;
10450
+ var be, Pe, Ye, ot;
10451
+ const K = (Pe = (be = g()) == null ? void 0 : be.map) == null ? void 0 : Pe.value;
10452
10452
  if (!K) return;
10453
10453
  const fe = f(n.query.z), w = f(n.query.x), N = f(n.query.y);
10454
10454
  if (fe == null || w == null || N == null) return;
@@ -10475,18 +10475,18 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
10475
10475
  }
10476
10476
  const k = F("");
10477
10477
  F("");
10478
- const $ = F([]), C = F(!1), A = F(!1), z = F(""), V = F(0), J = F(!1), ne = F(1), ie = F(!0), X = P(() => `cartocss-layer-${b.value}`), ue = P(() => `${Math.round(ne.value * 100)}%`), Y = P(() => `cartocss-extent-${b.value}`), O = P(() => {
10478
+ const $ = F([]), C = F(!1), A = F(!1), z = F(""), V = F(0), J = F(!1), ne = F(1), ie = F(!0), X = R(() => `cartocss-layer-${b.value}`), ue = R(() => `${Math.round(ne.value * 100)}%`), Y = R(() => `cartocss-extent-${b.value}`), O = R(() => {
10479
10479
  var te;
10480
10480
  const K = (te = z.value) == null ? void 0 : te.trim();
10481
10481
  if (!K) return "";
10482
10482
  const fe = K.includes("?") ? "&" : "?", w = `${K}${fe}nottl=1`, N = V.value;
10483
10483
  return N ? `${K}${fe}ts=${N}&nocache=1` : w;
10484
10484
  });
10485
- P(() => {
10485
+ R(() => {
10486
10486
  const K = p.value;
10487
10487
  return K ? K.cartocss_key || K.source_path || b.value || "" : b.value || "";
10488
10488
  });
10489
- const j = F(""), D = F(""), T = P(() => {
10489
+ const j = F(""), D = F(""), T = R(() => {
10490
10490
  var xe;
10491
10491
  const K = (xe = p.value) == null ? void 0 : xe.bounds;
10492
10492
  if (!Array.isArray(K) || K.length < 4) return null;
@@ -10494,7 +10494,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
10494
10494
  return [fe, w, N, te].some(
10495
10495
  (Le) => typeof Le != "number" || Number.isNaN(Le)
10496
10496
  ) ? null : [(fe + N) / 2, (w + te) / 2];
10497
- }), E = P(() => {
10497
+ }), E = R(() => {
10498
10498
  var xe;
10499
10499
  const K = (xe = p.value) == null ? void 0 : xe.bounds;
10500
10500
  if (!Array.isArray(K) || K.length < 4) return null;
@@ -10502,7 +10502,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
10502
10502
  return [fe, w, N, te].some(
10503
10503
  (Le) => typeof Le != "number" || Number.isNaN(Le)
10504
10504
  ) ? null : [fe, w, N, te];
10505
- }), R = P(() => {
10505
+ }), P = R(() => {
10506
10506
  const K = p.value;
10507
10507
  return K ? ($.value.map((w) => w == null ? void 0 : w.table).filter(Boolean), [
10508
10508
  K.description,
@@ -10680,7 +10680,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
10680
10680
  ])]),
10681
10681
  o("div", Iy, [
10682
10682
  o("div", jy, B(m.value.name), 1),
10683
- R.value ? (c(), h("div", zy, B(R.value), 1)) : Q("", !0)
10683
+ P.value ? (c(), h("div", zy, B(P.value), 1)) : Q("", !0)
10684
10684
  ])
10685
10685
  ]),
10686
10686
  oe(ns, {
@@ -10695,7 +10695,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
10695
10695
  ])
10696
10696
  ]),
10697
10697
  o("div", Ny, [
10698
- o("div", Py, [
10698
+ o("div", Ry, [
10699
10699
  oe(uo, {
10700
10700
  ref_key: "mapViewRef",
10701
10701
  ref: r
@@ -10703,7 +10703,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
10703
10703
  default: Ve(() => {
10704
10704
  var w, N;
10705
10705
  return [
10706
- o("div", Ry, [
10706
+ o("div", Py, [
10707
10707
  o("div", Oy, [
10708
10708
  o("div", Dy, [
10709
10709
  fe[7] || (fe[7] = o("span", null, "Прозорість:", -1)),
@@ -10873,10 +10873,10 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
10873
10873
  },
10874
10874
  emits: ["update:modelValue", "update:form"],
10875
10875
  setup(e, { emit: t }) {
10876
- const n = ft(() => import("@opengis/form")), r = e, l = t, i = P({
10876
+ const n = ft(() => import("@opengis/form")), r = e, l = t, i = R({
10877
10877
  get: () => r.modelValue,
10878
10878
  set: (a) => l("update:modelValue", a)
10879
- }), s = P({
10879
+ }), s = R({
10880
10880
  get: () => r.form,
10881
10881
  set: (a) => l("update:form", a)
10882
10882
  });
@@ -10901,11 +10901,11 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
10901
10901
  },
10902
10902
  emits: ["update:layerIDs", "update:layerNames"],
10903
10903
  setup(e, { emit: t }) {
10904
- const n = e, r = t, l = P({
10904
+ const n = e, r = t, l = R({
10905
10905
  get: () => n.layerIDs,
10906
10906
  set: (i) => r("update:layerIDs", i)
10907
10907
  });
10908
- return P({
10908
+ return R({
10909
10909
  get: () => n.layerNames,
10910
10910
  set: (i) => r("update:layerNames", i)
10911
10911
  }), (i, s) => (c(), h("section", ih, [
@@ -10927,7 +10927,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
10927
10927
  setup(e, { expose: t }) {
10928
10928
  const n = e, r = Tt({ open: !1, top: 0, left: 0, transform: "translateX(-50%)" }), l = F(null), i = F(null);
10929
10929
  let s = null;
10930
- const a = P(() => r.open ? {
10930
+ const a = R(() => r.open ? {
10931
10931
  position: "absolute",
10932
10932
  width: "auto",
10933
10933
  maxWidth: `${Math.min(300, window.innerWidth - 24)}px`,
@@ -11002,7 +11002,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11002
11002
  }, [...d[1] || (d[1] = [
11003
11003
  an('<div class="mapLayer-info__icon" data-v-cc1cc7bf><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" data-v-cc1cc7bf><circle cx="12" cy="12" r="10" data-v-cc1cc7bf></circle><line x1="12" y1="16" x2="12" y2="12" data-v-cc1cc7bf></line><line x1="12" y1="8" x2="12.01" y2="8" data-v-cc1cc7bf></line></svg></div>', 1)
11004
11004
  ])]),
11005
- (c(), pe(Pt, { to: "body" }, [
11005
+ (c(), pe(Rt, { to: "body" }, [
11006
11006
  r.open ? (c(), h("div", {
11007
11007
  key: 0,
11008
11008
  class: "vst-popover__content inline-block z-[81] py-3 px-4 bg-white text-sm text-gray-500 rounded-md shadow-lg bottom mapLayer-info__popover",
@@ -11045,17 +11045,17 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11045
11045
  setup(e) {
11046
11046
  const t = e, n = F(null), r = F(!1), l = F(null), i = F(null), s = F({ top: 0, left: 0 });
11047
11047
  zt();
11048
- const a = F(!0), p = F(!1), v = P(() => Array.isArray(t.links) ? t.links.filter((L) => (L == null ? void 0 : L.name) && (L == null ? void 0 : L.slug)) : []), b = P(() => ({
11048
+ const a = F(!0), p = F(!1), v = R(() => Array.isArray(t.links) ? t.links.filter((L) => (L == null ? void 0 : L.name) && (L == null ? void 0 : L.slug)) : []), b = R(() => ({
11049
11049
  top: `${s.value.top}px`,
11050
11050
  left: `${s.value.left}px`
11051
- })), m = P(() => {
11051
+ })), m = R(() => {
11052
11052
  const L = [];
11053
11053
  return t.mapName && L.push({ label: "Назва карти", value: t.mapName }), t.mapDescription && L.push({ label: "Опис", value: t.mapDescription, breakLine: !0 }), L;
11054
11054
  });
11055
11055
  function x(L) {
11056
11056
  return L == null ? !1 : L.replace(/<[^>]*>/g, "").trim().length > 0;
11057
11057
  }
11058
- const u = P(() => x(t.content)), f = P(() => u.value);
11058
+ const u = R(() => x(t.content)), f = R(() => u.value);
11059
11059
  function y(L) {
11060
11060
  L.stopPropagation(), r.value = !r.value;
11061
11061
  }
@@ -11143,7 +11143,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11143
11143
  })
11144
11144
  ], -1)
11145
11145
  ])], 512),
11146
- (c(), pe(Pt, { to: "body" }, [
11146
+ (c(), pe(Rt, { to: "body" }, [
11147
11147
  r.value ? (c(), h("div", {
11148
11148
  key: 0,
11149
11149
  ref_key: "menuPopover",
@@ -11268,7 +11268,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11268
11268
  onClick: nt(p, ["stop"])
11269
11269
  }, B(r.value) + "% ", 1)
11270
11270
  ], !0),
11271
- (c(), pe(Pt, { to: "body" }, [
11271
+ (c(), pe(Rt, { to: "body" }, [
11272
11272
  n.value ? (c(), h("div", {
11273
11273
  key: 0,
11274
11274
  ref_key: "popoverEl",
@@ -11295,10 +11295,10 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11295
11295
  ]))
11296
11296
  ], 512));
11297
11297
  }
11298
- }), os = /* @__PURE__ */ Fe(bh, [["__scopeId", "data-v-b278347a"]]), wh = { class: "layers-panel" }, _h = { class: "layers-panel__header" }, kh = { class: "layers-panel__heading" }, $h = { class: "layers-panel__heading-title" }, Ch = { class: "layers-panel__count" }, Sh = { class: "layers-panel__bulk-actions" }, Ah = { class: "layers-panel__header-actions" }, Lh = { class: "layers-panel__header-controls" }, Mh = { class: "layers-panel__label" }, Eh = { class: "layers-panel__label-row" }, Th = ["checked", "onChange"], Fh = { class: "layers-panel__title-block" }, Ih = { class: "layers-panel__name" }, jh = { class: "layers-panel__meta text-slate-500" }, zh = ["onClick"], Nh = { class: "inline-flex items-center justify-center w-[18px] h-[18px] text-slate-500 transition-colors duration-200 hover:text-blue-700" }, Ph = {
11298
+ }), os = /* @__PURE__ */ Fe(bh, [["__scopeId", "data-v-b278347a"]]), wh = { class: "layers-panel" }, _h = { class: "layers-panel__header" }, kh = { class: "layers-panel__heading" }, $h = { class: "layers-panel__heading-title" }, Ch = { class: "layers-panel__count" }, Sh = { class: "layers-panel__bulk-actions" }, Ah = { class: "layers-panel__header-actions" }, Lh = { class: "layers-panel__header-controls" }, Mh = { class: "layers-panel__label" }, Eh = { class: "layers-panel__label-row" }, Th = ["checked", "onChange"], Fh = { class: "layers-panel__title-block" }, Ih = { class: "layers-panel__name" }, jh = { class: "layers-panel__meta text-slate-500" }, zh = ["onClick"], Nh = { class: "inline-flex items-center justify-center w-[18px] h-[18px] text-slate-500 transition-colors duration-200 hover:text-blue-700" }, Rh = {
11299
11299
  key: 0,
11300
11300
  class: "layers-panel__actions"
11301
- }, Rh = ["innerHTML", "onClick"], Br = "map:temporary-layer-request", Oh = "#5763ba", Dh = /* @__PURE__ */ ve({
11301
+ }, Ph = ["innerHTML", "onClick"], Br = "map:temporary-layer-request", Oh = "#5763ba", Dh = /* @__PURE__ */ ve({
11302
11302
  __name: "MapDataLayersWidget",
11303
11303
  props: {
11304
11304
  layers: {},
@@ -11311,51 +11311,51 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11311
11311
  activateTemporaryLayer: p,
11312
11312
  deactivateTemporaryLayer: v,
11313
11313
  clearTemporaryLayers: b
11314
- } = Go(s.map), m = P(() => {
11315
- const T = n.layers.map((R) => ({
11316
- ...R,
11314
+ } = Go(s.map), m = R(() => {
11315
+ const T = n.layers.map((P) => ({
11316
+ ...P,
11317
11317
  isTemporary: !1,
11318
11318
  owner: null,
11319
- visible: R.visible !== !1
11319
+ visible: P.visible !== !1
11320
11320
  })), E = a.value.map(
11321
- (R) => ({
11322
- id: R.id,
11323
- name: R.title,
11324
- visible: r.value[R.id] ?? !0,
11321
+ (P) => ({
11322
+ id: P.id,
11323
+ name: P.title,
11324
+ visible: r.value[P.id] ?? !0,
11325
11325
  actions: [],
11326
11326
  filters: null,
11327
11327
  isTemporary: !0,
11328
- owner: R.owner ?? null,
11329
- handle: R.handle ?? null,
11330
- card: R.card ?? null,
11331
- popup: R.popup ?? null,
11332
- style: R.style ?? null,
11328
+ owner: P.owner ?? null,
11329
+ handle: P.handle ?? null,
11330
+ card: P.card ?? null,
11331
+ popup: P.popup ?? null,
11332
+ style: P.style ?? null,
11333
11333
  group_name: null,
11334
11334
  count: null,
11335
11335
  holder: null
11336
11336
  })
11337
11337
  );
11338
11338
  return [...T, ...E];
11339
- }), x = P(() => m.value.length), u = P(
11339
+ }), x = R(() => m.value.length), u = R(
11340
11340
  () => m.value.filter((T) => L(T.id)).length
11341
- ), f = P(
11341
+ ), f = R(
11342
11342
  () => x.value > 0 && u.value === x.value
11343
- ), y = P(() => a.value.length > 0), d = t;
11343
+ ), y = R(() => a.value.length > 0), d = t;
11344
11344
  function g() {
11345
11345
  var T;
11346
11346
  for (let E = 0; E < n.layers.length; E++) {
11347
- const R = n.layers[E], U = _(R);
11347
+ const P = n.layers[E], U = _(P);
11348
11348
  if (!U)
11349
11349
  continue;
11350
- const H = Ge(R.id, U), le = R.visible !== !1;
11351
- r.value[R.id] = le, le || (T = H == null ? void 0 : H.setVisible) == null || T.call(H, !1);
11350
+ const H = Ge(P.id, U), le = P.visible !== !1;
11351
+ r.value[P.id] = le, le || (T = H == null ? void 0 : H.setVisible) == null || T.call(H, !1);
11352
11352
  }
11353
11353
  }
11354
11354
  function _(T) {
11355
11355
  const E = T.id;
11356
11356
  if (!E) return null;
11357
- const R = (T.type || T.service_type || T.service || "").toString().toLowerCase(), U = T.service_url || T.url || null;
11358
- if (!!U && (R === "tms" || R === "wmts" || R === "wms" || R === "ogc")) {
11357
+ const P = (T.type || T.service_type || T.service || "").toString().toLowerCase(), U = T.service_url || T.url || null;
11358
+ if (!!U && (P === "tms" || P === "wmts" || P === "wms" || P === "ogc")) {
11359
11359
  const de = M(U);
11360
11360
  return de ? {
11361
11361
  sourceId: E,
@@ -11377,7 +11377,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11377
11377
  popup: T.popup
11378
11378
  } : null;
11379
11379
  }
11380
- if (R === "cartocss") {
11380
+ if (P === "cartocss") {
11381
11381
  const de = T.url ? M(T.url) : `${location.origin}/api/gis-rtile/${E}/{z}/{x}/{y}.png`;
11382
11382
  return de ? {
11383
11383
  sourceId: E,
@@ -11426,11 +11426,11 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11426
11426
  function k(T) {
11427
11427
  var U, H;
11428
11428
  if (!(T != null && T.id)) return null;
11429
- const E = (U = T.title) == null ? void 0 : U.trim(), R = (H = T.url) == null ? void 0 : H.trim();
11430
- return !E || !R ? null : {
11429
+ const E = (U = T.title) == null ? void 0 : U.trim(), P = (H = T.url) == null ? void 0 : H.trim();
11430
+ return !E || !P ? null : {
11431
11431
  id: T.id,
11432
11432
  title: E,
11433
- url: R,
11433
+ url: P,
11434
11434
  tileSize: T.tileSize,
11435
11435
  minzoom: T.minzoom,
11436
11436
  maxzoom: T.maxzoom,
@@ -11447,13 +11447,13 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11447
11447
  });
11448
11448
  return;
11449
11449
  }
11450
- const R = k(T.spec);
11451
- if (R) {
11450
+ const P = k(T.spec);
11451
+ if (P) {
11452
11452
  if (T.action === "activate") {
11453
- p(R, T.context || {}, E), r.value[R.id] = !0;
11453
+ p(P, T.context || {}, E), r.value[P.id] = !0;
11454
11454
  return;
11455
11455
  }
11456
- T.action === "deactivate" && (v(R.id, E), delete r.value[R.id]);
11456
+ T.action === "deactivate" && (v(P.id, E), delete r.value[P.id]);
11457
11457
  }
11458
11458
  }
11459
11459
  function C(T) {
@@ -11462,10 +11462,10 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11462
11462
  re(
11463
11463
  () => a.value.map((T) => T.id),
11464
11464
  (T, E) => {
11465
- const R = new Set(E || []), U = new Set(T);
11465
+ const P = new Set(E || []), U = new Set(T);
11466
11466
  T.forEach((H) => {
11467
11467
  H in r.value || (r.value[H] = !0);
11468
- }), R.forEach((H) => {
11468
+ }), P.forEach((H) => {
11469
11469
  U.has(H) || delete r.value[H];
11470
11470
  });
11471
11471
  },
@@ -11484,12 +11484,12 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11484
11484
  return;
11485
11485
  }
11486
11486
  r.value[T.id] = E;
11487
- const R = Ge(T.id);
11488
- (le = R == null ? void 0 : R.setVisible) == null || le.call(R, E);
11487
+ const P = Ge(T.id);
11488
+ (le = P == null ? void 0 : P.setVisible) == null || le.call(P, E);
11489
11489
  }
11490
11490
  function z(T, E) {
11491
- const R = E.target;
11492
- A(T, R.checked);
11491
+ const P = E.target;
11492
+ A(T, P.checked);
11493
11493
  }
11494
11494
  function V(T) {
11495
11495
  m.value.forEach((E) => A(E, T));
@@ -11514,7 +11514,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11514
11514
  return E ? !!(/^#[\da-fA-F]{3,8}$/.test(E) || /^rgb\s*\(/.test(E) || /^rgba\s*\(/.test(E) || /^hsl\s*\(/.test(E) || /^hsla\s*\(/.test(E) || /^[a-zA-Z]+$/.test(E) && E.length < 25) : !1;
11515
11515
  }
11516
11516
  function X(T) {
11517
- var E, R, U, H, le, de;
11517
+ var E, P, U, H, le, de;
11518
11518
  if (!T) return null;
11519
11519
  if (typeof T == "string") {
11520
11520
  const ge = T.trim();
@@ -11530,14 +11530,14 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11530
11530
  if (typeof T == "object") {
11531
11531
  const ge = T;
11532
11532
  return X(
11533
- ge.color ?? ge.fill ?? ge.stroke ?? ge.lineColor ?? ge.fillColor ?? ((E = ge.paint) == null ? void 0 : E["fill-color"]) ?? ((R = ge.paint) == null ? void 0 : R["line-color"]) ?? ((U = ge.paint) == null ? void 0 : U["circle-color"]) ?? ((H = ge.paint) == null ? void 0 : H.color) ?? ((le = ge.paint) == null ? void 0 : le.lineColor) ?? ((de = ge.paint) == null ? void 0 : de.fillColor) ?? ge.paint ?? ge.value
11533
+ ge.color ?? ge.fill ?? ge.stroke ?? ge.lineColor ?? ge.fillColor ?? ((E = ge.paint) == null ? void 0 : E["fill-color"]) ?? ((P = ge.paint) == null ? void 0 : P["line-color"]) ?? ((U = ge.paint) == null ? void 0 : U["circle-color"]) ?? ((H = ge.paint) == null ? void 0 : H.color) ?? ((le = ge.paint) == null ? void 0 : le.lineColor) ?? ((de = ge.paint) == null ? void 0 : de.fillColor) ?? ge.paint ?? ge.value
11534
11534
  );
11535
11535
  }
11536
11536
  return null;
11537
11537
  }
11538
11538
  function ue(T) {
11539
- const E = Array.isArray(T == null ? void 0 : T.legend) ? T.legend[0] : T == null ? void 0 : T.legend, R = X(E);
11540
- return R || X(T == null ? void 0 : T.style) || Oh;
11539
+ const E = Array.isArray(T == null ? void 0 : T.legend) ? T.legend[0] : T == null ? void 0 : T.legend, P = X(E);
11540
+ return P || X(T == null ? void 0 : T.style) || Oh;
11541
11541
  }
11542
11542
  function Y(T) {
11543
11543
  return {
@@ -11627,10 +11627,10 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11627
11627
  o("div", {
11628
11628
  class: Ee(["layers-panel__content", { "layers-panel__content--collapsed": !l.value }])
11629
11629
  }, [
11630
- (c(!0), h(se, null, ye(m.value, (R) => {
11630
+ (c(!0), h(se, null, ye(m.value, (P) => {
11631
11631
  var U;
11632
11632
  return c(), h("div", {
11633
- key: R.id,
11633
+ key: P.id,
11634
11634
  class: "layers-panel__item"
11635
11635
  }, [
11636
11636
  o("label", Mh, [
@@ -11638,17 +11638,17 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11638
11638
  o("input", {
11639
11639
  type: "checkbox",
11640
11640
  class: "layers-panel__checkbox",
11641
- checked: L(R.id),
11642
- style: ct(Y(R)),
11643
- onChange: (H) => z(R, H)
11641
+ checked: L(P.id),
11642
+ style: ct(Y(P)),
11643
+ onChange: (H) => z(P, H)
11644
11644
  }, null, 44, Th),
11645
11645
  o("div", Fh, [
11646
- o("span", Ih, B(R.name), 1)
11646
+ o("span", Ih, B(P.name), 1)
11647
11647
  ]),
11648
11648
  o("div", jh, [
11649
- L(R.id) && !R.isTemporary ? (c(), h(se, { key: 0 }, [
11649
+ L(P.id) && !P.isTemporary ? (c(), h(se, { key: 0 }, [
11650
11650
  oe(os, {
11651
- "layer-id": R.id,
11651
+ "layer-id": P.id,
11652
11652
  class: "flex"
11653
11653
  }, {
11654
11654
  trigger: Ve(({ toggle: H }) => [
@@ -11664,24 +11664,24 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11664
11664
  _: 1
11665
11665
  }, 8, ["layer-id"]),
11666
11666
  oe(co, {
11667
- count: Array.isArray(R.filters) ? R.filters.length : 0,
11668
- layer: R
11667
+ count: Array.isArray(P.filters) ? P.filters.length : 0,
11668
+ layer: P
11669
11669
  }, null, 8, ["count", "layer"])
11670
11670
  ], 64)) : Q("", !0),
11671
11671
  oe(Xo, {
11672
- items: ne(R)
11672
+ items: ne(P)
11673
11673
  }, null, 8, ["items"])
11674
11674
  ])
11675
11675
  ])
11676
11676
  ]),
11677
- (U = R.actions) != null && U.length ? (c(), h("div", Ph, [
11678
- (c(!0), h(se, null, ye(R.actions, (H) => (c(), h("button", {
11677
+ (U = P.actions) != null && U.length ? (c(), h("div", Rh, [
11678
+ (c(!0), h(se, null, ye(P.actions, (H) => (c(), h("button", {
11679
11679
  key: H.widget || H.id || H.icon,
11680
11680
  type: "button",
11681
11681
  class: "layers-panel__action",
11682
11682
  innerHTML: H.icon,
11683
11683
  onClick: (le) => d("action", { layerId: H.widget })
11684
- }, null, 8, Rh))), 128))
11684
+ }, null, 8, Ph))), 128))
11685
11685
  ])) : Q("", !0)
11686
11686
  ]);
11687
11687
  }), 128))
@@ -11714,7 +11714,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11714
11714
  top: 0,
11715
11715
  left: 0,
11716
11716
  layerId: null
11717
- }), a = P(() => {
11717
+ }), a = R(() => {
11718
11718
  const d = n.search.trim().toLowerCase();
11719
11719
  return n.catalog.groups.map((g) => {
11720
11720
  const _ = g.layers.filter((M) => {
@@ -11723,7 +11723,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11723
11723
  });
11724
11724
  return { ...g, layers: _ };
11725
11725
  }).filter((g) => g.layers.length > 0);
11726
- }), p = P({
11726
+ }), p = R({
11727
11727
  get: () => n.search,
11728
11728
  set: (d) => r("update:search", d)
11729
11729
  });
@@ -11883,7 +11883,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11883
11883
  }, 1024)
11884
11884
  ]))), 128))
11885
11885
  ]),
11886
- (c(), pe(Pt, { to: "body" }, [
11886
+ (c(), pe(Rt, { to: "body" }, [
11887
11887
  s.visible ? (c(), h("div", {
11888
11888
  key: 0,
11889
11889
  class: "filter-badge__hint",
@@ -11908,7 +11908,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11908
11908
  transform: "translateX(-50%)"
11909
11909
  }), l = F(null), i = F(null);
11910
11910
  let s = null;
11911
- const a = P(() => {
11911
+ const a = R(() => {
11912
11912
  if (!r.open) return { display: "none" };
11913
11913
  const y = Math.min(460, window.innerWidth - 24);
11914
11914
  return {
@@ -11984,7 +11984,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
11984
11984
  }, [
11985
11985
  Ut(y.$slots, "default")
11986
11986
  ]),
11987
- (c(), pe(Pt, { to: "body" }, [
11987
+ (c(), pe(Rt, { to: "body" }, [
11988
11988
  r.open ? (c(), h("div", {
11989
11989
  key: 0,
11990
11990
  class: "vst-popover__content inline-block z-[103] py-3 px-4 bg-white text-sm text-gray-500 rounded-md shadow-lg bottom absolute min-w-[200px]",
@@ -12024,7 +12024,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12024
12024
  function f(j) {
12025
12025
  var D;
12026
12026
  for (const T of ((D = n.catalog) == null ? void 0 : D.groups) ?? []) {
12027
- const E = T.layers.find((R) => R.id === j);
12027
+ const E = T.layers.find((P) => P.id === j);
12028
12028
  if (E) return E;
12029
12029
  }
12030
12030
  return null;
@@ -12064,9 +12064,9 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12064
12064
  function M(j) {
12065
12065
  const D = x.get(j);
12066
12066
  if (!D || !m.value) return;
12067
- const T = D.getBoundingClientRect(), E = 12, R = 6, U = window.scrollX + E, H = window.scrollX + window.innerWidth - E, le = window.scrollY + E, de = window.scrollY + window.innerHeight - E, ge = m.value.offsetWidth || 190, he = m.value.offsetHeight || 0;
12068
- let Ae = T.bottom + window.scrollY + R, ze = T.left + window.scrollX;
12069
- ze + ge > H && (ze = T.right + window.scrollX - ge, ze < U && (ze = U)), ze < U && (ze = U), Ae + he > de && (Ae = T.top + window.scrollY - he - R, Ae < le && (Ae = Math.max(le, de - he))), Ae < le && (Ae = le), Ae + he > de && (Ae = Math.max(le, de - he)), b.top = Ae, b.left = ze;
12067
+ const T = D.getBoundingClientRect(), E = 12, P = 6, U = window.scrollX + E, H = window.scrollX + window.innerWidth - E, le = window.scrollY + E, de = window.scrollY + window.innerHeight - E, ge = m.value.offsetWidth || 190, he = m.value.offsetHeight || 0;
12068
+ let Ae = T.bottom + window.scrollY + P, ze = T.left + window.scrollX;
12069
+ ze + ge > H && (ze = T.right + window.scrollX - ge, ze < U && (ze = U)), ze < U && (ze = U), Ae + he > de && (Ae = T.top + window.scrollY - he - P, Ae < le && (Ae = Math.max(le, de - he))), Ae < le && (Ae = le), Ae + he > de && (Ae = Math.max(le, de - he)), b.top = Ae, b.left = ze;
12070
12070
  }
12071
12071
  function L(j) {
12072
12072
  const D = Ge(j);
@@ -12075,13 +12075,13 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12075
12075
  function k(j) {
12076
12076
  const D = j.target, T = i.value, E = v.value;
12077
12077
  if (T) {
12078
- const R = s.value, U = a.get(T);
12079
- if (R && R.contains(D) || U && U.contains(D)) return;
12078
+ const P = s.value, U = a.get(T);
12079
+ if (P && P.contains(D) || U && U.contains(D)) return;
12080
12080
  i.value = null;
12081
12081
  }
12082
12082
  if (E) {
12083
- const R = m.value, U = x.get(E);
12084
- if (R && R.contains(D) || U && U.contains(D)) return;
12083
+ const P = m.value, U = x.get(E);
12084
+ if (P && P.contains(D) || U && U.contains(D)) return;
12085
12085
  v.value = null;
12086
12086
  }
12087
12087
  }
@@ -12095,11 +12095,11 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12095
12095
  });
12096
12096
  const { map: C } = st();
12097
12097
  function A(j) {
12098
- var R, U, H;
12098
+ var P, U, H;
12099
12099
  if (!j) return;
12100
12100
  const D = Ge(j), T = f(j);
12101
12101
  if (!D && !T) return;
12102
- if (((R = T == null ? void 0 : T.extent) == null ? void 0 : R.length) === 4 && ((U = C.value) != null && U.fitBounds)) {
12102
+ if (((P = T == null ? void 0 : T.extent) == null ? void 0 : P.length) === 4 && ((U = C.value) != null && U.fitBounds)) {
12103
12103
  const le = T.extent.map((de) => Number(de));
12104
12104
  if (le.every((de) => Number.isFinite(de))) {
12105
12105
  const [de, ge, he, Ae] = le;
@@ -12140,10 +12140,10 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12140
12140
  var Ae, ze, K, fe, w, N;
12141
12141
  const D = Ge(j), T = f(j);
12142
12142
  if (!D && !T) return [];
12143
- const E = (T == null ? void 0 : T.name) || ((ze = (Ae = D == null ? void 0 : D.opts) == null ? void 0 : Ae.layer) == null ? void 0 : ze.name) || null, R = (T == null ? void 0 : T.service) || ((K = D == null ? void 0 : D.opts) == null ? void 0 : K.service) || null, U = (fe = D == null ? void 0 : D.getSource) == null ? void 0 : fe.call(D), H = U && "tiles" in U ? (w = U.tiles) == null ? void 0 : w[0] : (T == null ? void 0 : T.url) || null, le = (T == null ? void 0 : T.source_path) || null, de = (D == null ? void 0 : D.popup) || (T == null ? void 0 : T.popup), ge = (D == null ? void 0 : D.card) || (T == null ? void 0 : T.card), he = (T == null ? void 0 : T.filters) || ((N = D == null ? void 0 : D.opts) == null ? void 0 : N.filters);
12143
+ const E = (T == null ? void 0 : T.name) || ((ze = (Ae = D == null ? void 0 : D.opts) == null ? void 0 : Ae.layer) == null ? void 0 : ze.name) || null, P = (T == null ? void 0 : T.service) || ((K = D == null ? void 0 : D.opts) == null ? void 0 : K.service) || null, U = (fe = D == null ? void 0 : D.getSource) == null ? void 0 : fe.call(D), H = U && "tiles" in U ? (w = U.tiles) == null ? void 0 : w[0] : (T == null ? void 0 : T.url) || null, le = (T == null ? void 0 : T.source_path) || null, de = (D == null ? void 0 : D.popup) || (T == null ? void 0 : T.popup), ge = (D == null ? void 0 : D.card) || (T == null ? void 0 : T.card), he = (T == null ? void 0 : T.filters) || ((N = D == null ? void 0 : D.opts) == null ? void 0 : N.filters);
12144
12144
  return [
12145
12145
  { label: "Назва", value: ue(E) },
12146
- { label: "Сервіс", value: ue(R) },
12146
+ { label: "Сервіс", value: ue(P) },
12147
12147
  { label: "Посилання", value: ue(H), breakLine: !0 },
12148
12148
  { label: "Джерело", value: ue(le), breakLine: !0 },
12149
12149
  { label: "Popup", value: Y(de, "полів") },
@@ -12178,7 +12178,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12178
12178
  e.selected.length ? (c(), h("div", s1, [
12179
12179
  o("div", null, [
12180
12180
  (c(!0), h(se, null, ye(e.selected, (T, E) => {
12181
- var R;
12181
+ var P;
12182
12182
  return c(), h("div", {
12183
12183
  key: T,
12184
12184
  class: Ee(["selected-tab__item", {
@@ -12200,7 +12200,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12200
12200
  checked: u[T] ?? !0,
12201
12201
  onChange: (U) => d(T, U.target.checked)
12202
12202
  }, null, 40, c1),
12203
- o("span", d1, B(((R = f(T)) == null ? void 0 : R.name) || "Шар"), 1)
12203
+ o("span", d1, B(((P = f(T)) == null ? void 0 : P.name) || "Шар"), 1)
12204
12204
  ]),
12205
12205
  o("div", f1, [
12206
12206
  oe(os, { "layer-id": T }, null, 8, ["layer-id"]),
@@ -12246,7 +12246,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12246
12246
  }), 128))
12247
12247
  ])
12248
12248
  ])) : Q("", !0),
12249
- (c(), pe(Pt, { to: "body" }, [
12249
+ (c(), pe(Rt, { to: "body" }, [
12250
12250
  v.value ? (c(), h("div", {
12251
12251
  key: 0,
12252
12252
  ref_key: "menuEl",
@@ -12384,10 +12384,10 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12384
12384
  },
12385
12385
  emits: ["change"],
12386
12386
  setup(e, { emit: t }) {
12387
- const n = ft(() => import("@opengis/filter")), r = e, l = t, i = P(() => {
12387
+ const n = ft(() => import("@opengis/filter")), r = e, l = t, i = R(() => {
12388
12388
  var p;
12389
12389
  return ((p = r.layer) == null ? void 0 : p.filters) ?? [];
12390
- }), s = P(() => i.value.length > 0);
12390
+ }), s = R(() => i.value.length > 0);
12391
12391
  function a(p) {
12392
12392
  l("change", p.data);
12393
12393
  }
@@ -12442,7 +12442,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12442
12442
  function d(O, j) {
12443
12443
  const D = Ge(O);
12444
12444
  if (v[O] = { ...j }, !(D != null && D.setFilter)) return;
12445
- const T = Object.entries(j).filter(([, E]) => E != null && E !== "").map(([E, R]) => `${E}=${R}`);
12445
+ const T = Object.entries(j).filter(([, E]) => E != null && E !== "").map(([E, P]) => `${E}=${P}`);
12446
12446
  D.setFilter(T.join("|"));
12447
12447
  }
12448
12448
  function g(O) {
@@ -12484,9 +12484,9 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12484
12484
  if (!T) return;
12485
12485
  const E = _(T);
12486
12486
  if (!E) return;
12487
- const R = Ge(T.id, E, p);
12488
- if (R)
12489
- if (R.setVisible(j), j) {
12487
+ const P = Ge(T.id, E, p);
12488
+ if (P)
12489
+ if (P.setVisible(j), j) {
12490
12490
  if (!s.value.includes(O) && (s.value.push(O), (U = p.value) != null && U.getLayer(O)))
12491
12491
  try {
12492
12492
  p.value.moveLayer(O);
@@ -12508,12 +12508,12 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12508
12508
  if (!p.value) return;
12509
12509
  const j = ((E = p.value.getStyle()) == null ? void 0 : E.layers) ?? [];
12510
12510
  let D;
12511
- const T = (R) => j.filter((U) => {
12511
+ const T = (P) => j.filter((U) => {
12512
12512
  var H, le;
12513
- return (U == null ? void 0 : U.source) === R || (U == null ? void 0 : U.id) === R || ((le = (H = U == null ? void 0 : U.id) == null ? void 0 : H.startsWith) == null ? void 0 : le.call(H, `${R}`));
12513
+ return (U == null ? void 0 : U.source) === P || (U == null ? void 0 : U.id) === P || ((le = (H = U == null ? void 0 : U.id) == null ? void 0 : H.startsWith) == null ? void 0 : le.call(H, `${P}`));
12514
12514
  }).map((U) => U.id);
12515
- for (let R = O.length - 1; R >= 0; R -= 1) {
12516
- const U = O[R], H = T(U);
12515
+ for (let P = O.length - 1; P >= 0; P -= 1) {
12516
+ const U = O[P], H = T(U);
12517
12517
  H.length && (H.forEach((le) => {
12518
12518
  var de;
12519
12519
  if ((de = p.value) != null && de.getLayer(le))
@@ -12532,31 +12532,31 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12532
12532
  function C() {
12533
12533
  l.value = "catalog";
12534
12534
  }
12535
- const A = P(() => b.value ? u(b.value) : null), z = P(() => {
12535
+ const A = R(() => b.value ? u(b.value) : null), z = R(() => {
12536
12536
  const O = b.value;
12537
12537
  return O ? v[O] ?? {} : {};
12538
- }), V = P(() => i.value.groups.reduce(
12538
+ }), V = R(() => i.value.groups.reduce(
12539
12539
  (O, j) => O + j.layers.filter(f).length,
12540
12540
  0
12541
- )), J = P(() => l.value === "selected" ? "Вибрані шари" : l.value === "filter" ? "Фільтр шарів" : "Каталог"), ne = P(() => l.value === "selected" ? s.value.length : l.value === "catalog" ? V.value : null), ie = P(() => {
12541
+ )), J = R(() => l.value === "selected" ? "Вибрані шари" : l.value === "filter" ? "Фільтр шарів" : "Каталог"), ne = R(() => l.value === "selected" ? s.value.length : l.value === "catalog" ? V.value : null), ie = R(() => {
12542
12542
  var O;
12543
12543
  return l.value === "filter" ? ((O = A.value) == null ? void 0 : O.name) ?? "" : "";
12544
12544
  });
12545
12545
  async function X() {
12546
12546
  const j = await (await fetch("/api/gis-layer-list")).json(), D = /* @__PURE__ */ new Map();
12547
- j.forEach((R) => {
12548
- const U = R.group_id ?? "other";
12547
+ j.forEach((P) => {
12548
+ const U = P.group_id ?? "other";
12549
12549
  D.has(U) || D.set(U, {
12550
12550
  id: U,
12551
- name: R.group_name || "Інші шари",
12551
+ name: P.group_name || "Інші шари",
12552
12552
  layers: []
12553
- }), D.get(U).layers.push(R);
12553
+ }), D.get(U).layers.push(P);
12554
12554
  }), i.value = { groups: Array.from(D.values()) };
12555
12555
  const T = t.query.layers;
12556
12556
  if (!T) return;
12557
12557
  const E = Array.isArray(T) ? T[0] : T;
12558
- typeof E == "string" && E.split(",").forEach((R) => {
12559
- const U = R.trim();
12558
+ typeof E == "string" && E.split(",").forEach((P) => {
12559
+ const U = P.trim();
12560
12560
  if (!U) return;
12561
12561
  const H = u(U);
12562
12562
  H && M(U, !0, H);
@@ -12696,10 +12696,10 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12696
12696
  }), qr = /* @__PURE__ */ Fe(I1, [["__scopeId", "data-v-5f0baf27"]]), j1 = {
12697
12697
  key: 1,
12698
12698
  class: "flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative widget"
12699
- }, z1 = { class: "flex items-start justify-between gap-3 p-5 pb-3" }, N1 = { class: "inline-block text-xl font-semibold text-gray-800" }, P1 = {
12699
+ }, z1 = { class: "flex items-start justify-between gap-3 p-5 pb-3" }, N1 = { class: "inline-block text-xl font-semibold text-gray-800" }, R1 = {
12700
12700
  key: 0,
12701
12701
  class: "mt-1 text-sm text-gray-500"
12702
- }, R1 = { class: "flex items-center gap-[6px]" }, O1 = { class: "px-5 pb-5 space-y-6" }, D1 = {
12702
+ }, P1 = { class: "flex items-center gap-[6px]" }, O1 = { class: "px-5 pb-5 space-y-6" }, D1 = {
12703
12703
  key: 0,
12704
12704
  class: "space-y-2"
12705
12705
  }, V1 = { class: "flex flex-wrap gap-4" }, B1 = ["value"], U1 = {
@@ -12718,13 +12718,13 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12718
12718
  function u(Y) {
12719
12719
  return Y && JSON.parse(JSON.stringify(Y));
12720
12720
  }
12721
- const f = P(() => {
12721
+ const f = R(() => {
12722
12722
  const Y = n.config.layer;
12723
12723
  if (typeof Y != "string") throw new Error("MapAttributeWidget: `layer` must be a string");
12724
12724
  const O = Y.trim();
12725
12725
  if (!O) throw new Error("MapAttributeWidget: `layer` must be non-empty");
12726
12726
  return O;
12727
- }), y = P(() => {
12727
+ }), y = R(() => {
12728
12728
  const { list: Y, attribute: O } = n.config;
12729
12729
  if (Array.isArray(Y) && Y.length)
12730
12730
  return Y.map((j) => ({
@@ -12739,7 +12739,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12739
12739
  return [{ id: j, text: null }];
12740
12740
  }
12741
12741
  throw new Error("MapAttributeWidget: `attribute` or `list` must be provided");
12742
- }), d = P(() => y.value.map((Y) => ({
12742
+ }), d = R(() => y.value.map((Y) => ({
12743
12743
  id: Y.id,
12744
12744
  label: Y.text || m.value[Y.id] || Y.id
12745
12745
  })));
@@ -12754,7 +12754,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12754
12754
  },
12755
12755
  { immediate: !0 }
12756
12756
  );
12757
- const g = P(() => {
12757
+ const g = R(() => {
12758
12758
  var Y;
12759
12759
  return x.value || ((Y = y.value[0]) == null ? void 0 : Y.id) || null;
12760
12760
  });
@@ -12762,14 +12762,14 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12762
12762
  var Y, O;
12763
12763
  (O = (Y = a.value) == null ? void 0 : Y.remove) == null || O.call(Y), a.value = null, p.value = null, v.value = null, b.value = null, m.value = {};
12764
12764
  });
12765
- const _ = P(() => {
12765
+ const _ = R(() => {
12766
12766
  var Y;
12767
12767
  return (Y = v.value) != null && Y.length ? {
12768
12768
  id: f.value,
12769
12769
  name: p.value,
12770
12770
  filters: v.value
12771
12771
  } : null;
12772
- }), M = P(() => {
12772
+ }), M = R(() => {
12773
12773
  var Y, O;
12774
12774
  return ((O = (Y = _.value) == null ? void 0 : Y.filters) == null ? void 0 : O.length) || 0;
12775
12775
  });
@@ -12787,8 +12787,8 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12787
12787
  }
12788
12788
  const j = await O.json();
12789
12789
  return p.value = (j == null ? void 0 : j.name) || null, v.value = Array.isArray(j == null ? void 0 : j.filters) ? j.filters : null, b.value = u((j == null ? void 0 : j.style) || {}), m.value = ((j == null ? void 0 : j.attributes) || []).reduce((T, E) => {
12790
- const R = typeof (E == null ? void 0 : E.name) == "string" ? E.name.trim() : "", U = typeof (E == null ? void 0 : E.ua) == "string" ? E.ua.trim() : "";
12791
- return R && (T[R] = U || R), T;
12790
+ const P = typeof (E == null ? void 0 : E.name) == "string" ? E.name.trim() : "", U = typeof (E == null ? void 0 : E.ua) == "string" ? E.ua.trim() : "";
12791
+ return P && (T[P] = U || P), T;
12792
12792
  }, {}), j;
12793
12793
  }
12794
12794
  function k(Y, O) {
@@ -12820,8 +12820,8 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12820
12820
  if (!D.ok) {
12821
12821
  let E = "Не вдалося отримати статистику";
12822
12822
  try {
12823
- const R = await D.json();
12824
- E = ((T = R == null ? void 0 : R.message) == null ? void 0 : T.error) || (R == null ? void 0 : R.message) || E;
12823
+ const P = await D.json();
12824
+ E = ((T = P == null ? void 0 : P.message) == null ? void 0 : T.error) || (P == null ? void 0 : P.message) || E;
12825
12825
  } catch {
12826
12826
  }
12827
12827
  throw new Error(E);
@@ -12850,20 +12850,20 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12850
12850
  if (!Y) return;
12851
12851
  const T = u((O == null ? void 0 : O.style) || b.value) || {}, E = D.trim();
12852
12852
  if (!E) return;
12853
- const R = { ...T.colors || {}, ...n.config.colors || {} };
12853
+ const P = { ...T.colors || {}, ...n.config.colors || {} };
12854
12854
  E === D && j.forEach((U) => {
12855
- U.color.trim() && (R[U.id] = U.color);
12855
+ U.color.trim() && (P[U.id] = U.color);
12856
12856
  }), Y.setStyle({
12857
12857
  ...T,
12858
12858
  type: T.type || "polygon",
12859
12859
  colorAttr: E,
12860
12860
  opacity: 0.8,
12861
- colors: R
12861
+ colors: P
12862
12862
  // rules: Object.entries(colors).map(([value, color]) => ({ value, color })),
12863
12863
  });
12864
12864
  }
12865
12865
  async function J() {
12866
- var E, R;
12866
+ var E, P;
12867
12867
  i.value = [], s.value = null;
12868
12868
  const Y = f.value, O = g.value;
12869
12869
  if (!O)
@@ -12882,7 +12882,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12882
12882
  color: Ae
12883
12883
  };
12884
12884
  }).filter(Boolean) : [];
12885
- i.value = T, s.value = ((E = D == null ? void 0 : D.field) == null ? void 0 : E.label) || ((R = D == null ? void 0 : D.field) == null ? void 0 : R.name) || null, V(a.value, j, T, O), l.value = !1;
12885
+ i.value = T, s.value = ((E = D == null ? void 0 : D.field) == null ? void 0 : E.label) || ((P = D == null ? void 0 : D.field) == null ? void 0 : P.name) || null, V(a.value, j, T, O), l.value = !1;
12886
12886
  }
12887
12887
  re(
12888
12888
  () => [f.value, g.value],
@@ -12891,7 +12891,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12891
12891
  },
12892
12892
  { immediate: !0 }
12893
12893
  );
12894
- const ne = P(() => "Набори даних"), ie = P(() => i.value.reduce((Y, O) => Y + O.count, 0)), X = P(() => {
12894
+ const ne = R(() => "Набори даних"), ie = R(() => i.value.reduce((Y, O) => Y + O.count, 0)), X = R(() => {
12895
12895
  var j;
12896
12896
  const Y = g.value;
12897
12897
  return ((j = d.value.find((D) => D.id === Y)) == null ? void 0 : j.label) || null || s.value || Y || null;
@@ -12906,9 +12906,9 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
12906
12906
  o("div", z1, [
12907
12907
  o("div", null, [
12908
12908
  o("h2", N1, B(ne.value), 1),
12909
- X.value && d.value.length === 1 ? (c(), h("p", P1, B(X.value), 1)) : Q("", !0)
12909
+ X.value && d.value.length === 1 ? (c(), h("p", R1, B(X.value), 1)) : Q("", !0)
12910
12910
  ]),
12911
- o("div", R1, [
12911
+ o("div", P1, [
12912
12912
  _.value ? (c(), pe(co, {
12913
12913
  key: 0,
12914
12914
  class: "flex justify-center items-center h-[36px] w-[36px] text-sm border border-gray-200 text-gray-600 hover:bg-gray-100 rounded-full",
@@ -13015,8 +13015,8 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
13015
13015
  pointerEvents: "none",
13016
13016
  zIndex: "9999"
13017
13017
  }), document.body.appendChild(Z);
13018
- const Pe = q.getBoundingClientRect();
13019
- Z.style.left = `${Pe.right + window.scrollX + we}px`, Z.style.top = `${Pe.top + window.scrollY + (Pe.height - Z.offsetHeight) / 2}px`;
13018
+ const Re = q.getBoundingClientRect();
13019
+ Z.style.left = `${Re.right + window.scrollX + we}px`, Z.style.top = `${Re.top + window.scrollY + (Re.height - Z.offsetHeight) / 2}px`;
13020
13020
  }, Ie = () => {
13021
13021
  Z != null && Z.parentNode && Z.parentNode.removeChild(Z), Z = null;
13022
13022
  };
@@ -13045,28 +13045,28 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
13045
13045
  const Z = i(), we = (De = Z == null ? void 0 : Z.map) == null ? void 0 : De.addressSuggest;
13046
13046
  if (typeof we == "string" && we.trim()) return we.trim();
13047
13047
  }
13048
- const p = !!a(), v = !!s(), b = P(() => {
13048
+ const p = !!a(), v = !!s(), b = R(() => {
13049
13049
  const q = ["xy", "parcel"];
13050
13050
  return p && q.push("address"), v && q.push("nominatim"), q;
13051
- }), m = P(() => {
13051
+ }), m = R(() => {
13052
13052
  var Z, we;
13053
13053
  const q = b.value, ee = (we = (Z = n.config) == null ? void 0 : Z.tools) == null ? void 0 : we.filter(($e) => q.includes($e));
13054
13054
  return ee && ee.length ? ee : q;
13055
- }), x = P(() => {
13055
+ }), x = R(() => {
13056
13056
  var q, ee;
13057
13057
  return ((ee = (q = n.config) == null ? void 0 : q.placeholder) == null ? void 0 : ee.trim()) || "Пошук…";
13058
13058
  }), u = F(m.value[0]);
13059
13059
  re(m, (q) => {
13060
13060
  q.includes(u.value) || (u.value = q[0]);
13061
13061
  });
13062
- const f = F(""), y = F(!1), d = F(null), g = F(null), _ = F(null), M = F(null), L = F([]), k = F(null), $ = F(!1), C = F([]), A = P(
13062
+ const f = F(""), y = F(!1), d = F(null), g = F(null), _ = F(null), M = F(null), L = F([]), k = F(null), $ = F(!1), C = F([]), A = R(
13063
13063
  () => (u.value === "address" || u.value === "nominatim") && $.value
13064
- ), z = P(() => {
13064
+ ), z = R(() => {
13065
13065
  var q;
13066
13066
  return ((q = n.config) == null ? void 0 : q.addressDebounceMs) ?? 1e3;
13067
13067
  });
13068
13068
  let V = null;
13069
- const J = F(!1), ne = P(() => f.value.trim().length > 0 ? L.value : C.value), ie = P(() => f.value.trim().length ? `Знайдено ${L.value.length}` : "Історія пошуку"), X = P(() => f.value.trim().length ? "Нічого не знайдено" : "Історія порожня");
13069
+ const J = F(!1), ne = R(() => f.value.trim().length > 0 ? L.value : C.value), ie = R(() => f.value.trim().length ? `Знайдено ${L.value.length}` : "Історія пошуку"), X = R(() => f.value.trim().length ? "Нічого не знайдено" : "Історія порожня");
13070
13070
  function ue() {
13071
13071
  var q, ee;
13072
13072
  if (typeof window > "u") return [];
@@ -13097,7 +13097,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
13097
13097
  q && (q.getLayer(zn) && q.removeLayer(zn), q.getLayer(Xn) && q.removeLayer(Xn), q.getSource(jn) && q.removeSource(jn));
13098
13098
  }
13099
13099
  function E(q) {
13100
- var $e, Ie, De, Pe;
13100
+ var $e, Ie, De, Re;
13101
13101
  if (!(($e = n.config) != null && $e.showMarker) || !q) return;
13102
13102
  const ee = (Ie = r.map) == null ? void 0 : Ie.value;
13103
13103
  if (!ee) return;
@@ -13111,7 +13111,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
13111
13111
  type: "geojson",
13112
13112
  data: Z
13113
13113
  });
13114
- const we = ((De = n.config) == null ? void 0 : De.geometryColor) || ((Pe = n.config) == null ? void 0 : Pe.markerColor) || "#3B82F6";
13114
+ const we = ((De = n.config) == null ? void 0 : De.geometryColor) || ((Re = n.config) == null ? void 0 : Re.markerColor) || "#3B82F6";
13115
13115
  ee.addLayer({
13116
13116
  id: zn,
13117
13117
  type: "fill",
@@ -13131,18 +13131,18 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
13131
13131
  }
13132
13132
  }), H(ee);
13133
13133
  }
13134
- let R = null;
13134
+ let P = null;
13135
13135
  function U() {
13136
- R && (cancelAnimationFrame(R), R = null);
13136
+ P && (cancelAnimationFrame(P), P = null);
13137
13137
  }
13138
13138
  function H(q) {
13139
13139
  const Z = performance.now();
13140
13140
  function we($e) {
13141
13141
  if (!q.getLayer(zn)) return;
13142
- const De = ($e - Z) % 1200 / 1200, Pe = Math.sin(De * Math.PI), kt = 0.2 + Pe * 0.3, W = 1 + Pe * 1;
13143
- q.setPaintProperty(zn, "fill-opacity", kt), q.setPaintProperty(Xn, "line-width", W), R = requestAnimationFrame(we);
13142
+ const De = ($e - Z) % 1200 / 1200, Re = Math.sin(De * Math.PI), kt = 0.2 + Re * 0.3, W = 1 + Re * 1;
13143
+ q.setPaintProperty(zn, "fill-opacity", kt), q.setPaintProperty(Xn, "line-width", W), P = requestAnimationFrame(we);
13144
13144
  }
13145
- R = requestAnimationFrame(we);
13145
+ P = requestAnimationFrame(we);
13146
13146
  }
13147
13147
  function le(q, ee) {
13148
13148
  var $e, Ie, De;
@@ -13258,14 +13258,14 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
13258
13258
  if (Z.length < 2) return null;
13259
13259
  const we = Z.slice(0, 2).map(Number);
13260
13260
  if (!we.every((ce) => Number.isFinite(ce))) return null;
13261
- let [$e, Ie] = we, De = $e, Pe = Ie;
13261
+ let [$e, Ie] = we, De = $e, Re = Ie;
13262
13262
  const kt = (ce) => Math.abs(ce) <= 90, W = (ce) => Math.abs(ce) <= 180;
13263
- if (!kt(De) || !W(Pe))
13264
- if (kt(Pe) && W(De))
13265
- De = Ie, Pe = $e;
13263
+ if (!kt(De) || !W(Re))
13264
+ if (kt(Re) && W(De))
13265
+ De = Ie, Re = $e;
13266
13266
  else
13267
13267
  return null;
13268
- return { lat: De, lng: Pe };
13268
+ return { lat: De, lng: Re };
13269
13269
  }
13270
13270
  function be(q) {
13271
13271
  return ((q == null ? void 0 : q.items) || []).map((Z, we) => {
@@ -13278,7 +13278,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
13278
13278
  };
13279
13279
  });
13280
13280
  }
13281
- function Re(q) {
13281
+ function Pe(q) {
13282
13282
  const ee = (q == null ? void 0 : q.result) || (q == null ? void 0 : q.data) || q;
13283
13283
  if (!ee) return [];
13284
13284
  const Z = ee.geom_centroid;
@@ -13299,8 +13299,8 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
13299
13299
  var ce, Te, Ke;
13300
13300
  const $e = (ce = Z == null ? void 0 : Z.geometry) == null ? void 0 : ce.coordinates, Ie = Number($e == null ? void 0 : $e[0]), De = Number($e == null ? void 0 : $e[1]);
13301
13301
  if (!Number.isFinite(De) || !Number.isFinite(Ie)) return null;
13302
- const Pe = (Z == null ? void 0 : Z.properties) || {}, kt = ((Te = Pe == null ? void 0 : Pe.geocoding) == null ? void 0 : Te.label) || (Pe == null ? void 0 : Pe.display_name) || (Pe == null ? void 0 : Pe.label) || "Адреса";
13303
- return { id: String(((Ke = Pe == null ? void 0 : Pe.geocoding) == null ? void 0 : Ke.place_id) || (Pe == null ? void 0 : Pe.place_id) || we), title: kt, lat: De, lng: Ie };
13302
+ const Re = (Z == null ? void 0 : Z.properties) || {}, kt = ((Te = Re == null ? void 0 : Re.geocoding) == null ? void 0 : Te.label) || (Re == null ? void 0 : Re.display_name) || (Re == null ? void 0 : Re.label) || "Адреса";
13303
+ return { id: String(((Ke = Re == null ? void 0 : Re.geocoding) == null ? void 0 : Ke.place_id) || (Re == null ? void 0 : Re.place_id) || we), title: kt, lat: De, lng: Ie };
13304
13304
  }).filter((Z) => !!Z);
13305
13305
  }
13306
13306
  function ot(q) {
@@ -13311,11 +13311,11 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
13311
13311
  return Number.isFinite(ee) ? ee : null;
13312
13312
  }
13313
13313
  function _t(q) {
13314
- var $e, Ie, De, Pe, kt, W;
13314
+ var $e, Ie, De, Re, kt, W;
13315
13315
  const ee = et(q.lng) ?? et(q.lon) ?? et(q.longitude) ?? et(q.x), Z = et(q.lat) ?? et(q.latitude) ?? et(q.y);
13316
13316
  if (ee != null && Z != null)
13317
13317
  return { lat: Z, lng: ee };
13318
- const we = (($e = q == null ? void 0 : q.geometry) == null ? void 0 : $e.coordinates) ?? ((Ie = q == null ? void 0 : q.geom_centroid) == null ? void 0 : Ie.coordinates) ?? ((De = q == null ? void 0 : q.centroid) == null ? void 0 : De.coordinates) ?? ((kt = (Pe = q == null ? void 0 : q.geojson) == null ? void 0 : Pe.geometry) == null ? void 0 : kt.coordinates) ?? ((W = q == null ? void 0 : q.geom) == null ? void 0 : W.coordinates);
13318
+ const we = (($e = q == null ? void 0 : q.geometry) == null ? void 0 : $e.coordinates) ?? ((Ie = q == null ? void 0 : q.geom_centroid) == null ? void 0 : Ie.coordinates) ?? ((De = q == null ? void 0 : q.centroid) == null ? void 0 : De.coordinates) ?? ((kt = (Re = q == null ? void 0 : q.geojson) == null ? void 0 : Re.geometry) == null ? void 0 : kt.coordinates) ?? ((W = q == null ? void 0 : q.geom) == null ? void 0 : W.coordinates);
13319
13319
  if (Array.isArray(we) && we.length >= 2) {
13320
13320
  const ce = et(we[0]), Te = et(we[1]);
13321
13321
  if (ce != null && Te != null) return { lat: Te, lng: ce };
@@ -13448,7 +13448,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
13448
13448
  }
13449
13449
  const Z = await fetch(ee.toString());
13450
13450
  if (!Z.ok) throw new Error(`HTTP ${Z.status}`);
13451
- const we = await Z.json(), $e = u.value === "here" ? be(we) : Re(we);
13451
+ const we = await Z.json(), $e = u.value === "here" ? be(we) : Pe(we);
13452
13452
  if (!$e.length)
13453
13453
  je({ type: "warning", title: "Пошук", message: "Не знайдено результатів" });
13454
13454
  else {
@@ -13590,7 +13590,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
13590
13590
  ])
13591
13591
  ], -1))
13592
13592
  ]),
13593
- A.value ? (c(), pe(Pt, {
13593
+ A.value ? (c(), pe(Rt, {
13594
13594
  key: 2,
13595
13595
  to: "body"
13596
13596
  }, [
@@ -13817,7 +13817,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
13817
13817
  function p(C, A) {
13818
13818
  return typeof C == "number" && Number.isFinite(C) ? C : A;
13819
13819
  }
13820
- const v = P(() => {
13820
+ const v = R(() => {
13821
13821
  var J, ne;
13822
13822
  const C = (J = t.options) == null ? void 0 : J.width, A = (ne = t.options) == null ? void 0 : ne.height, z = p(t.width ?? C, 210), V = p(t.height ?? A, 150);
13823
13823
  return {
@@ -14118,7 +14118,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
14118
14118
  class: "w-full px-2 py-1.5 bg-rose-500 hover:bg-rose-600 text-white text-xs font-medium rounded transition-colors duration-150 flex items-center justify-center gap-1",
14119
14119
  onClick: n[0] || (n[0] = (r) => t.$emit("click"))
14120
14120
  }, [
14121
- oe(ae(Po), {
14121
+ oe(ae(Ro), {
14122
14122
  size: 12,
14123
14123
  "stroke-width": 2
14124
14124
  }),
@@ -14156,7 +14156,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14156
14156
  }, Nx = {
14157
14157
  key: 1,
14158
14158
  class: "flex-1 font-mono text-gray-700"
14159
- }, Px = /* @__PURE__ */ ve({
14159
+ }, Rx = /* @__PURE__ */ ve({
14160
14160
  __name: "DotListItem",
14161
14161
  props: {
14162
14162
  id: {},
@@ -14165,7 +14165,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14165
14165
  },
14166
14166
  emits: ["update", "delete"],
14167
14167
  setup(e, { emit: t }) {
14168
- const n = e, r = t, l = P(
14168
+ const n = e, r = t, l = R(
14169
14169
  () => `${n.coords.lat.toFixed(4)}°, ${n.coords.lng.toFixed(4)}°`
14170
14170
  ), i = F(!1), s = F(n.coords.lat), a = F(n.coords.lng);
14171
14171
  re(
@@ -14243,7 +14243,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14243
14243
  }, " ✕ ")
14244
14244
  ]));
14245
14245
  }
14246
- }), Rx = { class: "ruler-control px-3 py-2.5 space-y-2" }, Ox = {
14246
+ }), Px = { class: "ruler-control px-3 py-2.5 space-y-2" }, Ox = {
14247
14247
  type: "button",
14248
14248
  class: "ruler-row w-full flex items-center gap-2 cursor-pointer group text-left"
14249
14249
  }, Dx = {
@@ -14297,7 +14297,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14297
14297
  k * k + Math.cos(M) * Math.cos(L) * $ * $
14298
14298
  )
14299
14299
  ));
14300
- }, a = P(() => {
14300
+ }, a = R(() => {
14301
14301
  if (t.points.length < 2) return 0;
14302
14302
  let f = 0;
14303
14303
  for (let y = 1; y < t.points.length; y += 1)
@@ -14306,7 +14306,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14306
14306
  t.points[t.points.length - 1].coords,
14307
14307
  t.points[0].coords
14308
14308
  )), f;
14309
- }), p = P(() => a.value >= 1e3 ? `${on(a.value / 1e3)} км` : `${on(a.value)} м`);
14309
+ }), p = R(() => a.value >= 1e3 ? `${on(a.value / 1e3)} км` : `${on(a.value)} м`);
14310
14310
  function v(f) {
14311
14311
  if (f.length < 3) return 0;
14312
14312
  const y = f[0].lat, d = f[0].lng, g = (M, L) => {
@@ -14320,11 +14320,11 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14320
14320
  }
14321
14321
  return Math.abs(_) * 0.5;
14322
14322
  }
14323
- const b = P(() => {
14323
+ const b = R(() => {
14324
14324
  if (!t.isShapeClosed || t.points.length < 3) return 0;
14325
14325
  const f = t.points.map((y) => y.coords);
14326
14326
  return v(f);
14327
- }), m = P(() => b.value > 0), x = P(() => {
14327
+ }), m = R(() => b.value > 0), x = R(() => {
14328
14328
  const f = b.value;
14329
14329
  if (f === 0) return "—";
14330
14330
  if (r.value === "km2") {
@@ -14337,7 +14337,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14337
14337
  }
14338
14338
  const y = f >= 1 ? Math.round(f) : f;
14339
14339
  return `${on(y)} м²`;
14340
- }), u = P(() => {
14340
+ }), u = R(() => {
14341
14341
  const f = t.points.length;
14342
14342
  return f === 1 ? "1 точка" : f >= 2 && f <= 4 ? `${f} точки` : `${f} точок`;
14343
14343
  });
@@ -14346,7 +14346,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14346
14346
  () => {
14347
14347
  t.points.length === 0 && (n.value = !1);
14348
14348
  }
14349
- ), (f, y) => (c(), h("div", Rx, [
14349
+ ), (f, y) => (c(), h("div", Px, [
14350
14350
  o("button", Ox, [
14351
14351
  o("span", Dx, [
14352
14352
  oe(ae(Jn), {
@@ -14399,7 +14399,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14399
14399
  }, " Координати ")
14400
14400
  ]),
14401
14401
  n.value ? (c(), h("div", Jx, [
14402
- (c(!0), h(se, null, ye(e.points, (d, g) => (c(), pe(Px, {
14402
+ (c(!0), h(se, null, ye(e.points, (d, g) => (c(), pe(Rx, {
14403
14403
  key: d.id,
14404
14404
  id: d.id,
14405
14405
  index: g + 1,
@@ -14446,7 +14446,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14446
14446
  function r(i) {
14447
14447
  return rs(i);
14448
14448
  }
14449
- const l = P(() => {
14449
+ const l = R(() => {
14450
14450
  const i = [], s = t.points;
14451
14451
  if (s.length < 2) return i;
14452
14452
  for (let a = 0; a < s.length; a++) {
@@ -14492,14 +14492,14 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14492
14492
  "shape-closed-change"
14493
14493
  ],
14494
14494
  setup(e, { expose: t, emit: n }) {
14495
- const r = n, l = F([]), i = P(() => l.value.length > 0), s = F(!1), a = F(!1), p = F("general");
14495
+ const r = n, l = F([]), i = R(() => l.value.length > 0), s = F(!1), a = F(!1), p = F("general");
14496
14496
  function v(J) {
14497
14497
  p.value = J, r("tab-change", J);
14498
14498
  }
14499
14499
  He(() => {
14500
14500
  r("tab-change", p.value);
14501
14501
  });
14502
- const b = P(
14502
+ const b = R(
14503
14503
  () => l.value.length >= 3 && !a.value
14504
14504
  );
14505
14505
  let m = 1;
@@ -14964,7 +14964,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14964
14964
  class: "flex-1 flex items-center justify-center gap-1.5 px-2 py-2 text-xs font-medium rounded-lg bg-red-50 text-red-600 hover:bg-red-100 hover:text-red-700 transition-colors",
14965
14965
  onClick: u
14966
14966
  }, [
14967
- oe(ae(Po), {
14967
+ oe(ae(Ro), {
14968
14968
  size: 14,
14969
14969
  "stroke-width": 2
14970
14970
  }),
@@ -14998,7 +14998,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14998
14998
  ])
14999
14999
  ]));
15000
15000
  }
15001
- }), Nb = /* @__PURE__ */ Fe(zb, [["__scopeId", "data-v-4cee5a30"]]), Pb = /* @__PURE__ */ ve({
15001
+ }), Nb = /* @__PURE__ */ Fe(zb, [["__scopeId", "data-v-4cee5a30"]]), Rb = /* @__PURE__ */ ve({
15002
15002
  name: "DrawingCanvas",
15003
15003
  __name: "DrawingCanvas",
15004
15004
  props: {
@@ -15007,7 +15007,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15007
15007
  strokeWidth: { default: 3 }
15008
15008
  },
15009
15009
  setup(e, { expose: t }) {
15010
- const n = F(null), r = F(null), l = F(null), i = F({ x: 0, y: 0 }), s = F(!1), a = e, p = P(() => Math.max(a.strokeWidth * 3, 12)), v = P(() => {
15010
+ const n = F(null), r = F(null), l = F(null), i = F({ x: 0, y: 0 }), s = F(!1), a = e, p = R(() => Math.max(a.strokeWidth * 3, 12)), v = R(() => {
15011
15011
  const E = p.value * 2;
15012
15012
  return {
15013
15013
  width: `${E}px`,
@@ -15020,7 +15020,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15020
15020
  }), { ready: b } = st(), m = F(!1), x = F([]), u = F([]);
15021
15021
  let f = 0, y = 0, d = 0, g = 0, _ = null;
15022
15022
  function M() {
15023
- const E = r.value, R = l.value, U = n.value;
15023
+ const E = r.value, P = l.value, U = n.value;
15024
15024
  if (!E || !U) return;
15025
15025
  const H = U.parentElement;
15026
15026
  if (!H) return;
@@ -15029,16 +15029,16 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15029
15029
  const ge = window.devicePixelRatio || 1;
15030
15030
  E.width = le * ge, E.height = de * ge, E.style.width = `${le}px`, E.style.height = `${de}px`;
15031
15031
  const he = E.getContext("2d");
15032
- if (he && he.scale(ge, ge), R) {
15033
- R.width = le * ge, R.height = de * ge, R.style.width = `${le}px`, R.style.height = `${de}px`;
15034
- const Ae = R.getContext("2d");
15032
+ if (he && he.scale(ge, ge), P) {
15033
+ P.width = le * ge, P.height = de * ge, P.style.width = `${le}px`, P.style.height = `${de}px`;
15034
+ const Ae = P.getContext("2d");
15035
15035
  Ae && Ae.scale(ge, ge);
15036
15036
  }
15037
15037
  }
15038
15038
  function L(E) {
15039
- const R = r.value;
15040
- if (!R) return { x: 0, y: 0 };
15041
- const U = R.getBoundingClientRect();
15039
+ const P = r.value;
15040
+ if (!P) return { x: 0, y: 0 };
15041
+ const U = P.getBoundingClientRect();
15042
15042
  return {
15043
15043
  x: E.clientX - U.left,
15044
15044
  y: E.clientY - U.top
@@ -15055,8 +15055,8 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15055
15055
  function C() {
15056
15056
  const E = l.value;
15057
15057
  if (!E) return;
15058
- const R = window.devicePixelRatio || 1, U = E.getContext("2d");
15059
- U && U.clearRect(0, 0, E.width / R, E.height / R);
15058
+ const P = window.devicePixelRatio || 1, U = E.getContext("2d");
15059
+ U && U.clearRect(0, 0, E.width / P, E.height / P);
15060
15060
  }
15061
15061
  function A() {
15062
15062
  const E = $();
@@ -15064,15 +15064,15 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15064
15064
  if (C(), E.globalCompositeOperation = "source-over", E.strokeStyle = a.strokeColor, E.lineWidth = a.strokeWidth, E.lineCap = "round", E.lineJoin = "round", a.tool === "line")
15065
15065
  E.beginPath(), E.moveTo(f, y), E.lineTo(d, g), E.stroke();
15066
15066
  else if (a.tool === "rect") {
15067
- const R = Math.min(f, d), U = Math.min(y, g), H = Math.abs(d - f), le = Math.abs(g - y);
15068
- E.strokeRect(R, U, H, le);
15067
+ const P = Math.min(f, d), U = Math.min(y, g), H = Math.abs(d - f), le = Math.abs(g - y);
15068
+ E.strokeRect(P, U, H, le);
15069
15069
  } else if (a.tool === "circle") {
15070
- const R = Math.sqrt((d - f) ** 2 + (g - y) ** 2);
15071
- E.beginPath(), E.arc(f, y, Math.max(R, 1), 0, 2 * Math.PI), E.stroke();
15070
+ const P = Math.sqrt((d - f) ** 2 + (g - y) ** 2);
15071
+ E.beginPath(), E.arc(f, y, Math.max(P, 1), 0, 2 * Math.PI), E.stroke();
15072
15072
  } else if (a.tool === "polygon" && x.value.length > 0) {
15073
- const R = x.value;
15074
- E.beginPath(), E.moveTo(R[0].x, R[0].y);
15075
- for (let U = 1; U < R.length; U++) E.lineTo(R[U].x, R[U].y);
15073
+ const P = x.value;
15074
+ E.beginPath(), E.moveTo(P[0].x, P[0].y);
15075
+ for (let U = 1; U < P.length; U++) E.lineTo(P[U].x, P[U].y);
15076
15076
  E.lineTo(d, g), E.stroke();
15077
15077
  }
15078
15078
  }
@@ -15083,23 +15083,23 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15083
15083
  function V() {
15084
15084
  const E = r.value;
15085
15085
  if (!E) return;
15086
- const R = E.getContext("2d");
15087
- if (!R) return;
15088
- const U = R.getImageData(0, 0, E.width, E.height);
15086
+ const P = E.getContext("2d");
15087
+ if (!P) return;
15088
+ const U = P.getImageData(0, 0, E.width, E.height);
15089
15089
  u.value = [...u.value.slice(-19), U];
15090
15090
  }
15091
15091
  function J(E) {
15092
15092
  if (!r.value) return;
15093
- const { x: R, y: U } = L(E);
15094
- f = R, y = U, d = R, g = U;
15093
+ const { x: P, y: U } = L(E);
15094
+ f = P, y = U, d = P, g = U;
15095
15095
  const H = k();
15096
15096
  if (H) {
15097
15097
  if (a.tool === "pen" || a.tool === "eraser") {
15098
- V(), m.value = !0, a.tool === "eraser" ? (H.globalCompositeOperation = "destination-out", H.lineWidth = Math.max(a.strokeWidth * 3, 12)) : (H.globalCompositeOperation = "source-over", z(H)), H.beginPath(), H.moveTo(R, U);
15098
+ V(), m.value = !0, a.tool === "eraser" ? (H.globalCompositeOperation = "destination-out", H.lineWidth = Math.max(a.strokeWidth * 3, 12)) : (H.globalCompositeOperation = "source-over", z(H)), H.beginPath(), H.moveTo(P, U);
15099
15099
  return;
15100
15100
  }
15101
15101
  if (a.tool === "paint") {
15102
- V(), m.value = !0, H.globalCompositeOperation = "source-over", H.fillStyle = a.strokeColor, ue(H, R, U);
15102
+ V(), m.value = !0, H.globalCompositeOperation = "source-over", H.fillStyle = a.strokeColor, ue(H, P, U);
15103
15103
  return;
15104
15104
  }
15105
15105
  if (a.tool === "line" || a.tool === "rect" || a.tool === "circle") {
@@ -15107,26 +15107,26 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15107
15107
  return;
15108
15108
  }
15109
15109
  if (a.tool === "polygon") {
15110
- x.value = [...x.value, { x: R, y: U }], d = R, g = U, A();
15110
+ x.value = [...x.value, { x: P, y: U }], d = P, g = U, A();
15111
15111
  return;
15112
15112
  }
15113
15113
  }
15114
15114
  }
15115
15115
  function ne(E) {
15116
- const { x: R, y: U } = L(E);
15117
- d = R, g = U, a.tool === "eraser" && (i.value = { x: E.clientX, y: E.clientY }, s.value = !0);
15116
+ const { x: P, y: U } = L(E);
15117
+ d = P, g = U, a.tool === "eraser" && (i.value = { x: E.clientX, y: E.clientY }, s.value = !0);
15118
15118
  const H = k();
15119
15119
  if (H) {
15120
15120
  if (a.tool === "pen" && m.value) {
15121
- H.globalCompositeOperation = "source-over", z(H), H.lineTo(R, U), H.stroke();
15121
+ H.globalCompositeOperation = "source-over", z(H), H.lineTo(P, U), H.stroke();
15122
15122
  return;
15123
15123
  }
15124
15124
  if (a.tool === "eraser" && m.value) {
15125
- H.globalCompositeOperation = "destination-out", H.lineWidth = Math.max(a.strokeWidth * 3, 12), H.lineTo(R, U), H.stroke();
15125
+ H.globalCompositeOperation = "destination-out", H.lineWidth = Math.max(a.strokeWidth * 3, 12), H.lineTo(P, U), H.stroke();
15126
15126
  return;
15127
15127
  }
15128
15128
  if (a.tool === "paint" && m.value) {
15129
- H.globalCompositeOperation = "source-over", H.fillStyle = a.strokeColor, ue(H, R, U);
15129
+ H.globalCompositeOperation = "source-over", H.fillStyle = a.strokeColor, ue(H, P, U);
15130
15130
  return;
15131
15131
  }
15132
15132
  m.value && (a.tool === "line" || a.tool === "rect" || a.tool === "circle") && A(), a.tool === "polygon" && x.value.length > 0 && A();
@@ -15138,10 +15138,10 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15138
15138
  function X() {
15139
15139
  a.tool === "polygon" && O();
15140
15140
  }
15141
- function ue(E, R, U) {
15141
+ function ue(E, P, U) {
15142
15142
  const H = Math.max(a.strokeWidth * 2.5, 8), le = 12 + Math.floor(a.strokeWidth);
15143
15143
  for (let de = 0; de < le; de++) {
15144
- const ge = Math.random() * 2 * Math.PI, he = H * Math.random(), Ae = R + Math.cos(ge) * he, ze = U + Math.sin(ge) * he, K = 1 + Math.random() * 2;
15144
+ const ge = Math.random() * 2 * Math.PI, he = H * Math.random(), Ae = P + Math.cos(ge) * he, ze = U + Math.sin(ge) * he, K = 1 + Math.random() * 2;
15145
15145
  E.beginPath(), E.arc(Ae, ze, K, 0, 2 * Math.PI), E.fill();
15146
15146
  }
15147
15147
  }
@@ -15160,59 +15160,59 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15160
15160
  E.globalCompositeOperation = "source-over", z(E), E.beginPath(), E.moveTo(f, y), E.lineTo(d, g), E.stroke();
15161
15161
  else if (a.tool === "rect") {
15162
15162
  E.globalCompositeOperation = "source-over", z(E);
15163
- const R = Math.min(f, d), U = Math.min(y, g), H = Math.abs(d - f), le = Math.abs(g - y);
15164
- E.strokeRect(R, U, H, le);
15163
+ const P = Math.min(f, d), U = Math.min(y, g), H = Math.abs(d - f), le = Math.abs(g - y);
15164
+ E.strokeRect(P, U, H, le);
15165
15165
  } else if (a.tool === "circle") {
15166
15166
  E.globalCompositeOperation = "source-over", z(E);
15167
- const R = Math.sqrt((d - f) ** 2 + (g - y) ** 2);
15168
- E.beginPath(), E.arc(f, y, Math.max(R, 1), 0, 2 * Math.PI), E.stroke();
15167
+ const P = Math.sqrt((d - f) ** 2 + (g - y) ** 2);
15168
+ E.beginPath(), E.arc(f, y, Math.max(P, 1), 0, 2 * Math.PI), E.stroke();
15169
15169
  }
15170
15170
  C(), m.value = !1, E.globalCompositeOperation = "source-over";
15171
15171
  }
15172
15172
  function O() {
15173
- const E = k(), R = x.value;
15174
- if (!E || R.length < 2) {
15173
+ const E = k(), P = x.value;
15174
+ if (!E || P.length < 2) {
15175
15175
  x.value = [], C();
15176
15176
  return;
15177
15177
  }
15178
- V(), E.globalCompositeOperation = "source-over", z(E), E.beginPath(), E.moveTo(R[0].x, R[0].y);
15179
- for (let U = 1; U < R.length; U++) E.lineTo(R[U].x, R[U].y);
15178
+ V(), E.globalCompositeOperation = "source-over", z(E), E.beginPath(), E.moveTo(P[0].x, P[0].y);
15179
+ for (let U = 1; U < P.length; U++) E.lineTo(P[U].x, P[U].y);
15180
15180
  E.closePath(), E.stroke(), x.value = [], C(), E.globalCompositeOperation = "source-over";
15181
15181
  }
15182
15182
  function j() {
15183
15183
  const E = r.value;
15184
15184
  if (!E || u.value.length === 0) return;
15185
- const R = E.getContext("2d");
15186
- if (!R) return;
15185
+ const P = E.getContext("2d");
15186
+ if (!P) return;
15187
15187
  const U = u.value[u.value.length - 1];
15188
- u.value = u.value.slice(0, -1), R.putImageData(U, 0, 0);
15188
+ u.value = u.value.slice(0, -1), P.putImageData(U, 0, 0);
15189
15189
  }
15190
15190
  function D() {
15191
15191
  const E = r.value;
15192
15192
  if (!E) return;
15193
- const R = E.getContext("2d");
15194
- if (!R) return;
15193
+ const P = E.getContext("2d");
15194
+ if (!P) return;
15195
15195
  const U = window.devicePixelRatio || 1;
15196
- R.clearRect(0, 0, E.width / U, E.height / U), x.value = [], u.value = [], C();
15196
+ P.clearRect(0, 0, E.width / U, E.height / U), x.value = [], u.value = [], C();
15197
15197
  }
15198
15198
  function T() {
15199
15199
  return r.value;
15200
15200
  }
15201
15201
  return re(
15202
15202
  () => a.tool,
15203
- (E, R) => {
15204
- R === "polygon" && E !== "polygon" && (x.value = [], C());
15203
+ (E, P) => {
15204
+ P === "polygon" && E !== "polygon" && (x.value = [], C());
15205
15205
  }
15206
15206
  ), He(() => {
15207
15207
  b().then(() => {
15208
- var R;
15208
+ var P;
15209
15209
  M();
15210
- const E = (R = n.value) == null ? void 0 : R.parentElement;
15210
+ const E = (P = n.value) == null ? void 0 : P.parentElement;
15211
15211
  E && typeof ResizeObserver < "u" && (_ = new ResizeObserver(M), _.observe(E));
15212
15212
  });
15213
15213
  }), qe(() => {
15214
15214
  _ == null || _.disconnect(), _ = null;
15215
- }), t({ clear: D, getCanvas: T, finishPolygon: O, undo: j, canUndo: () => u.value.length > 0 }), (E, R) => (c(), h("div", {
15215
+ }), t({ clear: D, getCanvas: T, finishPolygon: O, undo: j, canUndo: () => u.value.length > 0 }), (E, P) => (c(), h("div", {
15216
15216
  ref_key: "wrapRef",
15217
15217
  ref: n,
15218
15218
  class: Ee(["drawing-canvas-wrap", { "drawing-canvas-wrap--eraser": e.tool === "eraser" }]),
@@ -15220,7 +15220,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15220
15220
  onMousemove: ne,
15221
15221
  onMouseup: Y,
15222
15222
  onDblclick: X,
15223
- onMouseleave: R[0] || (R[0] = () => {
15223
+ onMouseleave: P[0] || (P[0] = () => {
15224
15224
  ie(), Y();
15225
15225
  })
15226
15226
  }, [
@@ -15242,7 +15242,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15242
15242
  ])
15243
15243
  ], 34));
15244
15244
  }
15245
- }), Rb = /* @__PURE__ */ Fe(Pb, [["__scopeId", "data-v-ed2688bc"]]), Ob = {
15245
+ }), Pb = /* @__PURE__ */ Fe(Rb, [["__scopeId", "data-v-ed2688bc"]]), Ob = {
15246
15246
  key: 2,
15247
15247
  class: "absolute bottom-16 right-4 z-[100] pointer-events-auto"
15248
15248
  }, Db = {
@@ -15280,37 +15280,37 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15280
15280
  data: {}
15281
15281
  },
15282
15282
  setup(e) {
15283
- var Ie, De, Pe, kt;
15284
- const t = e, n = St(), r = zt(), l = F(null), i = F({}), s = F(null), a = F(!1), p = F(null), v = F(!1), b = F([]), m = F(!1), x = F("general"), u = F(null), f = F(!1), y = F(null), d = F(null), g = F("pen"), _ = F("#2563eb"), M = F(3), L = F([]), k = F(!1), $ = P(() => t.id || "main"), C = P(() => {
15283
+ var Ie, De, Re, kt;
15284
+ const t = e, n = St(), r = zt(), l = F(null), i = F({}), s = F(null), a = F(!1), p = F(null), v = F(!1), b = F([]), m = F(!1), x = F("general"), u = F(null), f = F(!1), y = F(null), d = F(null), g = F("pen"), _ = F("#2563eb"), M = F(3), L = F([]), k = F(!1), $ = R(() => t.id || "main"), C = R(() => {
15285
15285
  var W, ce;
15286
15286
  return {
15287
15287
  height: ((W = t.height) == null ? void 0 : W.trim()) || ((ce = i.value) == null ? void 0 : ce.height) || "calc(100vh - 65px)"
15288
15288
  };
15289
- }), A = P(() => {
15289
+ }), A = R(() => {
15290
15290
  var W;
15291
15291
  return ((W = i.value) == null ? void 0 : W.name) ?? null;
15292
- }), z = P(() => {
15292
+ }), z = R(() => {
15293
15293
  var W;
15294
15294
  return ((W = i.value) == null ? void 0 : W.description) ?? null;
15295
- }), V = P(() => {
15295
+ }), V = R(() => {
15296
15296
  var W;
15297
15297
  return H((W = i.value) == null ? void 0 : W.maps);
15298
- }), J = P(() => {
15298
+ }), J = R(() => {
15299
15299
  var ce, Te;
15300
15300
  const W = ((ce = i.value) == null ? void 0 : ce.minZoom) ?? ((Te = i.value) == null ? void 0 : Te.minzoom) ?? null;
15301
15301
  return typeof W == "number" ? W : null;
15302
- }), ne = P(() => {
15302
+ }), ne = R(() => {
15303
15303
  var ce, Te;
15304
15304
  const W = ((ce = i.value) == null ? void 0 : ce.maxZoom) ?? ((Te = i.value) == null ? void 0 : Te.maxzoom) ?? null;
15305
15305
  return typeof W == "number" ? W : typeof t.maxZoom == "number" ? t.maxZoom : 20;
15306
- }), ie = F(null), X = P(() => {
15306
+ }), ie = F(null), X = R(() => {
15307
15307
  if (!ie.value) return null;
15308
15308
  const { lng: W, lat: ce } = ie.value;
15309
15309
  return `${ce.toFixed(6)}, ${W.toFixed(6)}`;
15310
- }), ue = P(() => {
15310
+ }), ue = R(() => {
15311
15311
  var W;
15312
15312
  return ((W = l.value) == null ? void 0 : W.ctx) ?? null;
15313
- }), Y = P(() => {
15313
+ }), Y = R(() => {
15314
15314
  var W;
15315
15315
  return ((W = i.value) == null ? void 0 : W.minimap) ?? null;
15316
15316
  });
@@ -15325,7 +15325,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15325
15325
  const ce = Number(typeof W == "string" ? W.trim() : W);
15326
15326
  return Number.isFinite(ce) ? ce : null;
15327
15327
  }
15328
- const T = ln((Pe = j == null ? void 0 : j.map) == null ? void 0 : Pe.center), E = D((kt = j == null ? void 0 : j.map) == null ? void 0 : kt.zoom), R = P(() => {
15328
+ const T = ln((Re = j == null ? void 0 : j.map) == null ? void 0 : Re.center), E = D((kt = j == null ? void 0 : j.map) == null ? void 0 : kt.zoom), P = R(() => {
15329
15329
  const W = (j == null ? void 0 : j.map) || null, ce = (W == null ? void 0 : W.boundary) ?? null, Te = (W == null ? void 0 : W.katottg) ?? null;
15330
15330
  return !ce && !Te ? null : { boundary: ce, katottg: Te };
15331
15331
  });
@@ -15335,10 +15335,10 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15335
15335
  function H(W) {
15336
15336
  return Array.isArray(W) ? W : W && typeof W == "object" ? Object.values(W).filter(Boolean) : [];
15337
15337
  }
15338
- const le = P(() => {
15338
+ const le = R(() => {
15339
15339
  var W;
15340
15340
  return H((W = i.value) == null ? void 0 : W.widgets);
15341
- }), de = P(() => le.value.some((W) => (W == null ? void 0 : W.type) === "basemaps")), ge = ["left", "right"], he = P(() => {
15341
+ }), de = R(() => le.value.some((W) => (W == null ? void 0 : W.type) === "basemaps")), ge = ["left", "right"], he = R(() => {
15342
15342
  const W = {
15343
15343
  left: { top: [], bottom: [] },
15344
15344
  right: { top: [], bottom: [] }
@@ -15422,7 +15422,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15422
15422
  Ye.value = !1;
15423
15423
  }
15424
15424
  }
15425
- let be = null, Re = null;
15425
+ let be = null, Pe = null;
15426
15426
  const Ye = F(!1), ot = F(null);
15427
15427
  function et() {
15428
15428
  const W = ot.value;
@@ -15504,10 +15504,10 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15504
15504
  }
15505
15505
  async function Ln() {
15506
15506
  const W = await ze();
15507
- W != null && W.on && (be == null || be(), be = W.on("moveend", te), Re == null || Re(), Re = W.on("mousemove", _t), ht == null || ht(), ht = W.on("click", kn));
15507
+ W != null && W.on && (be == null || be(), be = W.on("moveend", te), Pe == null || Pe(), Pe = W.on("mousemove", _t), ht == null || ht(), ht = W.on("click", kn));
15508
15508
  }
15509
15509
  so(() => {
15510
- be == null || be(), be = null, Re == null || Re(), Re = null, ht == null || ht(), ht = null;
15510
+ be == null || be(), be = null, Pe == null || Pe(), Pe = null, ht == null || ht(), ht = null;
15511
15511
  });
15512
15512
  async function q(W = !1) {
15513
15513
  var Te, Ke;
@@ -15538,7 +15538,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15538
15538
  ce && (a.value = !1);
15539
15539
  }
15540
15540
  }
15541
- const ee = P(() => {
15541
+ const ee = R(() => {
15542
15542
  var Ke;
15543
15543
  const W = /* @__PURE__ */ new Map();
15544
15544
  return H((Ke = i.value) == null ? void 0 : Ke.layers).forEach((Ce) => {
@@ -15566,7 +15566,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15566
15566
  function we(W) {
15567
15567
  Z.value.includes(W) ? Z.value = Z.value.filter((ce) => ce !== W) : Z.value.push(W);
15568
15568
  }
15569
- const $e = P(() => (W) => Z.value.includes(W.id));
15569
+ const $e = R(() => (W) => Z.value.includes(W.id));
15570
15570
  return re([J, ne], () => {
15571
15571
  w();
15572
15572
  }, { immediate: !0 }), re($, () => {
@@ -15603,11 +15603,11 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15603
15603
  key: 0,
15604
15604
  class: "hidden"
15605
15605
  })),
15606
- R.value ? (c(), pe(es, {
15606
+ P.value ? (c(), pe(es, {
15607
15607
  key: 1,
15608
15608
  "layer-id": "app-boundary",
15609
- boundary: R.value.boundary,
15610
- katottg: R.value.katottg
15609
+ boundary: P.value.boundary,
15610
+ katottg: P.value.katottg
15611
15611
  }, null, 8, ["boundary", "katottg"])) : Q("", !0),
15612
15612
  ue.value && b.value.includes("draw") && f.value ? (c(), h("div", Ob, [
15613
15613
  oe(Nb, {
@@ -15682,7 +15682,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15682
15682
  "is-shape-closed": k.value,
15683
15683
  "label-mode": x.value
15684
15684
  }, null, 8, ["points", "is-shape-closed", "label-mode"])) : Q("", !0),
15685
- v.value && f.value ? (c(), pe(Rb, {
15685
+ v.value && f.value ? (c(), pe(Pb, {
15686
15686
  key: 5,
15687
15687
  ref_key: "drawingCanvasRef",
15688
15688
  ref: d,
@@ -15949,7 +15949,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15949
15949
  "top-right",
15950
15950
  "bottom-left",
15951
15951
  "bottom-right"
15952
- ], s = F(null), a = F(-1), p = P(() => n.modelValue || []);
15952
+ ], s = F(null), a = F(-1), p = R(() => n.modelValue || []);
15953
15953
  function v() {
15954
15954
  const g = [
15955
15955
  ...p.value,
@@ -16093,7 +16093,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16093
16093
  class: "p-1 text-gray-400 hover:text-red-500 transition-colors",
16094
16094
  title: "Видалити віджет"
16095
16095
  }, [
16096
- oe(ae(Po), { size: 16 })
16096
+ oe(ae(Ro), { size: 16 })
16097
16097
  ], 8, E2)
16098
16098
  ])
16099
16099
  ]))), 128))
@@ -16112,13 +16112,13 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16112
16112
  }), F2 = { class: "relative h-full flex flex-col flex-1 min-h-0 overflow-hidden mx-auto w-full" }, I2 = { class: "mx-1" }, j2 = { class: "text-gray-900 font-semibold" }, z2 = ["disabled"], N2 = {
16113
16113
  key: 0,
16114
16114
  class: "text-center py-12 mt-6 px-[24px]"
16115
- }, P2 = {
16115
+ }, R2 = {
16116
16116
  key: 1,
16117
16117
  class: "px-[24px] overflow-y-auto"
16118
- }, R2 = { class: "space-y-6" }, O2 = { class: "space-y-6" }, D2 = { class: "space-y-6" }, V2 = /* @__PURE__ */ ve({
16118
+ }, P2 = { class: "space-y-6" }, O2 = { class: "space-y-6" }, D2 = { class: "space-y-6" }, V2 = /* @__PURE__ */ ve({
16119
16119
  __name: "MapSettings",
16120
16120
  setup(e) {
16121
- const t = zt(), n = St(), r = P(
16121
+ const t = zt(), n = St(), r = R(
16122
16122
  () => {
16123
16123
  var C;
16124
16124
  return ((C = t.resolve("/maps").meta) == null ? void 0 : C.title) ?? "Карти";
@@ -16152,17 +16152,17 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16152
16152
  zoom: 11,
16153
16153
  widgets: [],
16154
16154
  layers: []
16155
- }), f = P({
16155
+ }), f = R({
16156
16156
  get: () => (u.value.layers || []).map((C) => C.id || C),
16157
16157
  set: (C) => {
16158
16158
  u.value.layers = C;
16159
16159
  }
16160
- }), y = P(
16160
+ }), y = R(
16161
16161
  () => s.value.map((C) => ({
16162
16162
  id: C.id,
16163
16163
  text: C.name || C.id
16164
16164
  }))
16165
- ), d = P({
16165
+ ), d = R({
16166
16166
  get: () => f.value.map((C) => {
16167
16167
  const A = y.value.find((z) => z.id === C);
16168
16168
  return A ? A.text : C;
@@ -16174,12 +16174,12 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16174
16174
  }).filter((z) => z !== null);
16175
16175
  f.value = A;
16176
16176
  }
16177
- }), g = P(() => {
16177
+ }), g = R(() => {
16178
16178
  const C = u.value.center;
16179
16179
  if (!Array.isArray(C) || C.length < 2) return "Не задано";
16180
16180
  const [A, z] = C;
16181
16181
  return A === void 0 || z === void 0 || A === null || z === null || Number.isNaN(Number(A)) || Number.isNaN(Number(z)) ? "Не задано" : `Lng ${Number(A).toFixed(6)}, Lat ${Number(z).toFixed(6)}`;
16182
- }), _ = P(() => {
16182
+ }), _ = R(() => {
16183
16183
  const C = u.value.zoom;
16184
16184
  if (C == null || C === "")
16185
16185
  return "Не задано";
@@ -16358,13 +16358,13 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16358
16358
  }, 8, ["title"]),
16359
16359
  l.value ? (c(), h("div", N2, [...A[8] || (A[8] = [
16360
16360
  o("p", { class: "text-gray-500" }, "Завантаження...", -1)
16361
- ])])) : (c(), h("div", P2, [
16361
+ ])])) : (c(), h("div", R2, [
16362
16362
  oe(rh, {
16363
16363
  tabs: p,
16364
16364
  activeTab: x.value,
16365
16365
  "onUpdate:activeTab": A[1] || (A[1] = (V) => x.value = V)
16366
16366
  }, null, 8, ["activeTab"]),
16367
- Ue(o("div", R2, [
16367
+ Ue(o("div", P2, [
16368
16368
  oe(sh, {
16369
16369
  schema: M,
16370
16370
  loading: l.value,
@@ -16433,7 +16433,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16433
16433
  },
16434
16434
  emits: ["update:counts"],
16435
16435
  setup(e, { expose: t, emit: n }) {
16436
- const r = e, l = n, i = zt(), s = St(), a = F(Number(s.query.page) || 1), p = F(!1), v = F(0), b = F([]), m = P(() => {
16436
+ const r = e, l = n, i = zt(), s = St(), a = F(Number(s.query.page) || 1), p = F(!1), v = F(0), b = F([]), m = R(() => {
16437
16437
  const C = (a.value - 1) * $o, A = C + $o;
16438
16438
  return b.value.slice(C, A);
16439
16439
  }), x = F(!0), u = F(null), f = F(null);
@@ -16572,7 +16572,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16572
16572
  ], 8, Z2))), 128))
16573
16573
  ])) : Q("", !0)
16574
16574
  ]),
16575
- p.value ? (c(), pe(Pt, {
16575
+ p.value ? (c(), pe(Rt, {
16576
16576
  key: 0,
16577
16577
  to: "#pagination"
16578
16578
  }, [
@@ -16719,7 +16719,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16719
16719
  width: "w-4/12",
16720
16720
  align: "text-left"
16721
16721
  }
16722
- ], l = F([]), i = F(!0), s = F(null), a = P(() => {
16722
+ ], l = F([]), i = F(!0), s = F(null), a = R(() => {
16723
16723
  var m;
16724
16724
  if (!((m = n.search) != null && m.trim()))
16725
16725
  return l.value;
@@ -16792,7 +16792,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16792
16792
  ]))
16793
16793
  ]));
16794
16794
  }
16795
- }), Fw = { class: "space-y-6 flex-1 overflow-y-auto p-0" }, Iw = { class: "flex items-center gap-2 text-sm text-gray-600 mb-4" }, jw = { class: "text-gray-900" }, zw = { class: "flex items-start justify-between mb-6" }, Nw = { class: "flex-1 mr-4" }, Pw = { class: "text-2xl font-bold text-gray-900" }, Rw = {
16795
+ }), Fw = { class: "space-y-6 flex-1 overflow-y-auto p-0" }, Iw = { class: "flex items-center gap-2 text-sm text-gray-600 mb-4" }, jw = { class: "text-gray-900" }, zw = { class: "flex items-start justify-between mb-6" }, Nw = { class: "flex-1 mr-4" }, Rw = { class: "text-2xl font-bold text-gray-900" }, Pw = {
16796
16796
  key: 0,
16797
16797
  class: "flex items-center gap-2 group mt-1"
16798
16798
  }, Ow = { class: "text-sm text-gray-500" }, Dw = {
@@ -16801,7 +16801,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16801
16801
  }, Vw = ["disabled"], Bw = ["disabled"], Uw = { class: "flex items-center gap-3" }, qw = { class: "bg-white rounded-lg shadow-sm border border-gray-200 p-4 mb-4" }, Hw = { class: "relative max-w-md" }, Ww = { class: "vs-form-text relative w-full border-transparent text-sm focus:bg-white focus:border-blue-500 focus:ring-blue-500 rounded-sm" }, Yw = { class: "absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3" }, Zw = /* @__PURE__ */ ve({
16802
16802
  __name: "DictionaryDetails",
16803
16803
  setup(e) {
16804
- const t = zt(), n = St(), r = P(() => n.params.name), l = F(!1), i = F(null), s = F(null), a = F(""), p = F(""), v = F(""), b = F(!1), m = F(!1), x = F(null), u = async () => {
16804
+ const t = zt(), n = St(), r = R(() => n.params.name), l = F(!1), i = F(null), s = F(null), a = F(""), p = F(""), v = F(""), b = F(!1), m = F(!1), x = F(null), u = async () => {
16805
16805
  var M;
16806
16806
  try {
16807
16807
  const L = await fetch(
@@ -16870,7 +16870,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16870
16870
  ]),
16871
16871
  o("div", zw, [
16872
16872
  o("div", Nw, [
16873
- o("h1", Pw, B(r.value), 1),
16873
+ o("h1", Rw, B(r.value), 1),
16874
16874
  b.value ? (c(), h("div", Dw, [
16875
16875
  Ue(o("input", {
16876
16876
  ref_key: "editInputRef",
@@ -16908,7 +16908,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16908
16908
  "stroke-width": 2
16909
16909
  })
16910
16910
  ], 8, Bw)
16911
- ])) : (c(), h("div", Rw, [
16911
+ ])) : (c(), h("div", Pw, [
16912
16912
  o("p", Ow, B(p.value || "Опис відсутній"), 1),
16913
16913
  o("button", {
16914
16914
  onClick: f,
@@ -17024,7 +17024,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
17024
17024
  },
17025
17025
  emits: ["update:modelValue"],
17026
17026
  setup(e, { expose: t, emit: n }) {
17027
- const r = e, l = n, i = P(() => r.actions && r.actions.length ? r.actions : ["view"]), s = F(0), a = F({}), p = F({});
17027
+ const r = e, l = n, i = R(() => r.actions && r.actions.length ? r.actions : ["view"]), s = F(0), a = F({}), p = F({});
17028
17028
  re(
17029
17029
  () => r.modelValue,
17030
17030
  (L) => {
@@ -17041,7 +17041,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
17041
17041
  },
17042
17042
  { immediate: !0 }
17043
17043
  );
17044
- const v = P(() => {
17044
+ const v = R(() => {
17045
17045
  var L, k;
17046
17046
  return ((k = (L = r.data) == null ? void 0 : L.routers) == null ? void 0 : k.map(($) => {
17047
17047
  if ($ != null && $.menu && Array.isArray($.menu)) {
@@ -17213,7 +17213,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
17213
17213
  }), y_ = { class: "flex flex-col gap-4" }, h_ = { class: "flex items-center gap-3" }, x_ = { class: "flex-1 relative" }, E_ = /* @__PURE__ */ ve({
17214
17214
  __name: "VsPermissions",
17215
17215
  setup(e) {
17216
- const t = St(), n = F(""), r = F(null), l = F({ categories: [], layers: [] }), i = F([]), s = F(["edit"]), a = P(() => {
17216
+ const t = St(), n = F(""), r = F(null), l = F({ categories: [], layers: [] }), i = F([]), s = F(["edit"]), a = R(() => {
17217
17217
  const m = n.value.toLowerCase().trim(), x = p(l.value);
17218
17218
  return m ? x.map((u) => {
17219
17219
  const f = String(u.ua || "").toLowerCase().includes(m), y = (u.menu || []).filter((d) => String(d.ua || "").toLowerCase().includes(m));