@opengis/gis 0.2.105 → 0.2.106

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
@@ -95,7 +95,7 @@ const Ds = ({ size: e, strokeWidth: t = 2, absoluteStrokeWidth: n, color: r, ico
95
95
  ),
96
96
  ...a
97
97
  },
98
- [...l.map((m) => Io(...m)), ...p.default ? [p.default()] : []]
98
+ [...l.map((v) => Io(...v)), ...p.default ? [p.default()] : []]
99
99
  );
100
100
  /**
101
101
  * @license lucide-vue-next v0.514.0 - ISC
@@ -606,7 +606,7 @@ const ln = Re("x", [
606
606
  },
607
607
  { deep: !0 }
608
608
  );
609
- const p = () => l.value = l.value.filter((b, d) => d !== r.index), m = async () => {
609
+ const p = () => l.value = l.value.filter((b, d) => d !== r.index), v = async () => {
610
610
  const b = s.value.validate();
611
611
  if (b) {
612
612
  je({ type: "warning", title: "Validation", message: Object.entries(b).map(([d, h]) => `${d}: ${h}`).join(`
@@ -646,7 +646,7 @@ const ln = Re("x", [
646
646
  }, " Скасувати "),
647
647
  o("button", {
648
648
  class: "py-2 px-3 inline-flex items-center gap-x-2 text-sm whitespace-nowrap text-white bg-blue-500 rounded-lg !border-gray-200 hover:bg-blue-700 duration-300",
649
- onClick: m
649
+ onClick: v
650
650
  }, " Зберегти ")
651
651
  ])
652
652
  ]),
@@ -1164,7 +1164,7 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
1164
1164
  function n(C) {
1165
1165
  return C.charAt(0).toUpperCase() + C.slice(1);
1166
1166
  }
1167
- const r = vt(() => import("@opengis/core").then((C) => C.VsModal)), l = vt(() => import("@opengis/form")), i = Nt(e, "modelValue"), s = e, a = T({}), p = T(!1), m = T({}), b = T(null), d = ks(), h = (C) => !!(C && d[C]);
1167
+ const r = vt(() => import("@opengis/core").then((C) => C.VsModal)), l = vt(() => import("@opengis/form")), i = Nt(e, "modelValue"), s = e, a = T({}), p = T(!1), v = T({}), b = T(null), d = ks(), h = (C) => !!(C && d[C]);
1168
1168
  t({
1169
1169
  openCreateDialog: () => {
1170
1170
  p.value = !0;
@@ -1192,9 +1192,9 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
1192
1192
  ] : s.columnsScheme;
1193
1193
  });
1194
1194
  function y() {
1195
- p.value = !1, m.value = {}, b.value = null;
1195
+ p.value = !1, v.value = {}, b.value = null;
1196
1196
  }
1197
- async function v() {
1197
+ async function m() {
1198
1198
  const C = a.value.validate();
1199
1199
  if (C) {
1200
1200
  je({
@@ -1206,10 +1206,10 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
1206
1206
  return;
1207
1207
  }
1208
1208
  if (b.value === null)
1209
- u.value = [...u.value, { ...m.value }];
1209
+ u.value = [...u.value, { ...v.value }];
1210
1210
  else {
1211
1211
  const $ = [...u.value];
1212
- $[b.value] = { ...m.value }, u.value = $;
1212
+ $[b.value] = { ...v.value }, u.value = $;
1213
1213
  }
1214
1214
  y();
1215
1215
  }
@@ -1360,7 +1360,7 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
1360
1360
  }, " Скасувати "),
1361
1361
  o("button", {
1362
1362
  type: "button",
1363
- onClick: v,
1363
+ onClick: m,
1364
1364
  class: "px-4 py-2 rounded bg-blue-600 text-white"
1365
1365
  }, " Зберегти1 ")
1366
1366
  ])
@@ -1369,8 +1369,8 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
1369
1369
  ne(se(l), {
1370
1370
  ref_key: "form",
1371
1371
  ref: a,
1372
- modelValue: m.value,
1373
- "onUpdate:modelValue": $[2] || ($[2] = (A) => m.value = A),
1372
+ modelValue: v.value,
1373
+ "onUpdate:modelValue": $[2] || ($[2] = (A) => v.value = A),
1374
1374
  schema: e.formScheme
1375
1375
  }, null, 8, ["modelValue", "schema"])
1376
1376
  ]),
@@ -1401,14 +1401,14 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
1401
1401
  () => import("@opengis/core").then((E) => E.VsModal)
1402
1402
  ), a = P(
1403
1403
  () => Array.isArray(l.fields) ? l.fields.filter(Boolean) : []
1404
- ), p = (E) => (E == null ? void 0 : E.name) ?? (E == null ? void 0 : E.id) ?? (E == null ? void 0 : E.key) ?? (E == null ? void 0 : E.code) ?? (E == null ? void 0 : E.field) ?? (E == null ? void 0 : E.value) ?? "", m = (E) => String(p(E) ?? "").trim(), b = (E) => (E == null ? void 0 : E.title) ?? (E == null ? void 0 : E.label) ?? m(E), d = (E) => String((E == null ? void 0 : E.type) ?? "").trim(), h = P(
1404
+ ), p = (E) => (E == null ? void 0 : E.name) ?? (E == null ? void 0 : E.id) ?? (E == null ? void 0 : E.key) ?? (E == null ? void 0 : E.code) ?? (E == null ? void 0 : E.field) ?? (E == null ? void 0 : E.value) ?? "", v = (E) => String(p(E) ?? "").trim(), b = (E) => (E == null ? void 0 : E.title) ?? (E == null ? void 0 : E.label) ?? v(E), d = (E) => String((E == null ? void 0 : E.type) ?? "").trim(), h = P(
1405
1405
  () => new Set(r.value.map((E) => String(E ?? "").trim()))
1406
- ), u = (E) => h.value.has(m(E)), f = (E) => {
1407
- const L = m(E);
1406
+ ), u = (E) => h.value.has(v(E)), f = (E) => {
1407
+ const L = v(E);
1408
1408
  if (!L) return;
1409
1409
  const k = new Set(h.value);
1410
1410
  k.has(L) ? k.delete(L) : k.add(L), r.value = Array.from(k);
1411
- }, y = P(() => l.confirmText || "Імпортувати"), v = P(() => l.cancelText || "Скасувати"), g = () => {
1411
+ }, y = P(() => l.confirmText || "Імпортувати"), m = P(() => l.cancelText || "Скасувати"), g = () => {
1412
1412
  n.value = !1, i("cancel");
1413
1413
  }, _ = () => {
1414
1414
  i("confirm"), n.value = !1;
@@ -1425,7 +1425,7 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
1425
1425
  o("button", {
1426
1426
  onClick: g,
1427
1427
  class: "px-4 py-2 rounded bg-gray-100 text-gray-700"
1428
- }, V(v.value), 1),
1428
+ }, V(m.value), 1),
1429
1429
  o("button", {
1430
1430
  onClick: _,
1431
1431
  class: "px-4 py-2 rounded bg-blue-600 text-white"
@@ -1436,12 +1436,12 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
1436
1436
  o("div", qa, [
1437
1437
  o("div", Ha, [
1438
1438
  (c(!0), x(ie, null, he(a.value, (k) => (c(), x("label", {
1439
- key: m(k),
1439
+ key: v(k),
1440
1440
  class: "flex items-center hover:bg-gray-100 rounded p-2 cursor-pointer"
1441
1441
  }, [
1442
1442
  o("input", {
1443
1443
  type: "checkbox",
1444
- id: `${e.idPrefix}-${m(k)}`,
1444
+ id: `${e.idPrefix}-${v(k)}`,
1445
1445
  checked: u(k),
1446
1446
  onChange: (C) => f(k)
1447
1447
  }, null, 40, Wa),
@@ -1453,7 +1453,7 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
1453
1453
  (c(), fe(Qt(`icon-${k.type}`), { class: "w-4 h-4" }))
1454
1454
  ], 2)) : X("", !0),
1455
1455
  o("div", null, [
1456
- o("p", Za, V(m(k)), 1),
1456
+ o("p", Za, V(v(k)), 1),
1457
1457
  o("p", Ga, V(b(k)), 1),
1458
1458
  d(k) ? (c(), x("p", Ka, V(d(k)), 1)) : X("", !0)
1459
1459
  ])
@@ -1482,16 +1482,16 @@ function Mn(e, t, n) {
1482
1482
  }
1483
1483
  if (a.size === 0)
1484
1484
  return [];
1485
- const p = (d) => Cn(s(d)), m = [], b = /* @__PURE__ */ new Set();
1485
+ const p = (d) => Cn(s(d)), v = [], b = /* @__PURE__ */ new Set();
1486
1486
  for (const d of r) {
1487
1487
  const h = p(d);
1488
- !h || !a.has(h) || (m.push(d), b.add(h));
1488
+ !h || !a.has(h) || (v.push(d), b.add(h));
1489
1489
  }
1490
1490
  for (const d of l) {
1491
1491
  const h = p(d);
1492
- !h || b.has(h) || !a.has(h) || (m.push(d), b.add(h));
1492
+ !h || b.has(h) || !a.has(h) || (v.push(d), b.add(h));
1493
1493
  }
1494
- return m;
1494
+ return v;
1495
1495
  }
1496
1496
  const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max container" }, eu = { class: "flex flex-wrap" }, tu = { class: "h-fit w-full mb-6 bg-white border border-gray-200 rounded-lg p-6" }, nu = { class: "h-fit w-full flex flex-wrap" }, ou = { class: "w-full" }, ru = /* @__PURE__ */ me({
1497
1497
  __name: "list-tab",
@@ -1505,9 +1505,9 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
1505
1505
  }),
1506
1506
  emits: ["update:data", "update:form"],
