@opengis/gis 0.2.93 → 0.2.94

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/README.md +5 -5
  2. package/dist/index.css +1 -1
  3. package/dist/index.js +858 -852
  4. package/dist/index.umd.cjs +11 -11
  5. package/module/cls.json +6 -6
  6. package/module/gis/card/gis.metadata.table/index.yml +22 -22
  7. package/module/gis/card/gis.metadata.table/main_info.hbs +20 -20
  8. package/module/gis/card/gis.metadata.table/metadata_info.hbs +27 -27
  9. package/module/gis/card/gis.metadata.table/other.hbs +25 -25
  10. package/module/gis/card/gis.rasters.table/index.yml +11 -11
  11. package/module/gis/card/gis.rasters.table/main_info.hbs +27 -27
  12. package/module/gis/card/gis.registers.table/cls.hbs +36 -36
  13. package/module/gis/card/gis.registers.table/columns.hbs +89 -89
  14. package/module/gis/card/gis.registers.table/filters.hbs +80 -80
  15. package/module/gis/card/gis.registers.table/index.yml +23 -23
  16. package/module/gis/card/gis.registers.table/main_info.hbs +35 -35
  17. package/module/gis/card/gis.registers.table/source.hbs +45 -45
  18. package/module/gis/card/gis.services.table/attributes.hbs +91 -91
  19. package/module/gis/card/gis.services.table/filters.hbs +83 -83
  20. package/module/gis/card/gis.services.table/index.yml +25 -25
  21. package/module/gis/card/gis.services.table/main_info.hbs +27 -27
  22. package/module/gis/card/gis.services.table/source.hbs +25 -25
  23. package/module/gis/cls/bool.yes_no.json +12 -12
  24. package/module/gis/cls/encoding.json +14 -14
  25. package/module/gis/cls/geom_type.json +14 -14
  26. package/module/gis/cls/gis.column_type.json +34 -34
  27. package/module/gis/cls/gis.column_view_type.json +26 -26
  28. package/module/gis/cls/gis.filter_type.json +22 -22
  29. package/module/gis/cls/language.json +10 -10
  30. package/module/gis/cls/meta.service_type.json +42 -42
  31. package/module/gis/cls/ogc.service.json +21 -21
  32. package/module/gis/cls/service_type.json +42 -42
  33. package/module/gis/cls/source_type.json +10 -10
  34. package/module/gis/cls/standarts.json +6 -6
  35. package/module/gis/cls/topic_category.json +106 -106
  36. package/module/gis/cls/update_frequency.json +29 -29
  37. package/module/gis/cls/view.json +21 -21
  38. package/module/gis/form/gis.cartocss.form.json +39 -39
  39. package/module/gis/form/gis.group_list.form.json +17 -17
  40. package/module/gis/form/gis.maps.form.json +61 -61
  41. package/module/gis/form/gis.metadata.form.json +240 -240
  42. package/module/gis/form/gis.ogc_service.form.json +45 -45
  43. package/module/gis/form/gis.rasters.form.json +76 -76
  44. package/module/gis/form/gis.registers.form.json +124 -124
  45. package/module/gis/form/gis.registers_column.form.json +84 -84
  46. package/module/gis/form/gis.registers_filter.form.json +65 -65
  47. package/module/gis/form/gis.services.form.json +111 -111
  48. package/module/gis/form/gis.services_attributes.form.json +75 -75
  49. package/module/gis/form/gis.services_filter.form.json +65 -65
  50. package/module/gis/menu.json +43 -43
  51. package/module/gis/select/admin.cls.name.sql +2 -2
  52. package/module/gis/select/pg.columns.parent.sql +6 -6
  53. package/module/gis/select/pg.table_name.sql +17 -17
  54. package/module/gis/select/service_id.sql +1 -1
  55. package/module/gis/table/gis.cartocss.table.json +74 -74
  56. package/module/gis/table/gis.group_list.table.json +58 -58
  57. package/module/gis/table/gis.maps.table.json +111 -111
  58. package/module/gis/table/gis.metadata.table.json +70 -70
  59. package/module/gis/table/gis.ogc_service.table.json +100 -100
  60. package/module/gis/table/gis.rasters.table.json +101 -101
  61. package/module/gis/table/gis.registers.table.json +144 -144
  62. package/module/gis/table/gis.services.table.json +121 -121
  63. package/module/gis/table/site.gis.registers.table.json +88 -88
  64. package/module/gis/table/site.gis.services.table.json +106 -106
  65. package/module/gis/templates/ISO19136_2017_gml_template.xml +330 -330
  66. package/module/gis/tokens.yml +5 -5
  67. package/module/permissions/form/permissions.users.form.json +151 -151
  68. package/module/permissions/table/gis.permissions.table.json +98 -98
  69. package/module/test/cls/bp_build_type.json +37 -37
  70. package/module/test/cls/doc_status.json +31 -31
  71. package/module/test/cls/ts.temp_status.json +18 -18
  72. package/module/test/cls/ts.temp_structure.ts_class.json +49 -49
  73. package/module/test/cls/ts.temp_type.json +9 -9
  74. package/module/test/layer/bp.json +59 -59
  75. package/module/test/layer/bp1.yml +33 -33
  76. package/module/test/layer/individual.yml +53 -53
  77. package/module/test/layer/ts.linking_passport.yml +55 -55
  78. package/module/test/layer/ts.temp_structure.yml +50 -50
  79. package/module/test/map/addr.yml +21 -21
  80. package/module/test/map/bp_myo.json +43 -43
  81. package/module/test/map/bpf.json +43 -43
  82. package/module/test/map/main.json +36 -36
  83. package/module/test/map/mbd.json +91 -91
  84. package/module/test/map/ts.json +52 -52
  85. package/module/test/select/address_id.json +2 -2
  86. package/module/test/select/address_id.sql +7 -7
  87. package/module/test/select/core.user_uid.sql +1 -1
  88. package/module/test/table/data_address.street.table.json +69 -69
  89. package/module/test/table/data_bp_myo.bp.table.json +122 -122
  90. package/package.json +76 -76
  91. package/plugin.js +49 -49
  92. package/server/migrations/array_intersect.sql +13 -13
  93. package/server/migrations/cartocss.sql +25 -25
  94. package/server/migrations/group_list.sql +74 -74
  95. package/server/migrations/maps.sql +30 -30
  96. package/server/migrations/metadata.sql +415 -415
  97. package/server/migrations/ogc.sql +106 -106
  98. package/server/migrations/rasters.sql +265 -265
  99. package/server/migrations/services.sql +247 -247
  100. package/server/migrations/services_users_rel.sql +22 -22
  101. package/server/migrations/widgets.sql +20 -20
  102. package/server/plugins/crons.js +21 -21
  103. package/server/plugins/mapnik/funcs/checkRasterFile.js +108 -108
  104. package/server/plugins/mapnik/funcs/mapnik.js +146 -146
  105. package/server/plugins/mapnik/funcs/rootFolder.mjs +8 -8
  106. package/server/plugins/mapnik/map.proto +231 -231
  107. package/server/plugins/vite.js +75 -75
  108. package/server/routes/gis/cartocss/add.cartocss.js +39 -39
  109. package/server/routes/gis/cartocss/get.cartocss.js +49 -49
  110. package/server/routes/gis/checkXML.js +118 -118
  111. package/server/routes/gis/dashboard.js +29 -29
  112. package/server/routes/gis/index.mjs +87 -87
  113. package/server/routes/gis/metadata/editMetadata.js +34 -34
  114. package/server/routes/gis/metadata/metadataXML.js +13 -13
  115. package/server/routes/gis/ogc/map.info.point.js +124 -124
  116. package/server/routes/gis/registers/add.registry.js +35 -35
  117. package/server/routes/gis/registers/del.registry.js +14 -14
  118. package/server/routes/gis/registers/funcs/classifiers.js +100 -100
  119. package/server/routes/gis/registers/funcs/columns.js +4 -4
  120. package/server/routes/gis/registers/funcs/content.type.js +9 -9
  121. package/server/routes/gis/registers/funcs/get.info.js +89 -89
  122. package/server/routes/gis/registers/funcs/handleRegistryRequest.js +146 -146
  123. package/server/routes/gis/registers/gis.export.js +148 -148
  124. package/server/routes/gis/registers/gis.registry.js +64 -64
  125. package/server/routes/gis/registers/gis.registry.list.js +59 -59
  126. package/server/routes/gis/registers/insert.columns.js +107 -107
  127. package/server/routes/gis/registers/insert.filters.js +110 -110
  128. package/server/routes/gis/registers/map.registry.js +79 -79
  129. package/server/routes/gis/services/add.service.js +64 -64
  130. package/server/routes/gis/services/del.service.js +12 -12
  131. package/server/routes/gis/services/get.layer.geom.js +27 -27
  132. package/server/routes/gis/services/get.services.col.js +33 -33
  133. package/server/routes/gis/services/get.services.js +84 -84
  134. package/server/routes/gis/services/legend.auto.js +77 -77
  135. package/server/routes/map/controllers/geojson.js +187 -187
  136. package/server/routes/map/controllers/jsonData.js +205 -205
  137. package/server/routes/map/controllers/layerList.js +103 -103
  138. package/server/routes/map/controllers/map.js +123 -123
  139. package/server/routes/map/controllers/mapCatalog.js +72 -72
  140. package/server/routes/map/controllers/mapCatalogAttribute.js +55 -55
  141. package/server/routes/map/controllers/mapFeatures.js +128 -128
  142. package/server/routes/map/controllers/mapFormat.js +225 -225
  143. package/server/routes/map/controllers/mapTiles.js +152 -152
  144. package/server/routes/map/controllers/maps.js +15 -15
  145. package/server/routes/map/controllers/marker_icon.js +43 -43
  146. package/server/routes/map/controllers/vtile.js +172 -172
  147. package/server/routes/map/index.mjs +142 -142
  148. package/server/routes/map/maps/add.map.js +43 -43
  149. package/server/routes/map/maps/del.map.js +18 -18
  150. package/server/routes/map/maps/get.map.js +112 -112
  151. package/server/routes/map/vtile1.js +176 -176
  152. package/server/routes/map/widgets/add.widget.js +38 -38
  153. package/server/routes/map/widgets/del.widget.js +22 -22
  154. package/server/routes/map/widgets/get.widget.js +40 -40
  155. package/server/routes/mapnik/controllers/clearTiles.js +94 -94
  156. package/server/routes/mapnik/controllers/createXml.js +66 -66
  157. package/server/routes/mapnik/controllers/createXmlMulti.js +75 -75
  158. package/server/routes/mapnik/controllers/fileSearch.js +34 -34
  159. package/server/routes/mapnik/controllers/fileStat.js +27 -27
  160. package/server/routes/mapnik/controllers/mapnikLogger.js +29 -29
  161. package/server/routes/mapnik/controllers/mapnikStat.js +20 -20
  162. package/server/routes/mapnik/controllers/rasterInfo.js +50 -50
  163. package/server/routes/mapnik/controllers/readDir.js +19 -19
  164. package/server/routes/mapnik/controllers/rtile.js +122 -122
  165. package/server/routes/mapnik/controllers/uploadRaster.js +157 -157
  166. package/server/routes/mapnik/functions/cartoBounds.js +23 -23
  167. package/server/routes/mapnik/functions/uploadXML.js +110 -110
  168. package/server/routes/mapnik/index.js +28 -28
  169. package/server/routes/permissions/controllers/catalog.permissions.edit.js +22 -22
  170. package/server/routes/permissions/controllers/catalog.permissions.js +7 -7
  171. package/server/routes/permissions/controllers/gis.catalog.js +80 -80
  172. package/server/routes/permissions/controllers/utils/get.permissions.js +43 -43
  173. package/server/routes/permissions/index.mjs +18 -18
  174. package/server/routes/root.mjs +3 -3
  175. package/utils.js +13 -13
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { defineComponent as ve, computed as O, openBlock as d, createElementBlock as h, normalizeClass as Le, renderSlot as wt, createCommentVNode as X, createElementVNode as o, createTextVNode as Ae, toDisplayString as U, h as Kn, defineAsyncComponent as rt, useModel as pt, ref as M, watch as ee, createVNode as le, unref as ce, withCtx as je, mergeModels as _t, createStaticVNode as Vt, useSlots as ss, Fragment as te, renderList as ge, normalizeStyle as Qe, withModifiers as Je, createBlock as me, resolveDynamicComponent as Tt, withDirectives as Ue, onBeforeUnmount as ze, onMounted as Ne, resolveComponent as Lr, shallowRef as Er, onUnmounted as Sn, provide as is, inject as as, vModelText as vt, getCurrentInstance as Mt, nextTick as Ye, reactive as ft, Teleport as gt, Transition as so, createSlots as us, toRef as cs, resolveDirective as ds, vShow as At, vModelRadio as fs, vModelSelect as Ro, withKeys as Po } from "vue";
1
+ import { defineComponent as ve, computed as O, openBlock as d, createElementBlock as h, normalizeClass as Le, renderSlot as wt, createCommentVNode as X, createElementVNode as o, createTextVNode as Ae, toDisplayString as U, h as Kn, mergeModels as _t, defineAsyncComponent as rt, useModel as pt, ref as M, watch as ee, createVNode as ie, unref as ce, withCtx as je, createStaticVNode as Dt, useSlots as ss, Fragment as te, renderList as ge, normalizeStyle as Qe, withModifiers as Je, createBlock as me, resolveDynamicComponent as Tt, withDirectives as Ue, onBeforeUnmount as ze, onMounted as Ne, resolveComponent as Lr, shallowRef as Er, onUnmounted as Sn, provide as is, inject as as, vModelText as vt, getCurrentInstance as Mt, nextTick as Ye, reactive as ft, Teleport as gt, Transition as so, createSlots as us, toRef as cs, resolveDirective as ds, vShow as At, vModelRadio as fs, vModelSelect as Ro, withKeys as Po } from "vue";
2
2
  import { useRoute as ut, useRouter as mt } from "vue-router";
3
- import { notify as Me, TooltipDirective as ps, confirm as Vo, VsPagination as ms } from "@opengis/core";
3
+ import { notify as Me, TooltipDirective as ps, confirm as Do, VsPagination as ms } from "@opengis/core";
4
4
  import { VsInputArraySelect as vs, VsInputMask as gs } from "@opengis/form";