1507
1507
  setup(e) {
1508
- const t = Nt(e, "data"), n = Nt(e, "form"), r = e, l = P(() => Array.isArray(r.fields) ? r.fields : []), i = (_) => nn(_ || {}), s = vt(() => import("@opengis/form")), a = T(), p = T(!1), m = T([]), b = () => {
1508
+ const t = Nt(e, "data"), n = Nt(e, "form"), r = e, l = P(() => Array.isArray(r.fields) ? r.fields : []), i = (_) => nn(_ || {}), s = vt(() => import("@opengis/form")), a = T(), p = T(!1), v = T([]), b = () => {
1509
1509
  const _ = h.value.map((E) => i(E)).filter((E) => E.length > 0);
1510
- m.value = [..._], p.value = !0;
1510
+ v.value = [..._], p.value = !0;
1511
1511
  }, d = P(
1512
1512
  () => {
1513
1513
  var _, E;
@@ -1537,11 +1537,11 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
1537
1537
  },
1538
1538
  { immediate: !0 }
1539
1539
  ), le(p, (_) => {
1540
- _ || (m.value = []);
1540
+ _ || (v.value = []);
1541
1541
  });
1542
1542
  const f = () => {
1543
1543
  const _ = new Set(
1544
- m.value.map((k) => Cn(k)).filter((k) => k.length > 0)
1544
+ v.value.map((k) => Cn(k)).filter((k) => k.length > 0)
1545
1545
  ), E = Array.isArray(h.value) ? [...h.value] : [], L = l.value.filter((k) => _.has(i(k))).map((k) => {
1546
1546
  const C = i(k), $ = k.title ?? k.label ?? C;
1547
1547
  return {
@@ -1553,9 +1553,9 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
1553
1553
  };
1554
1554
  });
1555
1555
  h.value = Mn(E, L, {
1556
- selectedKeys: m.value,
1556
+ selectedKeys: v.value,
1557
1557
  resolveKey: i
1558
- }), p.value = !1, m.value = [];
1558
+ }), p.value = !1, v.value = [];
1559
1559
  }, y = {
1560
1560
  table_name: {
1561
1561
  type: "select",
@@ -1592,7 +1592,7 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
1592
1592
  placeholder: "Опис",
1593
1593
  col: 12
1594
1594
  }
1595
- }, v = [
1595
+ }, m = [
1596
1596
  { key: "name", label: "Name", type: "text" },
1597
1597
  { key: "label", label: "Назва", type: "text" },
1598
1598
  // { key: "format", label: "Format", type: "text" },
@@ -1695,7 +1695,7 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
1695
1695
  ne(sn, {
1696
1696
  modelValue: h.value,
1697
1697
  "onUpdate:modelValue": E[1] || (E[1] = (L) => h.value = L),
1698
- "columns-scheme": v,
1698
+ "columns-scheme": m,
1699
1699
  "form-scheme": g,
1700
1700
  "main-col-width": "250px",
1701
1701
  "add-button": !1
@@ -1707,8 +1707,8 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
1707
1707
  ne(Ln, {
1708
1708
  visible: p.value,
1709
1709
  "onUpdate:visible": E[2] || (E[2] = (L) => p.value = L),
1710
- selection: m.value,
1711
- "onUpdate:selection": E[3] || (E[3] = (L) => m.value = L),
1710
+ selection: v.value,
1711
+ "onUpdate:selection": E[3] || (E[3] = (L) => v.value = L),
1712
1712
  fields: l.value,
1713
1713
  title: "Імпорт колонок",
1714
1714
  "id-prefix": "import-column",
@@ -1729,9 +1729,9 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
1729
1729
  emits: ["update:data", "update:form"],
1730
1730
  setup(e) {
1731
1731
  const t = Nt(e, "data"), n = Nt(e, "form"), r = e, l = P(() => Array.isArray(r.fields) ? r.fields : []), i = (u) => nn(u || {}), s = T(!1), a = T([]), p = () => {
1732
- const u = m.value.map((f) => i(f)).filter((f) => f.length > 0);
1732
+ const u = v.value.map((f) => i(f)).filter((f) => f.length > 0);
1733
1733
  a.value = [...u], s.value = !0;
1734
- }, m = P({
1734
+ }, v = P({
1735
1735
  get: () => (t.value || (t.value = {}), Array.isArray(t.value.filters) || (t.value.filters = []), t.value.filters),
1736
1736
  set: (u) => {
1737
1737
  t.value || (t.value = {}), t.value.filters = Array.isArray(u) ? u : [];
@@ -1742,13 +1742,13 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
1742
1742
  });
1743
1743
  const b = () => {
1744
1744
  const u = new Set(
1745
- a.value.map((v) => Cn(v)).filter((v) => v.length > 0)
1746
- ), f = Array.isArray(m.value) ? [...m.value] : [], y = l.value.filter((v) => u.has(i(v))).map((v) => ({
1747
- name: i(v),
1748
- label: v.title ?? v.label ?? i(v),
1749
- type: v.type || "text"
1745
+ a.value.map((m) => Cn(m)).filter((m) => m.length > 0)
1746
+ ), f = Array.isArray(v.value) ? [...v.value] : [], y = l.value.filter((m) => u.has(i(m))).map((m) => ({
1747
+ name: i(m),
1748
+ label: m.title ?? m.label ?? i(m),
1749
+ type: m.type || "text"
1750
1750
  }));
1751
- m.value = Mn(f, y, {
1751
+ v.value = Mn(f, y, {
1752
1752
  selectedKeys: a.value,
1753
1753
  resolveKey: i
1754
1754
  }), s.value = !1, a.value = [];
@@ -1827,8 +1827,8 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
1827
1827
  ]),
1828
1828
  o("div", uu, [
1829
1829
  ne(sn, {
1830
- modelValue: m.value,
1831
- "onUpdate:modelValue": f[0] || (f[0] = (y) => m.value = y),
1830
+ modelValue: v.value,
1831
+ "onUpdate:modelValue": f[0] || (f[0] = (y) => v.value = y),
1832
1832
  "columns-scheme": d,
1833
1833
  "form-scheme": h,
1834
1834
  "main-col-width": "250px",
@@ -1863,9 +1863,9 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
1863
1863
  emits: ["update:data", "update:form"],
1864
1864
  setup(e) {
1865
1865
  const t = Nt(e, "data"), n = Nt(e, "form"), r = e, l = P(() => Array.isArray(r.fields) ? r.fields : []), i = (u) => nn(u || {}), s = T(!1), a = T([]), p = () => {
1866
- const u = m.value.map((f) => i(f)).filter((f) => f.length > 0);
1866
+ const u = v.value.map((f) => i(f)).filter((f) => f.length > 0);
1867
1867
  a.value = [...u], s.value = !0;
1868
- }, m = P({
1868
+ }, v = P({
1869
1869
  get: () => t.value.card,
1870
1870
  set: (u) => {
1871
1871
  t.value || (t.value = {}), t.value.card = Array.isArray(u) ? u : [];
@@ -1874,24 +1874,24 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
1874
1874
  le(s, (u) => {
1875
1875
  var f;
1876
1876
  if (u) {
1877
- const y = ((f = m.value) == null ? void 0 : f.map((v) => v.name)) || [];
1877
+ const y = ((f = v.value) == null ? void 0 : f.map((m) => m.name)) || [];
1878
1878
  a.value = [...y];
1879
1879
  }
1880
1880
  });
1881
1881
  const b = () => {
1882
1882
  const u = new Set(
1883
- a.value.map((v) => Cn(v)).filter((v) => v.length > 0)
1884
- ), f = Array.isArray(m.value) ? [...m.value] : [], y = l.value.filter((v) => u.has(i(v))).map((v) => {
1885
- const g = i(v), _ = v.title ?? v.label ?? g;
1883
+ a.value.map((m) => Cn(m)).filter((m) => m.length > 0)
1884
+ ), f = Array.isArray(v.value) ? [...v.value] : [], y = l.value.filter((m) => u.has(i(m))).map((m) => {
1885
+ const g = i(m), _ = m.title ?? m.label ?? g;
1886
1886
  return {
1887
- ...v,
1887
+ ...m,
1888
1888
  name: g,
1889
1889
  label: _,
1890
- format: v.format || v.type || "text",
1891
- meta: v.meta || "title"
1890
+ format: m.format || m.type || "text",
1891
+ meta: m.meta || "title"
1892
1892
  };
1893
1893
  });
1894
- m.value = Mn(f, y, {
1894
+ v.value = Mn(f, y, {
1895
1895
  selectedKeys: a.value,
1896
1896
  resolveKey: i
1897
1897
  }), s.value = !1, a.value = [];
@@ -1982,8 +1982,8 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
1982
1982
  ]),
1983
1983
  o("div", vu, [
1984
1984
  ne(sn, {
1985
- modelValue: m.value,
1986
- "onUpdate:modelValue": f[0] || (f[0] = (y) => m.value = y),
1985
+ modelValue: v.value,
1986
+ "onUpdate:modelValue": f[0] || (f[0] = (y) => v.value = y),
1987
1987
  "columns-scheme": d,
1988
1988
  "form-scheme": h,
1989
1989
  "main-col-width": "250px",
@@ -2029,7 +2029,7 @@ function Yn(e) {
2029
2029
  const s = parseInt(l, 10), a = yu[s] || l;
2030
2030
  let p = `${parseInt(i, 10)} ${a} ${r}`;
2031
2031
  if (n) {
2032
- const m = n.split(".")[0], [b, d, h] = m.split(":");
2032
+ const v = n.split(".")[0], [b, d, h] = v.split(":");
2033
2033
  b && d && h ? p += `, ${b}:${d}:${h}` : b && d ? p += `, ${b}:${d}` : b && (p += `, ${b}`);
2034
2034
  }
2035
2035
  return p;
@@ -2067,7 +2067,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2067
2067
  const t = e, n = P(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (d) => (d == null ? void 0 : d.service_id) && (d == null ? void 0 : d.is_map) && d[t.id_key] && (d == null ? void 0 : d.geom), l = P(() => t.columns.find((d) => d.meta === "title")), i = P(() => t.columns.filter((d) => d.meta === "category")), s = P(() => t.columns.filter((d) => d.meta === "tags")), a = P(() => t.columns.filter((d) => d.meta !== "title")), p = (d, h) => {
2068
2068
  if (h)
2069
2069
  return d[h];
2070
- }, m = (d) => {
2070
+ }, v = (d) => {
2071
2071
  const h = p(d, t.id_key);
2072
2072
  return `${t.path}?id=${h}`;
2073
2073
  }, b = (d, h) => {
@@ -2075,7 +2075,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2075
2075
  return `/map?layers=${h}&info=${h},${u}`;
2076
2076
  };
2077
2077
  return (d, h) => (c(!0), x(ie, null, he(n.value, (u) => {
2078
- var f, y, v;
2078
+ var f, y, m;
2079
2079
  return c(), x("div", {
2080
2080
  key: u.id,
2081
2081
  class: "rounded-lg border bg-card text-card-foreground overflow-hidden border-none shadow-md relative",
@@ -2084,7 +2084,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2084
2084
  o("div", hu, [
2085
2085
  o("div", xu, [
2086
2086
  o("div", bu, [
2087
- o("h2", wu, V(u[`${(f = l.value) == null ? void 0 : f.name}_text`] || u[(y = l.value) == null ? void 0 : y.name] || u[(v = l.value) == null ? void 0 : v.label] || "Не вказано"), 1),
2087
+ o("h2", wu, V(u[`${(f = l.value) == null ? void 0 : f.name}_text`] || u[(y = l.value) == null ? void 0 : y.name] || u[(m = l.value) == null ? void 0 : m.label] || "Не вказано"), 1),
2088
2088
  Array.isArray(i.value) && i.value.length ? (c(), x("div", _u, [
2089
2089
  (c(!0), x(ie, null, he(i.value, (g) => (c(), x(ie, {
2090
2090
  key: g.name
@@ -2154,7 +2154,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2154
2154
  ])], 8, Tu)) : X("", !0),
2155
2155
  e.hideDetailsButton ? X("", !0) : (c(), x("a", {
2156
2156
  key: 1,
2157
- href: m(u),
2157
+ href: v(u),
2158
2158
  class: "inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3"
2159
2159
  }, [...h[1] || (h[1] = [
2160
2160
  Ce(" Детальніше ", -1),
@@ -2203,7 +2203,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2203
2203
  const t = e, n = P(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (d) => (d == null ? void 0 : d.service_id) && (d == null ? void 0 : d.is_map) && d[t.id_key] && (d == null ? void 0 : d.geom), l = P(() => t.columns.find((d) => d.meta === "title")), i = P(() => t.columns.filter((d) => d.meta === "category")), s = P(() => t.columns.filter((d) => d.meta === "tags")), a = P(() => t.columns.filter((d) => d.meta !== "title")), p = (d, h) => {
2204
2204
  if (h)
2205
2205
  return d[h];
2206
- }, m = (d) => {
2206
+ }, v = (d) => {
2207
2207
  const h = p(d, t.id_key);
2208
2208
  return `${t.path}?id=${h}`;
2209
2209
  }, b = (d, h) => {
@@ -2211,7 +2211,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2211
2211
  return `/map?layers=${h}&info=${h},${u}`;
2212
2212
  };
2213
2213
  return (d, h) => (c(!0), x(ie, null, he(n.value, (u) => {
2214
- var f, y, v;
2214
+ var f, y, m;
2215
2215
  return c(), x("div", {
2216
2216
  key: u.id,
2217
2217
  class: "rounded-lg border bg-card text-card-foreground shadow-sm overflow-hidden",
@@ -2221,7 +2221,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2221
2221
  o("div", zu, [
2222
2222
  o("div", Nu, [
2223
2223
  o("div", Pu, [
2224
- o("h2", Ru, V(u[`${(f = l.value) == null ? void 0 : f.name}_text`] || u[(y = l.value) == null ? void 0 : y.name] || u[(v = l.value) == null ? void 0 : v.label] || "Не вказано"), 1),
2224
+ o("h2", Ru, V(u[`${(f = l.value) == null ? void 0 : f.name}_text`] || u[(y = l.value) == null ? void 0 : y.name] || u[(m = l.value) == null ? void 0 : m.label] || "Не вказано"), 1),
2225
2225
  Array.isArray(i.value) && i.value.length ? (c(!0), x(ie, { key: 0 }, he(i.value, (g) => (c(), x(ie, {
2226
2226
  key: g.name
2227
2227
  }, [
@@ -2285,7 +2285,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2285
2285
  ])], 8, Wu)) : X("", !0),
2286
2286
  e.hideDetailsButton ? X("", !0) : (c(), x("a", {
2287
2287
  key: 1,
2288
- href: m(u),
2288
+ href: v(u),
2289
2289
  class: "inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3"
2290
2290
  }, [...h[1] || (h[1] = [
2291
2291
  Ce(" Детальніше ", -1),
@@ -2337,19 +2337,19 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2337
2337
  hideDetailsButton: { type: Boolean, default: !1 }
2338
2338
  },
2339
2339
  setup(e) {
2340
- const t = e, n = P(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (h) => (h == null ? void 0 : h.service_id) && (h == null ? void 0 : h.is_map) && h[t.id_key] && (h == null ? void 0 : h.geom), l = P(() => t.columns.find((h) => h.meta === "title")), i = P(() => t.columns.filter((h) => h.meta === "category")), s = P(() => t.columns.filter((h) => h.meta === "tags")), a = P(() => t.columns.filter((h) => h.meta !== "title")), p = P(() => "bg-blue-500"), m = (h, u) => {
2340
+ const t = e, n = P(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (h) => (h == null ? void 0 : h.service_id) && (h == null ? void 0 : h.is_map) && h[t.id_key] && (h == null ? void 0 : h.geom), l = P(() => t.columns.find((h) => h.meta === "title")), i = P(() => t.columns.filter((h) => h.meta === "category")), s = P(() => t.columns.filter((h) => h.meta === "tags")), a = P(() => t.columns.filter((h) => h.meta !== "title")), p = P(() => "bg-blue-500"), v = (h, u) => {
2341
2341
  if (u)
2342
2342
  return h[u];
2343
2343
  }, b = (h) => {
2344
- const u = m(h, t.id_key);
2344
+ const u = v(h, t.id_key);
2345
2345
  return `${t.path}?id=${u}`;
2346
2346
  }, d = (h, u) => {
2347
- const f = m(h, t.id_key);
2347
+ const f = v(h, t.id_key);
2348
2348
  return `/map?layers=${u}&info=${u},${f}`;
2349
2349
  };
2350
2350
  return (h, u) => (c(), x("div", Gu, [
2351
2351
  (c(!0), x(ie, null, he(n.value, (f) => {
2352
- var y, v, g;
2352
+ var y, m, g;
2353
2353
  return c(), x("div", {
2354
2354
  key: f.id,
2355
2355
  class: "border-b border-slate-200 hover:bg-slate-50 transition-colors"
@@ -2363,7 +2363,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2363
2363
  class: Ae(["w-1 h-6 lg:h-8 rounded-full mr-2 lg:mr-3 mt-1", p.value])
2364
2364
  }, null, 2),
2365
2365
  o("div", tc, [
2366
- o("p", nc, V(f[`${(y = l.value) == null ? void 0 : y.name}_text`] || f[(v = l.value) == null ? void 0 : v.name] || f[(g = l.value) == null ? void 0 : g.label] || "Не вказано"), 1),
2366
+ o("p", nc, V(f[`${(y = l.value) == null ? void 0 : y.name}_text`] || f[(m = l.value) == null ? void 0 : m.name] || f[(g = l.value) == null ? void 0 : g.label] || "Не вказано"), 1),
2367
2367
  Array.isArray(i.value) && i.value.length ? (c(), x("div", oc, [
2368
2368
  (c(!0), x(ie, null, he(i.value, (_) => (c(), x(ie, {
2369
2369
  key: _.name
@@ -2478,7 +2478,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2478
2478
  const t = e, n = P(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (d) => (d == null ? void 0 : d.service_id) && (d == null ? void 0 : d.is_map) && d[t.id_key] && (d == null ? void 0 : d.geom), l = P(() => t.columns.find((d) => d.meta === "title")), i = P(() => t.columns.filter((d) => d.meta === "category")), s = P(() => t.columns.filter((d) => d.meta === "tags")), a = P(() => t.columns.filter((d) => d.meta !== "title")), p = (d, h) => {
2479
2479
  if (h)
2480
2480
  return d[h];
2481
- }, m = (d) => {
2481
+ }, v = (d) => {
2482
2482
  const h = p(d, t.id_key);
2483
2483
  return `${t.path}?id=${h}`;
2484
2484
  }, b = (d, h) => {
@@ -2486,7 +2486,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2486
2486
  return `/map?layers=${h}&info=${h},${u}`;
2487
2487
  };
2488
2488
  return (d, h) => (c(!0), x(ie, null, he(n.value, (u) => {
2489
- var f, y, v;
2489
+ var f, y, m;
2490
2490
  return c(), x("div", {
2491
2491
  key: u.id,
2492
2492
  class: "rounded-lg border bg-card text-card-foreground shadow-sm border-l-4 border-l-blue-600",
@@ -2494,7 +2494,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2494
2494
  }, [
2495
2495
  o("div", vc, [
2496
2496
  o("div", gc, [
2497
- o("h3", yc, V(u[`${(f = l.value) == null ? void 0 : f.name}_text`] || u[(y = l.value) == null ? void 0 : y.name] || u[(v = l.value) == null ? void 0 : v.label] || "Не вказано"), 1),
2497
+ o("h3", yc, V(u[`${(f = l.value) == null ? void 0 : f.name}_text`] || u[(y = l.value) == null ? void 0 : y.name] || u[(m = l.value) == null ? void 0 : m.label] || "Не вказано"), 1),
2498
2498
  Array.isArray(i.value) && i.value.length ? (c(!0), x(ie, { key: 0 }, he(i.value, (g) => (c(), x(ie, {
2499
2499
  key: g.name
2500
2500
  }, [
@@ -2544,7 +2544,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2544
2544
  }, " На карті ", 8, Sc)) : X("", !0),
2545
2545
  e.hideDetailsButton ? X("", !0) : (c(), x("a", {
2546
2546
  key: 1,
2547
- href: m(u),
2547
+ href: v(u),
2548
2548
  class: "inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 border bg-background h-10 px-4 py-2 rounded-md text-black border-black hover:bg-gray-100 hover:text-black"
2549
2549
  }, " Детальніше ", 8, Ac))
2550
2550
  ])
@@ -2578,7 +2578,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2578
2578
  hideDetailsButton: { type: Boolean, default: !1 }
2579
2579
  },
2580
2580
  setup(e) {
2581
- 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")), m = P(
2581
+ 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(
2582
2582
  () => t.columns.find((u) => u.meta === "desc") || t.columns.find((u) => u.name === "description")
2583
2583
  ), b = (u, f) => {
2584
2584
  if (f)
@@ -2591,14 +2591,14 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2591
2591
  return `/map?layers=${f}&info=${f},${y}`;
2592
2592
  };
2593
2593
  return (u, f) => (c(!0), x(ie, null, he(n.value, (y) => {
2594
- var v, g, _, E, L, k, C, $, A;
2594
+ var m, g, _, E, L, k, C, $, A;
2595
2595
  return c(), x("div", {
2596
2596
  key: y.id,
2597
2597
  class: "bg-white border border-gray-200 rounded-lg overflow-hidden transition-all duration-200 hover:shadow-md"
2598
2598
  }, [
2599
2599
  o("div", Mc, [
2600
2600
  p.value ? (c(), x("div", Ec, [
2601
- y[(v = p.value) == null ? void 0 : v.name] ? (c(), x("img", {
2601
+ y[(m = p.value) == null ? void 0 : m.name] ? (c(), x("img", {
2602
2602
  key: 0,
2603
2603
  src: y[(g = p.value) == null ? void 0 : g.name],
2604
2604
  alt: "image",
@@ -2622,7 +2622,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2622
2622
  ], 64))), 128)) : X("", !0)
2623
2623
  ])
2624
2624
  ]),
2625
- o("p", Rc, V(((C = y[((k = m.value) == null ? void 0 : k.name) + "_data"]) == null ? void 0 : C.text) || y[(($ = m.value) == null ? void 0 : $.name) + "_text"] || y[(A = m.value) == null ? void 0 : A.name]), 1),
2625
+ o("p", Rc, V(((C = y[((k = v.value) == null ? void 0 : k.name) + "_data"]) == null ? void 0 : C.text) || y[(($ = v.value) == null ? void 0 : $.name) + "_text"] || y[(A = v.value) == null ? void 0 : A.name]), 1),
2626
2626
  o("div", Oc, [
2627
2627
  (c(!0), x(ie, null, he(a.value, (N) => {
2628
2628
  var D;
@@ -2738,7 +2738,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2738
2738
  if (!b) return "template1";
2739
2739
  const d = r.find((u) => u.id === b);
2740
2740
  return (d == null ? void 0 : d.text) || b;
2741
- }), m = P(() => (Array.isArray(n.value.tableData) ? n.value.tableData : []).slice(0, 5).map((d) => {
2741
+ }), v = P(() => (Array.isArray(n.value.tableData) ? n.value.tableData : []).slice(0, 5).map((d) => {
2742
2742
  var h, u;
2743
2743
  return {
2744
2744
  ...d,
@@ -2757,14 +2757,14 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2757
2757
  ]),
2758
2758
  o("h2", td, " Превʼю таблиці (" + V(p.value) + ") ", 1),
2759
2759
  o("div", nd, [
2760
- a.value && m.value.length && i.value.length ? (c(), fe(Qt(a.value), {
2761
- items: m.value,
2760
+ a.value && v.value.length && i.value.length ? (c(), fe(Qt(a.value), {
2761
+ items: v.value,
2762
2762
  columns: i.value,
2763
2763
  path: "#",
2764
2764
  id_key: "id",
2765
2765
  "hide-details-button": e.hideDetailsButton,
2766
2766
  key: s.value
2767
- }, null, 8, ["items", "columns", "hide-details-button"])) : m.value.length ? (c(), x("div", rd, " Додайте колонки та виберіть вигляд для перегляду ")) : (c(), x("div", od, " Немає даних для превʼю "))
2767
+ }, null, 8, ["items", "columns", "hide-details-button"])) : v.value.length ? (c(), x("div", rd, " Додайте колонки та виберіть вигляд для перегляду ")) : (c(), x("div", od, " Немає даних для превʼю "))
2768
2768
  ])
2769
2769
  ]));
2770
2770
  }
@@ -2789,14 +2789,14 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2789
2789
  filters: cu,
2790
2790
  card: gu,
2791
2791
  preview: ld
2792
- }, m = a.map((y) => y.id), b = T({
2792
+ }, v = a.map((y) => y.id), b = T({
2793
2793
  columns: [],
2794
2794
  filters: [],
2795
2795
  card: [],
2796
2796
  tableData: []
2797
2797
  }), d = T([]), h = async () => {
2798
- var v;
2799
- if (!((v = b.value) == null ? void 0 : v.token)) {
2798
+ var m;
2799
+ if (!((m = b.value) == null ? void 0 : m.token)) {
2800
2800
  je({
2801
2801
  type: "error",
2802
2802
  title: "Помилка",
@@ -2830,11 +2830,11 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2830
2830
  try {
2831
2831
  const g = await (await fetch(`/api/gis-registry/${y}`)).json(), _ = Array.isArray(g == null ? void 0 : g.rows) ? g.rows : [];
2832
2832
  b.value.tableData = _.slice(0, 3);
2833
- } catch (v) {
2834
- console.error("Помилка завантаження превʼю:", v);
2833
+ } catch (m) {
2834
+ console.error("Помилка завантаження превʼю:", m);
2835
2835
  }
2836
2836
  }, f = async () => {
2837
- var y, v;
2837
+ var y, m;
2838
2838
  try {
2839
2839
  const _ = await (await fetch(`/api/data/gis.registers.table/${t.params.id}`)).json(), E = ((y = _ == null ? void 0 : _.rows) == null ? void 0 : y[0]) || {};
2840
2840
  s.value = E.register_key || "", b.value = {
@@ -2843,14 +2843,14 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2843
2843
  filters: Array.isArray(E.filters) ? E.filters : [],
2844
2844
  card: Array.isArray(E.card) ? E.card : [],
2845
2845
  tableData: Array.isArray(E.tableData) ? E.tableData : []
2846
- }, (v = _ == null ? void 0 : _.tokens) != null && v.edit && (b.value.token = _.tokens.edit), d.value = Array.isArray(_ == null ? void 0 : _.fields) ? _.fields : [];
2846
+ }, (m = _ == null ? void 0 : _.tokens) != null && m.edit && (b.value.token = _.tokens.edit), d.value = Array.isArray(_ == null ? void 0 : _.fields) ? _.fields : [];
2847
2847
  } catch (g) {
2848
2848
  console.error("Помилка завантаження даних:", g);
2849
2849
  }
2850
2850
  };
2851
2851
  return Ue(async () => {
2852
2852
  const y = t.query.tab;
2853
- typeof y == "string" && m.includes(y) && (i.value = y), await f(), s.value && await u(s.value);
2853
+ typeof y == "string" && v.includes(y) && (i.value = y), await f(), s.value && await u(s.value);
2854
2854
  }), le(i, (y) => {
2855
2855
  t.query.tab !== y && n.replace({
2856
2856
  query: { ...t.query, tab: y }
@@ -2858,9 +2858,9 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2858
2858
  }), le(
2859
2859
  () => t.query.tab,
2860
2860
  (y) => {
2861
- typeof y == "string" && m.includes(y) && i.value !== y && (i.value = y);
2861
+ typeof y == "string" && v.includes(y) && i.value !== y && (i.value = y);
2862
2862
  }
2863
- ), (y, v) => {
2863
+ ), (y, m) => {
2864
2864
  const g = el("router-link");
2865
2865
  return c(), x("div", sd, [
2866
2866
  ne(nl, {
@@ -2887,12 +2887,12 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2887
2887
  ], 64)) : X("", !0),
2888
2888
  o("span", ad, V(b.value.name), 1)
2889
2889
  ]),
2890
- description: Oe(() => [...v[2] || (v[2] = [
2890
+ description: Oe(() => [...m[2] || (m[2] = [
2891
2891
  Ce("Налаштування реєстру", -1)
2892
2892
  ])]),
2893
2893
  actions: Oe(() => [
2894
2894
  o("button", {
2895
- onClick: v[0] || (v[0] = (_) => se(n).back()),
2895
+ onClick: m[0] || (m[0] = (_) => se(n).back()),
2896
2896
  class: "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium border h-10 px-4 py-2 border-gray-300 text-gray-700 hover:bg-gray-50"
2897
2897
  }, " Повернутися "),
2898
2898
  o("button", {
@@ -2917,7 +2917,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2917
2917
  o("div", fd, [
2918
2918
  (c(), fe(Qt(p[i.value]), {
2919
2919
  data: b.value,
2920
- "onUpdate:data": v[1] || (v[1] = (_) => b.value = _),
2920
+ "onUpdate:data": m[1] || (m[1] = (_) => b.value = _),
2921
2921
  fields: d.value,
2922
2922
  "hide-details-button": e.hideDetailsButton,
2923
2923
  key: i.value
@@ -2993,26 +2993,26 @@ function $d(e, t) {
2993
2993
  for (var n = /\r?\n|\r|\0/g, r = [0], l = [], i, s = -1; i = n.exec(e.buffer); )
2994
2994
  l.push(i.index), r.push(i.index + i[0].length), e.position <= i.index && s < 0 && (s = r.length - 2);
2995
2995
  s < 0 && (s = r.length - 1);
2996
- var a = "", p, m, b = Math.min(e.line + t.linesAfter, l.length).toString().length, d = t.maxLength - (t.indent + b + 3);
2996
+ var a = "", p, v, b = Math.min(e.line + t.linesAfter, l.length).toString().length, d = t.maxLength - (t.indent + b + 3);
2997
2997
  for (p = 1; p <= t.linesBefore && !(s - p < 0); p++)
2998
- m = $o(
2998
+ v = $o(
2999
2999
  e.buffer,
3000
3000
  r[s - p],
3001
3001
  l[s - p],
3002
3002
  e.position - (r[s] - r[s - p]),
3003
3003
  d
3004
- ), a = pt.repeat(" ", t.indent) + Co((e.line - p + 1).toString(), b) + " | " + m.str + `
3004
+ ), a = pt.repeat(" ", t.indent) + Co((e.line - p + 1).toString(), b) + " | " + v.str + `
3005
3005
  ` + a;
3006
- for (m = $o(e.buffer, r[s], l[s], e.position, d), a += pt.repeat(" ", t.indent) + Co((e.line + 1).toString(), b) + " | " + m.str + `
3007
- `, a += pt.repeat("-", t.indent + b + 3 + m.pos) + `^
3006
+ for (v = $o(e.buffer, r[s], l[s], e.position, d), a += pt.repeat(" ", t.indent) + Co((e.line + 1).toString(), b) + " | " + v.str + `
3007
+ `, a += pt.repeat("-", t.indent + b + 3 + v.pos) + `^
3008
3008
  `, p = 1; p <= t.linesAfter && !(s + p >= l.length); p++)
3009
- m = $o(
3009
+ v = $o(
3010
3010
  e.buffer,
3011
3011
  r[s + p],
3012
3012
  l[s + p],
3013
3013
  e.position - (r[s] - r[s + p]),
3014
3014
  d
3015
- ), a += pt.repeat(" ", t.indent) + Co((e.line + p + 1).toString(), b) + " | " + m.str + `
3015
+ ), a += pt.repeat(" ", t.indent) + Co((e.line + p + 1).toString(), b) + " | " + v.str + `
3016
3016
  `;
3017
3017
  return a.replace(/\n$/, "");
3018
3018
  }
@@ -3356,7 +3356,7 @@ function Gd(e) {
3356
3356
  return e === null ? !1 : $l.exec(e) !== null || Cl.exec(e) !== null;
3357
3357
  }
3358
3358
  function Kd(e) {
3359
- var t, n, r, l, i, s, a, p = 0, m = null, b, d, h;
3359
+ var t, n, r, l, i, s, a, p = 0, v = null, b, d, h;
3360
3360
  if (t = $l.exec(e), t === null && (t = Cl.exec(e)), t === null) throw new Error("Date resolve error");
3361
3361
  if (n = +t[1], r = +t[2] - 1, l = +t[3], !t[4])
3362
3362
  return new Date(Date.UTC(n, r, l));
@@ -3365,7 +3365,7 @@ function Kd(e) {
3365
3365
  p += "0";
3366
3366
  p = +p;
3367
3367
  }
3368
- return t[9] && (b = +t[10], d = +(t[11] || 0), m = (b * 60 + d) * 6e4, t[9] === "-" && (m = -m)), h = new Date(Date.UTC(n, r, l, i, s, a, p)), m && h.setTime(h.getTime() - m), h;
3368
+ return t[9] && (b = +t[10], d = +(t[11] || 0), v = (b * 60 + d) * 6e4, t[9] === "-" && (v = -v)), h = new Date(Date.UTC(n, r, l, i, s, a, p)), v && h.setTime(h.getTime() - v), h;
3369
3369
  }
3370
3370
  function Xd(e) {
3371
3371
  return e.toISOString();
@@ -3578,14 +3578,14 @@ function $r(e, t, n, r) {
3578
3578
  i = l[s], on.call(t, i) || (t[i] = n[i], r[i] = !0);
3579
3579
  }
3580
3580
  function kn(e, t, n, r, l, i, s, a, p) {
3581
- var m, b;
3581
+ var v, b;
3582
3582
  if (Array.isArray(l))
3583
- for (l = Array.prototype.slice.call(l), m = 0, b = l.length; m < b; m += 1)
3584
- Array.isArray(l[m]) && Le(e, "nested arrays are not supported inside keys"), typeof l == "object" && wr(l[m]) === "[object Object]" && (l[m] = "[object Object]");
3583
+ for (l = Array.prototype.slice.call(l), v = 0, b = l.length; v < b; v += 1)
3584
+ Array.isArray(l[v]) && Le(e, "nested arrays are not supported inside keys"), typeof l == "object" && wr(l[v]) === "[object Object]" && (l[v] = "[object Object]");
3585
3585
  if (typeof l == "object" && wr(l) === "[object Object]" && (l = "[object Object]"), l = String(l), t === null && (t = {}), r === "tag:yaml.org,2002:merge")
3586
3586
  if (Array.isArray(i))
3587
- for (m = 0, b = i.length; m < b; m += 1)
3588
- $r(e, t, i[m], n);
3587
+ for (v = 0, b = i.length; v < b; v += 1)
3588
+ $r(e, t, i[v], n);
3589
3589
  else
3590
3590
  $r(e, t, i, n);
3591
3591
  else
@@ -3626,7 +3626,7 @@ function Go(e, t) {
3626
3626
  `, t - 1));
3627
3627
  }
3628
3628
  function kf(e, t, n) {
3629
- var r, l, i, s, a, p, m, b, d = e.kind, h = e.result, u;
3629
+ var r, l, i, s, a, p, v, b, d = e.kind, h = e.result, u;
3630
3630
  if (u = e.input.charCodeAt(e.position), At(u) || _n(u) || u === 35 || u === 38 || u === 42 || u === 33 || u === 124 || u === 62 || u === 39 || u === 34 || u === 37 || u === 64 || u === 96 || (u === 63 || u === 45) && (l = e.input.charCodeAt(e.position + 1), At(l) || n && _n(l)))
3631
3631
  return !1;
3632
3632
  for (e.kind = "scalar", e.result = "", i = s = e.position, a = !1; u !== 0; ) {
@@ -3640,11 +3640,11 @@ function kf(e, t, n) {
3640
3640
  if (e.position === e.lineStart && ho(e) || n && _n(u))
3641
3641
  break;
3642
3642
  if (Vt(u))
3643
- if (p = e.line, m = e.lineStart, b = e.lineIndent, dt(e, !1, -1), e.lineIndent >= t) {
3643
+ if (p = e.line, v = e.lineStart, b = e.lineIndent, dt(e, !1, -1), e.lineIndent >= t) {
3644
3644
  a = !0, u = e.input.charCodeAt(e.position);
3645
3645
  continue;
3646
3646
  } else {
3647
- e.position = s, e.line = p, e.lineStart = m, e.lineIndent = b;
3647
+ e.position = s, e.line = p, e.lineStart = v, e.lineIndent = b;
3648
3648
  break;
3649
3649
  }
3650
3650
  }
@@ -3689,7 +3689,7 @@ function Cf(e, t) {
3689
3689
  Le(e, "unexpected end of the stream within a double quoted scalar");
3690
3690
  }
3691
3691
  function Sf(e, t) {
3692
- var n = !0, r, l, i, s = e.tag, a, p = e.anchor, m, b, d, h, u, f = /* @__PURE__ */ Object.create(null), y, v, g, _;
3692
+ var n = !0, r, l, i, s = e.tag, a, p = e.anchor, v, b, d, h, u, f = /* @__PURE__ */ Object.create(null), y, m, g, _;
3693
3693
  if (_ = e.input.charCodeAt(e.position), _ === 91)
3694
3694
  b = 93, u = !1, a = [];
3695
3695
  else if (_ === 123)
@@ -3699,12 +3699,12 @@ function Sf(e, t) {
3699
3699
  for (e.anchor !== null && (e.anchorMap[e.anchor] = a), _ = e.input.charCodeAt(++e.position); _ !== 0; ) {
3700
3700
  if (dt(e, !0, t), _ = e.input.charCodeAt(e.position), _ === b)
3701
3701
  return e.position++, e.tag = s, e.anchor = p, e.kind = u ? "mapping" : "sequence", e.result = a, !0;
3702
- n ? _ === 44 && Le(e, "expected the node content, but found ','") : Le(e, "missed comma between flow collection entries"), v = y = g = null, d = h = !1, _ === 63 && (m = e.input.charCodeAt(e.position + 1), At(m) && (d = h = !0, e.position++, dt(e, !0, t))), r = e.line, l = e.lineStart, i = e.position, Sn(e, t, uo, !1, !0), v = e.tag, y = e.result, dt(e, !0, t), _ = e.input.charCodeAt(e.position), (h || e.line === r) && _ === 58 && (d = !0, _ = e.input.charCodeAt(++e.position), dt(e, !0, t), Sn(e, t, uo, !1, !0), g = e.result), u ? kn(e, a, f, v, y, g, r, l, i) : d ? a.push(kn(e, null, f, v, y, g, r, l, i)) : a.push(y), dt(e, !0, t), _ = e.input.charCodeAt(e.position), _ === 44 ? (n = !0, _ = e.input.charCodeAt(++e.position)) : n = !1;
3702
+ n ? _ === 44 && Le(e, "expected the node content, but found ','") : Le(e, "missed comma between flow collection entries"), m = y = g = null, d = h = !1, _ === 63 && (v = e.input.charCodeAt(e.position + 1), At(v) && (d = h = !0, e.position++, dt(e, !0, t))), r = e.line, l = e.lineStart, i = e.position, Sn(e, t, uo, !1, !0), m = e.tag, y = e.result, dt(e, !0, t), _ = e.input.charCodeAt(e.position), (h || e.line === r) && _ === 58 && (d = !0, _ = e.input.charCodeAt(++e.position), dt(e, !0, t), Sn(e, t, uo, !1, !0), g = e.result), u ? kn(e, a, f, m, y, g, r, l, i) : d ? a.push(kn(e, null, f, m, y, g, r, l, i)) : a.push(y), dt(e, !0, t), _ = e.input.charCodeAt(e.position), _ === 44 ? (n = !0, _ = e.input.charCodeAt(++e.position)) : n = !1;
3703
3703
  }
3704
3704
  Le(e, "unexpected end of the stream within a flow collection");
3705
3705
  }
3706
3706
  function Af(e, t) {
3707
- var n, r, l = So, i = !1, s = !1, a = t, p = 0, m = !1, b, d;
3707
+ var n, r, l = So, i = !1, s = !1, a = t, p = 0, v = !1, b, d;
3708
3708
  if (d = e.input.charCodeAt(e.position), d === 124)
3709
3709
  r = !1;
3710
3710
  else if (d === 62)
@@ -3740,8 +3740,8 @@ function Af(e, t) {
3740
3740
  `);
3741
3741
  break;
3742
3742
  }
3743
- for (r ? fn(d) ? (m = !0, e.result += pt.repeat(`
3744
- `, i ? 1 + p : p)) : m ? (m = !1, e.result += pt.repeat(`
3743
+ for (r ? fn(d) ? (v = !0, e.result += pt.repeat(`
3744
+ `, i ? 1 + p : p)) : v ? (v = !1, e.result += pt.repeat(`
3745
3745
  `, p + 1)) : p === 0 ? i && (e.result += " ") : e.result += pt.repeat(`
3746
3746
  `, p) : e.result += pt.repeat(`
3747
3747
  `, i ? 1 + p : p), i = !0, s = !0, p = 0, n = e.position; !Vt(d) && d !== 0; )
@@ -3766,11 +3766,11 @@ function Cr(e, t) {
3766
3766
  return a ? (e.tag = r, e.anchor = l, e.kind = "sequence", e.result = i, !0) : !1;
3767
3767
  }
3768
3768
  function Lf(e, t, n) {
3769
- var r, l, i, s, a, p, m = e.tag, b = e.anchor, d = {}, h = /* @__PURE__ */ Object.create(null), u = null, f = null, y = null, v = !1, g = !1, _;
3769
+ var r, l, i, s, a, p, v = e.tag, b = e.anchor, d = {}, h = /* @__PURE__ */ Object.create(null), u = null, f = null, y = null, m = !1, g = !1, _;
3770
3770
  if (e.firstTabInLine !== -1) return !1;
3771
3771
  for (e.anchor !== null && (e.anchorMap[e.anchor] = d), _ = e.input.charCodeAt(e.position); _ !== 0; ) {
3772
- if (!v && e.firstTabInLine !== -1 && (e.position = e.firstTabInLine, Le(e, "tab characters must not be used in indentation")), r = e.input.charCodeAt(e.position + 1), i = e.line, (_ === 63 || _ === 58) && At(r))
3773
- _ === 63 ? (v && (kn(e, d, h, u, f, null, s, a, p), u = f = y = null), g = !0, v = !0, l = !0) : v ? (v = !1, l = !0) : Le(e, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"), e.position += 1, _ = r;
3772
+ if (!m && e.firstTabInLine !== -1 && (e.position = e.firstTabInLine, Le(e, "tab characters must not be used in indentation")), r = e.input.charCodeAt(e.position + 1), i = e.line, (_ === 63 || _ === 58) && At(r))
3773
+ _ === 63 ? (m && (kn(e, d, h, u, f, null, s, a, p), u = f = y = null), g = !0, m = !0, l = !0) : m ? (m = !1, l = !0) : Le(e, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"), e.position += 1, _ = r;
3774
3774
  else {
3775
3775
  if (s = e.line, a = e.lineStart, p = e.position, !Sn(e, n, Fl, !1, !0))
3776
3776
  break;
@@ -3778,22 +3778,22 @@ function Lf(e, t, n) {
3778
3778
  for (_ = e.input.charCodeAt(e.position); fn(_); )
3779
3779
  _ = e.input.charCodeAt(++e.position);
3780
3780
  if (_ === 58)
3781
- _ = e.input.charCodeAt(++e.position), At(_) || Le(e, "a whitespace character is expected after the key-value separator within a block mapping"), v && (kn(e, d, h, u, f, null, s, a, p), u = f = y = null), g = !0, v = !1, l = !1, u = e.tag, f = e.result;
3781
+ _ = e.input.charCodeAt(++e.position), At(_) || Le(e, "a whitespace character is expected after the key-value separator within a block mapping"), m && (kn(e, d, h, u, f, null, s, a, p), u = f = y = null), g = !0, m = !1, l = !1, u = e.tag, f = e.result;
3782
3782
  else if (g)
3783
3783
  Le(e, "can not read an implicit mapping pair; a colon is missed");
3784
3784
  else
3785
- return e.tag = m, e.anchor = b, !0;
3785
+ return e.tag = v, e.anchor = b, !0;
3786
3786
  } else if (g)
3787
3787
  Le(e, "can not read a block mapping entry; a multiline key may not be an implicit key");
3788
3788
  else
3789
- return e.tag = m, e.anchor = b, !0;
3789
+ return e.tag = v, e.anchor = b, !0;
3790
3790
  }
3791
- if ((e.line === i || e.lineIndent > t) && (v && (s = e.line, a = e.lineStart, p = e.position), Sn(e, t, co, !0, l) && (v ? f = e.result : y = e.result), v || (kn(e, d, h, u, f, y, s, a, p), u = f = y = null), dt(e, !0, -1), _ = e.input.charCodeAt(e.position)), (e.line === i || e.lineIndent > t) && _ !== 0)
3791
+ if ((e.line === i || e.lineIndent > t) && (m && (s = e.line, a = e.lineStart, p = e.position), Sn(e, t, co, !0, l) && (m ? f = e.result : y = e.result), m || (kn(e, d, h, u, f, y, s, a, p), u = f = y = null), dt(e, !0, -1), _ = e.input.charCodeAt(e.position)), (e.line === i || e.lineIndent > t) && _ !== 0)
3792
3792
  Le(e, "bad indentation of a mapping entry");
3793
3793
  else if (e.lineIndent < t)
3794
3794
  break;
3795
3795
  }
3796
- return v && kn(e, d, h, u, f, null, s, a, p), g && (e.tag = m, e.anchor = b, e.kind = "mapping", e.result = d), g;
3796
+ return m && kn(e, d, h, u, f, null, s, a, p), g && (e.tag = v, e.anchor = b, e.kind = "mapping", e.result = d), g;
3797
3797
  }
3798
3798
  function Mf(e) {
3799
3799
  var t, n = !1, r = !1, l, i, s;
@@ -3831,11 +3831,11 @@ function Tf(e) {
3831
3831
  return e.position === t && Le(e, "name of an alias node must contain at least one character"), n = e.input.slice(t, e.position), on.call(e.anchorMap, n) || Le(e, 'unidentified alias "' + n + '"'), e.result = e.anchorMap[n], dt(e, !0, -1), !0;
3832
3832
  }
3833
3833
  function Sn(e, t, n, r, l) {
3834
- var i, s, a, p = 1, m = !1, b = !1, d, h, u, f, y, v;
3835
- if (e.listener !== null && e.listener("open", e), e.tag = null, e.anchor = null, e.kind = null, e.result = null, i = s = a = co === n || Il === n, r && dt(e, !0, -1) && (m = !0, e.lineIndent > t ? p = 1 : e.lineIndent === t ? p = 0 : e.lineIndent < t && (p = -1)), p === 1)
3834
+ var i, s, a, p = 1, v = !1, b = !1, d, h, u, f, y, m;
3835
+ if (e.listener !== null && e.listener("open", e), e.tag = null, e.anchor = null, e.kind = null, e.result = null, i = s = a = co === n || Il === n, r && dt(e, !0, -1) && (v = !0, e.lineIndent > t ? p = 1 : e.lineIndent === t ? p = 0 : e.lineIndent < t && (p = -1)), p === 1)
3836
3836
  for (; Mf(e) || Ef(e); )
3837
- dt(e, !0, -1) ? (m = !0, a = i, e.lineIndent > t ? p = 1 : e.lineIndent === t ? p = 0 : e.lineIndent < t && (p = -1)) : a = !1;
3838
- if (a && (a = m || l), (p === 1 || co === n) && (uo === n || Fl === n ? y = t : y = t + 1, v = e.position - e.lineStart, p === 1 ? a && (Cr(e, v) || Lf(e, v, y)) || Sf(e, y) ? b = !0 : (s && Af(e, y) || $f(e, y) || Cf(e, y) ? b = !0 : Tf(e) ? (b = !0, (e.tag !== null || e.anchor !== null) && Le(e, "alias node should not have any properties")) : kf(e, y, uo === n) && (b = !0, e.tag === null && (e.tag = "?")), e.anchor !== null && (e.anchorMap[e.anchor] = e.result)) : p === 0 && (b = a && Cr(e, v))), e.tag === null)
3837
+ dt(e, !0, -1) ? (v = !0, a = i, e.lineIndent > t ? p = 1 : e.lineIndent === t ? p = 0 : e.lineIndent < t && (p = -1)) : a = !1;
3838
+ if (a && (a = v || l), (p === 1 || co === n) && (uo === n || Fl === n ? y = t : y = t + 1, m = e.position - e.lineStart, p === 1 ? a && (Cr(e, m) || Lf(e, m, y)) || Sf(e, y) ? b = !0 : (s && Af(e, y) || $f(e, y) || Cf(e, y) ? b = !0 : Tf(e) ? (b = !0, (e.tag !== null || e.anchor !== null) && Le(e, "alias node should not have any properties")) : kf(e, y, uo === n) && (b = !0, e.tag === null && (e.tag = "?")), e.anchor !== null && (e.anchorMap[e.anchor] = e.result)) : p === 0 && (b = a && Cr(e, m))), e.tag === null)
3839
3839
  e.anchor !== null && (e.anchorMap[e.anchor] = e.result);
3840
3840
  else if (e.tag === "?") {
3841
3841
  for (e.result !== null && e.kind !== "scalar" && Le(e, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + e.kind + '"'), d = 0, h = e.implicitTypes.length; d < h; d += 1)
@@ -4025,21 +4025,21 @@ function Zl(e) {
4025
4025
  }
4026
4026
  var Gl = 1, Po = 2, Kl = 3, Xl = 4, wn = 5;
4027
4027
  function ap(e, t, n, r, l, i, s, a) {
4028
- var p, m = 0, b = null, d = !1, h = !1, u = r !== -1, f = -1, y = sp(Vn(e, 0)) && ip(Vn(e, e.length - 1));
4028
+ var p, v = 0, b = null, d = !1, h = !1, u = r !== -1, f = -1, y = sp(Vn(e, 0)) && ip(Vn(e, e.length - 1));
4029
4029
  if (t || s)
4030
- for (p = 0; p < e.length; m >= 65536 ? p += 2 : p++) {
4031
- if (m = Vn(e, p), !Wn(m))
4030
+ for (p = 0; p < e.length; v >= 65536 ? p += 2 : p++) {
4031
+ if (v = Vn(e, p), !Wn(v))
4032
4032
  return wn;
4033
- y = y && Lr(m, b, a), b = m;
4033
+ y = y && Lr(v, b, a), b = v;
4034
4034
  }
4035
4035
  else {
4036
- for (p = 0; p < e.length; m >= 65536 ? p += 2 : p++) {
4037
- if (m = Vn(e, p), m === qn)
4036
+ for (p = 0; p < e.length; v >= 65536 ? p += 2 : p++) {
4037
+ if (v = Vn(e, p), v === qn)
4038
4038
  d = !0, u && (h = h || // Foldable line = too long, and not more-indented.
4039
4039
  p - f - 1 > r && e[f + 1] !== " ", f = p);
4040
- else if (!Wn(m))
4040
+ else if (!Wn(v))
4041
4041
  return wn;
4042
- y = y && Lr(m, b, a), b = m;
4042
+ y = y && Lr(v, b, a), b = v;
4043
4043
  }
4044
4044
  h = h || u && p - f - 1 > r && e[f + 1] !== " ";
4045
4045
  }
@@ -4052,8 +4052,8 @@ function up(e, t, n, r, l) {
4052
4052
  if (!e.noCompatMode && (Jf.indexOf(t) !== -1 || ep.test(t)))
4053
4053
  return e.quotingType === Hn ? '"' + t + '"' : "'" + t + "'";
4054
4054
  var i = e.indent * Math.max(1, n), s = e.lineWidth === -1 ? -1 : Math.max(Math.min(e.lineWidth, 40), e.lineWidth - i), a = r || e.flowLevel > -1 && n >= e.flowLevel;
4055
- function p(m) {
4056
- return lp(e, m);
4055
+ function p(v) {
4056
+ return lp(e, v);
4057
4057
  }
4058
4058
  switch (ap(
4059
4059
  t,
@@ -4094,9 +4094,9 @@ function Er(e) {
4094
4094
  }
4095
4095
  function cp(e, t) {
4096
4096
  for (var n = /(\n+)([^\n]*)/g, r = (function() {
4097
- var m = e.indexOf(`
4097
+ var v = e.indexOf(`
4098
4098
  `);
4099
- return m = m !== -1 ? m : e.length, n.lastIndex = m, Tr(e.slice(0, m), t);
4099
+ return v = v !== -1 ? v : e.length, n.lastIndex = v, Tr(e.slice(0, v), t);
4100
4100
  })(), l = e[0] === `
4101
4101
  ` || e[0] === " ", i, s; s = n.exec(e); ) {
4102
4102
  var a = s[1], p = s[2];
@@ -4132,13 +4132,13 @@ function Fr(e, t, n, r) {
4132
4132
  e.tag = i, e.dump = l || "[]";
4133
4133
  }
4134
4134
  function pp(e, t, n) {
4135
- var r = "", l = e.tag, i = Object.keys(n), s, a, p, m, b;
4135
+ var r = "", l = e.tag, i = Object.keys(n), s, a, p, v, b;
4136
4136
  for (s = 0, a = i.length; s < a; s += 1)
4137
- b = "", r !== "" && (b += ", "), e.condenseFlow && (b += '"'), p = i[s], m = n[p], e.replacer && (m = e.replacer.call(n, p, m)), Xt(e, t, p, !1, !1) && (e.dump.length > 1024 && (b += "? "), b += e.dump + (e.condenseFlow ? '"' : "") + ":" + (e.condenseFlow ? "" : " "), Xt(e, t, m, !1, !1) && (b += e.dump, r += b));
4137
+ b = "", r !== "" && (b += ", "), e.condenseFlow && (b += '"'), p = i[s], v = n[p], e.replacer && (v = e.replacer.call(n, p, v)), Xt(e, t, p, !1, !1) && (e.dump.length > 1024 && (b += "? "), b += e.dump + (e.condenseFlow ? '"' : "") + ":" + (e.condenseFlow ? "" : " "), Xt(e, t, v, !1, !1) && (b += e.dump, r += b));
4138
4138
  e.tag = l, e.dump = "{" + r + "}";
4139
4139
  }
4140
4140
  function mp(e, t, n, r) {
4141
- var l = "", i = e.tag, s = Object.keys(n), a, p, m, b, d, h;
4141
+ var l = "", i = e.tag, s = Object.keys(n), a, p, v, b, d, h;
4142
4142
  if (e.sortKeys === !0)
4143
4143
  s.sort();
4144
4144
  else if (typeof e.sortKeys == "function")
@@ -4146,7 +4146,7 @@ function mp(e, t, n, r) {
4146
4146
  else if (e.sortKeys)
4147
4147
  throw new kt("sortKeys must be a boolean or a function");
4148
4148
  for (a = 0, p = s.length; a < p; a += 1)
4149
- h = "", (!r || l !== "") && (h += No(e, t)), m = s[a], b = n[m], e.replacer && (b = e.replacer.call(n, m, b)), Xt(e, t + 1, m, !0, !0, !0) && (d = e.tag !== null && e.tag !== "?" || e.dump && e.dump.length > 1024, d && (e.dump && qn === e.dump.charCodeAt(0) ? h += "?" : h += "? "), h += e.dump, d && (h += No(e, t)), Xt(e, t + 1, b, !0, d) && (e.dump && qn === e.dump.charCodeAt(0) ? h += ":" : h += ": ", h += e.dump, l += h));
4149
+ h = "", (!r || l !== "") && (h += No(e, t)), v = s[a], b = n[v], e.replacer && (b = e.replacer.call(n, v, b)), Xt(e, t + 1, v, !0, !0, !0) && (d = e.tag !== null && e.tag !== "?" || e.dump && e.dump.length > 1024, d && (e.dump && qn === e.dump.charCodeAt(0) ? h += "?" : h += "? "), h += e.dump, d && (h += No(e, t)), Xt(e, t + 1, b, !0, d) && (e.dump && qn === e.dump.charCodeAt(0) ? h += ":" : h += ": ", h += e.dump, l += h));
4150
4150
  e.tag = i, e.dump = l || "{}";
4151
4151
  }
4152
4152
  function Ir(e, t, n) {
@@ -4168,7 +4168,7 @@ function Ir(e, t, n) {
4168
4168
  }
4169
4169
  function Xt(e, t, n, r, l, i, s) {
4170
4170
  e.tag = null, e.dump = n, Ir(e, n, !1) || Ir(e, n, !0);
4171
- var a = Vl.call(e.dump), p = r, m;
4171
+ var a = Vl.call(e.dump), p = r, v;
4172
4172
  r && (r = e.flowLevel < 0 || e.flowLevel > t);
4173
4173
  var b = a === "[object Object]" || a === "[object Array]", d, h;
4174
4174
  if (b && (d = e.duplicates.indexOf(n), h = d !== -1), (e.tag !== null && e.tag !== "?" || h || e.indent !== 2 && t > 0) && (l = !1), h && e.usedDuplicates[d])
@@ -4186,9 +4186,9 @@ function Xt(e, t, n, r, l, i, s) {
4186
4186
  if (e.skipInvalid) return !1;
4187
4187
  throw new kt("unacceptable kind of an object to dump " + a);
4188
4188
  }
4189
- e.tag !== null && e.tag !== "?" && (m = encodeURI(
4189
+ e.tag !== null && e.tag !== "?" && (v = encodeURI(
4190
4190
  e.tag[0] === "!" ? e.tag.slice(1) : e.tag
4191
- ).replace(/!/g, "%21"), e.tag[0] === "!" ? m = "!" + m : m.slice(0, 18) === "tag:yaml.org,2002:" ? m = "!!" + m.slice(18) : m = "!<" + m + ">", e.dump = m + " " + e.dump);
4191
+ ).replace(/!/g, "%21"), e.tag[0] === "!" ? v = "!" + v : v.slice(0, 18) === "tag:yaml.org,2002:" ? v = "!!" + v.slice(18) : v = "!<" + v + ">", e.dump = v + " " + e.dump);
4192
4192
  }
4193
4193
  return !0;
4194
4194
  }
@@ -4452,14 +4452,14 @@ const Jp = /* @__PURE__ */ Te(Kp, [["render", Qp]]), Jo = /* @__PURE__ */ me({
4452
4452
  return zt;
4453
4453
  }
4454
4454
  }
4455
- function m(k) {
4455
+ function v(k) {
4456
4456
  return typeof (k == null ? void 0 : k.is_active) == "boolean" ? k.is_active ? "Активний" : "Неактивний" : typeof (k == null ? void 0 : k.enabled) == "boolean" ? k.enabled ? "Активний" : "Неактивний" : zt;
4457
4457
  }
4458
4458
  function b(k) {
4459
4459
  return typeof (k == null ? void 0 : k.is_public) != "boolean" ? zt : k.is_public ? "Публічний" : "Приватний";
4460
4460
  }
4461
4461
  const d = P(() => {
4462
- const k = l.data, C = (k == null ? void 0 : k.group_name) ?? s.value ?? ((k == null ? void 0 : k.group_id) != null ? String(k.group_id) : zt), $ = m(k), A = b(k), N = k != null && k.created_at ? p(k.created_at) : zt;
4462
+ const k = l.data, C = (k == null ? void 0 : k.group_name) ?? s.value ?? ((k == null ? void 0 : k.group_id) != null ? String(k.group_id) : zt), $ = v(k), A = b(k), N = k != null && k.created_at ? p(k.created_at) : zt;
4463
4463
  return [
4464
4464
  { label: "Група", value: C },
4465
4465
  { label: "Статус", value: $ },
@@ -4478,7 +4478,7 @@ const Jp = /* @__PURE__ */ Te(Kp, [["render", Qp]]), Jo = /* @__PURE__ */ me({
4478
4478
  { label: "Рік", value: A },
4479
4479
  { label: "Ключові слова", value: N }
4480
4480
  ];
4481
- }), f = T(!1), y = T({}), v = T(null), g = T(!1), _ = [
4481
+ }), f = T(!1), y = T({}), m = T(null), g = T(!1), _ = [
4482
4482
  {
4483
4483
  name: "description",
4484
4484
  type: "textarea",
@@ -4543,13 +4543,13 @@ const Jp = /* @__PURE__ */ Te(Kp, [["render", Qp]]), Jo = /* @__PURE__ */ me({
4543
4543
  keywords: Array.isArray(k == null ? void 0 : k.keywords) ? [...k.keywords] : [],
4544
4544
  is_public: (k == null ? void 0 : k.is_public) ?? !1,
4545
4545
  is_active: typeof (k == null ? void 0 : k.is_active) == "boolean" ? k.is_active : (k == null ? void 0 : k.enabled) ?? !1
4546
- }, v.value = null, f.value = !0;
4546
+ }, m.value = null, f.value = !0;
4547
4547
  }
4548
4548
  async function L() {
4549
4549
  var k, C;
4550
4550
  if (!(!l.entityId || !l.entityType)) {
4551
- if (v.value) {
4552
- const $ = (C = (k = v.value).validate) == null ? void 0 : C.call(k);
4551
+ if (m.value) {
4552
+ const $ = (C = (k = m.value).validate) == null ? void 0 : C.call(k);
4553
4553
  if ($) {
4554
4554
  je({
4555
4555
  type: "warning",
@@ -4657,8 +4657,8 @@ const Jp = /* @__PURE__ */ Te(Kp, [["render", Qp]]), Jo = /* @__PURE__ */ me({
4657
4657
  ne(se(r), {
4658
4658
  values: y.value,
4659
4659
  "onUpdate:values": C[0] || (C[0] = ($) => y.value = $),
4660
- form: v.value,
4661
- "onUpdate:form": C[1] || (C[1] = ($) => v.value = $),
4660
+ form: m.value,
4661
+ "onUpdate:form": C[1] || (C[1] = ($) => m.value = $),
4662
4662
  schema: _
4663
4663
  }, null, 8, ["values", "form"])
4664
4664
  ]),
@@ -4956,8 +4956,8 @@ function xm(e, t) {
4956
4956
  const n = /[a-zA-Z_-]+\s*:/g;
4957
4957
  let r;
4958
4958
  for (; (r = n.exec(e)) !== null; ) {
4959
- const l = r[0].replace(/\s*:$/, "").trim(), i = r.index + 1, s = r.index + r[0].length, p = e.substring(s).indexOf(";"), m = p >= 0 ? s + p + 1 : e.length + 1;
4960
- if (t >= i && t <= m)
4959
+ const l = r[0].replace(/\s*:$/, "").trim(), i = r.index + 1, s = r.index + r[0].length, p = e.substring(s).indexOf(";"), v = p >= 0 ? s + p + 1 : e.length + 1;
4960
+ if (t >= i && t <= v)
4961
4961
  return ns.includes(l) ? l : null;
4962
4962
  }
4963
4963
  return null;
@@ -5010,15 +5010,15 @@ const Gn = /* @__PURE__ */ me({
5010
5010
  if (window.monaco)
5011
5011
  return s = window.monaco, b(s);
5012
5012
  const h = (f) => {
5013
- if ([...document.styleSheets].some((v) => {
5013
+ if ([...document.styleSheets].some((m) => {
5014
5014
  var g;
5015
- return (g = v == null ? void 0 : v.href) == null ? void 0 : g.includes(f);
5015
+ return (g = m == null ? void 0 : m.href) == null ? void 0 : g.includes(f);
5016
5016
  })) return;
5017
5017
  const y = document.createElement("link");
5018
5018
  y.rel = "stylesheet", y.href = f, document.head.appendChild(y);
5019
- }, u = (f) => new Promise((y, v) => {
5019
+ }, u = (f) => new Promise((y, m) => {
5020
5020
  const g = document.createElement("script");
5021
- g.src = f, g.onload = () => y(!0), g.onerror = v, document.body.appendChild(g);
5021
+ g.src = f, g.onload = () => y(!0), g.onerror = m, document.body.appendChild(g);
5022
5022
  });
5023
5023
  h("https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.52.0/min/vs/editor/editor.main.min.css"), u("https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.52.0/min/vs/loader.min.js").then(() => {
5024
5024
  window.require.config({
@@ -5029,7 +5029,7 @@ const Gn = /* @__PURE__ */ me({
5029
5029
  }).catch(d);
5030
5030
  });
5031
5031
  }
5032
- function m() {
5032
+ function v() {
5033
5033
  var d, h;
5034
5034
  if (!l.value || !s) return;
5035
5035
  i && i.dispose(), i = s.editor.create(l.value, {
@@ -5060,7 +5060,7 @@ const Gn = /* @__PURE__ */ me({
5060
5060
  ), le(() => n.theme, (b) => {
5061
5061
  i && s && s.editor.setTheme(b || "vs-light");
5062
5062
  }), Ue(async () => {
5063
- await p(), bm(s), m();
5063
+ await p(), bm(s), v();
5064
5064
  }), Ve(() => {
5065
5065
  i && i.dispose();
5066
5066
  }), (b, d) => (c(), x("div", {
@@ -5082,20 +5082,20 @@ const Gn = /* @__PURE__ */ me({
5082
5082
  le(
5083
5083
  () => n.styleText,
5084
5084
  (p) => {
5085
- const m = p ?? "";
5086
- l.value !== m && (l.value = m);
5085
+ const v = p ?? "";
5086
+ l.value !== v && (l.value = v);
5087
5087
  },
5088
5088
  { immediate: !0 }
5089
5089
  ), le(l, async (p) => {
5090
5090
  var b, d;
5091
- const m = p ?? "";
5092
- n.styleText !== m && r("update:style-text", m);
5091
+ const v = p ?? "";
5092
+ n.styleText !== v && r("update:style-text", v);
5093
5093
  try {
5094
5094
  const h = p ? Ql(p) : null;
5095
5095
  if ((b = h == null ? void 0 : h.colorAttr) != null && b.length && ((d = n.styleYaml) == null ? void 0 : d.colorAttr) !== h.colorAttr) {
5096
5096
  const u = await i(h.colorAttr);
5097
5097
  h.colors = u.reduce(
5098
- (y, v, g) => ({ ...y, [v.id.toString()]: s[g] }),
5098
+ (y, m, g) => ({ ...y, [m.id.toString()]: s[g] }),
5099
5099
  {}
5100
5100
  );
5101
5101
  const f = Jl(h);
@@ -5128,11 +5128,11 @@ const Gn = /* @__PURE__ */ me({
5128
5128
  headers: { "Content-Type": "application/json" },
5129
5129
  body: JSON.stringify({ style: p })
5130
5130
  }), r("update"), je({ type: "success", title: "Успіх", message: "Стилі збережено" });
5131
- } catch (m) {
5132
- je({ type: "error", title: "Помилка", message: "Не вдалося зберегти стилі" }), console.log(m);
5131
+ } catch (v) {
5132
+ je({ type: "error", title: "Помилка", message: "Не вдалося зберегти стилі" }), console.log(v);
5133
5133
  }
5134
5134
  };
5135
- return (p, m) => (c(), x("div", wm, [
5135
+ return (p, v) => (c(), x("div", wm, [
5136
5136
  o("div", _m, [
5137
5137
  o("a", {
5138
5138
  target: "_blank",
@@ -5142,7 +5142,7 @@ const Gn = /* @__PURE__ */ me({
5142
5142
  o("button", {
5143
5143
  onClick: a,
5144
5144
  class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed"
5145
- }, [...m[1] || (m[1] = [
5145
+ }, [...v[1] || (v[1] = [
5146
5146
  o("svg", {
5147
5147
  xmlns: "http://www.w3.org/2000/svg",
5148
5148
  width: "24",
@@ -5164,13 +5164,13 @@ const Gn = /* @__PURE__ */ me({
5164
5164
  ]),
5165
5165
  o("div", $m, [
5166
5166
  o("div", Cm, [
5167
- m[2] || (m[2] = o("div", { class: "bg-gradient-to-r from-gray-50 to-gray-100 px-4 py-2 border-b border-gray-200 flex items-center justify-between" }, [
5167
+ v[2] || (v[2] = o("div", { class: "bg-gradient-to-r from-gray-50 to-gray-100 px-4 py-2 border-b border-gray-200 flex items-center justify-between" }, [
5168
5168
  o("div", { class: "text-xs text-gray-400" }, "YAML")
5169
5169
  ], -1)),
5170
5170
  o("div", Sm, [
5171
5171
  ne(Gn, {
5172
5172
  modelValue: l.value,
5173
- "onUpdate:modelValue": m[0] || (m[0] = (b) => l.value = b),
5173
+ "onUpdate:modelValue": v[0] || (v[0] = (b) => l.value = b),
5174
5174
  language: "yaml",
5175
5175
  theme: "vs-light"
5176
5176
  }, null, 8, ["modelValue"])
@@ -5221,12 +5221,12 @@ function Lm(e) {
5221
5221
  if (u == null) return f;
5222
5222
  const y = Number(typeof u == "string" ? u.trim() : u);
5223
5223
  return Number.isFinite(y) ? y : f;
5224
- }, m = (u) => {
5224
+ }, v = (u) => {
5225
5225
  if (!t.value || !u) return;
5226
5226
  const f = pn(u.center);
5227
5227
  f && t.value.setCenter(f);
5228
- const y = t.value.getZoom(), v = p(u.zoom, y);
5229
- if (v !== y && t.value.setZoom(v), typeof t.value.getMaxZoom == "function" && typeof t.value.setMaxZoom == "function") {
5228
+ const y = t.value.getZoom(), m = p(u.zoom, y);
5229
+ if (m !== y && t.value.setZoom(m), typeof t.value.getMaxZoom == "function" && typeof t.value.setMaxZoom == "function") {
5230
5230
  const g = t.value.getMaxZoom(), _ = p(u.maxZoom, g);
5231
5231
  _ !== g && t.value.setMaxZoom(_);
5232
5232
  }
@@ -5240,11 +5240,11 @@ function Lm(e) {
5240
5240
  if (typeof window > "u" || t.value) return;
5241
5241
  const u = s();
5242
5242
  if (!u) throw new Error("Map container not found");
5243
- const f = se(e.settings) || null, y = pn((L = f == null ? void 0 : f.map) == null ? void 0 : L.center) || [30, 50], v = p((k = f == null ? void 0 : f.map) == null ? void 0 : k.zoom, 7), g = p((C = f == null ? void 0 : f.map) == null ? void 0 : C.maxZoom, 20), E = {
5243
+ const f = se(e.settings) || null, y = pn((L = f == null ? void 0 : f.map) == null ? void 0 : L.center) || [30, 50], m = p((k = f == null ? void 0 : f.map) == null ? void 0 : k.zoom, 7), g = p((C = f == null ? void 0 : f.map) == null ? void 0 : C.maxZoom, 20), E = {
5244
5244
  ...{
5245
5245
  attributionControl: !1,
5246
5246
  center: y,
5247
- zoom: v,
5247
+ zoom: m,
5248
5248
  maxZoom: g,
5249
5249
  minZoom: 4
5250
5250
  },
@@ -5265,7 +5265,7 @@ function Lm(e) {
5265
5265
  typeof e.controls.geolocate == "object" ? e.controls.geolocate : {}
5266
5266
  ), "top-right"), t.value.once("load", () => {
5267
5267
  var K;
5268
- m((K = se(e.settings)) == null ? void 0 : K.map), n.value = !0, i();
5268
+ v((K = se(e.settings)) == null ? void 0 : K.map), n.value = !0, i();
5269
5269
  });
5270
5270
  };
5271
5271
  le(
@@ -5274,7 +5274,7 @@ function Lm(e) {
5274
5274
  return (u = se(e.settings)) == null ? void 0 : u.map;
5275
5275
  },
5276
5276
  (u) => {
5277
- m(u);
5277
+ v(u);
5278
5278
  },
5279
5279
  { deep: !0 }
5280
5280
  );
@@ -5310,8 +5310,8 @@ function Lm(e) {
5310
5310
  return (f = t.value) == null ? void 0 : f.removeControl(u);
5311
5311
  },
5312
5312
  on: (u, f, y) => {
5313
- var v, g;
5314
- return typeof f == "string" ? ((v = t.value) == null || v.on(u, f, y), () => {
5313
+ var m, g;
5314
+ return typeof f == "string" ? ((m = t.value) == null || m.on(u, f, y), () => {
5315
5315
  var _;
5316
5316
  return (_ = t.value) == null ? void 0 : _.off(u, f, y);
5317
5317
  }) : ((g = t.value) == null || g.on(u, f), () => {
@@ -5320,8 +5320,8 @@ function Lm(e) {
5320
5320
  });
5321
5321
  },
5322
5322
  off: (u, f, y) => {
5323
- var v, g;
5324
- typeof f == "string" ? (v = t.value) == null || v.off(u, f, y) : (g = t.value) == null || g.off(u, f);
5323
+ var m, g;
5324
+ typeof f == "string" ? (m = t.value) == null || m.off(u, f, y) : (g = t.value) == null || g.off(u, f);
5325
5325
  },
5326
5326
  project: (u) => {
5327
5327
  var f;
@@ -5391,12 +5391,12 @@ function Pm(e, t = {}) {
5391
5391
  if (!n) return [];
5392
5392
  const r = zm(n);
5393
5393
  if (!r) return [];
5394
- const l = r, i = (t.geometry || e.type || "point").toString().toLowerCase(), s = ct(e, ["text-font", "textFont"]), a = Ao(ct(e, ["text-size", "textSize"]), Em), p = ct(e, ["text-allow-overlap", "textAllowOverlap"]), m = ct(e, [
5394
+ const l = r, i = (t.geometry || e.type || "point").toString().toLowerCase(), s = ct(e, ["text-font", "textFont"]), a = Ao(ct(e, ["text-size", "textSize"]), Em), p = ct(e, ["text-allow-overlap", "textAllowOverlap"]), v = ct(e, [
5395
5395
  "text-minzoom",
5396
5396
  "textMinZoom",
5397
5397
  "textZoom",
5398
5398
  "text-zoom"
5399
- ]), b = ct(e, ["text-maxzoom", "textMaxZoom", "maxzoom"]), d = ct(e, ["text-color", "textColor"]) || Tm, h = ct(e, ["text-halo-color", "textHaloColor"]) || Fm, u = ct(e, ["text-halo-width", "textHaloWidth"]), f = ct(e, ["text-halo-blur", "textHaloBlur"]), y = ct(e, ["text-offset", "textOffset"]), v = ct(e, ["text-anchor", "textAnchor"]), g = ct(e, ["text-justify", "textJustify"]), _ = ct(e, ["text-letter-spacing", "textLetterSpacing"]), E = ct(e, ["text-transform", "textTransform"]), L = ct(e, ["symbol-placement", "symbolPlacement"]), k = ct(e, ["symbol-spacing", "symbolSpacing"]), C = ct(e, [
5399
+ ]), b = ct(e, ["text-maxzoom", "textMaxZoom", "maxzoom"]), d = ct(e, ["text-color", "textColor"]) || Tm, h = ct(e, ["text-halo-color", "textHaloColor"]) || Fm, u = ct(e, ["text-halo-width", "textHaloWidth"]), f = ct(e, ["text-halo-blur", "textHaloBlur"]), y = ct(e, ["text-offset", "textOffset"]), m = ct(e, ["text-anchor", "textAnchor"]), g = ct(e, ["text-justify", "textJustify"]), _ = ct(e, ["text-letter-spacing", "textLetterSpacing"]), E = ct(e, ["text-transform", "textTransform"]), L = ct(e, ["symbol-placement", "symbolPlacement"]), k = ct(e, ["symbol-spacing", "symbolSpacing"]), C = ct(e, [
5400
5400
  "text-rotation-alignment",
5401
5401
  "textRotationAlignment"
5402
5402
  ]), $ = ct(e, ["text-pitch-alignment", "textPitchAlignment"]), A = ct(e, ["text-opacity", "textOpacity"]), N = {
@@ -5405,7 +5405,7 @@ function Pm(e, t = {}) {
5405
5405
  "text-size": a,
5406
5406
  "text-allow-overlap": p ?? !1
5407
5407
  };
5408
- y && (N["text-offset"] = y), i !== "line" && (N["text-anchor"] = v ?? "center"), g && (N["text-justify"] = g), _ !== void 0 && (N["text-letter-spacing"] = _), E && (N["text-transform"] = E), k !== void 0 && (N["symbol-spacing"] = k), i === "line" ? (N["symbol-placement"] = L || "line", N["text-rotation-alignment"] = C || "map", N["text-pitch-alignment"] = $ || "map") : (C && (N["text-rotation-alignment"] = C), $ && (N["text-pitch-alignment"] = $), L && (N["symbol-placement"] = L)), v && i === "line" && (N["text-anchor"] = v);
5408
+ y && (N["text-offset"] = y), i !== "line" && (N["text-anchor"] = m ?? "center"), g && (N["text-justify"] = g), _ !== void 0 && (N["text-letter-spacing"] = _), E && (N["text-transform"] = E), k !== void 0 && (N["symbol-spacing"] = k), i === "line" ? (N["symbol-placement"] = L || "line", N["text-rotation-alignment"] = C || "map", N["text-pitch-alignment"] = $ || "map") : (C && (N["text-rotation-alignment"] = C), $ && (N["text-pitch-alignment"] = $), L && (N["symbol-placement"] = L)), m && i === "line" && (N["text-anchor"] = m);
5409
5409
  const D = {
5410
5410
  "text-color": d,
5411
5411
  "text-opacity": A ?? 1
@@ -5415,7 +5415,7 @@ function Pm(e, t = {}) {
5415
5415
  type: "symbol",
5416
5416
  layout: N,
5417
5417
  paint: D
5418
- }, oe = Ao(m, Im);
5418
+ }, oe = Ao(v, Im);
5419
5419
  if (K.minzoom = oe, b !== void 0) {
5420
5420
  const Q = Ao(b, void 0);
5421
5421
  Q !== void 0 && (K.maxzoom = Q);
@@ -5459,7 +5459,7 @@ function bn(e, t) {
5459
5459
  function Om(e, t) {
5460
5460
  const n = (e == null ? void 0 : e.clusterZoom) ?? (e == null ? void 0 : e.pointZoom) ?? (e == null ? void 0 : e.iconZoom) ?? 12, r = Number(n);
5461
5461
  if (!Number.isFinite(r)) return null;
5462
- const l = ["get", "point_count"], i = ["has", "point_count"], s = ["!", i], m = {
5462
+ const l = ["get", "point_count"], i = ["has", "point_count"], s = ["!", i], v = {
5463
5463
  type: "circle",
5464
5464
  maxzoom: r,
5465
5465
  filter: i,
@@ -5520,7 +5520,7 @@ function Om(e, t) {
5520
5520
  ...t,
5521
5521
  filter: ["all", s, t.filter || !0]
5522
5522
  };
5523
- return [m, b, d];
5523
+ return [v, b, d];
5524
5524
  }
5525
5525
  function Nr(e, t) {
5526
5526
  const n = tr(e);
@@ -5637,10 +5637,10 @@ function Xe(e, t, n) {
5637
5637
  if (!t) return Mo[e];
5638
5638
  const { map: r, ready: l = () => Promise.resolve() } = it(n), i = e || ((oe = t.layer) == null ? void 0 : oe.id), s = t.sourceId ?? e, a = { ...t };
5639
5639
  a.point && (a.source = qm(a.point)), !a.layer && ((ae = a.source) == null ? void 0 : ae.type) === "raster" && (a.layer = { id: s, type: "raster", source: s }), a.layer && !a.layer.source && Object.assign(a.layer, { source: s });
5640
- let p = !1, m = !1;
5640
+ let p = !1, v = !1;
5641
5641
  const b = () => {
5642
5642
  var Q, ue, Y, R, O, re, F, S, I, B;
5643
- if (!(m || !r.value)) {
5643
+ if (!(v || !r.value)) {
5644
5644
  if (a.source && !r.value.getSource(s) && r.value.addSource(s, a.source), !r.value.getLayer(i)) {
5645
5645
  const U = a.beforeId === 0 ? (ue = (Q = r.value.getStyle().layers) == null ? void 0 : Q[0]) == null ? void 0 : ue.id : a.beforeId;
5646
5646
  (R = (Y = a.layer) == null ? void 0 : Y.style) != null && R.icon && Or(r.value, a.layer.style.icon, a.layer.style.colors);
@@ -5685,7 +5685,7 @@ function Xe(e, t, n) {
5685
5685
  if (!r.value) return;
5686
5686
  (((O = (R = (Y = r.value).getStyle) == null ? void 0 : R.call(Y)) == null ? void 0 : O.layers) ?? []).filter((re) => re.source === i).forEach((re) => {
5687
5687
  r.value.removeLayer(re.id);
5688
- }), m = !0, a.source && Q && r.value.getSource(s) && r.value.removeSource(s);
5688
+ }), v = !0, a.source && Q && r.value.getSource(s) && r.value.removeSource(s);
5689
5689
  }, f = async (Q) => {
5690
5690
  var O, re, F, S, I;
5691
5691
  if (!r.value) return;
@@ -5708,7 +5708,7 @@ function Xe(e, t, n) {
5708
5708
  r.value && Object.entries(Q).forEach(([ue, Y]) => {
5709
5709
  r.value.setPaintProperty(i, ue, Y);
5710
5710
  });
5711
- }, v = (Q, ue, Y) => {
5711
+ }, m = (Q, ue, Y) => {
5712
5712
  const R = r.value;
5713
5713
  if (R)
5714
5714
  switch (ue) {
@@ -5750,10 +5750,10 @@ function Xe(e, t, n) {
5750
5750
  const Y = (((R = r.value.getStyle()) == null ? void 0 : R.layers) || []).filter((O) => O.source === s);
5751
5751
  if (!Y.length) {
5752
5752
  const O = r.value.getLayer(i);
5753
- O && v(i, O.type, Q);
5753
+ O && m(i, O.type, Q);
5754
5754
  return;
5755
5755
  }
5756
- Y.forEach((O) => v(O.id, O.type, Q));
5756
+ Y.forEach((O) => m(O.id, O.type, Q));
5757
5757
  },
5758
5758
  setData: (Q) => {
5759
5759
  if (!r.value) return;
@@ -5826,7 +5826,7 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
5826
5826
  // { key: "ua", label: "UA" },
5827
5827
  // { key: "format", label: "Format" },
5828
5828
  // { key: "meta", label: "Meta" },
5829
- ], m = {
5829
+ ], v = {
5830
5830
  name: { type: "text", label: "Назва", disabled: !0, validators: ["required"] },
5831
5831
  label: { type: "text", label: "Найменування", validators: ["required"] },
5832
5832
  // format: { type: "text", label: "Format", disabled: true, hidden: true },
@@ -5847,11 +5847,11 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
5847
5847
  }
5848
5848
  function d() {
5849
5849
  var g;
5850
- const f = [...l.value], y = ((g = n.fields) == null ? void 0 : g.filter((_) => a.value.includes(_.name))) || [], v = Mn(f, y, {
5850
+ const f = [...l.value], y = ((g = n.fields) == null ? void 0 : g.filter((_) => a.value.includes(_.name))) || [], m = Mn(f, y, {
5851
5851
  selectedKeys: a.value,
5852
5852
  resolveKey: (_) => nn(_)
5853
5853
  });
5854
- l.value = v, s.value = !1, a.value = [];
5854
+ l.value = m, s.value = !1, a.value = [];
5855
5855
  }
5856
5856
  function h() {
5857
5857
  s.value = !1, a.value = [];
@@ -5875,18 +5875,18 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
5875
5875
  i.value === "list" ? (c(), fe(sn, {
5876
5876
  key: 0,
5877
5877
  modelValue: l.value,
5878
- "onUpdate:modelValue": y[0] || (y[0] = (v) => l.value = v),
5878
+ "onUpdate:modelValue": y[0] || (y[0] = (m) => l.value = m),
5879
5879
  "columns-scheme": p,
5880
- "form-scheme": m,
5880
+ "form-scheme": v,
5881
5881
  "main-col-width": "250px",
5882
5882
  "add-button": !1
5883
5883
  }, null, 8, ["modelValue"])) : X("", !0)
5884
5884
  ]),
5885
5885
  ne(Ln, {
5886
5886
  visible: s.value,
5887
- "onUpdate:visible": y[1] || (y[1] = (v) => s.value = v),
5887
+ "onUpdate:visible": y[1] || (y[1] = (m) => s.value = m),
5888
5888
  selection: a.value,
5889
- "onUpdate:selection": y[2] || (y[2] = (v) => a.value = v),
5889
+ "onUpdate:selection": y[2] || (y[2] = (m) => a.value = m),
5890
5890
  fields: e.fields,
5891
5891
  title: "Імпорт полів",
5892
5892
  "id-prefix": "import-popup",
@@ -5921,7 +5921,7 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
5921
5921
  ), p = [
5922
5922
  { key: "name", label: "Назва" },
5923
5923
  { key: "color", label: "Колір", type: "color" }
5924
- ], m = {
5924
+ ], v = {
5925
5925
  name: { type: "text", label: "Назва", validators: ["required"] },
5926
5926
  color: { type: "color", label: "Колір", validators: ["required"] }
5927
5927
  };
@@ -5961,7 +5961,7 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
5961
5961
  return (f, y) => (c(), x("div", Zm, [
5962
5962
  o("div", Gm, [
5963
5963
  o("button", {
5964
- onClick: y[0] || (y[0] = (v) => i.value = !0),
5964
+ onClick: y[0] || (y[0] = (m) => i.value = !0),
5965
5965
  class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed"
5966
5966
  }, " Додати "),
5967
5967
  o("button", {
@@ -5971,9 +5971,9 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
5971
5971
  ]),
5972
5972
  ne(sn, {
5973
5973
  modelValue: l.value,
5974
- "onUpdate:modelValue": y[1] || (y[1] = (v) => l.value = v),
5974
+ "onUpdate:modelValue": y[1] || (y[1] = (m) => l.value = m),
5975
5975
  "columns-scheme": p,
5976
- "form-scheme": m,
5976
+ "form-scheme": v,
5977
5977
  "main-col-width": "250px",
5978
5978
  "add-button": !1
5979
5979
  }, null, 8, ["modelValue"]),
@@ -5988,7 +5988,7 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
5988
5988
  o("button", {
5989
5989
  type: "button",
5990
5990
  class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed",
5991
- onClick: y[5] || (y[5] = (v) => b(!1))
5991
+ onClick: y[5] || (y[5] = (m) => b(!1))
5992
5992
  }, " Скасувати "),
5993
5993
  o("button", {
5994
5994
  type: "button",
@@ -6002,7 +6002,7 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
6002
6002
  o("div", Xm, [
6003
6003
  y[6] || (y[6] = o("label", { class: "block text-xs font-medium text-gray-500 uppercase tracking-wide" }, " Назва ", -1)),
6004
6004
  Be(o("input", {
6005
- "onUpdate:modelValue": y[2] || (y[2] = (v) => s.value.name = v),
6005
+ "onUpdate:modelValue": y[2] || (y[2] = (m) => s.value.name = m),
6006
6006
  type: "text",
6007
6007
  class: "w-full rounded-md border border-gray-300 px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200",
6008
6008
  placeholder: "Наприклад, Житлова зона"
@@ -6014,14 +6014,14 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
6014
6014
  y[7] || (y[7] = o("label", { class: "block text-xs font-medium text-gray-500 uppercase tracking-wide" }, " Колір ", -1)),
6015
6015
  o("div", Jm, [
6016
6016
  Be(o("input", {
6017
- "onUpdate:modelValue": y[3] || (y[3] = (v) => s.value.color = v),
6017
+ "onUpdate:modelValue": y[3] || (y[3] = (m) => s.value.color = m),
6018
6018
  type: "color",
6019
6019
  class: "h-10 w-16 rounded border border-gray-300"
6020
6020
  }, null, 512), [
6021
6021
  [gt, s.value.color]
6022
6022
  ]),
6023
6023
  Be(o("input", {
6024
- "onUpdate:modelValue": y[4] || (y[4] = (v) => s.value.color = v),
6024
+ "onUpdate:modelValue": y[4] || (y[4] = (m) => s.value.color = m),
6025
6025
  type: "text",
6026
6026
  class: "flex-1 rounded-md border border-gray-300 px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200",
6027
6027
  placeholder: "#FFFFFF"
@@ -6058,7 +6058,7 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
6058
6058
  }, [
6059
6059
  (c(!0), x(ie, null, he(se(i), (p) => (c(), x("div", {
6060
6060
  key: p.value,
6061
- onClick: (m) => l(p.value),
6061
+ onClick: (v) => l(p.value),
6062
6062
  class: Ae(["flex items-center justify-center space-x-2 rounded-lg p-2 border transition-all duration-300 cursor-pointer", [
6063
6063
  e.modelValue === p.value ? "bg-gradient-to-r from-sky-200 to-blue-200 border-transparent shadow-sm" : "bg-white border-gray-100 hover:border-sky-200 hover:shadow-sm"
6064
6064
  ]])
@@ -6109,25 +6109,25 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
6109
6109
  const n = e, r = t, l = T(n.columns || []);
6110
6110
  le(
6111
6111
  () => n.columns,
6112
- (v) => l.value = v || [],
6112
+ (m) => l.value = m || [],
6113
6113
  { immediate: !0 }
6114
- ), le(l, (v) => r("update:columns", v));
6114
+ ), le(l, (m) => r("update:columns", m));
6115
6115
  const i = T(n.viewMode ?? "list");
6116
6116
  le(
6117
6117
  () => n.viewMode,
6118
- (v) => {
6119
- v && v !== i.value && (i.value = v);
6118
+ (m) => {
6119
+ m && m !== i.value && (i.value = m);
6120
6120
  }
6121
6121
  );
6122
6122
  const s = T(n.html ?? "");
6123
6123
  le(
6124
6124
  () => n.html,
6125
- (v) => {
6126
- typeof v == "string" && v !== s.value && (s.value = v);
6125
+ (m) => {
6126
+ typeof m == "string" && m !== s.value && (s.value = m);
6127
6127
  },
6128
6128
  { immediate: !0 }
6129
6129
  );
6130
- const a = T(!1), p = T([]), m = [
6130
+ const a = T(!1), p = T([]), v = [
6131
6131
  { key: "name", label: "Name", type: "main" }
6132
6132
  // { key: "ua", label: "UA" },
6133
6133
  // { key: 'format', label: 'Format' },
@@ -6172,17 +6172,17 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
6172
6172
  }, */
6173
6173
  };
6174
6174
  function d() {
6175
- p.value = i.value === "html" ? [] : l.value.map((v) => v.name || v.id), a.value = !0;
6175
+ p.value = i.value === "html" ? [] : l.value.map((m) => m.name || m.id), a.value = !0;
6176
6176
  }
6177
6177
  function h() {
6178
6178
  var E;
6179
- const v = [...l.value], g = ((E = n.fields) == null ? void 0 : E.filter((L) => p.value.includes(L.name)).map((L) => {
6179
+ const m = [...l.value], g = ((E = n.fields) == null ? void 0 : E.filter((L) => p.value.includes(L.name)).map((L) => {
6180
6180
  const { type: k, format: C, ...$ } = L;
6181
6181
  return {
6182
6182
  ...$,
6183
6183
  format: C ?? k ?? "text"
6184
6184
  };
6185
- })) || [], _ = Mn(v, g, {
6185
+ })) || [], _ = Mn(m, g, {
6186
6186
  selectedKeys: p.value,
6187
6187
  resolveKey: (L) => nn(L)
6188
6188
  });
@@ -6202,10 +6202,10 @@ ${L}` : L;
6202
6202
  a.value = !1, p.value = [];
6203
6203
  }
6204
6204
  function f() {
6205
- const v = i.value === "html" ? "html" : "list", g = {
6206
- card_mode: v
6205
+ const m = i.value === "html" ? "html" : "list", g = {
6206
+ card_mode: m
6207
6207
  };
6208
- v === "html" ? g.html = s.value : v === "list" && (g.list = l.value), r("save", "card", g);
6208
+ m === "html" ? g.html = s.value : m === "list" && (g.list = l.value), r("save", "card", g);
6209
6209
  }
6210
6210
  const y = [
6211
6211
  { value: "all", label: "Всі" },
@@ -6213,7 +6213,7 @@ ${L}` : L;
6213
6213
  { value: "none", label: "Жодне" },
6214
6214
  { value: "html", label: "HTML" }
6215
6215
  ];
6216
- return (v, g) => (c(), x("div", iv, [
6216
+ return (m, g) => (c(), x("div", iv, [
6217
6217
  o("div", { class: "flex justify-between mb-3 gap-2" }, [
6218
6218
  o("button", {
6219
6219
  onClick: d,
@@ -6234,7 +6234,7 @@ ${L}` : L;
6234
6234
  key: 0,
6235
6235
  modelValue: l.value,
6236
6236
  "onUpdate:modelValue": g[1] || (g[1] = (_) => l.value = _),
6237
- "columns-scheme": m,
6237
+ "columns-scheme": v,
6238
6238
  "form-scheme": b,
6239
6239
  "main-col-width": "250px",
6240
6240
  "add-button": !1
@@ -6280,7 +6280,7 @@ ${L}` : L;
6280
6280
  { key: "id", label: "Name" },
6281
6281
  { key: "label", label: "UA" }
6282
6282
  // { key: "type", label: "Тип" },
6283
- ], m = {
6283
+ ], v = {
6284
6284
  name: { type: "text", label: "Name", disabled: !0, validators: ["required"] },
6285
6285
  label: { type: "text", label: "UA", validators: ["required"] },
6286
6286
  type: {
@@ -6312,11 +6312,11 @@ ${L}` : L;
6312
6312
  }
6313
6313
  function d() {
6314
6314
  var g;
6315
- const f = [...l.value], y = ((g = n.fields) == null ? void 0 : g.filter((_) => a.value.includes(_.name))) || [], v = Mn(f, y, {
6315
+ const f = [...l.value], y = ((g = n.fields) == null ? void 0 : g.filter((_) => a.value.includes(_.name))) || [], m = Mn(f, y, {
6316
6316
  selectedKeys: a.value,
6317
6317
  resolveKey: (_) => nn(_)
6318
6318
  });
6319
- l.value = v, s.value = !1, a.value = [];
6319
+ l.value = m, s.value = !1, a.value = [];
6320
6320
  }
6321
6321
  function h() {
6322
6322
  s.value = !1, a.value = [];
@@ -6339,17 +6339,17 @@ ${L}` : L;
6339
6339
  i.value === "list" ? (c(), fe(sn, {
6340
6340
  key: 0,
6341
6341
  modelValue: l.value,
6342
- "onUpdate:modelValue": y[0] || (y[0] = (v) => l.value = v),
6342
+ "onUpdate:modelValue": y[0] || (y[0] = (m) => l.value = m),
6343
6343
  "columns-scheme": p,
6344
- "form-scheme": m,
6344
+ "form-scheme": v,
6345
6345
  "main-col-width": "250px",
6346
6346
  "add-button": !1
6347
6347
  }, null, 8, ["modelValue"])) : X("", !0),
6348
6348
  ne(Ln, {
6349
6349
  visible: s.value,
6350
- "onUpdate:visible": y[1] || (y[1] = (v) => s.value = v),
6350
+ "onUpdate:visible": y[1] || (y[1] = (m) => s.value = m),
6351
6351
  selection: a.value,
6352
- "onUpdate:selection": y[2] || (y[2] = (v) => a.value = v),
6352
+ "onUpdate:selection": y[2] || (y[2] = (m) => a.value = m),
6353
6353
  fields: e.fields,
6354
6354
  title: "Імпорт полів",
6355
6355
  "id-prefix": "import-filter",
@@ -6394,8 +6394,8 @@ const fv = /* @__PURE__ */ me({
6394
6394
  async function s() {
6395
6395
  var b;
6396
6396
  await st();
6397
- const m = (b = i.map) == null ? void 0 : b.value;
6398
- m != null && m.resize && m.resize();
6397
+ const v = (b = i.map) == null ? void 0 : b.value;
6398
+ v != null && v.resize && v.resize();
6399
6399
  }
6400
6400
  function a() {
6401
6401
  typeof ResizeObserver > "u" || r.value || !n.value || (r.value = new ResizeObserver(() => {
@@ -6403,19 +6403,19 @@ const fv = /* @__PURE__ */ me({
6403
6403
  }), r.value.observe(n.value));
6404
6404
  }
6405
6405
  function p() {
6406
- var m;
6407
- (m = r.value) == null || m.disconnect(), r.value = null;
6406
+ var v;
6407
+ (v = r.value) == null || v.disconnect(), r.value = null;
6408
6408
  }
6409
6409
  return Ue(() => {
6410
6410
  s(), a(), window.addEventListener("resize", s);
6411
6411
  }), Ve(() => {
6412
6412
  window.removeEventListener("resize", s), p();
6413
- }), t({ ctx: i }), (m, b) => (c(), x("div", {
6413
+ }), t({ ctx: i }), (v, b) => (c(), x("div", {
6414
6414
  ref_key: "el",
6415
6415
  ref: n,
6416
6416
  class: "map-view-root w-full h-full rounded-xl overflow-hidden"
6417
6417
  }, [
6418
- Zt(m.$slots, "default", {}, void 0, !0)
6418
+ Zt(v.$slots, "default", {}, void 0, !0)
6419
6419
  ], 512));
6420
6420
  }
6421
6421
  }), xo = /* @__PURE__ */ Te(fv, [["__scopeId", "data-v-d6e61166"]]), pv = /* @__PURE__ */ me({
@@ -6427,10 +6427,10 @@ const fv = /* @__PURE__ */ me({
6427
6427
  autoCenter: { type: [Boolean, null] }
6428
6428
  },
6429
6429
  setup(e, { expose: t }) {
6430
- var f, y, v, g;
6430
+ var f, y, m, g;
6431
6431
  const { map: n, flyTo: r, setZoom: l } = it(), i = ((y = (f = rn()) == null ? void 0 : f.appContext.config.globalProperties) == null ? void 0 : y.$settings) || null, s = e, a = s.id;
6432
6432
  String(s.id);
6433
- const p = `${location.origin}/api/vtile/${s.id}/ua/{z}/{x}/{y}.vmt?all=1`, m = Xe(a, {
6433
+ const p = `${location.origin}/api/vtile/${s.id}/ua/{z}/{x}/{y}.vmt?all=1`, v = Xe(a, {
6434
6434
  source: {
6435
6435
  type: "vector",
6436
6436
  tiles: [p],
@@ -6442,19 +6442,19 @@ const fv = /* @__PURE__ */ me({
6442
6442
  // id: layerId,
6443
6443
  // source: sourceId,
6444
6444
  // 'source-layer': props.id,
6445
- style: (v = s.layer) == null ? void 0 : v.style
6445
+ style: (m = s.layer) == null ? void 0 : m.style
6446
6446
  /* paint: {
6447
6447
  'circle-radius': 6,
6448
6448
  'circle-color': 'red',
6449
6449
  } */
6450
6450
  }
6451
6451
  });
6452
- t({ layerHandle: m }), (s.autoCenter ?? !0) && r({ center: s.layer.center || ((g = i == null ? void 0 : i.map) == null ? void 0 : g.center) || [30, 50], animate: !1 });
6452
+ t({ layerHandle: v }), (s.autoCenter ?? !0) && r({ center: s.layer.center || ((g = i == null ? void 0 : i.map) == null ? void 0 : g.center) || [30, 50], animate: !1 });
6453
6453
  let b = null;
6454
6454
  function d() {
6455
- if (!(m != null && m.setTiles)) return;
6455
+ if (!(v != null && v.setTiles)) return;
6456
6456
  const _ = p.includes("?") ? "&" : "?", E = `${p}${_}_=${Date.now()}`;
6457
- m.setTiles([E]);
6457
+ v.setTiles([E]);
6458
6458
  }
6459
6459
  function h() {
6460
6460
  b && clearTimeout(b), b = setTimeout(() => {
@@ -6462,10 +6462,10 @@ const fv = /* @__PURE__ */ me({
6462
6462
  }, 300);
6463
6463
  }
6464
6464
  async function u() {
6465
- n.value && (d(), m.setStyle(s.styleSpec ?? null));
6465
+ n.value && (d(), v.setStyle(s.styleSpec ?? null));
6466
6466
  }
6467
6467
  return le(() => s.styleSpec, h, { deep: !0 }), Ve(() => {
6468
- m.remove();
6468
+ v.remove();
6469
6469
  }), (_, E) => null;
6470
6470
  }
6471
6471
  }), Bn = T(null);
@@ -6509,7 +6509,7 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
6509
6509
  isOpen: i,
6510
6510
  close: s,
6511
6511
  toggle: a
6512
- } = vv(l), p = It({ top: 0, left: 0, transform: "translateX(-50%)" }), m = T(null), b = T(null);
6512
+ } = vv(l), p = It({ top: 0, left: 0, transform: "translateX(-50%)" }), v = T(null), b = T(null);
6513
6513
  let d = null;
6514
6514
  const h = T({}), u = It({
6515
6515
  visible: !1,
@@ -6519,7 +6519,7 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
6519
6519
  }), f = P(() => i.value), y = P(() => {
6520
6520
  var F;
6521
6521
  return Array.isArray((F = n.layer) == null ? void 0 : F.filters) ? n.layer.filters : [];
6522
- }), v = P(() => y.value.length > 0), g = P(() => {
6522
+ }), m = P(() => y.value.length > 0), g = P(() => {
6523
6523
  var F;
6524
6524
  return ((F = n.layer) == null ? void 0 : F.name) ?? "";
6525
6525
  }), _ = P(() => y.value), E = T(null), L = P(() => y.value.length), k = P(() => L.value <= 2), C = P(() => k.value ? "body" : typeof window > "u" || E.value ? Eo : "body"), $ = P(() => {
@@ -6546,8 +6546,8 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
6546
6546
  }
6547
6547
  function D() {
6548
6548
  var ge, xe, Fe;
6549
- if (!m.value || !k.value) return;
6550
- const F = m.value.getBoundingClientRect(), S = window.scrollX + 8, I = window.scrollX + window.innerWidth - 8, B = ((ge = b.value) == null ? void 0 : ge.offsetWidth) || 280, U = ((xe = b.value) == null ? void 0 : xe.offsetHeight) || 0;
6549
+ if (!v.value || !k.value) return;
6550
+ const F = v.value.getBoundingClientRect(), S = window.scrollX + 8, I = window.scrollX + window.innerWidth - 8, B = ((ge = b.value) == null ? void 0 : ge.offsetWidth) || 280, U = ((xe = b.value) == null ? void 0 : xe.offsetHeight) || 0;
6551
6551
  let te = 0, pe = 0;
6552
6552
  if ((Fe = n.catalogAnchor) != null && Fe.value) {
6553
6553
  const Ne = n.catalogAnchor.value.getBoundingClientRect(), H = Ne.top + window.scrollY;
@@ -6624,11 +6624,11 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
6624
6624
  function re() {
6625
6625
  typeof window > "u" || typeof document > "u" || (E.value = document.querySelector(Eo));
6626
6626
  }
6627
- return (F, S) => v.value ? (c(), x("div", {
6627
+ return (F, S) => m.value ? (c(), x("div", {
6628
6628
  key: 0,
6629
6629
  class: "mapLayer-filter",
6630
6630
  ref_key: "anchor",
6631
- ref: m
6631
+ ref: v
6632
6632
  }, [
6633
6633
  o("a", {
6634
6634
  class: Ae(["mapLayer-filter__trigger", { "mapLayer-filter__trigger--disabled": n.disabled }]),
@@ -6754,7 +6754,7 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
6754
6754
  C = `${L}-${$}`, $ += 1;
6755
6755
  return C;
6756
6756
  }
6757
- const i = rn(), s = (g = i == null ? void 0 : i.appContext.config.globalProperties) == null ? void 0 : g.$settings, a = s == null ? void 0 : s.map, p = Lt(), m = Pt();
6757
+ const i = rn(), s = (g = i == null ? void 0 : i.appContext.config.globalProperties) == null ? void 0 : g.$settings, a = s == null ? void 0 : s.map, p = Lt(), v = Pt();
6758
6758
  function b() {
6759
6759
  const L = p == null ? void 0 : p.query;
6760
6760
  return !L || typeof L != "object" ? null : typeof L.basemap == "string" ? L.basemap : null;
@@ -6783,7 +6783,7 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
6783
6783
  },
6784
6784
  beforeId: 0
6785
6785
  });
6786
- function v(L) {
6786
+ function m(L) {
6787
6787
  if (!u.value[L]) return;
6788
6788
  f.value = L;
6789
6789
  const k = u.value[L];
@@ -6791,7 +6791,7 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
6791
6791
  y.setVisible(!1);
6792
6792
  return;
6793
6793
  }
6794
- y.setVisible(!0), y.setTiles([k.url]), typeof window < "u" && b() !== L && m.replace({ query: { ...p == null ? void 0 : p.query, basemap: L } }).catch(() => {
6794
+ y.setVisible(!0), y.setTiles([k.url]), typeof window < "u" && b() !== L && v.replace({ query: { ...p == null ? void 0 : p.query, basemap: L } }).catch(() => {
6795
6795
  });
6796
6796
  }
6797
6797
  return le(
@@ -6818,7 +6818,7 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
6818
6818
  ), (L, k) => (c(), x("div", kv, [
6819
6819
  (c(!0), x(ie, null, he(u.value, (C, $) => (c(), x("div", {
6820
6820
  key: $,
6821
- onClick: (A) => v($)
6821
+ onClick: (A) => m($)
6822
6822
  }, [
6823
6823
  $ !== "none" && C.url ? (c(), x("div", {
6824
6824
  key: 0,
@@ -6884,17 +6884,17 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
6884
6884
  const d = (h = b.getStyle) == null ? void 0 : h.call(b);
6885
6885
  l.value = a(d);
6886
6886
  }
6887
- function m() {
6887
+ function v() {
6888
6888
  n.value && (i == null || i());
6889
6889
  }
6890
6890
  return le(
6891
6891
  () => t.items,
6892
6892
  async (b) => {
6893
- b != null ? (l.value = s(b), i == null || i()) : (await r(), m(), p());
6893
+ b != null ? (l.value = s(b), i == null || i()) : (await r(), v(), p());
6894
6894
  },
6895
6895
  { immediate: !0, deep: !0 }
6896
6896
  ), Ue(async () => {
6897
- (t.items === void 0 || t.items === null) && (await r(), m(), p());
6897
+ (t.items === void 0 || t.items === null) && (await r(), v(), p());
6898
6898
  }), Ve(() => {
6899
6899
  i == null || i(), i = null;
6900
6900
  }), (b, d) => l.value.length ? (c(), x("div", Sv, [
@@ -6924,7 +6924,7 @@ function Mv() {
6924
6924
  const p = (u) => {
6925
6925
  const f = (u == null ? void 0 : u.properties) || {};
6926
6926
  return !!(f.cluster || f.point_count || f.point_count_abbreviated);
6927
- }, m = (u) => {
6927
+ }, v = (u) => {
6928
6928
  var g, _;
6929
6929
  n.value = [u.point.x, u.point.y];
6930
6930
  const f = e.value.queryRenderedFeatures(u.point);
@@ -6937,13 +6937,13 @@ function Mv() {
6937
6937
  b();
6938
6938
  return;
6939
6939
  }
6940
- const v = Xe(y.source) || Xe((g = y.layer) == null ? void 0 : g.id);
6941
- v != null && v.popup && (r.value = ((_ = v.popup) == null ? void 0 : _.fields) || v.popup, i.value = y.properties);
6940
+ const m = Xe(y.source) || Xe((g = y.layer) == null ? void 0 : g.id);
6941
+ m != null && m.popup && (r.value = ((_ = m.popup) == null ? void 0 : _.fields) || m.popup, i.value = y.properties);
6942
6942
  }, b = () => {
6943
6943
  r.value = null, i.value = null, n.value = null;
6944
6944
  };
6945
6945
  async function d() {
6946
- await t(), e.value && (a(), e.value.on("mousemove", m), e.value.on("mouseleave", b));
6946
+ await t(), e.value && (a(), e.value.on("mousemove", v), e.value.on("mouseleave", b));
6947
6947
  }
6948
6948
  function h() {
6949
6949
  a(), r.value = null, i.value = null, n.value = null;
@@ -6967,33 +6967,33 @@ const Ev = { class: "min-w-[200px] max-w-[280px] rounded-lg border border-slate-
6967
6967
  } = Mv(), { map: i } = it(), s = T(null), a = T({ left: "-9999px", top: "-9999px" }), p = new Intl.NumberFormat("uk-UA", {
6968
6968
  maximumFractionDigits: 2
6969
6969
  });
6970
- function m(y, v) {
6971
- if (v == null || v === "") return v;
6970
+ function v(y, m) {
6971
+ if (m == null || m === "") return m;
6972
6972
  if ((y == null ? void 0 : y.type) === "number") {
6973
- const g = typeof v == "number" ? v : Number(v);
6973
+ const g = typeof m == "number" ? m : Number(m);
6974
6974
  if (Number.isFinite(g))
6975
6975
  return p.format(g);
6976
6976
  }
6977
- return v;
6977
+ return m;
6978
6978
  }
6979
- function b(y, v, g) {
6980
- const _ = y.name || y.label || y.title || `field-${g}`, E = y.label || y.title || y.name || _, L = y.name ? v[y.name] : void 0, C = (y.name ? v[`${y.name}_text`] : void 0) ?? L ?? y.value ?? null;
6979
+ function b(y, m, g) {
6980
+ const _ = y.name || y.label || y.title || `field-${g}`, E = y.label || y.title || y.name || _, L = y.name ? m[y.name] : void 0, C = (y.name ? m[`${y.name}_text`] : void 0) ?? L ?? y.value ?? null;
6981
6981
  return {
6982
6982
  key: _,
6983
6983
  label: E,
6984
- value: m(y, C)
6984
+ value: v(y, C)
6985
6985
  };
6986
6986
  }
6987
6987
  const d = P(() => {
6988
- const y = n.value || [], v = r.value || {};
6989
- return y.filter((g) => (g == null ? void 0 : g.meta) !== "title").map((g, _) => b(g, v, _)).filter((g) => g.label);
6988
+ const y = n.value || [], m = r.value || {};
6989
+ return y.filter((g) => (g == null ? void 0 : g.meta) !== "title").map((g, _) => b(g, m, _)).filter((g) => g.label);
6990
6990
  }), h = P(() => {
6991
- const y = n.value || [], v = r.value || {}, g = y.find((_) => (_ == null ? void 0 : _.meta) === "title");
6992
- return g ? b(g, v, 0) : null;
6991
+ const y = n.value || [], m = r.value || {}, g = y.find((_) => (_ == null ? void 0 : _.meta) === "title");
6992
+ return g ? b(g, m, 0) : null;
6993
6993
  }), u = P(() => {
6994
- var v;
6994
+ var m;
6995
6995
  const y = d.value;
6996
- return (v = h.value) != null && v.value ? [
6996
+ return (m = h.value) != null && m.value ? [
6997
6997
  { ...h.value, key: `${h.value.key}-title`, label: "Назва" },
6998
6998
  ...y
6999
6999
  ] : y;
@@ -7004,7 +7004,7 @@ const Ev = { class: "min-w-[200px] max-w-[280px] rounded-lg border border-slate-
7004
7004
  a.value = { left: "-9999px", top: "-9999px" };
7005
7005
  return;
7006
7006
  }
7007
- const y = s.value, v = y.offsetParent || null, g = (v == null ? void 0 : v.getBoundingClientRect()) ?? {
7007
+ const y = s.value, m = y.offsetParent || null, g = (m == null ? void 0 : m.getBoundingClientRect()) ?? {
7008
7008
  left: 0,
7009
7009
  top: 0,
7010
7010
  width: window.innerWidth,
@@ -7021,7 +7021,7 @@ const Ev = { class: "min-w-[200px] max-w-[280px] rounded-lg border border-slate-
7021
7021
  window.addEventListener("resize", f);
7022
7022
  }), Ve(() => {
7023
7023
  window.removeEventListener("resize", f), l();
7024
- }), (y, v) => u.value.length ? (c(), x("div", {
7024
+ }), (y, m) => u.value.length ? (c(), x("div", {
7025
7025
  key: 0,
7026
7026
  ref_key: "popupRef",
7027
7027
  ref: s,
@@ -7043,10 +7043,10 @@ const Ev = { class: "min-w-[200px] max-w-[280px] rounded-lg border border-slate-
7043
7043
  }
7044
7044
  });
7045
7045
  function jv() {
7046
- const { map: e, ready: t } = it(), n = Lt(), r = Pt(), l = T(null), i = T(null), s = T(null), a = T(!1), p = T([]), m = T(0), b = P(() => p.value.length), d = P(() => a.value || !!l.value || !!s.value);
7046
+ const { map: e, ready: t } = it(), n = Lt(), r = Pt(), l = T(null), i = T(null), s = T(null), a = T(!1), p = T([]), v = T(0), b = P(() => p.value.length), d = P(() => a.value || !!l.value || !!s.value);
7047
7047
  let h = null, u = !1;
7048
7048
  function f() {
7049
- l.value = null, i.value = null, s.value = null, a.value = !1, p.value = [], m.value = 0;
7049
+ l.value = null, i.value = null, s.value = null, a.value = !1, p.value = [], v.value = 0;
7050
7050
  }
7051
7051
  function y() {
7052
7052
  if (h) {
@@ -7057,7 +7057,7 @@ function jv() {
7057
7057
  h = null;
7058
7058
  }
7059
7059
  }
7060
- async function v() {
7060
+ async function m() {
7061
7061
  await t();
7062
7062
  const oe = e.value;
7063
7063
  oe && (y(), f(), oe.on("click", g), h = () => oe.off("click", g), K(A()));
@@ -7073,20 +7073,20 @@ function jv() {
7073
7073
  f(), D(null);
7074
7074
  return;
7075
7075
  }
7076
- p.value = Q, m.value = 0, _(m.value);
7076
+ p.value = Q, v.value = 0, _(v.value);
7077
7077
  }
7078
7078
  function _(oe) {
7079
7079
  const ae = p.value[oe];
7080
7080
  if (!ae) return;
7081
- m.value = oe;
7081
+ v.value = oe;
7082
7082
  const Q = Xe(ae.source);
7083
7083
  k(ae, Q == null ? void 0 : Q.card);
7084
7084
  }
7085
7085
  function E() {
7086
- m.value >= p.value.length - 1 || _(m.value + 1);
7086
+ v.value >= p.value.length - 1 || _(v.value + 1);
7087
7087
  }
7088
7088
  function L() {
7089
- m.value <= 0 || _(m.value - 1);
7089
+ v.value <= 0 || _(v.value - 1);
7090
7090
  }
7091
7091
  async function k(oe, ae) {
7092
7092
  var Y, R, O, re;
@@ -7134,7 +7134,7 @@ function jv() {
7134
7134
  function $() {
7135
7135
  y(), f();
7136
7136
  }
7137
- t().then(v), Ve(() => $());
7137
+ t().then(m), Ve(() => $());
7138
7138
  function A() {
7139
7139
  const oe = Array.isArray(n.query.info) ? n.query.info[0] : n.query.info;
7140
7140
  return typeof oe != "string" ? null : oe.trim() || null;
@@ -7169,7 +7169,7 @@ function jv() {
7169
7169
  source: ue,
7170
7170
  properties: { id: Y }
7171
7171
  };
7172
- p.value = [R], m.value = 0;
7172
+ p.value = [R], v.value = 0;
7173
7173
  const O = Xe(ue);
7174
7174
  await k(R, O == null ? void 0 : O.card);
7175
7175
  } finally {
@@ -7193,11 +7193,11 @@ function jv() {
7193
7193
  next: E,
7194
7194
  prev: L,
7195
7195
  count: b,
7196
- index: m
7196
+ index: v
7197
7197
  };
7198
7198
  }
7199
7199
  function zv() {
7200
- const { map: e, ready: t } = it(), n = T([]), r = T(0), l = T(0), i = T(!1), s = T(null), a = T({}), p = T(null), m = T([]), b = P(() => n.value[l.value] || null), d = P(() => n.value.length > 0);
7200
+ const { map: e, ready: t } = it(), n = T([]), r = T(0), l = T(0), i = T(!1), s = T(null), a = T({}), p = T(null), v = T([]), b = P(() => n.value[l.value] || null), d = P(() => n.value.length > 0);
7201
7201
  let h = null;
7202
7202
  const u = () => {
7203
7203
  h == null || h.remove(), h = null;
@@ -7209,7 +7209,7 @@ function zv() {
7209
7209
  color: "#0a57ff",
7210
7210
  width: 4,
7211
7211
  opacity: 0.95
7212
- }), v = (A) => Number(A.toFixed(5)), g = async (A) => {
7212
+ }), m = (A) => Number(A.toFixed(5)), g = async (A) => {
7213
7213
  if (await t(), !e.value) return;
7214
7214
  const N = f(A);
7215
7215
  N && (u(), h = Xe(
@@ -7222,8 +7222,8 @@ function zv() {
7222
7222
  ));
7223
7223
  }, _ = async (A, N, D) => {
7224
7224
  var ae, Q;
7225
- const [K, oe] = [v(A), v(N)];
7226
- p.value = { x: K, y: oe }, m.value = D, i.value = !0, s.value = null, n.value = [], a.value = {}, l.value = 0;
7225
+ const [K, oe] = [m(A), m(N)];
7226
+ p.value = { x: K, y: oe }, v.value = D, i.value = !0, s.value = null, n.value = [], a.value = {}, l.value = 0;
7227
7227
  try {
7228
7228
  const ue = D.map(async (F) => {
7229
7229
  const S = `/api/map-info-point?x=${K}&y=${oe}&layers=${F}`, I = await fetch(S);
@@ -7248,12 +7248,12 @@ function zv() {
7248
7248
  i.value = !1;
7249
7249
  }
7250
7250
  }, E = async (A) => {
7251
- if (!p.value || !m.value.length) return;
7251
+ if (!p.value || !v.value.length) return;
7252
7252
  if (a.value[A]) {
7253
7253
  n.value[A] = a.value[A];
7254
7254
  return;
7255
7255
  }
7256
- const { x: N, y: D } = p.value, K = m.value.join(","), oe = `/api/map-info-point?x=${N}&y=${D}&index=${A}&layers=${K}`;
7256
+ const { x: N, y: D } = p.value, K = v.value.join(","), oe = `/api/map-info-point?x=${N}&y=${D}&index=${A}&layers=${K}`;
7257
7257
  try {
7258
7258
  i.value = !0;
7259
7259
  const ae = await fetch(oe);
@@ -7270,7 +7270,7 @@ function zv() {
7270
7270
  }, k = async () => {
7271
7271
  l.value > 0 && (l.value -= 1, a.value[l.value] || await E(l.value));
7272
7272
  }, C = () => {
7273
- n.value = [], r.value = 0, l.value = 0, a.value = {}, p.value = null, m.value = [], u();
7273
+ n.value = [], r.value = 0, l.value = 0, a.value = {}, p.value = null, v.value = [], u();
7274
7274
  };
7275
7275
  le(l, async () => {
7276
7276
  var N, D;
@@ -7327,15 +7327,15 @@ const Vr = /* @__PURE__ */ me({
7327
7327
  emits: ["activate"],
7328
7328
  setup(e, { emit: t }) {
7329
7329
  const n = e, r = t;
7330
- function l(m) {
7331
- const b = m.normalize("NFKD").replace(/[\u0300-\u036f]/g, "").replace(/[^a-zA-Z0-9]+/g, "-").replace(/^-+|-+$/g, "").toLowerCase();
7330
+ function l(v) {
7331
+ const b = v.normalize("NFKD").replace(/[\u0300-\u036f]/g, "").replace(/[^a-zA-Z0-9]+/g, "-").replace(/^-+|-+$/g, "").toLowerCase();
7332
7332
  if (b) return b;
7333
- const d = Array.from(m).map((h) => h.charCodeAt(0).toString(16)).join("").slice(0, 8);
7333
+ const d = Array.from(v).map((h) => h.charCodeAt(0).toString(16)).join("").slice(0, 8);
7334
7334
  return d ? `layer-${d}` : "layer-temp";
7335
7335
  }
7336
7336
  const i = P(() => {
7337
- var m;
7338
- return ((m = n.id) == null ? void 0 : m.trim()) || l(n.title);
7337
+ var v;
7338
+ return ((v = n.id) == null ? void 0 : v.trim()) || l(n.title);
7339
7339
  }), s = P(() => n.buttonText || "Показати шар");
7340
7340
  function a() {
7341
7341
  return {
@@ -7347,12 +7347,12 @@ const Vr = /* @__PURE__ */ me({
7347
7347
  function p() {
7348
7348
  r("activate", a());
7349
7349
  }
7350
- return (m, b) => (c(), x("button", {
7350
+ return (v, b) => (c(), x("button", {
7351
7351
  type: "button",
7352
7352
  class: "flex items-center justify-center bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded w-full",
7353
7353
  onClick: p
7354
7354
  }, [
7355
- Zt(m.$slots, "default", {}, () => [
7355
+ Zt(v.$slots, "default", {}, () => [
7356
7356
  Ce(V(s.value), 1)
7357
7357
  ])
7358
7358
  ]));
@@ -7387,18 +7387,18 @@ function Rv(e) {
7387
7387
  }
7388
7388
  }
7389
7389
  function or(e) {
7390
- function t(s, a = {}, p, m) {
7390
+ function t(s, a = {}, p, v) {
7391
7391
  var E, L;
7392
7392
  const b = to(s == null ? void 0 : s.id), d = ((E = s == null ? void 0 : s.title) == null ? void 0 : E.trim()) || b, h = ((L = s == null ? void 0 : s.url) == null ? void 0 : L.trim()) || "";
7393
7393
  if (!b || !h) return;
7394
7394
  const u = Nv(h, a);
7395
7395
  if (!u) return;
7396
- const f = m ?? e;
7396
+ const f = v ?? e;
7397
7397
  if (!f) return;
7398
7398
  const y = Pv(f);
7399
7399
  if (!y) return;
7400
- const v = Tt.value.findIndex((k) => k.id === b);
7401
- v !== -1 && (To(Tt.value[v]), Tt.value.splice(v, 1));
7400
+ const m = Tt.value.findIndex((k) => k.id === b);
7401
+ m !== -1 && (To(Tt.value[m]), Tt.value.splice(m, 1));
7402
7402
  let g = null;
7403
7403
  const _ = s.beforeId ?? Rv(y);
7404
7404
  try {
@@ -7440,19 +7440,19 @@ function or(e) {
7440
7440
  function n(s, a) {
7441
7441
  const p = to(s);
7442
7442
  if (!p) return;
7443
- const m = Tt.value.findIndex(
7443
+ const v = Tt.value.findIndex(
7444
7444
  (d) => d.id === p && (!a || d.owner === a)
7445
7445
  );
7446
- if (m === -1) return;
7447
- const [b] = Tt.value.splice(m, 1);
7446
+ if (v === -1) return;
7447
+ const [b] = Tt.value.splice(v, 1);
7448
7448
  To(b);
7449
7449
  }
7450
7450
  function r(s, a, p) {
7451
7451
  var d;
7452
- const m = to(s);
7453
- if (!m) return;
7452
+ const v = to(s);
7453
+ if (!v) return;
7454
7454
  const b = Tt.value.find(
7455
- (h) => h.id === m && (!p || h.owner === p)
7455
+ (h) => h.id === v && (!p || h.owner === p)
7456
7456
  );
7457
7457
  (d = b == null ? void 0 : b.handle) != null && d.setOpacity && b.handle.setOpacity(a);
7458
7458
  }
@@ -7466,7 +7466,7 @@ function or(e) {
7466
7466
  function i(s, a) {
7467
7467
  const p = to(s);
7468
7468
  return p ? Tt.value.some(
7469
- (m) => m.id === p && (!a || m.owner === a)
7469
+ (v) => v.id === p && (!a || v.owner === a)
7470
7470
  ) : !1;
7471
7471
  }
7472
7472
  return {
@@ -7540,10 +7540,10 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
7540
7540
  }), Ve(() => {
7541
7541
  typeof window > "u" || window.removeEventListener(Bo, p);
7542
7542
  });
7543
- const m = P(() => r.active.value), b = P(() => m.value || n.isOpen.value || s.value), d = P(() => m.value ? r.loading.value : n.cardLoading.value), h = P(() => m.value ? r.error.value : n.cardError.value), u = P(() => {
7543
+ const v = P(() => r.active.value), b = P(() => v.value || n.isOpen.value || s.value), d = P(() => v.value ? r.loading.value : n.cardLoading.value), h = P(() => v.value ? r.error.value : n.cardError.value), u = P(() => {
7544
7544
  var M, j;
7545
- return m.value ? ((M = r.current.value) == null ? void 0 : M.html) || null : s.value ? l.value : ((j = n.card.value) == null ? void 0 : j.html) || null;
7546
- }), f = it(), y = nr(), v = P(() => {
7545
+ return v.value ? ((M = r.current.value) == null ? void 0 : M.html) || null : s.value ? l.value : ((j = n.card.value) == null ? void 0 : j.html) || null;
7546
+ }), f = it(), y = nr(), m = P(() => {
7547
7547
  var M, j;
7548
7548
  return ((j = (M = y.value) == null ? void 0 : M.map) == null ? void 0 : j.cardHideEmpty) ?? null;
7549
7549
  }), g = Lt(), {
@@ -7708,12 +7708,12 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
7708
7708
  };
7709
7709
  }
7710
7710
  const Fe = P(() => {
7711
- if (m.value && r.current.value)
7711
+ if (v.value && r.current.value)
7712
7712
  return r.current.value.data ?? {};
7713
7713
  const M = n.card.value;
7714
7714
  return (M == null ? void 0 : M.rows) ?? {};
7715
7715
  }), Ne = P(() => {
7716
- if (m.value && r.current.value)
7716
+ if (v.value && r.current.value)
7717
7717
  return r.current.value.fields ?? [];
7718
7718
  const M = n.card.value;
7719
7719
  if (!M) return [];
@@ -7802,11 +7802,11 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
7802
7802
  le(
7803
7803
  rt,
7804
7804
  (M) => {
7805
- et(typeof M == "string" ? M : v.value);
7805
+ et(typeof M == "string" ? M : m.value);
7806
7806
  },
7807
7807
  { immediate: !0 }
7808
7808
  ), le(
7809
- v,
7809
+ m,
7810
7810
  (M) => {
7811
7811
  _t.value || et(M);
7812
7812
  },
@@ -7967,7 +7967,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
7967
7967
  prev: jn,
7968
7968
  count: W,
7969
7969
  index: de
7970
- } = r, Ee = P(() => n.count.value), qe = P(() => n.index.value), $e = P(() => Ee.value > 1), Ge = P(() => m.value ? W.value : Ee.value), He = P(() => m.value ? de.value : qe.value), _e = n.next, Ye = n.prev;
7970
+ } = r, Ee = P(() => n.count.value), qe = P(() => n.index.value), $e = P(() => Ee.value > 1), Ge = P(() => v.value ? W.value : Ee.value), He = P(() => v.value ? de.value : qe.value), _e = n.next, Ye = n.prev;
7971
7971
  function Ke() {
7972
7972
  const M = yn();
7973
7973
  M && (L(M), C({ action: "clear", owner: M }), D.value = null);
@@ -8153,7 +8153,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8153
8153
  const j = oe.value;
8154
8154
  if (a())
8155
8155
  return;
8156
- if (!M || m.value) {
8156
+ if (!M || v.value) {
8157
8157
  ot();
8158
8158
  return;
8159
8159
  }
@@ -8179,9 +8179,9 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8179
8179
  ), le(
8180
8180
  () => n.index.value,
8181
8181
  () => {
8182
- m.value || zn(n.cardFeature.value);
8182
+ v.value || zn(n.cardFeature.value);
8183
8183
  }
8184
- ), le(m, (M) => {
8184
+ ), le(v, (M) => {
8185
8185
  if (M) {
8186
8186
  s.value || ot();
8187
8187
  return;
@@ -8196,7 +8196,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8196
8196
  a();
8197
8197
  return;
8198
8198
  }
8199
- !m.value && n.cardFeature.value && zn(n.cardFeature.value);
8199
+ !v.value && n.cardFeature.value && zn(n.cardFeature.value);
8200
8200
  }), le(Pe, (M) => {
8201
8201
  a() || (M ? zn(n.cardFeature.value) : ot());
8202
8202
  }), le(
@@ -8214,7 +8214,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8214
8214
  o("div", Vv, [
8215
8215
  o("div", Bv, [
8216
8216
  o("p", Uv, [
8217
- m.value ? (c(), x(ie, { key: 1 }, [
8217
+ v.value ? (c(), x(ie, { key: 1 }, [
8218
8218
  Ce(" Об’єкт " + V(He.value + 1) + " / " + V(Ge.value), 1)
8219
8219
  ], 64)) : (c(), x(ie, { key: 0 }, [
8220
8220
  $e.value ? (c(), x(ie, { key: 0 }, [
@@ -8225,7 +8225,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8225
8225
  ], 64))
8226
8226
  ])
8227
8227
  ]),
8228
- m.value && se(W) > 1 ? (c(), x("div", qv, [
8228
+ v.value && se(W) > 1 ? (c(), x("div", qv, [
8229
8229
  o("button", {
8230
8230
  onClick: j[0] || (j[0] = //@ts-ignore
8231
8231
  (...Z) => se(jn) && se(jn)(...Z)),
@@ -8242,7 +8242,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8242
8242
  }, [
8243
8243
  ne(se(vr), { class: "h-4 w-4" })
8244
8244
  ], 8, Wv)
8245
- ])) : !m.value && $e.value ? (c(), x("div", Yv, [
8245
+ ])) : !v.value && $e.value ? (c(), x("div", Yv, [
8246
8246
  o("button", {
8247
8247
  onClick: j[2] || (j[2] = //@ts-ignore
8248
8248
  (...Z) => se(Ye) && se(Ye)(...Z)),
@@ -8416,18 +8416,18 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8416
8416
  opacity: ((((E = (_ = (g = f == null ? void 0 : f.features) == null ? void 0 : g[0]) == null ? void 0 : _.geometry) == null ? void 0 : E.type) || "").includes("Polygon"), 0.95)
8417
8417
  };
8418
8418
  }
8419
- async function m(f) {
8419
+ async function v(f) {
8420
8420
  const y = await fetch(f);
8421
8421
  if (!y.ok) throw new Error(String(y.status));
8422
8422
  return y.json();
8423
8423
  }
8424
8424
  async function b(f, y) {
8425
8425
  if (f) {
8426
- const v = /^https?:\/\//.test(f) ? f : new URL(f, location.origin).toString(), g = await m(v).catch(() => null), _ = a(g);
8426
+ const m = /^https?:\/\//.test(f) ? f : new URL(f, location.origin).toString(), g = await v(m).catch(() => null), _ = a(g);
8427
8427
  if (_) return _;
8428
8428
  }
8429
8429
  if (y) {
8430
- const v = await m(`https://data.gki.com.ua/api-user/atu/${encodeURIComponent(y)}`).catch(() => null), g = a(v);
8430
+ const m = await v(`https://data.gki.com.ua/api-user/atu/${encodeURIComponent(y)}`).catch(() => null), g = a(m);
8431
8431
  if (g) return g;
8432
8432
  }
8433
8433
  return null;
@@ -8445,14 +8445,14 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8445
8445
  s();
8446
8446
  return;
8447
8447
  }
8448
- const v = await b(f, y);
8449
- if (!v) {
8448
+ const m = await b(f, y);
8449
+ if (!m) {
8450
8450
  s();
8451
8451
  return;
8452
8452
  }
8453
8453
  s(), i = Xe(`${t.layerId}-boundary`, {
8454
- source: { type: "geojson", data: v },
8455
- style: p(v)
8454
+ source: { type: "geojson", data: m },
8455
+ style: p(m)
8456
8456
  }, r);
8457
8457
  }
8458
8458
  return le(
@@ -8481,7 +8481,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8481
8481
  targetAriaLabel: {}
8482
8482
  },
8483
8483
  setup(e) {
8484
- const t = e, { map: n, ready: r } = it(), l = T(null), i = T(null), s = T(null), a = T(null), p = nr(), m = P(() => {
8484
+ const t = e, { map: n, ready: r } = it(), l = T(null), i = T(null), s = T(null), a = T(null), p = nr(), v = P(() => {
8485
8485
  var _;
8486
8486
  return ((_ = p.value) == null ? void 0 : _.map) ?? null;
8487
8487
  });
@@ -8537,7 +8537,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8537
8537
  ), le(
8538
8538
  () => {
8539
8539
  var _;
8540
- return (_ = m.value) == null ? void 0 : _.center;
8540
+ return (_ = v.value) == null ? void 0 : _.center;
8541
8541
  },
8542
8542
  (_) => {
8543
8543
  d(_);
@@ -8546,7 +8546,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8546
8546
  ), le(
8547
8547
  () => {
8548
8548
  var _;
8549
- return (_ = m.value) == null ? void 0 : _.zoom;
8549
+ return (_ = v.value) == null ? void 0 : _.zoom;
8550
8550
  },
8551
8551
  (_) => {
8552
8552
  h(_);
@@ -8568,7 +8568,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8568
8568
  i.value == null && (i.value = _.getZoom());
8569
8569
  }
8570
8570
  });
8571
- function v() {
8571
+ function m() {
8572
8572
  const _ = n.value;
8573
8573
  if (!_) return;
8574
8574
  const E = l.value || (() => {
@@ -8590,7 +8590,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8590
8590
  type: "button",
8591
8591
  class: "group relative flex items-center justify-center w-9 h-9 rounded-xl shadow-lg transition-transform transition-shadow duration-200 bg-white text-gray-700 hover:bg-gray-50 hover:scale-105 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-400/60 focus-visible:ring-offset-2",
8592
8592
  "aria-label": "Повернути центр",
8593
- onClick: nt(v, ["stop"])
8593
+ onClick: nt(m, ["stop"])
8594
8594
  }, [
8595
8595
  E[0] || (E[0] = o("span", {
8596
8596
  class: "absolute right-full mr-3 px-1.5 py-0.5 bg-gray-700 text-white text-[0.75rem] font-medium rounded-md opacity-0 group-hover:opacity-100 group-focus-visible:opacity-100 pointer-events-none transition-opacity duration-200 whitespace-nowrap",
@@ -8621,7 +8621,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8621
8621
  },
8622
8622
  setup(e) {
8623
8623
  var H, ce;
8624
- const n = As(e, "hideServiceKey"), r = Lt(), l = Pt(), { id: i } = r.params, s = T(null), a = T(null), p = T({}), m = T(null), b = ((ce = (H = rn()) == null ? void 0 : H.appContext.config.globalProperties) == null ? void 0 : ce.$settings) || null;
8624
+ const n = As(e, "hideServiceKey"), r = Lt(), l = Pt(), { id: i } = r.params, s = T(null), a = T(null), p = T({}), v = T(null), b = ((ce = (H = rn()) == null ? void 0 : H.appContext.config.globalProperties) == null ? void 0 : ce.$settings) || null;
8625
8625
  function d(w) {
8626
8626
  typeof document > "u" || (document.title = w ? `${w} — Сервіс` : U0);
8627
8627
  }
@@ -8637,7 +8637,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8637
8637
  const z = typeof w == "number" ? w : Number(w.trim());
8638
8638
  return Number.isFinite(z) ? z : null;
8639
8639
  }
8640
- function v(w, z) {
8640
+ function m(w, z) {
8641
8641
  return w.toFixed(z);
8642
8642
  }
8643
8643
  function g(w, z, ee) {
@@ -8662,9 +8662,9 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8662
8662
  if (!z || ee == null) return;
8663
8663
  const ye = {
8664
8664
  ...r.query,
8665
- z: v(ee, Ur),
8666
- x: v(z.lng, no),
8667
- y: v(z.lat, no)
8665
+ z: m(ee, Ur),
8666
+ x: m(z.lng, no),
8667
+ y: m(z.lat, no)
8668
8668
  };
8669
8669
  r.query.z === ye.z && r.query.x === ye.x && r.query.y === ye.y || l.replace({ query: ye });
8670
8670
  }
@@ -8672,12 +8672,12 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8672
8672
  let ae = null;
8673
8673
  const Q = P(() => {
8674
8674
  var w, z;
8675
- return ((w = m.value) == null ? void 0 : w.id) ?? ((z = m.value) == null ? void 0 : z.service_id) ?? null;
8675
+ return ((w = v.value) == null ? void 0 : w.id) ?? ((z = v.value) == null ? void 0 : z.service_id) ?? null;
8676
8676
  }), ue = P(() => {
8677
8677
  const w = (b == null ? void 0 : b.map) || null, z = (w == null ? void 0 : w.boundary) ?? null, ee = (w == null ? void 0 : w.katottg) ?? null;
8678
8678
  return !z && !ee ? null : { boundary: z, katottg: ee };
8679
8679
  }), Y = P(() => {
8680
- const w = m.value;
8680
+ const w = v.value;
8681
8681
  if (!w) return "";
8682
8682
  const z = [];
8683
8683
  !n.value && w.service_key && z.push(`Сервіс: ${w.service_key}`), w.description && z.push(w.description);
@@ -8722,7 +8722,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8722
8722
  ), le(
8723
8723
  () => {
8724
8724
  var w;
8725
- return (w = m.value) == null ? void 0 : w.name;
8725
+ return (w = v.value) == null ? void 0 : w.name;
8726
8726
  },
8727
8727
  (w) => d(w),
8728
8728
  { immediate: !0 }
@@ -8754,10 +8754,10 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8754
8754
  }
8755
8755
  function U() {
8756
8756
  var z;
8757
- if (!m.value) return;
8757
+ if (!v.value) return;
8758
8758
  const w = I(L.value);
8759
- B(w, ((z = m.value) == null ? void 0 : z.style) ?? null) || (m.value = {
8760
- ...m.value,
8759
+ B(w, ((z = v.value) == null ? void 0 : z.style) ?? null) || (v.value = {
8760
+ ...v.value,
8761
8761
  style: w
8762
8762
  });
8763
8763
  }
@@ -8773,7 +8773,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8773
8773
  const z = await w.json();
8774
8774
  p.value = z || {}, a.value = i;
8775
8775
  const ee = I(z.style);
8776
- m.value = z ? { ...z, style: S(ee) } : null, L.value = ee, k.value = typeof (z == null ? void 0 : z.style) == "string" ? z.style : ee ? jr.dump(ee) : "", $.value = (z == null ? void 0 : z.popup) || [], N.value = z.card_mode === "html" ? "html" : "list", A.value = z.card, D.value = z.html, C.value = (z == null ? void 0 : z.legend) || [], K.value = (z == null ? void 0 : z.filters) || [];
8776
+ v.value = z ? { ...z, style: S(ee) } : null, L.value = ee, k.value = typeof (z == null ? void 0 : z.style) == "string" ? z.style : ee ? jr.dump(ee) : "", $.value = (z == null ? void 0 : z.popup) || [], N.value = z.card_mode === "html" ? "html" : "list", A.value = z.card, D.value = z.html, C.value = (z == null ? void 0 : z.legend) || [], K.value = (z == null ? void 0 : z.filters) || [];
8777
8777
  } catch (w) {
8778
8778
  console.error("Failed to fetch map info", w);
8779
8779
  }
@@ -8781,7 +8781,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8781
8781
  le(
8782
8782
  () => {
8783
8783
  var w;
8784
- return (w = m.value) == null ? void 0 : w.style;
8784
+ return (w = v.value) == null ? void 0 : w.style;
8785
8785
  },
8786
8786
  (w) => {
8787
8787
  L.value = I(w);
@@ -8801,11 +8801,11 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8801
8801
  }
8802
8802
  function xe() {
8803
8803
  const w = S(L.value);
8804
- m.value = m.value ? { ...m.value, style: w } : m.value;
8804
+ v.value = v.value ? { ...v.value, style: w } : v.value;
8805
8805
  }
8806
8806
  async function Fe(w, z) {
8807
- if (m.value = {
8808
- ...m.value || {},
8807
+ if (v.value = {
8808
+ ...v.value || {},
8809
8809
  ...w
8810
8810
  }, typeof w.html < "u" && (p.value = {
8811
8811
  ...p.value || {},
@@ -8862,14 +8862,14 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8862
8862
  Ce(" Назад ", -1)
8863
8863
  ])]),
8864
8864
  o("div", null, [
8865
- o("div", L0, V((ee = m.value) == null ? void 0 : ee.name), 1),
8865
+ o("div", L0, V((ee = v.value) == null ? void 0 : ee.name), 1),
8866
8866
  Y.value ? (c(), x("div", M0, V(Y.value), 1)) : X("", !0)
8867
8867
  ])
8868
8868
  ]),
8869
8869
  o("div", {
8870
8870
  class: "max-w-xl text-xs text-gray-600 truncate",
8871
- title: (ye = m.value) == null ? void 0 : ye.description
8872
- }, V((Me = m.value) == null ? void 0 : Me.description), 9, E0)
8871
+ title: (ye = v.value) == null ? void 0 : ye.description
8872
+ }, V((Me = v.value) == null ? void 0 : Me.description), 9, E0)
8873
8873
  ])
8874
8874
  ]),
8875
8875
  o("div", T0, [
@@ -8881,18 +8881,18 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8881
8881
  default: Oe(() => {
8882
8882
  var we, We, Ze, rt, et, at, _t;
8883
8883
  return [
8884
- (we = m.value) != null && we.service_id ? (c(), fe(pv, {
8884
+ (we = v.value) != null && we.service_id ? (c(), fe(pv, {
8885
8885
  key: 0,
8886
- id: (We = m.value) == null ? void 0 : We.service_id,
8887
- layer: m.value,
8888
- "style-spec": ((Ze = m.value) == null ? void 0 : Ze.style) || null,
8886
+ id: (We = v.value) == null ? void 0 : We.service_id,
8887
+ layer: v.value,
8888
+ "style-spec": ((Ze = v.value) == null ? void 0 : Ze.style) || null,
8889
8889
  autoCenter: !1
8890
8890
  }, null, 8, ["id", "layer", "style-spec"])) : X("", !0),
8891
8891
  Q.value ? (c(), fe(ls, {
8892
8892
  key: 1,
8893
8893
  "layer-id": Q.value,
8894
- boundary: ((rt = m.value) == null ? void 0 : rt.boundary) || ((et = ue.value) == null ? void 0 : et.boundary) || null,
8895
- katottg: ((at = m.value) == null ? void 0 : at.katottg) || ((_t = ue.value) == null ? void 0 : _t.katottg) || null
8894
+ boundary: ((rt = v.value) == null ? void 0 : rt.boundary) || ((et = ue.value) == null ? void 0 : et.boundary) || null,
8895
+ katottg: ((at = v.value) == null ? void 0 : at.katottg) || ((_t = ue.value) == null ? void 0 : _t.katottg) || null
8896
8896
  }, null, 8, ["layer-id", "boundary", "katottg"])) : X("", !0),
8897
8897
  o("div", I0, [
8898
8898
  Q.value ? (c(), fe(Do, {
@@ -8995,7 +8995,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
8995
8995
  onSave: z[10] || (z[10] = (we) => ge("filters", we))
8996
8996
  }, null, 8, ["token", "fields", "columns"])) : re.value === "metadata" ? (c(), fe(er, {
8997
8997
  key: 5,
8998
- data: m.value,
8998
+ data: v.value,
8999
8999
  "entity-id": String(se(i)),
9000
9000
  "entity-type": "service",
9001
9001
  onSaved: pe
@@ -9205,15 +9205,15 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9205
9205
  },
9206
9206
  { immediate: !0 }
9207
9207
  );
9208
- let p = null, m = !1;
9208
+ let p = null, v = !1;
9209
9209
  le(
9210
9210
  () => t.extent,
9211
9211
  (d) => {
9212
9212
  if (!d || d.length !== 4) return;
9213
9213
  const h = d.join(",");
9214
9214
  if (h !== p) {
9215
- if (p = h, !m) {
9216
- m = !0;
9215
+ if (p = h, !v) {
9216
+ v = !0;
9217
9217
  return;
9218
9218
  }
9219
9219
  s == null || s([[d[0], d[1]], [d[2], d[3]]], {
@@ -9272,8 +9272,8 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9272
9272
  const t = e, n = t.layerId || "extent-outline-layer", r = `${n}-source`, l = P(() => {
9273
9273
  const a = t.extent;
9274
9274
  if (!a || a.length !== 4) return null;
9275
- const [p, m, b, d] = a;
9276
- return [p, m, b, d].some(
9275
+ const [p, v, b, d] = a;
9276
+ return [p, v, b, d].some(
9277
9277
  (h) => typeof h != "number" || Number.isNaN(h)
9278
9278
  ) ? null : {
9279
9279
  type: "FeatureCollection",
@@ -9284,11 +9284,11 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9284
9284
  geometry: {
9285
9285
  type: "Polygon",
9286
9286
  coordinates: [[
9287
- [p, m],
9288
- [b, m],
9287
+ [p, v],
9288
+ [b, v],
9289
9289
  [b, d],
9290
9290
  [p, d],
9291
- [p, m]
9291
+ [p, v]
9292
9292
  ]]
9293
9293
  }
9294
9294
  }
@@ -9313,13 +9313,13 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9313
9313
  return le(
9314
9314
  () => l.value,
9315
9315
  (a) => {
9316
- var m;
9316
+ var v;
9317
9317
  if (!a) {
9318
9318
  s.setVisible(!1), s.setData({ type: "FeatureCollection", features: [] });
9319
9319
  return;
9320
9320
  }
9321
9321
  s.setVisible(!0), s.setData(a);
9322
- const p = (m = i.map) == null ? void 0 : m.value;
9322
+ const p = (v = i.map) == null ? void 0 : v.value;
9323
9323
  p != null && p.moveLayer && p.getLayer(n) && p.moveLayer(n);
9324
9324
  },
9325
9325
  { immediate: !0 }
@@ -9345,7 +9345,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9345
9345
  },
9346
9346
  emits: ["saved"],
9347
9347
  setup(e, { emit: t }) {
9348
- const n = e, r = t, l = vt(() => import("@opengis/core").then((U) => U.VsModal)), i = vt(() => import("@opengis/form")), s = T(!1), a = T(null), p = T(null), m = T(null), b = T(null), d = P(() => b.value ? {
9348
+ const n = e, r = t, l = vt(() => import("@opengis/core").then((U) => U.VsModal)), i = vt(() => import("@opengis/form")), s = T(!1), a = T(null), p = T(null), v = T(null), b = T(null), d = P(() => b.value ? {
9349
9349
  position: "fixed",
9350
9350
  top: `${b.value.top}px`,
9351
9351
  left: `${b.value.left}px`
@@ -9353,7 +9353,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9353
9353
  le(s, (U) => {
9354
9354
  U && st(O);
9355
9355
  });
9356
- const h = T(!1), u = T(null), f = T({}), y = T(null), v = T(""), g = T(!1), _ = T(!1), E = T(null), L = P(() => n.entityId || ""), k = (U, te) => U ? typeof U == "function" ? U(te) : typeof U != "string" ? "" : U.includes(":id") ? te ? U.replace(":id", encodeURIComponent(te)) : "" : U : "", C = P(() => {
9356
+ const h = T(!1), u = T(null), f = T({}), y = T(null), m = T(""), g = T(!1), _ = T(!1), E = T(null), L = P(() => n.entityId || ""), k = (U, te) => U ? typeof U == "function" ? U(te) : typeof U != "string" ? "" : U.includes(":id") ? te ? U.replace(":id", encodeURIComponent(te)) : "" : U : "", C = P(() => {
9357
9357
  var U;
9358
9358
  return (U = n.table) == null ? void 0 : U.trim();
9359
9359
  }), $ = P(() => {
@@ -9380,7 +9380,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9380
9380
  function O() {
9381
9381
  var w;
9382
9382
  if (typeof window > "u" || !p.value) return;
9383
- const U = p.value.getBoundingClientRect(), te = window.innerWidth, pe = window.innerHeight, ge = U.left, xe = Math.max(te - Rg - Rn, Rn), Fe = Math.min(Math.max(ge, Rn), xe), Ne = ((w = m.value) == null ? void 0 : w.offsetHeight) ?? 0, H = U.bottom + qr;
9383
+ const U = p.value.getBoundingClientRect(), te = window.innerWidth, pe = window.innerHeight, ge = U.left, xe = Math.max(te - Rg - Rn, Rn), Fe = Math.min(Math.max(ge, Rn), xe), Ne = ((w = v.value) == null ? void 0 : w.offsetHeight) ?? 0, H = U.bottom + qr;
9384
9384
  let ce = H;
9385
9385
  if (Ne && H + Ne > pe - Rn) {
9386
9386
  const z = U.top - qr - Ne;
@@ -9390,9 +9390,9 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9390
9390
  }
9391
9391
  function re(U) {
9392
9392
  var pe, ge;
9393
- if (!a.value && !m.value) return;
9393
+ if (!a.value && !v.value) return;
9394
9394
  const te = U.target;
9395
- te && ((pe = a.value) != null && pe.contains(te) || (ge = m.value) != null && ge.contains(te)) || (s.value = !1);
9395
+ te && ((pe = a.value) != null && pe.contains(te) || (ge = v.value) != null && ge.contains(te)) || (s.value = !1);
9396
9396
  }
9397
9397
  function F() {
9398
9398
  s.value && O();
@@ -9405,7 +9405,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9405
9405
  async function S() {
9406
9406
  var U, te, pe;
9407
9407
  if (!(!L.value || !N.value)) {
9408
- R(), h.value = !0, g.value = !0, v.value = "", u.value = null, f.value = {}, E.value = null;
9408
+ R(), h.value = !0, g.value = !0, m.value = "", u.value = null, f.value = {}, E.value = null;
9409
9409
  try {
9410
9410
  const ge = await fetch(N.value);
9411
9411
  if (!ge.ok)
@@ -9415,14 +9415,14 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9415
9415
  const Fe = typeof (xe == null ? void 0 : xe.token) == "string" && xe.token || typeof ((U = xe == null ? void 0 : xe.tokens) == null ? void 0 : U.edit) == "string" && xe.tokens.edit || typeof ((te = xe == null ? void 0 : xe.tokens) == null ? void 0 : te.edit_token) == "string" && xe.tokens.edit_token || typeof ((pe = xe == null ? void 0 : xe.data) == null ? void 0 : pe.token) == "string" && xe.data.token || null;
9416
9416
  E.value = Fe, y.value = null;
9417
9417
  } catch (ge) {
9418
- console.error("Failed to load edit form", ge), v.value = "Не вдалося завантажити форму редагування";
9418
+ console.error("Failed to load edit form", ge), m.value = "Не вдалося завантажити форму редагування";
9419
9419
  } finally {
9420
9420
  g.value = !1;
9421
9421
  }
9422
9422
  }
9423
9423
  }
9424
9424
  function I() {
9425
- h.value = !1, u.value = null, v.value = "", E.value = null;
9425
+ h.value = !1, u.value = null, m.value = "", E.value = null;
9426
9426
  }
9427
9427
  async function B() {
9428
9428
  var U, te;
@@ -9495,7 +9495,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9495
9495
  s.value ? (c(), x("div", {
9496
9496
  key: 0,
9497
9497
  ref_key: "menuContainer",
9498
- ref: m,
9498
+ ref: v,
9499
9499
  style: ft(d.value),
9500
9500
  class: "absolute top-0 left-0 mt-2 w-48 rounded-xl border border-gray-200 bg-white shadow-lg text-sm z-[1000]"
9501
9501
  }, [
@@ -9563,7 +9563,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9563
9563
  ])
9564
9564
  ]),
9565
9565
  default: Oe(() => [
9566
- g.value ? (c(), x("div", Ig, " Завантаження форми редагування… ")) : v.value ? (c(), x("div", jg, V(v.value), 1)) : (c(), fe(se(i), {
9566
+ g.value ? (c(), x("div", Ig, " Завантаження форми редагування… ")) : m.value ? (c(), x("div", jg, V(m.value), 1)) : (c(), fe(se(i), {
9567
9567
  key: 2,
9568
9568
  values: f.value,
9569
9569
  "onUpdate:values": te[0] || (te[0] = (pe) => f.value = pe),
@@ -9597,7 +9597,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9597
9597
  var z;
9598
9598
  const w = (z = r.params) == null ? void 0 : z.id;
9599
9599
  return typeof w == "string" ? w : void 0;
9600
- }), s = T(null), a = T(!1), p = T(!1), m = T(null), b = T(!0);
9600
+ }), s = T(null), a = T(!1), p = T(!1), v = T(null), b = T(!0);
9601
9601
  let d = null;
9602
9602
  const h = T(!1);
9603
9603
  function u(w) {
@@ -9613,13 +9613,13 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9613
9613
  const ye = 0.5 * 10 ** -ee;
9614
9614
  return Math.abs(w - z) > ye;
9615
9615
  }
9616
- function v() {
9616
+ function m() {
9617
9617
  var w;
9618
9618
  return (w = l.value) == null ? void 0 : w.ctx;
9619
9619
  }
9620
9620
  function g() {
9621
9621
  var Ze, rt, et, at;
9622
- const w = (rt = (Ze = v()) == null ? void 0 : Ze.map) == null ? void 0 : rt.value;
9622
+ const w = (rt = (Ze = m()) == null ? void 0 : Ze.map) == null ? void 0 : rt.value;
9623
9623
  if (!w) return;
9624
9624
  const z = u(r.query.z), ee = u(r.query.x), ye = u(r.query.y);
9625
9625
  if (z == null || ee == null || ye == null) return;
@@ -9629,7 +9629,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9629
9629
  function _() {
9630
9630
  var Me, we, We, Ze;
9631
9631
  if (h.value) return;
9632
- const w = (we = (Me = v()) == null ? void 0 : Me.map) == null ? void 0 : we.value;
9632
+ const w = (we = (Me = m()) == null ? void 0 : Me.map) == null ? void 0 : we.value;
9633
9633
  if (!w) return;
9634
9634
  const z = (We = w.getCenter) == null ? void 0 : We.call(w), ee = (Ze = w.getZoom) == null ? void 0 : Ze.call(w);
9635
9635
  if (!z || ee == null) return;
@@ -9704,7 +9704,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9704
9704
  );
9705
9705
  async function re() {
9706
9706
  var ye;
9707
- const w = v();
9707
+ const w = m();
9708
9708
  if (!(w != null && w.ready)) return;
9709
9709
  await w.ready(), g();
9710
9710
  const z = (ye = w.map) == null ? void 0 : ye.value;
@@ -9733,10 +9733,10 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9733
9733
  async function S() {
9734
9734
  const w = i.value;
9735
9735
  if (!w) {
9736
- s.value = null, m.value = null;
9736
+ s.value = null, v.value = null;
9737
9737
  return;
9738
9738
  }
9739
- a.value = !0, m.value = null;
9739
+ a.value = !0, v.value = null;
9740
9740
  try {
9741
9741
  const z = await fetch(`/api/gis-raster/${encodeURIComponent(w)}`);
9742
9742
  if (!z.ok)
@@ -9744,7 +9744,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9744
9744
  const ee = await z.json();
9745
9745
  ee.xml && (p.value = !0), s.value = ee, ee.xml || (je({ title: "XML not found", type: "info", message: "йде створення xml ... зачекайте" }), await I(`/api/gis-xml/${encodeURIComponent(w)}`), je({ title: "XML created", type: "info", message: "карта створена" }), fetch(`/api/gis-raster/${encodeURIComponent(w)}?nocache=1`), p.value = !0);
9746
9746
  } catch (z) {
9747
- console.error("Failed to load raster info", z), s.value = null, m.value = z instanceof Error ? z.message : String(z);
9747
+ console.error("Failed to load raster info", z), s.value = null, v.value = z instanceof Error ? z.message : String(z);
9748
9748
  } finally {
9749
9749
  a.value = !1;
9750
9750
  }
@@ -9975,7 +9975,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
9975
9975
  ])
9976
9976
  ]),
9977
9977
  o("div", ly, [
9978
- a.value ? (c(), x("div", sy, " Завантаження метаданих растру… ")) : m.value ? (c(), x("div", iy, " Не вдалося отримати дані: " + V(m.value), 1)) : X("", !0),
9978
+ a.value ? (c(), x("div", sy, " Завантаження метаданих растру… ")) : v.value ? (c(), x("div", iy, " Не вдалося отримати дані: " + V(v.value), 1)) : X("", !0),
9979
9979
  ue.value === "files" ? (c(), fe(vg, {
9980
9980
  key: 2,
9981
9981
  files: R.value
@@ -10099,7 +10099,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10099
10099
  maxzoom: "",
10100
10100
  proj4text: "",
10101
10101
  active: !0
10102
- }), m = {
10102
+ }), v = {
10103
10103
  table: { type: "text", label: "Таблиця", validators: ["required"] },
10104
10104
  key: { type: "text", label: "Ключ", validators: ["required"] },
10105
10105
  query: { type: "text", label: "Query" },
@@ -10127,8 +10127,8 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10127
10127
  a.value = !1;
10128
10128
  }
10129
10129
  function h() {
10130
- var v, g;
10131
- const f = (v = p.value.table) == null ? void 0 : v.trim(), y = (g = p.value.key) == null ? void 0 : g.trim();
10130
+ var m, g;
10131
+ const f = (m = p.value.table) == null ? void 0 : m.trim(), y = (g = p.value.key) == null ? void 0 : g.trim();
10132
10132
  if (!f || !y) {
10133
10133
  je({
10134
10134
  type: "warning",
@@ -10144,8 +10144,8 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10144
10144
  }
10145
10145
  function u(f, y) {
10146
10146
  var g;
10147
- const v = ((g = y == null ? void 0 : y.target) == null ? void 0 : g.checked) ?? !1;
10148
- f.active = v, i.value = Array.isArray(i.value) ? [...i.value] : [];
10147
+ const m = ((g = y == null ? void 0 : y.target) == null ? void 0 : g.checked) ?? !1;
10148
+ f.active = m, i.value = Array.isArray(i.value) ? [...i.value] : [];
10149
10149
  }
10150
10150
  return (f, y) => (c(), x("div", gy, [
10151
10151
  o("div", yy, [
@@ -10157,42 +10157,42 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10157
10157
  o("button", {
10158
10158
  type: "button",
10159
10159
  class: "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium bg-gradient-to-r from-sky-400 to-blue-400 hover:from-sky-500 hover:to-blue-500 text-white shadow-sm px-4 py-2 h-9 text-xs transition-all duration-300",
10160
- onClick: y[0] || (y[0] = (v) => s("save"))
10160
+ onClick: y[0] || (y[0] = (m) => s("save"))
10161
10161
  }, " Зберегти ")
10162
10162
  ]),
10163
10163
  ne(sn, {
10164
10164
  modelValue: i.value,
10165
- "onUpdate:modelValue": y[1] || (y[1] = (v) => i.value = v),
10165
+ "onUpdate:modelValue": y[1] || (y[1] = (m) => i.value = m),
10166
10166
  "columns-scheme": n,
10167
- "form-scheme": m,
10167
+ "form-scheme": v,
10168
10168
  "add-button": !1,
10169
10169
  "main-col-width": "260px"
10170
10170
  }, {
10171
- datasetCell: Oe(({ row: v }) => [
10171
+ datasetCell: Oe(({ row: m }) => [
10172
10172
  o("div", hy, [
10173
- o("div", xy, V(v.table), 1),
10174
- o("div", by, V(v.key), 1)
10173
+ o("div", xy, V(m.table), 1),
10174
+ o("div", by, V(m.key), 1)
10175
10175
  ])
10176
10176
  ]),
10177
- activeCell: Oe(({ row: v }) => [
10177
+ activeCell: Oe(({ row: m }) => [
10178
10178
  o("label", wy, [
10179
10179
  o("input", {
10180
10180
  type: "checkbox",
10181
10181
  class: "h-4 w-4 text-sky-500 border-gray-300 rounded focus:ring-sky-300",
10182
- checked: v.active,
10183
- onChange: (g) => u(v, g)
10182
+ checked: m.active,
10183
+ onChange: (g) => u(m, g)
10184
10184
  }, null, 40, _y)
10185
10185
  ])
10186
10186
  ]),
10187
- zoomCell: Oe(({ row: v }) => [
10188
- o("div", ky, V(v.zoom), 1)
10187
+ zoomCell: Oe(({ row: m }) => [
10188
+ o("div", ky, V(m.zoom), 1)
10189
10189
  ]),
10190
10190
  _: 1
10191
10191
  }, 8, ["modelValue"]),
10192
10192
  ne(se(r), {
10193
10193
  teleport: "#modal",
10194
10194
  visible: a.value,
10195
- "onUpdate:visible": y[3] || (y[3] = (v) => a.value = v),
10195
+ "onUpdate:visible": y[3] || (y[3] = (m) => a.value = m),
10196
10196
  title: "Нова таблиця CartoCSS"
10197
10197
  }, {
10198
10198
  footer: Oe(() => [
@@ -10212,8 +10212,8 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10212
10212
  default: Oe(() => [
10213
10213
  ne(se(l), {
10214
10214
  values: p.value,
10215
- "onUpdate:values": y[2] || (y[2] = (v) => p.value = v),
10216
- schema: m
10215
+ "onUpdate:values": y[2] || (y[2] = (m) => p.value = m),
10216
+ schema: v
10217
10217
  }, null, 8, ["values"])
10218
10218
  ]),
10219
10219
  _: 1
@@ -10235,13 +10235,13 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10235
10235
  card_table: l.value
10236
10236
  });
10237
10237
  }
10238
- return (p, m) => (c(), x("div", Cy, [
10238
+ return (p, v) => (c(), x("div", Cy, [
10239
10239
  o("div", { class: "flex items-center justify-end gap-3" }, [
10240
10240
  o("button", {
10241
10241
  type: "button",
10242
10242
  class: "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium bg-gradient-to-r from-sky-400 to-blue-400 hover:from-sky-500 hover:to-blue-500 text-white shadow-sm px-4 py-2 h-9 text-xs transition-all duration-300",
10243
10243
  onClick: a
10244
- }, [...m[2] || (m[2] = [
10244
+ }, [...v[2] || (v[2] = [
10245
10245
  o("svg", {
10246
10246
  xmlns: "http://www.w3.org/2000/svg",
10247
10247
  width: "24",
@@ -10264,13 +10264,13 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10264
10264
  o("div", null, [
10265
10265
  ne(se(s), {
10266
10266
  modelValue: l.value,
10267
- "onUpdate:modelValue": m[0] || (m[0] = (b) => l.value = b)
10267
+ "onUpdate:modelValue": v[0] || (v[0] = (b) => l.value = b)
10268
10268
  }, null, 8, ["modelValue"])
10269
10269
  ]),
10270
10270
  o("div", Sy, [
10271
10271
  ne(Gn, {
10272
10272
  modelValue: i.value,
10273
- "onUpdate:modelValue": m[1] || (m[1] = (b) => i.value = b),
10273
+ "onUpdate:modelValue": v[1] || (v[1] = (b) => i.value = b),
10274
10274
  language: "html",
10275
10275
  theme: "vs-light",
10276
10276
  class: "h-full w-full rounded-md"
@@ -10299,7 +10299,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10299
10299
  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}` : "";
10300
10300
  });
10301
10301
  let a = "", p = "";
10302
- function m() {
10302
+ function v() {
10303
10303
  const b = t.active && !!s.value;
10304
10304
  a && (!b || a !== t.layerId) && (l(a, p || void 0), a = "", p = ""), b && (r(
10305
10305
  {
@@ -10314,7 +10314,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10314
10314
  }
10315
10315
  return le(
10316
10316
  () => [t.layerId, s.value, t.active, t.owner],
10317
- m,
10317
+ v,
10318
10318
  { immediate: !0 }
10319
10319
  ), le(
10320
10320
  () => t.opacity,
@@ -10343,7 +10343,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10343
10343
  throw new Error(`API returned ${f.status}`);
10344
10344
  return f.json();
10345
10345
  };
10346
- let p = null, m = null;
10346
+ let p = null, v = null;
10347
10347
  const b = (u) => {
10348
10348
  if (!u) return null;
10349
10349
  if (typeof u == "string")
@@ -10354,14 +10354,14 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10354
10354
  }
10355
10355
  return u;
10356
10356
  }, d = async (u, f) => {
10357
- var v;
10357
+ var m;
10358
10358
  const y = new URLSearchParams({
10359
10359
  layer: n.value ?? "",
10360
10360
  id: String(u)
10361
10361
  });
10362
10362
  try {
10363
10363
  const g = await a(y), _ = typeof g.html == "string" ? g.html : null, E = b(
10364
- ((v = g == null ? void 0 : g.data) == null ? void 0 : v.geom) ?? (g == null ? void 0 : g.geom) ?? null
10364
+ ((m = g == null ? void 0 : g.data) == null ? void 0 : m.geom) ?? (g == null ? void 0 : g.geom) ?? null
10365
10365
  );
10366
10366
  (_ || E) && s({
10367
10367
  html: _,
@@ -10383,13 +10383,13 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10383
10383
  }
10384
10384
  const f = (g = u == null ? void 0 : u.lngLat) == null ? void 0 : g.lng, y = (_ = u == null ? void 0 : u.lngLat) == null ? void 0 : _.lat;
10385
10385
  if (typeof f != "number" || typeof y != "number") return;
10386
- const v = new URLSearchParams({
10386
+ const m = new URLSearchParams({
10387
10387
  layer: n.value,
10388
10388
  lat: y.toFixed(6),
10389
10389
  lng: f.toFixed(6)
10390
10390
  });
10391
10391
  try {
10392
- const k = await a(v), C = b(
10392
+ const k = await a(m), C = b(
10393
10393
  ((E = k == null ? void 0 : k.data) == null ? void 0 : E.geom) ?? (k == null ? void 0 : k.geom) ?? null
10394
10394
  ), $ = ((L = k == null ? void 0 : k.data) == null ? void 0 : L.id) ?? (k == null ? void 0 : k.id);
10395
10395
  if ($ != null) {
@@ -10405,9 +10405,9 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10405
10405
  }
10406
10406
  };
10407
10407
  return i().then(() => {
10408
- m = l.value, m && (m.on("click", h), p = () => m == null ? void 0 : m.off("click", h));
10408
+ v = l.value, v && (v.on("click", h), p = () => v == null ? void 0 : v.off("click", h));
10409
10409
  }), Ve(() => {
10410
- p == null || p(), p = null, m = null;
10410
+ p == null || p(), p = null, v = null;
10411
10411
  }), () => {
10412
10412
  };
10413
10413
  }
@@ -10430,7 +10430,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10430
10430
  { key: "card", label: "Картка", icon: ts }
10431
10431
  ], i = l.map((H) => H.key), s = T(
10432
10432
  i.includes(n.query.tab) ? n.query.tab : "css"
10433
- ), a = T(!0), p = T(null), m = P(() => {
10433
+ ), a = T(!0), p = T(null), v = P(() => {
10434
10434
  var H;
10435
10435
  return (H = p.value) != null && H.source_path ? l.filter((ce) => ce.key === "card" || ce.key === "metadata") : l;
10436
10436
  }), b = P(
@@ -10451,7 +10451,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10451
10451
  function y(H, ce) {
10452
10452
  return H.toFixed(ce);
10453
10453
  }
10454
- function v(H, ce, w) {
10454
+ function m(H, ce, w) {
10455
10455
  const z = 0.5 * 10 ** -w;
10456
10456
  return Math.abs(H - ce) > z;
10457
10457
  }
@@ -10466,7 +10466,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10466
10466
  const ce = f(n.query.z), w = f(n.query.x), z = f(n.query.y);
10467
10467
  if (ce == null || w == null || z == null) return;
10468
10468
  const ee = (Ze = H.getCenter) == null ? void 0 : Ze.call(H), ye = (rt = H.getZoom) == null ? void 0 : rt.call(H);
10469
- (!ee || v(ee.lng, w, ro) || v(ee.lat, z, ro) || v(ye ?? 0, ce, Wr)) && (u.value = !0, H.jumpTo({ center: [w, z], zoom: ce }), u.value = !1);
10469
+ (!ee || m(ee.lng, w, ro) || m(ee.lat, z, ro) || m(ye ?? 0, ce, Wr)) && (u.value = !0, H.jumpTo({ center: [w, z], zoom: ce }), u.value = !1);
10470
10470
  }
10471
10471
  function E() {
10472
10472
  var ee, ye, Me, we;
@@ -10563,16 +10563,16 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10563
10563
  }), le(
10564
10564
  () => n.query.tab,
10565
10565
  (H) => {
10566
- H && m.value.some((ce) => ce.key === H) && s.value !== H && (s.value = H);
10566
+ H && v.value.some((ce) => ce.key === H) && s.value !== H && (s.value = H);
10567
10567
  }
10568
10568
  ), le(
10569
- m,
10569
+ v,
10570
10570
  (H) => {
10571
10571
  H.length && !H.some((ce) => ce.key === s.value) && (s.value = H[0].key);
10572
10572
  },
10573
10573
  { immediate: !0 }
10574
10574
  ), le(s, (H) => {
10575
- n.query.tab !== H && m.value.some((ce) => ce.key === H) && t.replace({ query: { ...n.query, tab: H } });
10575
+ n.query.tab !== H && v.value.some((ce) => ce.key === H) && t.replace({ query: { ...n.query, tab: H } });
10576
10576
  }), le(
10577
10577
  () => p.value,
10578
10578
  (H) => {
@@ -10801,9 +10801,9 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10801
10801
  class: Ae(["bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg flex-shrink-0 transition-[width] duration-100 ease-in-out", a.value ? "w-[650px]" : "w-0"])
10802
10802
  }, [
10803
10803
  o("div", Zy, [
10804
- m.value.length > 1 ? (c(), x("div", Gy, [
10804
+ v.value.length > 1 ? (c(), x("div", Gy, [
10805
10805
  o("div", Ky, [
10806
- (c(!0), x(ie, null, he(m.value, (w) => (c(), x("button", {
10806
+ (c(!0), x(ie, null, he(v.value, (w) => (c(), x("button", {
10807
10807
  key: w.key,
10808
10808
  type: "button",
10809
10809
  role: "tab",
@@ -10899,9 +10899,9 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10899
10899
  key: 0,
10900
10900
  schema: e.schema,
10901
10901
  values: i.value,
10902
- "onUpdate:values": p[0] || (p[0] = (m) => i.value = m),
10902
+ "onUpdate:values": p[0] || (p[0] = (v) => i.value = v),
10903
10903
  form: s.value,
10904
- "onUpdate:form": p[1] || (p[1] = (m) => s.value = m)
10904
+ "onUpdate:form": p[1] || (p[1] = (v) => s.value = v)
10905
10905
  }, null, 8, ["schema", "values", "form"]))
10906
10906
  ]));
10907
10907
  }
@@ -10954,30 +10954,30 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10954
10954
  h();
10955
10955
  return;
10956
10956
  }
10957
- const v = y.currentTarget, g = v == null ? void 0 : v.closest(".mapLayer-info");
10957
+ const m = y.currentTarget, g = m == null ? void 0 : m.closest(".mapLayer-info");
10958
10958
  if (!g) {
10959
10959
  h();
10960
10960
  return;
10961
10961
  }
10962
10962
  l.value = g, r.open = !0, st(() => {
10963
- m(), u(), requestAnimationFrame(() => {
10964
- m();
10963
+ v(), u(), requestAnimationFrame(() => {
10964
+ v();
10965
10965
  });
10966
10966
  });
10967
10967
  }
10968
- function m() {
10968
+ function v() {
10969
10969
  if (!r.open || !l.value || !i.value) return;
10970
- const y = l.value.getBoundingClientRect(), v = 12, g = window.scrollX + v, _ = window.scrollX + window.innerWidth - v, E = window.scrollY + v, L = window.scrollY + window.innerHeight - v, k = i.value.offsetWidth || Math.min(300, window.innerWidth - 24), C = i.value.offsetHeight || 0;
10970
+ const y = l.value.getBoundingClientRect(), m = 12, g = window.scrollX + m, _ = window.scrollX + window.innerWidth - m, E = window.scrollY + m, L = window.scrollY + window.innerHeight - m, k = i.value.offsetWidth || Math.min(300, window.innerWidth - 24), C = i.value.offsetHeight || 0;
10971
10971
  let $ = y.left + window.scrollX + (y.width - k) / 2;
10972
10972
  $ < g && ($ = g), $ + k > _ && ($ = Math.max(g, _ - k)), r.left = $;
10973
- let A = y.bottom + window.scrollY + v;
10974
- A + C > L && (A = y.top + window.scrollY - C - v, A < E && (A = Math.max(E, L - C))), A < E && (A = E), A + C > L && (A = Math.max(E, L - C)), r.top = A, r.transform = "none";
10973
+ let A = y.bottom + window.scrollY + m;
10974
+ A + C > L && (A = y.top + window.scrollY - C - m, A < E && (A = Math.max(E, L - C))), A < E && (A = E), A + C > L && (A = Math.max(E, L - C)), r.top = A, r.transform = "none";
10975
10975
  }
10976
10976
  function b(y) {
10977
10977
  var g, _;
10978
10978
  if (!r.open) return;
10979
- const v = y.target;
10980
- (g = l.value) != null && g.contains(v) || (_ = i.value) != null && _.contains(v) || h();
10979
+ const m = y.target;
10980
+ (g = l.value) != null && g.contains(m) || (_ = i.value) != null && _.contains(m) || h();
10981
10981
  }
10982
10982
  function d(y) {
10983
10983
  y.key === "Escape" && h();
@@ -10987,23 +10987,23 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
10987
10987
  }
10988
10988
  function u() {
10989
10989
  f(), i.value && (s = new ResizeObserver(() => {
10990
- m();
10990
+ v();
10991
10991
  }), s.observe(i.value));
10992
10992
  }
10993
10993
  function f() {
10994
10994
  s && (s.disconnect(), s = null);
10995
10995
  }
10996
10996
  return Ue(() => {
10997
- document.addEventListener("click", b, !0), document.addEventListener("keydown", d), window.addEventListener("scroll", m, !0), window.addEventListener("resize", m);
10997
+ document.addEventListener("click", b, !0), document.addEventListener("keydown", d), window.addEventListener("scroll", v, !0), window.addEventListener("resize", v);
10998
10998
  }), Ve(() => {
10999
- document.removeEventListener("click", b, !0), document.removeEventListener("keydown", d), window.removeEventListener("scroll", m, !0), window.removeEventListener("resize", m), f();
10999
+ document.removeEventListener("click", b, !0), document.removeEventListener("keydown", d), window.removeEventListener("scroll", v, !0), window.removeEventListener("resize", v), f();
11000
11000
  }), le(
11001
11001
  () => n.items,
11002
11002
  () => {
11003
- r.open && st(() => m());
11003
+ r.open && st(() => v());
11004
11004
  },
11005
11005
  { deep: !0 }
11006
- ), t({ close: h }), (y, v) => (c(), x("div", {
11006
+ ), t({ close: h }), (y, m) => (c(), x("div", {
11007
11007
  class: "mapLayer-info",
11008
11008
  ref_key: "anchorEl",
11009
11009
  ref: l
@@ -11012,7 +11012,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11012
11012
  class: "mapLayer-info__trigger",
11013
11013
  href: "#",
11014
11014
  onClick: nt(p, ["prevent", "stop"])
11015
- }, [...v[1] || (v[1] = [
11015
+ }, [...m[1] || (m[1] = [
11016
11016
  vn('<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)
11017
11017
  ])]),
11018
11018
  (c(), fe(Ot, { to: "body" }, [
@@ -11022,7 +11022,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11022
11022
  style: ft(a.value),
11023
11023
  ref_key: "popoverEl",
11024
11024
  ref: i,
11025
- onClick: v[0] || (v[0] = nt(() => {
11025
+ onClick: m[0] || (m[0] = nt(() => {
11026
11026
  }, ["stop"]))
11027
11027
  }, [
11028
11028
  o("div", dh, [
@@ -11058,7 +11058,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11058
11058
  setup(e) {
11059
11059
  const t = e, n = T(null), r = T(!1), l = T(null), i = T(null), s = T({ top: 0, left: 0 });
11060
11060
  Pt();
11061
- const a = T(!0), p = T(!1), m = P(() => Array.isArray(t.links) ? t.links.filter((L) => (L == null ? void 0 : L.name) && (L == null ? void 0 : L.slug)) : []), b = P(() => ({
11061
+ const a = T(!0), p = T(!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(() => ({
11062
11062
  top: `${s.value.top}px`,
11063
11063
  left: `${s.value.left}px`
11064
11064
  })), d = P(() => {
@@ -11072,7 +11072,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11072
11072
  function y(L) {
11073
11073
  L.stopPropagation(), r.value = !r.value;
11074
11074
  }
11075
- function v() {
11075
+ function m() {
11076
11076
  const L = l.value;
11077
11077
  if (!L || !i.value) return;
11078
11078
  const k = L.getBoundingClientRect(), C = 12, $ = 8, A = window.scrollX + C, N = window.scrollX + window.innerWidth - C, D = window.scrollY + C, K = window.scrollY + window.innerHeight - C, oe = i.value.offsetWidth || 160, ae = i.value.offsetHeight || 0;
@@ -11093,10 +11093,10 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11093
11093
  }
11094
11094
  le(r, (L) => {
11095
11095
  L ? st(() => {
11096
- v(), requestAnimationFrame(() => {
11097
- v();
11098
- }), window.addEventListener("scroll", v, !0), window.addEventListener("resize", v);
11099
- }) : (window.removeEventListener("scroll", v, !0), window.removeEventListener("resize", v));
11096
+ m(), requestAnimationFrame(() => {
11097
+ m();
11098
+ }), window.addEventListener("scroll", m, !0), window.addEventListener("resize", m);
11099
+ }) : (window.removeEventListener("scroll", m, !0), window.removeEventListener("resize", m));
11100
11100
  });
11101
11101
  function _() {
11102
11102
  a.value = !a.value;
@@ -11107,20 +11107,20 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11107
11107
  return Ue(() => {
11108
11108
  document.addEventListener("click", g, !0), E(), f.value ? p.value && (a.value = !1) : a.value = !1, window.addEventListener("resize", E);
11109
11109
  }), Ve(() => {
11110
- document.removeEventListener("click", g, !0), window.removeEventListener("scroll", v, !0), window.removeEventListener("resize", v), window.removeEventListener("resize", E);
11110
+ document.removeEventListener("click", g, !0), window.removeEventListener("scroll", m, !0), window.removeEventListener("resize", m), window.removeEventListener("resize", E);
11111
11111
  }), (L, k) => (c(), x("div", {
11112
11112
  class: "map-info legend-widget flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative widget",
11113
11113
  ref_key: "container",
11114
11114
  ref: n
11115
11115
  }, [
11116
- e.title || m.value.length || d.value.length ? (c(), x("div", {
11116
+ e.title || v.value.length || d.value.length ? (c(), x("div", {
11117
11117
  key: 0,
11118
11118
  class: "map-info__header",
11119
11119
  style: ft([u.value ? "" : "padding-bottom: 20px"])
11120
11120
  }, [
11121
11121
  e.title ? (c(), x("h2", mh, V(e.title), 1)) : X("", !0),
11122
11122
  o("div", vh, [
11123
- m.value.length ? (c(), x("div", gh, [
11123
+ v.value.length ? (c(), x("div", gh, [
11124
11124
  o("button", {
11125
11125
  ref_key: "menuButton",
11126
11126
  ref: l,
@@ -11166,7 +11166,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11166
11166
  onClick: k[0] || (k[0] = nt(() => {
11167
11167
  }, ["stop"]))
11168
11168
  }, [
11169
- (c(!0), x(ie, null, he(m.value, (C) => (c(), x("a", {
11169
+ (c(!0), x(ie, null, he(v.value, (C) => (c(), x("a", {
11170
11170
  key: C.slug || C.name,
11171
11171
  href: `/maps/${C.slug}`,
11172
11172
  class: "map-info__popover-link"
@@ -11222,14 +11222,14 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11222
11222
  var k;
11223
11223
  const d = (k = i.value) == null ? void 0 : k.querySelector("button");
11224
11224
  if (!d || !l.value) return;
11225
- const h = d.getBoundingClientRect(), u = 260, f = l.value.offsetHeight || 60, y = 8, v = 12, g = window.innerWidth, _ = window.innerHeight;
11225
+ const h = d.getBoundingClientRect(), u = 260, f = l.value.offsetHeight || 60, y = 8, m = 12, g = window.innerWidth, _ = window.innerHeight;
11226
11226
  let E = h.bottom + y + window.scrollY, L = h.left + window.scrollX;
11227
- L + u > g - v && (L = g - u - v + window.scrollX), L < v + window.scrollX && (L = v + window.scrollX), E + f > _ + window.scrollY - v && (E = h.top - f - y + window.scrollY, E < v + window.scrollY && (E = _ - f - v + window.scrollY)), s.top = E, s.left = L;
11227
+ L + u > g - m && (L = g - u - m + window.scrollX), L < m + window.scrollX && (L = m + window.scrollX), E + f > _ + window.scrollY - m && (E = h.top - f - y + window.scrollY, E < m + window.scrollY && (E = _ - f - m + window.scrollY)), s.top = E, s.left = L;
11228
11228
  }
11229
11229
  function p() {
11230
11230
  n.value = !n.value, n.value && st(a);
11231
11231
  }
11232
- function m() {
11232
+ function v() {
11233
11233
  var f;
11234
11234
  const d = Xe(t.layerId), h = (r.value ?? 100) / 100;
11235
11235
  if (d != null && d.setOpacity) {
@@ -11298,7 +11298,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11298
11298
  step: "1",
11299
11299
  "onUpdate:modelValue": h[0] || (h[0] = (u) => r.value = u),
11300
11300
  class: "opacity-popover__range",
11301
- onInput: m
11301
+ onInput: v
11302
11302
  }, null, 544), [
11303
11303
  [gt, r.value]
11304
11304
  ]),
@@ -11322,7 +11322,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11322
11322
  const n = e, r = T({}), l = T(!0), i = T(!1), s = it(), {
11323
11323
  temporaryLayers: a,
11324
11324
  activateTemporaryLayer: p,
11325
- deactivateTemporaryLayer: m,
11325
+ deactivateTemporaryLayer: v,
11326
11326
  clearTemporaryLayers: b
11327
11327
  } = or(s.map), d = P(() => {
11328
11328
  const F = n.layers.map((I) => ({
@@ -11353,7 +11353,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11353
11353
  () => d.value.filter((F) => L(F.id)).length
11354
11354
  ), f = P(
11355
11355
  () => h.value > 0 && u.value === h.value
11356
- ), y = P(() => a.value.length > 0), v = t;
11356
+ ), y = P(() => a.value.length > 0), m = t;
11357
11357
  function g() {
11358
11358
  var F;
11359
11359
  for (let S = 0; S < n.layers.length; S++) {
@@ -11466,7 +11466,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11466
11466
  p(I, F.context || {}, S), r.value[I.id] = !0;
11467
11467
  return;
11468
11468
  }
11469
- F.action === "deactivate" && (m(I.id, S), delete r.value[I.id]);
11469
+ F.action === "deactivate" && (v(I.id, S), delete r.value[I.id]);
11470
11470
  }
11471
11471
  }
11472
11472
  function $(F) {
@@ -11488,7 +11488,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11488
11488
  var B, U, te;
11489
11489
  if (F.isTemporary) {
11490
11490
  if (!S) {
11491
- m(F.id, F.owner || void 0), delete r.value[F.id];
11491
+ v(F.id, F.owner || void 0), delete r.value[F.id];
11492
11492
  return;
11493
11493
  }
11494
11494
  r.value[F.id] = !0;
@@ -11693,7 +11693,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11693
11693
  type: "button",
11694
11694
  class: "layers-panel__action",
11695
11695
  innerHTML: U.icon,
11696
- onClick: (te) => v("action", { layerId: U.widget })
11696
+ onClick: (te) => m("action", { layerId: U.widget })
11697
11697
  }, null, 8, Dh))), 128))
11698
11698
  ])) : X("", !0)
11699
11699
  ]);
@@ -11736,7 +11736,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11736
11736
  }).sort((L, k) => a.compare(y(L), y(k)));
11737
11737
  return { ..._, layers: E };
11738
11738
  }).filter((_) => _.layers.length > 0).sort((_, E) => a.compare(_.name, E.name));
11739
- }), m = P({
11739
+ }), v = P({
11740
11740
  get: () => n.search,
11741
11741
  set: (g) => r("update:search", g)
11742
11742
  });
@@ -11761,9 +11761,9 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11761
11761
  }
11762
11762
  function f(g) {
11763
11763
  return [
11764
- { label: "Назва", value: v(g.name) },
11765
- { label: "Сервіс", value: v(g.service) },
11766
- { label: "Посилання", value: v(g.url), breakLine: !0 }
11764
+ { label: "Назва", value: m(g.name) },
11765
+ { label: "Сервіс", value: m(g.service) },
11766
+ { label: "Посилання", value: m(g.url), breakLine: !0 }
11767
11767
  // { label: 'Джерело', value: valueOrNull(layer.source_path), breakLine: true },
11768
11768
  // { label: 'Popup', value: collectionSummary(layer.popup, 'полів') },
11769
11769
  // { label: 'Картка', value: collectionSummary(layer.card, 'полів') },
@@ -11773,7 +11773,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11773
11773
  function y(g) {
11774
11774
  return typeof (g == null ? void 0 : g.name) == "string" ? g.name.trim() : "";
11775
11775
  }
11776
- function v(g) {
11776
+ function m(g) {
11777
11777
  return g == null || g === "" ? null : String(g);
11778
11778
  }
11779
11779
  return le(
@@ -11788,12 +11788,12 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11788
11788
  }, [
11789
11789
  o("div", Uh, [
11790
11790
  Be(o("input", {
11791
- "onUpdate:modelValue": _[0] || (_[0] = (E) => m.value = E),
11791
+ "onUpdate:modelValue": _[0] || (_[0] = (E) => v.value = E),
11792
11792
  type: "text",
11793
11793
  placeholder: "Введіть назву шару...",
11794
11794
  class: "py-[7px] pl-8 pe-8 block w-full bg-gray-100 border-transparent rounded-lg text-sm focus:bg-white focus:border-blue-500 focus:ring-blue-500"
11795
11795
  }, null, 512), [
11796
- [gt, m.value]
11796
+ [gt, v.value]
11797
11797
  ]),
11798
11798
  (c(), x("svg", qh, [..._[1] || (_[1] = [
11799
11799
  o("path", {
@@ -11944,24 +11944,24 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11944
11944
  return;
11945
11945
  }
11946
11946
  r.open = !0, st(() => {
11947
- m(), u(), requestAnimationFrame(() => {
11948
- m();
11947
+ v(), u(), requestAnimationFrame(() => {
11948
+ v();
11949
11949
  });
11950
11950
  });
11951
11951
  }
11952
- function m() {
11952
+ function v() {
11953
11953
  if (!r.open || !l.value || !i.value) return;
11954
- const y = l.value.getBoundingClientRect(), v = 12, g = window.scrollX + v, _ = window.scrollX + window.innerWidth - v, E = window.scrollY + v, L = window.scrollY + window.innerHeight - v, k = i.value.offsetWidth || Math.min(460, window.innerWidth - 24), C = i.value.offsetHeight || 0;
11954
+ const y = l.value.getBoundingClientRect(), m = 12, g = window.scrollX + m, _ = window.scrollX + window.innerWidth - m, E = window.scrollY + m, L = window.scrollY + window.innerHeight - m, k = i.value.offsetWidth || Math.min(460, window.innerWidth - 24), C = i.value.offsetHeight || 0;
11955
11955
  let $ = y.left + window.scrollX + (y.width - k) / 2;
11956
11956
  $ < g && ($ = g), $ + k > _ && ($ = Math.max(g, _ - k)), r.left = $;
11957
- let A = y.bottom + window.scrollY + v;
11958
- A + C > L && (A = y.top + window.scrollY - C - v, A < E && (A = Math.max(E, L - C))), A < E && (A = E), A + C > L && (A = Math.max(E, L - C)), r.top = A, r.transform = "none";
11957
+ let A = y.bottom + window.scrollY + m;
11958
+ A + C > L && (A = y.top + window.scrollY - C - m, A < E && (A = Math.max(E, L - C))), A < E && (A = E), A + C > L && (A = Math.max(E, L - C)), r.top = A, r.transform = "none";
11959
11959
  }
11960
11960
  function b(y) {
11961
11961
  var g, _;
11962
11962
  if (!r.open) return;
11963
- const v = y.target;
11964
- (g = l.value) != null && g.contains(v) || (_ = i.value) != null && _.contains(v) || h();
11963
+ const m = y.target;
11964
+ (g = l.value) != null && g.contains(m) || (_ = i.value) != null && _.contains(m) || h();
11965
11965
  }
11966
11966
  function d(y) {
11967
11967
  y.key === "Escape" && h();
@@ -11971,23 +11971,23 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
11971
11971
  }
11972
11972
  function u() {
11973
11973
  f(), i.value && (s = new ResizeObserver(() => {
11974
- m();
11974
+ v();
11975
11975
  }), s.observe(i.value));
11976
11976
  }
11977
11977
  function f() {
11978
11978
  s && (s.disconnect(), s = null);
11979
11979
  }
11980
11980
  return Ue(() => {
11981
- document.addEventListener("click", b, !0), document.addEventListener("keydown", d), window.addEventListener("scroll", m, !0), window.addEventListener("resize", m);
11981
+ document.addEventListener("click", b, !0), document.addEventListener("keydown", d), window.addEventListener("scroll", v, !0), window.addEventListener("resize", v);
11982
11982
  }), Ve(() => {
11983
- document.removeEventListener("click", b, !0), document.removeEventListener("keydown", d), window.removeEventListener("scroll", m, !0), window.removeEventListener("resize", m), f();
11983
+ document.removeEventListener("click", b, !0), document.removeEventListener("keydown", d), window.removeEventListener("scroll", v, !0), window.removeEventListener("resize", v), f();
11984
11984
  }), le(
11985
11985
  () => n.items,
11986
11986
  () => {
11987
- r.open && st(() => m());
11987
+ r.open && st(() => v());
11988
11988
  },
11989
11989
  { deep: !0 }
11990
- ), t({ close: h }), (y, v) => (c(), x("div", {
11990
+ ), t({ close: h }), (y, m) => (c(), x("div", {
11991
11991
  class: "inline-flex relative",
11992
11992
  ref_key: "anchorEl",
11993
11993
  ref: l
@@ -12004,7 +12004,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12004
12004
  style: ft(a.value),
12005
12005
  ref_key: "popoverEl",
12006
12006
  ref: i,
12007
- onClick: v[0] || (v[0] = nt(() => {
12007
+ onClick: m[0] || (m[0] = nt(() => {
12008
12008
  }, ["stop"]))
12009
12009
  }, [
12010
12010
  o("div", o1, [
@@ -12033,7 +12033,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12033
12033
  },
12034
12034
  emits: ["select-layer", "reorder", "remove", "toggle-layer"],
12035
12035
  setup(e, { emit: t }) {
12036
- const n = e, r = t, l = It({}), i = T(null), s = T(null), a = /* @__PURE__ */ new Map(), p = It({ top: 0, left: 0 }), m = T(null), b = It({ top: 0, left: 0 }), d = T(null), h = /* @__PURE__ */ new Map(), u = It({});
12036
+ const n = e, r = t, l = It({}), i = T(null), s = T(null), a = /* @__PURE__ */ new Map(), p = It({ top: 0, left: 0 }), v = T(null), b = It({ top: 0, left: 0 }), d = T(null), h = /* @__PURE__ */ new Map(), u = It({});
12037
12037
  function f(F) {
12038
12038
  var S;
12039
12039
  for (const I of ((S = n.catalog) == null ? void 0 : S.groups) ?? []) {
@@ -12042,7 +12042,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12042
12042
  }
12043
12043
  return null;
12044
12044
  }
12045
- const y = new Intl.Collator("uk", { sensitivity: "base" }), v = P(() => [...n.selected].sort((F, S) => {
12045
+ const y = new Intl.Collator("uk", { sensitivity: "base" }), m = P(() => [...n.selected].sort((F, S) => {
12046
12046
  var U, te;
12047
12047
  const I = ((U = f(F)) == null ? void 0 : U.name) ?? "", B = ((te = f(S)) == null ? void 0 : te.name) ?? "";
12048
12048
  return y.compare(I, B);
@@ -12073,7 +12073,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12073
12073
  S ? h.set(F, S) : h.delete(F);
12074
12074
  }
12075
12075
  function L(F) {
12076
- m.value = m.value === F ? null : F, m.value && st(() => {
12076
+ v.value = v.value === F ? null : F, v.value && st(() => {
12077
12077
  k(F), requestAnimationFrame(() => {
12078
12078
  k(F);
12079
12079
  });
@@ -12088,10 +12088,10 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12088
12088
  }
12089
12089
  function C(F) {
12090
12090
  const S = Xe(F);
12091
- S && S.remove(), r("remove", F), m.value = null;
12091
+ S && S.remove(), r("remove", F), v.value = null;
12092
12092
  }
12093
12093
  function $(F) {
12094
- const S = F.target, I = i.value, B = m.value;
12094
+ const S = F.target, I = i.value, B = v.value;
12095
12095
  if (I) {
12096
12096
  const U = s.value, te = a.get(I);
12097
12097
  if (U && U.contains(S) || te && te.contains(S)) return;
@@ -12100,11 +12100,11 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12100
12100
  if (B) {
12101
12101
  const U = d.value, te = h.get(B);
12102
12102
  if (U && U.contains(S) || te && te.contains(S)) return;
12103
- m.value = null;
12103
+ v.value = null;
12104
12104
  }
12105
12105
  }
12106
12106
  function A() {
12107
- i.value && g(), m.value && k(m.value);
12107
+ i.value && g(), v.value && k(v.value);
12108
12108
  }
12109
12109
  Ue(() => {
12110
12110
  document.addEventListener("click", $), window.addEventListener("resize", A), window.addEventListener("scroll", A, !0);
@@ -12124,11 +12124,11 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12124
12124
  N.value.fitBounds([
12125
12125
  [xe, Fe],
12126
12126
  [Ne, H]
12127
- ], { padding: 40 }), m.value = null;
12127
+ ], { padding: 40 }), v.value = null;
12128
12128
  return;
12129
12129
  }
12130
12130
  }
12131
- (pe = S == null ? void 0 : S.getSource) != null && pe.call(S) && (m.value = null);
12131
+ (pe = S == null ? void 0 : S.getSource) != null && pe.call(S) && (v.value = null);
12132
12132
  }
12133
12133
  const K = T(null), oe = T(null);
12134
12134
  function ae(F, S) {
@@ -12142,7 +12142,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12142
12142
  K.value = null, oe.value = null;
12143
12143
  return;
12144
12144
  }
12145
- const B = [...v.value], [U] = B.splice(K.value, 1);
12145
+ const B = [...m.value], [U] = B.splice(K.value, 1);
12146
12146
  B.splice(S, 0, U), r("reorder", B), K.value = null, oe.value = null;
12147
12147
  }
12148
12148
  function Y() {
@@ -12195,7 +12195,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12195
12195
  ]),
12196
12196
  e.selected.length ? (c(), x("div", a1, [
12197
12197
  o("div", null, [
12198
- (c(!0), x(ie, null, he(v.value, (I, B) => {
12198
+ (c(!0), x(ie, null, he(m.value, (I, B) => {
12199
12199
  var U;
12200
12200
  return c(), x("div", {
12201
12201
  key: I,
@@ -12265,7 +12265,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12265
12265
  ])
12266
12266
  ])) : X("", !0),
12267
12267
  (c(), fe(Ot, { to: "body" }, [
12268
- m.value ? (c(), x("div", {
12268
+ v.value ? (c(), x("div", {
12269
12269
  key: 0,
12270
12270
  ref_key: "menuEl",
12271
12271
  ref: d,
@@ -12275,7 +12275,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12275
12275
  o("div", g1, [
12276
12276
  o("button", {
12277
12277
  class: "selected-tab__menu-item",
12278
- onClick: S[1] || (S[1] = (I) => D(m.value))
12278
+ onClick: S[1] || (S[1] = (I) => D(v.value))
12279
12279
  }, [...S[6] || (S[6] = [
12280
12280
  o("svg", {
12281
12281
  xmlns: "http://www.w3.org/2000/svg",
@@ -12316,7 +12316,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12316
12316
  Ce(" Збільшити до шару ", -1)
12317
12317
  ])]),
12318
12318
  ne(l1, {
12319
- items: re(m.value)
12319
+ items: re(v.value)
12320
12320
  }, {
12321
12321
  default: Oe(() => [...S[7] || (S[7] = [
12322
12322
  o("button", { class: "selected-tab__menu-item" }, [
@@ -12348,7 +12348,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12348
12348
  S[9] || (S[9] = o("hr", null, null, -1)),
12349
12349
  o("button", {
12350
12350
  class: "selected-tab__menu-item selected-tab__menu-item--danger",
12351
- onClick: S[2] || (S[2] = (I) => C(m.value))
12351
+ onClick: S[2] || (S[2] = (I) => C(v.value))
12352
12352
  }, [...S[8] || (S[8] = [
12353
12353
  o("svg", {
12354
12354
  xmlns: "http://www.w3.org/2000/svg",
@@ -12409,7 +12409,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12409
12409
  function a(p) {
12410
12410
  l("change", p.data);
12411
12411
  }
12412
- return (p, m) => (c(), x("div", x1, [
12412
+ return (p, v) => (c(), x("div", x1, [
12413
12413
  e.layer && s.value ? (c(), x("div", b1, [
12414
12414
  o("div", null, [
12415
12415
  o("p", w1, V(e.layer.name), 1)
@@ -12423,10 +12423,10 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12423
12423
  value: e.value,
12424
12424
  limit: 5,
12425
12425
  class: "rounded-md pb-0",
12426
- onChange: m[0] || (m[0] = (b) => a(b))
12426
+ onChange: v[0] || (v[0] = (b) => a(b))
12427
12427
  }, null, 8, ["schema", "value"])
12428
12428
  ])
12429
- ])) : (c(), x("div", $1, [...m[1] || (m[1] = [
12429
+ ])) : (c(), x("div", $1, [...v[1] || (v[1] = [
12430
12430
  o("p", { class: "filter-tab__empty-title" }, "Немає доступних фільтрів", -1),
12431
12431
  o("p", { class: "filter-tab__empty-text" }, " Оберіть шар із фільтрами у каталозі, щоб налаштувати відбір даних. ", -1)
12432
12432
  ])]))
@@ -12443,7 +12443,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12443
12443
  const R = t.query["catalog-tab"];
12444
12444
  return (Array.isArray(R) ? R[0] : R) === "selected" ? "selected" : "catalog";
12445
12445
  }
12446
- const l = T(r()), i = T({ groups: [] }), s = T([]), a = T(""), { map: p } = it(), m = It({}), b = T(null), d = T(!0), h = T(!1);
12446
+ const l = T(r()), i = T({ groups: [] }), s = T([]), a = T(""), { map: p } = it(), v = It({}), b = T(null), d = T(!0), h = T(!1);
12447
12447
  function u(R) {
12448
12448
  return i.value.groups.map((O) => O.layers.find((re) => re.id === R)).find(Boolean) || null;
12449
12449
  }
@@ -12453,19 +12453,19 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12453
12453
  function y() {
12454
12454
  const R = b.value;
12455
12455
  if (!R) return;
12456
- delete m[R];
12456
+ delete v[R];
12457
12457
  const O = Xe(R);
12458
12458
  O != null && O.setFilter && O.setFilter("");
12459
12459
  }
12460
- function v(R, O) {
12460
+ function m(R, O) {
12461
12461
  const re = Xe(R);
12462
- if (m[R] = { ...O }, !(re != null && re.setFilter)) return;
12462
+ if (v[R] = { ...O }, !(re != null && re.setFilter)) return;
12463
12463
  const F = Object.entries(O).filter(([, S]) => S != null && S !== "").map(([S, I]) => `${S}=${I}`);
12464
12464
  re.setFilter(F.join("|"));
12465
12465
  }
12466
12466
  function g(R) {
12467
12467
  const O = b.value;
12468
- O && v(O, R);
12468
+ O && m(O, R);
12469
12469
  }
12470
12470
  function _(R) {
12471
12471
  const O = R.url;
@@ -12545,14 +12545,14 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12545
12545
  });
12546
12546
  }
12547
12547
  function C(R) {
12548
- !R || !Array.isArray(R.filters) || R.filters.length === 0 || s.value.includes(R.id) && (b.value = R.id, m[R.id] || (m[R.id] = {}), l.value = "filter");
12548
+ !R || !Array.isArray(R.filters) || R.filters.length === 0 || s.value.includes(R.id) && (b.value = R.id, v[R.id] || (v[R.id] = {}), l.value = "filter");
12549
12549
  }
12550
12550
  function $() {
12551
12551
  l.value = "catalog";
12552
12552
  }
12553
12553
  const A = P(() => b.value ? u(b.value) : null), N = P(() => {
12554
12554
  const R = b.value;
12555
- return R ? m[R] ?? {} : {};
12555
+ return R ? v[R] ?? {} : {};
12556
12556
  }), D = P(() => i.value.groups.reduce(
12557
12557
  (R, O) => R + O.layers.filter(f).length,
12558
12558
  0
@@ -12732,7 +12732,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12732
12732
  config: {}
12733
12733
  },
12734
12734
  setup(e) {
12735
- const t = ["#3a7a57", "#d970d5", "#8e997b", "#b4c039", "#a855f7", "#71823a", "#f79d92", "#8b5cf6", "#a6514e", "#6b7280"], n = e, r = T(!0), l = T(!1), i = T([]), s = T(null), a = T(null), p = T(null), m = T(null), b = T(null), d = T({}), h = T(null);
12735
+ const t = ["#3a7a57", "#d970d5", "#8e997b", "#b4c039", "#a855f7", "#71823a", "#f79d92", "#8b5cf6", "#a6514e", "#6b7280"], n = e, r = T(!0), l = T(!1), i = T([]), s = T(null), a = T(null), p = T(null), v = T(null), b = T(null), d = T({}), h = T(null);
12736
12736
  function u(Y) {
12737
12737
  return Y && JSON.parse(JSON.stringify(Y));
12738
12738
  }
@@ -12757,7 +12757,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12757
12757
  return [{ id: O, text: null }];
12758
12758
  }
12759
12759
  throw new Error("MapAttributeWidget: `attribute` or `list` must be provided");
12760
- }), v = P(() => y.value.map((Y) => ({
12760
+ }), m = P(() => y.value.map((Y) => ({
12761
12761
  id: Y.id,
12762
12762
  label: Y.text || d.value[Y.id] || Y.id
12763
12763
  })));
@@ -12778,14 +12778,14 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12778
12778
  });
12779
12779
  le(f, () => {
12780
12780
  var Y, R;
12781
- (R = (Y = a.value) == null ? void 0 : Y.remove) == null || R.call(Y), a.value = null, p.value = null, m.value = null, b.value = null, d.value = {};
12781
+ (R = (Y = a.value) == null ? void 0 : Y.remove) == null || R.call(Y), a.value = null, p.value = null, v.value = null, b.value = null, d.value = {};
12782
12782
  });
12783
12783
  const _ = P(() => {
12784
12784
  var Y;
12785
- return (Y = m.value) != null && Y.length ? {
12785
+ return (Y = v.value) != null && Y.length ? {
12786
12786
  id: f.value,
12787
12787
  name: p.value,
12788
- filters: m.value
12788
+ filters: v.value
12789
12789
  } : null;
12790
12790
  }), E = P(() => {
12791
12791
  var Y, R;
@@ -12804,7 +12804,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12804
12804
  throw new Error(F);
12805
12805
  }
12806
12806
  const O = await R.json();
12807
- return p.value = (O == null ? void 0 : O.name) || null, m.value = Array.isArray(O == null ? void 0 : O.filters) ? O.filters : null, b.value = u((O == null ? void 0 : O.style) || {}), d.value = ((O == null ? void 0 : O.attributes) || []).reduce((F, S) => {
12807
+ return p.value = (O == null ? void 0 : O.name) || null, v.value = Array.isArray(O == null ? void 0 : O.filters) ? O.filters : null, b.value = u((O == null ? void 0 : O.style) || {}), d.value = ((O == null ? void 0 : O.attributes) || []).reduce((F, S) => {
12808
12808
  const I = typeof (S == null ? void 0 : S.name) == "string" ? S.name.trim() : "", B = typeof (S == null ? void 0 : S.ua) == "string" ? S.ua.trim() : "";
12809
12809
  return I && (F[I] = B || I), F;
12810
12810
  }, {}), O;
@@ -12912,7 +12912,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12912
12912
  const oe = P(() => "Набори даних"), ae = P(() => i.value.reduce((Y, R) => Y + R.count, 0)), Q = P(() => {
12913
12913
  var O;
12914
12914
  const Y = g.value;
12915
- return ((O = v.value.find((re) => re.id === Y)) == null ? void 0 : O.label) || null || s.value || Y || null;
12915
+ return ((O = m.value.find((re) => re.id === Y)) == null ? void 0 : O.label) || null || s.value || Y || null;
12916
12916
  });
12917
12917
  function ue(Y) {
12918
12918
  return ae.value ? `${(Y / ae.value * 100).toFixed(2)}%` : "0.00%";
@@ -12924,7 +12924,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12924
12924
  o("div", P1, [
12925
12925
  o("div", null, [
12926
12926
  o("h2", R1, V(oe.value), 1),
12927
- Q.value && v.value.length === 1 ? (c(), x("p", O1, V(Q.value), 1)) : X("", !0)
12927
+ Q.value && m.value.length === 1 ? (c(), x("p", O1, V(Q.value), 1)) : X("", !0)
12928
12928
  ]),
12929
12929
  o("div", D1, [
12930
12930
  _.value ? (c(), fe(bo, {
@@ -12954,9 +12954,9 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
12954
12954
  ])
12955
12955
  ]),
12956
12956
  o("div", V1, [
12957
- v.value.length > 1 ? (c(), x("div", B1, [
12957
+ m.value.length > 1 ? (c(), x("div", B1, [
12958
12958
  o("div", U1, [
12959
- (c(!0), x(ie, null, he(v.value, (O) => (c(), x("label", {
12959
+ (c(!0), x(ie, null, he(m.value, (O) => (c(), x("label", {
12960
12960
  key: O.id,
12961
12961
  class: "inline-flex items-center gap-2 text-sm text-gray-700"
12962
12962
  }, [
@@ -13063,9 +13063,9 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
13063
13063
  const G = i(), be = (De = G == null ? void 0 : G.map) == null ? void 0 : De.addressSuggest;
13064
13064
  if (typeof be == "string" && be.trim()) return be.trim();
13065
13065
  }
13066
- const p = !!a(), m = !!s(), b = P(() => {
13066
+ const p = !!a(), v = !!s(), b = P(() => {
13067
13067
  const q = ["xy", "parcel"];
13068
- return p && q.push("address"), m && q.push("nominatim"), q;
13068
+ return p && q.push("address"), v && q.push("nominatim"), q;
13069
13069
  }), d = P(() => {
13070
13070
  var G, be;
13071
13071
  const q = b.value, J = (be = (G = n.config) == null ? void 0 : G.tools) == null ? void 0 : be.filter((Se) => q.includes(Se));
@@ -13077,7 +13077,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
13077
13077
  le(d, (q) => {
13078
13078
  q.includes(u.value) || (u.value = q[0]);
13079
13079
  });
13080
- const f = T(""), y = T(!1), v = T(null), g = T(null), _ = T(null), E = T(null), L = T([]), k = T(null), C = T(!1), $ = T([]), A = P(
13080
+ const f = T(""), y = T(!1), m = T(null), g = T(null), _ = T(null), E = T(null), L = T([]), k = T(null), C = T(!1), $ = T([]), A = P(
13081
13081
  () => (u.value === "address" || u.value === "nominatim") && C.value
13082
13082
  ), N = P(() => {
13083
13083
  var q;
@@ -13220,7 +13220,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
13220
13220
  var be;
13221
13221
  const J = [];
13222
13222
  g.value && J.push(g.value), q instanceof HTMLElement && J.push(q);
13223
- const G = (be = v.value) == null ? void 0 : be.querySelectorAll("li");
13223
+ const G = (be = m.value) == null ? void 0 : be.querySelectorAll("li");
13224
13224
  G == null || G.forEach((Se) => {
13225
13225
  J.push(Se);
13226
13226
  }), J.forEach((Se) => {
@@ -13239,7 +13239,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
13239
13239
  function z(q) {
13240
13240
  const J = q.target;
13241
13241
  if (y.value) {
13242
- const G = v.value;
13242
+ const G = m.value;
13243
13243
  G && !G.contains(J) && (Ne(J), y.value = !1);
13244
13244
  }
13245
13245
  if (A.value) {
@@ -13491,7 +13491,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
13491
13491
  d.value.length > 1 ? (c(), x("div", {
13492
13492
  key: 0,
13493
13493
  ref_key: "dropdownRef",
13494
- ref: v,
13494
+ ref: m,
13495
13495
  class: "relative search-type w-[100px]"
13496
13496
  }, [
13497
13497
  o("button", {
@@ -13646,7 +13646,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
13646
13646
  __name: "MapPrintControl",
13647
13647
  setup(e) {
13648
13648
  const { map: t, ready: n, addControl: r, removeControl: l } = it(), i = T(null), s = T(null), a = T(null), p = T(null);
13649
- let m = null;
13649
+ let v = null;
13650
13650
  function b() {
13651
13651
  !window.mapboxgl && window.maplibregl && (window.mapboxgl = window.maplibregl);
13652
13652
  }
@@ -13706,10 +13706,10 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
13706
13706
  "opacity-0 group-hover:opacity-100 group-focus-visible:opacity-100",
13707
13707
  "pointer-events-none transition-opacity duration-200 whitespace-nowrap"
13708
13708
  ].join(" "), A.textContent = "Друк карти", A.setAttribute("aria-hidden", "true"), C.appendChild($), C.appendChild(A), C.addEventListener("click", (N) => {
13709
- N.stopPropagation(), v();
13709
+ N.stopPropagation(), m();
13710
13710
  }), p.value = C, C;
13711
13711
  }
13712
- function v() {
13712
+ function m() {
13713
13713
  if (!a.value) return;
13714
13714
  a.value.style.display === "block" ? _() : g();
13715
13715
  }
@@ -13793,11 +13793,11 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
13793
13793
  return setTimeout(() => K && k(K), 50), K;
13794
13794
  };
13795
13795
  }
13796
- r ? r(A, "top-right") : C.addControl(A, "top-right"), m = (N) => {
13796
+ r ? r(A, "top-right") : C.addControl(A, "top-right"), v = (N) => {
13797
13797
  N.key === "Escape" && _();
13798
- }, document.addEventListener("keyup", m);
13798
+ }, document.addEventListener("keyup", v);
13799
13799
  }), Ve(() => {
13800
- _(), m && (document.removeEventListener("keyup", m), m = null);
13800
+ _(), v && (document.removeEventListener("keyup", v), v = null);
13801
13801
  const C = t.value;
13802
13802
  if (s.value)
13803
13803
  try {
@@ -13835,7 +13835,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
13835
13835
  function p($, A) {
13836
13836
  return typeof $ == "number" && Number.isFinite($) ? $ : A;
13837
13837
  }
13838
- const m = P(() => {
13838
+ const v = P(() => {
13839
13839
  var K, oe;
13840
13840
  const $ = (K = t.options) == null ? void 0 : K.width, A = (oe = t.options) == null ? void 0 : oe.height, N = p(t.width ?? $, 210), D = p(t.height ?? A, 150);
13841
13841
  return {
@@ -13886,21 +13886,21 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
13886
13886
  ...t.options ?? {}
13887
13887
  };
13888
13888
  D.container = N.container, i.value = new maplibregl.Map(D), i.value.on("load", () => {
13889
- f(), v();
13889
+ f(), m();
13890
13890
  });
13891
13891
  }
13892
13892
  function u() {
13893
13893
  if (!i.value) return;
13894
13894
  const $ = b();
13895
13895
  $ && (i.value.once("styledata", () => {
13896
- f(), v();
13896
+ f(), m();
13897
13897
  }), i.value.setStyle($));
13898
13898
  }
13899
13899
  function f() {
13900
13900
  if (i.value) {
13901
13901
  if (typeof i.value.isStyleLoaded == "function" && !i.value.isStyleLoaded()) {
13902
13902
  i.value.once("styledata", () => {
13903
- f(), v();
13903
+ f(), m();
13904
13904
  });
13905
13905
  return;
13906
13906
  }
@@ -13940,13 +13940,13 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
13940
13940
  return ($ = i.value) == null ? void 0 : $.resize();
13941
13941
  });
13942
13942
  }
13943
- function v() {
13943
+ function m() {
13944
13944
  var ae, Q;
13945
13945
  const $ = (Q = (ae = t.mapContext) == null ? void 0 : ae.map) == null ? void 0 : Q.value;
13946
13946
  if (!i.value || !$ || !$.getBounds) return;
13947
13947
  if (typeof i.value.isStyleLoaded == "function" && !i.value.isStyleLoaded()) {
13948
13948
  i.value.once("styledata", () => {
13949
- v();
13949
+ m();
13950
13950
  });
13951
13951
  return;
13952
13952
  }
@@ -13977,7 +13977,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
13977
13977
  function g() {
13978
13978
  var N;
13979
13979
  const $ = t.mapContext, A = (N = $ == null ? void 0 : $.map) == null ? void 0 : N.value;
13980
- !($ != null && $.on) || !A || (d == null || d(), d = $.on("move", v), v());
13980
+ !($ != null && $.on) || !A || (d == null || d(), d = $.on("move", m), m());
13981
13981
  }
13982
13982
  async function _() {
13983
13983
  const $ = t.mapContext;
@@ -13996,7 +13996,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
13996
13996
  }), le(
13997
13997
  () => t.mapContext,
13998
13998
  () => {
13999
- _(), v();
13999
+ _(), m();
14000
14000
  }
14001
14001
  ), le(
14002
14002
  () => {
@@ -14007,7 +14007,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
14007
14007
  i.value && (u(), _());
14008
14008
  }
14009
14009
  ), le(
14010
- m,
14010
+ v,
14011
14011
  () => {
14012
14012
  i.value && st(() => {
14013
14013
  var $;
@@ -14044,7 +14044,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
14044
14044
  ref_key: "minimapRoot",
14045
14045
  ref: l,
14046
14046
  class: "mapboxgl-ctrl-minimap mapboxgl-ctrl mapboxgl-map",
14047
- style: ft(m.value),
14047
+ style: ft(v.value),
14048
14048
  id: "mapboxgl-minimap"
14049
14049
  }, null, 4)
14050
14050
  ], 512), [
@@ -14059,19 +14059,19 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
14059
14059
  __name: "AddCoordinates",
14060
14060
  emits: ["submit", "cancel"],
14061
14061
  setup(e, { emit: t }) {
14062
- const n = t, r = T(null), l = T(null), i = (p, m, b) => Math.min(Math.max(p, m), b), s = () => {
14062
+ const n = t, r = T(null), l = T(null), i = (p, v, b) => Math.min(Math.max(p, v), b), s = () => {
14063
14063
  if (r.value === null || l.value === null || !Number.isFinite(r.value) || !Number.isFinite(l.value))
14064
14064
  return;
14065
- const p = i(r.value, -90, 90), m = i(l.value, -180, 180);
14066
- n("submit", { lat: p, lng: m }), r.value = null, l.value = null;
14065
+ const p = i(r.value, -90, 90), v = i(l.value, -180, 180);
14066
+ n("submit", { lat: p, lng: v }), r.value = null, l.value = null;
14067
14067
  }, a = () => {
14068
14068
  r.value = null, l.value = null, n("cancel");
14069
14069
  };
14070
- return (p, m) => (c(), x("div", Mx, [
14071
- m[2] || (m[2] = o("p", { class: "text-xs text-gray-600 mb-1" }, "Додати точку за координатами:", -1)),
14070
+ return (p, v) => (c(), x("div", Mx, [
14071
+ v[2] || (v[2] = o("p", { class: "text-xs text-gray-600 mb-1" }, "Додати точку за координатами:", -1)),
14072
14072
  o("div", Ex, [
14073
14073
  Be(o("input", {
14074
- "onUpdate:modelValue": m[0] || (m[0] = (b) => r.value = b),
14074
+ "onUpdate:modelValue": v[0] || (v[0] = (b) => r.value = b),
14075
14075
  type: "number",
14076
14076
  step: "0.0001",
14077
14077
  class: "w-full px-2 py-1 text-xs border border-gray-300 rounded focus:outline-none focus:border-blue-500",
@@ -14085,7 +14085,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
14085
14085
  ]
14086
14086
  ]),
14087
14087
  Be(o("input", {
14088
- "onUpdate:modelValue": m[1] || (m[1] = (b) => l.value = b),
14088
+ "onUpdate:modelValue": v[1] || (v[1] = (b) => l.value = b),
14089
14089
  type: "number",
14090
14090
  step: "0.0001",
14091
14091
  class: "w-full px-2 py-1 text-xs border border-gray-300 rounded focus:outline-none focus:border-blue-500",
@@ -14193,7 +14193,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14193
14193
  },
14194
14194
  { deep: !0, immediate: !0 }
14195
14195
  );
14196
- const p = (h, u, f) => Math.min(Math.max(h, u), f), m = () => {
14196
+ const p = (h, u, f) => Math.min(Math.max(h, u), f), v = () => {
14197
14197
  i.value = !0;
14198
14198
  }, b = () => {
14199
14199
  if (!Number.isFinite(s.value) || !Number.isFinite(a.value))
@@ -14252,7 +14252,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14252
14252
  key: 2,
14253
14253
  class: "text-blue-500 hover:text-blue-600 px-0.5",
14254
14254
  type: "button",
14255
- onClick: m
14255
+ onClick: v
14256
14256
  }, " ✎ ")),
14257
14257
  o("button", {
14258
14258
  class: "text-rose-500 hover:text-rose-600 px-0.5",
@@ -14309,7 +14309,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14309
14309
  ], i = () => {
14310
14310
  n.value = !n.value;
14311
14311
  }, s = (f, y) => {
14312
- const v = (N) => N * Math.PI / 180, g = v(y.lat - f.lat), _ = v(y.lng - f.lng), E = v(f.lat), L = v(y.lat), k = Math.sin(g / 2), C = Math.sin(_ / 2);
14312
+ const m = (N) => N * Math.PI / 180, g = m(y.lat - f.lat), _ = m(y.lng - f.lng), E = m(f.lat), L = m(y.lat), k = Math.sin(g / 2), C = Math.sin(_ / 2);
14313
14313
  return 6371e3 * (2 * Math.asin(
14314
14314
  Math.sqrt(
14315
14315
  k * k + Math.cos(E) * Math.cos(L) * C * C
@@ -14325,11 +14325,11 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14325
14325
  t.points[0].coords
14326
14326
  )), f;
14327
14327
  }), p = P(() => a.value >= 1e3 ? `${dn(a.value / 1e3)} км` : `${dn(a.value)} м`);
14328
- function m(f) {
14328
+ function v(f) {
14329
14329
  if (f.length < 3) return 0;
14330
- const y = f[0].lat, v = f[0].lng, g = (E, L) => {
14330
+ const y = f[0].lat, m = f[0].lng, g = (E, L) => {
14331
14331
  const k = (E - y) * 110574;
14332
- return { x: (L - v) * 111320 * Math.cos(y * Math.PI / 180), y: k };
14332
+ return { x: (L - m) * 111320 * Math.cos(y * Math.PI / 180), y: k };
14333
14333
  };
14334
14334
  let _ = 0;
14335
14335
  for (let E = 0; E < f.length; E++) {
@@ -14341,17 +14341,17 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14341
14341
  const b = P(() => {
14342
14342
  if (!t.isShapeClosed || t.points.length < 3) return 0;
14343
14343
  const f = t.points.map((y) => y.coords);
14344
- return m(f);
14344
+ return v(f);
14345
14345
  }), d = P(() => b.value > 0), h = P(() => {
14346
14346
  const f = b.value;
14347
14347
  if (f === 0) return "—";
14348
14348
  if (r.value === "km2") {
14349
- const v = f / 1e6;
14350
- return `${dn(v)} км²`;
14349
+ const m = f / 1e6;
14350
+ return `${dn(m)} км²`;
14351
14351
  }
14352
14352
  if (r.value === "ha") {
14353
- const v = f / 1e4;
14354
- return `${dn(v)} га`;
14353
+ const m = f / 1e4;
14354
+ return `${dn(m)} га`;
14355
14355
  }
14356
14356
  const y = f >= 1 ? Math.round(f) : f;
14357
14357
  return `${dn(y)} м²`;
@@ -14385,17 +14385,17 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14385
14385
  ]),
14386
14386
  y[2] || (y[2] = o("span", { class: "text-xs font-medium text-gray-600 flex-1" }, "Площа", -1)),
14387
14387
  o("div", Yx, [
14388
- (c(), x(ie, null, he(l, (v, g) => o("button", {
14389
- key: v.id,
14388
+ (c(), x(ie, null, he(l, (m, g) => o("button", {
14389
+ key: m.id,
14390
14390
  type: "button",
14391
14391
  class: Ae([
14392
14392
  "px-2.5 py-1 text-xs font-medium transition-colors border-r border-gray-200 last:border-r-0",
14393
14393
  g === 0 && "rounded-l-md",
14394
14394
  g === l.length - 1 && "rounded-r-md",
14395
- r.value === v.id ? "bg-white text-green-600 font-semibold shadow-sm" : "text-gray-600 hover:bg-gray-50"
14395
+ r.value === m.id ? "bg-white text-green-600 font-semibold shadow-sm" : "text-gray-600 hover:bg-gray-50"
14396
14396
  ]),
14397
- onClick: nt((_) => r.value = v.id, ["stop"])
14398
- }, V(v.label), 11, Zx)), 64))
14397
+ onClick: nt((_) => r.value = m.id, ["stop"])
14398
+ }, V(m.label), 11, Zx)), 64))
14399
14399
  ])
14400
14400
  ]),
14401
14401
  o("div", Gx, [
@@ -14417,13 +14417,13 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14417
14417
  }, " Координати ")
14418
14418
  ]),
14419
14419
  n.value ? (c(), x("div", tb, [
14420
- (c(!0), x(ie, null, he(e.points, (v, g) => (c(), fe(Ox, {
14421
- key: v.id,
14422
- id: v.id,
14420
+ (c(!0), x(ie, null, he(e.points, (m, g) => (c(), fe(Ox, {
14421
+ key: m.id,
14422
+ id: m.id,
14423
14423
  index: g + 1,
14424
- coords: v.coords,
14424
+ coords: m.coords,
14425
14425
  onUpdate: y[0] || (y[0] = (_) => f.$emit("update-point", _)),
14426
- onDelete: (_) => f.$emit("delete-point", v.id)
14426
+ onDelete: (_) => f.$emit("delete-point", m.id)
14427
14427
  }, null, 8, ["id", "index", "coords", "onDelete"]))), 128))
14428
14428
  ])) : X("", !0)
14429
14429
  ]));
@@ -14454,10 +14454,10 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14454
14454
  setup(e) {
14455
14455
  const t = e;
14456
14456
  function n(i, s) {
14457
- const a = (u) => u * Math.PI / 180, p = a(s.lat - i.lat), m = a(s.lng - i.lng), b = a(i.lat), d = a(s.lat);
14457
+ const a = (u) => u * Math.PI / 180, p = a(s.lat - i.lat), v = a(s.lng - i.lng), b = a(i.lat), d = a(s.lat);
14458
14458
  return 6371e3 * (2 * Math.asin(
14459
14459
  Math.sqrt(
14460
- Math.sin(p / 2) ** 2 + Math.cos(b) * Math.cos(d) * Math.sin(m / 2) ** 2
14460
+ Math.sin(p / 2) ** 2 + Math.cos(b) * Math.cos(d) * Math.sin(v / 2) ** 2
14461
14461
  )
14462
14462
  ));
14463
14463
  }
@@ -14470,11 +14470,11 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14470
14470
  for (let a = 0; a < s.length; a++) {
14471
14471
  const p = a === s.length - 1 && t.isShapeClosed ? 0 : a + 1;
14472
14472
  if (p >= s.length) break;
14473
- const m = n(s[a].coords, s[p].coords);
14473
+ const v = n(s[a].coords, s[p].coords);
14474
14474
  i.push({
14475
14475
  from: a + 1,
14476
14476
  to: p + 1,
14477
- label: r(m)
14477
+ label: r(v)
14478
14478
  });
14479
14479
  }
14480
14480
  return i;
@@ -14511,7 +14511,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14511
14511
  ],
14512
14512
  setup(e, { expose: t, emit: n }) {
14513
14513
  const r = n, l = T([]), i = P(() => l.value.length > 0), s = T(!1), a = T(!1), p = T("general");
14514
- function m(K) {
14514
+ function v(K) {
14515
14515
  p.value = K, r("tab-change", K);
14516
14516
  }
14517
14517
  Ue(() => {
@@ -14531,7 +14531,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14531
14531
  ...l.value,
14532
14532
  { id: f(), coords: { lat: K.lat, lng: K.lng } }
14533
14533
  ], u();
14534
- }, v = ({
14534
+ }, m = ({
14535
14535
  id: K,
14536
14536
  coords: oe
14537
14537
  }) => {
@@ -14544,7 +14544,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14544
14544
  }, _ = () => {
14545
14545
  l.value = [], a.value && (a.value = !1, r("shape-closed-change", !1)), u();
14546
14546
  }, E = (K) => {
14547
- v(K);
14547
+ m(K);
14548
14548
  }, L = (K) => {
14549
14549
  g(K);
14550
14550
  }, k = () => {
@@ -14600,7 +14600,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14600
14600
  "flex-1 px-3 py-2 text-xs font-medium transition-colors",
14601
14601
  p.value === "general" ? "text-blue-600 border-b-2 border-blue-500 bg-blue-50/50" : "text-gray-500 hover:text-gray-700"
14602
14602
  ]),
14603
- onClick: oe[0] || (oe[0] = (ae) => m("general"))
14603
+ onClick: oe[0] || (oe[0] = (ae) => v("general"))
14604
14604
  }, " Загальна ", 2),
14605
14605
  o("button", {
14606
14606
  type: "button",
@@ -14608,7 +14608,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14608
14608
  "flex-1 px-3 py-2 text-xs font-medium transition-colors",
14609
14609
  p.value === "topoint" ? "text-blue-600 border-b-2 border-blue-500 bg-blue-50/50" : "text-gray-500 hover:text-gray-700"
14610
14610
  ]),
14611
- onClick: oe[1] || (oe[1] = (ae) => m("topoint"))
14611
+ onClick: oe[1] || (oe[1] = (ae) => v("topoint"))
14612
14612
  }, " До точки ", 2)
14613
14613
  ]),
14614
14614
  p.value === "general" ? (c(), x(ie, { key: 0 }, [
@@ -14658,32 +14658,32 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14658
14658
  labelMode: {}
14659
14659
  },
14660
14660
  setup(e) {
14661
- function t(v, g) {
14662
- const _ = (A) => A * Math.PI / 180, E = _(g.lat - v.lat), L = _(g.lng - v.lng), k = _(v.lat), C = _(g.lat);
14661
+ function t(m, g) {
14662
+ const _ = (A) => A * Math.PI / 180, E = _(g.lat - m.lat), L = _(g.lng - m.lng), k = _(m.lat), C = _(g.lat);
14663
14663
  return 6371e3 * (2 * Math.asin(
14664
14664
  Math.sqrt(
14665
14665
  Math.sin(E / 2) ** 2 + Math.cos(k) * Math.cos(C) * Math.sin(L / 2) ** 2
14666
14666
  )
14667
14667
  ));
14668
14668
  }
14669
- function n(v) {
14670
- return us(v);
14669
+ function n(m) {
14670
+ return us(m);
14671
14671
  }
14672
14672
  const r = e, { map: l, ready: i } = it();
14673
14673
  function s() {
14674
14674
  return { type: "FeatureCollection", features: [] };
14675
14675
  }
14676
- function a(v, g, _) {
14676
+ function a(m, g, _) {
14677
14677
  const E = _ ?? "general", L = [];
14678
14678
  let k = 0;
14679
14679
  L.push(0);
14680
- for (let C = 1; C < v.length; C++)
14681
- k += t(v[C - 1].coords, v[C].coords), L.push(k);
14682
- return g && v.length >= 2 && (k += t(v[v.length - 1].coords, v[0].coords)), {
14680
+ for (let C = 1; C < m.length; C++)
14681
+ k += t(m[C - 1].coords, m[C].coords), L.push(k);
14682
+ return g && m.length >= 2 && (k += t(m[m.length - 1].coords, m[0].coords)), {
14683
14683
  type: "FeatureCollection",
14684
- features: v.map((C, $) => {
14684
+ features: m.map((C, $) => {
14685
14685
  const A = E === "general" ? $ === 0 ? "0" : n(L[$]) : $ === 0 ? "0" : n(
14686
- t(v[$ - 1].coords, v[$].coords)
14686
+ t(m[$ - 1].coords, m[$].coords)
14687
14687
  );
14688
14688
  return {
14689
14689
  type: "Feature",
@@ -14696,13 +14696,13 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14696
14696
  })
14697
14697
  };
14698
14698
  }
14699
- function p(v, g) {
14700
- if (v.length < 2) return s();
14699
+ function p(m, g) {
14700
+ if (m.length < 2) return s();
14701
14701
  const _ = [];
14702
- for (let E = 0; E < v.length; E++) {
14703
- const L = E === v.length - 1 && g ? 0 : E + 1;
14704
- if (L >= v.length) break;
14705
- const k = v[E].coords, C = v[L].coords, $ = t(k, C);
14702
+ for (let E = 0; E < m.length; E++) {
14703
+ const L = E === m.length - 1 && g ? 0 : E + 1;
14704
+ if (L >= m.length) break;
14705
+ const k = m[E].coords, C = m[L].coords, $ = t(k, C);
14706
14706
  _.push({
14707
14707
  type: "Feature",
14708
14708
  geometry: {
@@ -14717,9 +14717,9 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14717
14717
  }
14718
14718
  return { type: "FeatureCollection", features: _ };
14719
14719
  }
14720
- function m(v, g) {
14721
- if (v.length < 2) return s();
14722
- const _ = v.map((E) => [E.coords.lng, E.coords.lat]);
14720
+ function v(m, g) {
14721
+ if (m.length < 2) return s();
14722
+ const _ = m.map((E) => [E.coords.lng, E.coords.lat]);
14723
14723
  return g && _.push(_[0]), {
14724
14724
  type: "FeatureCollection",
14725
14725
  features: [
@@ -14731,9 +14731,9 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14731
14731
  ]
14732
14732
  };
14733
14733
  }
14734
- function b(v) {
14735
- if (v.length < 3) return s();
14736
- const g = v.map((_) => [_.coords.lng, _.coords.lat]);
14734
+ function b(m) {
14735
+ if (m.length < 3) return s();
14736
+ const g = m.map((_) => [_.coords.lng, _.coords.lat]);
14737
14737
  return g.push(g[0]), {
14738
14738
  type: "FeatureCollection",
14739
14739
  features: [
@@ -14746,11 +14746,11 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14746
14746
  };
14747
14747
  }
14748
14748
  let d = !1;
14749
- function h(v) {
14750
- v.getSource(Ft) || (v.addSource(Ft, {
14749
+ function h(m) {
14750
+ m.getSource(Ft) || (m.addSource(Ft, {
14751
14751
  type: "geojson",
14752
14752
  data: s()
14753
- }), v.addLayer({
14753
+ }), m.addLayer({
14754
14754
  id: `${Ft}-circle`,
14755
14755
  type: "circle",
14756
14756
  source: Ft,
@@ -14760,7 +14760,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14760
14760
  "circle-stroke-width": 2,
14761
14761
  "circle-stroke-color": "#ffffff"
14762
14762
  }
14763
- }), v.addLayer({
14763
+ }), m.addLayer({
14764
14764
  id: `${Ft}-labels`,
14765
14765
  type: "symbol",
14766
14766
  source: Ft,
@@ -14774,10 +14774,10 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14774
14774
  "text-halo-color": "#ffffff",
14775
14775
  "text-halo-width": 1
14776
14776
  }
14777
- })), v.getSource(Wt) || (v.addSource(Wt, {
14777
+ })), m.getSource(Wt) || (m.addSource(Wt, {
14778
14778
  type: "geojson",
14779
14779
  data: s()
14780
- }), v.addLayer({
14780
+ }), m.addLayer({
14781
14781
  id: `${Wt}-labels`,
14782
14782
  type: "symbol",
14783
14783
  source: Wt,
@@ -14793,10 +14793,10 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14793
14793
  "text-halo-color": "#ffffff",
14794
14794
  "text-halo-width": 1.5
14795
14795
  }
14796
- })), v.getSource(qt) || (v.addSource(qt, {
14796
+ })), m.getSource(qt) || (m.addSource(qt, {
14797
14797
  type: "geojson",
14798
14798
  data: s()
14799
- }), v.addLayer({
14799
+ }), m.addLayer({
14800
14800
  id: `${qt}-layer`,
14801
14801
  type: "line",
14802
14802
  source: qt,
@@ -14804,10 +14804,10 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14804
14804
  "line-color": "#3b82f6",
14805
14805
  "line-width": 2
14806
14806
  }
14807
- })), v.getSource(Ht) || (v.addSource(Ht, {
14807
+ })), m.getSource(Ht) || (m.addSource(Ht, {
14808
14808
  type: "geojson",
14809
14809
  data: s()
14810
- }), v.addLayer({
14810
+ }), m.addLayer({
14811
14811
  id: `${Ht}-layer`,
14812
14812
  type: "fill",
14813
14813
  source: Ht,
@@ -14817,28 +14817,28 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14817
14817
  }
14818
14818
  })), d = !0;
14819
14819
  }
14820
- function u(v) {
14821
- if (v) {
14820
+ function u(m) {
14821
+ if (m) {
14822
14822
  try {
14823
- v.getLayer(`${Ht}-layer`) && v.removeLayer(`${Ht}-layer`), v.getSource(Ht) && v.removeSource(Ht), v.getLayer(`${qt}-layer`) && v.removeLayer(`${qt}-layer`), v.getSource(qt) && v.removeSource(qt), v.getLayer(`${Wt}-labels`) && v.removeLayer(`${Wt}-labels`), v.getSource(Wt) && v.removeSource(Wt), v.getLayer(`${Ft}-labels`) && v.removeLayer(`${Ft}-labels`), v.getLayer(`${Ft}-circle`) && v.removeLayer(`${Ft}-circle`), v.getSource(Ft) && v.removeSource(Ft);
14823
+ m.getLayer(`${Ht}-layer`) && m.removeLayer(`${Ht}-layer`), m.getSource(Ht) && m.removeSource(Ht), m.getLayer(`${qt}-layer`) && m.removeLayer(`${qt}-layer`), m.getSource(qt) && m.removeSource(qt), m.getLayer(`${Wt}-labels`) && m.removeLayer(`${Wt}-labels`), m.getSource(Wt) && m.removeSource(Wt), m.getLayer(`${Ft}-labels`) && m.removeLayer(`${Ft}-labels`), m.getLayer(`${Ft}-circle`) && m.removeLayer(`${Ft}-circle`), m.getSource(Ft) && m.removeSource(Ft);
14824
14824
  } catch {
14825
14825
  }
14826
14826
  d = !1;
14827
14827
  }
14828
14828
  }
14829
- function f(v) {
14830
- if (!v) return;
14831
- const g = v.getSource(Ft), _ = v.getSource(qt), E = v.getSource(Ht), L = v.getSource(Wt), k = r.points, C = r.labelMode ?? "general";
14829
+ function f(m) {
14830
+ if (!m) return;
14831
+ const g = m.getSource(Ft), _ = m.getSource(qt), E = m.getSource(Ht), L = m.getSource(Wt), k = r.points, C = r.labelMode ?? "general";
14832
14832
  g && g.setData(
14833
14833
  a(k, r.isShapeClosed, C)
14834
- ), _ && _.setData(m(k, r.isShapeClosed)), E && E.setData(b(k)), L && L.setData(
14834
+ ), _ && _.setData(v(k, r.isShapeClosed)), E && E.setData(b(k)), L && L.setData(
14835
14835
  C === "topoint" ? p(k, r.isShapeClosed) : s()
14836
14836
  );
14837
14837
  }
14838
14838
  function y() {
14839
14839
  i().then(() => {
14840
- const v = l.value;
14841
- v && (d || h(v), f(v));
14840
+ const m = l.value;
14841
+ m && (d || h(m), f(m));
14842
14842
  });
14843
14843
  }
14844
14844
  return le(
@@ -14847,7 +14847,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14847
14847
  { deep: !0, immediate: !0 }
14848
14848
  ), Ve(() => {
14849
14849
  i().then(() => u(l.value));
14850
- }), (v, g) => null;
14850
+ }), (m, g) => null;
14851
14851
  }
14852
14852
  }), kb = { class: "geolocation-panel-wrap absolute bottom-12 right-0 z-20 animate-slide-up flex items-end gap-2" }, $b = { class: "bg-white rounded-xl shadow-2xl border border-gray-200 overflow-hidden w-72" }, Cb = { class: "bg-gradient-to-r from-blue-400 to-blue-500 px-3 py-2 flex items-center justify-between" }, Sb = { class: "flex items-center gap-2" }, Ab = ["disabled"], Lb = { class: "px-3 py-3 border-t border-gray-100 flex items-center justify-between gap-3" }, Mb = { class: "text-sm font-mono text-slate-700" }, Eb = { class: "flex items-center gap-2 shrink-0" }, Tb = {
14853
14853
  key: 0,
@@ -14871,7 +14871,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14871
14871
  }, 600);
14872
14872
  });
14873
14873
  }
14874
- function m() {
14874
+ function v() {
14875
14875
  r("close");
14876
14876
  }
14877
14877
  function b() {
@@ -14900,7 +14900,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14900
14900
  type: "button",
14901
14901
  class: "w-5 h-5 flex items-center justify-center rounded hover:bg-white/20 transition-colors",
14902
14902
  "aria-label": "Закрити",
14903
- onClick: m
14903
+ onClick: v
14904
14904
  }, [
14905
14905
  ne(se(ln), {
14906
14906
  size: 14,
@@ -14982,7 +14982,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
14982
14982
  }
14983
14983
  l = !1;
14984
14984
  }
14985
- function m(d) {
14985
+ function v(d) {
14986
14986
  const h = d.getSource(Yt);
14987
14987
  if (h) {
14988
14988
  if (t.position == null) {
@@ -15003,7 +15003,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15003
15003
  l && p(d);
15004
15004
  return;
15005
15005
  }
15006
- l || a(d), m(d);
15006
+ l || a(d), v(d);
15007
15007
  }
15008
15008
  });
15009
15009
  }
@@ -15028,7 +15028,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15028
15028
  { id: "polygon", icon: gr, title: "Полігон" },
15029
15029
  { id: "paint", icon: ti, title: "Балончик" },
15030
15030
  { id: "eraser", icon: Ks, title: "Стирачка" }
15031
- ], i = T("pen"), s = T("#2563eb"), a = T(3), p = () => r("update:stroke-color", s.value), m = () => r("update:stroke-width", a.value);
15031
+ ], i = T("pen"), s = T("#2563eb"), a = T(3), p = () => r("update:stroke-color", s.value), v = () => r("update:stroke-width", a.value);
15032
15032
  le(i, (y) => r("update:tool", y)), le(s, (y) => r("update:stroke-color", y)), le(a, (y) => r("update:stroke-width", y));
15033
15033
  function b() {
15034
15034
  r("close");
@@ -15049,7 +15049,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15049
15049
  tool: i,
15050
15050
  strokeColor: s,
15051
15051
  strokeWidth: a
15052
- }), (y, v) => (c(), x("div", jb, [
15052
+ }), (y, m) => (c(), x("div", jb, [
15053
15053
  o("div", zb, [
15054
15054
  o("div", Nb, [
15055
15055
  o("div", Pb, [
@@ -15060,7 +15060,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15060
15060
  class: "text-white"
15061
15061
  })
15062
15062
  ]),
15063
- v[2] || (v[2] = o("h3", { class: "text-white font-semibold text-xs" }, "Малювання", -1))
15063
+ m[2] || (m[2] = o("h3", { class: "text-white font-semibold text-xs" }, "Малювання", -1))
15064
15064
  ]),
15065
15065
  o("button", {
15066
15066
  type: "button",
@@ -15076,7 +15076,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15076
15076
  ])
15077
15077
  ]),
15078
15078
  o("section", Ob, [
15079
- v[3] || (v[3] = o("span", { class: "block text-[11px] font-semibold text-gray-500 uppercase tracking-wider mb-2" }, " Інструмент ", -1)),
15079
+ m[3] || (m[3] = o("span", { class: "block text-[11px] font-semibold text-gray-500 uppercase tracking-wider mb-2" }, " Інструмент ", -1)),
15080
15080
  o("div", Db, [
15081
15081
  (c(), x(ie, null, he(l, (g) => o("button", {
15082
15082
  key: g.id,
@@ -15096,12 +15096,12 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15096
15096
  ])
15097
15097
  ]),
15098
15098
  o("section", Bb, [
15099
- v[6] || (v[6] = o("span", { class: "block text-[11px] font-semibold text-gray-500 uppercase tracking-wider mb-2" }, " Стиль ", -1)),
15099
+ m[6] || (m[6] = o("span", { class: "block text-[11px] font-semibold text-gray-500 uppercase tracking-wider mb-2" }, " Стиль ", -1)),
15100
15100
  o("div", Ub, [
15101
15101
  o("label", qb, [
15102
- v[4] || (v[4] = o("span", { class: "text-xs font-medium text-gray-600" }, "Колір", -1)),
15102
+ m[4] || (m[4] = o("span", { class: "text-xs font-medium text-gray-600" }, "Колір", -1)),
15103
15103
  Be(o("input", {
15104
- "onUpdate:modelValue": v[0] || (v[0] = (g) => s.value = g),
15104
+ "onUpdate:modelValue": m[0] || (m[0] = (g) => s.value = g),
15105
15105
  type: "color",
15106
15106
  class: "w-9 h-9 p-0.5 border-2 border-gray-200 rounded-lg cursor-pointer bg-white [&::-webkit-color-swatch-wrapper]:p-0 [&::-webkit-color-swatch]:border-none [&::-webkit-color-swatch]:rounded-md",
15107
15107
  onChange: p
@@ -15110,14 +15110,14 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15110
15110
  ])
15111
15111
  ]),
15112
15112
  o("label", Hb, [
15113
- v[5] || (v[5] = o("span", { class: "text-xs font-medium text-gray-600 shrink-0 w-14" }, "Товщина", -1)),
15113
+ m[5] || (m[5] = o("span", { class: "text-xs font-medium text-gray-600 shrink-0 w-14" }, "Товщина", -1)),
15114
15114
  Be(o("input", {
15115
- "onUpdate:modelValue": v[1] || (v[1] = (g) => a.value = g),
15115
+ "onUpdate:modelValue": m[1] || (m[1] = (g) => a.value = g),
15116
15116
  type: "range",
15117
15117
  min: "1",
15118
15118
  max: "12",
15119
15119
  class: "drawing-panel-range w-full min-w-[100px] h-2 bg-gray-200 rounded-full appearance-none cursor-pointer",
15120
- onInput: m
15120
+ onInput: v
15121
15121
  }, null, 544), [
15122
15122
  [
15123
15123
  gt,
@@ -15152,7 +15152,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15152
15152
  size: 14,
15153
15153
  "stroke-width": 2
15154
15154
  }),
15155
- v[7] || (v[7] = Ce(" Очистити ", -1))
15155
+ m[7] || (m[7] = Ce(" Очистити ", -1))
15156
15156
  ])
15157
15157
  ]),
15158
15158
  i.value === "polygon" ? (c(), x("button", {
@@ -15165,7 +15165,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15165
15165
  size: 14,
15166
15166
  "stroke-width": 2
15167
15167
  }),
15168
- v[8] || (v[8] = Ce(" Замкнути полігон ", -1))
15168
+ m[8] || (m[8] = Ce(" Замкнути полігон ", -1))
15169
15169
  ])) : X("", !0),
15170
15170
  o("button", {
15171
15171
  type: "button",
@@ -15176,7 +15176,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15176
15176
  size: 14,
15177
15177
  "stroke-width": 2
15178
15178
  }),
15179
- v[9] || (v[9] = Ce(" Завантажити як фото ", -1))
15179
+ m[9] || (m[9] = Ce(" Завантажити як фото ", -1))
15180
15180
  ])
15181
15181
  ])
15182
15182
  ])
@@ -15191,7 +15191,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15191
15191
  strokeWidth: { default: 3 }
15192
15192
  },
15193
15193
  setup(e, { expose: t }) {
15194
- const n = T(null), r = T(null), l = T(null), i = T({ x: 0, y: 0 }), s = T(!1), a = e, p = P(() => Math.max(a.strokeWidth * 3, 12)), m = P(() => {
15194
+ const n = T(null), r = T(null), l = T(null), i = T({ x: 0, y: 0 }), s = T(!1), a = e, p = P(() => Math.max(a.strokeWidth * 3, 12)), v = P(() => {
15195
15195
  const S = p.value * 2;
15196
15196
  return {
15197
15197
  width: `${S}px`,
@@ -15202,7 +15202,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15202
15202
  marginTop: `-${p.value}px`
15203
15203
  };
15204
15204
  }), { ready: b } = it(), d = T(!1), h = T([]), u = T([]);
15205
- let f = 0, y = 0, v = 0, g = 0, _ = null;
15205
+ let f = 0, y = 0, m = 0, g = 0, _ = null;
15206
15206
  function E() {
15207
15207
  const S = r.value, I = l.value, B = n.value;
15208
15208
  if (!S || !B) return;
@@ -15246,18 +15246,18 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15246
15246
  const S = C();
15247
15247
  if (S) {
15248
15248
  if ($(), S.globalCompositeOperation = "source-over", S.strokeStyle = a.strokeColor, S.lineWidth = a.strokeWidth, S.lineCap = "round", S.lineJoin = "round", a.tool === "line")
15249
- S.beginPath(), S.moveTo(f, y), S.lineTo(v, g), S.stroke();
15249
+ S.beginPath(), S.moveTo(f, y), S.lineTo(m, g), S.stroke();
15250
15250
  else if (a.tool === "rect") {
15251
- const I = Math.min(f, v), B = Math.min(y, g), U = Math.abs(v - f), te = Math.abs(g - y);
15251
+ const I = Math.min(f, m), B = Math.min(y, g), U = Math.abs(m - f), te = Math.abs(g - y);
15252
15252
  S.strokeRect(I, B, U, te);
15253
15253
  } else if (a.tool === "circle") {
15254
- const I = Math.sqrt((v - f) ** 2 + (g - y) ** 2);
15254
+ const I = Math.sqrt((m - f) ** 2 + (g - y) ** 2);
15255
15255
  S.beginPath(), S.arc(f, y, Math.max(I, 1), 0, 2 * Math.PI), S.stroke();
15256
15256
  } else if (a.tool === "polygon" && h.value.length > 0) {
15257
15257
  const I = h.value;
15258
15258
  S.beginPath(), S.moveTo(I[0].x, I[0].y);
15259
15259
  for (let B = 1; B < I.length; B++) S.lineTo(I[B].x, I[B].y);
15260
- S.lineTo(v, g), S.stroke();
15260
+ S.lineTo(m, g), S.stroke();
15261
15261
  }
15262
15262
  }
15263
15263
  }
@@ -15275,7 +15275,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15275
15275
  function K(S) {
15276
15276
  if (!r.value) return;
15277
15277
  const { x: I, y: B } = L(S);
15278
- f = I, y = B, v = I, g = B;
15278
+ f = I, y = B, m = I, g = B;
15279
15279
  const U = k();
15280
15280
  if (U) {
15281
15281
  if (a.tool === "pen" || a.tool === "eraser") {
@@ -15291,14 +15291,14 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15291
15291
  return;
15292
15292
  }
15293
15293
  if (a.tool === "polygon") {
15294
- h.value = [...h.value, { x: I, y: B }], v = I, g = B, A();
15294
+ h.value = [...h.value, { x: I, y: B }], m = I, g = B, A();
15295
15295
  return;
15296
15296
  }
15297
15297
  }
15298
15298
  }
15299
15299
  function oe(S) {
15300
15300
  const { x: I, y: B } = L(S);
15301
- v = I, g = B, a.tool === "eraser" && (i.value = { x: S.clientX, y: S.clientY }, s.value = !0);
15301
+ m = I, g = B, a.tool === "eraser" && (i.value = { x: S.clientX, y: S.clientY }, s.value = !0);
15302
15302
  const U = k();
15303
15303
  if (U) {
15304
15304
  if (a.tool === "pen" && d.value) {
@@ -15341,14 +15341,14 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15341
15341
  return;
15342
15342
  }
15343
15343
  if (a.tool === "line")
15344
- S.globalCompositeOperation = "source-over", N(S), S.beginPath(), S.moveTo(f, y), S.lineTo(v, g), S.stroke();
15344
+ S.globalCompositeOperation = "source-over", N(S), S.beginPath(), S.moveTo(f, y), S.lineTo(m, g), S.stroke();
15345
15345
  else if (a.tool === "rect") {
15346
15346
  S.globalCompositeOperation = "source-over", N(S);
15347
- const I = Math.min(f, v), B = Math.min(y, g), U = Math.abs(v - f), te = Math.abs(g - y);
15347
+ const I = Math.min(f, m), B = Math.min(y, g), U = Math.abs(m - f), te = Math.abs(g - y);
15348
15348
  S.strokeRect(I, B, U, te);
15349
15349
  } else if (a.tool === "circle") {
15350
15350
  S.globalCompositeOperation = "source-over", N(S);
15351
- const I = Math.sqrt((v - f) ** 2 + (g - y) ** 2);
15351
+ const I = Math.sqrt((m - f) ** 2 + (g - y) ** 2);
15352
15352
  S.beginPath(), S.arc(f, y, Math.max(I, 1), 0, 2 * Math.PI), S.stroke();
15353
15353
  }
15354
15354
  $(), d.value = !1, S.globalCompositeOperation = "source-over";
@@ -15420,7 +15420,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15420
15420
  }, null, 512),
15421
15421
  Be(o("div", {
15422
15422
  class: "drawing-canvas__eraser-cursor",
15423
- style: ft(m.value)
15423
+ style: ft(v.value)
15424
15424
  }, null, 4), [
15425
15425
  [Gt, e.tool === "eraser" && s.value]
15426
15426
  ])
@@ -15468,7 +15468,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15468
15468
  },
15469
15469
  setup(e) {
15470
15470
  var Xn, yn, In, jn;
15471
- const t = e, n = Lt(), r = Pt(), l = T(null), i = T({}), s = T(null), a = T(!1), p = T(null), m = T(!1), b = T([]), d = T(null), h = P(() => d.value === "ruler"), u = P(() => d.value === "draw"), f = P(() => d.value === "geolocation"), y = T("general"), v = T(null), g = T(null), _ = T(null), E = T("pen"), L = T("#2563eb"), k = T(3), C = T([]), $ = T(!1), A = T(null), N = T(!1), D = T(null), K = P(() => t.id || "main"), oe = P(() => {
15471
+ const t = e, n = Lt(), r = Pt(), l = T(null), i = T({}), s = T(null), a = T(!1), p = T(null), v = T(!1), b = T([]), d = T(null), h = P(() => d.value === "ruler"), u = P(() => d.value === "draw"), f = P(() => d.value === "geolocation"), y = T("general"), m = T(null), g = T(null), _ = T(null), E = T("pen"), L = T("#2563eb"), k = T(3), C = T([]), $ = T(!1), A = T(null), N = T(!1), D = T(null), K = P(() => t.id || "main"), oe = P(() => {
15472
15472
  var W, de;
15473
15473
  return {
15474
15474
  height: ((W = t.height) == null ? void 0 : W.trim()) || ((de = i.value) == null ? void 0 : de.height) || "calc(100vh - 65px)"
@@ -15626,11 +15626,11 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15626
15626
  var Ee;
15627
15627
  if (!b.value.includes("ruler") || !h.value) return;
15628
15628
  const de = W == null ? void 0 : W.lngLat;
15629
- de && ((Ee = v.value) == null || Ee.addPoint({ lat: de.lat, lng: de.lng }));
15629
+ de && ((Ee = m.value) == null || Ee.addPoint({ lat: de.lat, lng: de.lng }));
15630
15630
  }
15631
15631
  function Tn() {
15632
15632
  var W;
15633
- d.value === "ruler" ? (C.value = [], $.value = !1, (W = v.value) == null || W.clearPoints(), d.value = null) : (A.value = null, D.value = null, d.value = "ruler");
15633
+ d.value === "ruler" ? (C.value = [], $.value = !1, (W = m.value) == null || W.clearPoints(), d.value = null) : (A.value = null, D.value = null, d.value = "ruler");
15634
15634
  }
15635
15635
  function Jt() {
15636
15636
  d.value = null, C.value = [], $.value = !1;
@@ -15732,7 +15732,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15732
15732
  });
15733
15733
  async function $t(W = !1) {
15734
15734
  var Ee, qe;
15735
- m.value = !1, p.value = null, O.value = null;
15735
+ v.value = !1, p.value = null, O.value = null;
15736
15736
  const de = W || !t.data;
15737
15737
  a.value = de;
15738
15738
  try {
@@ -15742,7 +15742,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15742
15742
  throw new Error(`Помилка завантаження (${Ke.status})`);
15743
15743
  return Ke.json();
15744
15744
  })() : t.data;
15745
- de || (m.value = !0);
15745
+ de || (v.value = !0);
15746
15746
  const Ge = pn($e.center) ?? te, He = Fe($e.layers).map((Ke) => I(Ke)), _e = U($e.zoom) ?? pe;
15747
15747
  i.value = {
15748
15748
  ...$e,
@@ -15752,7 +15752,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15752
15752
  widgets: $e.widgets
15753
15753
  }, b.value = $e.tools || ["home", "print", "ruler", "draw"];
15754
15754
  const Ye = await ee();
15755
- Ye && (Ge && ((Ee = Ye.setCenter) == null || Ee.call(Ye, Ge)), _e != null && ((qe = Ye.setZoom) == null || qe.call(Ye, _e)), s.value || await We()), await we(), await et(), await Mt(), m.value = !0;
15755
+ Ye && (Ge && ((Ee = Ye.setCenter) == null || Ee.call(Ye, Ge)), _e != null && ((qe = Ye.setZoom) == null || qe.call(Ye, _e)), s.value || await We()), await we(), await et(), await Mt(), v.value = !0;
15756
15756
  } catch ($e) {
15757
15757
  p.value = ($e == null ? void 0 : $e.message) || "Не вдалося завантажити карту";
15758
15758
  } finally {
@@ -15856,7 +15856,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15856
15856
  b.value.includes("ruler") && h.value ? (c(), fe(wb, {
15857
15857
  key: 1,
15858
15858
  ref_key: "rulerPanelRef",
15859
- ref: v,
15859
+ ref: m,
15860
15860
  onClose: Jt,
15861
15861
  onTabChange: de[4] || (de[4] = (He) => y.value = He),
15862
15862
  onPointsChange: be,
@@ -15917,17 +15917,17 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15917
15917
  ne(se(ao), { class: "w-4 h-4" })
15918
15918
  ], 10, l2)) : X("", !0)
15919
15919
  ]),
15920
- m.value && h.value && C.value.length > 0 ? (c(), fe(_b, {
15920
+ v.value && h.value && C.value.length > 0 ? (c(), fe(_b, {
15921
15921
  key: 4,
15922
15922
  points: C.value,
15923
15923
  "is-shape-closed": $.value,
15924
15924
  "label-mode": y.value
15925
15925
  }, null, 8, ["points", "is-shape-closed", "label-mode"])) : X("", !0),
15926
- m.value && A.value != null ? (c(), fe(Ib, {
15926
+ v.value && A.value != null ? (c(), fe(Ib, {
15927
15927
  key: 5,
15928
15928
  position: A.value
15929
15929
  }, null, 8, ["position"])) : X("", !0),
15930
- m.value && u.value ? (c(), fe(Xb, {
15930
+ v.value && u.value ? (c(), fe(Xb, {
15931
15931
  key: 6,
15932
15932
  ref_key: "drawingCanvasRef",
15933
15933
  ref: _,
@@ -15935,7 +15935,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
15935
15935
  "stroke-color": L.value,
15936
15936
  "stroke-width": k.value
15937
15937
  }, null, 8, ["tool", "stroke-color", "stroke-width"])) : X("", !0),
15938
- m.value ? (c(), x(ie, { key: 7 }, [
15938
+ v.value ? (c(), x(ie, { key: 7 }, [
15939
15939
  o("div", i2, [
15940
15940
  (c(), x(ie, null, he(ce, (He) => o("div", {
15941
15941
  key: He,
@@ -16097,8 +16097,8 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16097
16097
  }
16098
16098
  try {
16099
16099
  JSON.parse(p), i.value = null;
16100
- } catch (m) {
16101
- i.value = m.message;
16100
+ } catch (v) {
16101
+ i.value = v.message;
16102
16102
  }
16103
16103
  }), le(
16104
16104
  () => n.modelValue,
@@ -16106,8 +16106,8 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16106
16106
  setTimeout(() => {
16107
16107
  const { monaco: p } = window;
16108
16108
  if (p && p.editor) {
16109
- const m = p.editor.getEditors();
16110
- m.length > 0 && m[m.length - 1].updateOptions({ wordWrap: "on" });
16109
+ const v = p.editor.getEditors();
16110
+ v.length > 0 && v[v.length - 1].updateOptions({ wordWrap: "on" });
16111
16111
  }
16112
16112
  }, 300);
16113
16113
  },
@@ -16125,14 +16125,14 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16125
16125
  console.error("Failed to parse JSON", p);
16126
16126
  }
16127
16127
  }
16128
- return (p, m) => e.modelValue !== null ? (c(), x("div", {
16128
+ return (p, v) => e.modelValue !== null ? (c(), x("div", {
16129
16129
  key: 0,
16130
16130
  class: "fixed inset-0 flex items-center justify-center bg-black/50 backdrop-blur-sm",
16131
16131
  onClick: nt(s, ["self"])
16132
16132
  }, [
16133
16133
  o("div", x2, [
16134
16134
  o("div", b2, [
16135
- m[1] || (m[1] = o("h3", { class: "text-lg font-semibold text-gray-800" }, " Редагування конфігурації (JSON) ", -1)),
16135
+ v[1] || (v[1] = o("h3", { class: "text-lg font-semibold text-gray-800" }, " Редагування конфігурації (JSON) ", -1)),
16136
16136
  o("button", {
16137
16137
  onClick: s,
16138
16138
  class: "text-gray-500 hover:text-gray-700 transition-colors"
@@ -16144,7 +16144,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16144
16144
  o("div", _2, [
16145
16145
  ne(Gn, {
16146
16146
  modelValue: l.value,
16147
- "onUpdate:modelValue": m[0] || (m[0] = (b) => l.value = b),
16147
+ "onUpdate:modelValue": v[0] || (v[0] = (b) => l.value = b),
16148
16148
  language: "json",
16149
16149
  theme: "vs-light",
16150
16150
  class: "w-full h-full"
@@ -16195,7 +16195,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16195
16195
  "bottom-left",
16196
16196
  "bottom-right"
16197
16197
  ], s = T(null), a = T(-1), p = P(() => n.modelValue || []);
16198
- function m() {
16198
+ function v() {
16199
16199
  const g = [
16200
16200
  ...p.value,
16201
16201
  {
@@ -16241,7 +16241,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16241
16241
  }
16242
16242
  });
16243
16243
  }
16244
- function v(g) {
16244
+ function m(g) {
16245
16245
  a.value > -1 && d(a.value, "config", g), s.value = null, a.value = -1;
16246
16246
  }
16247
16247
  return (g, _) => {
@@ -16250,7 +16250,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16250
16250
  o("div", { class: "flex items-center justify-between mb-4" }, [
16251
16251
  _[1] || (_[1] = o("h2", { class: "text-lg font-semibold text-gray-800" }, "Віджети", -1)),
16252
16252
  o("button", {
16253
- onClick: m,
16253
+ onClick: v,
16254
16254
  class: "px-3 py-1.5 text-sm bg-blue-600 text-white rounded-md hover:bg-blue-700 transition-colors"
16255
16255
  }, " + Додати віджет ")
16256
16256
  ]),
@@ -16349,7 +16349,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16349
16349
  teleport: "#modal",
16350
16350
  modelValue: s.value,
16351
16351
  "onUpdate:modelValue": _[0] || (_[0] = (L) => s.value = L),
16352
- onSave: v
16352
+ onSave: m
16353
16353
  }, null, 8, ["modelValue"])
16354
16354
  ]);
16355
16355
  };
@@ -16373,15 +16373,15 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16373
16373
  { name: "Шари", id: "layers" },
16374
16374
  { name: "Віджети", id: "widgets" },
16375
16375
  { name: "Карта", id: "map" }
16376
- ], m = p.map(($) => $.id), b = ($) => $ ? Array.isArray($) ? $[0] : $ : null, d = (() => {
16376
+ ], v = p.map(($) => $.id), b = ($) => $ ? Array.isArray($) ? $[0] : $ : null, d = (() => {
16377
16377
  const $ = b(n.query.tab);
16378
- return $ && m.includes($) ? $ : "general";
16378
+ return $ && v.includes($) ? $ : "general";
16379
16379
  })(), h = T(d);
16380
16380
  le(
16381
16381
  () => n.query.tab,
16382
16382
  ($) => {
16383
16383
  const A = b($);
16384
- A && m.includes(A) && h.value !== A && (h.value = A);
16384
+ A && v.includes(A) && h.value !== A && (h.value = A);
16385
16385
  }
16386
16386
  ), le(h, ($) => {
16387
16387
  n.query.tab !== $ && t.replace({ query: { ...n.query, tab: $ } });
@@ -16407,7 +16407,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16407
16407
  id: $.id,
16408
16408
  text: $.name || $.id
16409
16409
  }))
16410
- ), v = P({
16410
+ ), m = P({
16411
16411
  get: () => f.value.map(($) => {
16412
16412
  const A = y.value.find((N) => N.id === $);
16413
16413
  return A ? A.text : $;
@@ -16626,8 +16626,8 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16626
16626
  options: y.value,
16627
16627
  layerIDs: f.value,
16628
16628
  "onUpdate:layerIDs": A[4] || (A[4] = (D) => f.value = D),
16629
- layerNames: v.value,
16630
- "onUpdate:layerNames": A[5] || (A[5] = (D) => v.value = D)
16629
+ layerNames: m.value,
16630
+ "onUpdate:layerNames": A[5] || (A[5] = (D) => m.value = D)
16631
16631
  }, null, 8, ["options", "layerIDs", "layerNames"])
16632
16632
  ], 512), [
16633
16633
  [Gt, h.value === "layers"]
@@ -16642,7 +16642,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16642
16642
  ne(h2, {
16643
16643
  "center-display": g.value,
16644
16644
  "zoom-display": _.value,
16645
- "layer-names": v.value,
16645
+ "layer-names": m.value,
16646
16646
  id: se(n).params.id
16647
16647
  }, null, 8, ["center-display", "zoom-display", "layer-names", "id"])
16648
16648
  ], 512), [
@@ -16678,11 +16678,11 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16678
16678
  },
16679
16679
  emits: ["update:counts"],
16680
16680
  setup(e, { expose: t, emit: n }) {
16681
- const r = e, l = n, i = Pt(), s = Lt(), a = T(Number(s.query.page) || 1), p = T(!1), m = T(0), b = T([]), d = P(() => {
16681
+ const r = e, l = n, i = Pt(), s = Lt(), a = T(Number(s.query.page) || 1), p = T(!1), v = T(0), b = T([]), d = P(() => {
16682
16682
  const $ = (a.value - 1) * Fo, A = $ + Fo;
16683
16683
  return b.value.slice($, A);
16684
16684
  }), h = T(!0), u = T(null), f = T(null);
16685
- let y = null, v = null;
16685
+ let y = null, m = null;
16686
16686
  const g = ($ = "", A = "") => {
16687
16687
  const N = new URLSearchParams(), D = $.trim();
16688
16688
  D && N.set("search", D);
@@ -16698,17 +16698,17 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16698
16698
  throw new Error(`HTTP error: ${D.status}`);
16699
16699
  const K = await D.json();
16700
16700
  if (b.value = K.data, !$.trim())
16701
- m.value = K.data.length;
16702
- else if (m.value === 0) {
16701
+ v.value = K.data.length;
16702
+ else if (v.value === 0) {
16703
16703
  const oe = await fetch(g("", A));
16704
16704
  if (oe.ok) {
16705
16705
  const ae = await oe.json();
16706
- m.value = ae.data.length;
16706
+ v.value = ae.data.length;
16707
16707
  }
16708
16708
  }
16709
16709
  l("update:counts", {
16710
16710
  filtered: b.value.length,
16711
- total: m.value
16711
+ total: v.value
16712
16712
  });
16713
16713
  } catch (N) {
16714
16714
  u.value = N instanceof Error ? N.message : "Failed to load classifiers", console.error("Error fetching classifiers:", N);
@@ -16735,7 +16735,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
16735
16735
  _(r.search, r.type ?? "");
16736
16736
  }, k = async ($) => {
16737
16737
  try {
16738
- await navigator.clipboard.writeText($), f.value = $, v && clearTimeout(v), v = setTimeout(() => {
16738
+ await navigator.clipboard.writeText($), f.value = $, m && clearTimeout(m), m = setTimeout(() => {
16739
16739
  f.value = null;
16740
16740
  }, 500);
16741
16741
  } catch (A) {
@@ -17046,7 +17046,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
17046
17046
  }, n_ = ["disabled"], o_ = ["disabled"], r_ = { class: "flex items-center gap-3" }, l_ = { class: "bg-white rounded-lg shadow-sm border border-gray-200 p-4 mb-4" }, s_ = { class: "relative max-w-md" }, i_ = { class: "vs-form-text relative w-full border-transparent text-sm focus:bg-white focus:border-blue-500 focus:ring-blue-500 rounded-sm" }, a_ = { class: "absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3" }, u_ = /* @__PURE__ */ me({
17047
17047
  __name: "DictionaryDetails",
17048
17048
  setup(e) {
17049
- const t = Pt(), n = Lt(), r = P(() => n.params.name), l = T(!1), i = T(null), s = T(null), a = T(""), p = T(""), m = T(""), b = T(!1), d = T(!1), h = T(null), u = async () => {
17049
+ const t = Pt(), n = Lt(), r = P(() => n.params.name), l = T(!1), i = T(null), s = T(null), a = T(""), p = T(""), v = T(""), b = T(!1), d = T(!1), h = T(null), u = async () => {
17050
17050
  var E;
17051
17051
  try {
17052
17052
  const L = await fetch(
@@ -17059,20 +17059,20 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
17059
17059
  console.error("Error fetching classifier details:", L);
17060
17060
  }
17061
17061
  }, f = () => {
17062
- m.value = p.value, b.value = !0, st(() => {
17062
+ v.value = p.value, b.value = !0, st(() => {
17063
17063
  var E;
17064
17064
  (E = h.value) == null || E.focus();
17065
17065
  });
17066
17066
  }, y = () => {
17067
- b.value = !1, m.value = "";
17068
- }, v = async () => {
17067
+ b.value = !1, v.value = "";
17068
+ }, m = async () => {
17069
17069
  try {
17070
17070
  d.value = !0;
17071
17071
  const k = (await (await fetch(
17072
17072
  `/api/suggest/${encodeURIComponent(r.value)}`
17073
17073
  )).json()).data || [], C = {
17074
17074
  name: r.value,
17075
- description: m.value.trim() || null,
17075
+ description: v.value.trim() || null,
17076
17076
  data: k
17077
17077
  }, $ = await fetch(
17078
17078
  `/api/user-cls/${encodeURIComponent(r.value)}`,
@@ -17086,7 +17086,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
17086
17086
  );
17087
17087
  if (!$.ok)
17088
17088
  throw new Error(`HTTP error: ${$.status}`);
17089
- p.value = m.value, b.value = !1;
17089
+ p.value = v.value, b.value = !1;
17090
17090
  } catch (E) {
17091
17091
  console.error("Error saving description:", E);
17092
17092
  } finally {
@@ -17120,19 +17120,19 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
17120
17120
  Be(o("input", {
17121
17121
  ref_key: "editInputRef",
17122
17122
  ref: h,
17123
- "onUpdate:modelValue": L[1] || (L[1] = (k) => m.value = k),
17123
+ "onUpdate:modelValue": L[1] || (L[1] = (k) => v.value = k),
17124
17124
  type: "text",
17125
17125
  class: "text-sm text-gray-600 border-b-2 border-sky-500 focus:outline-none bg-transparent w-full py-0.5",
17126
17126
  onKeydown: [
17127
- dr(v, ["enter"]),
17127
+ dr(m, ["enter"]),
17128
17128
  dr(y, ["esc"])
17129
17129
  ],
17130
17130
  placeholder: "Введіть опис"
17131
17131
  }, null, 544), [
17132
- [gt, m.value]
17132
+ [gt, v.value]
17133
17133
  ]),
17134
17134
  o("button", {
17135
- onClick: v,
17135
+ onClick: m,
17136
17136
  disabled: d.value,
17137
17137
  class: "p-1.5 text-green-600 hover:bg-green-50 rounded transition-colors disabled:opacity-50"
17138
17138
  }, [
@@ -17228,14 +17228,14 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
17228
17228
  var p;
17229
17229
  (p = l.value) == null || p.refetch();
17230
17230
  };
17231
- return (p, m) => (c(), x("div", c_, [
17231
+ return (p, v) => (c(), x("div", c_, [
17232
17232
  o("div", d_, [
17233
17233
  se(t).params.name ? X("", !0) : (c(), fe(zw, {
17234
17234
  key: 0,
17235
17235
  modelValue: n.value,
17236
- "onUpdate:modelValue": m[0] || (m[0] = (b) => n.value = b),
17236
+ "onUpdate:modelValue": v[0] || (v[0] = (b) => n.value = b),
17237
17237
  filter: r.value,
17238
- "onUpdate:filter": m[1] || (m[1] = (b) => r.value = b),
17238
+ "onUpdate:filter": v[1] || (v[1] = (b) => r.value = b),
17239
17239
  counts: i.value,
17240
17240
  onRefresh: a
17241
17241
  }, null, 8, ["modelValue", "filter", "counts"])),
@@ -17248,7 +17248,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
17248
17248
  "onUpdate:counts": s
17249
17249
  }, null, 8, ["search", "type"]))
17250
17250
  ]),
17251
- m[2] || (m[2] = o("div", {
17251
+ v[2] || (v[2] = o("div", {
17252
17252
  id: "pagination",
17253
17253
  class: "bg-gray-100"
17254
17254
  }, null, -1))
@@ -17286,7 +17286,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
17286
17286
  },
17287
17287
  { immediate: !0 }
17288
17288
  );
17289
- const m = P(() => {
17289
+ const v = P(() => {
17290
17290
  var L, k;
17291
17291
  return ((k = (L = r.data) == null ? void 0 : L.routers) == null ? void 0 : k.map((C) => {
17292
17292
  if (C != null && C.menu && Array.isArray(C.menu)) {
@@ -17341,13 +17341,13 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
17341
17341
  return L.path || L.table || L.ua || JSON.stringify(L);
17342
17342
  }
17343
17343
  function f(L) {
17344
- return L.ua || L.name || L.path || JSON.stringify(L);
17344
+ return L.id || L.name || L.ua;
17345
17345
  }
17346
17346
  function y(L) {
17347
17347
  const k = f(L);
17348
17348
  return a.value[k] === !0;
17349
17349
  }
17350
- function v(L) {
17350
+ function m(L) {
17351
17351
  const k = f(L);
17352
17352
  a.value[k] = !y(L);
17353
17353
  }
@@ -17386,14 +17386,14 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
17386
17386
  ])
17387
17387
  ]),
17388
17388
  o("tbody", v_, [
17389
- (c(!0), x(ie, null, he(m.value, (C) => (c(), x(ie, {
17389
+ (c(!0), x(ie, null, he(v.value, (C) => (c(), x(ie, {
17390
17390
  key: (C == null ? void 0 : C.path) || (C == null ? void 0 : C.ua)
17391
17391
  }, [
17392
17392
  o("tr", g_, [
17393
17393
  C != null && C.menu ? (c(), x("td", {
17394
17394
  key: 0,
17395
17395
  class: "px-6 py-3.5 cursor-pointer",
17396
- onClick: ($) => v(C)
17396
+ onClick: ($) => m(C)
17397
17397
  }, [
17398
17398
  o("button", h_, [
17399
17399
  ne(se(ol), {
@@ -17455,21 +17455,21 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
17455
17455
  ])
17456
17456
  ]));
17457
17457
  }
17458
- }), F_ = { class: "flex flex-col gap-4" }, I_ = { class: "flex items-center gap-3" }, j_ = { class: "flex-1 relative" }, H_ = /* @__PURE__ */ me({
17458
+ }), F_ = { class: "flex flex-col gap-4 mt-2 mx-2" }, I_ = { class: "flex items-center gap-3" }, j_ = { class: "flex-1 relative" }, H_ = /* @__PURE__ */ me({
17459
17459
  __name: "VsPermissions",
17460
17460
  setup(e) {
17461
17461
  const t = Lt(), n = T(""), r = T(null), l = T({ categories: [], layers: [] }), i = T([]), s = T(["edit"]), a = P(() => {
17462
17462
  const d = n.value.toLowerCase().trim(), h = p(l.value);
17463
17463
  return d ? h.map((u) => {
17464
- const f = String(u.ua || "").toLowerCase().includes(d), y = (u.menu || []).filter((v) => String(v.ua || "").toLowerCase().includes(d));
17464
+ const f = String(u.ua || "").toLowerCase().includes(d), y = (u.menu || []).filter((m) => String(m.ua || "").toLowerCase().includes(d));
17465
17465
  return f ? { ...u, menu: y } : y.length ? { ...u, menu: y } : null;
17466
17466
  }).filter(Boolean) : h;
17467
17467
  }), p = (d) => {
17468
- const h = d.categories || [], u = d.layers || [];
17469
- return h.map((f) => {
17470
- const y = u.filter((v) => v.category_id === f.category_id).map((v) => ({
17471
- ua: v.name,
17472
- path: String(v.service_id || v.layer_id),
17468
+ const h = d.categories || [], u = d.layers || [], f = h.map((m) => {
17469
+ const g = u.filter((_) => _.category_id === m.category_id).map((_) => ({
17470
+ id: String(_.layer_id),
17471
+ ua: _.name,
17472
+ path: String(_.layer_id),
17473
17473
  perms: {
17474
17474
  view: !1,
17475
17475
  add: !1,
@@ -17477,9 +17477,20 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
17477
17477
  del: !1
17478
17478
  }
17479
17479
  }));
17480
- return y.length ? { ua: f.name, menu: y } : null;
17481
- }).filter(Boolean);
17482
- }, m = async () => {
17480
+ return g.length ? { ua: m.name, menu: g, id: m.category_id } : null;
17481
+ }).filter(Boolean), y = u.filter((m) => !m.category_id).map((m) => ({
17482
+ ua: m.name,
17483
+ id: String(m.layer_id),
17484
+ path: String(m.layer_id),
17485
+ perms: {
17486
+ view: !1,
17487
+ add: !1,
17488
+ edit: !1,
17489
+ del: !1
17490
+ }
17491
+ }));
17492
+ return y.length && f.push({ ua: "Без категорії", menu: y, id: "noCategory" }), f;
17493
+ }, v = async () => {
17483
17494
  const [d, h] = await Promise.all([
17484
17495
  fetch("/api/catalog").then((u) => u.json()),
17485
17496
  fetch(`/api/catalog-permissions/${t.params.id}`).then((u) => u.json())
@@ -17491,8 +17502,8 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
17491
17502
  }, b = async () => {
17492
17503
  var u, f;
17493
17504
  const h = (((f = (u = r.value) == null ? void 0 : u.getSelected) == null ? void 0 : f.call(u)) || i.value).filter((y) => {
17494
- var v;
17495
- return (v = y.actions) == null ? void 0 : v.length;
17505
+ var m;
17506
+ return (m = y.actions) == null ? void 0 : m.length;
17496
17507
  }).map((y) => ({
17497
17508
  service_id: y.id,
17498
17509
  actions: y.actions
@@ -17511,7 +17522,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
17511
17522
  je({ title: "Помилка", message: y.message, type: "error" });
17512
17523
  });
17513
17524
  };
17514
- return Ue(m), (d, h) => (c(), x("div", F_, [
17525
+ return Ue(v), (d, h) => (c(), x("div", F_, [
17515
17526
  o("div", I_, [
17516
17527
  o("div", j_, [
17517
17528
  Be(o("input", {