5
5
  const ys = {
6
6
  key: 0,
@@ -51,7 +51,7 @@ const ys = {
51
51
  * This source code is licensed under the ISC license.
52
52
  * See the LICENSE file in the root directory of this source tree.
53
53
  */
54
- const Do = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), bs = (e) => e.replace(
54
+ const Vo = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), bs = (e) => e.replace(
55
55
  /^([A-Z])|[\s-_]+(\w)/g,
56
56
  (t, n, r) => r ? r.toUpperCase() : n.toLowerCase()
57
57
  ), ws = (e) => {
@@ -91,7 +91,7 @@ const ks = ({ size: e, strokeWidth: t = 2, absoluteStrokeWidth: n, color: r, ico
91
91
  "stroke-width": n ? Number(t) * 24 / Number(e) : t,
92
92
  class: _s(
93
93
  "lucide",
94
- ...i ? [`lucide-${Do(ws(i))}-icon`, `lucide-${Do(i)}`] : ["lucide-icon"]
94
+ ...i ? [`lucide-${Vo(ws(i))}-icon`, `lucide-${Vo(i)}`] : ["lucide-icon"]
95
95
  ),
96
96
  ...a
97
97
  },
@@ -434,7 +434,7 @@ const Ps = Be("trash-2", [
434
434
  * This source code is licensed under the ISC license.
435
435
  * See the LICENSE file in the root directory of this source tree.
436
436
  */
437
- const Vs = Be("trash", [
437
+ const Ds = Be("trash", [
438
438
  ["path", { d: "M3 6h18", key: "d0wm0j" }],
439
439
  ["path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6", key: "4alrt4" }],
440
440
  ["path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2", key: "v07s0e" }]
@@ -448,7 +448,7 @@ const Vs = Be("trash", [
448
448
  const dn = Be("x", [
449
449
  ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
450
450
  ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
451
- ]), Ds = { class: "flex items-center justify-center col-span-3 gap-2" }, Bs = { class: "flex justify-end p-[20px] gap-[10px] border-t w-full" }, Us = /* @__PURE__ */ ve({
451
+ ]), Vs = { class: "flex items-center justify-center col-span-3 gap-2" }, Bs = { class: "flex justify-end p-[20px] gap-[10px] border-t w-full" }, Us = /* @__PURE__ */ ve({
452
452
  __name: "vs-datatable-controls",
453
453
  props: /* @__PURE__ */ _t({
454
454
  index: {},
@@ -480,22 +480,22 @@ const dn = Be("x", [
480
480
  }
481
481
  l.value[r.index] = a.value, i.value = !1;
482
482
  };
483
- return (v, c) => (d(), h("div", Ds, [
483
+ return (v, c) => (d(), h("div", Vs, [
484
484
  o("button", {
485
485
  onClick: c[0] || (c[0] = (g) => {
486
486
  i.value = !0;
487
487
  }),
488
488
  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 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground h-8 w-8 rounded-full hover:bg-gray-100"
489
489
  }, [
490
- le(ce(jr), { class: "w-4 h-4" })
490
+ ie(ce(jr), { class: "w-4 h-4" })
491
491
  ]),
492
492
  o("button", {
493
493
  onClick: f,
494
494
  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 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 h-8 w-8 rounded-full hover:bg-red-100 text-red-600 hover:text-red-700"
495
495
  }, [
496
- le(ce(Vs), { class: "w-4 h-4" })
496
+ ie(ce(Ds), { class: "w-4 h-4" })
497
497
  ]),
498
- le(ce(n), {
498
+ ie(ce(n), {
499
499
  teleport: "#modal",
500
500
  size: "lg",
501
501
  visible: i.value,
@@ -516,7 +516,7 @@ const dn = Be("x", [
516
516
  ])
517
517
  ]),
518
518
  default: je(() => [
519
- le(ce(t), {
519
+ ie(ce(t), {
520
520
  values: a.value,
521
521
  "onUpdate:values": c[1] || (c[1] = (g) => a.value = g),
522
522
  schema: e.scheme,
@@ -778,7 +778,7 @@ const gi = /* @__PURE__ */ Se(pi, [["render", vi]]), yi = {}, hi = {
778
778
  };
779
779
  function xi(e, t) {
780
780
  return d(), h("svg", hi, [...t[0] || (t[0] = [
781
- Vt('<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path>', 5)
781
+ Dt('<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path>', 5)
782
782
  ])]);
783
783
  }
784
784
  const bi = /* @__PURE__ */ Se(yi, [["render", xi]]), wi = {}, _i = {
@@ -827,7 +827,7 @@ const $i = /* @__PURE__ */ Se(wi, [["render", ki]]), Ci = {}, Ai = {
827
827
  };
828
828
  function Si(e, t) {
829
829
  return d(), h("svg", Ai, [...t[0] || (t[0] = [
830
- Vt('<line x1="8" x2="21" y1="6" y2="6"></line><line x1="8" x2="21" y1="12" y2="12"></line><line x1="8" x2="21" y1="18" y2="18"></line><line x1="3" x2="3.01" y1="6" y2="6"></line><line x1="3" x2="3.01" y1="12" y2="12"></line><line x1="3" x2="3.01" y1="18" y2="18"></line>', 6)
830
+ Dt('<line x1="8" x2="21" y1="6" y2="6"></line><line x1="8" x2="21" y1="12" y2="12"></line><line x1="8" x2="21" y1="18" y2="18"></line><line x1="3" x2="3.01" y1="6" y2="6"></line><line x1="3" x2="3.01" y1="12" y2="12"></line><line x1="3" x2="3.01" y1="18" y2="18"></line>', 6)
831
831
  ])]);
832
832
  }
833
833
  const Li = /* @__PURE__ */ Se(Ci, [["render", Si]]), Ei = {}, Ti = {
@@ -845,7 +845,7 @@ const Li = /* @__PURE__ */ Se(Ci, [["render", Si]]), Ei = {}, Ti = {
845
845
  };
846
846
  function Mi(e, t) {
847
847
  return d(), h("svg", Ti, [...t[0] || (t[0] = [
848
- Vt('<line x1="8" x2="21" y1="6" y2="6"></line><line x1="8" x2="21" y1="12" y2="12"></line><line x1="8" x2="21" y1="18" y2="18"></line><line x1="3" x2="3.01" y1="6" y2="6"></line><line x1="3" x2="3.01" y1="12" y2="12"></line><line x1="3" x2="3.01" y1="18" y2="18"></line>', 6)
848
+ Dt('<line x1="8" x2="21" y1="6" y2="6"></line><line x1="8" x2="21" y1="12" y2="12"></line><line x1="8" x2="21" y1="18" y2="18"></line><line x1="3" x2="3.01" y1="6" y2="6"></line><line x1="3" x2="3.01" y1="12" y2="12"></line><line x1="3" x2="3.01" y1="18" y2="18"></line>', 6)
849
849
  ])]);
850
850
  }
851
851
  const Fi = /* @__PURE__ */ Se(Ei, [["render", Mi]]), Ii = {}, ji = {
@@ -888,10 +888,10 @@ const Ni = /* @__PURE__ */ Se(Ii, [["render", zi]]), Oi = {}, Ri = {
888
888
  };
889
889
  function Pi(e, t) {
890
890
  return d(), h("svg", Ri, [...t[0] || (t[0] = [
891
- Vt('<line x1="8" x2="21" y1="6" y2="6"></line><line x1="8" x2="21" y1="12" y2="12"></line><line x1="8" x2="21" y1="18" y2="18"></line><line x1="3" x2="3.01" y1="6" y2="6"></line><line x1="3" x2="3.01" y1="12" y2="12"></line><line x1="3" x2="3.01" y1="18" y2="18"></line>', 6)
891
+ Dt('<line x1="8" x2="21" y1="6" y2="6"></line><line x1="8" x2="21" y1="12" y2="12"></line><line x1="8" x2="21" y1="18" y2="18"></line><line x1="3" x2="3.01" y1="6" y2="6"></line><line x1="3" x2="3.01" y1="12" y2="12"></line><line x1="3" x2="3.01" y1="18" y2="18"></line>', 6)
892
892
  ])]);
893
893
  }
894
- const Vi = /* @__PURE__ */ Se(Oi, [["render", Pi]]), Di = {}, Bi = {
894
+ const Di = /* @__PURE__ */ Se(Oi, [["render", Pi]]), Vi = {}, Bi = {
895
895
  xmlns: "http://www.w3.org/2000/svg",
896
896
  width: "24",
897
897
  height: "24",
@@ -916,7 +916,7 @@ function Ui(e, t) {
916
916
  }, null, -1)
917
917
  ])]);
918
918
  }
919
- const qi = /* @__PURE__ */ Se(Di, [["render", Ui]]), Hi = {}, Yi = {
919
+ const qi = /* @__PURE__ */ Se(Vi, [["render", Ui]]), Hi = {}, Yi = {
920
920
  xmlns: "http://www.w3.org/2000/svg",
921
921
  width: "24",
922
922
  height: "24",
@@ -931,7 +931,7 @@ const qi = /* @__PURE__ */ Se(Di, [["render", Ui]]), Hi = {}, Yi = {
931
931
  };
932
932
  function Wi(e, t) {
933
933
  return d(), h("svg", Yi, [...t[0] || (t[0] = [
934
- Vt('<line x1="8" x2="21" y1="6" y2="6"></line><line x1="8" x2="21" y1="12" y2="12"></line><line x1="8" x2="21" y1="18" y2="18"></line><line x1="3" x2="3.01" y1="6" y2="6"></line><line x1="3" x2="3.01" y1="12" y2="12"></line><line x1="3" x2="3.01" y1="18" y2="18"></line>', 6)
934
+ Dt('<line x1="8" x2="21" y1="6" y2="6"></line><line x1="8" x2="21" y1="12" y2="12"></line><line x1="8" x2="21" y1="18" y2="18"></line><line x1="3" x2="3.01" y1="6" y2="6"></line><line x1="3" x2="3.01" y1="12" y2="12"></line><line x1="3" x2="3.01" y1="18" y2="18"></line>', 6)
935
935
  ])]);
936
936
  }
937
937
  const Zi = /* @__PURE__ */ Se(Hi, [["render", Wi]]), Gi = {}, Ki = {
@@ -993,7 +993,7 @@ const na = /* @__PURE__ */ Se(Ji, [["render", ta]]), qo = {
993
993
  IconArray: Li,
994
994
  IconSelect: Fi,
995
995
  IconSlug: Ni,
996
- IconDatalist: Vi,
996
+ IconDatalist: Di,
997
997
  IconReference: qi,
998
998
  IconReferenceList: Zi,
999
999
  IconBadge: Qi,
@@ -1191,7 +1191,7 @@ const na = /* @__PURE__ */ Se(Ji, [["render", ta]]), qo = {
1191
1191
  ], 64))
1192
1192
  ]))), 128)),
1193
1193
  o("td", xa, [
1194
- le(Us, {
1194
+ ie(Us, {
1195
1195
  columns: u.value,
1196
1196
  "onUpdate:columns": k[1] || (k[1] = (B) => u.value = B),
1197
1197
  data: C,
@@ -1209,7 +1209,7 @@ const na = /* @__PURE__ */ Se(Ji, [["render", ta]]), qo = {
1209
1209
  ])
1210
1210
  ])
1211
1211
  ]),
1212
- le(ce(r), {
1212
+ ie(ce(r), {
1213
1213
  teleport: "#modal",
1214
1214
  title: "Створити поле",
1215
1215
  size: "lg",
@@ -1231,7 +1231,7 @@ const na = /* @__PURE__ */ Se(Ji, [["render", ta]]), qo = {
1231
1231
  ])
1232
1232
  ]),
1233
1233
  default: je(() => [
1234
- le(ce(l), {
1234
+ ie(ce(l), {
1235
1235
  ref_key: "form",
1236
1236
  ref: a,
1237
1237
  modelValue: p.value,
@@ -1243,7 +1243,7 @@ const na = /* @__PURE__ */ Se(Ji, [["render", ta]]), qo = {
1243
1243
  }, 8, ["visible"])
1244
1244
  ], 64));
1245
1245
  }
1246
- }), Ft = /* @__PURE__ */ Se(_a, [["__scopeId", "data-v-0ede3461"]]), ka = { class: "p-4 text-[13px]" }, $a = { class: "grid grid-cols-2 gap-x-6 gap-y-2" }, Ca = ["id", "checked", "onChange"], Aa = { class: "ml-2 flex-1 min-w-0 flex items-center gap-2" }, Sa = { class: "font-medium text-gray-900 truncate" }, La = { class: "text-xs text-gray-500" }, Ea = {
1246
+ }), Ft = /* @__PURE__ */ Se(_a, [["__scopeId", "data-v-93fedaf0"]]), ka = { class: "p-4 text-[13px]" }, $a = { class: "grid grid-cols-2 gap-x-6 gap-y-2" }, Ca = ["id", "checked", "onChange"], Aa = { class: "ml-2 flex-1 min-w-0 flex items-center gap-2" }, Sa = { class: "font-medium text-gray-900 truncate" }, La = { class: "text-xs text-gray-500" }, Ea = {
1247
1247
  key: 0,
1248
1248
  class: "text-xs text-[#B2C9D6]"
1249
1249
  }, Ta = { class: "flex justify-end gap-2 p-4 border-t w-full" }, Xt = /* @__PURE__ */ ve({
@@ -1557,7 +1557,7 @@ const Ma = { class: "vs-form" }, Fa = { class: "vs-form__body auto-rows-max cont
1557
1557
  ])])
1558
1558
  ]),
1559
1559
  o("div", Na, [
1560
- le(Ft, {
1560
+ ie(Ft, {
1561
1561
  modelValue: g.value,
1562
1562
  "onUpdate:modelValue": E[1] || (E[1] = (L) => g.value = L),
1563
1563
  "columns-scheme": w,
@@ -1569,7 +1569,7 @@ const Ma = { class: "vs-form" }, Fa = { class: "vs-form__body auto-rows-max cont
1569
1569
  ])
1570
1570
  ])
1571
1571
  ]),
1572
- le(Xt, {
1572
+ ie(Xt, {
1573
1573
  visible: f.value,
1574
1574
  "onUpdate:visible": E[2] || (E[2] = (L) => f.value = L),
1575
1575
  selection: p.value,
@@ -1581,7 +1581,7 @@ const Ma = { class: "vs-form" }, Fa = { class: "vs-form__body auto-rows-max cont
1581
1581
  }, null, 8, ["visible", "selection", "fields"])
1582
1582
  ]));
1583
1583
  }
1584
- }), Ra = { class: "vs-form" }, Pa = { class: "vs-form__body auto-rows-max container" }, Va = { class: "flex flex-wrap" }, Da = { class: "h-fit w-full flex flex-wrap" }, Ba = { class: "w-full" }, Ua = /* @__PURE__ */ ve({
1584
+ }), Ra = { class: "vs-form" }, Pa = { class: "vs-form__body auto-rows-max container" }, Da = { class: "flex flex-wrap" }, Va = { class: "h-fit w-full flex flex-wrap" }, Ba = { class: "w-full" }, Ua = /* @__PURE__ */ ve({
1585
1585
  __name: "filter-tab",
1586
1586
  props: /* @__PURE__ */ _t({
1587
1587
  fields: {}
@@ -1661,11 +1661,11 @@ const Ma = { class: "vs-form" }, Fa = { class: "vs-form__body auto-rows-max cont
1661
1661
  n.value = null;
1662
1662
  }), (u, m) => (d(), h("div", Ra, [
1663
1663
  o("div", Pa, [
1664
- o("div", Va, [
1664
+ o("div", Da, [
1665
1665
  m[4] || (m[4] = o("div", { class: "h-fit w-full flex flex-wrap mb-6 px-2" }, [
1666
1666
  o("p", { class: "text-sm text-gray-600" }, " Налаштуйте фільтри реєстру. Оберіть поля для імпорту або відредагуйте властивості вручну. ")
1667
1667
  ], -1)),
1668
- o("div", Da, [
1668
+ o("div", Va, [
1669
1669
  o("div", { class: "flex justify-end mb-3 gap-2 w-full" }, [
1670
1670
  o("button", {
1671
1671
  onClick: f,
@@ -1691,7 +1691,7 @@ const Ma = { class: "vs-form" }, Fa = { class: "vs-form__body auto-rows-max cont
1691
1691
  ])])
1692
1692
  ]),
1693
1693
  o("div", Ba, [
1694
- le(Ft, {
1694
+ ie(Ft, {
1695
1695
  modelValue: p.value,
1696
1696
  "onUpdate:modelValue": m[0] || (m[0] = (y) => p.value = y),
1697
1697
  "columns-scheme": c,
@@ -1703,7 +1703,7 @@ const Ma = { class: "vs-form" }, Fa = { class: "vs-form__body auto-rows-max cont
1703
1703
  ])
1704
1704
  ])
1705
1705
  ]),
1706
- le(Xt, {
1706
+ ie(Xt, {
1707
1707
  visible: s.value,
1708
1708
  "onUpdate:visible": m[1] || (m[1] = (y) => s.value = y),
1709
1709
  selection: a.value,
@@ -1846,7 +1846,7 @@ const Ma = { class: "vs-form" }, Fa = { class: "vs-form__body auto-rows-max cont
1846
1846
  ])])
1847
1847
  ]),
1848
1848
  o("div", Za, [
1849
- le(Ft, {
1849
+ ie(Ft, {
1850
1850
  modelValue: p.value,
1851
1851
  "onUpdate:modelValue": m[0] || (m[0] = (y) => p.value = y),
1852
1852
  "columns-scheme": c,
@@ -1858,7 +1858,7 @@ const Ma = { class: "vs-form" }, Fa = { class: "vs-form__body auto-rows-max cont
1858
1858
  ])
1859
1859
  ])
1860
1860
  ]),
1861
- le(Xt, {
1861
+ ie(Xt, {
1862
1862
  visible: s.value,
1863
1863
  "onUpdate:visible": m[1] || (m[1] = (y) => s.value = y),
1864
1864
  selection: a.value,
@@ -2190,7 +2190,7 @@ const Xa = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2190
2190
  }, Pu = {
2191
2191
  key: 0,
2192
2192
  class: "inline-flex items-center rounded-full bg-gray-100 text-gray-800 text-[10px] lg:text-xs px-2 py-0.5 font-semibold"
2193
- }, Vu = { class: "col-span-1 lg:col-span-7 mt-2 lg:mt-0" }, Du = { class: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-2 lg:gap-3" }, Bu = { class: "text-[9px] lg:text-[10px] text-gray-500 mb-1" }, Uu = { class: "truncate font-medium text-xs lg:text-sm" }, qu = { class: "flex items-center justify-center gap-2 mt-3 lg:mt-0" }, Hu = ["href"], Yu = ["href"], Wu = /* @__PURE__ */ ve({
2193
+ }, Du = { class: "col-span-1 lg:col-span-7 mt-2 lg:mt-0" }, Vu = { class: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-2 lg:gap-3" }, Bu = { class: "text-[9px] lg:text-[10px] text-gray-500 mb-1" }, Uu = { class: "truncate font-medium text-xs lg:text-sm" }, qu = { class: "flex items-center justify-center gap-2 mt-3 lg:mt-0" }, Hu = ["href"], Yu = ["href"], Wu = /* @__PURE__ */ ve({
2194
2194
  __name: "template-3",
2195
2195
  props: {
2196
2196
  items: {},
@@ -2246,8 +2246,8 @@ const Xa = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2246
2246
  ])
2247
2247
  ])
2248
2248
  ]),
2249
- o("div", Vu, [
2250
- o("div", Du, [
2249
+ o("div", Du, [
2250
+ o("div", Vu, [
2251
2251
  (d(!0), h(te, null, ge(a.value, (_) => {
2252
2252
  var E;
2253
2253
  return d(), h("div", {
@@ -2504,10 +2504,10 @@ const Xa = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2504
2504
  o("span", wc, U((N == null ? void 0 : N.ua) || N.label || N.name) + ":", 1)
2505
2505
  ]),
2506
2506
  o("span", _c, [
2507
- Array.isArray(y[N == null ? void 0 : N.name]) ? (d(!0), h(te, { key: 0 }, ge(y[N == null ? void 0 : N.name], (ie, se) => (d(), h("span", {
2508
- key: se,
2507
+ Array.isArray(y[N == null ? void 0 : N.name]) ? (d(!0), h(te, { key: 0 }, ge(y[N == null ? void 0 : N.name], (ne, le) => (d(), h("span", {
2508
+ key: le,
2509
2509
  class: "bg-gray-200 px-1 py-0.5 rounded-lg mr-1 inline-block"
2510
- }, U(ie), 1))), 128)) : (d(), h(te, { key: 1 }, [
2510
+ }, U(ne), 1))), 128)) : (d(), h(te, { key: 1 }, [
2511
2511
  N.format === "date" ? (d(), h(te, { key: 0 }, [
2512
2512
  Ae(U(ce(pn)(y[N == null ? void 0 : N.name]) || "Немає даних"), 1)
2513
2513
  ], 64)) : N.type === "date" ? (d(), h(te, { key: 1 }, [
@@ -2633,7 +2633,7 @@ const Xa = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2633
2633
  ])
2634
2634
  ]));
2635
2635
  }
2636
- }), Pc = { class: "relative h-full flex flex-col flex-1 min-h-0 overflow-hidden mx-auto w-full" }, Vc = { class: "mx-1" }, Dc = { class: "text-gray-900 font-semibold" }, Bc = { class: "w-full flex-shrink-0 mb-6 px-[24px]" }, Uc = { class: "flex items-center w-full h-10 max-w-md grid-cols-3 p-1 bg-white border border-gray-200 rounded-md text-muted-foreground" }, qc = ["onClick"], Hc = { class: "flex-1 min-h-0 overflow-y-auto px-[24px]" }, B2 = /* @__PURE__ */ ve({
2636
+ }), Pc = { class: "relative h-full flex flex-col flex-1 min-h-0 overflow-hidden mx-auto w-full" }, Dc = { class: "mx-1" }, Vc = { class: "text-gray-900 font-semibold" }, Bc = { class: "w-full flex-shrink-0 mb-6 px-[24px]" }, Uc = { class: "flex items-center w-full h-10 max-w-md grid-cols-3 p-1 bg-white border border-gray-200 rounded-md text-muted-foreground" }, qc = ["onClick"], Hc = { class: "flex-1 min-h-0 overflow-y-auto px-[24px]" }, B2 = /* @__PURE__ */ ve({
2637
2637
  __name: "register",
2638
2638
  props: {
2639
2639
  hideDetailsButton: { type: Boolean, default: !1 }
@@ -2728,13 +2728,13 @@ const Xa = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2728
2728
  ), (y, w) => {
2729
2729
  const x = Lr("router-link");
2730
2730
  return d(), h("div", Pc, [
2731
- le(Tr, {
2731
+ ie(Tr, {
2732
2732
  variant: "form",
2733
2733
  title: v.value.name
2734
2734
  }, {
2735
2735
  breadcrumbs: je(() => [
2736
2736
  r.value ? (d(), h(te, { key: 0 }, [
2737
- le(x, {
2737
+ ie(x, {
2738
2738
  to: r.value,
2739
2739
  class: "text-gray-500 hover:text-gray-700"
2740
2740
  }, {
@@ -2743,14 +2743,14 @@ const Xa = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2743
2743
  ]),
2744
2744
  _: 1
2745
2745
  }, 8, ["to"]),
2746
- o("span", Vc, [
2747
- le(ce(io), {
2746
+ o("span", Dc, [
2747
+ ie(ce(io), {
2748
2748
  size: 16,
2749
2749
  class: "shrink-0"
2750
2750
  })
2751
2751
  ])
2752
2752
  ], 64)) : X("", !0),
2753
- o("span", Dc, U(v.value.name), 1)
2753
+ o("span", Vc, U(v.value.name), 1)
2754
2754
  ]),
2755
2755
  description: je(() => [...w[2] || (w[2] = [
2756
2756
  Ae("Налаштування реєстру", -1)
@@ -2841,7 +2841,7 @@ sn.prototype.toString = function(t) {
2841
2841
  return this.name + ": " + Rr(this, t);
2842
2842
  };
2843
2843
  var st = sn;
2844
- function Dn(e, t, n, r, l) {
2844
+ function Vn(e, t, n, r, l) {
2845
2845
  var i = "", s = "", a = Math.floor(l / 2) - 1;
2846
2846
  return r - t > a && (i = " ... ", t = r - a + i.length), n - r > a && (s = " ...", n = r + a - s.length), {
2847
2847
  str: i + e.slice(t, n).replace(/\t/g, "→") + s,
@@ -2860,7 +2860,7 @@ function od(e, t) {
2860
2860
  s < 0 && (s = r.length - 1);
2861
2861
  var a = "", f, p, v = Math.min(e.line + t.linesAfter, l.length).toString().length, c = t.maxLength - (t.indent + v + 3);
2862
2862
  for (f = 1; f <= t.linesBefore && !(s - f < 0); f++)
2863
- p = Dn(
2863
+ p = Vn(
2864
2864
  e.buffer,
2865
2865
  r[s - f],
2866
2866
  l[s - f],
@@ -2868,10 +2868,10 @@ function od(e, t) {
2868
2868
  c
2869
2869
  ), a = Xe.repeat(" ", t.indent) + Bn((e.line - f + 1).toString(), v) + " | " + p.str + `
2870
2870
  ` + a;
2871
- for (p = Dn(e.buffer, r[s], l[s], e.position, c), a += Xe.repeat(" ", t.indent) + Bn((e.line + 1).toString(), v) + " | " + p.str + `
2871
+ for (p = Vn(e.buffer, r[s], l[s], e.position, c), a += Xe.repeat(" ", t.indent) + Bn((e.line + 1).toString(), v) + " | " + p.str + `
2872
2872
  `, a += Xe.repeat("-", t.indent + v + 3 + p.pos) + `^
2873
2873
  `, f = 1; f <= t.linesAfter && !(s + f >= l.length); f++)
2874
- p = Dn(
2874
+ p = Vn(
2875
2875
  e.buffer,
2876
2876
  r[s + f],
2877
2877
  l[s + f],
@@ -2973,12 +2973,12 @@ Xn.prototype.extend = function(t) {
2973
2973
  var l = Object.create(Xn.prototype);
2974
2974
  return l.implicit = (this.implicit || []).concat(n), l.explicit = (this.explicit || []).concat(r), l.compiledImplicit = Yo(l, "implicit"), l.compiledExplicit = Yo(l, "explicit"), l.compiledTypeMap = ud(l.compiledImplicit, l.compiledExplicit), l;
2975
2975
  };
2976
- var Pr = Xn, Vr = new tt("tag:yaml.org,2002:str", {
2976
+ var Pr = Xn, Dr = new tt("tag:yaml.org,2002:str", {
2977
2977
  kind: "scalar",
2978
2978
  construct: function(e) {
2979
2979
  return e !== null ? e : "";
2980
2980
  }
2981
- }), Dr = new tt("tag:yaml.org,2002:seq", {
2981
+ }), Vr = new tt("tag:yaml.org,2002:seq", {
2982
2982
  kind: "sequence",
2983
2983
  construct: function(e) {
2984
2984
  return e !== null ? e : [];
@@ -2990,8 +2990,8 @@ var Pr = Xn, Vr = new tt("tag:yaml.org,2002:str", {
2990
2990
  }
2991
2991
  }), Ur = new Pr({
2992
2992
  explicit: [
2993
- Vr,
2994
2993
  Dr,
2994
+ Vr,
2995
2995
  Br
2996
2996
  ]
2997
2997
  });
@@ -3304,12 +3304,12 @@ var tl = new tt("tag:yaml.org,2002:omap", {
3304
3304
  kind: "sequence",
3305
3305
  resolve: Rd,
3306
3306
  construct: Pd
3307
- }), Vd = Object.prototype.toString;
3308
- function Dd(e) {
3307
+ }), Dd = Object.prototype.toString;
3308
+ function Vd(e) {
3309
3309
  if (e === null) return !0;
3310
3310
  var t, n, r, l, i, s = e;
3311
3311
  for (i = new Array(s.length), t = 0, n = s.length; t < n; t += 1) {
3312
- if (r = s[t], Vd.call(r) !== "[object Object]" || (l = Object.keys(r), l.length !== 1)) return !1;
3312
+ if (r = s[t], Dd.call(r) !== "[object Object]" || (l = Object.keys(r), l.length !== 1)) return !1;
3313
3313
  i[t] = [l[0], r[l[0]]];
3314
3314
  }
3315
3315
  return !0;
@@ -3323,7 +3323,7 @@ function Bd(e) {
3323
3323
  }
3324
3324
  var nl = new tt("tag:yaml.org,2002:pairs", {
3325
3325
  kind: "sequence",
3326
- resolve: Dd,
3326
+ resolve: Vd,
3327
3327
  construct: Bd
3328
3328
  }), Ud = Object.prototype.hasOwnProperty;
3329
3329
  function qd(e) {
@@ -3389,8 +3389,8 @@ function Jd(e) {
3389
3389
  );
3390
3390
  }
3391
3391
  var al = new Array(256), ul = new Array(256);
3392
- for (var Dt = 0; Dt < 256; Dt++)
3393
- al[Dt] = Go(Dt) ? 1 : 0, ul[Dt] = Go(Dt);
3392
+ for (var Vt = 0; Vt < 256; Vt++)
3393
+ al[Vt] = Go(Vt) ? 1 : 0, ul[Vt] = Go(Vt);
3394
3394
  function ef(e, t) {
3395
3395
  this.input = e, this.filename = t.filename || null, this.schema = t.schema || co, this.onWarning = t.onWarning || null, this.legacy = t.legacy || !1, this.json = t.json || !1, this.listener = t.listener || null, this.implicitTypes = this.schema.compiledImplicit, this.typeMap = this.schema.compiledTypeMap, this.length = e.length, this.position = 0, this.line = 0, this.lineStart = 0, this.lineIndent = 0, this.firstTabInLine = -1, this.documents = [];
3396
3396
  }
@@ -3877,7 +3877,7 @@ function tr(e, t, n) {
3877
3877
  function Pf(e) {
3878
3878
  return cn(e) && e !== mo && !An(e) && e !== Cf && e !== Lf && e !== Cn && e !== vl && e !== gl && e !== yl && e !== hl && e !== xl && e !== Qn && e !== _f && e !== $f && e !== xf && e !== Mf && e !== Af && e !== Sf && e !== kf && e !== bf && e !== wf && e !== Ef && e !== Tf;
3879
3879
  }
3880
- function Vf(e) {
3880
+ function Df(e) {
3881
3881
  return !An(e) && e !== Cn;
3882
3882
  }
3883
3883
  function rn(e, t) {
@@ -3889,8 +3889,8 @@ function bl(e) {
3889
3889
  return t.test(e);
3890
3890
  }
3891
3891
  var wl = 1, eo = 2, _l = 3, kl = 4, qt = 5;
3892
- function Df(e, t, n, r, l, i, s, a) {
3893
- var f, p = 0, v = null, c = !1, g = !1, u = r !== -1, m = -1, y = Pf(rn(e, 0)) && Vf(rn(e, e.length - 1));
3892
+ function Vf(e, t, n, r, l, i, s, a) {
3893
+ var f, p = 0, v = null, c = !1, g = !1, u = r !== -1, m = -1, y = Pf(rn(e, 0)) && Df(rn(e, e.length - 1));
3894
3894
  if (t || s)
3895
3895
  for (f = 0; f < e.length; p >= 65536 ? f += 2 : f++) {
3896
3896
  if (p = rn(e, f), !cn(p))
@@ -3920,7 +3920,7 @@ function Bf(e, t, n, r, l) {
3920
3920
  function f(p) {
3921
3921
  return Rf(e, p);
3922
3922
  }
3923
- switch (Df(
3923
+ switch (Vf(
3924
3924
  t,
3925
3925
  a,
3926
3926
  e.indent,
@@ -4103,8 +4103,8 @@ var Qf = tt, Jf = Pr, ep = Ur, tp = Zr, np = Gr, op = co, $l = fl.load, rp = fl.
4103
4103
  int: Yr,
4104
4104
  merge: Jr,
4105
4105
  omap: tl,
4106
- seq: Dr,
4107
- str: Vr
4106
+ seq: Vr,
4107
+ str: Dr
4108
4108
  }, ip = vo("safeLoad", "load"), ap = vo("safeLoadAll", "loadAll"), up = vo("safeDump", "dump"), ir = {
4109
4109
  Type: Qf,
4110
4110
  Schema: Jf,
@@ -4163,7 +4163,7 @@ const pp = /* @__PURE__ */ Se(cp, [["render", fp]]), mp = ["aria-label"], go = /
4163
4163
  ]),
4164
4164
  "aria-label": e.open ? "Закрити панель" : "Відкрити панель"
4165
4165
  }, [
4166
- le(pp, { class: "h-3 w-3" })
4166
+ ie(pp, { class: "h-3 w-3" })
4167
4167
  ], 10, mp));
4168
4168
  }
4169
4169
  }), vp = {}, gp = {
@@ -4273,7 +4273,7 @@ const Fp = /* @__PURE__ */ Se(Ep, [["render", Mp]]), yo = /* @__PURE__ */ ve({
4273
4273
  class: "lucide lucide-settings"
4274
4274
  }));
4275
4275
  }
4276
- }), Ip = { class: "flex-1 overflow-y-auto p-4" }, jp = { class: "space-y-4" }, zp = { class: "border border-gray-200 rounded-lg p-4" }, Np = { class: "grid grid-cols-2 gap-2" }, Op = { class: "text-xs text-gray-500 mb-1" }, Rp = { class: "text-sm font-semibold text-gray-900" }, Pp = { class: "border border-gray-200 rounded-lg p-4" }, Vp = { class: "text-sm text-gray-700 leading-relaxed" }, Dp = { class: "border border-gray-200 rounded-lg p-4" }, Bp = { class: "grid grid-cols-2 gap-2" }, Up = { class: "text-xs text-gray-500 mb-1" }, qp = {
4276
+ }), Ip = { class: "flex-1 overflow-y-auto p-4" }, jp = { class: "space-y-4" }, zp = { class: "border border-gray-200 rounded-lg p-4" }, Np = { class: "grid grid-cols-2 gap-2" }, Op = { class: "text-xs text-gray-500 mb-1" }, Rp = { class: "text-sm font-semibold text-gray-900" }, Pp = { class: "border border-gray-200 rounded-lg p-4" }, Dp = { class: "text-sm text-gray-700 leading-relaxed" }, Vp = { class: "border border-gray-200 rounded-lg p-4" }, Bp = { class: "grid grid-cols-2 gap-2" }, Up = { class: "text-xs text-gray-500 mb-1" }, qp = {
4277
4277
  key: 0,
4278
4278
  class: "text-sm font-semibold text-gray-900"
4279
4279
  }, Hp = ["href"], Yp = {
@@ -4363,9 +4363,9 @@ const Fp = /* @__PURE__ */ Se(Ep, [["render", Mp]]), yo = /* @__PURE__ */ ve({
4363
4363
  ]),
4364
4364
  o("div", Pp, [
4365
4365
  c[1] || (c[1] = o("h2", { class: "text-xs font-semibold text-gray-500 uppercase tracking-wider mb-3" }, " Повний опис ", -1)),
4366
- o("p", Vp, U(f.value), 1)
4366
+ o("p", Dp, U(f.value), 1)
4367
4367
  ]),
4368
- o("div", Dp, [
4368
+ o("div", Vp, [
4369
4369
  c[2] || (c[2] = o("h2", { class: "text-xs font-semibold text-gray-500 uppercase tracking-wider mb-3" }, " Метадані ", -1)),
4370
4370
  o("div", Bp, [
4371
4371
  (d(!0), h(te, null, ge(p.value, (g) => (d(), h("div", {
@@ -4842,7 +4842,7 @@ const mn = /* @__PURE__ */ ve({
4842
4842
  o("div", { class: "text-xs text-gray-400" }, "YAML")
4843
4843
  ], -1)),
4844
4844
  o("div", tm, [
4845
- le(mn, {
4845
+ ie(mn, {
4846
4846
  modelValue: l.value,
4847
4847
  "onUpdate:modelValue": p[0] || (p[0] = (v) => l.value = v),
4848
4848
  language: "yaml",
@@ -4925,15 +4925,21 @@ function om(e) {
4925
4925
  ...e.mapOptions || {},
4926
4926
  container: u
4927
4927
  };
4928
- E.maxZoom == null && (E.maxZoom = x), t.value = new maplibregl.Map(E), (k = e.controls) != null && k.navigation && t.value.addControl(new maplibregl.NavigationControl(
4928
+ E.maxZoom == null && (E.maxZoom = x), t.value = new maplibregl.Map(E), (k = e.controls) != null && k.navigation && (t.value.addControl(new maplibregl.NavigationControl(
4929
4929
  typeof e.controls.navigation == "object" ? e.controls.navigation : {}
4930
- ), "top-right"), (C = e.controls) != null && C.scale && t.value.addControl(new maplibregl.ScaleControl(
4930
+ ), "top-right"), t.value.once("load", () => {
4931
+ var ae;
4932
+ const ne = t.value.getContainer(), le = (ae = ne == null ? void 0 : ne.querySelector) == null ? void 0 : ae.call(ne, ".maplibregl-ctrl-compass, .mapboxgl-ctrl-compass");
4933
+ le && typeof t.value.easeTo == "function" && le.addEventListener("click", (Z) => {
4934
+ Z.preventDefault(), Z.stopPropagation(), t.value.easeTo({ bearing: 0, pitch: 0 });
4935
+ }, !0);
4936
+ })), (C = e.controls) != null && C.scale && t.value.addControl(new maplibregl.ScaleControl(
4931
4937
  typeof e.controls.scale == "object" ? e.controls.scale : {}
4932
4938
  ), "bottom-left"), (N = e.controls) != null && N.fullscreen && t.value.addControl(new maplibregl.FullscreenControl(), "top-right"), (B = e.controls) != null && B.geolocate && t.value.addControl(new maplibregl.GeolocateControl(
4933
4939
  typeof e.controls.geolocate == "object" ? e.controls.geolocate : {}
4934
4940
  ), "top-right"), t.value.once("load", () => {
4935
- var ie;
4936
- p((ie = ce(e.settings)) == null ? void 0 : ie.map), n.value = !0, i();
4941
+ var ne;
4942
+ p((ne = ce(e.settings)) == null ? void 0 : ne.map), n.value = !0, i();
4937
4943
  });
4938
4944
  };
4939
4945
  ee(
@@ -5079,17 +5085,17 @@ function fm(e, t = {}) {
5079
5085
  "text-opacity": C ?? 1
5080
5086
  };
5081
5087
  B["text-halo-color"] = g, u !== void 0 && (B["text-halo-width"] = u), m !== void 0 && (B["text-halo-blur"] = m);
5082
- const ie = {
5088
+ const ne = {
5083
5089
  type: "symbol",
5084
5090
  layout: N,
5085
5091
  paint: B
5086
- }, se = qn(p, am);
5087
- if (ie.minzoom = se, v !== void 0) {
5092
+ }, le = qn(p, am);
5093
+ if (ne.minzoom = le, v !== void 0) {
5088
5094
  const Z = qn(v, void 0);
5089
- Z !== void 0 && (ie.maxzoom = Z);
5095
+ Z !== void 0 && (ne.maxzoom = Z);
5090
5096
  }
5091
5097
  const ae = dm(t.filter, t.excludeClusters);
5092
- return ae && (ie.filter = ae), [ie];
5098
+ return ae && (ne.filter = ae), [ne];
5093
5099
  }
5094
5100
  const Hn = /* @__PURE__ */ new Map(), Yn = {};
5095
5101
  function xo(e) {
@@ -5300,86 +5306,86 @@ async function pr(e, t, n) {
5300
5306
  }
5301
5307
  }
5302
5308
  function Re(e, t, n) {
5303
- var se, ae;
5309
+ var le, ae;
5304
5310
  if (!e) return Yn;
5305
5311
  if (!t) return Yn[e];
5306
- const { map: r, ready: l = () => Promise.resolve() } = et(n), i = e || ((se = t.layer) == null ? void 0 : se.id), s = t.sourceId ?? e, a = { ...t };
5312
+ const { map: r, ready: l = () => Promise.resolve() } = et(n), i = e || ((le = t.layer) == null ? void 0 : le.id), s = t.sourceId ?? e, a = { ...t };
5307
5313
  a.point && (a.source = xm(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 });
5308
5314
  let f = !1, p = !1;
5309
5315
  const v = () => {
5310
- var Z, re, R, P, j, D, S, V, H, J;
5316
+ var Z, se, R, P, j, V, S, D, H, J;
5311
5317
  if (!(p || !r.value)) {
5312
5318
  if (a.source && !r.value.getSource(s) && r.value.addSource(s, a.source), !r.value.getLayer(i)) {
5313
- const Q = a.beforeId === 0 ? (re = (Z = r.value.getStyle().layers) == null ? void 0 : Z[0]) == null ? void 0 : re.id : a.beforeId;
5319
+ const Q = a.beforeId === 0 ? (se = (Z = r.value.getStyle().layers) == null ? void 0 : Z[0]) == null ? void 0 : se.id : a.beforeId;
5314
5320
  (P = (R = a.layer) == null ? void 0 : R.style) != null && P.icon && pr(r.value, a.layer.style.icon, a.layer.style.colors);
5315
- const ne = ((j = a.source) == null ? void 0 : j.type) || ((D = a.layer) == null ? void 0 : D.type), ue = a.layer && (a.layer.type || a.layer.ref) ? a.layer : null, he = (S = a.layer) == null ? void 0 : S.style, ye = ((V = a.layer) == null ? void 0 : V["source-layer"]) || ((H = a.source) == null ? void 0 : H["source-layer"]) || a.sourceLayer || s, Te = a.style || he, W = fr(Te, {
5316
- sourceType: ne,
5321
+ const oe = ((j = a.source) == null ? void 0 : j.type) || ((V = a.layer) == null ? void 0 : V.type), ue = a.layer && (a.layer.type || a.layer.ref) ? a.layer : null, he = (S = a.layer) == null ? void 0 : S.style, ye = ((D = a.layer) == null ? void 0 : D["source-layer"]) || ((H = a.source) == null ? void 0 : H["source-layer"]) || a.sourceLayer || s, Te = a.style || he, W = fr(Te, {
5322
+ sourceType: oe,
5317
5323
  filter: (J = a.layer) == null ? void 0 : J.filter,
5318
5324
  allowFallback: !ue
5319
5325
  });
5320
5326
  if (!W.length) {
5321
5327
  if (ue) {
5322
- const oe = {
5328
+ const re = {
5323
5329
  ...ue,
5324
5330
  id: ue.id || i,
5325
5331
  source: ue.source || s
5326
5332
  };
5327
- ne === "vector" && ye && (oe["source-layer"] = oe["source-layer"] || ye), r.value.addLayer(oe, Q);
5333
+ oe === "vector" && ye && (re["source-layer"] = re["source-layer"] || ye), r.value.addLayer(re, Q);
5328
5334
  }
5329
5335
  return;
5330
5336
  }
5331
- W.forEach((oe, b) => {
5332
- const F = { ...oe, id: `${i}${b || ""}`, source: s };
5333
- ne === "vector" && ye && (F["source-layer"] = ye), r.value.addLayer(F, Q);
5337
+ W.forEach((re, b) => {
5338
+ const F = { ...re, id: `${i}${b || ""}`, source: s };
5339
+ oe === "vector" && ye && (F["source-layer"] = ye), r.value.addLayer(F, Q);
5334
5340
  });
5335
5341
  }
5336
5342
  f = !0;
5337
5343
  }
5338
5344
  };
5339
5345
  l().then(v);
5340
- const c = (Z, re) => r.value ? (r.value.on(Z, i, re), () => {
5346
+ const c = (Z, se) => r.value ? (r.value.on(Z, i, se), () => {
5341
5347
  var R;
5342
- return (R = r.value) == null ? void 0 : R.off(Z, i, re);
5348
+ return (R = r.value) == null ? void 0 : R.off(Z, i, se);
5343
5349
  }) : () => {
5344
5350
  }, g = (Z) => {
5345
- const re = r.value;
5346
- if (!re) return;
5347
- const R = re.getStyle(), P = R == null ? void 0 : R.layers;
5351
+ const se = r.value;
5352
+ if (!se) return;
5353
+ const R = se.getStyle(), P = R == null ? void 0 : R.layers;
5348
5354
  P != null && P.length && P.filter((j) => j.source === i).forEach((j) => {
5349
- re.setLayoutProperty(j.id, "visibility", Z ? "visible" : "none");
5355
+ se.setLayoutProperty(j.id, "visibility", Z ? "visible" : "none");
5350
5356
  });
5351
5357
  }, u = (Z = !0) => {
5352
5358
  var R, P, j;
5353
5359
  if (!r.value) return;
5354
- (((j = (P = (R = r.value).getStyle) == null ? void 0 : P.call(R)) == null ? void 0 : j.layers) ?? []).filter((D) => D.source === i).forEach((D) => {
5355
- r.value.removeLayer(D.id);
5360
+ (((j = (P = (R = r.value).getStyle) == null ? void 0 : P.call(R)) == null ? void 0 : j.layers) ?? []).filter((V) => V.source === i).forEach((V) => {
5361
+ r.value.removeLayer(V.id);
5356
5362
  }), p = !0, a.source && Z && r.value.getSource(s) && r.value.removeSource(s);
5357
5363
  }, m = async (Z) => {
5358
- var j, D, S, V, H;
5364
+ var j, V, S, D, H;
5359
5365
  if (!r.value) return;
5360
5366
  Z != null && Z.icon && pr(r.value, Z.icon, Z.colors);
5361
- const re = ((j = a.source) == null ? void 0 : j.type) || ((D = a.layer) == null ? void 0 : D.type), R = ((S = a.layer) == null ? void 0 : S["source-layer"]) || ((V = a.source) == null ? void 0 : V["source-layer"]) || a.sourceLayer || s, P = fr(Z, {
5362
- sourceType: re,
5367
+ const se = ((j = a.source) == null ? void 0 : j.type) || ((V = a.layer) == null ? void 0 : V.type), R = ((S = a.layer) == null ? void 0 : S["source-layer"]) || ((D = a.source) == null ? void 0 : D["source-layer"]) || a.sourceLayer || s, P = fr(Z, {
5368
+ sourceType: se,
5363
5369
  filter: (H = a.layer) == null ? void 0 : H.filter,
5364
5370
  allowFallback: !0
5365
5371
  });
5366
5372
  u(!1), P.forEach((J, Q) => {
5367
5373
  var ue;
5368
- const ne = {
5374
+ const oe = {
5369
5375
  ...J,
5370
5376
  id: `${i}${Q}`,
5371
5377
  source: ((ue = a.layer) == null ? void 0 : ue.source) || s
5372
5378
  };
5373
- re === "vector" && R && (ne["source-layer"] = ne["source-layer"] || R), r.value.addLayer(ne);
5379
+ se === "vector" && R && (oe["source-layer"] = oe["source-layer"] || R), r.value.addLayer(oe);
5374
5380
  });
5375
5381
  }, y = (Z) => {
5376
- r.value && Object.entries(Z).forEach(([re, R]) => {
5377
- r.value.setPaintProperty(i, re, R);
5382
+ r.value && Object.entries(Z).forEach(([se, R]) => {
5383
+ r.value.setPaintProperty(i, se, R);
5378
5384
  });
5379
- }, w = (Z, re, R) => {
5385
+ }, w = (Z, se, R) => {
5380
5386
  const P = r.value;
5381
5387
  if (P)
5382
- switch (re) {
5388
+ switch (se) {
5383
5389
  case "raster":
5384
5390
  P.setPaintProperty(Z, "raster-opacity", R);
5385
5391
  break;
@@ -5405,8 +5411,8 @@ function Re(e, t, n) {
5405
5411
  setVisible: g,
5406
5412
  updatePaint: y,
5407
5413
  updateLayout: (Z) => {
5408
- r.value && Object.entries(Z).forEach(([re, R]) => {
5409
- r.value.setLayoutProperty(i, re, R);
5414
+ r.value && Object.entries(Z).forEach(([se, R]) => {
5415
+ r.value.setLayoutProperty(i, se, R);
5410
5416
  });
5411
5417
  },
5412
5418
  updateFilter: (Z) => {
@@ -5425,29 +5431,29 @@ function Re(e, t, n) {
5425
5431
  },
5426
5432
  setData: (Z) => {
5427
5433
  if (!r.value) return;
5428
- const re = r.value.getSource(s);
5429
- re && "setData" in re && re.setData(Z);
5434
+ const se = r.value.getSource(s);
5435
+ se && "setData" in se && se.setData(Z);
5430
5436
  },
5431
5437
  setTiles: (Z) => {
5432
5438
  if (!r.value) return;
5433
- const re = r.value.getSource(s);
5434
- re && "setTiles" in re && re.setTiles(Z);
5439
+ const se = r.value.getSource(s);
5440
+ se && "setTiles" in se && se.setTiles(Z);
5435
5441
  },
5436
5442
  setStyle: m,
5437
5443
  setFilter: (Z) => {
5438
5444
  var R, P;
5439
5445
  if (!r.value) return;
5440
- const re = r.value.getSource(s);
5441
- if (re && "setTiles" in re && ((P = (R = a.source) == null ? void 0 : R.tiles) != null && P[0])) {
5446
+ const se = r.value.getSource(s);
5447
+ if (se && "setTiles" in se && ((P = (R = a.source) == null ? void 0 : R.tiles) != null && P[0])) {
5442
5448
  const j = a.source.tiles[0];
5443
- re.setTiles([`${j}${j.includes("?") ? "&" : "?"}filter=${Z}`]);
5449
+ se.setTiles([`${j}${j.includes("?") ? "&" : "?"}filter=${Z}`]);
5444
5450
  }
5445
5451
  },
5446
- setFeatureState: (Z, re) => {
5447
- r.value && r.value.setFeatureState({ source: s, ...Z }, re);
5452
+ setFeatureState: (Z, se) => {
5453
+ r.value && r.value.setFeatureState({ source: s, ...Z }, se);
5448
5454
  },
5449
- removeFeatureState: (Z, re) => {
5450
- r.value && r.value.removeFeatureState({ source: s, ...Z }, re ? { key: re } : void 0);
5455
+ removeFeatureState: (Z, se) => {
5456
+ r.value && r.value.removeFeatureState({ source: s, ...Z }, se ? { key: se } : void 0);
5451
5457
  },
5452
5458
  remove: u,
5453
5459
  card: a.card,
@@ -5466,9 +5472,9 @@ function Re(e, t, n) {
5466
5472
  Hn.set(i, N);
5467
5473
  const B = () => {
5468
5474
  Hn.get(i) === N && Hn.delete(i);
5469
- }, ie = N.remove;
5475
+ }, ne = N.remove;
5470
5476
  return N.remove = () => {
5471
- B(), ie();
5477
+ B(), ne();
5472
5478
  }, ze(N.remove), Yn[e] = N, N;
5473
5479
  }
5474
5480
  const bm = { class: "flex flex-col flex-1 min-h-0" }, wm = { class: "flex flex-col flex-1 min-h-0" }, _m = /* @__PURE__ */ ve({
@@ -5550,7 +5556,7 @@ const bm = { class: "flex flex-col flex-1 min-h-0" }, wm = { class: "flex flex-c
5550
5556
  "add-button": !1
5551
5557
  }, null, 8, ["modelValue"])) : X("", !0)
5552
5558
  ]),
5553
- le(Xt, {
5559
+ ie(Xt, {
5554
5560
  visible: s.value,
5555
5561
  "onUpdate:visible": y[1] || (y[1] = (w) => s.value = w),
5556
5562
  selection: a.value,
@@ -5637,7 +5643,7 @@ const bm = { class: "flex flex-col flex-1 min-h-0" }, wm = { class: "flex flex-c
5637
5643
  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"
5638
5644
  }, " Зберегти легенду ")
5639
5645
  ]),
5640
- le(Ft, {
5646
+ ie(Ft, {
5641
5647
  modelValue: l.value,
5642
5648
  "onUpdate:modelValue": y[1] || (y[1] = (w) => l.value = w),
5643
5649
  "columns-scheme": f,
@@ -5645,7 +5651,7 @@ const bm = { class: "flex flex-col flex-1 min-h-0" }, wm = { class: "flex flex-c
5645
5651
  "main-col-width": "250px",
5646
5652
  "add-button": !1
5647
5653
  }, null, 8, ["modelValue"]),
5648
- le(ce(a), {
5654
+ ie(ce(a), {
5649
5655
  teleport: "#modal",
5650
5656
  visible: i.value,
5651
5657
  title: "Новий елемент легенди",
@@ -5892,7 +5898,7 @@ ${L}` : L;
5892
5898
  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"
5893
5899
  }, " Зберегти ")
5894
5900
  ]),
5895
- le(zm, {
5901
+ ie(zm, {
5896
5902
  modelValue: i.value,
5897
5903
  "onUpdate:modelValue": x[0] || (x[0] = (_) => i.value = _),
5898
5904
  options: y
@@ -5915,7 +5921,7 @@ ${L}` : L;
5915
5921
  class: "flex-1 min-h-0"
5916
5922
  }, null, 8, ["modelValue"])) : X("", !0)
5917
5923
  ]),
5918
- le(Xt, {
5924
+ ie(Xt, {
5919
5925
  visible: a.value,
5920
5926
  "onUpdate:visible": x[3] || (x[3] = (_) => a.value = _),
5921
5927
  selection: f.value,
@@ -5928,7 +5934,7 @@ ${L}` : L;
5928
5934
  }, null, 8, ["visible", "selection", "fields"])
5929
5935
  ]));
5930
5936
  }
5931
- }), Pm = { class: "flex flex-col flex-1 min-h-0" }, Vm = /* @__PURE__ */ ve({
5937
+ }), Pm = { class: "flex flex-col flex-1 min-h-0" }, Dm = /* @__PURE__ */ ve({
5932
5938
  __name: "vs-tab-filter",
5933
5939
  props: {
5934
5940
  fields: {},
@@ -6013,7 +6019,7 @@ ${L}` : L;
6013
6019
  "main-col-width": "250px",
6014
6020
  "add-button": !1
6015
6021
  }, null, 8, ["modelValue"])) : X("", !0),
6016
- le(Xt, {
6022
+ ie(Xt, {
6017
6023
  visible: s.value,
6018
6024
  "onUpdate:visible": y[1] || (y[1] = (w) => s.value = w),
6019
6025
  selection: a.value,
@@ -6085,7 +6091,7 @@ const En = /* @__PURE__ */ ve({
6085
6091
  wt(p.$slots, "default")
6086
6092
  ], 512));
6087
6093
  }
6088
- }), Dm = /* @__PURE__ */ ve({
6094
+ }), Vm = /* @__PURE__ */ ve({
6089
6095
  __name: "MapDataLayer",
6090
6096
  props: {
6091
6097
  id: {},
@@ -6206,47 +6212,47 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
6206
6212
  function C() {
6207
6213
  s();
6208
6214
  }
6209
- function N(S, V, H = 8) {
6215
+ function N(S, D, H = 8) {
6210
6216
  const J = window.scrollY + H, Q = window.scrollY + window.innerHeight - H;
6211
- let ne = S;
6212
- return ne + V > Q && (ne = Q - V), ne < J && (ne = J), ne;
6217
+ let oe = S;
6218
+ return oe + D > Q && (oe = Q - D), oe < J && (oe = J), oe;
6213
6219
  }
6214
6220
  function B() {
6215
6221
  var he, ye, Te;
6216
6222
  if (!p.value || !I.value) return;
6217
- const S = p.value.getBoundingClientRect(), V = window.scrollX + 8, H = window.scrollX + window.innerWidth - 8, J = ((he = v.value) == null ? void 0 : he.offsetWidth) || 280, Q = ((ye = v.value) == null ? void 0 : ye.offsetHeight) || 0;
6218
- let ne = 0, ue = 0;
6223
+ const S = p.value.getBoundingClientRect(), D = window.scrollX + 8, H = window.scrollX + window.innerWidth - 8, J = ((he = v.value) == null ? void 0 : he.offsetWidth) || 280, Q = ((ye = v.value) == null ? void 0 : ye.offsetHeight) || 0;
6224
+ let oe = 0, ue = 0;
6219
6225
  if ((Te = n.catalogAnchor) != null && Te.value) {
6220
- const W = n.catalogAnchor.value.getBoundingClientRect(), oe = W.top + window.scrollY;
6221
- ne = N(oe, Q, 8);
6222
- const b = W.right + window.scrollX + 12, F = H - J, K = V;
6226
+ const W = n.catalogAnchor.value.getBoundingClientRect(), re = W.top + window.scrollY;
6227
+ oe = N(re, Q, 8);
6228
+ const b = W.right + window.scrollX + 12, F = H - J, K = D;
6223
6229
  ue = Math.min(Math.max(b, K), Math.max(K, F));
6224
6230
  } else {
6225
6231
  const W = S.bottom + window.scrollY + 8;
6226
- ne = N(W, Q, 8);
6227
- let oe = S.left + window.scrollX;
6228
- oe < V && (oe = V), oe + J > H && (oe = Math.max(V, H - J)), ue = oe;
6232
+ oe = N(W, Q, 8);
6233
+ let re = S.left + window.scrollX;
6234
+ re < D && (re = D), re + J > H && (re = Math.max(D, H - J)), ue = re;
6229
6235
  }
6230
- f.left = ue, f.top = ne, f.transform = "none";
6236
+ f.left = ue, f.top = oe, f.transform = "none";
6231
6237
  }
6232
- function ie() {
6233
- I.value || D(), a(), i.value && I.value && Ye(() => {
6238
+ function ne() {
6239
+ I.value || V(), a(), i.value && I.value && Ye(() => {
6234
6240
  B(), P(), requestAnimationFrame(() => B());
6235
6241
  });
6236
6242
  }
6237
- function se() {
6238
- n.disabled || ie();
6243
+ function le() {
6244
+ n.disabled || ne();
6239
6245
  }
6240
6246
  ee(m, (S) => {
6241
6247
  S && I.value ? Ye(() => {
6242
6248
  B(), P(), requestAnimationFrame(() => B());
6243
- }) : (j(), I.value || D());
6249
+ }) : (j(), I.value || V());
6244
6250
  }), ee(_, () => {
6245
6251
  !m.value || !I.value || Ye(() => B());
6246
6252
  }, { deep: !0 }), ee(I, (S) => {
6247
6253
  m.value && (S ? Ye(() => {
6248
6254
  B(), P();
6249
- }) : (j(), D()));
6255
+ }) : (j(), V()));
6250
6256
  }), ee(
6251
6257
  () => n.disabled,
6252
6258
  (S) => {
@@ -6257,26 +6263,26 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
6257
6263
  !m.value || !I.value || B();
6258
6264
  }
6259
6265
  function Z(S) {
6260
- const V = r.value;
6261
- if (!V) return;
6262
- const H = Re(V);
6266
+ const D = r.value;
6267
+ if (!D) return;
6268
+ const H = Re(D);
6263
6269
  if (!(H != null && H.setFilter)) return;
6264
6270
  g.value = S;
6265
- const J = Object.entries(S).map(([Q, ne]) => `${Q}=${ne}`).join("|");
6271
+ const J = Object.entries(S).map(([Q, oe]) => `${Q}=${oe}`).join("|");
6266
6272
  H.setFilter(J);
6267
6273
  }
6268
- function re(S) {
6274
+ function se(S) {
6269
6275
  if (!n.disabled) return;
6270
- const V = S.currentTarget;
6271
- if (!V) return;
6272
- const H = V.getBoundingClientRect();
6276
+ const D = S.currentTarget;
6277
+ if (!D) return;
6278
+ const H = D.getBoundingClientRect();
6273
6279
  u.left = H.left + H.width / 2 + window.scrollX, u.top = H.bottom + 8 + window.scrollY, u.visible = !0;
6274
6280
  }
6275
6281
  function R() {
6276
6282
  u.visible = !1;
6277
6283
  }
6278
6284
  Ne(() => {
6279
- D(), window.addEventListener("resize", ae), window.addEventListener("scroll", ae, !0);
6285
+ V(), window.addEventListener("resize", ae), window.addEventListener("scroll", ae, !0);
6280
6286
  }), ze(() => {
6281
6287
  window.removeEventListener("resize", ae), window.removeEventListener("scroll", ae, !0), j();
6282
6288
  });
@@ -6288,10 +6294,10 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
6288
6294
  function j() {
6289
6295
  c && (c.disconnect(), c = null);
6290
6296
  }
6291
- function D() {
6297
+ function V() {
6292
6298
  typeof window > "u" || typeof document > "u" || (E.value = document.querySelector(Wn));
6293
6299
  }
6294
- return (S, V) => w.value ? (d(), h("div", {
6300
+ return (S, D) => w.value ? (d(), h("div", {
6295
6301
  key: 0,
6296
6302
  class: "mapLayer-filter",
6297
6303
  ref_key: "anchor",
@@ -6300,12 +6306,12 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
6300
6306
  o("a", {
6301
6307
  class: Le(["mapLayer-filter__trigger", { "mapLayer-filter__trigger--disabled": n.disabled }]),
6302
6308
  href: "#",
6303
- onClick: Je(se, ["prevent", "stop"]),
6304
- onMouseenter: re,
6309
+ onClick: Je(le, ["prevent", "stop"]),
6310
+ onMouseenter: se,
6305
6311
  onMouseleave: R,
6306
- onFocus: re,
6312
+ onFocus: se,
6307
6313
  onBlur: R
6308
- }, [...V[2] || (V[2] = [
6314
+ }, [...D[2] || (D[2] = [
6309
6315
  o("div", { class: "mapLayer-filter__icon" }, [
6310
6316
  o("svg", {
6311
6317
  xmlns: "http://www.w3.org/2000/svg",
@@ -6331,7 +6337,7 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
6331
6337
  style: Qe(k.value),
6332
6338
  ref_key: "panel",
6333
6339
  ref: v,
6334
- onClick: V[1] || (V[1] = Je(() => {
6340
+ onClick: D[1] || (D[1] = Je(() => {
6335
6341
  }, ["stop"]))
6336
6342
  }, [
6337
6343
  o("div", qm, [
@@ -6343,17 +6349,17 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
6343
6349
  onClick: C
6344
6350
  }, [
6345
6351
  o("span", Wm, [
6346
- le(ce(dn), { class: "h-4 w-4" })
6352
+ ie(ce(dn), { class: "h-4 w-4" })
6347
6353
  ]),
6348
- V[3] || (V[3] = o("span", { class: "sr-only" }, "Закрити", -1))
6354
+ D[3] || (D[3] = o("span", { class: "sr-only" }, "Закрити", -1))
6349
6355
  ])
6350
6356
  ]),
6351
- le(ce(t), {
6357
+ ie(ce(t), {
6352
6358
  view: "inline",
6353
6359
  schema: _.value,
6354
6360
  value: g.value,
6355
6361
  limit: 10,
6356
- onChange: V[0] || (V[0] = (H) => Z(H.data)),
6362
+ onChange: D[0] || (D[0] = (H) => Z(H.data)),
6357
6363
  width: 250
6358
6364
  }, null, 8, ["schema", "value"])
6359
6365
  ])
@@ -6371,7 +6377,7 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
6371
6377
  ]))
6372
6378
  ], 512)) : X("", !0);
6373
6379
  }
6374
- }), Tn = /* @__PURE__ */ Se(Zm, [["__scopeId", "data-v-e2e9ef2f"]]), Gm = {
6380
+ }), Tn = /* @__PURE__ */ Se(Zm, [["__scopeId", "data-v-cc1f0579"]]), Gm = {
6375
6381
  key: 0,
6376
6382
  class: "flex justify-center items-center h-[40px] w-[40px] bg-white text-sm border border-gray-200 text-gray-600 hover:bg-gray-100 rounded-full"
6377
6383
  }, Km = /* @__PURE__ */ ve({
@@ -6384,7 +6390,7 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
6384
6390
  setup(e) {
6385
6391
  return (t, n) => (d(), h("div", null, [
6386
6392
  e.filters.length > 0 ? (d(), h("div", Gm, [
6387
- le(Tn, {
6393
+ ie(Tn, {
6388
6394
  layer: {
6389
6395
  filters: e.filters,
6390
6396
  id: e.layerId
@@ -6394,7 +6400,7 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
6394
6400
  ])) : X("", !0)
6395
6401
  ]));
6396
6402
  }
6397
- }), oo = /* @__PURE__ */ Se(Km, [["__scopeId", "data-v-d244723f"]]), Xm = { class: "flex flex-row gap-x-3 z-10 relative widget" }, Qm = ["onClick"], Jm = ["src", "alt"], Wt = /* @__PURE__ */ ve({
6403
+ }), oo = /* @__PURE__ */ Se(Km, [["__scopeId", "data-v-98772410"]]), Xm = { class: "flex flex-row gap-x-3 z-10 relative widget" }, Qm = ["onClick"], Jm = ["src", "alt"], Wt = /* @__PURE__ */ ve({
6398
6404
  __name: "BaseMaps",
6399
6405
  setup(e) {
6400
6406
  var x, _, E;
@@ -6431,10 +6437,10 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
6431
6437
  if (!L.length) return {};
6432
6438
  const I = {};
6433
6439
  return L.forEach((A, k) => {
6434
- const C = A.name ?? A.title ?? `basemap-${k}`, N = (A.id ?? C ?? `basemap-${k}`).toString().toLowerCase().replace(/\s+/g, "-").replace(/[^a-z0-9-]/g, ""), B = l(N || `basemap-${k}`, I), ie = A.preview || (A.url ? r(A.url) : void 0);
6440
+ const C = A.name ?? A.title ?? `basemap-${k}`, N = (A.id ?? C ?? `basemap-${k}`).toString().toLowerCase().replace(/\s+/g, "-").replace(/[^a-z0-9-]/g, ""), B = l(N || `basemap-${k}`, I), ne = A.preview || (A.url ? r(A.url) : void 0);
6435
6441
  I[B] = {
6436
6442
  url: A.url,
6437
- preview: ie,
6443
+ preview: ne,
6438
6444
  title: C
6439
6445
  };
6440
6446
  }), I;
@@ -6501,7 +6507,7 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
6501
6507
  key: 1,
6502
6508
  class: Le(["lg:w-14 lg:h-14 w-10 h-10 flex items-center justify-center bg-gray-200/80 rounded-xl shadow-2xs cursor-pointer transition-all border-4", m.value === k ? "border-blue-500" : "border-gray-200"])
6503
6509
  }, [
6504
- le(ce(Ms), { class: "w-4 h-4 text-gray-500" })
6510
+ ie(ce(Ms), { class: "w-4 h-4 text-gray-500" })
6505
6511
  ], 2))
6506
6512
  ], 8, Qm))), 128))
6507
6513
  ]));
@@ -6666,7 +6672,7 @@ const rv = { class: "min-w-[200px] max-w-[280px] rounded-lg border border-slate-
6666
6672
  ] : y;
6667
6673
  });
6668
6674
  function m() {
6669
- var j, D;
6675
+ var j, V;
6670
6676
  if (!u.value.length || !t.value || !s.value) {
6671
6677
  a.value = { left: "-9999px", top: "-9999px" };
6672
6678
  return;
@@ -6676,11 +6682,11 @@ const rv = { class: "min-w-[200px] max-w-[280px] rounded-lg border border-slate-
6676
6682
  top: 0,
6677
6683
  width: window.innerWidth,
6678
6684
  height: window.innerHeight
6679
- }, _ = ((D = (j = i.value) == null ? void 0 : j.getContainer) == null ? void 0 : D.call(j)) || void 0, E = (_ == null ? void 0 : _.getBoundingClientRect()) ?? x, L = E.left - x.left, I = E.top - x.top, A = y.offsetWidth || 0, k = y.offsetHeight || 0, C = 12, N = 8, [B, ie] = t.value;
6680
- let se = L + B + C, ae = I + ie + C;
6681
- se + A + N > x.width && (se = L + B - A - C), ae + k + N > x.height && (ae = I + ie - k - C);
6682
- const Z = N, re = N, R = Math.max(N, x.width - A - N), P = Math.max(N, x.height - k - N);
6683
- se = Math.min(Math.max(se, Z), R), ae = Math.min(Math.max(ae, re), P), a.value = { left: `${se}px`, top: `${ae}px` };
6685
+ }, _ = ((V = (j = i.value) == null ? void 0 : j.getContainer) == null ? void 0 : V.call(j)) || void 0, E = (_ == null ? void 0 : _.getBoundingClientRect()) ?? x, L = E.left - x.left, I = E.top - x.top, A = y.offsetWidth || 0, k = y.offsetHeight || 0, C = 12, N = 8, [B, ne] = t.value;
6686
+ let le = L + B + C, ae = I + ne + C;
6687
+ le + A + N > x.width && (le = L + B - A - C), ae + k + N > x.height && (ae = I + ne - k - C);
6688
+ const Z = N, se = N, R = Math.max(N, x.width - A - N), P = Math.max(N, x.height - k - N);
6689
+ le = Math.min(Math.max(le, Z), R), ae = Math.min(Math.max(ae, se), P), a.value = { left: `${le}px`, top: `${ae}px` };
6684
6690
  }
6685
6691
  return ee([t, u], () => {
6686
6692
  Ye(() => m());
@@ -6726,15 +6732,15 @@ function av() {
6726
6732
  }
6727
6733
  async function w() {
6728
6734
  await t();
6729
- const se = e.value;
6730
- se && (y(), m(), se.on("click", x), g = () => se.off("click", x), ie(C()));
6735
+ const le = e.value;
6736
+ le && (y(), m(), le.on("click", x), g = () => le.off("click", x), ne(C()));
6731
6737
  }
6732
- function x(se) {
6738
+ function x(le) {
6733
6739
  const ae = e.value;
6734
6740
  if (!ae) return;
6735
- const Z = (ae.queryRenderedFeatures(se.point) || []).filter((re) => {
6741
+ const Z = (ae.queryRenderedFeatures(le.point) || []).filter((se) => {
6736
6742
  var R;
6737
- return (R = re == null ? void 0 : re.properties) == null ? void 0 : R.id;
6743
+ return (R = se == null ? void 0 : se.properties) == null ? void 0 : R.id;
6738
6744
  });
6739
6745
  if (!Z.length) {
6740
6746
  m(), B(null);
@@ -6742,10 +6748,10 @@ function av() {
6742
6748
  }
6743
6749
  f.value = Z, p.value = 0, _(p.value);
6744
6750
  }
6745
- function _(se) {
6746
- const ae = f.value[se];
6751
+ function _(le) {
6752
+ const ae = f.value[le];
6747
6753
  if (!ae) return;
6748
- p.value = se;
6754
+ p.value = le;
6749
6755
  const Z = Re(ae.source);
6750
6756
  I(ae, Z == null ? void 0 : Z.card);
6751
6757
  }
@@ -6755,37 +6761,37 @@ function av() {
6755
6761
  function L() {
6756
6762
  p.value <= 0 || _(p.value - 1);
6757
6763
  }
6758
- async function I(se, ae) {
6759
- var R, P, j, D;
6760
- if (!((R = se == null ? void 0 : se.properties) != null && R.id)) return;
6764
+ async function I(le, ae) {
6765
+ var R, P, j, V;
6766
+ if (!((R = le == null ? void 0 : le.properties) != null && R.id)) return;
6761
6767
  const Z = new URLSearchParams();
6762
- Z.set("layer", se.source), Z.set("id", String((P = se.properties) == null ? void 0 : P.id));
6763
- const re = Array.isArray(ae) && ae.length > 0;
6764
- a.value = re, s.value = null, l.value = null, i.value = se || null;
6768
+ Z.set("layer", le.source), Z.set("id", String((P = le.properties) == null ? void 0 : P.id));
6769
+ const se = Array.isArray(ae) && ae.length > 0;
6770
+ a.value = se, s.value = null, l.value = null, i.value = le || null;
6765
6771
  try {
6766
6772
  const S = await fetch(`/api/map-format?${Z.toString()}`);
6767
6773
  if (!S.ok) throw new Error(`Failed (${S.status})`);
6768
- const V = await S.json(), H = Array.isArray(V.columns) ? V.columns : [], J = Array.isArray(ae) ? ae : [];
6774
+ const D = await S.json(), H = Array.isArray(D.columns) ? D.columns : [], J = Array.isArray(ae) ? ae : [];
6769
6775
  if (!H.length && !J.length) {
6770
6776
  console.error("Configure layer in admin"), A();
6771
6777
  return;
6772
6778
  }
6773
6779
  l.value = {
6774
- rows: V.rows || {},
6780
+ rows: D.rows || {},
6775
6781
  fields: J,
6776
6782
  columns: H,
6777
- html: V.html || null
6783
+ html: D.html || null
6778
6784
  }, u || B(i.value);
6779
- const Q = (j = V.rows) == null ? void 0 : j.geom;
6785
+ const Q = (j = D.rows) == null ? void 0 : j.geom;
6780
6786
  if (Q) {
6781
- const ne = typeof Q == "string" ? JSON.parse(Q) : Q;
6782
- ne && (i.value = {
6787
+ const oe = typeof Q == "string" ? JSON.parse(Q) : Q;
6788
+ oe && (i.value = {
6783
6789
  ...i.value,
6784
- geometry: ne,
6790
+ geometry: oe,
6785
6791
  properties: {
6786
- ...((D = i.value) == null ? void 0 : D.properties) || {},
6787
- geom: ne,
6788
- geom_4326: ne
6792
+ ...((V = i.value) == null ? void 0 : V.properties) || {},
6793
+ geom: oe,
6794
+ geom_4326: oe
6789
6795
  }
6790
6796
  });
6791
6797
  }
@@ -6803,41 +6809,41 @@ function av() {
6803
6809
  }
6804
6810
  t().then(w), ze(() => k());
6805
6811
  function C() {
6806
- const se = Array.isArray(n.query.info) ? n.query.info[0] : n.query.info;
6807
- return typeof se != "string" ? null : se.trim() || null;
6812
+ const le = Array.isArray(n.query.info) ? n.query.info[0] : n.query.info;
6813
+ return typeof le != "string" ? null : le.trim() || null;
6808
6814
  }
6809
- function N(se) {
6815
+ function N(le) {
6810
6816
  var R, P;
6811
- const ae = (se == null ? void 0 : se.source) ?? ((R = se == null ? void 0 : se.layer) == null ? void 0 : R.id), Z = (P = se == null ? void 0 : se.properties) == null ? void 0 : P.id;
6817
+ const ae = (le == null ? void 0 : le.source) ?? ((R = le == null ? void 0 : le.layer) == null ? void 0 : R.id), Z = (P = le == null ? void 0 : le.properties) == null ? void 0 : P.id;
6812
6818
  return !ae || Z === void 0 || Z === null ? null : `${ae},${Z}`.trim() || null;
6813
6819
  }
6814
- function B(se) {
6815
- const ae = N(se), Z = C();
6820
+ function B(le) {
6821
+ const ae = N(le), Z = C();
6816
6822
  if (ae === Z) return;
6817
- const re = { ...n.query };
6818
- ae ? re.info = ae : delete re.info, r.push({ query: re }).catch(() => {
6823
+ const se = { ...n.query };
6824
+ ae ? se.info = ae : delete se.info, r.push({ query: se }).catch(() => {
6819
6825
  });
6820
6826
  }
6821
- async function ie(se) {
6822
- if (!se) {
6827
+ async function ne(le) {
6828
+ if (!le) {
6823
6829
  m();
6824
6830
  return;
6825
6831
  }
6826
- if (se === N(i.value))
6832
+ if (le === N(i.value))
6827
6833
  return;
6828
- const [ae, Z] = se.split(","), re = ae == null ? void 0 : ae.trim(), R = Z == null ? void 0 : Z.trim();
6829
- if (!re || !R) {
6834
+ const [ae, Z] = le.split(","), se = ae == null ? void 0 : ae.trim(), R = Z == null ? void 0 : Z.trim();
6835
+ if (!se || !R) {
6830
6836
  m(), B(null);
6831
6837
  return;
6832
6838
  }
6833
6839
  u = !0;
6834
6840
  try {
6835
6841
  const P = {
6836
- source: re,
6842
+ source: se,
6837
6843
  properties: { id: R }
6838
6844
  };
6839
6845
  f.value = [P], p.value = 0;
6840
- const j = Re(re);
6846
+ const j = Re(se);
6841
6847
  await I(P, j == null ? void 0 : j.card);
6842
6848
  } finally {
6843
6849
  u = !1;
@@ -6845,8 +6851,8 @@ function av() {
6845
6851
  }
6846
6852
  return ee(
6847
6853
  () => C(),
6848
- (se) => {
6849
- se !== N(i.value) && (u = !0, ie(se).finally(() => {
6854
+ (le) => {
6855
+ le !== N(i.value) && (u = !0, ne(le).finally(() => {
6850
6856
  u = !1;
6851
6857
  }));
6852
6858
  }
@@ -6889,28 +6895,28 @@ function uv() {
6889
6895
  ));
6890
6896
  }, _ = async (C, N, B) => {
6891
6897
  var ae, Z;
6892
- const [ie, se] = [w(C), w(N)];
6893
- f.value = { x: ie, y: se }, p.value = B, i.value = !0, s.value = null, n.value = [], a.value = {}, l.value = 0;
6898
+ const [ne, le] = [w(C), w(N)];
6899
+ f.value = { x: ne, y: le }, p.value = B, i.value = !0, s.value = null, n.value = [], a.value = {}, l.value = 0;
6894
6900
  try {
6895
- const re = B.map(async (S) => {
6896
- const V = `/api/map-info-point?x=${ie}&y=${se}&layers=${S}`, H = await fetch(V);
6901
+ const se = B.map(async (S) => {
6902
+ const D = `/api/map-info-point?x=${ne}&y=${le}&layers=${S}`, H = await fetch(D);
6897
6903
  if (!H.ok) return null;
6898
6904
  const J = await H.json();
6899
6905
  if (!J.count) return null;
6900
- const ne = await (await fetch(`${V}&index=0`)).json();
6901
- return { layerId: S, data: ne, count: J.count };
6902
- }), P = (await Promise.all(re)).filter(Boolean);
6906
+ const oe = await (await fetch(`${D}&index=0`)).json();
6907
+ return { layerId: S, data: oe, count: J.count };
6908
+ }), P = (await Promise.all(se)).filter(Boolean);
6903
6909
  if (P.length === 0) {
6904
6910
  r.value = 0;
6905
6911
  return;
6906
6912
  }
6907
6913
  n.value = P.map((S) => S.data);
6908
6914
  const [j] = n.value;
6909
- r.value = P.reduce((S, V) => S + (V.count || 0), 0), a.value[0] = j;
6910
- const D = ((ae = j == null ? void 0 : j.data) == null ? void 0 : ae.geom_4326) ?? ((Z = j == null ? void 0 : j.data) == null ? void 0 : Z.geom);
6911
- await x(D);
6912
- } catch (re) {
6913
- s.value = re.message;
6915
+ r.value = P.reduce((S, D) => S + (D.count || 0), 0), a.value[0] = j;
6916
+ const V = ((ae = j == null ? void 0 : j.data) == null ? void 0 : ae.geom_4326) ?? ((Z = j == null ? void 0 : j.data) == null ? void 0 : Z.geom);
6917
+ await x(V);
6918
+ } catch (se) {
6919
+ s.value = se.message;
6914
6920
  } finally {
6915
6921
  i.value = !1;
6916
6922
  }
@@ -6920,10 +6926,10 @@ function uv() {
6920
6926
  n.value[C] = a.value[C];
6921
6927
  return;
6922
6928
  }
6923
- const { x: N, y: B } = f.value, ie = p.value.join(","), se = `/api/map-info-point?x=${N}&y=${B}&index=${C}&layers=${ie}`;
6929
+ const { x: N, y: B } = f.value, ne = p.value.join(","), le = `/api/map-info-point?x=${N}&y=${B}&index=${C}&layers=${ne}`;
6924
6930
  try {
6925
6931
  i.value = !0;
6926
- const ae = await fetch(se);
6932
+ const ae = await fetch(le);
6927
6933
  if (!ae.ok) throw new Error("Failed to fetch feature by index");
6928
6934
  const Z = await ae.json();
6929
6935
  n.value[C] = Z, a.value[C] = Z;
@@ -6943,19 +6949,19 @@ function uv() {
6943
6949
  var N, B;
6944
6950
  const C = v.value;
6945
6951
  if (C) {
6946
- const ie = ((N = C == null ? void 0 : C.data) == null ? void 0 : N.geom_4326) ?? ((B = C == null ? void 0 : C.data) == null ? void 0 : B.geom);
6947
- await x(ie);
6952
+ const ne = ((N = C == null ? void 0 : C.data) == null ? void 0 : N.geom_4326) ?? ((B = C == null ? void 0 : C.data) == null ? void 0 : B.geom);
6953
+ await x(ne);
6948
6954
  }
6949
6955
  });
6950
6956
  let k = null;
6951
6957
  return Ne(async () => {
6952
6958
  await t(), e.value && (k = async (C) => {
6953
- const { lng: N, lat: B } = C.lngLat, ie = Re(), ae = Object.entries(ie).map(([Z, re]) => {
6954
- var R, P, j, D;
6959
+ const { lng: N, lat: B } = C.lngLat, ne = Re(), ae = Object.entries(ne).map(([Z, se]) => {
6960
+ var R, P, j, V;
6955
6961
  return {
6956
6962
  id: Z,
6957
- service: ((R = re == null ? void 0 : re.opts) == null ? void 0 : R.service) ?? ((j = (P = re == null ? void 0 : re.opts) == null ? void 0 : P.source) == null ? void 0 : j.service) ?? null,
6958
- count: ((D = re == null ? void 0 : re.opts) == null ? void 0 : D.count) ?? null,
6963
+ service: ((R = se == null ? void 0 : se.opts) == null ? void 0 : R.service) ?? ((j = (P = se == null ? void 0 : se.opts) == null ? void 0 : P.source) == null ? void 0 : j.service) ?? null,
6964
+ count: ((V = se == null ? void 0 : se.opts) == null ? void 0 : V.count) ?? null,
6959
6965
  visible: (() => {
6960
6966
  var S;
6961
6967
  try {
@@ -7178,7 +7184,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7178
7184
  }, Nv = { class: "text-xs tracking-[0.02em] leading-none" }, Ov = {
7179
7185
  key: 4,
7180
7186
  class: "space-y-3 border-t border-slate-200 pt-3"
7181
- }, Rv = { class: "space-y-1" }, Pv = { class: "flex items-center cursor-pointer gap-2 flex-1" }, Vv = ["checked", "onChange"], Dv = { class: "text-[13px] text-gray-600" }, Bv = {
7187
+ }, Rv = { class: "space-y-1" }, Pv = { class: "flex items-center cursor-pointer gap-2 flex-1" }, Dv = ["checked", "onChange"], Vv = { class: "text-[13px] text-gray-600" }, Bv = {
7182
7188
  key: 0,
7183
7189
  class: "text-right text-xs text-gray-400 truncate max-w-[40%]"
7184
7190
  }, Uv = {
@@ -7229,13 +7235,13 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7229
7235
  var pe, _e;
7230
7236
  const $ = n.cardFeature.value, T = ($ == null ? void 0 : $.source) || ((pe = $ == null ? void 0 : $.layer) == null ? void 0 : pe.id), Y = ((_e = $ == null ? void 0 : $.properties) == null ? void 0 : _e.id) ?? ($ == null ? void 0 : $.id);
7231
7237
  return T && Y != null ? `${T}:${Y}` : null;
7232
- }), B = M(null), ie = M(null), se = M(0), ae = /* @__PURE__ */ new Map();
7238
+ }), B = M(null), ne = M(null), le = M(0), ae = /* @__PURE__ */ new Map();
7233
7239
  function Z() {
7234
7240
  if (typeof window > "u") return null;
7235
7241
  const T = (window.location.pathname || "").match(/\/maps?\/([^/]+)/i);
7236
7242
  return T && T[1] ? T[1] : null;
7237
7243
  }
7238
- const re = O(() => {
7244
+ const se = O(() => {
7239
7245
  const $ = typeof t.mapId == "string" ? t.mapId.trim() : "";
7240
7246
  if ($.length) return $;
7241
7247
  const T = typeof x.params.slug == "string" ? x.params.slug.trim() : "";
@@ -7243,7 +7249,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7243
7249
  const Y = typeof x.query.slug == "string" ? x.query.slug.trim() : "";
7244
7250
  return Y.length ? Y : Z();
7245
7251
  }), R = M(null), P = M(null), j = /* @__PURE__ */ new Map();
7246
- function D($) {
7252
+ function V($) {
7247
7253
  const T = $.normalize("NFKD").replace(/[\u0300-\u036f]/g, "").replace(/[^a-zA-Z0-9]+/g, "-").replace(/^-+|-+$/g, "").toLowerCase();
7248
7254
  if (T) return T;
7249
7255
  const Y = Array.from($).map((pe) => pe.charCodeAt(0).toString(16)).join("").slice(0, 8);
@@ -7259,10 +7265,10 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7259
7265
  const Y = typeof window < "u" ? window.location.origin : "";
7260
7266
  return T.startsWith("/") ? Y ? `${Y}${T}` : T : Y ? `${Y}/${T}` : T;
7261
7267
  }
7262
- function V($) {
7268
+ function D($) {
7263
7269
  if ($ == null) return [];
7264
7270
  if (Array.isArray($))
7265
- return $.flatMap((T) => V(T));
7271
+ return $.flatMap((T) => D(T));
7266
7272
  if (typeof $ == "number")
7267
7273
  return Number.isFinite($) ? [$] : [];
7268
7274
  if (typeof $ == "string") {
@@ -7272,7 +7278,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7272
7278
  return [];
7273
7279
  }
7274
7280
  function H($) {
7275
- const T = V($);
7281
+ const T = D($);
7276
7282
  if (T.length < 4) return null;
7277
7283
  const [Y, pe, _e, Ee] = T;
7278
7284
  return [Y, pe, _e, Ee].every((Pe) => Number.isFinite(Pe)) ? [Y, pe, _e, Ee] : null;
@@ -7300,7 +7306,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7300
7306
  }
7301
7307
  return T;
7302
7308
  }
7303
- function ne($, T) {
7309
+ function oe($, T) {
7304
7310
  for (const Y of T)
7305
7311
  if ($[Y] != null && String($[Y]).trim().length)
7306
7312
  return String($[Y]).trim();
@@ -7315,24 +7321,24 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7315
7321
  if (typeof $ != "string" || !$.length) return [];
7316
7322
  const T = [], Y = /<LayerSwitcher\b([^>]*)>([\s\S]*?)<\/LayerSwitcher>/gi;
7317
7323
  let pe = 0, _e;
7318
- const Ee = /* @__PURE__ */ new Set(), Pe = (Ve) => {
7319
- let We = Ve, nt = 2;
7324
+ const Ee = /* @__PURE__ */ new Set(), Pe = (De) => {
7325
+ let We = De, nt = 2;
7320
7326
  for (; Ee.has(We); )
7321
- We = `${Ve}-${nt}`, nt += 1;
7327
+ We = `${De}-${nt}`, nt += 1;
7322
7328
  return Ee.add(We), We;
7323
7329
  };
7324
7330
  for (; (_e = Y.exec($)) !== null; ) {
7325
- const [Ve, We = "", nt = ""] = _e, He = _e.index;
7331
+ const [De, We = "", nt = ""] = _e, He = _e.index;
7326
7332
  if (He > pe) {
7327
7333
  const Oo = $.slice(pe, He);
7328
7334
  Oo.trim().length && T.push({ type: "html", content: Oo });
7329
7335
  }
7330
- const ot = Q(We), it = ne(ot, ["title"]) || "Тимчасовий шар", Ct = S(ne(ot, ["url"]));
7336
+ const ot = Q(We), it = oe(ot, ["title"]) || "Тимчасовий шар", Ct = S(oe(ot, ["url"]));
7331
7337
  if (!Ct) {
7332
- T.push({ type: "html", content: Ve }), pe = He + Ve.length;
7338
+ T.push({ type: "html", content: De }), pe = He + De.length;
7333
7339
  continue;
7334
7340
  }
7335
- const en = ne(ot, ["id"]), Rn = ne(ot, ["button-text", "buttonText", "show", "show-label", "showLabel"]), Ql = ue(ne(ot, ["tile-size", "tileSize"])), Jl = ue(ne(ot, ["minzoom", "minZoom"])), es = ue(ne(ot, ["maxzoom", "maxZoom"])), ts = ue(ne(ot, ["opacity"])), ns = J(ne(ot, ["bounds", "data-bounds", "bbox"])), os = en || D(`${it}-${Ct}`) || D(it), zo = Pe(os || `layer-${T.length + 1}`), Pn = nt.trim(), No = /<[^>]+>/.test(Pn), rs = No ? Pn : null, Vn = No ? null : Pn, ls = Rn && Rn.trim().length ? Rn.trim() : Vn && Vn.trim().length ? Vn.trim() : void 0;
7341
+ const en = oe(ot, ["id"]), Rn = oe(ot, ["button-text", "buttonText", "show", "show-label", "showLabel"]), Ql = ue(oe(ot, ["tile-size", "tileSize"])), Jl = ue(oe(ot, ["minzoom", "minZoom"])), es = ue(oe(ot, ["maxzoom", "maxZoom"])), ts = ue(oe(ot, ["opacity"])), ns = J(oe(ot, ["bounds", "data-bounds", "bbox"])), os = en || V(`${it}-${Ct}`) || V(it), zo = Pe(os || `layer-${T.length + 1}`), Pn = nt.trim(), No = /<[^>]+>/.test(Pn), rs = No ? Pn : null, Dn = No ? null : Pn, ls = Rn && Rn.trim().length ? Rn.trim() : Dn && Dn.trim().length ? Dn.trim() : void 0;
7336
7342
  T.push({
7337
7343
  type: "layer",
7338
7344
  spec: {
@@ -7352,11 +7358,11 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7352
7358
  buttonText: ls
7353
7359
  },
7354
7360
  slotText: rs
7355
- }), pe = He + Ve.length;
7361
+ }), pe = He + De.length;
7356
7362
  }
7357
7363
  if (pe < $.length) {
7358
- const Ve = $.slice(pe);
7359
- Ve.trim().length && T.push({ type: "html", content: Ve });
7364
+ const De = $.slice(pe);
7365
+ De.trim().length && T.push({ type: "html", content: De });
7360
7366
  }
7361
7367
  return !T.length && $.trim().length && T.push({ type: "html", content: $ }), T;
7362
7368
  }
@@ -7386,7 +7392,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7386
7392
  if (!$) return [];
7387
7393
  const T = Array.isArray($.columns) ? $.columns : [];
7388
7394
  return T.length ? T : Array.isArray($.fields) ? $.fields : [];
7389
- }), oe = O(() => {
7395
+ }), re = O(() => {
7390
7396
  const $ = W.value;
7391
7397
  if (!$.length) return [];
7392
7398
  const T = Te.value;
@@ -7480,8 +7486,8 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7480
7486
  { immediate: !0 }
7481
7487
  );
7482
7488
  const Ce = O(
7483
- () => oe.value.filter(($) => ke($.value)).length
7484
- ), Fe = O(() => Oe.value && !Ie.value ? oe.value.filter(($) => !ke($.value)) : oe.value);
7489
+ () => re.value.filter(($) => ke($.value)).length
7490
+ ), Fe = O(() => Oe.value && !Ie.value ? re.value.filter(($) => !ke($.value)) : re.value);
7485
7491
  function fe($) {
7486
7492
  const T = typeof $ == "string" ? $ : "";
7487
7493
  if (!T.length) return { sanitized: "", hiddenCount: 0 };
@@ -7491,14 +7497,14 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7491
7497
  let _e = 0;
7492
7498
  return pe.querySelectorAll("dd").forEach((Ee) => {
7493
7499
  var We;
7494
- const Pe = ((We = Ee.textContent) == null ? void 0 : We.trim()) ?? "", Ve = Ee.closest("div");
7500
+ const Pe = ((We = Ee.textContent) == null ? void 0 : We.trim()) ?? "", De = Ee.closest("div");
7495
7501
  if (ke(Pe)) {
7496
- _e += 1, Ve ? Ve.remove() : Ee.remove();
7502
+ _e += 1, De ? De.remove() : Ee.remove();
7497
7503
  return;
7498
7504
  }
7499
7505
  }), { sanitized: pe.body.innerHTML, hiddenCount: _e };
7500
7506
  }
7501
- const De = O(() => fe(u.value)), qe = O(() => u.value ? De.value.hiddenCount : 0), Ke = O(() => Ce.value + qe.value), yt = O(
7507
+ const Ve = O(() => fe(u.value)), qe = O(() => u.value ? Ve.value.hiddenCount : 0), Ke = O(() => Ce.value + qe.value), yt = O(
7502
7508
  () => {
7503
7509
  var $;
7504
7510
  return Oe.value && !Ie.value && !!(($ = u.value) != null && $.trim());
@@ -7512,19 +7518,19 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7512
7518
  Ie.value = !Ie.value;
7513
7519
  }
7514
7520
  const $t = O(() => {
7515
- const $ = yt.value ? De.value.sanitized : u.value ?? "";
7521
+ const $ = yt.value ? Ve.value.sanitized : u.value ?? "";
7516
7522
  return he($);
7517
7523
  }), Mn = O(() => $t.value.filter(($) => $.type === "layer"));
7518
7524
  function Nl($) {
7519
7525
  return Array.isArray($) ? $.map((T, Y) => {
7520
- const pe = S(typeof (T == null ? void 0 : T.url) == "string" ? T.url : ""), _e = typeof (T == null ? void 0 : T.geohub) == "string" && T.geohub.trim().length ? `/api-hub/tms/${T.geohub.trim()}/ua/{z}/{x}/{y}.png` : "", Ee = ((T == null ? void 0 : T.name) || (T == null ? void 0 : T.title) || (T == null ? void 0 : T.label) || `Шар ${Y + 1}`).toString(), Pe = (T == null ? void 0 : T.id) != null ? String(T.id) : D(`${Ee}-${Y + 1}`), Ve = (T == null ? void 0 : T.buttonText) || (T == null ? void 0 : T.button_text) || null, We = (T == null ? void 0 : T.description) || (T == null ? void 0 : T.subtitle) || null, nt = pe || S(_e) || "";
7526
+ const pe = S(typeof (T == null ? void 0 : T.url) == "string" ? T.url : ""), _e = typeof (T == null ? void 0 : T.geohub) == "string" && T.geohub.trim().length ? `/api-hub/tms/${T.geohub.trim()}/ua/{z}/{x}/{y}.png` : "", Ee = ((T == null ? void 0 : T.name) || (T == null ? void 0 : T.title) || (T == null ? void 0 : T.label) || `Шар ${Y + 1}`).toString(), Pe = (T == null ? void 0 : T.id) != null ? String(T.id) : V(`${Ee}-${Y + 1}`), De = (T == null ? void 0 : T.buttonText) || (T == null ? void 0 : T.button_text) || null, We = (T == null ? void 0 : T.description) || (T == null ? void 0 : T.subtitle) || null, nt = pe || S(_e) || "";
7521
7527
  if (!nt) return null;
7522
7528
  const He = {
7523
7529
  id: Pe,
7524
7530
  title: Ee,
7525
7531
  url: nt,
7526
7532
  subtitle: We,
7527
- buttonText: Ve || void 0
7533
+ buttonText: De || void 0
7528
7534
  };
7529
7535
  typeof (T == null ? void 0 : T.tileSize) == "number" && (He.tileSize = T.tileSize), typeof (T == null ? void 0 : T.tile_size) == "number" && (He.tileSize = T.tile_size), typeof (T == null ? void 0 : T.minzoom) == "number" && (He.minzoom = T.minzoom), typeof (T == null ? void 0 : T.maxzoom) == "number" && (He.maxzoom = T.maxzoom), typeof (T == null ? void 0 : T.opacity) == "number" && (He.opacity = T.opacity);
7530
7536
  const ot = H((T == null ? void 0 : T.bounds) ?? (T == null ? void 0 : T.bbox) ?? null);
@@ -7546,7 +7552,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7546
7552
  }
7547
7553
  return [];
7548
7554
  }), Ol = O(
7549
- () => $t.value.length > 0 || oe.value.length > 0 || vn.value.length > 0
7555
+ () => $t.value.length > 0 || re.value.length > 0 || vn.value.length > 0
7550
7556
  ), $o = O(() => !n.cardLoading.value && !!n.card.value);
7551
7557
  function Rl() {
7552
7558
  const $ = {}, T = R.value;
@@ -7581,7 +7587,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7581
7587
  async function Fn($) {
7582
7588
  if (!($ != null && $.id)) return;
7583
7589
  await Pl();
7584
- const T = Rl(), Y = Mn.value.find((Ve) => Ve.spec.id === $.id), pe = vn.value.find((Ve) => Ve.id === $.id), _e = (Y == null ? void 0 : Y.spec) || ye(pe) || ye($), Ee = (Y == null ? void 0 : Y.spec.bounds) ?? (pe == null ? void 0 : pe.bounds);
7590
+ const T = Rl(), Y = Mn.value.find((De) => De.spec.id === $.id), pe = vn.value.find((De) => De.id === $.id), _e = (Y == null ? void 0 : Y.spec) || ye(pe) || ye($), Ee = (Y == null ? void 0 : Y.spec.bounds) ?? (pe == null ? void 0 : pe.bounds);
7585
7591
  if (!_e || I(_e.id, C.value))
7586
7592
  return;
7587
7593
  const Pe = C.value || void 0;
@@ -7590,9 +7596,9 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7590
7596
  owner: Pe,
7591
7597
  spec: _e,
7592
7598
  context: T
7593
- }), Vl(Ee);
7599
+ }), Dl(Ee);
7594
7600
  }
7595
- async function Vl($) {
7601
+ async function Dl($) {
7596
7602
  var Ee;
7597
7603
  if (!($ != null && $.length)) return;
7598
7604
  const [T, Y, pe, _e] = $;
@@ -7604,7 +7610,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7604
7610
  { padding: 48, maxZoom: 18 }
7605
7611
  ));
7606
7612
  }
7607
- function Dl($) {
7613
+ function Vl($) {
7608
7614
  if (!$) return;
7609
7615
  const T = In() || void 0;
7610
7616
  E($, T), A({
@@ -7618,7 +7624,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7618
7624
  }
7619
7625
  function Ul($, T) {
7620
7626
  const Y = T.target;
7621
- !!(Y != null && Y.checked) ? Fn($) : Dl($.id);
7627
+ !!(Y != null && Y.checked) ? Fn($) : Vl($.id);
7622
7628
  }
7623
7629
  function In() {
7624
7630
  return B.value || C.value || null;
@@ -7670,7 +7676,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7670
7676
  }
7671
7677
  function ct() {
7672
7678
  var $, T;
7673
- (T = ($ = ie.value) == null ? void 0 : $.remove) == null || T.call($), ie.value = null;
7679
+ (T = ($ = ne.value) == null ? void 0 : $.remove) == null || T.call($), ne.value = null;
7674
7680
  }
7675
7681
  function Yl($) {
7676
7682
  var Y, pe, _e;
@@ -7725,9 +7731,9 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7725
7731
  }
7726
7732
  }
7727
7733
  function Zl($) {
7728
- var Ve, We;
7734
+ var De, We;
7729
7735
  if (!$) return null;
7730
- const T = $.type === "FeatureCollection" ? (We = (Ve = $.features) == null ? void 0 : Ve[0]) == null ? void 0 : We.geometry : $.type === "Feature" ? $.geometry : $, Y = [];
7736
+ const T = $.type === "FeatureCollection" ? (We = (De = $.features) == null ? void 0 : De[0]) == null ? void 0 : We.geometry : $.type === "Feature" ? $.geometry : $, Y = [];
7731
7737
  if (yn(T, Y), !Y.length) return null;
7732
7738
  let pe = Y[0][0], _e = Y[0][0], Ee = Y[0][1], Pe = Y[0][1];
7733
7739
  return Y.forEach(([nt, He]) => {
@@ -7758,7 +7764,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7758
7764
  };
7759
7765
  ct();
7760
7766
  const pe = Yl($);
7761
- if (ie.value = Re("feature-card-highlight", {
7767
+ if (ne.value = Re("feature-card-highlight", {
7762
7768
  source: { type: "geojson", data: Y },
7763
7769
  layer: {
7764
7770
  id: "feature-card-highlight",
@@ -7778,10 +7784,10 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7778
7784
  }) : setTimeout(Ee, 0);
7779
7785
  };
7780
7786
  Pe();
7781
- const Ve = () => Pe();
7782
- T.once("styledata", Ve);
7787
+ const De = () => Pe();
7788
+ T.once("styledata", De);
7783
7789
  const We = () => {
7784
- Pe(), T.off("styledata", Ve), T.off("idle", We);
7790
+ Pe(), T.off("styledata", De), T.off("idle", We);
7785
7791
  };
7786
7792
  T.on("idle", We);
7787
7793
  }
@@ -7792,7 +7798,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7792
7798
  return `${T}:${Y}`;
7793
7799
  }
7794
7800
  async function Xl($) {
7795
- var Ee, Pe, Ve, We, nt;
7801
+ var Ee, Pe, De, We, nt;
7796
7802
  if (!$) return null;
7797
7803
  const T = Hl($);
7798
7804
  if (T) return T;
@@ -7801,13 +7807,13 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7801
7807
  const pe = Kl($);
7802
7808
  if (ae.has(pe))
7803
7809
  return ae.get(pe);
7804
- const _e = [re.value, $ == null ? void 0 : $.source, (Pe = $ == null ? void 0 : $.layer) == null ? void 0 : Pe.id].map((He) => typeof He == "string" ? He.trim() : "").filter(Boolean);
7810
+ const _e = [se.value, $ == null ? void 0 : $.source, (Pe = $ == null ? void 0 : $.layer) == null ? void 0 : Pe.id].map((He) => typeof He == "string" ? He.trim() : "").filter(Boolean);
7805
7811
  for (const He of _e)
7806
7812
  try {
7807
7813
  const ot = await fetch(`/api/map-features/${encodeURIComponent(He)}/${encodeURIComponent(String(Y))}`);
7808
7814
  if (!ot.ok)
7809
7815
  continue;
7810
- const it = await ot.json(), Ct = ((Ve = it == null ? void 0 : it.data) == null ? void 0 : Ve.geom) || ((We = it == null ? void 0 : it.data) == null ? void 0 : We.geometry) || ((nt = it == null ? void 0 : it.data) == null ? void 0 : nt.geom_4326) || null, en = typeof Ct == "string" ? JSON.parse(Ct) : Ct;
7816
+ const it = await ot.json(), Ct = ((De = it == null ? void 0 : it.data) == null ? void 0 : De.geom) || ((We = it == null ? void 0 : it.data) == null ? void 0 : We.geometry) || ((nt = it == null ? void 0 : it.data) == null ? void 0 : nt.geom_4326) || null, en = typeof Ct == "string" ? JSON.parse(Ct) : Ct;
7811
7817
  if (en)
7812
7818
  return ae.set(pe, en), en;
7813
7819
  } catch {
@@ -7816,8 +7822,8 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7816
7822
  return null;
7817
7823
  }
7818
7824
  async function Jt($) {
7819
- se.value += 1;
7820
- const T = se.value;
7825
+ le.value += 1;
7826
+ const T = le.value;
7821
7827
  if (a())
7822
7828
  return;
7823
7829
  if (!$ || p.value) {
@@ -7829,7 +7835,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7829
7835
  return;
7830
7836
  }
7831
7837
  const Y = await Xl($);
7832
- if (T === se.value) {
7838
+ if (T === le.value) {
7833
7839
  if (!Y) {
7834
7840
  ct();
7835
7841
  return;
@@ -7858,7 +7864,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7858
7864
  return;
7859
7865
  }
7860
7866
  Jt(n.cardFeature.value);
7861
- }), ee(re, () => {
7867
+ }), ee(se, () => {
7862
7868
  if (s.value) {
7863
7869
  a();
7864
7870
  return;
@@ -7899,7 +7905,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7899
7905
  disabled: ce(gn) === 0,
7900
7906
  class: "border p-1 rounded text-xs disabled:opacity-40"
7901
7907
  }, [
7902
- le(ce(Bo), { class: "h-4 w-4" })
7908
+ ie(ce(Bo), { class: "h-4 w-4" })
7903
7909
  ], 8, xv),
7904
7910
  o("button", {
7905
7911
  onClick: T[1] || (T[1] = //@ts-ignore
@@ -7907,7 +7913,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7907
7913
  disabled: ce(gn) === ce(jn) - 1,
7908
7914
  class: "border p-1 rounded text-xs disabled:opacity-40"
7909
7915
  }, [
7910
- le(ce(Uo), { class: "h-4 w-4" })
7916
+ ie(ce(Uo), { class: "h-4 w-4" })
7911
7917
  ], 8, bv)
7912
7918
  ])) : !p.value && So.value ? (d(), h("div", wv, [
7913
7919
  o("button", {
@@ -7916,7 +7922,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7916
7922
  disabled: Nn.value === 0,
7917
7923
  class: "border p-1 rounded text-xs disabled:opacity-40"
7918
7924
  }, [
7919
- le(ce(Bo), { class: "h-4 w-4" })
7925
+ ie(ce(Bo), { class: "h-4 w-4" })
7920
7926
  ], 8, _v),
7921
7927
  o("button", {
7922
7928
  onClick: T[3] || (T[3] = //@ts-ignore
@@ -7924,7 +7930,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7924
7930
  disabled: Nn.value === zn.value - 1,
7925
7931
  class: "border p-1 rounded text-xs disabled:opacity-40"
7926
7932
  }, [
7927
- le(ce(Uo), { class: "h-4 w-4" })
7933
+ ie(ce(Uo), { class: "h-4 w-4" })
7928
7934
  ], 8, kv)
7929
7935
  ])) : X("", !0),
7930
7936
  o("button", {
@@ -7935,7 +7941,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
7935
7941
  ]),
7936
7942
  o("div", $v, [
7937
7943
  c.value ? (d(), h("div", Cv, " Завантаження даних… ")) : g.value ? (d(), h("div", Av, U(g.value), 1)) : (d(), h(te, { key: 2 }, [
7938
- oe.value.length ? (d(), h("div", Sv, [
7944
+ re.value.length ? (d(), h("div", Sv, [
7939
7945
  o("dl", Lv, [
7940
7946
  (d(!0), h(te, null, ge(Fe.value, (Y) => (d(), h("div", {
7941
7947
  key: Y.key,
@@ -8014,7 +8020,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8014
8020
  class: "peer hidden",
8015
8021
  checked: Bl(Y.id),
8016
8022
  onChange: (pe) => Ul(Y, pe)
8017
- }, null, 40, Vv),
8023
+ }, null, 40, Dv),
8018
8024
  T[4] || (T[4] = o("div", { class: "w-4 h-4 rounded border border-blue-800 flex items-center justify-center peer-checked:bg-blue-600 peer-checked:border-blue-600" }, [
8019
8025
  o("svg", {
8020
8026
  xmlns: "http://www.w3.org/2000/svg",
@@ -8032,7 +8038,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8032
8038
  })
8033
8039
  ])
8034
8040
  ], -1)),
8035
- o("span", Dv, U(Y.title), 1)
8041
+ o("span", Vv, U(Y.title), 1)
8036
8042
  ]),
8037
8043
  Y.subtitle ? (d(), h("div", Bv, U(Y.subtitle), 1)) : X("", !0)
8038
8044
  ]))), 128))
@@ -8046,7 +8052,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8046
8052
  _: 1
8047
8053
  }));
8048
8054
  }
8049
- }), _o = /* @__PURE__ */ Se(Yv, [["__scopeId", "data-v-9ba32153"]]), Ml = /* @__PURE__ */ ve({
8055
+ }), _o = /* @__PURE__ */ Se(Yv, [["__scopeId", "data-v-b7e977e7"]]), Ml = /* @__PURE__ */ ve({
8050
8056
  __name: "MapBoundaryLayer",
8051
8057
  props: {
8052
8058
  layerId: {},
@@ -8263,7 +8269,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8263
8269
  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",
8264
8270
  "aria-hidden": "true"
8265
8271
  }, "Центр мапи", -1)),
8266
- le(ce(Fs), { class: "w-4 h-4" })
8272
+ ie(ce(Fs), { class: "w-4 h-4" })
8267
8273
  ])),
8268
8274
  y.value ? (d(), h("button", {
8269
8275
  key: 1,
@@ -8274,11 +8280,11 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8274
8280
  onClick: Je(x, ["stop"])
8275
8281
  }, [
8276
8282
  o("span", Gv, U(u.value), 1),
8277
- le(ce(js), { class: "w-4 h-4" })
8283
+ ie(ce(js), { class: "w-4 h-4" })
8278
8284
  ], 8, Zv)) : X("", !0)
8279
8285
  ]));
8280
8286
  }
8281
- }), Pt = /* @__PURE__ */ Se(Kv, [["__scopeId", "data-v-11f03bb7"]]), Xv = { class: "flex h-full bg-gradient-to-br from-slate-50 to-white" }, Qv = { class: "flex-1 relative overflow-hidden" }, Jv = { class: "absolute top-0 left-0 w-full z-20" }, e0 = { class: "flex items-center justify-between bg-white/80 backdrop-blur border-b border-gray-200 px-6 py-3 shadow-sm gap-4" }, t0 = { class: "flex items-center gap-3 h-[2.75rem]" }, n0 = { class: "font-semibold text-lg text-gray-800 line-clamp-1" }, o0 = {
8287
+ }), Pt = /* @__PURE__ */ Se(Kv, [["__scopeId", "data-v-03fa94f6"]]), Xv = { class: "flex h-full bg-gradient-to-br from-slate-50 to-white" }, Qv = { class: "flex-1 relative overflow-hidden" }, Jv = { class: "absolute top-0 left-0 w-full z-20" }, e0 = { class: "flex items-center justify-between bg-white/80 backdrop-blur border-b border-gray-200 px-6 py-3 shadow-sm gap-4" }, t0 = { class: "flex items-center gap-3 h-[2.75rem]" }, n0 = { class: "font-semibold text-lg text-gray-800 line-clamp-1" }, o0 = {
8282
8288
  key: 0,
8283
8289
  class: "text-xs text-gray-500 truncate"
8284
8290
  }, r0 = ["title"], l0 = { class: "w-full h-full bg-gradient-to-br from-sky-50 via-white to-blue-50 flex items-center justify-center relative pt-[64px]" }, s0 = { class: "relative w-full h-full" }, i0 = { style: { top: "17px", left: "230px", position: "absolute", "z-index": "1" } }, a0 = { class: "absolute top-4 left-4 z-20" }, u0 = { class: "absolute top-[6.5rem] right-2 space-y-1 z-20" }, c0 = { class: "absolute bottom-4 left-4 z-20" }, d0 = { class: "flex-1 flex flex-col h-full" }, f0 = { class: "px-3 pt-3 pb-2 border-b border-gray-100" }, p0 = { class: "items-center justify-center text-muted-foreground grid w-full grid-cols-6 h-12 p-1 bg-gray-50 rounded-xl shadow-sm" }, m0 = ["aria-selected", "onClick"], v0 = { class: "leading-none" }, g0 = { class: "flex flex-col flex-1 overflow-y-hidden p-3" }, y0 = "OpenGIS", h0 = 2, yr = 5, x0 = 1e3, b0 = /* @__PURE__ */ ve({
@@ -8287,8 +8293,8 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8287
8293
  hideServiceKey: { type: Boolean, default: !1 }
8288
8294
  },
8289
8295
  setup(e) {
8290
- var W, oe;
8291
- const n = cs(e, "hideServiceKey"), r = ut(), l = mt(), { id: i } = r.params, s = M(null), a = M(null), f = M({}), p = M(null), v = ((oe = (W = Mt()) == null ? void 0 : W.appContext.config.globalProperties) == null ? void 0 : oe.$settings) || null;
8296
+ var W, re;
8297
+ const n = cs(e, "hideServiceKey"), r = ut(), l = mt(), { id: i } = r.params, s = M(null), a = M(null), f = M({}), p = M(null), v = ((re = (W = Mt()) == null ? void 0 : W.appContext.config.globalProperties) == null ? void 0 : re.$settings) || null;
8292
8298
  function c(b) {
8293
8299
  typeof document > "u" || (document.title = b ? `${b} — Сервіс` : y0);
8294
8300
  }
@@ -8331,15 +8337,15 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8331
8337
  };
8332
8338
  r.query.z === xe.z && r.query.x === xe.x && r.query.y === xe.y || l.replace({ query: xe });
8333
8339
  }
8334
- const E = M(null), L = M(""), I = M([]), A = M([]), k = M([]), C = M("list"), N = M(""), B = M([]), ie = M(!0);
8335
- let se = null;
8340
+ const E = M(null), L = M(""), I = M([]), A = M([]), k = M([]), C = M("list"), N = M(""), B = M([]), ne = M(!0);
8341
+ let le = null;
8336
8342
  const ae = O(() => {
8337
8343
  var b, F;
8338
8344
  return ((b = p.value) == null ? void 0 : b.id) ?? ((F = p.value) == null ? void 0 : F.service_id) ?? null;
8339
8345
  }), Z = O(() => {
8340
8346
  const b = (v == null ? void 0 : v.map) || null, F = (b == null ? void 0 : b.boundary) ?? null, K = (b == null ? void 0 : b.katottg) ?? null;
8341
8347
  return !F && !K ? null : { boundary: F, katottg: K };
8342
- }), re = O(() => {
8348
+ }), se = O(() => {
8343
8349
  const b = p.value;
8344
8350
  if (!b) return "";
8345
8351
  const F = [];
@@ -8356,9 +8362,9 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8356
8362
  ], P = R.map((b) => b.key), j = M("style");
8357
8363
  Ne(async () => {
8358
8364
  const b = r.query.tab;
8359
- b && P.includes(b) && (j.value = b), await ne(), D();
8365
+ b && P.includes(b) && (j.value = b), await oe(), V();
8360
8366
  });
8361
- async function D() {
8367
+ async function V() {
8362
8368
  var xe;
8363
8369
  const b = m();
8364
8370
  if (!(b != null && b.ready)) return;
@@ -8398,7 +8404,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8398
8404
  return console.warn("Failed to clone style", F), null;
8399
8405
  }
8400
8406
  }
8401
- function V(b) {
8407
+ function D(b) {
8402
8408
  if (!b) return null;
8403
8409
  if (typeof b == "string")
8404
8410
  try {
@@ -8418,24 +8424,24 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8418
8424
  function J() {
8419
8425
  var F;
8420
8426
  if (!p.value) return;
8421
- const b = V(E.value);
8427
+ const b = D(E.value);
8422
8428
  H(b, ((F = p.value) == null ? void 0 : F.style) ?? null) || (p.value = {
8423
8429
  ...p.value,
8424
8430
  style: b
8425
8431
  });
8426
8432
  }
8427
8433
  function Q() {
8428
- se && clearTimeout(se), se = setTimeout(() => {
8429
- se = null, J();
8434
+ le && clearTimeout(le), le = setTimeout(() => {
8435
+ le = null, J();
8430
8436
  }, x0);
8431
8437
  }
8432
- const ne = async () => {
8438
+ const oe = async () => {
8433
8439
  try {
8434
8440
  const b = await fetch(`/api/gis-service/${i}`);
8435
8441
  if (!b.ok) throw new Error(`${b.status}`);
8436
8442
  const F = await b.json();
8437
8443
  f.value = F || {}, a.value = i;
8438
- const K = V(F.style);
8444
+ const K = D(F.style);
8439
8445
  p.value = F ? { ...F, style: S(K) } : null, E.value = K, L.value = typeof (F == null ? void 0 : F.style) == "string" ? F.style : K ? ir.dump(K) : "", A.value = (F == null ? void 0 : F.popup) || [], C.value = F.card_mode === "html" ? "html" : "list", k.value = F.card, N.value = F.html, I.value = (F == null ? void 0 : F.legend) || [], B.value = (F == null ? void 0 : F.filters) || [];
8440
8446
  } catch (b) {
8441
8447
  console.error("Failed to fetch map info", b);
@@ -8447,7 +8453,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8447
8453
  return (b = p.value) == null ? void 0 : b.style;
8448
8454
  },
8449
8455
  (b) => {
8450
- E.value = V(b);
8456
+ E.value = D(b);
8451
8457
  },
8452
8458
  { deep: !0 }
8453
8459
  ), ee(
@@ -8457,7 +8463,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8457
8463
  },
8458
8464
  { deep: !0 }
8459
8465
  ), ze(() => {
8460
- se && (clearTimeout(se), se = null), g == null || g(), g = null;
8466
+ le && (clearTimeout(le), le = null), g == null || g(), g = null;
8461
8467
  });
8462
8468
  async function ue(b, F) {
8463
8469
  await ye({ [b]: F }, b);
@@ -8480,7 +8486,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8480
8486
  headers: { "Content-Type": "application/json" },
8481
8487
  body: JSON.stringify(b)
8482
8488
  })).ok) throw new Error("Save failed");
8483
- Me({ type: "success", title: "Успіх", message: `${F} saved` }), await ne();
8489
+ Me({ type: "success", title: "Успіх", message: `${F} saved` }), await oe();
8484
8490
  } catch (K) {
8485
8491
  Me({ type: "error", title: "Помилка", message: `Failed to save ${F}` }), console.error(K);
8486
8492
  }
@@ -8526,7 +8532,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8526
8532
  ])]),
8527
8533
  o("div", null, [
8528
8534
  o("div", n0, U((K = p.value) == null ? void 0 : K.name), 1),
8529
- re.value ? (d(), h("div", o0, U(re.value), 1)) : X("", !0)
8535
+ se.value ? (d(), h("div", o0, U(se.value), 1)) : X("", !0)
8530
8536
  ])
8531
8537
  ]),
8532
8538
  o("div", {
@@ -8537,14 +8543,14 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8537
8543
  ]),
8538
8544
  o("div", l0, [
8539
8545
  o("div", s0, [
8540
- le(En, {
8546
+ ie(En, {
8541
8547
  ref_key: "mapViewRef",
8542
8548
  ref: s
8543
8549
  }, {
8544
8550
  default: je(() => {
8545
8551
  var be, Oe, Ie, z, q, G, we;
8546
8552
  return [
8547
- (be = p.value) != null && be.service_id ? (d(), me(Dm, {
8553
+ (be = p.value) != null && be.service_id ? (d(), me(Vm, {
8548
8554
  key: 0,
8549
8555
  id: (Oe = p.value) == null ? void 0 : Oe.service_id,
8550
8556
  layer: p.value,
@@ -8569,10 +8575,10 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8569
8575
  class: "map-widget__filter-host"
8570
8576
  }, null, -1)),
8571
8577
  o("div", a0, [
8572
- le(Wt)
8578
+ ie(Wt)
8573
8579
  ]),
8574
8580
  o("div", u0, [
8575
- le(Pt),
8581
+ ie(Pt),
8576
8582
  f.value.center ? (d(), me(Pt, {
8577
8583
  key: 0,
8578
8584
  targetCenter: f.value.center,
@@ -8580,12 +8586,12 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8580
8586
  }, null, 8, ["targetCenter"])) : X("", !0)
8581
8587
  ]),
8582
8588
  o("div", c0, [
8583
- le(ro, {
8589
+ ie(ro, {
8584
8590
  items: I.value || null
8585
8591
  }, null, 8, ["items"])
8586
8592
  ]),
8587
- le(Tl),
8588
- le(_o, {
8593
+ ie(Tl),
8594
+ ie(_o, {
8589
8595
  html: f.value.html
8590
8596
  }, null, 8, ["html"])
8591
8597
  ];
@@ -8594,13 +8600,13 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8594
8600
  }, 512)
8595
8601
  ])
8596
8602
  ]),
8597
- le(go, {
8598
- open: ie.value,
8599
- onToggle: F[1] || (F[1] = (be) => ie.value = !ie.value)
8603
+ ie(go, {
8604
+ open: ne.value,
8605
+ onToggle: F[1] || (F[1] = (be) => ne.value = !ne.value)
8600
8606
  }, null, 8, ["open"])
8601
8607
  ]),
8602
8608
  o("div", {
8603
- class: Le(["bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg flex-shrink-0 transition-[width] duration-100 ease-in-out", ie.value ? "w-[650px]" : "w-0"])
8609
+ class: Le(["bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg flex-shrink-0 transition-[width] duration-100 ease-in-out", ne.value ? "w-[650px]" : "w-0"])
8604
8610
  }, [
8605
8611
  o("div", d0, [
8606
8612
  o("div", f0, [
@@ -8649,7 +8655,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8649
8655
  html: N.value,
8650
8656
  "onUpdate:columns": F[8] || (F[8] = (be) => k.value = be),
8651
8657
  onSave: Te
8652
- }, null, 8, ["token", "columns", "fields", "view-mode", "html"])) : j.value === "filter" ? (d(), me(Vm, {
8658
+ }, null, 8, ["token", "columns", "fields", "view-mode", "html"])) : j.value === "filter" ? (d(), me(Dm, {
8653
8659
  key: 4,
8654
8660
  token: ae.value,
8655
8661
  fields: f.value.fields,
@@ -8666,13 +8672,13 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8666
8672
  ]);
8667
8673
  };
8668
8674
  }
8669
- }), U2 = /* @__PURE__ */ Se(b0, [["__scopeId", "data-v-0a9c15f1"]]), w0 = { class: "flex-1 overflow-y-auto p-4 sm:p-6" }, _0 = { class: "space-y-3" }, k0 = { class: "bg-white p-3 rounded-xl border border-gray-200 shadow-sm" }, $0 = { class: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-2" }, C0 = { class: "text-xs text-gray-500 mb-1" }, A0 = {
8675
+ }), U2 = /* @__PURE__ */ Se(b0, [["__scopeId", "data-v-9f7ac26a"]]), w0 = { class: "flex-1 overflow-y-auto p-4 sm:p-6" }, _0 = { class: "space-y-3" }, k0 = { class: "bg-white p-3 rounded-xl border border-gray-200 shadow-sm" }, $0 = { class: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-2" }, C0 = { class: "text-xs text-gray-500 mb-1" }, A0 = {
8670
8676
  key: 0,
8671
8677
  class: "text-base text-md font-semibold text-gray-900"
8672
8678
  }, S0 = {
8673
8679
  key: 1,
8674
8680
  class: "text-base text-md font-semibold text-gray-900"
8675
- }, L0 = { class: "bg-white p-3 rounded-xl border border-gray-200 shadow-sm" }, E0 = { class: "space-y-2" }, T0 = { class: "bg-gradient-to-br from-blue-50 to-blue-100/30 p-4 rounded-lg border border-blue-200" }, M0 = { class: "text-sm font-semibold text-gray-900" }, F0 = { class: "text-xs text-gray-600 mt-1" }, I0 = { class: "grid grid-cols-2 gap-3" }, j0 = { class: "text-xs text-gray-500 mb-1" }, z0 = { class: "text-sm font-semibold text-gray-900" }, N0 = { class: "bg-gray-50 p-4 rounded-lg" }, O0 = { class: "grid grid-cols-2 gap-4" }, R0 = { class: "text-xs text-gray-500 mb-1" }, P0 = { class: "text-sm font-semibold text-gray-900" }, V0 = /* @__PURE__ */ ve({
8681
+ }, L0 = { class: "bg-white p-3 rounded-xl border border-gray-200 shadow-sm" }, E0 = { class: "space-y-2" }, T0 = { class: "bg-gradient-to-br from-blue-50 to-blue-100/30 p-4 rounded-lg border border-blue-200" }, M0 = { class: "text-sm font-semibold text-gray-900" }, F0 = { class: "text-xs text-gray-600 mt-1" }, I0 = { class: "grid grid-cols-2 gap-3" }, j0 = { class: "text-xs text-gray-500 mb-1" }, z0 = { class: "text-sm font-semibold text-gray-900" }, N0 = { class: "bg-gray-50 p-4 rounded-lg" }, O0 = { class: "grid grid-cols-2 gap-4" }, R0 = { class: "text-xs text-gray-500 mb-1" }, P0 = { class: "text-sm font-semibold text-gray-900" }, D0 = /* @__PURE__ */ ve({
8676
8682
  directives: {
8677
8683
  tooltip: ps
8678
8684
  },
@@ -8743,13 +8749,13 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
8743
8749
  ]);
8744
8750
  };
8745
8751
  }
8746
- }), D0 = { class: "flex-1 overflow-y-auto space-y-3 pr-1" }, B0 = { class: "font-medium text-sm text-gray-800" }, U0 = { class: "text-xs text-gray-500" }, q0 = /* @__PURE__ */ ve({
8752
+ }), V0 = { class: "flex-1 overflow-y-auto space-y-3 pr-1" }, B0 = { class: "font-medium text-sm text-gray-800" }, U0 = { class: "text-xs text-gray-500" }, q0 = /* @__PURE__ */ ve({
8747
8753
  __name: "raster-files-tab",
8748
8754
  props: {
8749
8755
  files: {}
8750
8756
  },
8751
8757
  setup(e) {
8752
- return (t, n) => (d(), h("div", D0, [
8758
+ return (t, n) => (d(), h("div", V0, [
8753
8759
  (d(!0), h(te, null, ge(e.files, (r) => (d(), h("div", {
8754
8760
  key: r.name,
8755
8761
  class: "border border-gray-100 rounded-xl p-4 shadow-sm bg-white flex items-start justify-between"
@@ -9013,7 +9019,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9013
9019
  ee(s, (Q) => {
9014
9020
  Q && Ye(j);
9015
9021
  });
9016
- const g = M(!1), u = M(null), m = M({}), y = M(null), w = M(""), x = M(!1), _ = M(!1), E = M(null), L = O(() => n.entityId || ""), I = (Q, ne) => Q ? typeof Q == "function" ? Q(ne) : typeof Q != "string" ? "" : Q.includes(":id") ? ne ? Q.replace(":id", encodeURIComponent(ne)) : "" : Q : "", A = O(() => {
9022
+ const g = M(!1), u = M(null), m = M({}), y = M(null), w = M(""), x = M(!1), _ = M(!1), E = M(null), L = O(() => n.entityId || ""), I = (Q, oe) => Q ? typeof Q == "function" ? Q(oe) : typeof Q != "string" ? "" : Q.includes(":id") ? oe ? Q.replace(":id", encodeURIComponent(oe)) : "" : Q : "", A = O(() => {
9017
9023
  var Q;
9018
9024
  return (Q = n.table) == null ? void 0 : Q.trim();
9019
9025
  }), k = O(() => {
@@ -9024,13 +9030,13 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9024
9030
  if (n.saveEndpoint) return n.saveEndpoint;
9025
9031
  if (A.value)
9026
9032
  return (Q) => `/api/table/${Q}`;
9027
- }), N = O(() => I(k.value, L.value)), B = O(() => n.saveEndpoint ? I(n.saveEndpoint, L.value) : E.value ? `/api/table/${encodeURIComponent(E.value)}` : I(C.value, L.value)), ie = O(() => I("/api/gis-clear-rtile/:id", L.value)), se = O(() => I("/api/gis-xml/:id", L.value)), ae = O(() => {
9033
+ }), N = O(() => I(k.value, L.value)), B = O(() => n.saveEndpoint ? I(n.saveEndpoint, L.value) : E.value ? `/api/table/${encodeURIComponent(E.value)}` : I(C.value, L.value)), ne = O(() => I("/api/gis-clear-rtile/:id", L.value)), le = O(() => I("/api/gis-xml/:id", L.value)), ae = O(() => {
9028
9034
  var ue, he, ye;
9029
9035
  const Q = (he = (ue = n.entityInfo) == null ? void 0 : ue.name) == null ? void 0 : he.trim();
9030
9036
  if (Q) return `Редагування ${Q}`;
9031
- const ne = (ye = n.entityLabel) == null ? void 0 : ye.trim();
9032
- return ne ? `Редагування ${ne}` : "Редагування";
9033
- }), Z = O(() => n.editButtonText || "Редагувати"), re = O(() => (n.saveMethod || "POST").toUpperCase());
9037
+ const oe = (ye = n.entityLabel) == null ? void 0 : ye.trim();
9038
+ return oe ? `Редагування ${oe}` : "Редагування";
9039
+ }), Z = O(() => n.editButtonText || "Редагувати"), se = O(() => (n.saveMethod || "POST").toUpperCase());
9034
9040
  function R() {
9035
9041
  s.value || j(), s.value = !s.value;
9036
9042
  }
@@ -9040,30 +9046,30 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9040
9046
  function j() {
9041
9047
  var F;
9042
9048
  if (typeof window > "u" || !f.value) return;
9043
- const Q = f.value.getBoundingClientRect(), ne = window.innerWidth, ue = window.innerHeight, he = Q.left, ye = Math.max(ne - pg - tn, tn), Te = Math.min(Math.max(he, tn), ye), W = ((F = p.value) == null ? void 0 : F.offsetHeight) ?? 0, oe = Q.bottom + hr;
9044
- let b = oe;
9045
- if (W && oe + W > ue - tn) {
9049
+ const Q = f.value.getBoundingClientRect(), oe = window.innerWidth, ue = window.innerHeight, he = Q.left, ye = Math.max(oe - pg - tn, tn), Te = Math.min(Math.max(he, tn), ye), W = ((F = p.value) == null ? void 0 : F.offsetHeight) ?? 0, re = Q.bottom + hr;
9050
+ let b = re;
9051
+ if (W && re + W > ue - tn) {
9046
9052
  const K = Q.top - hr - W;
9047
9053
  b = Math.max(K, tn);
9048
9054
  }
9049
9055
  v.value = { top: b, left: Te };
9050
9056
  }
9051
- function D(Q) {
9057
+ function V(Q) {
9052
9058
  var ue, he;
9053
9059
  if (!a.value && !p.value) return;
9054
- const ne = Q.target;
9055
- ne && ((ue = a.value) != null && ue.contains(ne) || (he = p.value) != null && he.contains(ne)) || (s.value = !1);
9060
+ const oe = Q.target;
9061
+ oe && ((ue = a.value) != null && ue.contains(oe) || (he = p.value) != null && he.contains(oe)) || (s.value = !1);
9056
9062
  }
9057
9063
  function S() {
9058
9064
  s.value && j();
9059
9065
  }
9060
9066
  Ne(() => {
9061
- window.addEventListener("click", D), window.addEventListener("resize", S), window.addEventListener("scroll", S, !0);
9067
+ window.addEventListener("click", V), window.addEventListener("resize", S), window.addEventListener("scroll", S, !0);
9062
9068
  }), Sn(() => {
9063
- window.removeEventListener("click", D), window.removeEventListener("resize", S), window.removeEventListener("scroll", S, !0);
9069
+ window.removeEventListener("click", V), window.removeEventListener("resize", S), window.removeEventListener("scroll", S, !0);
9064
9070
  });
9065
- async function V() {
9066
- var Q, ne, ue;
9071
+ async function D() {
9072
+ var Q, oe, ue;
9067
9073
  if (!(!L.value || !N.value)) {
9068
9074
  P(), g.value = !0, x.value = !0, w.value = "", u.value = null, m.value = {}, E.value = null;
9069
9075
  try {
@@ -9072,7 +9078,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9072
9078
  throw new Error(`Failed to load form: ${he.status}`);
9073
9079
  const ye = await he.json();
9074
9080
  m.value = (ye == null ? void 0 : ye.data) || {}, u.value = (ye == null ? void 0 : ye.schema) || null;
9075
- const Te = typeof (ye == null ? void 0 : ye.token) == "string" && ye.token || typeof ((Q = ye == null ? void 0 : ye.tokens) == null ? void 0 : Q.edit) == "string" && ye.tokens.edit || typeof ((ne = ye == null ? void 0 : ye.tokens) == null ? void 0 : ne.edit_token) == "string" && ye.tokens.edit_token || typeof ((ue = ye == null ? void 0 : ye.data) == null ? void 0 : ue.token) == "string" && ye.data.token || null;
9081
+ const Te = typeof (ye == null ? void 0 : ye.token) == "string" && ye.token || typeof ((Q = ye == null ? void 0 : ye.tokens) == null ? void 0 : Q.edit) == "string" && ye.tokens.edit || typeof ((oe = ye == null ? void 0 : ye.tokens) == null ? void 0 : oe.edit_token) == "string" && ye.tokens.edit_token || typeof ((ue = ye == null ? void 0 : ye.data) == null ? void 0 : ue.token) == "string" && ye.data.token || null;
9076
9082
  E.value = Te, y.value = null;
9077
9083
  } catch (he) {
9078
9084
  console.error("Failed to load edit form", he), w.value = "Не вдалося завантажити форму редагування";
@@ -9085,10 +9091,10 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9085
9091
  g.value = !1, u.value = null, w.value = "", E.value = null;
9086
9092
  }
9087
9093
  async function J() {
9088
- var Q, ne;
9094
+ var Q, oe;
9089
9095
  if (!(!L.value || !B.value)) {
9090
9096
  if (y.value) {
9091
- const ue = (ne = (Q = y.value).validate) == null ? void 0 : ne.call(Q);
9097
+ const ue = (oe = (Q = y.value).validate) == null ? void 0 : oe.call(Q);
9092
9098
  if (ue) {
9093
9099
  Me({
9094
9100
  type: "warning",
@@ -9102,7 +9108,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9102
9108
  _.value = !0;
9103
9109
  try {
9104
9110
  const ue = await fetch(B.value, {
9105
- method: re.value,
9111
+ method: se.value,
9106
9112
  headers: { "Content-Type": "application/json" },
9107
9113
  body: JSON.stringify(m.value)
9108
9114
  });
@@ -9123,7 +9129,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9123
9129
  }
9124
9130
  }
9125
9131
  }
9126
- return (Q, ne) => (d(), h("div", {
9132
+ return (Q, oe) => (d(), h("div", {
9127
9133
  ref_key: "root",
9128
9134
  ref: a,
9129
9135
  class: "relative flex items-center"
@@ -9135,7 +9141,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9135
9141
  onClick: Je(R, ["stop"]),
9136
9142
  class: "flex items-center justify-center w-9 h-9 hover:rounded-md hover:border hover:border-gray-200 bg-white text-gray-600 hover:bg-gray-50 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-sky-500",
9137
9143
  "aria-label": "Дії"
9138
- }, [...ne[3] || (ne[3] = [
9144
+ }, [...oe[3] || (oe[3] = [
9139
9145
  o("svg", {
9140
9146
  xmlns: "http://www.w3.org/2000/svg",
9141
9147
  class: "h-5 w-5",
@@ -9159,39 +9165,39 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9159
9165
  style: Qe(c.value),
9160
9166
  class: "absolute top-0 left-0 mt-2 w-48 rounded-xl border border-gray-200 bg-white shadow-lg text-sm z-[1000]"
9161
9167
  }, [
9162
- ie.value ? (d(), h("a", {
9168
+ ne.value ? (d(), h("a", {
9163
9169
  key: 0,
9164
- href: ie.value,
9170
+ href: ne.value,
9165
9171
  target: "_blank",
9166
9172
  rel: "noreferrer",
9167
9173
  class: "flex items-center gap-2 px-4 py-2 text-left text-gray-700 hover:bg-slate-50 hover:rounded-t-xl",
9168
9174
  onClick: P
9169
9175
  }, [
9170
- le(ce(Cs), {
9176
+ ie(ce(Cs), {
9171
9177
  size: 16,
9172
9178
  class: "lucide lucide-brush-cleaning text-gray-500"
9173
9179
  }),
9174
- ne[4] || (ne[4] = o("span", null, "Очистити тайли", -1))
9180
+ oe[4] || (oe[4] = o("span", null, "Очистити тайли", -1))
9175
9181
  ], 8, sg)) : X("", !0),
9176
9182
  o("a", {
9177
- href: se.value,
9183
+ href: le.value,
9178
9184
  target: "_blank",
9179
9185
  rel: "noreferrer",
9180
9186
  class: "flex items-center gap-2 px-4 py-2 text-left text-gray-700 hover:bg-slate-50 hover:rounded-t-xl",
9181
9187
  onClick: P
9182
9188
  }, [
9183
- le(ce(Rs), {
9189
+ ie(ce(Rs), {
9184
9190
  size: 16,
9185
9191
  class: "lucide lucide-square-code text-gray-500"
9186
9192
  }),
9187
- ne[5] || (ne[5] = o("span", null, "Створити XML", -1))
9193
+ oe[5] || (oe[5] = o("span", null, "Створити XML", -1))
9188
9194
  ], 8, ig),
9189
9195
  o("button", {
9190
9196
  type: "button",
9191
9197
  class: "flex items-center gap-2 w-full px-4 py-2 text-left text-gray-700 hover:bg-slate-50 hover:rounded-b-xl",
9192
- onClick: V
9198
+ onClick: D
9193
9199
  }, [
9194
- le(ce(Ns), {
9200
+ ie(ce(Ns), {
9195
9201
  size: 16,
9196
9202
  class: "lucide lucide-pencil text-gray-500"
9197
9203
  }),
@@ -9199,10 +9205,10 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9199
9205
  ])
9200
9206
  ], 4)) : X("", !0)
9201
9207
  ])),
9202
- le(ce(l), {
9208
+ ie(ce(l), {
9203
9209
  teleport: "#modal",
9204
9210
  visible: g.value,
9205
- "onUpdate:visible": ne[2] || (ne[2] = (ue) => g.value = ue),
9211
+ "onUpdate:visible": oe[2] || (oe[2] = (ue) => g.value = ue),
9206
9212
  title: ae.value,
9207
9213
  size: "lg"
9208
9214
  }, {
@@ -9226,9 +9232,9 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9226
9232
  x.value ? (d(), h("div", ag, " Завантаження форми редагування… ")) : w.value ? (d(), h("div", ug, U(w.value), 1)) : (d(), me(ce(i), {
9227
9233
  key: 2,
9228
9234
  values: m.value,
9229
- "onUpdate:values": ne[0] || (ne[0] = (ue) => m.value = ue),
9235
+ "onUpdate:values": oe[0] || (oe[0] = (ue) => m.value = ue),
9230
9236
  form: y.value,
9231
- "onUpdate:form": ne[1] || (ne[1] = (ue) => y.value = ue),
9237
+ "onUpdate:form": oe[1] || (oe[1] = (ue) => y.value = ue),
9232
9238
  schema: u.value
9233
9239
  }, null, 8, ["values", "form", "schema"]))
9234
9240
  ]),
@@ -9327,12 +9333,12 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9327
9333
  id: i.value ?? "—",
9328
9334
  name: (b == null ? void 0 : b.name) || ((be = (ke = b == null ? void 0 : b.files) == null ? void 0 : ke[0]) == null ? void 0 : be.name),
9329
9335
  description: b != null && b.extension ? `Формат ${b.extension.toUpperCase()}` : "Попередній перегляд растрового шару. Реальні метадані підвантажуються.",
9330
- coverage: F && F.length === 4 ? `${oe(F[0])}, ${oe(F[1])} → ${oe(F[2])}, ${oe(F[3])}` : "Покриття уточнюється",
9336
+ coverage: F && F.length === 4 ? `${re(F[0])}, ${re(F[1])} → ${re(F[2])}, ${re(F[3])}` : "Покриття уточнюється",
9331
9337
  crs: b != null && b.srid ? `EPSG:${b.srid}` : "EPSG:4326",
9332
9338
  source: b != null && b.proj4 ? b.proj4 : "Джерело: Mapnik",
9333
9339
  updatedAt: b != null && b.cache ? "Дані кешовано" : "Нові дані"
9334
9340
  };
9335
- }), ie = O(() => {
9341
+ }), ne = O(() => {
9336
9342
  const b = s.value;
9337
9343
  return b ? [
9338
9344
  b.source_path,
@@ -9340,11 +9346,11 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9340
9346
  b.is_public ? "Публічна" : "Не публічна",
9341
9347
  b.is_active ? "Архівна" : "Активна"
9342
9348
  ].filter((F) => F).join(", ") : "";
9343
- }), se = [
9349
+ }), le = [
9344
9350
  { key: "info", label: "Інформація", icon: Q0 },
9345
9351
  { key: "files", label: "Файли", icon: Z0 },
9346
9352
  { key: "metadata", label: "Метадані", icon: yo }
9347
- ], ae = se.map((b) => b.key), Z = M(ae.includes(r.query.tab) ? r.query.tab : "info"), re = M(!0);
9353
+ ], ae = le.map((b) => b.key), Z = M(ae.includes(r.query.tab) ? r.query.tab : "info"), se = M(!0);
9348
9354
  ee(() => r.query.tab, (b) => {
9349
9355
  b && ae.includes(b) && Z.value !== b && (Z.value = b);
9350
9356
  }), ee(Z, (b) => {
@@ -9382,9 +9388,9 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9382
9388
  }), ee(i, () => {
9383
9389
  S();
9384
9390
  }, { immediate: !0 });
9385
- async function D(b) {
9391
+ async function V(b) {
9386
9392
  var F;
9387
- S(), ((F = s.value) == null ? void 0 : F.srid) !== b.srid && (Me({ title: "XML start", type: "info", message: "зміна системи координат, оновлюємо карту ..." }), await V(`/api/gis-xml/${encodeURIComponent(i.value)}`), Me({ title: "XML created", type: "info", message: "карта створена" }), location.reload());
9393
+ S(), ((F = s.value) == null ? void 0 : F.srid) !== b.srid && (Me({ title: "XML start", type: "info", message: "зміна системи координат, оновлюємо карту ..." }), await D(`/api/gis-xml/${encodeURIComponent(i.value)}`), Me({ title: "XML created", type: "info", message: "карта створена" }), location.reload());
9388
9394
  }
9389
9395
  async function S() {
9390
9396
  const b = i.value;
@@ -9398,14 +9404,14 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9398
9404
  if (!F.ok)
9399
9405
  throw new Error(`HTTP ${F.status}`);
9400
9406
  const K = await F.json();
9401
- K.xml && (f.value = !0), s.value = K, K.xml || (Me({ title: "XML not found", type: "info", message: "йде створення xml ... зачекайте" }), await V(`/api/gis-xml/${encodeURIComponent(b)}`), Me({ title: "XML created", type: "info", message: "карта створена" }), fetch(`/api/gis-raster/${encodeURIComponent(b)}?nocache=1`), f.value = !0);
9407
+ K.xml && (f.value = !0), s.value = K, K.xml || (Me({ title: "XML not found", type: "info", message: "йде створення xml ... зачекайте" }), await D(`/api/gis-xml/${encodeURIComponent(b)}`), Me({ title: "XML created", type: "info", message: "карта створена" }), fetch(`/api/gis-raster/${encodeURIComponent(b)}?nocache=1`), f.value = !0);
9402
9408
  } catch (F) {
9403
9409
  console.error("Failed to load raster info", F), s.value = null, p.value = F instanceof Error ? F.message : String(F);
9404
9410
  } finally {
9405
9411
  a.value = !1;
9406
9412
  }
9407
9413
  }
9408
- function V(b) {
9414
+ function D(b) {
9409
9415
  return new Promise((F, K) => {
9410
9416
  const xe = new EventSource(b), ke = [];
9411
9417
  xe.onmessage = (be) => {
@@ -9446,7 +9452,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9446
9452
  technical: W(b)
9447
9453
  } : null;
9448
9454
  }
9449
- function ne(b) {
9455
+ function oe(b) {
9450
9456
  return b != null && b.length ? b.map((K) => {
9451
9457
  var ke;
9452
9458
  if (!K) return "";
@@ -9456,7 +9462,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9456
9462
  }
9457
9463
  function ue(b) {
9458
9464
  var be, Oe;
9459
- const F = b.bands_count ?? ((be = b.bands) == null ? void 0 : be.length) ?? "—", K = ne(b.bands), xe = (b.bands ?? []).map((Ie) => Ie.trim()).filter((Ie) => Ie.length > 0), ke = xe.length ? xe.join(", ") : void 0;
9465
+ const F = b.bands_count ?? ((be = b.bands) == null ? void 0 : be.length) ?? "—", K = oe(b.bands), xe = (b.bands ?? []).map((Ie) => Ie.trim()).filter((Ie) => Ie.length > 0), ke = xe.length ? xe.join(", ") : void 0;
9460
9466
  return [
9461
9467
  {
9462
9468
  label: "Розмір растру, px",
@@ -9475,10 +9481,10 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9475
9481
  }
9476
9482
  function he(b) {
9477
9483
  return !b || b.length !== 4 ? [] : [
9478
- { label: "Північ", value: oe(b[3], "N") },
9479
- { label: "Схід", value: oe(b[2], "E") },
9480
- { label: "Південь", value: oe(b[1], "S") },
9481
- { label: "Захід", value: oe(b[0], "W") }
9484
+ { label: "Північ", value: re(b[3], "N") },
9485
+ { label: "Схід", value: re(b[2], "E") },
9486
+ { label: "Південь", value: re(b[1], "S") },
9487
+ { label: "Захід", value: re(b[0], "W") }
9482
9488
  ];
9483
9489
  }
9484
9490
  function ye(b) {
@@ -9514,7 +9520,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9514
9520
  { label: "URL тайла", value: b.url || "—" }
9515
9521
  ];
9516
9522
  }
9517
- function oe(b, F) {
9523
+ function re(b, F) {
9518
9524
  if (b == null || Number.isNaN(b)) return "—";
9519
9525
  const K = `${b.toFixed(5)}°`;
9520
9526
  return F ? `${K} ${F}` : K;
@@ -9547,7 +9553,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9547
9553
  ])]),
9548
9554
  o("div", xg, [
9549
9555
  o("div", bg, U(B.value.name), 1),
9550
- ie.value ? (d(), h("div", wg, U(ie.value), 1)) : X("", !0)
9556
+ ne.value ? (d(), h("div", wg, U(ne.value), 1)) : X("", !0)
9551
9557
  ])
9552
9558
  ]),
9553
9559
  o("div", _g, [
@@ -9557,21 +9563,21 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9557
9563
  title: B.value.description
9558
9564
  }, U(B.value.description), 9, $g)
9559
9565
  ]),
9560
- le(Il, {
9566
+ ie(Il, {
9561
9567
  "entity-id": i.value || "",
9562
9568
  "entity-info": { name: B.value.name },
9563
9569
  table: "gis.rasters.table",
9564
9570
  "entity-label": "Растер",
9565
9571
  "save-method": "put",
9566
9572
  "edit-button-text": "Редагувати",
9567
- onSaved: D
9573
+ onSaved: V
9568
9574
  }, null, 8, ["entity-id", "entity-info"])
9569
9575
  ])
9570
9576
  ])
9571
9577
  ]),
9572
9578
  o("div", Cg, [
9573
9579
  o("div", Ag, [
9574
- le(En, {
9580
+ ie(En, {
9575
9581
  ref_key: "mapViewRef",
9576
9582
  ref: l
9577
9583
  }, {
@@ -9584,15 +9590,15 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9584
9590
  "show-raster-extent": v.value,
9585
9591
  onToggleExtent: F[1] || (F[1] = (K) => v.value = K)
9586
9592
  }, null, 8, ["tile-url", "extent", "layer-id", "show-raster-extent"])) : X("", !0),
9587
- le(Fl, {
9593
+ ie(Fl, {
9588
9594
  extent: v.value ? L.value : null,
9589
9595
  "layer-id": A.value
9590
9596
  }, null, 8, ["extent", "layer-id"]),
9591
9597
  o("div", Sg, [
9592
- le(Wt)
9598
+ ie(Wt)
9593
9599
  ]),
9594
9600
  o("div", Lg, [
9595
- le(Pt),
9601
+ ie(Pt),
9596
9602
  N.value ? (d(), me(Pt, {
9597
9603
  key: 0,
9598
9604
  targetCenter: N.value,
@@ -9605,19 +9611,19 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9605
9611
  }, 512)
9606
9612
  ])
9607
9613
  ]),
9608
- le(go, {
9609
- open: re.value,
9614
+ ie(go, {
9615
+ open: se.value,
9610
9616
  "top-class": "top-3",
9611
- onToggle: F[2] || (F[2] = (K) => re.value = !re.value)
9617
+ onToggle: F[2] || (F[2] = (K) => se.value = !se.value)
9612
9618
  }, null, 8, ["open"])
9613
9619
  ]),
9614
9620
  o("div", {
9615
- class: Le(["bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg flex-shrink-0 transition-[width] duration-100 ease-in-out", re.value ? "w-[520px]" : "w-0"])
9621
+ class: Le(["bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg flex-shrink-0 transition-[width] duration-100 ease-in-out", se.value ? "w-[520px]" : "w-0"])
9616
9622
  }, [
9617
9623
  o("div", Eg, [
9618
9624
  o("div", Tg, [
9619
9625
  o("div", Mg, [
9620
- (d(), h(te, null, ge(se, (K) => o("button", {
9626
+ (d(), h(te, null, ge(le, (K) => o("button", {
9621
9627
  key: K.key,
9622
9628
  type: "button",
9623
9629
  role: "tab",
@@ -9638,7 +9644,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9638
9644
  }, null, 8, ["files"])) : Z.value === "metadata" ? (d(), me(ho, {
9639
9645
  key: 3,
9640
9646
  data: s.value
9641
- }, null, 8, ["data"])) : P.value ? (d(), me(V0, {
9647
+ }, null, 8, ["data"])) : P.value ? (d(), me(D0, {
9642
9648
  key: 4,
9643
9649
  details: P.value
9644
9650
  }, null, 8, ["details"])) : X("", !0)
@@ -9647,7 +9653,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9647
9653
  ], 2)
9648
9654
  ]));
9649
9655
  }
9650
- }), Pg = {}, Vg = {
9656
+ }), Pg = {}, Dg = {
9651
9657
  xmlns: "http://www.w3.org/2000/svg",
9652
9658
  width: "24",
9653
9659
  height: "24",
@@ -9659,8 +9665,8 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
9659
9665
  "stroke-linejoin": "round",
9660
9666
  class: "lucide lucide-table"
9661
9667
  };
9662
- function Dg(e, t) {
9663
- return d(), h("svg", Vg, [...t[0] || (t[0] = [
9668
+ function Vg(e, t) {
9669
+ return d(), h("svg", Dg, [...t[0] || (t[0] = [
9664
9670
  o("path", { d: "M12 3v18" }, null, -1),
9665
9671
  o("rect", {
9666
9672
  width: "18",
@@ -9673,7 +9679,7 @@ function Dg(e, t) {
9673
9679
  o("path", { d: "M3 15h18" }, null, -1)
9674
9680
  ])]);
9675
9681
  }
9676
- const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-col h-full" }, qg = { class: "flex justify-end mb-3 gap-2" }, Hg = /* @__PURE__ */ ve({
9682
+ const Bg = /* @__PURE__ */ Se(Pg, [["render", Vg]]), Ug = { class: "flex flex-col h-full" }, qg = { class: "flex justify-end mb-3 gap-2" }, Hg = /* @__PURE__ */ ve({
9677
9683
  __name: "cartocss-css-tab",
9678
9684
  props: {
9679
9685
  modelValue: {}
@@ -9710,7 +9716,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
9710
9716
  Ae(" Зберегти ", -1)
9711
9717
  ])])
9712
9718
  ]),
9713
- le(mn, {
9719
+ ie(mn, {
9714
9720
  modelValue: l.value,
9715
9721
  "onUpdate:modelValue": s[1] || (s[1] = (a) => l.value = a),
9716
9722
  language: "css",
@@ -9814,7 +9820,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
9814
9820
  onClick: y[0] || (y[0] = (w) => s("save"))
9815
9821
  }, " Зберегти ")
9816
9822
  ]),
9817
- le(Ft, {
9823
+ ie(Ft, {
9818
9824
  modelValue: i.value,
9819
9825
  "onUpdate:modelValue": y[1] || (y[1] = (w) => i.value = w),
9820
9826
  "columns-scheme": n,
@@ -9843,7 +9849,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
9843
9849
  ]),
9844
9850
  _: 1
9845
9851
  }, 8, ["modelValue"]),
9846
- le(ce(r), {
9852
+ ie(ce(r), {
9847
9853
  teleport: "#modal",
9848
9854
  visible: a.value,
9849
9855
  "onUpdate:visible": y[3] || (y[3] = (w) => a.value = w),
@@ -9864,7 +9870,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
9864
9870
  ])
9865
9871
  ]),
9866
9872
  default: je(() => [
9867
- le(ce(l), {
9873
+ ie(ce(l), {
9868
9874
  values: f.value,
9869
9875
  "onUpdate:values": y[2] || (y[2] = (w) => f.value = w),
9870
9876
  schema: p
@@ -9916,13 +9922,13 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
9916
9922
  ])])
9917
9923
  ]),
9918
9924
  o("div", null, [
9919
- le(ce(s), {
9925
+ ie(ce(s), {
9920
9926
  modelValue: l.value,
9921
9927
  "onUpdate:modelValue": p[0] || (p[0] = (v) => l.value = v)
9922
9928
  }, null, 8, ["modelValue"])
9923
9929
  ]),
9924
9930
  o("div", ny, [
9925
- le(mn, {
9931
+ ie(mn, {
9926
9932
  modelValue: i.value,
9927
9933
  "onUpdate:modelValue": p[1] || (p[1] = (v) => i.value = v),
9928
9934
  language: "html",
@@ -10080,7 +10086,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10080
10086
  i.includes(n.query.tab) ? n.query.tab : "css"
10081
10087
  ), a = M(!0), f = M(null), p = O(() => {
10082
10088
  var W;
10083
- return (W = f.value) != null && W.source_path ? l.filter((oe) => oe.key === "card" || oe.key === "metadata") : l;
10089
+ return (W = f.value) != null && W.source_path ? l.filter((re) => re.key === "card" || re.key === "metadata") : l;
10084
10090
  }), v = O(
10085
10091
  () => n.params.id || My
10086
10092
  ), c = M({
@@ -10093,11 +10099,11 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10093
10099
  function m(W) {
10094
10100
  if (Array.isArray(W)) return m(W[0]);
10095
10101
  if (typeof W != "string" && typeof W != "number") return null;
10096
- const oe = typeof W == "number" ? W : Number(W.trim());
10097
- return Number.isFinite(oe) ? oe : null;
10102
+ const re = typeof W == "number" ? W : Number(W.trim());
10103
+ return Number.isFinite(re) ? re : null;
10098
10104
  }
10099
- function y(W, oe) {
10100
- return W.toFixed(oe);
10105
+ function y(W, re) {
10106
+ return W.toFixed(re);
10101
10107
  }
10102
10108
  function w() {
10103
10109
  var W;
@@ -10107,23 +10113,23 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10107
10113
  var be, Oe, Ie, z;
10108
10114
  const W = (Oe = (be = w()) == null ? void 0 : be.map) == null ? void 0 : Oe.value;
10109
10115
  if (!W) return;
10110
- const oe = m(n.query.z), b = m(n.query.x), F = m(n.query.y);
10111
- if (oe == null || b == null || F == null) return;
10116
+ const re = m(n.query.z), b = m(n.query.x), F = m(n.query.y);
10117
+ if (re == null || b == null || F == null) return;
10112
10118
  const K = (Ie = W.getCenter) == null ? void 0 : Ie.call(W), xe = (z = W.getZoom) == null ? void 0 : z.call(W);
10113
- (!K || Math.abs(K.lng - b) > 1e-6 || Math.abs(K.lat - F) > 1e-6 || Math.abs((xe ?? 0) - oe) > 1e-6) && (u.value = !0, W.jumpTo({ center: [b, F], zoom: oe }), u.value = !1);
10119
+ (!K || Math.abs(K.lng - b) > 1e-6 || Math.abs(K.lat - F) > 1e-6 || Math.abs((xe ?? 0) - re) > 1e-6) && (u.value = !0, W.jumpTo({ center: [b, F], zoom: re }), u.value = !1);
10114
10120
  }
10115
10121
  function _() {
10116
10122
  var K, xe, ke, be;
10117
10123
  if (u.value) return;
10118
10124
  const W = (xe = (K = w()) == null ? void 0 : K.map) == null ? void 0 : xe.value;
10119
10125
  if (!W) return;
10120
- const oe = (ke = W.getCenter) == null ? void 0 : ke.call(W), b = (be = W.getZoom) == null ? void 0 : be.call(W);
10121
- if (!oe || b == null) return;
10126
+ const re = (ke = W.getCenter) == null ? void 0 : ke.call(W), b = (be = W.getZoom) == null ? void 0 : be.call(W);
10127
+ if (!re || b == null) return;
10122
10128
  const F = {
10123
10129
  ...n.query,
10124
10130
  z: y(b, Iy),
10125
- x: y(oe.lng, br),
10126
- y: y(oe.lat, br)
10131
+ x: y(re.lng, br),
10132
+ y: y(re.lat, br)
10127
10133
  };
10128
10134
  n.query.z === F.z && n.query.x === F.x && n.query.y === F.y || t.replace({ query: F });
10129
10135
  }
@@ -10132,34 +10138,34 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10132
10138
  }
10133
10139
  const L = M("");
10134
10140
  M("");
10135
- const I = M([]), A = M(!1), k = M(!1), C = M(""), N = M(0), B = M(!1), ie = M(1), se = M(!0), ae = O(() => `cartocss-layer-${v.value}`), Z = O(() => `${Math.round(ie.value * 100)}%`), re = O(() => `cartocss-extent-${v.value}`), R = O(() => {
10141
+ const I = M([]), A = M(!1), k = M(!1), C = M(""), N = M(0), B = M(!1), ne = M(1), le = M(!0), ae = O(() => `cartocss-layer-${v.value}`), Z = O(() => `${Math.round(ne.value * 100)}%`), se = O(() => `cartocss-extent-${v.value}`), R = O(() => {
10136
10142
  var K;
10137
10143
  const W = (K = C.value) == null ? void 0 : K.trim();
10138
10144
  if (!W) return "";
10139
- const oe = W.includes("?") ? "&" : "?", b = `${W}${oe}nottl=1`, F = N.value;
10140
- return F ? `${W}${oe}ts=${F}&nocache=1` : b;
10145
+ const re = W.includes("?") ? "&" : "?", b = `${W}${re}nottl=1`, F = N.value;
10146
+ return F ? `${W}${re}ts=${F}&nocache=1` : b;
10141
10147
  });
10142
10148
  O(() => {
10143
10149
  const W = f.value;
10144
10150
  return W ? W.cartocss_key || W.source_path || v.value || "" : v.value || "";
10145
10151
  });
10146
- const P = M(""), j = M(""), D = O(() => {
10152
+ const P = M(""), j = M(""), V = O(() => {
10147
10153
  var xe;
10148
10154
  const W = (xe = f.value) == null ? void 0 : xe.bounds;
10149
10155
  if (!Array.isArray(W) || W.length < 4) return null;
10150
- const [oe, b, F, K] = W;
10151
- return [oe, b, F, K].some(
10156
+ const [re, b, F, K] = W;
10157
+ return [re, b, F, K].some(
10152
10158
  (ke) => typeof ke != "number" || Number.isNaN(ke)
10153
- ) ? null : [(oe + F) / 2, (b + K) / 2];
10159
+ ) ? null : [(re + F) / 2, (b + K) / 2];
10154
10160
  }), S = O(() => {
10155
10161
  var xe;
10156
10162
  const W = (xe = f.value) == null ? void 0 : xe.bounds;
10157
10163
  if (!Array.isArray(W) || W.length < 4) return null;
10158
- const [oe, b, F, K] = W;
10159
- return [oe, b, F, K].some(
10164
+ const [re, b, F, K] = W;
10165
+ return [re, b, F, K].some(
10160
10166
  (ke) => typeof ke != "number" || Number.isNaN(ke)
10161
- ) ? null : [oe, b, F, K];
10162
- }), V = O(() => {
10167
+ ) ? null : [re, b, F, K];
10168
+ }), D = O(() => {
10163
10169
  const W = f.value;
10164
10170
  return W ? (I.value.map((b) => b == null ? void 0 : b.table).filter(Boolean), [
10165
10171
  W.description,
@@ -10188,11 +10194,11 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10188
10194
  const W = w();
10189
10195
  if (!(W != null && W.ready)) return;
10190
10196
  await W.ready(), x();
10191
- const oe = (F = W.map) == null ? void 0 : F.value;
10192
- if (!oe) return;
10197
+ const re = (F = W.map) == null ? void 0 : F.value;
10198
+ if (!re) return;
10193
10199
  const b = () => _();
10194
- oe.on("moveend", b), oe.on("zoomend", b), g = () => {
10195
- oe.off("moveend", b), oe.off("zoomend", b);
10200
+ re.on("moveend", b), re.on("zoomend", b), g = () => {
10201
+ re.off("moveend", b), re.off("zoomend", b);
10196
10202
  };
10197
10203
  }
10198
10204
  ee(
@@ -10207,28 +10213,28 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10207
10213
  }), ee(
10208
10214
  () => n.query.tab,
10209
10215
  (W) => {
10210
- W && p.value.some((oe) => oe.key === W) && s.value !== W && (s.value = W);
10216
+ W && p.value.some((re) => re.key === W) && s.value !== W && (s.value = W);
10211
10217
  }
10212
10218
  ), ee(
10213
10219
  p,
10214
10220
  (W) => {
10215
- W.length && !W.some((oe) => oe.key === s.value) && (s.value = W[0].key);
10221
+ W.length && !W.some((re) => re.key === s.value) && (s.value = W[0].key);
10216
10222
  },
10217
10223
  { immediate: !0 }
10218
10224
  ), ee(s, (W) => {
10219
- n.query.tab !== W && p.value.some((oe) => oe.key === W) && t.replace({ query: { ...n.query, tab: W } });
10225
+ n.query.tab !== W && p.value.some((re) => re.key === W) && t.replace({ query: { ...n.query, tab: W } });
10220
10226
  }), ee(
10221
10227
  () => f.value,
10222
10228
  (W) => {
10223
- const oe = W == null ? void 0 : W.card_html;
10224
- P.value = oe, j.value = W == null ? void 0 : W.card_table;
10229
+ const re = W == null ? void 0 : W.card_html;
10230
+ P.value = re, j.value = W == null ? void 0 : W.card_table;
10225
10231
  },
10226
10232
  { immediate: !0 }
10227
10233
  );
10228
10234
  function J() {
10229
10235
  v.value && he(v.value, { bustCache: !0 });
10230
10236
  }
10231
- async function Q(W, oe) {
10237
+ async function Q(W, re) {
10232
10238
  if (v.value) {
10233
10239
  k.value = !0;
10234
10240
  try {
@@ -10238,7 +10244,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10238
10244
  body: JSON.stringify(W)
10239
10245
  });
10240
10246
  if (!b.ok) throw new Error(`Failed to save cartocss: ${b.status}`);
10241
- Me({ type: "success", title: "Збережено", message: oe }), await he(v.value, { bustCache: !0 });
10247
+ Me({ type: "success", title: "Збережено", message: re }), await he(v.value, { bustCache: !0 });
10242
10248
  } catch (b) {
10243
10249
  console.error("Failed to save CartoCSS", b), Me({ type: "error", title: "Помилка", message: "Не вдалося зберегти CartoCSS" });
10244
10250
  } finally {
@@ -10246,19 +10252,19 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10246
10252
  }
10247
10253
  }
10248
10254
  }
10249
- function ne(W) {
10255
+ function oe(W) {
10250
10256
  if (!W) return null;
10251
10257
  if (typeof W == "string")
10252
10258
  try {
10253
10259
  return JSON.parse(W);
10254
- } catch (oe) {
10255
- return console.warn("Failed to parse CartoCSS config", oe), null;
10260
+ } catch (re) {
10261
+ return console.warn("Failed to parse CartoCSS config", re), null;
10256
10262
  }
10257
10263
  return typeof W == "object" ? W : null;
10258
10264
  }
10259
10265
  function ue(W) {
10260
- const oe = Array.isArray(W) ? W : W == null ? void 0 : W.datasets;
10261
- return Array.isArray(oe) ? oe.map((b, F) => ({
10266
+ const re = Array.isArray(W) ? W : W == null ? void 0 : W.datasets;
10267
+ return Array.isArray(re) ? re.map((b, F) => ({
10262
10268
  table: (b == null ? void 0 : b.table) || (b == null ? void 0 : b.id) || `dataset_${F + 1}`,
10263
10269
  query: (b == null ? void 0 : b.query) || "",
10264
10270
  srid: (b == null ? void 0 : b.srid) || "",
@@ -10270,7 +10276,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10270
10276
  proj4text: (b == null ? void 0 : b.proj4text) || ""
10271
10277
  })) : [];
10272
10278
  }
10273
- async function he(W, oe) {
10279
+ async function he(W, re) {
10274
10280
  A.value = !0;
10275
10281
  try {
10276
10282
  const b = await fetch(`/api/gis-css/${W}`);
@@ -10281,10 +10287,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10281
10287
  name: K.name || c.value.name,
10282
10288
  description: K.description || c.value.description
10283
10289
  }, L.value = typeof K.style == "string" ? K.style : "";
10284
- const xe = ne(K.config ?? []);
10290
+ const xe = oe(K.config ?? []);
10285
10291
  I.value = ue(xe);
10286
10292
  const ke = typeof K.url == "string" ? K.url : "";
10287
- C.value = ke, B.value = !!(ke && K.enabled !== !1), N.value = oe != null && oe.bustCache ? Date.now() : 0;
10293
+ C.value = ke, B.value = !!(ke && K.enabled !== !1), N.value = re != null && re.bustCache ? Date.now() : 0;
10288
10294
  } catch (b) {
10289
10295
  console.error("Failed to fetch CartoCSS", b), B.value = !1, C.value = "", N.value = 0, f.value = null;
10290
10296
  } finally {
@@ -10301,24 +10307,24 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10301
10307
  );
10302
10308
  }
10303
10309
  async function Te(W) {
10304
- const oe = await fetch(`/api/gis-css/${v.value}`, {
10310
+ const re = await fetch(`/api/gis-css/${v.value}`, {
10305
10311
  method: "POST",
10306
10312
  headers: { "Content-Type": "application/json" },
10307
10313
  body: JSON.stringify(W)
10308
10314
  });
10309
- if (!oe.ok) throw new Error(`Failed to save cartocss: ${oe.status}`);
10315
+ if (!re.ok) throw new Error(`Failed to save cartocss: ${re.status}`);
10310
10316
  Me({ type: "success", title: "Збережено", message: "Картка CartoCSS оновлена" });
10311
10317
  }
10312
- return (W, oe) => (d(), h("div", sy, [
10318
+ return (W, re) => (d(), h("div", sy, [
10313
10319
  o("div", iy, [
10314
10320
  o("div", ay, [
10315
10321
  o("div", uy, [
10316
10322
  o("div", cy, [
10317
10323
  o("button", {
10318
10324
  type: "button",
10319
- onClick: oe[0] || (oe[0] = (b) => ce(t).back()),
10325
+ onClick: re[0] || (re[0] = (b) => ce(t).back()),
10320
10326
  class: "inline-flex items-center px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition"
10321
- }, [...oe[6] || (oe[6] = [
10327
+ }, [...re[6] || (re[6] = [
10322
10328
  o("svg", {
10323
10329
  xmlns: "http://www.w3.org/2000/svg",
10324
10330
  class: "h-4 w-4 mr-1",
@@ -10337,10 +10343,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10337
10343
  ])]),
10338
10344
  o("div", dy, [
10339
10345
  o("div", fy, U(c.value.name), 1),
10340
- V.value ? (d(), h("div", py, U(V.value), 1)) : X("", !0)
10346
+ D.value ? (d(), h("div", py, U(D.value), 1)) : X("", !0)
10341
10347
  ])
10342
10348
  ]),
10343
- le(Il, {
10349
+ ie(Il, {
10344
10350
  "entity-id": v.value,
10345
10351
  "entity-info": c.value,
10346
10352
  "form-endpoint": (b) => `/api/form/gis.cartocss.table/${b}`,
@@ -10353,7 +10359,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10353
10359
  ]),
10354
10360
  o("div", my, [
10355
10361
  o("div", vy, [
10356
- le(En, {
10362
+ ie(En, {
10357
10363
  ref_key: "mapViewRef",
10358
10364
  ref: r
10359
10365
  }, {
@@ -10363,9 +10369,9 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10363
10369
  o("div", gy, [
10364
10370
  o("div", yy, [
10365
10371
  o("div", hy, [
10366
- oe[7] || (oe[7] = o("span", null, "Прозорість:", -1)),
10372
+ re[7] || (re[7] = o("span", null, "Прозорість:", -1)),
10367
10373
  Ue(o("input", {
10368
- "onUpdate:modelValue": oe[1] || (oe[1] = (K) => ie.value = K),
10374
+ "onUpdate:modelValue": re[1] || (re[1] = (K) => ne.value = K),
10369
10375
  type: "range",
10370
10376
  min: "0",
10371
10377
  max: "1",
@@ -10375,7 +10381,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10375
10381
  }, null, 512), [
10376
10382
  [
10377
10383
  vt,
10378
- ie.value,
10384
+ ne.value,
10379
10385
  void 0,
10380
10386
  { number: !0 }
10381
10387
  ]
@@ -10388,21 +10394,21 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10388
10394
  o("input", {
10389
10395
  type: "checkbox",
10390
10396
  class: "h-3.5 w-3.5 rounded border-slate-300 text-blue-600 focus:ring-blue-200",
10391
- checked: se.value,
10392
- onChange: oe[2] || (oe[2] = (K) => se.value = K.target.checked)
10397
+ checked: le.value,
10398
+ onChange: re[2] || (re[2] = (K) => le.value = K.target.checked)
10393
10399
  }, null, 40, wy),
10394
- oe[8] || (oe[8] = o("span", null, "Межі css", -1))
10400
+ re[8] || (re[8] = o("span", null, "Межі css", -1))
10395
10401
  ])
10396
10402
  ])
10397
10403
  ]),
10398
10404
  o("div", _y, [
10399
- le(Wt)
10405
+ ie(Wt)
10400
10406
  ]),
10401
10407
  o("div", ky, [
10402
- le(Pt),
10403
- D.value ? (d(), me(Pt, {
10408
+ ie(Pt),
10409
+ V.value ? (d(), me(Pt, {
10404
10410
  key: 0,
10405
- targetCenter: D.value,
10411
+ targetCenter: V.value,
10406
10412
  targetLabel: "Центр даних",
10407
10413
  targetAriaLabel: "Перейти до центру даних"
10408
10414
  }, null, 8, ["targetCenter"])) : X("", !0)
@@ -10412,21 +10418,21 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10412
10418
  "layer-id": ae.value,
10413
10419
  "tile-url": R.value,
10414
10420
  active: B.value,
10415
- opacity: ie.value,
10421
+ opacity: ne.value,
10416
10422
  title: c.value.name,
10417
10423
  owner: v.value
10418
10424
  }, null, 8, ["layer-id", "tile-url", "active", "opacity", "title", "owner"])) : X("", !0),
10419
- le(Fl, {
10420
- extent: se.value ? S.value : null,
10421
- "layer-id": re.value
10425
+ ie(Fl, {
10426
+ extent: le.value ? S.value : null,
10427
+ "layer-id": se.value
10422
10428
  }, null, 8, ["extent", "layer-id"]),
10423
- le(ly, {
10429
+ ie(ly, {
10424
10430
  "cartocss-id": v.value,
10425
10431
  bounds: ((b = f.value) == null ? void 0 : b.bounds) ?? null,
10426
10432
  active: B.value,
10427
10433
  "info-enabled": (F = f.value) == null ? void 0 : F.info
10428
10434
  }, null, 8, ["cartocss-id", "bounds", "active", "info-enabled"]),
10429
- le(_o, { "map-id": v.value }, null, 8, ["map-id"])
10435
+ ie(_o, { "map-id": v.value }, null, 8, ["map-id"])
10430
10436
  ];
10431
10437
  }),
10432
10438
  _: 1
@@ -10437,7 +10443,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10437
10443
  key: 0,
10438
10444
  open: a.value,
10439
10445
  "top-class": "top-4",
10440
- onToggle: oe[3] || (oe[3] = (b) => a.value = !a.value)
10446
+ onToggle: re[3] || (re[3] = (b) => a.value = !a.value)
10441
10447
  }, null, 8, ["open"])) : X("", !0)
10442
10448
  ]),
10443
10449
  f.value ? (d(), h("div", {
@@ -10468,13 +10474,13 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10468
10474
  s.value === "css" ? (d(), me(Hg, {
10469
10475
  key: 0,
10470
10476
  modelValue: L.value,
10471
- "onUpdate:modelValue": oe[4] || (oe[4] = (b) => L.value = b),
10477
+ "onUpdate:modelValue": re[4] || (re[4] = (b) => L.value = b),
10472
10478
  class: "flex-1 min-h-0",
10473
10479
  onSave: ye
10474
10480
  }, null, 8, ["modelValue"])) : s.value === "data" ? (d(), me(ey, {
10475
10481
  key: 1,
10476
10482
  modelValue: I.value,
10477
- "onUpdate:modelValue": oe[5] || (oe[5] = (b) => I.value = b),
10483
+ "onUpdate:modelValue": re[5] || (re[5] = (b) => I.value = b),
10478
10484
  class: "flex-1 min-h-0 flex flex-col",
10479
10485
  onSave: ye
10480
10486
  }, null, 8, ["modelValue"])) : s.value === "card" ? (d(), me(oy, {
@@ -10546,7 +10552,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10546
10552
  }, null, 8, ["schema", "values", "form"]))
10547
10553
  ]));
10548
10554
  }
10549
- }), Vy = { class: "rounded-lg border border-gray-200 bg-[rgba(252,252,252,0.8)] p-6" }, Dy = /* @__PURE__ */ ve({
10555
+ }), Dy = { class: "rounded-lg border border-gray-200 bg-[rgba(252,252,252,0.8)] p-6" }, Vy = /* @__PURE__ */ ve({
10550
10556
  __name: "LayerSettings",
10551
10557
  props: {
10552
10558
  layerIDs: {},
@@ -10562,10 +10568,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10562
10568
  return O({
10563
10569
  get: () => n.layerNames,
10564
10570
  set: (i) => r("update:layerNames", i)
10565
- }), (i, s) => (d(), h("section", Vy, [
10571
+ }), (i, s) => (d(), h("section", Dy, [
10566
10572
  s[1] || (s[1] = o("h2", { class: "text-lg font-semibold text-gray-800 mb-4" }, "Шари", -1)),
10567
10573
  s[2] || (s[2] = o("label", { class: "block text-sm font-medium text-gray-700 mb-2" }, "Доступні шари", -1)),
10568
- le(ce(vs), {
10574
+ ie(ce(vs), {
10569
10575
  options: e.options,
10570
10576
  modelValue: l.value,
10571
10577
  "onUpdate:modelValue": s[0] || (s[0] = (a) => l.value = a),
@@ -10654,7 +10660,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10654
10660
  href: "#",
10655
10661
  onClick: Je(f, ["prevent", "stop"])
10656
10662
  }, [...w[1] || (w[1] = [
10657
- Vt('<div class="mapLayer-info__icon" data-v-5688d192><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-5688d192><circle cx="12" cy="12" r="10" data-v-5688d192></circle><line x1="12" y1="16" x2="12" y2="12" data-v-5688d192></line><line x1="12" y1="8" x2="12.01" y2="8" data-v-5688d192></line></svg></div>', 1)
10663
+ Dt('<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)
10658
10664
  ])]),
10659
10665
  (d(), me(gt, { to: "body" }, [
10660
10666
  r.open ? (d(), h("div", {
@@ -10681,7 +10687,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10681
10687
  ]))
10682
10688
  ], 512));
10683
10689
  }
10684
- }), ko = /* @__PURE__ */ Se(qy, [["__scopeId", "data-v-5688d192"]]), Hy = {
10690
+ }), ko = /* @__PURE__ */ Se(qy, [["__scopeId", "data-v-cc1cc7bf"]]), Hy = {
10685
10691
  key: 0,
10686
10692
  class: "map-info__title"
10687
10693
  }, Yy = { class: "map-info__actions" }, Wy = {
@@ -10716,11 +10722,11 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10716
10722
  function w() {
10717
10723
  const L = l.value;
10718
10724
  if (!L || !i.value) return;
10719
- const I = L.getBoundingClientRect(), A = 12, k = 8, C = window.scrollX + A, N = window.scrollX + window.innerWidth - A, B = window.scrollY + A, ie = window.scrollY + window.innerHeight - A, se = i.value.offsetWidth || 160, ae = i.value.offsetHeight || 0;
10720
- let Z = I.bottom + window.scrollY + k, re = I.left + window.scrollX;
10721
- re + se > N && (re = I.right + window.scrollX - se, re < C && (re = C)), re < C && (re = C), Z + ae > ie && (Z = I.top + window.scrollY - ae - k, Z < B && (Z = Math.max(B, ie - ae))), Z < B && (Z = B), Z + ae > ie && (Z = Math.max(B, ie - ae)), s.value = {
10725
+ const I = L.getBoundingClientRect(), A = 12, k = 8, C = window.scrollX + A, N = window.scrollX + window.innerWidth - A, B = window.scrollY + A, ne = window.scrollY + window.innerHeight - A, le = i.value.offsetWidth || 160, ae = i.value.offsetHeight || 0;
10726
+ let Z = I.bottom + window.scrollY + k, se = I.left + window.scrollX;
10727
+ se + le > N && (se = I.right + window.scrollX - le, se < C && (se = C)), se < C && (se = C), Z + ae > ne && (Z = I.top + window.scrollY - ae - k, Z < B && (Z = Math.max(B, ne - ae))), Z < B && (Z = B), Z + ae > ne && (Z = Math.max(B, ne - ae)), s.value = {
10722
10728
  top: Z,
10723
- left: re
10729
+ left: se
10724
10730
  };
10725
10731
  }
10726
10732
  function x(L) {
@@ -10852,7 +10858,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10852
10858
  }, null, 10, Gy)) : X("", !0)
10853
10859
  ], 512));
10854
10860
  }
10855
- }), wr = /* @__PURE__ */ Se(Ky, [["__scopeId", "data-v-4584c70e"]]), Xy = { class: "opacity-popover__content" }, Qy = { class: "opacity-popover__value" }, Jy = /* @__PURE__ */ ve({
10861
+ }), wr = /* @__PURE__ */ Se(Ky, [["__scopeId", "data-v-813e24fb"]]), Xy = { class: "opacity-popover__content" }, Qy = { class: "opacity-popover__value" }, Jy = /* @__PURE__ */ ve({
10856
10862
  __name: "LayerOpacityPopover",
10857
10863
  props: {
10858
10864
  layerId: {}
@@ -10949,7 +10955,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10949
10955
  ]))
10950
10956
  ], 512));
10951
10957
  }
10952
- }), jl = /* @__PURE__ */ Se(Jy, [["__scopeId", "data-v-0f5e9595"]]), eh = { class: "layers-panel" }, th = { class: "layers-panel__header" }, nh = { class: "layers-panel__heading" }, oh = { class: "layers-panel__heading-title" }, rh = { class: "layers-panel__title" }, lh = { class: "layers-panel__count" }, sh = {
10958
+ }), jl = /* @__PURE__ */ Se(Jy, [["__scopeId", "data-v-b278347a"]]), eh = { class: "layers-panel" }, th = { class: "layers-panel__header" }, nh = { class: "layers-panel__heading" }, oh = { class: "layers-panel__heading-title" }, rh = { class: "layers-panel__title" }, lh = { class: "layers-panel__count" }, sh = {
10953
10959
  key: 0,
10954
10960
  class: "layers-panel__description"
10955
10961
  }, ih = { class: "layers-panel__header-actions" }, ah = { class: "layers-panel__bulk-actions" }, uh = { class: "layers-panel__header-controls" }, ch = { class: "layers-panel__label" }, dh = { class: "layers-panel__label-row" }, fh = ["checked", "onChange"], ph = { class: "layers-panel__title-block" }, mh = { class: "layers-panel__name" }, vh = { class: "layers-panel__meta text-slate-500" }, gh = ["onClick"], yh = { class: "inline-flex items-center justify-center w-[18px] h-[18px] text-slate-500 transition-colors duration-200 hover:text-blue-700" }, hh = {
@@ -10974,7 +10980,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10974
10980
  isTemporary: !1,
10975
10981
  owner: null,
10976
10982
  visible: H.visible !== !1
10977
- })), V = a.value.map((H) => ({
10983
+ })), D = a.value.map((H) => ({
10978
10984
  id: H.id,
10979
10985
  name: H.title,
10980
10986
  visible: r.value[H.id] ?? !0,
@@ -10990,28 +10996,28 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
10990
10996
  count: null,
10991
10997
  holder: null
10992
10998
  }));
10993
- return [...S, ...V];
10999
+ return [...S, ...D];
10994
11000
  }), g = O(() => c.value.length), u = O(() => c.value.filter((S) => L(S.id)).length), m = O(
10995
11001
  () => g.value > 0 && u.value === g.value
10996
11002
  ), y = O(() => a.value.length > 0), w = t;
10997
11003
  function x() {
10998
11004
  var S;
10999
- for (let V = 0; V < n.layers.length; V++) {
11000
- const H = n.layers[V], J = _(H);
11005
+ for (let D = 0; D < n.layers.length; D++) {
11006
+ const H = n.layers[D], J = _(H);
11001
11007
  if (!J)
11002
11008
  continue;
11003
- const Q = Re(H.id, J), ne = H.visible !== !1;
11004
- r.value[H.id] = ne, ne || (S = Q == null ? void 0 : Q.setVisible) == null || S.call(Q, !1);
11009
+ const Q = Re(H.id, J), oe = H.visible !== !1;
11010
+ r.value[H.id] = oe, oe || (S = Q == null ? void 0 : Q.setVisible) == null || S.call(Q, !1);
11005
11011
  }
11006
11012
  }
11007
11013
  function _(S) {
11008
- const V = S.id;
11009
- if (!V) return null;
11014
+ const D = S.id;
11015
+ if (!D) return null;
11010
11016
  const H = (S.type || S.service_type || S.service || "").toString().toLowerCase(), J = S.service_url || S.url || null;
11011
11017
  if (!!J && (H === "tms" || H === "wmts" || H === "wms" || H === "ogc")) {
11012
11018
  const ue = E(J);
11013
11019
  return ue ? {
11014
- sourceId: V,
11020
+ sourceId: D,
11015
11021
  source: {
11016
11022
  type: "raster",
11017
11023
  tiles: [ue],
@@ -11022,18 +11028,18 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11022
11028
  scheme: S.scheme || "xyz"
11023
11029
  },
11024
11030
  layer: {
11025
- id: V,
11031
+ id: D,
11026
11032
  type: "raster",
11027
- source: V
11033
+ source: D
11028
11034
  },
11029
11035
  card: S.card,
11030
11036
  popup: S.popup
11031
11037
  } : null;
11032
11038
  }
11033
11039
  if (H === "cartocss") {
11034
- const ue = S.url ? E(S.url) : `${location.origin}/api/gis-rtile/${V}/{z}/{x}/{y}.png`;
11040
+ const ue = S.url ? E(S.url) : `${location.origin}/api/gis-rtile/${D}/{z}/{x}/{y}.png`;
11035
11041
  return ue ? {
11036
- sourceId: V,
11042
+ sourceId: D,
11037
11043
  source: {
11038
11044
  type: "raster",
11039
11045
  tiles: [ue],
@@ -11042,27 +11048,27 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11042
11048
  maxzoom: S.maxzoom ?? 22
11043
11049
  },
11044
11050
  layer: {
11045
- id: V,
11051
+ id: D,
11046
11052
  type: "raster",
11047
- source: V
11053
+ source: D
11048
11054
  },
11049
11055
  card: S.card,
11050
11056
  popup: S.popup
11051
11057
  } : null;
11052
11058
  }
11053
- const ne = `${location.origin}/api/vtile/${V}/ua/{z}/{x}/{y}.vmt`;
11059
+ const oe = `${location.origin}/api/vtile/${D}/ua/{z}/{x}/{y}.vmt`;
11054
11060
  return {
11055
- sourceId: V,
11061
+ sourceId: D,
11056
11062
  source: {
11057
11063
  type: "vector",
11058
- tiles: [ne],
11064
+ tiles: [oe],
11059
11065
  minZoom: 4,
11060
11066
  maxZoom: 14
11061
11067
  },
11062
11068
  layer: {
11063
- id: V,
11064
- source: V,
11065
- "source-layer": V,
11069
+ id: D,
11070
+ source: D,
11071
+ "source-layer": D,
11066
11072
  style: S.style
11067
11073
  },
11068
11074
  card: S.card,
@@ -11073,16 +11079,16 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11073
11079
  return S ? /^https?:\/\//i.test(S) ? S : S.startsWith("//") ? `${window.location.protocol}${S}` : S.startsWith("/") ? `${location.origin}${S}` : `${location.origin}/${S}` : null;
11074
11080
  }
11075
11081
  function L(S) {
11076
- const V = r.value[S];
11077
- return V ?? !0;
11082
+ const D = r.value[S];
11083
+ return D ?? !0;
11078
11084
  }
11079
11085
  function I(S) {
11080
11086
  var J, Q;
11081
11087
  if (!(S != null && S.id)) return null;
11082
- const V = (J = S.title) == null ? void 0 : J.trim(), H = (Q = S.url) == null ? void 0 : Q.trim();
11083
- return !V || !H ? null : {
11088
+ const D = (J = S.title) == null ? void 0 : J.trim(), H = (Q = S.url) == null ? void 0 : Q.trim();
11089
+ return !D || !H ? null : {
11084
11090
  id: S.id,
11085
- title: V,
11091
+ title: D,
11086
11092
  url: H,
11087
11093
  tileSize: S.tileSize,
11088
11094
  minzoom: S.minzoom,
@@ -11092,10 +11098,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11092
11098
  }
11093
11099
  function A(S) {
11094
11100
  if (!S) return;
11095
- const V = S.owner;
11101
+ const D = S.owner;
11096
11102
  if (S.action === "clear") {
11097
- const J = a.value.filter((Q) => !V || Q.owner === V).map((Q) => Q.id);
11098
- v(V), J.forEach((Q) => {
11103
+ const J = a.value.filter((Q) => !D || Q.owner === D).map((Q) => Q.id);
11104
+ v(D), J.forEach((Q) => {
11099
11105
  Q in r.value && delete r.value[Q];
11100
11106
  });
11101
11107
  return;
@@ -11103,10 +11109,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11103
11109
  const H = I(S.spec);
11104
11110
  if (H) {
11105
11111
  if (S.action === "activate") {
11106
- f(H, S.context || {}, V), r.value[H.id] = !0;
11112
+ f(H, S.context || {}, D), r.value[H.id] = !0;
11107
11113
  return;
11108
11114
  }
11109
- S.action === "deactivate" && (p(H.id, V), delete r.value[H.id]);
11115
+ S.action === "deactivate" && (p(H.id, D), delete r.value[H.id]);
11110
11116
  }
11111
11117
  }
11112
11118
  function k(S) {
@@ -11114,8 +11120,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11114
11120
  }
11115
11121
  ee(
11116
11122
  () => a.value.map((S) => S.id),
11117
- (S, V) => {
11118
- const H = new Set(V || []), J = new Set(S);
11123
+ (S, D) => {
11124
+ const H = new Set(D || []), J = new Set(S);
11119
11125
  S.forEach((Q) => {
11120
11126
  Q in r.value || (r.value[Q] = !0);
11121
11127
  }), H.forEach((Q) => {
@@ -11124,10 +11130,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11124
11130
  },
11125
11131
  { immediate: !0 }
11126
11132
  );
11127
- function C(S, V) {
11128
- var J, Q, ne;
11133
+ function C(S, D) {
11134
+ var J, Q, oe;
11129
11135
  if (S.isTemporary) {
11130
- if (!V) {
11136
+ if (!D) {
11131
11137
  p(S.id, S.owner || void 0), delete r.value[S.id];
11132
11138
  return;
11133
11139
  }
@@ -11136,21 +11142,21 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11136
11142
  (Q = ue == null ? void 0 : ue.setVisible) == null || Q.call(ue, !0);
11137
11143
  return;
11138
11144
  }
11139
- r.value[S.id] = V;
11145
+ r.value[S.id] = D;
11140
11146
  const H = Re(S.id);
11141
- (ne = H == null ? void 0 : H.setVisible) == null || ne.call(H, V);
11147
+ (oe = H == null ? void 0 : H.setVisible) == null || oe.call(H, D);
11142
11148
  }
11143
- function N(S, V) {
11144
- const H = V.target;
11149
+ function N(S, D) {
11150
+ const H = D.target;
11145
11151
  C(S, H.checked);
11146
11152
  }
11147
11153
  function B(S) {
11148
- c.value.forEach((V) => C(V, S));
11154
+ c.value.forEach((D) => C(D, S));
11149
11155
  }
11150
- function ie() {
11156
+ function ne() {
11151
11157
  B(!m.value);
11152
11158
  }
11153
- function se(S) {
11159
+ function le(S) {
11154
11160
  return S.isTemporary ? [
11155
11161
  { label: "Назва", value: S.name ?? null },
11156
11162
  { label: "Тип", value: "Тимчасовий шар" },
@@ -11163,11 +11169,11 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11163
11169
  ];
11164
11170
  }
11165
11171
  function ae(S) {
11166
- const V = S.trim();
11167
- return V ? !!(/^#[\da-fA-F]{3,8}$/.test(V) || /^rgb\s*\(/.test(V) || /^rgba\s*\(/.test(V) || /^hsl\s*\(/.test(V) || /^hsla\s*\(/.test(V) || /^[a-zA-Z]+$/.test(V) && V.length < 25) : !1;
11172
+ const D = S.trim();
11173
+ return D ? !!(/^#[\da-fA-F]{3,8}$/.test(D) || /^rgb\s*\(/.test(D) || /^rgba\s*\(/.test(D) || /^hsl\s*\(/.test(D) || /^hsla\s*\(/.test(D) || /^[a-zA-Z]+$/.test(D) && D.length < 25) : !1;
11168
11174
  }
11169
11175
  function Z(S) {
11170
- var V, H, J, Q, ne, ue;
11176
+ var D, H, J, Q, oe, ue;
11171
11177
  if (!S) return null;
11172
11178
  if (typeof S == "string") {
11173
11179
  const he = S.trim();
@@ -11183,44 +11189,44 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11183
11189
  if (typeof S == "object") {
11184
11190
  const he = S;
11185
11191
  return Z(
11186
- he.color ?? he.fill ?? he.stroke ?? he.lineColor ?? he.fillColor ?? ((V = he.paint) == null ? void 0 : V["fill-color"]) ?? ((H = he.paint) == null ? void 0 : H["line-color"]) ?? ((J = he.paint) == null ? void 0 : J["circle-color"]) ?? ((Q = he.paint) == null ? void 0 : Q.color) ?? ((ne = he.paint) == null ? void 0 : ne.lineColor) ?? ((ue = he.paint) == null ? void 0 : ue.fillColor) ?? he.paint ?? he.value
11192
+ he.color ?? he.fill ?? he.stroke ?? he.lineColor ?? he.fillColor ?? ((D = he.paint) == null ? void 0 : D["fill-color"]) ?? ((H = he.paint) == null ? void 0 : H["line-color"]) ?? ((J = he.paint) == null ? void 0 : J["circle-color"]) ?? ((Q = he.paint) == null ? void 0 : Q.color) ?? ((oe = he.paint) == null ? void 0 : oe.lineColor) ?? ((ue = he.paint) == null ? void 0 : ue.fillColor) ?? he.paint ?? he.value
11187
11193
  );
11188
11194
  }
11189
11195
  return null;
11190
11196
  }
11191
- function re(S) {
11192
- const V = Array.isArray(S == null ? void 0 : S.legend) ? S.legend[0] : S == null ? void 0 : S.legend, H = Z(V);
11197
+ function se(S) {
11198
+ const D = Array.isArray(S == null ? void 0 : S.legend) ? S.legend[0] : S == null ? void 0 : S.legend, H = Z(D);
11193
11199
  return H || Z(S == null ? void 0 : S.style) || bh;
11194
11200
  }
11195
11201
  function R(S) {
11196
11202
  return {
11197
- "--layers-panel-checkbox-color": re(S)
11203
+ "--layers-panel-checkbox-color": se(S)
11198
11204
  };
11199
11205
  }
11200
11206
  function P() {
11201
11207
  if (!a.value.length) return;
11202
- const S = a.value.map((V) => V.id);
11203
- v(), S.forEach((V) => delete r.value[V]);
11208
+ const S = a.value.map((D) => D.id);
11209
+ v(), S.forEach((D) => delete r.value[D]);
11204
11210
  }
11205
11211
  function j() {
11206
11212
  l.value = !l.value;
11207
11213
  }
11208
- function D() {
11214
+ function V() {
11209
11215
  i.value = window.innerWidth <= 768;
11210
11216
  }
11211
11217
  return Ne(() => {
11212
- x(), window.addEventListener(_r, k), D(), i.value && (l.value = !1), window.addEventListener("resize", D);
11218
+ x(), window.addEventListener(_r, k), V(), i.value && (l.value = !1), window.addEventListener("resize", V);
11213
11219
  }), ee(
11214
11220
  () => {
11215
11221
  var S;
11216
11222
  return ((S = n.layers) == null ? void 0 : S.length) ?? 0;
11217
11223
  },
11218
- (S, V) => {
11219
- S > 0 && V === 0 && x();
11224
+ (S, D) => {
11225
+ S > 0 && D === 0 && x();
11220
11226
  }
11221
11227
  ), ze(() => {
11222
- window.removeEventListener(_r, k), window.removeEventListener("resize", D);
11223
- }), (S, V) => {
11228
+ window.removeEventListener(_r, k), window.removeEventListener("resize", V);
11229
+ }), (S, D) => {
11224
11230
  var H, J;
11225
11231
  return d(), h("div", eh, [
11226
11232
  o("div", th, [
@@ -11239,7 +11245,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11239
11245
  key: 0,
11240
11246
  type: "button",
11241
11247
  class: "layers-panel__header-link",
11242
- onClick: ie
11248
+ onClick: ne
11243
11249
  }, U(m.value ? "Вимкнути всі" : "Увімкнути всі"), 1)) : X("", !0)
11244
11250
  ]),
11245
11251
  o("div", uh, [
@@ -11257,7 +11263,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11257
11263
  fill: "none",
11258
11264
  xmlns: "http://www.w3.org/2000/svg",
11259
11265
  class: Le({ "layers-panel__toggle-icon--rotated": l.value })
11260
- }, [...V[0] || (V[0] = [
11266
+ }, [...D[0] || (D[0] = [
11261
11267
  o("path", {
11262
11268
  d: "M6 9L12 15L18 9",
11263
11269
  stroke: "#000000",
@@ -11280,7 +11286,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11280
11286
  class: Le(["layers-panel__content", { "layers-panel__content--collapsed": !l.value }])
11281
11287
  }, [
11282
11288
  (d(!0), h(te, null, ge(c.value, (Q) => {
11283
- var ne;
11289
+ var oe;
11284
11290
  return d(), h("div", {
11285
11291
  key: Q.id,
11286
11292
  class: "layers-panel__item"
@@ -11299,7 +11305,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11299
11305
  ]),
11300
11306
  o("div", vh, [
11301
11307
  L(Q.id) && !Q.isTemporary ? (d(), h(te, { key: 0 }, [
11302
- le(jl, {
11308
+ ie(jl, {
11303
11309
  "layer-id": Q.id,
11304
11310
  class: "flex"
11305
11311
  }, {
@@ -11309,24 +11315,24 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11309
11315
  onClick: Je(ue, ["prevent", "stop"])
11310
11316
  }, [
11311
11317
  o("div", yh, [
11312
- le(ce(Ts))
11318
+ ie(ce(Ts))
11313
11319
  ])
11314
11320
  ], 8, gh)
11315
11321
  ]),
11316
11322
  _: 1
11317
11323
  }, 8, ["layer-id"]),
11318
- le(Tn, {
11324
+ ie(Tn, {
11319
11325
  count: Array.isArray(Q.filters) ? Q.filters.length : 0,
11320
11326
  layer: Q
11321
11327
  }, null, 8, ["count", "layer"])
11322
11328
  ], 64)) : X("", !0),
11323
- le(ko, {
11324
- items: se(Q)
11329
+ ie(ko, {
11330
+ items: le(Q)
11325
11331
  }, null, 8, ["items"])
11326
11332
  ])
11327
11333
  ])
11328
11334
  ]),
11329
- (ne = Q.actions) != null && ne.length ? (d(), h("div", hh, [
11335
+ (oe = Q.actions) != null && oe.length ? (d(), h("div", hh, [
11330
11336
  (d(!0), h(te, null, ge(Q.actions, (ue) => (d(), h("button", {
11331
11337
  key: ue.widget || ue.id || ue.icon,
11332
11338
  type: "button",
@@ -11341,7 +11347,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11341
11347
  ]);
11342
11348
  };
11343
11349
  }
11344
- }), kr = /* @__PURE__ */ Se(wh, [["__scopeId", "data-v-2bfd8d55"]]), _h = { class: "catalog-tab__search relative mt-[10px]" }, kh = {
11350
+ }), kr = /* @__PURE__ */ Se(wh, [["__scopeId", "data-v-9b1b17e7"]]), _h = { class: "catalog-tab__search relative mt-[10px]" }, kh = {
11345
11351
  width: "24",
11346
11352
  height: "24",
11347
11353
  viewBox: "0 0 24 24",
@@ -11474,7 +11480,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11474
11480
  ]),
11475
11481
  o("div", Eh, U(x.layers.length), 1)
11476
11482
  ], 8, Ah),
11477
- le(so, { name: "out-in" }, {
11483
+ ie(so, { name: "out-in" }, {
11478
11484
  default: je(() => [
11479
11485
  Ue(o("div", null, [
11480
11486
  (d(!0), h(te, null, ge(x.layers, (_) => (d(), h("div", {
@@ -11517,7 +11523,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11517
11523
  onFocus: (E) => c(E, _.id),
11518
11524
  onBlur: g
11519
11525
  }, null, 8, ["count", "layer", "disabled", "onMouseenter", "onFocus"])) : X("", !0),
11520
- le(ko, {
11526
+ ie(ko, {
11521
11527
  items: u(_)
11522
11528
  }, null, 8, ["items"])
11523
11529
  ])
@@ -11542,7 +11548,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11542
11548
  ]))
11543
11549
  ], 512));
11544
11550
  }
11545
- }), zh = /* @__PURE__ */ Se(jh, [["__scopeId", "data-v-7d3953c5"]]), Nh = { class: "flex flex-col gap-0" }, Oh = { class: "text-xs text-slate-600 font-semibold" }, Rh = /* @__PURE__ */ ve({
11551
+ }), zh = /* @__PURE__ */ Se(jh, [["__scopeId", "data-v-f68d8bda"]]), Nh = { class: "flex flex-col gap-0" }, Oh = { class: "text-xs text-slate-600 font-semibold" }, Rh = /* @__PURE__ */ ve({
11546
11552
  __name: "MapLayerPopover",
11547
11553
  props: {
11548
11554
  items: {}
@@ -11656,7 +11662,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11656
11662
  ]))
11657
11663
  ], 512));
11658
11664
  }
11659
- }), Ph = { class: "selected-tab" }, Vh = { class: "selected-tab__actions" }, Dh = {
11665
+ }), Ph = { class: "selected-tab" }, Dh = { class: "selected-tab__actions" }, Vh = {
11660
11666
  key: 0,
11661
11667
  class: "selected-tab__scroll"
11662
11668
  }, Bh = ["onDragstart", "onDragover", "onDrop"], Uh = { class: "selected-tab__item-header" }, qh = { class: "selected-tab__item-info" }, Hh = ["checked", "onChange"], Yh = { class: "selected-tab__item-name" }, Wh = { class: "selected-tab__item-controls" }, Zh = ["onClick"], Gh = { class: "selected-tab__menu-inner" }, Kh = /* @__PURE__ */ ve({
@@ -11669,37 +11675,37 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11669
11675
  setup(e, { emit: t }) {
11670
11676
  const n = e, r = t, l = ft({}), i = M(null), s = M(null), a = /* @__PURE__ */ new Map(), f = ft({ top: 0, left: 0 }), p = M(null), v = ft({ top: 0, left: 0 }), c = M(null), g = /* @__PURE__ */ new Map(), u = ft({});
11671
11677
  function m(j) {
11672
- var D;
11673
- for (const S of ((D = n.catalog) == null ? void 0 : D.groups) ?? []) {
11674
- const V = S.layers.find((H) => H.id === j);
11675
- if (V) return V;
11678
+ var V;
11679
+ for (const S of ((V = n.catalog) == null ? void 0 : V.groups) ?? []) {
11680
+ const D = S.layers.find((H) => H.id === j);
11681
+ if (D) return D;
11676
11682
  }
11677
11683
  return null;
11678
11684
  }
11679
11685
  ee(() => n.selected, (j) => {
11680
- j.forEach((D) => {
11681
- l[D] == null && (l[D] = 100);
11686
+ j.forEach((V) => {
11687
+ l[V] == null && (l[V] = 100);
11682
11688
  });
11683
11689
  }, { immediate: !0 });
11684
11690
  function y() {
11685
11691
  if (!i.value) return;
11686
11692
  const j = a.get(i.value);
11687
11693
  if (!j) return;
11688
- const D = j.getBoundingClientRect();
11689
- f.top = D.bottom + 8 + window.scrollY, f.left = D.left + window.scrollX;
11694
+ const V = j.getBoundingClientRect();
11695
+ f.top = V.bottom + 8 + window.scrollY, f.left = V.left + window.scrollX;
11690
11696
  }
11691
11697
  ee(() => n.selected, (j) => {
11692
- j.forEach((D) => {
11693
- u[D] == null && (u[D] = !0);
11698
+ j.forEach((V) => {
11699
+ u[V] == null && (u[V] = !0);
11694
11700
  });
11695
11701
  }, { immediate: !0 });
11696
- function w(j, D) {
11697
- u[j] = D;
11702
+ function w(j, V) {
11703
+ u[j] = V;
11698
11704
  const S = Re(j);
11699
- S && S.setVisible(D);
11705
+ S && S.setVisible(V);
11700
11706
  }
11701
- function x(j, D) {
11702
- D ? g.set(j, D) : g.delete(j);
11707
+ function x(j, V) {
11708
+ V ? g.set(j, V) : g.delete(j);
11703
11709
  }
11704
11710
  function _(j) {
11705
11711
  p.value = p.value === j ? null : j, p.value && Ye(() => {
@@ -11709,26 +11715,26 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11709
11715
  });
11710
11716
  }
11711
11717
  function E(j) {
11712
- const D = g.get(j);
11713
- if (!D || !c.value) return;
11714
- const S = D.getBoundingClientRect(), V = 12, H = 6, J = window.scrollX + V, Q = window.scrollX + window.innerWidth - V, ne = window.scrollY + V, ue = window.scrollY + window.innerHeight - V, he = c.value.offsetWidth || 190, ye = c.value.offsetHeight || 0;
11718
+ const V = g.get(j);
11719
+ if (!V || !c.value) return;
11720
+ const S = V.getBoundingClientRect(), D = 12, H = 6, J = window.scrollX + D, Q = window.scrollX + window.innerWidth - D, oe = window.scrollY + D, ue = window.scrollY + window.innerHeight - D, he = c.value.offsetWidth || 190, ye = c.value.offsetHeight || 0;
11715
11721
  let Te = S.bottom + window.scrollY + H, W = S.left + window.scrollX;
11716
- W + he > Q && (W = S.right + window.scrollX - he, W < J && (W = J)), W < J && (W = J), Te + ye > ue && (Te = S.top + window.scrollY - ye - H, Te < ne && (Te = Math.max(ne, ue - ye))), Te < ne && (Te = ne), Te + ye > ue && (Te = Math.max(ne, ue - ye)), v.top = Te, v.left = W;
11722
+ W + he > Q && (W = S.right + window.scrollX - he, W < J && (W = J)), W < J && (W = J), Te + ye > ue && (Te = S.top + window.scrollY - ye - H, Te < oe && (Te = Math.max(oe, ue - ye))), Te < oe && (Te = oe), Te + ye > ue && (Te = Math.max(oe, ue - ye)), v.top = Te, v.left = W;
11717
11723
  }
11718
11724
  function L(j) {
11719
- const D = Re(j);
11720
- D && D.remove(), r("remove", j), p.value = null;
11725
+ const V = Re(j);
11726
+ V && V.remove(), r("remove", j), p.value = null;
11721
11727
  }
11722
11728
  function I(j) {
11723
- const D = j.target, S = i.value, V = p.value;
11729
+ const V = j.target, S = i.value, D = p.value;
11724
11730
  if (S) {
11725
11731
  const H = s.value, J = a.get(S);
11726
- if (H && H.contains(D) || J && J.contains(D)) return;
11732
+ if (H && H.contains(V) || J && J.contains(V)) return;
11727
11733
  i.value = null;
11728
11734
  }
11729
- if (V) {
11730
- const H = c.value, J = g.get(V);
11731
- if (H && H.contains(D) || J && J.contains(D)) return;
11735
+ if (D) {
11736
+ const H = c.value, J = g.get(D);
11737
+ if (H && H.contains(V) || J && J.contains(V)) return;
11732
11738
  p.value = null;
11733
11739
  }
11734
11740
  }
@@ -11744,12 +11750,12 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11744
11750
  function C(j) {
11745
11751
  var H, J, Q;
11746
11752
  if (!j) return;
11747
- const D = Re(j), S = m(j);
11748
- if (!D && !S) return;
11753
+ const V = Re(j), S = m(j);
11754
+ if (!V && !S) return;
11749
11755
  if (((H = S == null ? void 0 : S.extent) == null ? void 0 : H.length) === 4 && ((J = k.value) != null && J.fitBounds)) {
11750
- const ne = S.extent.map((ue) => Number(ue));
11751
- if (ne.every((ue) => Number.isFinite(ue))) {
11752
- const [ue, he, ye, Te] = ne;
11756
+ const oe = S.extent.map((ue) => Number(ue));
11757
+ if (oe.every((ue) => Number.isFinite(ue))) {
11758
+ const [ue, he, ye, Te] = oe;
11753
11759
  k.value.fitBounds([
11754
11760
  [ue, he],
11755
11761
  [ye, Te]
@@ -11757,53 +11763,53 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11757
11763
  return;
11758
11764
  }
11759
11765
  }
11760
- (Q = D == null ? void 0 : D.getSource) != null && Q.call(D) && (p.value = null);
11766
+ (Q = V == null ? void 0 : V.getSource) != null && Q.call(V) && (p.value = null);
11761
11767
  }
11762
11768
  const N = M(null), B = M(null);
11763
- function ie(j, D) {
11764
- N.value = D, B.value = D, j.dataTransfer && (j.dataTransfer.effectAllowed = "move", j.dataTransfer.setData("text/plain", String(D)));
11769
+ function ne(j, V) {
11770
+ N.value = V, B.value = V, j.dataTransfer && (j.dataTransfer.effectAllowed = "move", j.dataTransfer.setData("text/plain", String(V)));
11765
11771
  }
11766
- function se(j) {
11772
+ function le(j) {
11767
11773
  B.value = j;
11768
11774
  }
11769
- function ae(j, D) {
11770
- if (j.preventDefault(), N.value === null || N.value === D) {
11775
+ function ae(j, V) {
11776
+ if (j.preventDefault(), N.value === null || N.value === V) {
11771
11777
  N.value = null, B.value = null;
11772
11778
  return;
11773
11779
  }
11774
- const S = [...n.selected], [V] = S.splice(N.value, 1);
11775
- S.splice(D, 0, V), r("reorder", S), N.value = null, B.value = null;
11780
+ const S = [...n.selected], [D] = S.splice(N.value, 1);
11781
+ S.splice(V, 0, D), r("reorder", S), N.value = null, B.value = null;
11776
11782
  }
11777
11783
  function Z() {
11778
11784
  N.value = null, B.value = null;
11779
11785
  }
11780
- function re(j) {
11786
+ function se(j) {
11781
11787
  return j == null || j === "" ? null : String(j);
11782
11788
  }
11783
- function R(j, D) {
11784
- return !Array.isArray(j) || j.length === 0 ? null : `${j.length} ${D}`;
11789
+ function R(j, V) {
11790
+ return !Array.isArray(j) || j.length === 0 ? null : `${j.length} ${V}`;
11785
11791
  }
11786
11792
  function P(j) {
11787
- var Te, W, oe, b, F, K;
11788
- const D = Re(j), S = m(j);
11789
- if (!D && !S) return [];
11790
- const V = (S == null ? void 0 : S.name) || ((W = (Te = D == null ? void 0 : D.opts) == null ? void 0 : Te.layer) == null ? void 0 : W.name) || null, H = (S == null ? void 0 : S.service) || ((oe = D == null ? void 0 : D.opts) == null ? void 0 : oe.service) || null, J = (b = D == null ? void 0 : D.getSource) == null ? void 0 : b.call(D), Q = J && "tiles" in J ? (F = J.tiles) == null ? void 0 : F[0] : (S == null ? void 0 : S.url) || null, ne = (S == null ? void 0 : S.source_path) || null, ue = (D == null ? void 0 : D.popup) || (S == null ? void 0 : S.popup), he = (D == null ? void 0 : D.card) || (S == null ? void 0 : S.card), ye = (S == null ? void 0 : S.filters) || ((K = D == null ? void 0 : D.opts) == null ? void 0 : K.filters);
11793
+ var Te, W, re, b, F, K;
11794
+ const V = Re(j), S = m(j);
11795
+ if (!V && !S) return [];
11796
+ const D = (S == null ? void 0 : S.name) || ((W = (Te = V == null ? void 0 : V.opts) == null ? void 0 : Te.layer) == null ? void 0 : W.name) || null, H = (S == null ? void 0 : S.service) || ((re = V == null ? void 0 : V.opts) == null ? void 0 : re.service) || null, J = (b = V == null ? void 0 : V.getSource) == null ? void 0 : b.call(V), Q = J && "tiles" in J ? (F = J.tiles) == null ? void 0 : F[0] : (S == null ? void 0 : S.url) || null, oe = (S == null ? void 0 : S.source_path) || null, ue = (V == null ? void 0 : V.popup) || (S == null ? void 0 : S.popup), he = (V == null ? void 0 : V.card) || (S == null ? void 0 : S.card), ye = (S == null ? void 0 : S.filters) || ((K = V == null ? void 0 : V.opts) == null ? void 0 : K.filters);
11791
11797
  return [
11792
- { label: "Назва", value: re(V) },
11793
- { label: "Сервіс", value: re(H) },
11794
- { label: "Посилання", value: re(Q), breakLine: !0 },
11795
- { label: "Джерело", value: re(ne), breakLine: !0 },
11798
+ { label: "Назва", value: se(D) },
11799
+ { label: "Сервіс", value: se(H) },
11800
+ { label: "Посилання", value: se(Q), breakLine: !0 },
11801
+ { label: "Джерело", value: se(oe), breakLine: !0 },
11796
11802
  { label: "Popup", value: R(ue, "полів") },
11797
11803
  { label: "Картка", value: R(he, "полів") },
11798
11804
  { label: "Фільтри", value: R(ye, "фільтрів") }
11799
11805
  ];
11800
11806
  }
11801
- return (j, D) => (d(), h("div", Ph, [
11802
- o("div", Vh, [
11807
+ return (j, V) => (d(), h("div", Ph, [
11808
+ o("div", Dh, [
11803
11809
  o("button", {
11804
11810
  class: "selected-tab__add",
11805
- onClick: D[0] || (D[0] = (S) => r("select-layer"))
11806
- }, [...D[3] || (D[3] = [
11811
+ onClick: V[0] || (V[0] = (S) => r("select-layer"))
11812
+ }, [...V[3] || (V[3] = [
11807
11813
  o("svg", {
11808
11814
  xmlns: "http://www.w3.org/2000/svg",
11809
11815
  width: "16",
@@ -11822,25 +11828,25 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11822
11828
  o("span", null, "Вибрати шар", -1)
11823
11829
  ])])
11824
11830
  ]),
11825
- e.selected.length ? (d(), h("div", Dh, [
11831
+ e.selected.length ? (d(), h("div", Vh, [
11826
11832
  o("div", null, [
11827
- (d(!0), h(te, null, ge(e.selected, (S, V) => {
11833
+ (d(!0), h(te, null, ge(e.selected, (S, D) => {
11828
11834
  var H;
11829
11835
  return d(), h("div", {
11830
11836
  key: S,
11831
11837
  class: Le(["selected-tab__item", {
11832
- "selected-tab__item--dragging": N.value === V,
11833
- "selected-tab__item--over": B.value === V
11838
+ "selected-tab__item--dragging": N.value === D,
11839
+ "selected-tab__item--over": B.value === D
11834
11840
  }]),
11835
11841
  draggable: "true",
11836
- onDragstart: (J) => ie(J, V),
11837
- onDragover: Je((J) => se(V), ["prevent"]),
11838
- onDrop: (J) => ae(J, V),
11842
+ onDragstart: (J) => ne(J, D),
11843
+ onDragover: Je((J) => le(D), ["prevent"]),
11844
+ onDrop: (J) => ae(J, D),
11839
11845
  onDragend: Z
11840
11846
  }, [
11841
11847
  o("div", Uh, [
11842
11848
  o("div", qh, [
11843
- D[4] || (D[4] = o("span", { class: "selected-tab__item-handle" }, "☰", -1)),
11849
+ V[4] || (V[4] = o("span", { class: "selected-tab__item-handle" }, "☰", -1)),
11844
11850
  o("input", {
11845
11851
  type: "checkbox",
11846
11852
  class: "selected-tab__item-checkbox",
@@ -11850,14 +11856,14 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11850
11856
  o("span", Yh, U(((H = m(S)) == null ? void 0 : H.name) || "Шар"), 1)
11851
11857
  ]),
11852
11858
  o("div", Wh, [
11853
- le(jl, { "layer-id": S }, null, 8, ["layer-id"]),
11859
+ ie(jl, { "layer-id": S }, null, 8, ["layer-id"]),
11854
11860
  o("button", {
11855
11861
  type: "button",
11856
11862
  class: "selected-tab__item-menu",
11857
11863
  ref_for: !0,
11858
11864
  ref: (J) => x(S, J),
11859
11865
  onClick: Je((J) => _(S), ["stop"])
11860
- }, [...D[5] || (D[5] = [
11866
+ }, [...V[5] || (V[5] = [
11861
11867
  o("svg", {
11862
11868
  xmlns: "http://www.w3.org/2000/svg",
11863
11869
  width: "18",
@@ -11904,8 +11910,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11904
11910
  o("div", Gh, [
11905
11911
  o("button", {
11906
11912
  class: "selected-tab__menu-item",
11907
- onClick: D[1] || (D[1] = (S) => C(p.value))
11908
- }, [...D[6] || (D[6] = [
11913
+ onClick: V[1] || (V[1] = (S) => C(p.value))
11914
+ }, [...V[6] || (V[6] = [
11909
11915
  o("svg", {
11910
11916
  xmlns: "http://www.w3.org/2000/svg",
11911
11917
  width: "16",
@@ -11944,10 +11950,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11944
11950
  ], -1),
11945
11951
  Ae(" Збільшити до шару ", -1)
11946
11952
  ])]),
11947
- le(Rh, {
11953
+ ie(Rh, {
11948
11954
  items: P(p.value)
11949
11955
  }, {
11950
- default: je(() => [...D[7] || (D[7] = [
11956
+ default: je(() => [...V[7] || (V[7] = [
11951
11957
  o("button", { class: "selected-tab__menu-item" }, [
11952
11958
  o("svg", {
11953
11959
  xmlns: "http://www.w3.org/2000/svg",
@@ -11974,11 +11980,11 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
11974
11980
  ])]),
11975
11981
  _: 1
11976
11982
  }, 8, ["items"]),
11977
- D[9] || (D[9] = o("hr", null, null, -1)),
11983
+ V[9] || (V[9] = o("hr", null, null, -1)),
11978
11984
  o("button", {
11979
11985
  class: "selected-tab__menu-item selected-tab__menu-item--danger",
11980
- onClick: D[2] || (D[2] = (S) => L(p.value))
11981
- }, [...D[8] || (D[8] = [
11986
+ onClick: V[2] || (V[2] = (S) => L(p.value))
11987
+ }, [...V[8] || (V[8] = [
11982
11988
  o("svg", {
11983
11989
  xmlns: "http://www.w3.org/2000/svg",
11984
11990
  width: "16",
@@ -12014,7 +12020,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12014
12020
  ]))
12015
12021
  ]));
12016
12022
  }
12017
- }), Xh = /* @__PURE__ */ Se(Kh, [["__scopeId", "data-v-e8c4b151"]]), Qh = { class: "filter-tab" }, Jh = {
12023
+ }), Xh = /* @__PURE__ */ Se(Kh, [["__scopeId", "data-v-39b6f281"]]), Qh = { class: "filter-tab" }, Jh = {
12018
12024
  key: 0,
12019
12025
  class: "filter-tab__header"
12020
12026
  }, e1 = { class: "filter-tab__title" }, t1 = {
@@ -12046,7 +12052,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12046
12052
  ])) : X("", !0),
12047
12053
  e.layer && s.value ? (d(), h("div", t1, [
12048
12054
  o("div", n1, [
12049
- le(ce(n), {
12055
+ ie(ce(n), {
12050
12056
  view: "vertical",
12051
12057
  schema: i.value,
12052
12058
  value: e.value,
@@ -12061,7 +12067,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12061
12067
  ])]))
12062
12068
  ]));
12063
12069
  }
12064
- }), l1 = /* @__PURE__ */ Se(r1, [["__scopeId", "data-v-b9cd2910"]]), s1 = { class: "flex items-center justify-between mb-1" }, i1 = { class: "flex items-center gap-2" }, a1 = { class: "text-lg font-semibold text-gray-800" }, u1 = { key: 0 }, c1 = {
12070
+ }), l1 = /* @__PURE__ */ Se(r1, [["__scopeId", "data-v-c6632fbd"]]), s1 = { class: "flex items-center justify-between mb-1" }, i1 = { class: "flex items-center gap-2" }, a1 = { class: "text-lg font-semibold text-gray-800" }, u1 = { key: 0 }, c1 = {
12065
12071
  key: 1,
12066
12072
  class: "block text-sm font-normal text-gray-500"
12067
12073
  }, d1 = { class: "flex items-center gap-2" }, f1 = { class: "flex mb-4 border-b border-gray-200" }, p1 = { class: "map-catalog-widget__body" }, m1 = /* @__PURE__ */ ve({
@@ -12086,8 +12092,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12086
12092
  function y(R, P) {
12087
12093
  const j = Re(R);
12088
12094
  if (p[R] = { ...P }, !(j != null && j.setFilter)) return;
12089
- const D = Object.entries(P).filter(([, S]) => S != null && S !== "").map(([S, V]) => `${S}=${V}`);
12090
- j.setFilter(D.join("|"));
12095
+ const V = Object.entries(P).filter(([, S]) => S != null && S !== "").map(([S, D]) => `${S}=${D}`);
12096
+ j.setFilter(V.join("|"));
12091
12097
  }
12092
12098
  function w(R) {
12093
12099
  const P = v.value;
@@ -12097,9 +12103,9 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12097
12103
  const P = R.url;
12098
12104
  let j = null;
12099
12105
  if (P && (j = P.startsWith("http") ? P : `${window.location.origin}${P}`), !j) return null;
12100
- const D = (R.service || "").toString().toLowerCase(), S = R.count ?? null;
12101
- return D && D !== "vtile" ? {
12102
- service: D,
12106
+ const V = (R.service || "").toString().toLowerCase(), S = R.count ?? null;
12107
+ return V && V !== "vtile" ? {
12108
+ service: V,
12103
12109
  count: S,
12104
12110
  source: {
12105
12111
  type: "raster",
@@ -12109,7 +12115,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12109
12115
  maxzoom: 20
12110
12116
  }
12111
12117
  } : {
12112
- service: D,
12118
+ service: V,
12113
12119
  count: S,
12114
12120
  source: {
12115
12121
  type: "vector",
@@ -12124,13 +12130,13 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12124
12130
  }
12125
12131
  function _(R, P, j) {
12126
12132
  var H;
12127
- const D = j ?? u(R);
12128
- if (!D) return;
12129
- const S = x(D);
12133
+ const V = j ?? u(R);
12134
+ if (!V) return;
12135
+ const S = x(V);
12130
12136
  if (!S) return;
12131
- const V = Re(D.id, S, f);
12132
- if (V)
12133
- if (V.setVisible(P), P) {
12137
+ const D = Re(V.id, S, f);
12138
+ if (D)
12139
+ if (D.setVisible(P), P) {
12134
12140
  if (!s.value.includes(R) && (s.value.push(R), (H = f.value) != null && H.getLayer(R)))
12135
12141
  try {
12136
12142
  f.value.moveLayer(R);
@@ -12152,15 +12158,15 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12152
12158
  if (!f.value) return;
12153
12159
  const P = ((S = f.value.getStyle()) == null ? void 0 : S.layers) ?? [];
12154
12160
  let j;
12155
- const D = (V) => P.filter((H) => {
12161
+ const V = (D) => P.filter((H) => {
12156
12162
  var J, Q;
12157
- return (H == null ? void 0 : H.source) === V || (H == null ? void 0 : H.id) === V || ((Q = (J = H == null ? void 0 : H.id) == null ? void 0 : J.startsWith) == null ? void 0 : Q.call(J, `${V}`));
12163
+ return (H == null ? void 0 : H.source) === D || (H == null ? void 0 : H.id) === D || ((Q = (J = H == null ? void 0 : H.id) == null ? void 0 : J.startsWith) == null ? void 0 : Q.call(J, `${D}`));
12158
12164
  }).map((H) => H.id);
12159
- for (let V = R.length - 1; V >= 0; V -= 1) {
12160
- const H = R[V], J = D(H);
12165
+ for (let D = R.length - 1; D >= 0; D -= 1) {
12166
+ const H = R[D], J = V(H);
12161
12167
  J.length && (J.forEach((Q) => {
12162
- var ne;
12163
- if ((ne = f.value) != null && ne.getLayer(Q))
12168
+ var oe;
12169
+ if ((oe = f.value) != null && oe.getLayer(Q))
12164
12170
  try {
12165
12171
  f.value.moveLayer(Q, j);
12166
12172
  } catch (ue) {
@@ -12179,25 +12185,25 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12179
12185
  const k = O(() => v.value ? u(v.value) : null), C = O(() => {
12180
12186
  const R = v.value;
12181
12187
  return R ? p[R] ?? {} : {};
12182
- }), N = O(() => i.value.groups.reduce((R, P) => R + P.layers.length, 0)), B = O(() => l.value === "selected" ? "Вибрані шари" : l.value === "filter" ? "Фільтр шарів" : "Каталог"), ie = O(() => l.value === "selected" ? s.value.length : l.value === "catalog" ? N.value : null), se = O(() => {
12188
+ }), N = O(() => i.value.groups.reduce((R, P) => R + P.layers.length, 0)), B = O(() => l.value === "selected" ? "Вибрані шари" : l.value === "filter" ? "Фільтр шарів" : "Каталог"), ne = O(() => l.value === "selected" ? s.value.length : l.value === "catalog" ? N.value : null), le = O(() => {
12183
12189
  var R;
12184
12190
  return l.value === "filter" ? ((R = k.value) == null ? void 0 : R.name) ?? "" : "";
12185
12191
  });
12186
12192
  async function ae() {
12187
12193
  const P = await (await fetch("/api/gis-layer-list")).json(), j = /* @__PURE__ */ new Map();
12188
- P.forEach((V) => {
12189
- const H = V.group_id ?? "other";
12194
+ P.forEach((D) => {
12195
+ const H = D.group_id ?? "other";
12190
12196
  j.has(H) || j.set(H, {
12191
12197
  id: H,
12192
- name: V.group_name || "Інші шари",
12198
+ name: D.group_name || "Інші шари",
12193
12199
  layers: []
12194
- }), j.get(H).layers.push(V);
12200
+ }), j.get(H).layers.push(D);
12195
12201
  }), i.value = { groups: Array.from(j.values()) };
12196
- const D = t.query.layers;
12197
- if (!D) return;
12198
- const S = Array.isArray(D) ? D[0] : D;
12199
- typeof S == "string" && S.split(",").forEach((V) => {
12200
- const H = V.trim();
12202
+ const V = t.query.layers;
12203
+ if (!V) return;
12204
+ const S = Array.isArray(V) ? V[0] : V;
12205
+ typeof S == "string" && S.split(",").forEach((D) => {
12206
+ const H = D.trim();
12201
12207
  if (!H) return;
12202
12208
  const J = u(H);
12203
12209
  J && _(H, !0, J);
@@ -12219,15 +12225,15 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12219
12225
  function Z() {
12220
12226
  c.value = !c.value;
12221
12227
  }
12222
- function re() {
12228
+ function se() {
12223
12229
  g.value = window.innerWidth <= 768;
12224
12230
  }
12225
12231
  return Ne(() => {
12226
- ae(), re(), g.value && (c.value = !1), window.addEventListener("resize", re);
12232
+ ae(), se(), g.value && (c.value = !1), window.addEventListener("resize", se);
12227
12233
  }), ze(() => {
12228
- window.removeEventListener("resize", re);
12234
+ window.removeEventListener("resize", se);
12229
12235
  }), (R, P) => (d(), h("div", {
12230
- class: Le(["map-catalog-widget w-full max-w-md mx-auto p-4 bg-white border border-gray-200 rounded-lg shadow-sm widget", ie.value > 1 ? "min-h-[250px]" : "min-h-[0px]"])
12236
+ class: Le(["map-catalog-widget w-full max-w-md mx-auto p-4 bg-white border border-gray-200 rounded-lg shadow-sm widget", ne.value > 1 ? "min-h-[250px]" : "min-h-[0px]"])
12231
12237
  }, [
12232
12238
  o("div", s1, [
12233
12239
  o("div", i1, [
@@ -12249,8 +12255,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12249
12255
  ], -1)),
12250
12256
  o("h2", a1, [
12251
12257
  Ae(U(B.value) + " ", 1),
12252
- ie.value !== null ? (d(), h("span", u1, "(" + U(ie.value) + ")", 1)) : X("", !0),
12253
- se.value ? (d(), h("span", c1, U(se.value), 1)) : X("", !0)
12258
+ ne.value !== null ? (d(), h("span", u1, "(" + U(ne.value) + ")", 1)) : X("", !0),
12259
+ le.value ? (d(), h("span", c1, U(le.value), 1)) : X("", !0)
12254
12260
  ])
12255
12261
  ]),
12256
12262
  o("div", d1, [
@@ -12259,7 +12265,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12259
12265
  class: "p-1 rounded-full hover:bg-gray-200 transition-colors",
12260
12266
  "aria-label": "Reset layers"
12261
12267
  }, [...P[6] || (P[6] = [
12262
- Vt('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw text-gray-600" data-v-e3fe5985><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" data-v-e3fe5985></path><path d="M21 3v5h-5" data-v-e3fe5985></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" data-v-e3fe5985></path><path d="M8 16H3v5" data-v-e3fe5985></path></svg>', 1)
12268
+ Dt('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw text-gray-600" data-v-0023ade8><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" data-v-0023ade8></path><path d="M21 3v5h-5" data-v-0023ade8></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" data-v-0023ade8></path><path d="M8 16H3v5" data-v-0023ade8></path></svg>', 1)
12263
12269
  ])]),
12264
12270
  o("button", {
12265
12271
  type: "button",
@@ -12322,7 +12328,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12322
12328
  onToggleLayer: _,
12323
12329
  onSelectLayer: P[3] || (P[3] = (j) => l.value = "catalog"),
12324
12330
  onReorder: L,
12325
- onRemove: P[4] || (P[4] = (j) => s.value = s.value.filter((D) => D !== j))
12331
+ onRemove: P[4] || (P[4] = (j) => s.value = s.value.filter((V) => V !== j))
12326
12332
  }, null, 8, ["catalog", "selected"])) : (d(), me(l1, {
12327
12333
  key: 2,
12328
12334
  layer: k.value,
@@ -12334,7 +12340,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12334
12340
  ], 2)
12335
12341
  ], 2));
12336
12342
  }
12337
- }), $r = /* @__PURE__ */ Se(m1, [["__scopeId", "data-v-e3fe5985"]]), v1 = {
12343
+ }), $r = /* @__PURE__ */ Se(m1, [["__scopeId", "data-v-0023ade8"]]), v1 = {
12338
12344
  key: 1,
12339
12345
  class: "flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative widget"
12340
12346
  }, g1 = { class: "flex items-start justify-between gap-3 p-5 pb-3" }, y1 = { class: "inline-block text-xl font-semibold text-gray-800" }, h1 = {
@@ -12415,31 +12421,31 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12415
12421
  return ((P = (R = _.value) == null ? void 0 : R.filters) == null ? void 0 : P.length) || 0;
12416
12422
  });
12417
12423
  async function L(R) {
12418
- var D;
12424
+ var V;
12419
12425
  const P = await fetch(`/api/gis-service/${encodeURIComponent(R)}`);
12420
12426
  if (!P.ok) {
12421
12427
  let S = "Не вдалося завантажити налаштування шару";
12422
12428
  try {
12423
- const V = await P.json();
12424
- S = ((D = V == null ? void 0 : V.message) == null ? void 0 : D.error) || (V == null ? void 0 : V.message) || S;
12429
+ const D = await P.json();
12430
+ S = ((V = D == null ? void 0 : D.message) == null ? void 0 : V.error) || (D == null ? void 0 : D.message) || S;
12425
12431
  } catch {
12426
12432
  }
12427
12433
  throw new Error(S);
12428
12434
  }
12429
12435
  const j = await P.json();
12430
- return f.value = (j == null ? void 0 : j.name) || null, p.value = Array.isArray(j == null ? void 0 : j.filters) ? j.filters : null, v.value = u((j == null ? void 0 : j.style) || {}), c.value = ((j == null ? void 0 : j.attributes) || []).reduce((S, V) => {
12431
- const H = typeof (V == null ? void 0 : V.name) == "string" ? V.name.trim() : "", J = typeof (V == null ? void 0 : V.ua) == "string" ? V.ua.trim() : "";
12436
+ return f.value = (j == null ? void 0 : j.name) || null, p.value = Array.isArray(j == null ? void 0 : j.filters) ? j.filters : null, v.value = u((j == null ? void 0 : j.style) || {}), c.value = ((j == null ? void 0 : j.attributes) || []).reduce((S, D) => {
12437
+ const H = typeof (D == null ? void 0 : D.name) == "string" ? D.name.trim() : "", J = typeof (D == null ? void 0 : D.ua) == "string" ? D.ua.trim() : "";
12432
12438
  return H && (S[H] = J || H), S;
12433
12439
  }, {}), j;
12434
12440
  }
12435
12441
  function I(R, P) {
12436
12442
  let j = Re(R);
12437
12443
  if (!j) {
12438
- const D = `${location.origin}/api/vtile/${R}/ua/{z}/{x}/{y}.vmt`;
12444
+ const V = `${location.origin}/api/vtile/${R}/ua/{z}/{x}/{y}.vmt`;
12439
12445
  j = Re(R, {
12440
12446
  source: {
12441
12447
  type: "vector",
12442
- tiles: [D],
12448
+ tiles: [V],
12443
12449
  minzoom: 0,
12444
12450
  maxzoom: 14
12445
12451
  },
@@ -12457,54 +12463,54 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12457
12463
  }
12458
12464
  async function A(R, P) {
12459
12465
  var S;
12460
- const j = `/api/gis-service/${encodeURIComponent(R)}/${encodeURIComponent(P)}`, D = await fetch(j);
12461
- if (!D.ok) {
12462
- let V = "Не вдалося отримати статистику";
12466
+ const j = `/api/gis-service/${encodeURIComponent(R)}/${encodeURIComponent(P)}`, V = await fetch(j);
12467
+ if (!V.ok) {
12468
+ let D = "Не вдалося отримати статистику";
12463
12469
  try {
12464
- const H = await D.json();
12465
- V = ((S = H == null ? void 0 : H.message) == null ? void 0 : S.error) || (H == null ? void 0 : H.message) || V;
12470
+ const H = await V.json();
12471
+ D = ((S = H == null ? void 0 : H.message) == null ? void 0 : S.error) || (H == null ? void 0 : H.message) || D;
12466
12472
  } catch {
12467
12473
  }
12468
- throw new Error(V);
12474
+ throw new Error(D);
12469
12475
  }
12470
- return D.json();
12476
+ return V.json();
12471
12477
  }
12472
12478
  function k(R) {
12473
12479
  const P = /* @__PURE__ */ new Map();
12474
- return R && (R.rules || []).forEach((D) => {
12475
- const S = (D == null ? void 0 : D.value) ?? (D == null ? void 0 : D.id);
12476
- S != null && P.set(String(S), D);
12480
+ return R && (R.rules || []).forEach((V) => {
12481
+ const S = (V == null ? void 0 : V.value) ?? (V == null ? void 0 : V.id);
12482
+ S != null && P.set(String(S), V);
12477
12483
  }), P;
12478
12484
  }
12479
- function C(R, P, j, D, S) {
12485
+ function C(R, P, j, V, S) {
12480
12486
  if (typeof (P == null ? void 0 : P.color) == "string" && P.color.trim()) return P.color.trim();
12481
- const V = n.config.colors || {};
12482
- if (V[R]) return V[R];
12487
+ const D = n.config.colors || {};
12488
+ if (D[R]) return D[R];
12483
12489
  const J = k(j == null ? void 0 : j.style).get(R);
12484
12490
  return typeof (J == null ? void 0 : J.color) == "string" && J.color.trim() ? J.color.trim() : t[S % t.length];
12485
12491
  }
12486
- function N(R, P, j, D) {
12492
+ function N(R, P, j, V) {
12487
12493
  var S;
12488
- return (P == null ? void 0 : P.text) || (P == null ? void 0 : P.label) || (P == null ? void 0 : P.name) || (P == null ? void 0 : P[`${D}_text`]) || ((S = k(j == null ? void 0 : j.style).get(R)) == null ? void 0 : S.label) || R;
12494
+ return (P == null ? void 0 : P.text) || (P == null ? void 0 : P.label) || (P == null ? void 0 : P.name) || (P == null ? void 0 : P[`${V}_text`]) || ((S = k(j == null ? void 0 : j.style).get(R)) == null ? void 0 : S.label) || R;
12489
12495
  }
12490
- function B(R, P, j, D) {
12496
+ function B(R, P, j, V) {
12491
12497
  if (!R) return;
12492
- const S = u((P == null ? void 0 : P.style) || v.value) || {}, V = D.trim();
12493
- if (!V) return;
12498
+ const S = u((P == null ? void 0 : P.style) || v.value) || {}, D = V.trim();
12499
+ if (!D) return;
12494
12500
  const H = { ...S.colors || {}, ...n.config.colors || {} };
12495
- V === D && j.forEach((J) => {
12501
+ D === V && j.forEach((J) => {
12496
12502
  J.color.trim() && (H[J.id] = J.color);
12497
12503
  }), R.setStyle({
12498
12504
  ...S,
12499
12505
  type: S.type || "polygon",
12500
- colorAttr: V,
12506
+ colorAttr: D,
12501
12507
  opacity: 0.8,
12502
12508
  colors: H
12503
12509
  // rules: Object.entries(colors).map(([value, color]) => ({ value, color })),
12504
12510
  });
12505
12511
  }
12506
- async function ie() {
12507
- var V, H;
12512
+ async function ne() {
12513
+ var D, H;
12508
12514
  i.value = [], s.value = null;
12509
12515
  const R = m.value, P = x.value;
12510
12516
  if (!P)
@@ -12512,8 +12518,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12512
12518
  l.value = !0;
12513
12519
  const j = await L(R);
12514
12520
  I(R, j);
12515
- const D = await A(R, P), S = Array.isArray(D == null ? void 0 : D.rows) ? D.rows.map((J, Q) => {
12516
- const ne = (J == null ? void 0 : J.id) ?? (J == null ? void 0 : J.value), ue = ne != null ? String(ne) : "";
12521
+ const V = await A(R, P), S = Array.isArray(V == null ? void 0 : V.rows) ? V.rows.map((J, Q) => {
12522
+ const oe = (J == null ? void 0 : J.id) ?? (J == null ? void 0 : J.value), ue = oe != null ? String(oe) : "";
12517
12523
  if (!ue) return null;
12518
12524
  const he = N(ue, J, j, P), ye = Number((J == null ? void 0 : J.count) ?? 0) || 0, Te = C(ue, J, j, P, Q);
12519
12525
  return {
@@ -12523,21 +12529,21 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12523
12529
  color: Te
12524
12530
  };
12525
12531
  }).filter(Boolean) : [];
12526
- i.value = S, s.value = ((V = D == null ? void 0 : D.field) == null ? void 0 : V.label) || ((H = D == null ? void 0 : D.field) == null ? void 0 : H.name) || null, B(a.value, j, S, P), l.value = !1;
12532
+ i.value = S, s.value = ((D = V == null ? void 0 : V.field) == null ? void 0 : D.label) || ((H = V == null ? void 0 : V.field) == null ? void 0 : H.name) || null, B(a.value, j, S, P), l.value = !1;
12527
12533
  }
12528
12534
  ee(
12529
12535
  () => [m.value, x.value],
12530
12536
  () => {
12531
- ie();
12537
+ ne();
12532
12538
  },
12533
12539
  { immediate: !0 }
12534
12540
  );
12535
- const se = O(() => "Набори даних"), ae = O(() => i.value.reduce((R, P) => R + P.count, 0)), Z = O(() => {
12541
+ const le = O(() => "Набори даних"), ae = O(() => i.value.reduce((R, P) => R + P.count, 0)), Z = O(() => {
12536
12542
  var j;
12537
12543
  const R = x.value;
12538
- return ((j = w.value.find((D) => D.id === R)) == null ? void 0 : j.label) || null || s.value || R || null;
12544
+ return ((j = w.value.find((V) => V.id === R)) == null ? void 0 : j.label) || null || s.value || R || null;
12539
12545
  });
12540
- function re(R) {
12546
+ function se(R) {
12541
12547
  return ae.value ? `${(R / ae.value * 100).toFixed(2)}%` : "0.00%";
12542
12548
  }
12543
12549
  return ze(() => {
@@ -12546,7 +12552,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12546
12552
  }), (R, P) => r.value ? (d(), h("div", v1, [
12547
12553
  o("div", g1, [
12548
12554
  o("div", null, [
12549
- o("h2", y1, U(se.value), 1),
12555
+ o("h2", y1, U(le.value), 1),
12550
12556
  Z.value && w.value.length === 1 ? (d(), h("p", h1, U(Z.value), 1)) : X("", !0)
12551
12557
  ]),
12552
12558
  o("div", x1, [
@@ -12587,7 +12593,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12587
12593
  type: "radio",
12588
12594
  class: "text-sky-600 focus:ring-sky-500",
12589
12595
  value: j.id,
12590
- "onUpdate:modelValue": P[2] || (P[2] = (D) => g.value = D)
12596
+ "onUpdate:modelValue": P[2] || (P[2] = (V) => g.value = V)
12591
12597
  }, null, 8, k1), [
12592
12598
  [fs, g.value]
12593
12599
  ]),
@@ -12611,7 +12617,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12611
12617
  ]),
12612
12618
  o("div", T1, [
12613
12619
  o("span", M1, U(j.count), 1),
12614
- o("span", F1, U(re(j.count)), 1)
12620
+ o("span", F1, U(se(j.count)), 1)
12615
12621
  ])
12616
12622
  ]))), 128))
12617
12623
  ])
@@ -12623,10 +12629,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12623
12629
  onClick: P[0] || (P[0] = (j) => r.value = !0)
12624
12630
  }, " Набори даних "));
12625
12631
  }
12626
- }), Cr = /* @__PURE__ */ Se(I1, [["__scopeId", "data-v-437c8d68"]]), j1 = ["title"], z1 = {
12632
+ }), Cr = /* @__PURE__ */ Se(I1, [["__scopeId", "data-v-9686ce7b"]]), j1 = ["title"], z1 = {
12627
12633
  key: 0,
12628
12634
  class: "vs-select__options absolute z-50 mt-1 w-auto min-w-full bg-white border border-gray-300 shadow-lg rounded-lg text-sm text-gray-900"
12629
- }, N1 = ["onClick"], O1 = ["placeholder"], R1 = { class: "absolute inset-y-0 right-2 flex items-center gap-1" }, P1 = { class: "flex items-center justify-between gap-2 px-3 py-2 border-b border-gray-100" }, V1 = { class: "text-xs font-semibold uppercase tracking-wide text-gray-500" }, D1 = { class: "max-h-[60vh] overflow-auto" }, B1 = {
12635
+ }, N1 = ["onClick"], O1 = ["placeholder"], R1 = { class: "absolute inset-y-0 right-2 flex items-center gap-1" }, P1 = { class: "flex items-center justify-between gap-2 px-3 py-2 border-b border-gray-100" }, D1 = { class: "text-xs font-semibold uppercase tracking-wide text-gray-500" }, V1 = { class: "max-h-[60vh] overflow-auto" }, B1 = {
12630
12636
  key: 0,
12631
12637
  class: "divide-y divide-gray-100"
12632
12638
  }, U1 = ["onClick"], q1 = {
@@ -12668,7 +12674,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12668
12674
  });
12669
12675
  let A = null;
12670
12676
  const k = M(!1), C = O(() => c.value.trim().length > 0 ? w.value : E.value), N = O(() => c.value.trim().length ? `Знайдено ${w.value.length}` : "Історія пошуку"), B = O(() => c.value.trim().length ? "Нічого не знайдено" : "Історія порожня");
12671
- function ie() {
12677
+ function ne() {
12672
12678
  var z, q;
12673
12679
  if (typeof window > "u") return [];
12674
12680
  try {
@@ -12680,16 +12686,16 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12680
12686
  return [];
12681
12687
  }
12682
12688
  }
12683
- function se(z) {
12689
+ function le(z) {
12684
12690
  var q, G;
12685
12691
  typeof window > "u" || (G = (q = window.localStorage) == null ? void 0 : q.setItem) == null || G.call(q, Ar, JSON.stringify(z));
12686
12692
  }
12687
12693
  function ae(z) {
12688
12694
  const G = [z, ...E.value.filter((we) => we.id !== z.id)].slice(0, 10);
12689
- E.value = G, se(G);
12695
+ E.value = G, le(G);
12690
12696
  }
12691
12697
  let Z = null;
12692
- function re() {
12698
+ function se() {
12693
12699
  Z && (Z.remove(), Z = null);
12694
12700
  }
12695
12701
  function R() {
@@ -12702,7 +12708,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12702
12708
  if (!((de = t.config) != null && de.showMarker) || !z) return;
12703
12709
  const q = (Ce = n.map) == null ? void 0 : Ce.value;
12704
12710
  if (!q) return;
12705
- R(), D();
12711
+ R(), V();
12706
12712
  const G = {
12707
12713
  type: "Feature",
12708
12714
  geometry: z,
@@ -12733,22 +12739,22 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12733
12739
  }), S(q);
12734
12740
  }
12735
12741
  let j = null;
12736
- function D() {
12742
+ function V() {
12737
12743
  j && (cancelAnimationFrame(j), j = null);
12738
12744
  }
12739
12745
  function S(z) {
12740
12746
  const G = performance.now();
12741
12747
  function we(de) {
12742
12748
  if (!z.getLayer(on)) return;
12743
- const Fe = (de - G) % 1200 / 1200, fe = Math.sin(Fe * Math.PI), De = 0.2 + fe * 0.3, qe = 1 + fe * 1;
12744
- z.setPaintProperty(on, "fill-opacity", De), z.setPaintProperty(bn, "line-width", qe), j = requestAnimationFrame(we);
12749
+ const Fe = (de - G) % 1200 / 1200, fe = Math.sin(Fe * Math.PI), Ve = 0.2 + fe * 0.3, qe = 1 + fe * 1;
12750
+ z.setPaintProperty(on, "fill-opacity", Ve), z.setPaintProperty(bn, "line-width", qe), j = requestAnimationFrame(we);
12745
12751
  }
12746
12752
  j = requestAnimationFrame(we);
12747
12753
  }
12748
- function V(z, q) {
12754
+ function D(z, q) {
12749
12755
  var de, Ce, Fe;
12750
12756
  if (!((de = t.config) != null && de.showMarker)) return;
12751
- re(), R();
12757
+ se(), R();
12752
12758
  const G = (Ce = n.map) == null ? void 0 : Ce.value;
12753
12759
  if (!G) return;
12754
12760
  if (q) {
@@ -12774,25 +12780,25 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12774
12780
  const Q = () => {
12775
12781
  L.value && J();
12776
12782
  };
12777
- function ne() {
12783
+ function oe() {
12778
12784
  A && (clearTimeout(A), A = null);
12779
12785
  }
12780
12786
  ee(v, () => {
12781
- c.value = "", g.value = !1, w.value = [], _.value = !1, ne(), k.value = !1, re(), R();
12787
+ c.value = "", g.value = !1, w.value = [], _.value = !1, oe(), k.value = !1, se(), R();
12782
12788
  }), ee(L, (z) => {
12783
12789
  z ? Ye(() => {
12784
12790
  J();
12785
12791
  }) : H.display = "none";
12786
12792
  }), ee(c, (z) => {
12787
12793
  if (v.value !== "address") {
12788
- w.value = [], ne();
12794
+ w.value = [], oe();
12789
12795
  return;
12790
12796
  }
12791
12797
  if (!z.trim()) {
12792
- w.value = [], _.value = E.value.length > 0, ne();
12798
+ w.value = [], _.value = E.value.length > 0, oe();
12793
12799
  return;
12794
12800
  }
12795
- ne(), _.value = !0, A = window.setTimeout(() => {
12801
+ oe(), _.value = !0, A = window.setTimeout(() => {
12796
12802
  K(z).catch((q) => {
12797
12803
  const G = (q == null ? void 0 : q.message) || "Помилка пошуку адреси";
12798
12804
  Me({ type: "error", title: "Пошук адреси", message: G });
@@ -12803,7 +12809,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12803
12809
  v.value = z;
12804
12810
  }
12805
12811
  function he() {
12806
- c.value = "", w.value = [], _.value = !1, k.value = !1, re(), R();
12812
+ c.value = "", w.value = [], _.value = !1, k.value = !1, se(), R();
12807
12813
  }
12808
12814
  function ye(z) {
12809
12815
  const q = z.target;
@@ -12817,9 +12823,9 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12817
12823
  }
12818
12824
  }
12819
12825
  Ne(() => {
12820
- E.value = ie(), window.addEventListener("click", ye, !0), window.addEventListener("scroll", Q, !0), window.addEventListener("resize", Q);
12826
+ E.value = ne(), window.addEventListener("click", ye, !0), window.addEventListener("scroll", Q, !0), window.addEventListener("resize", Q);
12821
12827
  }), ze(() => {
12822
- window.removeEventListener("click", ye, !0), window.removeEventListener("scroll", Q, !0), window.removeEventListener("resize", Q), ne(), re(), R();
12828
+ window.removeEventListener("click", ye, !0), window.removeEventListener("scroll", Q, !0), window.removeEventListener("resize", Q), oe(), se(), R();
12823
12829
  });
12824
12830
  function Te(z) {
12825
12831
  return z === "xy" ? "Координати" : z === "parcel" ? "Кадастр" : "Адреси";
@@ -12832,15 +12838,15 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12832
12838
  const we = G.slice(0, 2).map(Number);
12833
12839
  if (!we.every((Ke) => Number.isFinite(Ke))) return null;
12834
12840
  let [de, Ce] = we, Fe = de, fe = Ce;
12835
- const De = (Ke) => Math.abs(Ke) <= 90, qe = (Ke) => Math.abs(Ke) <= 180;
12836
- if (!De(Fe) || !qe(fe))
12837
- if (De(fe) && qe(Fe))
12841
+ const Ve = (Ke) => Math.abs(Ke) <= 90, qe = (Ke) => Math.abs(Ke) <= 180;
12842
+ if (!Ve(Fe) || !qe(fe))
12843
+ if (Ve(fe) && qe(Fe))
12838
12844
  Fe = Ce, fe = de;
12839
12845
  else
12840
12846
  return null;
12841
12847
  return { lat: Fe, lng: fe };
12842
12848
  }
12843
- function oe(z) {
12849
+ function re(z) {
12844
12850
  return ((z == null ? void 0 : z.items) || []).map((G, we) => {
12845
12851
  var de, Ce, Fe;
12846
12852
  return {
@@ -12872,12 +12878,12 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12872
12878
  var Ke, yt, ht;
12873
12879
  const de = (Ke = G == null ? void 0 : G.geometry) == null ? void 0 : Ke.coordinates, Ce = Number(de == null ? void 0 : de[0]), Fe = Number(de == null ? void 0 : de[1]);
12874
12880
  if (!Number.isFinite(Fe) || !Number.isFinite(Ce)) return null;
12875
- const fe = (G == null ? void 0 : G.properties) || {}, De = ((yt = fe == null ? void 0 : fe.geocoding) == null ? void 0 : yt.label) || (fe == null ? void 0 : fe.display_name) || (fe == null ? void 0 : fe.label) || "Адреса";
12876
- return { id: String(((ht = fe == null ? void 0 : fe.geocoding) == null ? void 0 : ht.place_id) || (fe == null ? void 0 : fe.place_id) || we), title: De, lat: Fe, lng: Ce };
12881
+ const fe = (G == null ? void 0 : G.properties) || {}, Ve = ((yt = fe == null ? void 0 : fe.geocoding) == null ? void 0 : yt.label) || (fe == null ? void 0 : fe.display_name) || (fe == null ? void 0 : fe.label) || "Адреса";
12882
+ return { id: String(((ht = fe == null ? void 0 : fe.geocoding) == null ? void 0 : ht.place_id) || (fe == null ? void 0 : fe.place_id) || we), title: Ve, lat: Fe, lng: Ce };
12877
12883
  }).filter((G) => !!G);
12878
12884
  }
12879
12885
  async function K(z) {
12880
- w.value = [], ne();
12886
+ w.value = [], oe();
12881
12887
  const q = new URL(Z1);
12882
12888
  q.searchParams.set("format", "geojson"), q.searchParams.set("q", z), q.searchParams.set("addressdetails", "1"), q.searchParams.set("bounded", "1");
12883
12889
  const G = i();
@@ -12908,7 +12914,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12908
12914
  function Oe(z) {
12909
12915
  var G, we;
12910
12916
  const q = ((G = t.config) == null ? void 0 : G.zoom) ?? 17;
12911
- (we = n.flyTo) == null || we.call(n, { center: [z.lng, z.lat], zoom: q }), V(z, z.geom), k.value = !0;
12917
+ (we = n.flyTo) == null || we.call(n, { center: [z.lng, z.lat], zoom: q }), D(z, z.geom), k.value = !0;
12912
12918
  }
12913
12919
  async function Ie() {
12914
12920
  const z = c.value.trim();
@@ -12944,7 +12950,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
12944
12950
  }
12945
12951
  const G = await fetch(q.toString());
12946
12952
  if (!G.ok) throw new Error(`HTTP ${G.status}`);
12947
- const we = await G.json(), de = v.value === "here" ? oe(we) : b(we);
12953
+ const we = await G.json(), de = v.value === "here" ? re(we) : b(we);
12948
12954
  if (!de.length)
12949
12955
  Me({ type: "warning", title: "Пошук", message: "Не знайдено результатів" });
12950
12956
  else {
@@ -13087,7 +13093,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13087
13093
  style: Qe(H)
13088
13094
  }, [
13089
13095
  o("div", P1, [
13090
- o("span", V1, U(N.value), 1),
13096
+ o("span", D1, U(N.value), 1),
13091
13097
  o("button", {
13092
13098
  type: "button",
13093
13099
  class: "text-gray-400 hover:text-gray-600",
@@ -13095,7 +13101,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13095
13101
  onClick: q[3] || (q[3] = (G) => _.value = !1)
13096
13102
  }, " ✕ ")
13097
13103
  ]),
13098
- o("div", D1, [
13104
+ o("div", V1, [
13099
13105
  C.value.length ? (d(), h("ul", B1, [
13100
13106
  (d(!0), h(te, null, ge(C.value, (G) => (d(), h("li", {
13101
13107
  key: G.id,
@@ -13110,7 +13116,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13110
13116
  ], 32)
13111
13117
  ], 512));
13112
13118
  }
13113
- }), Sr = /* @__PURE__ */ Se(G1, [["__scopeId", "data-v-4438a5e4"]]), K1 = "https://watergis.github.io/mapbox-gl-export/mapbox-gl-export.css", X1 = "https://watergis.github.io/mapbox-gl-export/mapbox-gl-export.js", Q1 = /* @__PURE__ */ ve({
13119
+ }), Sr = /* @__PURE__ */ Se(G1, [["__scopeId", "data-v-9c08b770"]]), K1 = "https://watergis.github.io/mapbox-gl-export/mapbox-gl-export.css", X1 = "https://watergis.github.io/mapbox-gl-export/mapbox-gl-export.js", Q1 = /* @__PURE__ */ ve({
13114
13120
  __name: "MapPrintControl",
13115
13121
  setup(e) {
13116
13122
  const { map: t, ready: n, addControl: r, removeControl: l } = et(), i = M(null), s = M(null), a = M(null), f = M(null);
@@ -13128,7 +13134,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13128
13134
  }
13129
13135
  function g(A) {
13130
13136
  return new Promise((k, C) => {
13131
- const N = Array.from(document.scripts).find((ie) => ie.src === A);
13137
+ const N = Array.from(document.scripts).find((ne) => ne.src === A);
13132
13138
  if (N) {
13133
13139
  if (N._loaded) return k();
13134
13140
  N.addEventListener("load", () => k()), N.addEventListener("error", () => C(new Error(`Failed ${A}`)));
@@ -13154,8 +13160,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13154
13160
  { d: "M7 13m0 2a2 2 0 0 1 2 -2h6a2 2 0 0 1 2 2v4a2 2 0 0 1 -2 2h-6a2 2 0 0 1 -2 -2z" }
13155
13161
  ].forEach((C, N) => {
13156
13162
  const B = document.createElementNS("http://www.w3.org/2000/svg", "path");
13157
- Object.entries(C).forEach(([ie, se]) => {
13158
- B.setAttribute(ie, se);
13163
+ Object.entries(C).forEach(([ne, le]) => {
13164
+ B.setAttribute(ne, le);
13159
13165
  }), A.appendChild(B);
13160
13166
  }), A;
13161
13167
  }
@@ -13209,8 +13215,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13209
13215
  "Page Orientation": "Орієнтація"
13210
13216
  };
13211
13217
  A.querySelectorAll("label, option").forEach((N) => {
13212
- var ie;
13213
- const B = (ie = N.textContent) == null ? void 0 : ie.trim();
13218
+ var ne;
13219
+ const B = (ne = N.textContent) == null ? void 0 : ne.trim();
13214
13220
  B && k[B] && (N.textContent = k[B]);
13215
13221
  });
13216
13222
  const C = A.querySelector("button");
@@ -13228,7 +13234,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13228
13234
  k.style.display = "none";
13229
13235
  const N = "_printControlBound";
13230
13236
  if (!k[N]) {
13231
- const B = (ie) => ie.stopPropagation();
13237
+ const B = (ne) => ne.stopPropagation();
13232
13238
  k.addEventListener("click", B), k.addEventListener("mousedown", B), k[N] = !0;
13233
13239
  }
13234
13240
  i.value.appendChild(k), L(k);
@@ -13257,8 +13263,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13257
13263
  if (s.value = C, typeof C.onAdd == "function") {
13258
13264
  const N = C.onAdd.bind(C);
13259
13265
  C.onAdd = (B) => {
13260
- const ie = N(B);
13261
- return setTimeout(() => ie && I(ie), 50), ie;
13266
+ const ne = N(B);
13267
+ return setTimeout(() => ne && I(ne), 50), ne;
13262
13268
  };
13263
13269
  }
13264
13270
  r ? r(C, "top-right") : A.addControl(C, "top-right"), p = (N) => {
@@ -13279,7 +13285,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13279
13285
  class: "map-print-control"
13280
13286
  }, null, 512));
13281
13287
  }
13282
- }), J1 = /* @__PURE__ */ Se(Q1, [["__scopeId", "data-v-7b248bfa"]]), ex = { class: "cursor-coordinates" }, tx = { class: "cursor-coordinates__text" }, nx = /* @__PURE__ */ ve({
13288
+ }), J1 = /* @__PURE__ */ Se(Q1, [["__scopeId", "data-v-4fae7635"]]), ex = { class: "cursor-coordinates" }, tx = { class: "cursor-coordinates__text" }, nx = /* @__PURE__ */ ve({
13283
13289
  __name: "MapCursorCoordinates",
13284
13290
  props: {
13285
13291
  coordinates: {}
@@ -13289,7 +13295,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13289
13295
  o("span", tx, U(e.coordinates), 1)
13290
13296
  ]));
13291
13297
  }
13292
- }), ox = /* @__PURE__ */ Se(nx, [["__scopeId", "data-v-d83db59a"]]), rx = { class: "minimap__wrapper" }, wn = "minimap-viewport", lx = "minimap-viewport-layer", sx = /* @__PURE__ */ ve({
13298
+ }), ox = /* @__PURE__ */ Se(nx, [["__scopeId", "data-v-334315d9"]]), rx = { class: "minimap__wrapper" }, wn = "minimap-viewport", lx = "minimap-viewport-layer", sx = /* @__PURE__ */ ve({
13293
13299
  __name: "MapMiniMap",
13294
13300
  props: {
13295
13301
  mapContext: {},
@@ -13304,8 +13310,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13304
13310
  return typeof k == "number" && Number.isFinite(k) ? k : C;
13305
13311
  }
13306
13312
  const p = O(() => {
13307
- var ie, se;
13308
- const k = (ie = t.options) == null ? void 0 : ie.width, C = (se = t.options) == null ? void 0 : se.height, N = f(t.width ?? k, 210), B = f(t.height ?? C, 150);
13313
+ var ne, le;
13314
+ const k = (ne = t.options) == null ? void 0 : ne.width, C = (le = t.options) == null ? void 0 : le.height, N = f(t.width ?? k, 210), B = f(t.height ?? C, 150);
13309
13315
  return {
13310
13316
  width: `${N}px`,
13311
13317
  height: `${B}px`
@@ -13324,7 +13330,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13324
13330
  }
13325
13331
  let c = null;
13326
13332
  function g() {
13327
- var ie;
13333
+ var ne;
13328
13334
  if (typeof window > "u" || i.value || !l.value) return;
13329
13335
  const k = v(), C = r, N = {
13330
13336
  container: l.value,
@@ -13346,7 +13352,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13346
13352
  ]
13347
13353
  },
13348
13354
  center: C,
13349
- zoom: ((ie = t.options) == null ? void 0 : ie.zoom) ?? 3,
13355
+ zoom: ((ne = t.options) == null ? void 0 : ne.zoom) ?? 3,
13350
13356
  interactive: !1,
13351
13357
  attributionControl: !1
13352
13358
  }, B = {
@@ -13422,22 +13428,22 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13422
13428
  if (!C) return;
13423
13429
  const N = C.getNorthEast(), B = C.getSouthWest();
13424
13430
  if (!N || !B) return;
13425
- const ie = [
13431
+ const ne = [
13426
13432
  [B.lng, N.lat],
13427
13433
  [N.lng, N.lat],
13428
13434
  [N.lng, B.lat],
13429
13435
  [B.lng, B.lat],
13430
13436
  [B.lng, N.lat]
13431
- ], se = i.value.getSource(wn);
13432
- if (!se) {
13437
+ ], le = i.value.getSource(wn);
13438
+ if (!le) {
13433
13439
  m();
13434
13440
  return;
13435
13441
  }
13436
- se.setData({
13442
+ le.setData({
13437
13443
  type: "Feature",
13438
13444
  geometry: {
13439
13445
  type: "Polygon",
13440
- coordinates: [ie]
13446
+ coordinates: [ne]
13441
13447
  },
13442
13448
  properties: {}
13443
13449
  });
@@ -13503,9 +13509,9 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13503
13509
  class: "minimap__button",
13504
13510
  onClick: y
13505
13511
  }, [
13506
- le(ce($s))
13512
+ ie(ce($s))
13507
13513
  ]),
13508
- le(so, { name: "minimap-slide" }, {
13514
+ ie(so, { name: "minimap-slide" }, {
13509
13515
  default: je(() => [
13510
13516
  Ue(o("div", rx, [
13511
13517
  o("div", {
@@ -13523,7 +13529,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13523
13529
  })
13524
13530
  ], 2));
13525
13531
  }
13526
- }), ix = /* @__PURE__ */ Se(sx, [["__scopeId", "data-v-ff9c5f7b"]]), ax = {
13532
+ }), ix = /* @__PURE__ */ Se(sx, [["__scopeId", "data-v-bc754c89"]]), ax = {
13527
13533
  key: 2,
13528
13534
  class: "absolute bottom-4 right-4 z-[80] flex items-end gap-2"
13529
13535
  }, ux = { class: "absolute top-[103px] right-[6.5px] z-[80] flex flex-col items-end gap-1" }, cx = { class: "map-widget__overlay-grid" }, dx = {
@@ -13597,11 +13603,11 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13597
13603
  const q = Number(typeof z == "string" ? z.trim() : z);
13598
13604
  return Number.isFinite(q) ? q : null;
13599
13605
  }
13600
- const N = Rt((Oe = k == null ? void 0 : k.map) == null ? void 0 : Oe.center), B = C((Ie = k == null ? void 0 : k.map) == null ? void 0 : Ie.zoom), ie = O(() => {
13606
+ const N = Rt((Oe = k == null ? void 0 : k.map) == null ? void 0 : Oe.center), B = C((Ie = k == null ? void 0 : k.map) == null ? void 0 : Ie.zoom), ne = O(() => {
13601
13607
  const z = (k == null ? void 0 : k.map) || null, q = (z == null ? void 0 : z.boundary) ?? null, G = (z == null ? void 0 : z.katottg) ?? null;
13602
13608
  return !q && !G ? null : { boundary: q, katottg: G };
13603
13609
  });
13604
- function se(z) {
13610
+ function le(z) {
13605
13611
  return typeof z == "string" && z.trim() ? z.trim().toLowerCase() : "top-left";
13606
13612
  }
13607
13613
  function ae(z) {
@@ -13610,7 +13616,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13610
13616
  const Z = O(() => {
13611
13617
  var z;
13612
13618
  return ae((z = i.value) == null ? void 0 : z.widgets);
13613
- }), re = O(() => Z.value.some((z) => (z == null ? void 0 : z.type) === "basemaps")), R = ["left", "right"], P = O(() => {
13619
+ }), se = O(() => Z.value.some((z) => (z == null ? void 0 : z.type) === "basemaps")), R = ["left", "right"], P = O(() => {
13614
13620
  const z = {
13615
13621
  left: { top: [], bottom: [] },
13616
13622
  right: { top: [], bottom: [] }
@@ -13621,14 +13627,14 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13621
13627
  "bottom-right": { side: "right", align: "bottom" }
13622
13628
  };
13623
13629
  return Z.value.forEach((G) => {
13624
- const we = se(G.position), de = q[we] ?? { side: "left", align: "top" };
13630
+ const we = le(G.position), de = q[we] ?? { side: "left", align: "top" };
13625
13631
  z[de.side][de.align].push(G);
13626
13632
  }), z;
13627
13633
  });
13628
13634
  function j(z) {
13629
13635
  return Array.isArray(z) ? z[0] ?? null : typeof z == "string" ? z : null;
13630
13636
  }
13631
- async function D() {
13637
+ async function V() {
13632
13638
  var q;
13633
13639
  await Ye();
13634
13640
  const z = (q = l.value) == null ? void 0 : q.ctx;
@@ -13638,7 +13644,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13638
13644
  var z, q, G;
13639
13645
  return ((G = (q = (z = l.value) == null ? void 0 : z.ctx) == null ? void 0 : q.map) == null ? void 0 : G.value) ?? null;
13640
13646
  }
13641
- function V() {
13647
+ function D() {
13642
13648
  const z = S();
13643
13649
  if (!z) return null;
13644
13650
  const q = z.getCenter();
@@ -13650,38 +13656,38 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13650
13656
  }
13651
13657
  async function H() {
13652
13658
  var G;
13653
- const z = await D(), q = (G = z == null ? void 0 : z.map) == null ? void 0 : G.value;
13659
+ const z = await V(), q = (G = z == null ? void 0 : z.map) == null ? void 0 : G.value;
13654
13660
  q && (typeof w.value == "number" && q.setMinZoom(w.value), typeof x.value == "number" && q.setMaxZoom(x.value));
13655
13661
  }
13656
13662
  async function J() {
13657
13663
  var de;
13658
13664
  if (s.value) return;
13659
- const z = await D(), q = (de = z == null ? void 0 : z.map) == null ? void 0 : de.value;
13665
+ const z = await V(), q = (de = z == null ? void 0 : z.map) == null ? void 0 : de.value;
13660
13666
  if (!q) return;
13661
13667
  const G = q.getCenter(), we = q.getZoom();
13662
13668
  s.value = { center: [G.lng, G.lat], zoom: we };
13663
13669
  }
13664
13670
  function Q() {
13665
- const z = V();
13671
+ const z = D();
13666
13672
  if (!z) return;
13667
13673
  const q = j(n.query.x), G = j(n.query.y), we = j(n.query.z);
13668
13674
  q === z.x && G === z.y && we === z.z || r.replace({ query: { ...n.query, ...z } }).catch(() => {
13669
13675
  });
13670
13676
  }
13671
- function ne(z, q, G = 1e-6) {
13677
+ function oe(z, q, G = 1e-6) {
13672
13678
  return Math.abs(z - q) <= G;
13673
13679
  }
13674
13680
  async function ue() {
13675
13681
  var qe;
13676
- const z = await D(), q = (qe = z == null ? void 0 : z.map) == null ? void 0 : qe.value;
13682
+ const z = await V(), q = (qe = z == null ? void 0 : z.map) == null ? void 0 : qe.value;
13677
13683
  if (!z || !q) return;
13678
13684
  const G = parseFloat(j(n.query.x) ?? ""), we = parseFloat(j(n.query.y) ?? ""), de = parseFloat(j(n.query.z) ?? ""), Ce = !Number.isNaN(G), Fe = !Number.isNaN(we), fe = !Number.isNaN(de);
13679
- let De = !1;
13685
+ let Ve = !1;
13680
13686
  if (Ce && Fe) {
13681
13687
  const Ke = q.getCenter();
13682
- (!ne(Ke.lng, G) || !ne(Ke.lat, we)) && (q.setCenter([G, we]), De = !0);
13688
+ (!oe(Ke.lng, G) || !oe(Ke.lat, we)) && (q.setCenter([G, we]), Ve = !0);
13683
13689
  }
13684
- fe && q.setZoom(de), (!Ce || !Fe || !fe || De) && Q();
13690
+ fe && q.setZoom(de), (!Ce || !Fe || !fe || Ve) && Q();
13685
13691
  }
13686
13692
  let he = null, ye = null;
13687
13693
  function Te(z) {
@@ -13689,13 +13695,13 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13689
13695
  q && (_.value = { lng: q.lng, lat: q.lat });
13690
13696
  }
13691
13697
  async function W() {
13692
- const z = await D();
13698
+ const z = await V();
13693
13699
  z != null && z.on && (he == null || he(), he = z.on("moveend", Q), ye == null || ye(), ye = z.on("mousemove", Te));
13694
13700
  }
13695
13701
  Sn(() => {
13696
13702
  he == null || he(), he = null, ye == null || ye(), ye = null;
13697
13703
  });
13698
- async function oe(z = !1) {
13704
+ async function re(z = !1) {
13699
13705
  var G, we;
13700
13706
  p.value = !1, f.value = null, _.value = null;
13701
13707
  const q = z || !t.data;
@@ -13716,8 +13722,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13716
13722
  layers: Fe,
13717
13723
  widgets: de.widgets
13718
13724
  }, v.value = de.tools || ["home", "print"];
13719
- const De = await D();
13720
- De && (Ce && ((G = De.setCenter) == null || G.call(De, Ce)), fe != null && ((we = De.setZoom) == null || we.call(De, fe)), s.value || await J()), await H(), await ue(), await W(), p.value = !0;
13725
+ const Ve = await V();
13726
+ Ve && (Ce && ((G = Ve.setCenter) == null || G.call(Ve, Ce)), fe != null && ((we = Ve.setZoom) == null || we.call(Ve, fe)), s.value || await J()), await H(), await ue(), await W(), p.value = !0;
13721
13727
  } catch (de) {
13722
13728
  f.value = (de == null ? void 0 : de.message) || "Не вдалося завантажити карту";
13723
13729
  } finally {
@@ -13756,14 +13762,14 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13756
13762
  return ee([w, x], () => {
13757
13763
  H();
13758
13764
  }, { immediate: !0 }), ee(c, () => {
13759
- oe(!0);
13765
+ re(!0);
13760
13766
  }), ee(
13761
13767
  () => t.data,
13762
13768
  (z) => {
13763
- z && oe();
13769
+ z && re();
13764
13770
  }
13765
13771
  ), Ne(() => {
13766
- oe();
13772
+ re();
13767
13773
  }), ee(
13768
13774
  () => [n.query.x, n.query.y, n.query.z],
13769
13775
  () => {
@@ -13777,7 +13783,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13777
13783
  id: "map-filter-popover-host",
13778
13784
  class: "map-widget__filter-host"
13779
13785
  }, null, -1)),
13780
- le(En, {
13786
+ ie(En, {
13781
13787
  ref_key: "mapViewRef",
13782
13788
  ref: l,
13783
13789
  class: "map-widget__view"
@@ -13785,22 +13791,22 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13785
13791
  default: je(() => {
13786
13792
  var G, we, de, Ce;
13787
13793
  return [
13788
- re.value ? X("", !0) : (d(), me(Wt, {
13794
+ se.value ? X("", !0) : (d(), me(Wt, {
13789
13795
  key: 0,
13790
13796
  class: "hidden"
13791
13797
  })),
13792
- ie.value ? (d(), me(Ml, {
13798
+ ne.value ? (d(), me(Ml, {
13793
13799
  key: 1,
13794
13800
  "layer-id": "app-boundary",
13795
- boundary: ie.value.boundary,
13796
- katottg: ie.value.katottg
13801
+ boundary: ne.value.boundary,
13802
+ katottg: ne.value.katottg
13797
13803
  }, null, 8, ["boundary", "katottg"])) : X("", !0),
13798
13804
  L.value ? (d(), h("div", ax, [
13799
13805
  E.value ? (d(), me(ox, {
13800
13806
  key: 0,
13801
13807
  coordinates: E.value
13802
13808
  }, null, 8, ["coordinates"])) : X("", !0),
13803
- le(ix, {
13809
+ ie(ix, {
13804
13810
  "map-context": L.value,
13805
13811
  options: I.value
13806
13812
  }, null, 8, ["map-context", "options"])
@@ -13823,14 +13829,14 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13823
13829
  P.value[Fe].top.length ? (d(), h("div", fx, [
13824
13830
  o("div", px, [
13825
13831
  (d(!0), h(te, null, ge(P.value[Fe].top, (fe) => {
13826
- var De, qe, Ke, yt, ht, It, jt, zt;
13832
+ var Ve, qe, Ke, yt, ht, It, jt, zt;
13827
13833
  return Ue((d(), h("div", {
13828
13834
  key: fe.id || fe.type,
13829
13835
  class: "map-overlay__item"
13830
13836
  }, [
13831
13837
  fe.type === "info" ? (d(), me(wr, {
13832
13838
  key: 0,
13833
- title: ((De = fe.config) == null ? void 0 : De.title) || fe.title || null,
13839
+ title: ((Ve = fe.config) == null ? void 0 : Ve.title) || fe.title || null,
13834
13840
  content: ((qe = fe.config) == null ? void 0 : qe.content) || "",
13835
13841
  links: y.value,
13836
13842
  "map-name": u.value,
@@ -13871,14 +13877,14 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13871
13877
  P.value[Fe].bottom.length ? (d(), h("div", mx, [
13872
13878
  o("div", vx, [
13873
13879
  (d(!0), h(te, null, ge(P.value[Fe].bottom, (fe) => {
13874
- var De, qe, Ke, yt, ht, It, jt, zt;
13880
+ var Ve, qe, Ke, yt, ht, It, jt, zt;
13875
13881
  return Ue((d(), h("div", {
13876
13882
  key: fe.id || fe.type,
13877
13883
  class: "map-overlay__item"
13878
13884
  }, [
13879
13885
  fe.type === "info" ? (d(), me(wr, {
13880
13886
  key: 0,
13881
- title: ((De = fe.config) == null ? void 0 : De.title) || fe.title || null,
13887
+ title: ((Ve = fe.config) == null ? void 0 : Ve.title) || fe.title || null,
13882
13888
  content: ((qe = fe.config) == null ? void 0 : qe.content) || "",
13883
13889
  links: y.value,
13884
13890
  "map-name": u.value,
@@ -13918,8 +13924,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13918
13924
  ])) : X("", !0)
13919
13925
  ], 2)), 64))
13920
13926
  ]),
13921
- le(Tl),
13922
- le(_o, { "map-id": c.value }, null, 8, ["map-id"])
13927
+ ie(Tl),
13928
+ ie(_o, { "map-id": c.value }, null, 8, ["map-id"])
13923
13929
  ], 64)) : X("", !0)
13924
13930
  ];
13925
13931
  }),
@@ -13928,7 +13934,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13928
13934
  a.value ? (d(), h("div", gx, "Завантаження карти…")) : f.value ? (d(), h("div", yx, U(f.value), 1)) : X("", !0)
13929
13935
  ], 4));
13930
13936
  }
13931
- }), zl = /* @__PURE__ */ Se(hx, [["__scopeId", "data-v-00f11058"]]), xx = { class: "rounded-lg border border-gray-200 bg-gray-50 p-6" }, bx = { class: "rounded-xl border border-gray-200 overflow-hidden bg-white" }, wx = /* @__PURE__ */ ve({
13937
+ }), zl = /* @__PURE__ */ Se(hx, [["__scopeId", "data-v-362a1a19"]]), xx = { class: "rounded-lg border border-gray-200 bg-gray-50 p-6" }, bx = { class: "rounded-xl border border-gray-200 overflow-hidden bg-white" }, wx = /* @__PURE__ */ ve({
13932
13938
  __name: "MapPreview",
13933
13939
  props: {
13934
13940
  id: {}
@@ -13937,7 +13943,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
13937
13943
  return (t, n) => (d(), h("section", xx, [
13938
13944
  n[0] || (n[0] = o("h2", { class: "text-lg font-semibold text-gray-800 mb-4" }, " Попередній перегляд карти ", -1)),
13939
13945
  o("div", bx, [
13940
- le(zl, {
13946
+ ie(zl, {
13941
13947
  class: "w-full h-[360px]",
13942
13948
  id: e.id
13943
13949
  }, null, 8, ["id"])
@@ -14015,12 +14021,12 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14015
14021
  onClick: s,
14016
14022
  class: "text-gray-500 hover:text-gray-700 transition-colors"
14017
14023
  }, [
14018
- le(ce(dn), { size: 20 })
14024
+ ie(ce(dn), { size: 20 })
14019
14025
  ])
14020
14026
  ]),
14021
14027
  i.value ? (d(), h("div", $x, " Помилка JSON: " + U(i.value), 1)) : X("", !0),
14022
14028
  o("div", Cx, [
14023
- le(mn, {
14029
+ ie(mn, {
14024
14030
  modelValue: l.value,
14025
14031
  "onUpdate:modelValue": p[0] || (p[0] = (v) => l.value = v),
14026
14032
  language: "json",
@@ -14048,7 +14054,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14048
14054
  }, Tx = {
14049
14055
  key: 1,
14050
14056
  class: "rounded-lg border border-gray-200 overflow-hidden"
14051
- }, Mx = { class: "w-full text-sm" }, Fx = { class: "divide-y divide-gray-200" }, Ix = { class: "px-4 py-3" }, jx = ["onUpdate:modelValue", "onChange"], zx = ["value"], Nx = { class: "px-4 py-3" }, Ox = ["onUpdate:modelValue", "onChange"], Rx = ["value"], Px = { class: "px-4 py-3 text-center" }, Vx = ["checked", "onChange"], Dx = { class: "px-4 py-3" }, Bx = {
14057
+ }, Mx = { class: "w-full text-sm" }, Fx = { class: "divide-y divide-gray-200" }, Ix = { class: "px-4 py-3" }, jx = ["onUpdate:modelValue", "onChange"], zx = ["value"], Nx = { class: "px-4 py-3" }, Ox = ["onUpdate:modelValue", "onChange"], Rx = ["value"], Px = { class: "px-4 py-3 text-center" }, Dx = ["checked", "onChange"], Vx = { class: "px-4 py-3" }, Bx = {
14052
14058
  key: 0,
14053
14059
  class: "flex items-center gap-2"
14054
14060
  }, Ux = ["onClick"], qx = ["onClick"], Hx = { key: 1 }, Yx = ["onClick"], Wx = { class: "px-4 py-3 text-right" }, Zx = ["onClick"], Gx = /* @__PURE__ */ ve({
@@ -14086,7 +14092,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14086
14092
  r("update:modelValue", x);
14087
14093
  }
14088
14094
  function v(x) {
14089
- Vo({
14095
+ Do({
14090
14096
  title: "Видалити віджет?",
14091
14097
  message: "Ви впевнені, що хочете видалити цей віджет?",
14092
14098
  type: "warning",
@@ -14110,7 +14116,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14110
14116
  u(x, {});
14111
14117
  }
14112
14118
  function y(x) {
14113
- Vo({
14119
+ Do({
14114
14120
  title: "Видалити конфігурацію?",
14115
14121
  message: "Ви впевнені, що хочете видалити конфігурацію цього віджета?",
14116
14122
  type: "warning",
@@ -14182,23 +14188,23 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14182
14188
  checked: L.visible !== !1,
14183
14189
  onChange: (A) => c(I, "visible", A.target.checked),
14184
14190
  class: "w-4 h-4 text-blue-600 border-gray-300 rounded focus:ring-blue-500"
14185
- }, null, 40, Vx)
14191
+ }, null, 40, Dx)
14186
14192
  ]),
14187
- o("td", Dx, [
14193
+ o("td", Vx, [
14188
14194
  g(L.config) ? (d(), h("div", Bx, [
14189
14195
  o("button", {
14190
14196
  onClick: (A) => u(I, L.config),
14191
14197
  class: "p-1 text-blue-600 hover:text-blue-800 hover:bg-blue-50 rounded transition-colors",
14192
14198
  title: "Редагувати конфігурацію"
14193
14199
  }, [
14194
- le(ce(zs), { size: 16 })
14200
+ ie(ce(zs), { size: 16 })
14195
14201
  ], 8, Ux),
14196
14202
  o("button", {
14197
14203
  onClick: (A) => y(I),
14198
14204
  class: "p-1 text-red-500 hover:text-red-700 hover:bg-red-50 rounded transition-colors",
14199
14205
  title: "Видалити конфігурацію"
14200
14206
  }, [
14201
- le(ce(dn), { size: 16 })
14207
+ ie(ce(dn), { size: 16 })
14202
14208
  ], 8, qx)
14203
14209
  ])) : (d(), h("div", Hx, [
14204
14210
  o("button", {
@@ -14206,7 +14212,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14206
14212
  class: "p-1 text-green-600 hover:text-green-800 hover:bg-green-50 rounded transition-colors",
14207
14213
  title: "Додати конфігурацію"
14208
14214
  }, [
14209
- le(ce(ao), { size: 16 })
14215
+ ie(ce(ao), { size: 16 })
14210
14216
  ], 8, Yx)
14211
14217
  ]))
14212
14218
  ]),
@@ -14216,14 +14222,14 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14216
14222
  class: "p-1 text-gray-400 hover:text-red-500 transition-colors",
14217
14223
  title: "Видалити віджет"
14218
14224
  }, [
14219
- le(ce(Ps), { size: 16 })
14225
+ ie(ce(Ps), { size: 16 })
14220
14226
  ], 8, Zx)
14221
14227
  ])
14222
14228
  ]))), 128))
14223
14229
  ])
14224
14230
  ])
14225
14231
  ])) : (d(), h("div", Ex, " Немає віджетів. Додайте перший віджет. ")),
14226
- le(Lx, {
14232
+ ie(Lx, {
14227
14233
  teleport: "#modal",
14228
14234
  modelValue: s.value,
14229
14235
  "onUpdate:modelValue": _[0] || (_[0] = (L) => s.value = L),
@@ -14292,7 +14298,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14292
14298
  }),
14293
14299
  set: (k) => {
14294
14300
  const C = k.map((N) => {
14295
- const B = y.value.find((ie) => ie.text === N);
14301
+ const B = y.value.find((ne) => ne.text === N);
14296
14302
  return B ? B.id : null;
14297
14303
  }).filter((N) => N !== null);
14298
14304
  m.value = C;
@@ -14414,7 +14420,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14414
14420
  Me({
14415
14421
  type: "warning",
14416
14422
  title: "Валідація",
14417
- message: Object.entries(k).map(([B, ie]) => `${B}: ${ie}`).join(`
14423
+ message: Object.entries(k).map(([B, ne]) => `${B}: ${ne}`).join(`
14418
14424
  `)
14419
14425
  });
14420
14426
  return;
@@ -14441,12 +14447,12 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14441
14447
  }), (k, C) => {
14442
14448
  const N = Lr("router-link");
14443
14449
  return d(), h("div", Kx, [
14444
- le(Tr, {
14450
+ ie(Tr, {
14445
14451
  variant: "form",
14446
14452
  title: u.value.name || "Налаштування карти"
14447
14453
  }, {
14448
14454
  breadcrumbs: je(() => [
14449
- le(N, {
14455
+ ie(N, {
14450
14456
  to: "/maps",
14451
14457
  class: "text-gray-500 hover:text-gray-700"
14452
14458
  }, {
@@ -14456,7 +14462,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14456
14462
  _: 1
14457
14463
  }),
14458
14464
  o("span", Xx, [
14459
- le(ce(io), {
14465
+ ie(ce(io), {
14460
14466
  size: 16,
14461
14467
  class: "shrink-0"
14462
14468
  })
@@ -14482,13 +14488,13 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14482
14488
  l.value ? (d(), h("div", eb, [...C[8] || (C[8] = [
14483
14489
  o("p", { class: "text-gray-500" }, "Завантаження...", -1)
14484
14490
  ])])) : (d(), h("div", tb, [
14485
- le(Oy, {
14491
+ ie(Oy, {
14486
14492
  tabs: f,
14487
14493
  activeTab: g.value,
14488
14494
  "onUpdate:activeTab": C[1] || (C[1] = (B) => g.value = B)
14489
14495
  }, null, 8, ["activeTab"]),
14490
14496
  Ue(o("div", nb, [
14491
- le(Py, {
14497
+ ie(Py, {
14492
14498
  schema: E,
14493
14499
  loading: l.value,
14494
14500
  modelValue: u.value,
@@ -14500,7 +14506,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14500
14506
  [At, g.value === "general"]
14501
14507
  ]),
14502
14508
  Ue(o("div", ob, [
14503
- le(Dy, {
14509
+ ie(Vy, {
14504
14510
  options: y.value,
14505
14511
  layerIDs: m.value,
14506
14512
  "onUpdate:layerIDs": C[4] || (C[4] = (B) => m.value = B),
@@ -14510,14 +14516,14 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14510
14516
  ], 512), [
14511
14517
  [At, g.value === "layers"]
14512
14518
  ]),
14513
- Ue(le(Gx, {
14519
+ Ue(ie(Gx, {
14514
14520
  modelValue: u.value.widgets,
14515
14521
  "onUpdate:modelValue": C[6] || (C[6] = (B) => u.value.widgets = B)
14516
14522
  }, null, 8, ["modelValue"]), [
14517
14523
  [At, g.value === "widgets"]
14518
14524
  ]),
14519
14525
  Ue(o("div", rb, [
14520
- le(wx, {
14526
+ ie(wx, {
14521
14527
  "center-display": x.value,
14522
14528
  "zoom-display": _.value,
14523
14529
  "layer-names": w.value,
@@ -14530,7 +14536,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14530
14536
  ]);
14531
14537
  };
14532
14538
  }
14533
- }), Y2 = /* @__PURE__ */ Se(lb, [["__scopeId", "data-v-72f2a6c1"]]), sb = { class: "flex-1 overflow-y-auto p-0 overflow-x-hidden max-h-[70%] lg:max-h-[80%] xl:max-h-[83%] 2xl:max-h-[95%]" }, ib = { class: "pt-0 mt-0" }, ab = {
14539
+ }), Y2 = /* @__PURE__ */ Se(lb, [["__scopeId", "data-v-84ec8129"]]), sb = { class: "flex-1 overflow-y-auto p-0 overflow-x-hidden max-h-[70%] lg:max-h-[80%] xl:max-h-[83%] 2xl:max-h-[95%]" }, ib = { class: "pt-0 mt-0" }, ab = {
14534
14540
  key: 0,
14535
14541
  class: "flex items-center justify-center py-12"
14536
14542
  }, ub = {
@@ -14564,23 +14570,23 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14564
14570
  const x = (k = "", C = "") => {
14565
14571
  const N = new URLSearchParams(), B = k.trim();
14566
14572
  B && N.set("search", B);
14567
- const ie = (C || "").trim();
14568
- ie && N.set("type", ie);
14569
- const se = N.toString();
14570
- return se ? `/api/user-cls?${se}` : "/api/user-cls";
14573
+ const ne = (C || "").trim();
14574
+ ne && N.set("type", ne);
14575
+ const le = N.toString();
14576
+ return le ? `/api/user-cls?${le}` : "/api/user-cls";
14571
14577
  }, _ = async (k = "", C = "") => {
14572
14578
  try {
14573
14579
  g.value = !0, u.value = null;
14574
14580
  const N = x(k, C), B = await fetch(N);
14575
14581
  if (!B.ok)
14576
14582
  throw new Error(`HTTP error: ${B.status}`);
14577
- const ie = await B.json();
14578
- if (v.value = ie.data, !k.trim())
14579
- p.value = ie.data.length;
14583
+ const ne = await B.json();
14584
+ if (v.value = ne.data, !k.trim())
14585
+ p.value = ne.data.length;
14580
14586
  else if (p.value === 0) {
14581
- const se = await fetch(x("", C));
14582
- if (se.ok) {
14583
- const ae = await se.json();
14587
+ const le = await fetch(x("", C));
14588
+ if (le.ok) {
14589
+ const ae = await le.json();
14584
14590
  p.value = ae.data.length;
14585
14591
  }
14586
14592
  }
@@ -14631,7 +14637,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14631
14637
  return (k, C) => (d(), h("div", sb, [
14632
14638
  o("div", ib, [
14633
14639
  g.value ? (d(), h("div", ab, [
14634
- le(ce(Fr), {
14640
+ ie(ce(Fr), {
14635
14641
  width: 32,
14636
14642
  height: 32,
14637
14643
  "stroke-width": 2,
@@ -14642,7 +14648,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14642
14648
  (d(!0), h(te, null, ge(c.value, (N, B) => (d(), h("div", {
14643
14649
  key: B,
14644
14650
  class: "w-full border border-gray-200 bg-white rounded-lg p-4 text-left hover:shadow-md transition-all hover:border-gray-300 cursor-pointer",
14645
- onClick: (ie) => E(N)
14651
+ onClick: (ne) => E(N)
14646
14652
  }, [
14647
14653
  o("div", pb, [
14648
14654
  o("div", mb, [
@@ -14662,15 +14668,15 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14662
14668
  o("div", vb, [
14663
14669
  o("div", gb, [
14664
14670
  o("h4", {
14665
- onClick: Je((ie) => I(N.name), ["stop"]),
14671
+ onClick: Je((ne) => I(N.name), ["stop"]),
14666
14672
  class: "text-sm font-semibold text-gray-800 mb-0 hover:border-b hover:border-gray-300 cursor-pointer"
14667
14673
  }, U(N.name), 9, yb),
14668
14674
  o("div", hb, [
14669
14675
  o("button", {
14670
- onClick: Je((ie) => I(N.name), ["stop"]),
14676
+ onClick: Je((ne) => I(N.name), ["stop"]),
14671
14677
  class: "pt-1 mt-0.5 text-gray-400 hover:text-gray-600 hover:bg-gray-100 rounded transition-colors"
14672
14678
  }, [
14673
- le(ce(Ls), {
14679
+ ie(ce(Ls), {
14674
14680
  width: 14,
14675
14681
  height: 14,
14676
14682
  "stroke-width": 2
@@ -14684,7 +14690,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14684
14690
  ]),
14685
14691
  o("div", _b, [
14686
14692
  N.type != "sql" ? (d(), h("span", kb, U(N.count) + " записів ", 1)) : X("", !0),
14687
- le(ce(io), {
14693
+ ie(ce(io), {
14688
14694
  width: 16,
14689
14695
  height: 16,
14690
14696
  "stroke-width": 2,
@@ -14700,7 +14706,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14700
14706
  to: "#pagination"
14701
14707
  }, [
14702
14708
  o("div", $b, [
14703
- le(ce(ms), {
14709
+ ie(ce(ms), {
14704
14710
  total: v.value.length,
14705
14711
  page: a.value,
14706
14712
  "page-size": Gn,
@@ -14715,7 +14721,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14715
14721
  ])) : X("", !0)
14716
14722
  ]));
14717
14723
  }
14718
- }), Ab = /* @__PURE__ */ Se(Cb, [["__scopeId", "data-v-4065587c"]]), Sb = { class: "flex flex-col 2xl:flex-row 2xl:items-center 2xl:justify-between" }, Lb = { class: "" }, Eb = { class: "text-2xl font-bold mb-2 flex items-center gap-2" }, Tb = {
14724
+ }), Ab = /* @__PURE__ */ Se(Cb, [["__scopeId", "data-v-e728e68b"]]), Sb = { class: "flex flex-col 2xl:flex-row 2xl:items-center 2xl:justify-between" }, Lb = { class: "" }, Eb = { class: "text-2xl font-bold mb-2 flex items-center gap-2" }, Tb = {
14719
14725
  key: 0,
14720
14726
  class: "text-sm font-normal text-gray-500 mt-2 ml-1"
14721
14727
  }, Mb = { class: "flex flex-col gap-3 mt-4 lg:mt-5 lg:flex-row lg:items-center" }, Fb = { class: "w-full md:w-auto" }, Ib = ["value"], jb = { class: "relative w-full lg:w-[16rem]" }, zb = { class: "bg-white focus:bg-white focus:border-blue-500 focus:ring-blue-500 rounded-lg" }, Nb = { class: "absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3" }, Ob = ["value"], Rb = /* @__PURE__ */ ve({
@@ -14759,7 +14765,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14759
14765
  o("div", jb, [
14760
14766
  o("div", zb, [
14761
14767
  o("div", Nb, [
14762
- le(ce(Ir), {
14768
+ ie(ce(Ir), {
14763
14769
  width: 14,
14764
14770
  height: 14,
14765
14771
  "stroke-width": 2,
@@ -14781,7 +14787,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14781
14787
  class: "absolute top-1/2 -translate-y-1/2 right-3 cursor-pointer text-gray-400 hover:text-gray-600",
14782
14788
  onClick: a[1] || (a[1] = (f) => s.$emit("update:modelValue", ""))
14783
14789
  }, [
14784
- le(ce(dn), {
14790
+ ie(ce(dn), {
14785
14791
  width: 14,
14786
14792
  height: 14,
14787
14793
  "stroke-width": 2
@@ -14793,7 +14799,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14793
14799
  onClick: a[2] || (a[2] = (f) => i.value = !0),
14794
14800
  class: "w-full md:w-auto flex items-center justify-center gap-2 px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-all duration-200 transform hover:scale-105 text-sm font-medium"
14795
14801
  }, [
14796
- le(ce(ao), {
14802
+ ie(ce(ao), {
14797
14803
  width: 16,
14798
14804
  height: 16,
14799
14805
  "stroke-width": 2,
@@ -14804,10 +14810,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14804
14810
  ])
14805
14811
  ]));
14806
14812
  }
14807
- }), Pb = { class: "bg-white rounded-lg shadow-sm border border-gray-200 overflow-x-auto" }, Vb = {
14813
+ }), Pb = { class: "bg-white rounded-lg shadow-sm border border-gray-200 overflow-x-auto" }, Db = {
14808
14814
  key: 0,
14809
14815
  class: "flex items-center justify-center py-12"
14810
- }, Db = {
14816
+ }, Vb = {
14811
14817
  key: 1,
14812
14818
  class: "bg-red-50 border border-red-200 text-red-700 rounded-lg p-4 text-sm m-4"
14813
14819
  }, Bb = {
@@ -14881,14 +14887,14 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
14881
14887
  f(n.classifierName);
14882
14888
  }
14883
14889
  }), (v, c) => (d(), h("div", Pb, [
14884
- i.value ? (d(), h("div", Vb, [
14885
- le(ce(Fr), {
14890
+ i.value ? (d(), h("div", Db, [
14891
+ ie(ce(Fr), {
14886
14892
  width: 32,
14887
14893
  height: 32,
14888
14894
  "stroke-width": 2,
14889
14895
  class: "text-sky-600 animate-spin"
14890
14896
  })
14891
- ])) : s.value ? (d(), h("div", Db, U(s.value), 1)) : l.value.length === 0 ? (d(), h("div", Bb, " Записи відсутні ")) : (d(), h("table", Ub, [
14897
+ ])) : s.value ? (d(), h("div", Vb, U(s.value), 1)) : l.value.length === 0 ? (d(), h("div", Bb, " Записи відсутні ")) : (d(), h("table", Ub, [
14892
14898
  o("thead", qb, [
14893
14899
  o("tr", null, [
14894
14900
  (d(), h(te, null, ge(r, (g) => o("th", {
@@ -15014,7 +15020,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
15014
15020
  disabled: c.value,
15015
15021
  class: "p-1.5 text-green-600 hover:bg-green-50 rounded transition-colors disabled:opacity-50"
15016
15022
  }, [
15017
- le(ce(As), {
15023
+ ie(ce(As), {
15018
15024
  width: 18,
15019
15025
  height: 18,
15020
15026
  "stroke-width": 2
@@ -15025,7 +15031,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
15025
15031
  disabled: c.value,
15026
15032
  class: "p-1.5 text-gray-400 hover:text-red-500 hover:bg-red-50 rounded transition-colors"
15027
15033
  }, [
15028
- le(ce(dn), {
15034
+ ie(ce(dn), {
15029
15035
  width: 18,
15030
15036
  height: 18,
15031
15037
  "stroke-width": 2
@@ -15038,7 +15044,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
15038
15044
  class: "p-1 text-gray-400 hover:text-sky-600 transition-all rounded hover:bg-sky-50",
15039
15045
  title: "Редагувати опис"
15040
15046
  }, [
15041
- le(ce(jr), {
15047
+ ie(ce(jr), {
15042
15048
  width: 16,
15043
15049
  height: 16,
15044
15050
  "stroke-width": 2
@@ -15051,7 +15057,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
15051
15057
  onClick: x,
15052
15058
  class: "w-full md:w-auto flex items-center justify-center gap-2 px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-all duration-200 transform hover:scale-105 text-sm font-medium"
15053
15059
  }, [
15054
- le(ce(ao), {
15060
+ ie(ce(ao), {
15055
15061
  width: 16,
15056
15062
  height: 16,
15057
15063
  "stroke-width": 2,
@@ -15070,7 +15076,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
15070
15076
  o("div", u2, [
15071
15077
  o("div", c2, [
15072
15078
  o("div", d2, [
15073
- le(ce(Ir), {
15079
+ ie(ce(Ir), {
15074
15080
  width: 18,
15075
15081
  height: 18,
15076
15082
  "stroke-width": 2,
@@ -15088,7 +15094,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
15088
15094
  ])
15089
15095
  ])
15090
15096
  ]),
15091
- le(Gb, {
15097
+ ie(Gb, {
15092
15098
  ref_key: "detailsTableRef",
15093
15099
  ref: s,
15094
15100
  "classifier-name": r.value,
@@ -15241,8 +15247,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
15241
15247
  if ((k = L.menu) != null && k.length) {
15242
15248
  const C = { ...f.value };
15243
15249
  L.menu.forEach((N) => {
15244
- const B = u(N), ie = new Set(C[B] || []);
15245
- A ? ie.add(I) : ie.delete(I), C[B] = ie;
15250
+ const B = u(N), ne = new Set(C[B] || []);
15251
+ A ? ne.add(I) : ne.delete(I), C[B] = ne;
15246
15252
  }), f.value = C, g();
15247
15253
  }
15248
15254
  }
@@ -15274,7 +15280,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
15274
15280
  onClick: (k) => w(A)
15275
15281
  }, [
15276
15282
  o("button", w2, [
15277
- le(ce(Mr), {
15283
+ ie(ce(Mr), {
15278
15284
  class: Le(["text-gray-600 w-4 h-4", { "rotate-180": y(A) }])
15279
15285
  }, null, 8, ["class"]),
15280
15286
  Ae(" " + U(A.ua), 1)
@@ -15410,7 +15416,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
15410
15416
  onClick: v
15411
15417
  }, " Зберегти ")
15412
15418
  ]),
15413
- le(j2, {
15419
+ ie(j2, {
15414
15420
  ref_key: "accessRef",
15415
15421
  ref: r,
15416
15422
  data: { routers: a.value },