@opengis/gis 0.2.52 → 0.2.53

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 (158) hide show
  1. package/README.md +5 -5
  2. package/dist/index.css +1 -1
  3. package/dist/index.js +145 -145
  4. package/dist/index.umd.cjs +3 -3
  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 +45 -45
  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/pg.columns.parent.sql +6 -6
  52. package/module/gis/select/pg.table_name.sql +17 -17
  53. package/module/gis/select/service_id.sql +1 -1
  54. package/module/gis/table/gis.cartocss.table.json +62 -62
  55. package/module/gis/table/gis.group_list.table.json +35 -35
  56. package/module/gis/table/gis.maps.table.json +108 -108
  57. package/module/gis/table/gis.metadata.table.json +70 -70
  58. package/module/gis/table/gis.ogc_service.table.json +98 -98
  59. package/module/gis/table/gis.rasters.table.json +101 -101
  60. package/module/gis/table/gis.registers.table.json +144 -144
  61. package/module/gis/table/gis.services.table.json +121 -121
  62. package/module/gis/table/site.gis.registers.table.json +88 -88
  63. package/module/gis/table/site.gis.services.table.json +106 -106
  64. package/module/gis/templates/ISO19136_2017_gml_template.xml +330 -330
  65. package/module/gis/tokens.yml +5 -5
  66. package/module/test/cls/bp_build_type.json +37 -37
  67. package/module/test/cls/doc_status.json +31 -31
  68. package/module/test/cls/ts.temp_status.json +18 -18
  69. package/module/test/cls/ts.temp_structure.ts_class.json +49 -49
  70. package/module/test/cls/ts.temp_type.json +9 -9
  71. package/module/test/layer/bp.json +59 -59
  72. package/module/test/layer/bp1.yml +33 -33
  73. package/module/test/layer/individual.yml +53 -53
  74. package/module/test/layer/ts.linking_passport.yml +55 -55
  75. package/module/test/layer/ts.temp_structure.yml +50 -50
  76. package/module/test/map/addr.yml +21 -21
  77. package/module/test/map/bp_myo.json +43 -43
  78. package/module/test/map/bpf.json +43 -43
  79. package/module/test/map/main.json +36 -36
  80. package/module/test/map/mbd.json +91 -91
  81. package/module/test/map/ts.json +52 -52
  82. package/module/test/select/address_id.json +2 -2
  83. package/module/test/select/address_id.sql +7 -7
  84. package/module/test/select/core.user_uid.sql +1 -1
  85. package/module/test/table/data_address.street.table.json +69 -69
  86. package/module/test/table/data_bp_myo.bp.table.json +122 -122
  87. package/package.json +75 -75
  88. package/plugin.js +45 -45
  89. package/server/migrations/cartocss.sql +20 -20
  90. package/server/migrations/maps.sql +30 -30
  91. package/server/migrations/ogc.sql +106 -106
  92. package/server/migrations/rasters.sql +263 -263
  93. package/server/migrations/services.sql +247 -247
  94. package/server/migrations/widgets.sql +20 -20
  95. package/server/plugins/crons.js +21 -21
  96. package/server/plugins/mapnik/funcs/checkRasterFile.js +92 -92
  97. package/server/plugins/mapnik/funcs/mapnik.js +146 -146
  98. package/server/plugins/mapnik/funcs/rootFolder.mjs +8 -8
  99. package/server/plugins/mapnik/map.proto +187 -188
  100. package/server/plugins/vite.js +74 -74
  101. package/server/routes/gis/cartocss/add.cartocss.js +29 -29
  102. package/server/routes/gis/cartocss/get.cartocss.js +12 -12
  103. package/server/routes/gis/dashboard.js +29 -29
  104. package/server/routes/gis/index.mjs +73 -73
  105. package/server/routes/gis/metadata/metadataXML.js +13 -13
  106. package/server/routes/gis/ogc/map.info.point.js +124 -124
  107. package/server/routes/gis/registers/add.registry.js +35 -35
  108. package/server/routes/gis/registers/del.registry.js +14 -14
  109. package/server/routes/gis/registers/funcs/classifiers.js +100 -100
  110. package/server/routes/gis/registers/funcs/columns.js +4 -4
  111. package/server/routes/gis/registers/funcs/content.type.js +9 -9
  112. package/server/routes/gis/registers/funcs/get.info.js +89 -89
  113. package/server/routes/gis/registers/funcs/handleRegistryRequest.js +145 -145
  114. package/server/routes/gis/registers/gis.export.js +148 -148
  115. package/server/routes/gis/registers/gis.registry.js +64 -64
  116. package/server/routes/gis/registers/gis.registry.list.js +59 -59
  117. package/server/routes/gis/registers/insert.columns.js +107 -107
  118. package/server/routes/gis/registers/insert.filters.js +110 -110
  119. package/server/routes/gis/registers/map.registry.js +79 -79
  120. package/server/routes/gis/services/add.service.js +64 -64
  121. package/server/routes/gis/services/del.service.js +12 -12
  122. package/server/routes/gis/services/get.layer.geom.js +27 -27
  123. package/server/routes/gis/services/get.services.col.js +33 -33
  124. package/server/routes/gis/services/get.services.js +84 -84
  125. package/server/routes/gis/services/legend.auto.js +77 -77
  126. package/server/routes/map/controllers/geojson.js +187 -187
  127. package/server/routes/map/controllers/jsonData.js +205 -205
  128. package/server/routes/map/controllers/layerList.js +60 -60
  129. package/server/routes/map/controllers/map.js +123 -123
  130. package/server/routes/map/controllers/mapCatalog.js +72 -72
  131. package/server/routes/map/controllers/mapCatalogAttribute.js +55 -55
  132. package/server/routes/map/controllers/mapFeatures.js +128 -128
  133. package/server/routes/map/controllers/mapFormat.js +85 -85
  134. package/server/routes/map/controllers/mapTiles.js +152 -152
  135. package/server/routes/map/controllers/maps.js +15 -15
  136. package/server/routes/map/controllers/marker_icon.js +43 -43
  137. package/server/routes/map/controllers/vtile.js +172 -172
  138. package/server/routes/map/index.mjs +142 -142
  139. package/server/routes/map/maps/add.map.js +43 -43
  140. package/server/routes/map/maps/del.map.js +18 -18
  141. package/server/routes/map/maps/get.map.js +80 -80
  142. package/server/routes/map/vtile1.js +170 -170
  143. package/server/routes/map/widgets/add.widget.js +38 -38
  144. package/server/routes/map/widgets/del.widget.js +22 -22
  145. package/server/routes/map/widgets/get.widget.js +40 -40
  146. package/server/routes/mapnik/controllers/checkCarto.js +40 -40
  147. package/server/routes/mapnik/controllers/createXml.js +63 -63
  148. package/server/routes/mapnik/controllers/mapnikLogger.js +23 -23
  149. package/server/routes/mapnik/controllers/mapnikStat.js +20 -20
  150. package/server/routes/mapnik/controllers/rasterInfo.js +36 -36
  151. package/server/routes/mapnik/controllers/rtile.js +96 -96
  152. package/server/routes/mapnik/controllers/rtileMBD.js +91 -91
  153. package/server/routes/mapnik/controllers/uploadRaster.js +157 -157
  154. package/server/routes/mapnik/functions/cartoBounds.js +22 -22
  155. package/server/routes/mapnik/functions/uploadXML.js +106 -106
  156. package/server/routes/mapnik/index.js +21 -21
  157. package/server/routes/root.mjs +3 -3
  158. package/utils.js +13 -13
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { h as zn, defineComponent as se, mergeModels as _t, defineAsyncComponent as tt, useModel as rt, ref as P, watch as X, createElementBlock as x, openBlock as d, createElementVNode as o, createVNode as Q, unref as ee, withCtx as Me, createStaticVNode as Ft, useSlots as gr, computed as D, Fragment as G, createCommentVNode as Z, createTextVNode as he, renderList as oe, normalizeStyle as De, toDisplayString as R, withModifiers as Oe, normalizeClass as ve, createBlock as te, resolveDynamicComponent as Ct, withDirectives as Te, renderSlot as nn, onBeforeUnmount as $e, onMounted as Ce, shallowRef as Yo, onUnmounted as Zo, provide as hr, inject as yr, vModelText as bt, getCurrentInstance as At, nextTick as Pe, reactive as et, Teleport as dt, Transition as qn, createSlots as xr, resolveDirective as Ko, vShow as xt, vModelRadio as br, vModelSelect as fo, withKeys as po } from "vue";
1
+ import { h as zn, defineComponent as se, mergeModels as _t, defineAsyncComponent as tt, useModel as rt, ref as P, watch as X, openBlock as d, createElementBlock as x, createElementVNode as o, createVNode as Q, unref as ee, withCtx as Me, createStaticVNode as Ft, useSlots as gr, computed as D, Fragment as G, createTextVNode as he, createCommentVNode as Z, renderList as oe, normalizeStyle as De, toDisplayString as R, normalizeClass as ve, withModifiers as Oe, createBlock as te, resolveDynamicComponent as Ct, withDirectives as Te, renderSlot as nn, onBeforeUnmount as $e, onMounted as Ce, shallowRef as Yo, onUnmounted as Zo, provide as hr, inject as yr, vModelText as bt, getCurrentInstance as At, nextTick as Pe, reactive as et, Teleport as dt, Transition as qn, createSlots as xr, resolveDirective as Ko, vShow as xt, vModelRadio as br, vModelSelect as fo, withKeys as po } from "vue";
2
2
  import { useRoute as st, useRouter as it } from "vue-router";
3
3
  import { notify as ke, TooltipDirective as Go, confirm as vo, VsPagination as wr } from "@opengis/core";
4
4
  import { VsInputArraySelect as _r, VsInputMask as kr } from "@opengis/form";
@@ -1091,7 +1091,7 @@ const ei = /* @__PURE__ */ fe(Xs, [["render", Qs]]), yo = {
1091
1091
  }, 8, ["visible"])
1092
1092
  ], 64));
1093
1093
  }
1094
- }), Lt = /* @__PURE__ */ fe(bi, [["__scopeId", "data-v-0ede3461"]]), wi = { class: "p-4 text-[13px]" }, _i = { class: "grid grid-cols-2 gap-x-6 gap-y-2" }, ki = ["id", "checked", "onChange"], $i = { class: "ml-2 flex-1 min-w-0 flex items-center gap-2" }, Ci = { class: "font-medium text-gray-900 truncate" }, Ai = { class: "text-xs text-gray-500" }, Li = { class: "flex justify-end gap-2 p-4 border-t w-full" }, qt = /* @__PURE__ */ se({
1094
+ }), Lt = /* @__PURE__ */ fe(bi, [["__scopeId", "data-v-93fedaf0"]]), wi = { class: "p-4 text-[13px]" }, _i = { class: "grid grid-cols-2 gap-x-6 gap-y-2" }, ki = ["id", "checked", "onChange"], $i = { class: "ml-2 flex-1 min-w-0 flex items-center gap-2" }, Ci = { class: "font-medium text-gray-900 truncate" }, Ai = { class: "text-xs text-gray-500" }, Li = { class: "flex justify-end gap-2 p-4 border-t w-full" }, qt = /* @__PURE__ */ se({
1095
1095
  __name: "import-fields-dialog",
1096
1096
  props: /* @__PURE__ */ _t({
1097
1097
  fields: { default: () => [] },
@@ -2112,7 +2112,7 @@ const Zi = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2112
2112
  }), 128))
2113
2113
  ]));
2114
2114
  }
2115
- }), Ba = { class: "flex flex-col space-y-1.5 p-6 pb-2" }, Ua = { class: "flex items-center gap-2" }, qa = { class: "tracking-tight text-lg font-medium" }, Ha = {
2115
+ }), Ba = { class: "flex flex-col space-y-1.5 p-6 pb-2" }, Ua = { class: "flex items-center gap-2 flex-wrap" }, qa = { class: "tracking-tight text-lg font-medium" }, Ha = {
2116
2116
  key: 0,
2117
2117
  class: "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-blue-100 text-blue-800 ml-2",
2118
2118
  "data-v0-t": "badge"
@@ -2122,7 +2122,7 @@ const Zi = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
2122
2122
  }, Ya = {
2123
2123
  key: 0,
2124
2124
  class: "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold border-transparent bg-gray-100 text-gray-800"
2125
- }, Za = { class: "p-6 pt-0 pb-4" }, Ka = { class: "grid grid-cols-2 gap-4" }, Ga = { class: "text-sm text-gray-500" }, Xa = { class: "font-medium" }, Ja = { class: "flex items-center p-6 pt-0 gap-2" }, Qa = ["href"], eu = ["href"], tu = /* @__PURE__ */ se({
2125
+ }, Za = { class: "p-6 pt-0 pb-4" }, Ka = { class: "grid grid-cols-1 md:grid-cols-2 gap-4" }, Ga = { class: "text-sm text-gray-500" }, Xa = { class: "font-medium" }, Ja = { class: "flex items-center p-6 pt-0 gap-2" }, Qa = ["href"], eu = ["href"], tu = /* @__PURE__ */ se({
2126
2126
  __name: "template-4",
2127
2127
  props: {
2128
2128
  items: {},
@@ -5617,7 +5617,7 @@ const yp = { class: "map-filter" }, xp = { class: "map-filter__header" }, bp = {
5617
5617
  ]))
5618
5618
  ], 512)) : Z("", !0);
5619
5619
  }
5620
- }), bn = /* @__PURE__ */ fe(_p, [["__scopeId", "data-v-3e84c1ab"]]), kp = {
5620
+ }), bn = /* @__PURE__ */ fe(_p, [["__scopeId", "data-v-0d4c9370"]]), kp = {
5621
5621
  key: 0,
5622
5622
  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"
5623
5623
  }, $p = /* @__PURE__ */ se({
@@ -5640,7 +5640,7 @@ const yp = { class: "map-filter" }, xp = { class: "map-filter__header" }, bp = {
5640
5640
  ])) : Z("", !0)
5641
5641
  ]));
5642
5642
  }
5643
- }), Bn = /* @__PURE__ */ fe($p, [["__scopeId", "data-v-d244723f"]]), Cp = { class: "flex flex-row gap-x-3 z-10 relative widget" }, Ap = ["onClick"], Lp = ["src", "alt"], en = /* @__PURE__ */ se({
5643
+ }), Bn = /* @__PURE__ */ fe($p, [["__scopeId", "data-v-98772410"]]), Cp = { class: "flex flex-row gap-x-3 z-10 relative widget" }, Ap = ["onClick"], Lp = ["src", "alt"], en = /* @__PURE__ */ se({
5644
5644
  __name: "BaseMaps",
5645
5645
  setup(e) {
5646
5646
  var f, v, g;
@@ -7097,7 +7097,7 @@ const Rp = {
7097
7097
  _: 1
7098
7098
  }));
7099
7099
  }
7100
- }), Gl = /* @__PURE__ */ fe(yv, [["__scopeId", "data-v-370b3cd8"]]), Xl = /* @__PURE__ */ se({
7100
+ }), Gl = /* @__PURE__ */ fe(yv, [["__scopeId", "data-v-f89447ba"]]), Xl = /* @__PURE__ */ se({
7101
7101
  __name: "MapBoundaryLayer",
7102
7102
  props: {
7103
7103
  layerId: {},
@@ -7307,7 +7307,7 @@ const Rp = {
7307
7307
  ]);
7308
7308
  };
7309
7309
  }
7310
- }), Un = /* @__PURE__ */ fe(wv, [["__scopeId", "data-v-f32f9c9c"]]), _v = { class: "flex h-screen bg-gradient-to-br from-slate-50 to-white" }, kv = { class: "flex-1 relative overflow-hidden" }, $v = { class: "absolute top-0 left-0 w-full z-20" }, Cv = { class: "flex items-center justify-between bg-white/80 backdrop-blur border-b border-gray-200 px-6 py-3 shadow-sm gap-4" }, Av = { class: "flex items-center gap-3" }, Lv = { class: "font-semibold text-lg text-gray-800 line-clamp-1" }, Sv = { class: "text-xs text-gray-500 truncate" }, Ev = ["title"], Mv = { 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]" }, Tv = { class: "relative w-full h-full" }, Fv = { style: { top: "17px", left: "230px", position: "absolute", "z-index": "1" } }, Iv = { class: "absolute top-4 left-4 z-20" }, jv = { class: "absolute top-[6.5rem] right-2 space-y-1 z-20" }, zv = { class: "absolute bottom-4 left-4 z-20" }, Nv = { class: "w-[650px] bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg" }, Ov = { class: "flex-1 flex flex-col h-full" }, Pv = { class: "px-3 pt-3 pb-2 border-b border-gray-100" }, Vv = { 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" }, Dv = ["aria-selected", "onClick"], Rv = { class: "leading-none" }, Bv = { class: "flex flex-col flex-1 overflow-y-hidden p-3" }, Uv = /* @__PURE__ */ se({
7310
+ }), Un = /* @__PURE__ */ fe(wv, [["__scopeId", "data-v-92671a57"]]), _v = { class: "flex h-screen bg-gradient-to-br from-slate-50 to-white" }, kv = { class: "flex-1 relative overflow-hidden" }, $v = { class: "absolute top-0 left-0 w-full z-20" }, Cv = { class: "flex items-center justify-between bg-white/80 backdrop-blur border-b border-gray-200 px-6 py-3 shadow-sm gap-4" }, Av = { class: "flex items-center gap-3" }, Lv = { class: "font-semibold text-lg text-gray-800 line-clamp-1" }, Sv = { class: "text-xs text-gray-500 truncate" }, Ev = ["title"], Mv = { 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]" }, Tv = { class: "relative w-full h-full" }, Fv = { style: { top: "17px", left: "230px", position: "absolute", "z-index": "1" } }, Iv = { class: "absolute top-4 left-4 z-20" }, jv = { class: "absolute top-[6.5rem] right-2 space-y-1 z-20" }, zv = { class: "absolute bottom-4 left-4 z-20" }, Nv = { class: "w-[650px] bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg" }, Ov = { class: "flex-1 flex flex-col h-full" }, Pv = { class: "px-3 pt-3 pb-2 border-b border-gray-100" }, Vv = { 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" }, Dv = ["aria-selected", "onClick"], Rv = { class: "leading-none" }, Bv = { class: "flex flex-col flex-1 overflow-y-hidden p-3" }, Uv = /* @__PURE__ */ se({
7311
7311
  __name: "service",
7312
7312
  setup(e) {
7313
7313
  var K, V;
@@ -7569,7 +7569,7 @@ const Rp = {
7569
7569
  ]);
7570
7570
  };
7571
7571
  }
7572
- }), vx = /* @__PURE__ */ fe(Uv, [["__scopeId", "data-v-6a1fd91f"]]), qv = { class: "flex-1 overflow-y-auto p-4 sm:p-6" }, Hv = { class: "space-y-6" }, Wv = { class: "bg-white p-6 rounded-xl border border-gray-200 shadow-sm" }, Yv = { class: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4" }, Zv = { class: "text-xs text-gray-500 mb-1" }, Kv = { class: "text-base font-semibold text-gray-900" }, Gv = { class: "bg-white p-6 rounded-xl border border-gray-200 shadow-sm" }, Xv = { class: "space-y-4" }, Jv = { class: "bg-gradient-to-br from-blue-50 to-blue-100/30 p-4 rounded-lg border border-blue-200" }, Qv = { class: "text-sm font-semibold text-gray-900" }, e0 = { class: "text-xs text-gray-600 mt-1" }, t0 = { class: "grid grid-cols-2 gap-3" }, n0 = { class: "text-xs text-gray-500 mb-1" }, o0 = { class: "text-sm font-semibold text-gray-900" }, l0 = { class: "bg-gray-50 p-4 rounded-lg" }, r0 = { class: "grid grid-cols-2 gap-4" }, s0 = { class: "text-xs text-gray-500 mb-1" }, i0 = { class: "text-sm font-semibold text-gray-900" }, a0 = { class: "bg-white p-6 rounded-xl border border-gray-200 shadow-sm" }, u0 = { class: "grid grid-cols-1 sm:grid-cols-2 gap-4" }, c0 = { class: "space-y-2" }, d0 = { class: "text-gray-600" }, f0 = { class: "font-semibold text-gray-900" }, p0 = { class: "bg-white p-6 rounded-xl border border-gray-200 shadow-sm" }, v0 = { class: "grid grid-cols-1 sm:grid-cols-2 gap-4" }, m0 = { class: "text-xs text-gray-500 mb-1" }, g0 = { class: "text-sm font-medium text-gray-900" }, h0 = /* @__PURE__ */ se({
7572
+ }), vx = /* @__PURE__ */ fe(Uv, [["__scopeId", "data-v-453aa0f6"]]), qv = { class: "flex-1 overflow-y-auto p-4 sm:p-6" }, Hv = { class: "space-y-6" }, Wv = { class: "bg-white p-6 rounded-xl border border-gray-200 shadow-sm" }, Yv = { class: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4" }, Zv = { class: "text-xs text-gray-500 mb-1" }, Kv = { class: "text-base font-semibold text-gray-900" }, Gv = { class: "bg-white p-6 rounded-xl border border-gray-200 shadow-sm" }, Xv = { class: "space-y-4" }, Jv = { class: "bg-gradient-to-br from-blue-50 to-blue-100/30 p-4 rounded-lg border border-blue-200" }, Qv = { class: "text-sm font-semibold text-gray-900" }, em = { class: "text-xs text-gray-600 mt-1" }, tm = { class: "grid grid-cols-2 gap-3" }, nm = { class: "text-xs text-gray-500 mb-1" }, om = { class: "text-sm font-semibold text-gray-900" }, lm = { class: "bg-gray-50 p-4 rounded-lg" }, rm = { class: "grid grid-cols-2 gap-4" }, sm = { class: "text-xs text-gray-500 mb-1" }, im = { class: "text-sm font-semibold text-gray-900" }, am = { class: "bg-white p-6 rounded-xl border border-gray-200 shadow-sm" }, um = { class: "grid grid-cols-1 sm:grid-cols-2 gap-4" }, cm = { class: "space-y-2" }, dm = { class: "text-gray-600" }, fm = { class: "font-semibold text-gray-900" }, pm = { class: "bg-white p-6 rounded-xl border border-gray-200 shadow-sm" }, vm = { class: "grid grid-cols-1 sm:grid-cols-2 gap-4" }, mm = { class: "text-xs text-gray-500 mb-1" }, gm = { class: "text-sm font-medium text-gray-900" }, hm = /* @__PURE__ */ se({
7573
7573
  __name: "raster-info-tab",
7574
7574
  props: {
7575
7575
  details: {}
@@ -7603,38 +7603,38 @@ const Rp = {
7603
7603
  n[1] || (n[1] = o("p", { class: "text-xs text-gray-500 mb-2" }, "Система координат", -1)),
7604
7604
  o("div", Jv, [
7605
7605
  o("p", Qv, R(e.details.spatial.crs.code), 1),
7606
- o("p", e0, R(e.details.spatial.crs.description), 1)
7606
+ o("p", em, R(e.details.spatial.crs.description), 1)
7607
7607
  ])
7608
7608
  ]),
7609
7609
  o("div", null, [
7610
7610
  n[2] || (n[2] = o("p", { class: "text-xs text-gray-500 mb-2" }, "Межі покриття", -1)),
7611
- o("div", t0, [
7611
+ o("div", tm, [
7612
7612
  (d(!0), x(G, null, oe(e.details.spatial.bounds, (l) => (d(), x("div", {
7613
7613
  key: l.label,
7614
7614
  class: "bg-gray-50 p-3 rounded-lg border border-gray-200"
7615
7615
  }, [
7616
- o("p", n0, R(l.label), 1),
7617
- o("p", o0, R(l.value), 1)
7616
+ o("p", nm, R(l.label), 1),
7617
+ o("p", om, R(l.value), 1)
7618
7618
  ]))), 128))
7619
7619
  ])
7620
7620
  ]),
7621
- o("div", l0, [
7622
- o("div", r0, [
7621
+ o("div", lm, [
7622
+ o("div", rm, [
7623
7623
  (d(!0), x(G, null, oe(e.details.spatial.resolution, (l) => (d(), x("div", {
7624
7624
  key: l.label
7625
7625
  }, [
7626
- o("p", s0, R(l.label), 1),
7627
- o("p", i0, R(l.value), 1)
7626
+ o("p", sm, R(l.label), 1),
7627
+ o("p", im, R(l.value), 1)
7628
7628
  ]))), 128))
7629
7629
  ])
7630
7630
  ])
7631
7631
  ])
7632
7632
  ]),
7633
- o("div", a0, [
7633
+ o("div", am, [
7634
7634
  n[4] || (n[4] = o("div", { class: "mb-4" }, [
7635
7635
  o("h4", { class: "text-sm font-semibold text-gray-900 uppercase tracking-wide" }, "Статистика даних")
7636
7636
  ], -1)),
7637
- o("div", u0, [
7637
+ o("div", um, [
7638
7638
  (d(!0), x(G, null, oe(e.details.statistics, (l) => (d(), x("div", {
7639
7639
  key: l.label,
7640
7640
  class: ve(["p-4 rounded-lg border", l.cardClass])
@@ -7642,48 +7642,48 @@ const Rp = {
7642
7642
  o("p", {
7643
7643
  class: ve(["text-xs font-medium mb-2", l.titleClass])
7644
7644
  }, R(l.label), 3),
7645
- o("div", c0, [
7645
+ o("div", cm, [
7646
7646
  (d(!0), x(G, null, oe(l.metrics, (r) => (d(), x("div", {
7647
7647
  class: "flex justify-between text-xs",
7648
7648
  key: r.label
7649
7649
  }, [
7650
- o("span", d0, R(r.label) + ":", 1),
7651
- o("span", f0, R(r.value), 1)
7650
+ o("span", dm, R(r.label) + ":", 1),
7651
+ o("span", fm, R(r.value), 1)
7652
7652
  ]))), 128))
7653
7653
  ])
7654
7654
  ], 2))), 128))
7655
7655
  ])
7656
7656
  ]),
7657
- o("div", p0, [
7657
+ o("div", pm, [
7658
7658
  n[5] || (n[5] = o("div", { class: "mb-4" }, [
7659
7659
  o("h4", { class: "text-sm font-semibold text-gray-900 uppercase tracking-wide" }, "Технічні деталі")
7660
7660
  ], -1)),
7661
- o("div", v0, [
7661
+ o("div", vm, [
7662
7662
  (d(!0), x(G, null, oe(e.details.technical, (l) => (d(), x("div", {
7663
7663
  key: l.label
7664
7664
  }, [
7665
- o("p", m0, R(l.label), 1),
7666
- o("p", g0, R(l.value), 1)
7665
+ o("p", mm, R(l.label), 1),
7666
+ o("p", gm, R(l.value), 1)
7667
7667
  ]))), 128))
7668
7668
  ])
7669
7669
  ])
7670
7670
  ])
7671
7671
  ]));
7672
7672
  }
7673
- }), y0 = { class: "flex-1 overflow-y-auto space-y-3 pr-1" }, x0 = { class: "font-medium text-sm text-gray-800" }, b0 = { class: "text-xs text-gray-500" }, w0 = /* @__PURE__ */ se({
7673
+ }), ym = { class: "flex-1 overflow-y-auto space-y-3 pr-1" }, xm = { class: "font-medium text-sm text-gray-800" }, bm = { class: "text-xs text-gray-500" }, wm = /* @__PURE__ */ se({
7674
7674
  __name: "raster-files-tab",
7675
7675
  props: {
7676
7676
  files: {}
7677
7677
  },
7678
7678
  setup(e) {
7679
- return (t, n) => (d(), x("div", y0, [
7679
+ return (t, n) => (d(), x("div", ym, [
7680
7680
  (d(!0), x(G, null, oe(e.files, (l) => (d(), x("div", {
7681
7681
  key: l.name,
7682
7682
  class: "border border-gray-100 rounded-xl p-4 shadow-sm bg-white flex items-start justify-between"
7683
7683
  }, [
7684
7684
  o("div", null, [
7685
- o("p", x0, R(l.name), 1),
7686
- o("p", b0, R(l.resolution) + " • " + R(l.size), 1)
7685
+ o("p", xm, R(l.name), 1),
7686
+ o("p", bm, R(l.resolution) + " • " + R(l.size), 1)
7687
7687
  ]),
7688
7688
  o("span", {
7689
7689
  class: ve(["text-[11px] font-semibold px-2 py-0.5 rounded-full", l.statusClass])
@@ -7691,7 +7691,7 @@ const Rp = {
7691
7691
  ]))), 128))
7692
7692
  ]));
7693
7693
  }
7694
- }), _0 = {}, k0 = {
7694
+ }), _m = {}, km = {
7695
7695
  xmlns: "http://www.w3.org/2000/svg",
7696
7696
  width: "12px",
7697
7697
  height: "24",
@@ -7702,8 +7702,8 @@ const Rp = {
7702
7702
  "stroke-linecap": "round",
7703
7703
  "stroke-linejoin": "round"
7704
7704
  };
7705
- function $0(e, t) {
7706
- return d(), x("svg", k0, [...t[0] || (t[0] = [
7705
+ function $m(e, t) {
7706
+ return d(), x("svg", km, [...t[0] || (t[0] = [
7707
7707
  o("path", {
7708
7708
  d: "M20,16v4a2,2,0,0,1-2,2H4a2,2,0,0,1-2-2V6A2,2,0,0,1,4,4H8",
7709
7709
  fill: "none",
@@ -7722,7 +7722,7 @@ function $0(e, t) {
7722
7722
  }, null, -1)
7723
7723
  ])]);
7724
7724
  }
7725
- const C0 = /* @__PURE__ */ fe(_0, [["render", $0]]), A0 = {}, L0 = {
7725
+ const Cm = /* @__PURE__ */ fe(_m, [["render", $m]]), Am = {}, Lm = {
7726
7726
  xmlns: "http://www.w3.org/2000/svg",
7727
7727
  width: "24",
7728
7728
  height: "24",
@@ -7733,8 +7733,8 @@ const C0 = /* @__PURE__ */ fe(_0, [["render", $0]]), A0 = {}, L0 = {
7733
7733
  "stroke-linecap": "round",
7734
7734
  "stroke-linejoin": "round"
7735
7735
  };
7736
- function S0(e, t) {
7737
- return d(), x("svg", L0, [...t[0] || (t[0] = [
7736
+ function Sm(e, t) {
7737
+ return d(), x("svg", Lm, [...t[0] || (t[0] = [
7738
7738
  o("circle", {
7739
7739
  cx: "12",
7740
7740
  cy: "12",
@@ -7749,12 +7749,12 @@ function S0(e, t) {
7749
7749
  o("path", { d: "M11 12h1v4h1" }, null, -1)
7750
7750
  ])]);
7751
7751
  }
7752
- const E0 = /* @__PURE__ */ fe(A0, [["render", S0]]), M0 = { class: "flex h-screen bg-gradient-to-br from-slate-50 to-white" }, T0 = { class: "flex-1 relative overflow-hidden" }, F0 = { class: "absolute top-0 left-0 w-full z-20" }, I0 = { class: "flex items-center justify-between bg-white/80 backdrop-blur border-b border-gray-200 px-6 py-3 shadow-sm gap-4" }, j0 = { class: "flex items-center gap-3" }, z0 = { class: "font-semibold text-lg text-gray-800 line-clamp-1" }, N0 = { class: "text-xs text-gray-500 truncate" }, O0 = ["title"], P0 = { 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]" }, V0 = { class: "relative w-full h-full" }, D0 = { class: "absolute top-4 left-4 z-20" }, R0 = { class: "absolute bottom-4 left-4 z-20" }, B0 = { class: "w-[520px] bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg" }, U0 = { class: "flex-1 flex flex-col h-full" }, q0 = { class: "px-3 pt-3 pb-2 border-b border-gray-100" }, H0 = { class: "items-center justify-center text-muted-foreground grid w-full grid-cols-2 h-12 p-1 bg-gray-50 rounded-xl shadow-sm" }, W0 = ["aria-selected", "onClick"], Y0 = { class: "leading-none" }, Z0 = { class: "flex flex-col flex-1 overflow-y-hidden p-4" }, K0 = "3600301717964457703", mx = /* @__PURE__ */ se({
7752
+ const Em = /* @__PURE__ */ fe(Am, [["render", Sm]]), Mm = { class: "flex h-screen bg-gradient-to-br from-slate-50 to-white" }, Tm = { class: "flex-1 relative overflow-hidden" }, Fm = { class: "absolute top-0 left-0 w-full z-20" }, Im = { class: "flex items-center justify-between bg-white/80 backdrop-blur border-b border-gray-200 px-6 py-3 shadow-sm gap-4" }, jm = { class: "flex items-center gap-3" }, zm = { class: "font-semibold text-lg text-gray-800 line-clamp-1" }, Nm = { class: "text-xs text-gray-500 truncate" }, Om = ["title"], Pm = { 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]" }, Vm = { class: "relative w-full h-full" }, Dm = { class: "absolute top-4 left-4 z-20" }, Rm = { class: "absolute bottom-4 left-4 z-20" }, Bm = { class: "w-[520px] bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg" }, Um = { class: "flex-1 flex flex-col h-full" }, qm = { class: "px-3 pt-3 pb-2 border-b border-gray-100" }, Hm = { class: "items-center justify-center text-muted-foreground grid w-full grid-cols-2 h-12 p-1 bg-gray-50 rounded-xl shadow-sm" }, Wm = ["aria-selected", "onClick"], Ym = { class: "leading-none" }, Zm = { class: "flex flex-col flex-1 overflow-y-hidden p-4" }, Km = "3600301717964457703", mx = /* @__PURE__ */ se({
7753
7753
  __name: "raster",
7754
7754
  setup(e) {
7755
7755
  const t = it(), n = st(), l = D(() => {
7756
7756
  var u;
7757
- return ((u = n.params) == null ? void 0 : u.id) || K0;
7757
+ return ((u = n.params) == null ? void 0 : u.id) || Km;
7758
7758
  }), r = D(() => ({
7759
7759
  id: l.value,
7760
7760
  name: "Фрагмент растра 30 см",
@@ -7764,8 +7764,8 @@ const E0 = /* @__PURE__ */ fe(A0, [["render", S0]]), M0 = { class: "flex h-scree
7764
7764
  source: "ДП «Центр ДЗК»",
7765
7765
  updatedAt: "14 травня 2024"
7766
7766
  })), s = [
7767
- { key: "files", label: "Файли", icon: C0 },
7768
- { key: "info", label: "Інформація", icon: E0 }
7767
+ { key: "files", label: "Файли", icon: Cm },
7768
+ { key: "info", label: "Інформація", icon: Em }
7769
7769
  ], i = s.map((u) => u.key), a = P(i.includes(n.query.tab) ? n.query.tab : "files");
7770
7770
  X(() => n.query.tab, (u) => {
7771
7771
  u && i.includes(u) && a.value !== u && (a.value = u);
@@ -7870,11 +7870,11 @@ const E0 = /* @__PURE__ */ fe(A0, [["render", S0]]), M0 = { class: "flex h-scree
7870
7870
  { label: "Оверв'ю", value: "4 рівні" }
7871
7871
  ]
7872
7872
  }));
7873
- return (u, p) => (d(), x("div", M0, [
7874
- o("div", T0, [
7875
- o("div", F0, [
7876
- o("div", I0, [
7877
- o("div", j0, [
7873
+ return (u, p) => (d(), x("div", Mm, [
7874
+ o("div", Tm, [
7875
+ o("div", Fm, [
7876
+ o("div", Im, [
7877
+ o("div", jm, [
7878
7878
  o("button", {
7879
7879
  type: "button",
7880
7880
  onClick: p[0] || (p[0] = (f) => ee(t).back()),
@@ -7897,24 +7897,24 @@ const E0 = /* @__PURE__ */ fe(A0, [["render", S0]]), M0 = { class: "flex h-scree
7897
7897
  he(" Назад ", -1)
7898
7898
  ])]),
7899
7899
  o("div", null, [
7900
- o("div", z0, R(r.value.name), 1),
7901
- o("div", N0, " Растер ID: " + R(r.value.id), 1)
7900
+ o("div", zm, R(r.value.name), 1),
7901
+ o("div", Nm, " Растер ID: " + R(r.value.id), 1)
7902
7902
  ])
7903
7903
  ]),
7904
7904
  o("div", {
7905
7905
  class: "max-w-xl text-xs text-gray-600 truncate",
7906
7906
  title: r.value.description
7907
- }, R(r.value.description), 9, O0)
7907
+ }, R(r.value.description), 9, Om)
7908
7908
  ])
7909
7909
  ]),
7910
- o("div", P0, [
7911
- o("div", V0, [
7910
+ o("div", Pm, [
7911
+ o("div", Vm, [
7912
7912
  Q(xn, null, {
7913
7913
  default: Me(() => [
7914
- o("div", D0, [
7914
+ o("div", Dm, [
7915
7915
  Q(en)
7916
7916
  ]),
7917
- o("div", R0, [
7917
+ o("div", Rm, [
7918
7918
  Q(tn, { items: m })
7919
7919
  ])
7920
7920
  ]),
@@ -7923,10 +7923,10 @@ const E0 = /* @__PURE__ */ fe(A0, [["render", S0]]), M0 = { class: "flex h-scree
7923
7923
  ])
7924
7924
  ])
7925
7925
  ]),
7926
- o("div", B0, [
7927
- o("div", U0, [
7928
- o("div", q0, [
7929
- o("div", H0, [
7926
+ o("div", Bm, [
7927
+ o("div", Um, [
7928
+ o("div", qm, [
7929
+ o("div", Hm, [
7930
7930
  (d(), x(G, null, oe(s, (f) => o("button", {
7931
7931
  key: f.key,
7932
7932
  type: "button",
@@ -7936,15 +7936,15 @@ const E0 = /* @__PURE__ */ fe(A0, [["render", S0]]), M0 = { class: "flex h-scree
7936
7936
  onClick: (v) => a.value = f.key
7937
7937
  }, [
7938
7938
  (d(), te(Ct(f.icon), { class: "h-3.5 w-3.5 mb-0.5" })),
7939
- o("span", Y0, R(f.label), 1)
7940
- ], 10, W0)), 64))
7939
+ o("span", Ym, R(f.label), 1)
7940
+ ], 10, Wm)), 64))
7941
7941
  ])
7942
7942
  ]),
7943
- o("div", Z0, [
7944
- a.value === "files" ? (d(), te(w0, {
7943
+ o("div", Zm, [
7944
+ a.value === "files" ? (d(), te(wm, {
7945
7945
  key: 0,
7946
7946
  files: h.value
7947
- }, null, 8, ["files"])) : (d(), te(h0, {
7947
+ }, null, 8, ["files"])) : (d(), te(hm, {
7948
7948
  key: 1,
7949
7949
  details: w.value
7950
7950
  }, null, 8, ["details"]))
@@ -7953,7 +7953,7 @@ const E0 = /* @__PURE__ */ fe(A0, [["render", S0]]), M0 = { class: "flex h-scree
7953
7953
  ])
7954
7954
  ]));
7955
7955
  }
7956
- }), G0 = {}, X0 = {
7956
+ }), Gm = {}, Xm = {
7957
7957
  xmlns: "http://www.w3.org/2000/svg",
7958
7958
  width: "24",
7959
7959
  height: "24",
@@ -7965,8 +7965,8 @@ const E0 = /* @__PURE__ */ fe(A0, [["render", S0]]), M0 = { class: "flex h-scree
7965
7965
  "stroke-linejoin": "round",
7966
7966
  class: "lucide lucide-table"
7967
7967
  };
7968
- function J0(e, t) {
7969
- return d(), x("svg", X0, [...t[0] || (t[0] = [
7968
+ function Jm(e, t) {
7969
+ return d(), x("svg", Xm, [...t[0] || (t[0] = [
7970
7970
  o("path", { d: "M12 3v18" }, null, -1),
7971
7971
  o("rect", {
7972
7972
  width: "18",
@@ -7979,7 +7979,7 @@ function J0(e, t) {
7979
7979
  o("path", { d: "M3 15h18" }, null, -1)
7980
7980
  ])]);
7981
7981
  }
7982
- const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-col h-full" }, tm = { class: "flex justify-end mb-3 gap-2" }, nm = /* @__PURE__ */ se({
7982
+ const Qm = /* @__PURE__ */ fe(Gm, [["render", Jm]]), e0 = { class: "flex flex-col h-full" }, t0 = { class: "flex justify-end mb-3 gap-2" }, n0 = /* @__PURE__ */ se({
7983
7983
  __name: "cartocss-css-tab",
7984
7984
  props: {
7985
7985
  modelValue: {}
@@ -7990,8 +7990,8 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
7990
7990
  get: () => n.modelValue,
7991
7991
  set: (s) => l("update:modelValue", s)
7992
7992
  });
7993
- return (s, i) => (d(), x("div", em, [
7994
- o("div", tm, [
7993
+ return (s, i) => (d(), x("div", e0, [
7994
+ o("div", t0, [
7995
7995
  o("button", {
7996
7996
  type: "button",
7997
7997
  class: "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium bg-gradient-to-r from-sky-400 to-blue-400 hover:from-sky-500 hover:to-blue-500 text-white shadow-sm px-4 py-2 h-9 text-xs transition-all duration-300",
@@ -8024,7 +8024,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8024
8024
  }, null, 8, ["modelValue"])
8025
8025
  ]));
8026
8026
  }
8027
- }), om = { class: "flex flex-col flex-1 min-h-0" }, lm = { class: "flex justify-between mb-3 gap-2" }, rm = { class: "text-left" }, sm = { class: "font-medium text-gray-900" }, im = { class: "text-xs text-gray-500" }, am = { class: "flex justify-center gap-2" }, um = ["checked", "onChange"], cm = { class: "text-sm font-medium text-gray-900" }, dm = /* @__PURE__ */ se({
8027
+ }), o0 = { class: "flex flex-col flex-1 min-h-0" }, l0 = { class: "flex justify-between mb-3 gap-2" }, r0 = { class: "text-left" }, s0 = { class: "font-medium text-gray-900" }, i0 = { class: "text-xs text-gray-500" }, a0 = { class: "flex justify-center gap-2" }, u0 = ["checked", "onChange"], c0 = { class: "text-sm font-medium text-gray-900" }, d0 = /* @__PURE__ */ se({
8028
8028
  __name: "cartocss-data-tab",
8029
8029
  props: {
8030
8030
  modelValue: { default: [] },
@@ -8070,8 +8070,8 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8070
8070
  const c = ((b = y == null ? void 0 : y.target) == null ? void 0 : b.checked) ?? !1;
8071
8071
  g.active = c, i.value = Array.isArray(i.value) ? [...i.value] : [];
8072
8072
  }
8073
- return (g, y) => (d(), x("div", om, [
8074
- o("div", lm, [
8073
+ return (g, y) => (d(), x("div", o0, [
8074
+ o("div", l0, [
8075
8075
  o("button", {
8076
8076
  type: "button",
8077
8077
  class: "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium bg-gradient-to-r from-gray-500 to-gray-400 text-white h-9 px-4 py-2 hover:from-gray-600 hover:to-gray-500",
@@ -8092,23 +8092,23 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8092
8092
  "main-col-width": "260px"
8093
8093
  }, {
8094
8094
  datasetCell: Me(({ row: c }) => [
8095
- o("div", rm, [
8096
- o("div", sm, R(c.table), 1),
8097
- o("div", im, R(c.caption), 1)
8095
+ o("div", r0, [
8096
+ o("div", s0, R(c.table), 1),
8097
+ o("div", i0, R(c.caption), 1)
8098
8098
  ])
8099
8099
  ]),
8100
8100
  activeCell: Me(({ row: c }) => [
8101
- o("label", am, [
8101
+ o("label", a0, [
8102
8102
  o("input", {
8103
8103
  type: "checkbox",
8104
8104
  class: "h-4 w-4 text-sky-500 border-gray-300 rounded focus:ring-sky-300",
8105
8105
  checked: c.active,
8106
8106
  onChange: (b) => v(c, b)
8107
- }, null, 40, um)
8107
+ }, null, 40, u0)
8108
8108
  ])
8109
8109
  ]),
8110
8110
  zoomCell: Me(({ row: c }) => [
8111
- o("div", cm, R(c.zoom), 1)
8111
+ o("div", c0, R(c.zoom), 1)
8112
8112
  ]),
8113
8113
  _: 1
8114
8114
  }, 8, ["modelValue"]),
@@ -8143,10 +8143,10 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8143
8143
  }, 8, ["visible"])
8144
8144
  ]));
8145
8145
  }
8146
- }), fm = { class: "flex h-screen bg-gradient-to-br from-slate-50 to-white" }, pm = { class: "flex-1 relative overflow-hidden" }, vm = { class: "absolute top-0 left-0 w-full z-20" }, mm = { class: "flex items-center justify-between bg-white/80 backdrop-blur border-b border-gray-200 px-6 py-3 shadow-sm gap-4" }, gm = { class: "flex items-center gap-3" }, hm = { class: "font-semibold text-lg text-gray-800 line-clamp-1" }, ym = { class: "text-xs text-gray-500 truncate" }, xm = ["title"], bm = { 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]" }, wm = { class: "relative w-full h-full" }, _m = { class: "absolute top-4 left-4 z-20" }, km = { class: "absolute bottom-4 left-4 z-20" }, $m = { class: "w-[650px] bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg" }, Cm = { class: "flex-1 flex flex-col h-full" }, Am = { class: "px-3 pt-3 pb-2 border-b border-gray-100" }, Lm = { class: "items-center justify-center text-muted-foreground grid w-full grid-cols-2 h-12 p-1 bg-gray-50 rounded-xl shadow-sm" }, Sm = ["aria-selected", "onClick"], Em = { class: "leading-none" }, Mm = { class: "flex flex-col flex-1 overflow-y-hidden p-4" }, Tm = {
8146
+ }), f0 = { class: "flex h-screen bg-gradient-to-br from-slate-50 to-white" }, p0 = { class: "flex-1 relative overflow-hidden" }, v0 = { class: "absolute top-0 left-0 w-full z-20" }, m0 = { class: "flex items-center justify-between bg-white/80 backdrop-blur border-b border-gray-200 px-6 py-3 shadow-sm gap-4" }, g0 = { class: "flex items-center gap-3" }, h0 = { class: "font-semibold text-lg text-gray-800 line-clamp-1" }, y0 = { class: "text-xs text-gray-500 truncate" }, x0 = ["title"], b0 = { 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]" }, w0 = { class: "relative w-full h-full" }, _0 = { class: "absolute top-4 left-4 z-20" }, k0 = { class: "absolute bottom-4 left-4 z-20" }, $0 = { class: "w-[650px] bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg" }, C0 = { class: "flex-1 flex flex-col h-full" }, A0 = { class: "px-3 pt-3 pb-2 border-b border-gray-100" }, L0 = { class: "items-center justify-center text-muted-foreground grid w-full grid-cols-2 h-12 p-1 bg-gray-50 rounded-xl shadow-sm" }, S0 = ["aria-selected", "onClick"], E0 = { class: "leading-none" }, M0 = { class: "flex flex-col flex-1 overflow-y-hidden p-4" }, T0 = {
8147
8147
  key: 0,
8148
8148
  class: "flex-1 flex items-center justify-center text-sm text-gray-500"
8149
- }, Fm = "cartocss-demo-001", gx = /* @__PURE__ */ se({
8149
+ }, F0 = "cartocss-demo-001", gx = /* @__PURE__ */ se({
8150
8150
  __name: "cartocss",
8151
8151
  setup(e) {
8152
8152
  const t = it(), n = st(), l = [
@@ -8155,8 +8155,8 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8155
8155
  { label: "Фон", color: "#0ea5e9" }
8156
8156
  ], r = [
8157
8157
  { key: "css", label: "CSS", icon: Wl },
8158
- { key: "data", label: "Дані", icon: Q0 }
8159
- ], s = r.map((c) => c.key), i = P(s.includes(n.query.tab) ? n.query.tab : "css"), a = D(() => n.params.id || Fm), m = P({
8158
+ { key: "data", label: "Дані", icon: Qm }
8159
+ ], s = r.map((c) => c.key), i = P(s.includes(n.query.tab) ? n.query.tab : "css"), a = D(() => n.params.id || F0), m = P({
8160
8160
  id: a.value,
8161
8161
  name: "",
8162
8162
  description: ""
@@ -8231,11 +8231,11 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8231
8231
  }
8232
8232
  }
8233
8233
  }
8234
- return (c, b) => (d(), x("div", fm, [
8235
- o("div", pm, [
8236
- o("div", vm, [
8237
- o("div", mm, [
8238
- o("div", gm, [
8234
+ return (c, b) => (d(), x("div", f0, [
8235
+ o("div", p0, [
8236
+ o("div", v0, [
8237
+ o("div", m0, [
8238
+ o("div", g0, [
8239
8239
  o("button", {
8240
8240
  type: "button",
8241
8241
  onClick: b[0] || (b[0] = (S) => ee(t).back()),
@@ -8258,24 +8258,24 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8258
8258
  he(" Назад ", -1)
8259
8259
  ])]),
8260
8260
  o("div", null, [
8261
- o("div", hm, R(m.value.name), 1),
8262
- o("div", ym, " CartoCSS ID: " + R(m.value.id), 1)
8261
+ o("div", h0, R(m.value.name), 1),
8262
+ o("div", y0, " CartoCSS ID: " + R(m.value.id), 1)
8263
8263
  ])
8264
8264
  ]),
8265
8265
  o("div", {
8266
8266
  class: "max-w-xl text-xs text-gray-600 truncate",
8267
8267
  title: m.value.description
8268
- }, R(m.value.description), 9, xm)
8268
+ }, R(m.value.description), 9, x0)
8269
8269
  ])
8270
8270
  ]),
8271
- o("div", bm, [
8272
- o("div", wm, [
8271
+ o("div", b0, [
8272
+ o("div", w0, [
8273
8273
  Q(xn, null, {
8274
8274
  default: Me(() => [
8275
- o("div", _m, [
8275
+ o("div", _0, [
8276
8276
  Q(en)
8277
8277
  ]),
8278
- o("div", km, [
8278
+ o("div", k0, [
8279
8279
  Q(tn, { items: l })
8280
8280
  ])
8281
8281
  ]),
@@ -8284,10 +8284,10 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8284
8284
  ])
8285
8285
  ])
8286
8286
  ]),
8287
- o("div", $m, [
8288
- o("div", Cm, [
8289
- o("div", Am, [
8290
- o("div", Lm, [
8287
+ o("div", $0, [
8288
+ o("div", C0, [
8289
+ o("div", A0, [
8290
+ o("div", L0, [
8291
8291
  (d(), x(G, null, oe(r, (S) => o("button", {
8292
8292
  key: S.key,
8293
8293
  type: "button",
@@ -8297,19 +8297,19 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8297
8297
  onClick: (O) => i.value = S.key
8298
8298
  }, [
8299
8299
  (d(), te(Ct(S.icon), { class: "h-3.5 w-3.5 mb-0.5" })),
8300
- o("span", Em, R(S.label), 1)
8301
- ], 10, Sm)), 64))
8300
+ o("span", E0, R(S.label), 1)
8301
+ ], 10, S0)), 64))
8302
8302
  ])
8303
8303
  ]),
8304
- o("div", Mm, [
8305
- u.value ? (d(), x("div", Tm, " Завантаження стилю… ")) : (d(), x(G, { key: 1 }, [
8306
- i.value === "css" ? (d(), te(nm, {
8304
+ o("div", M0, [
8305
+ u.value ? (d(), x("div", T0, " Завантаження стилю… ")) : (d(), x(G, { key: 1 }, [
8306
+ i.value === "css" ? (d(), te(n0, {
8307
8307
  key: 0,
8308
8308
  modelValue: h.value,
8309
8309
  "onUpdate:modelValue": b[1] || (b[1] = (S) => h.value = S),
8310
8310
  class: "flex-1 min-h-0",
8311
8311
  onSave: y
8312
- }, null, 8, ["modelValue"])) : (d(), te(dm, {
8312
+ }, null, 8, ["modelValue"])) : (d(), te(d0, {
8313
8313
  key: 1,
8314
8314
  modelValue: w.value,
8315
8315
  "onUpdate:modelValue": b[2] || (b[2] = (S) => w.value = S),
@@ -8322,7 +8322,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8322
8322
  ])
8323
8323
  ]));
8324
8324
  }
8325
- }), Im = { class: "w-full mb-6" }, jm = { class: "flex items-center w-full h-10 max-w-md p-1 bg-white border border-gray-200 rounded-md" }, zm = ["onClick"], Nm = /* @__PURE__ */ se({
8325
+ }), I0 = { class: "w-full mb-6" }, j0 = { class: "flex items-center w-full h-10 max-w-md p-1 bg-white border border-gray-200 rounded-md" }, z0 = ["onClick"], N0 = /* @__PURE__ */ se({
8326
8326
  __name: "MapSettingsTabs",
8327
8327
  props: {
8328
8328
  tabs: {},
@@ -8333,8 +8333,8 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8333
8333
  const n = t, l = (r) => {
8334
8334
  n("update:activeTab", r);
8335
8335
  };
8336
- return (r, s) => (d(), x("div", Im, [
8337
- o("div", jm, [
8336
+ return (r, s) => (d(), x("div", I0, [
8337
+ o("div", j0, [
8338
8338
  (d(!0), x(G, null, oe(e.tabs, (i) => (d(), x("button", {
8339
8339
  key: i.id,
8340
8340
  onClick: (a) => l(i.id),
@@ -8342,11 +8342,11 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8342
8342
  "inline-flex flex-1 items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium transition-all",
8343
8343
  i.id === e.activeTab ? "bg-blue-50 text-blue-700" : "text-gray-600 hover:bg-gray-50"
8344
8344
  ])
8345
- }, R(i.name), 11, zm))), 128))
8345
+ }, R(i.name), 11, z0))), 128))
8346
8346
  ])
8347
8347
  ]));
8348
8348
  }
8349
- }), Om = { class: "rounded-lg border border-gray-200 bg-gray-50 p-6" }, Pm = /* @__PURE__ */ se({
8349
+ }), O0 = { class: "rounded-lg border border-gray-200 bg-gray-50 p-6" }, P0 = /* @__PURE__ */ se({
8350
8350
  __name: "GeneralSettings",
8351
8351
  props: {
8352
8352
  schema: {},
@@ -8363,7 +8363,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8363
8363
  get: () => l.form,
8364
8364
  set: (a) => r("update:form", a)
8365
8365
  });
8366
- return (a, m) => (d(), x("section", Om, [
8366
+ return (a, m) => (d(), x("section", O0, [
8367
8367
  m[2] || (m[2] = o("h2", { class: "text-lg font-semibold text-gray-800 mb-4" }, " Основна інформація ", -1)),
8368
8368
  e.loading ? Z("", !0) : (d(), te(ee(n), {
8369
8369
  key: 0,
@@ -8375,7 +8375,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8375
8375
  }, null, 8, ["schema", "values", "form"]))
8376
8376
  ]));
8377
8377
  }
8378
- }), Vm = { class: "rounded-lg border border-gray-200 bg-gray-50 p-6" }, Dm = /* @__PURE__ */ se({
8378
+ }), V0 = { class: "rounded-lg border border-gray-200 bg-gray-50 p-6" }, D0 = /* @__PURE__ */ se({
8379
8379
  __name: "LayerSettings",
8380
8380
  props: {
8381
8381
  layerIDs: {},
@@ -8391,7 +8391,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8391
8391
  return D({
8392
8392
  get: () => n.layerNames,
8393
8393
  set: (s) => l("update:layerNames", s)
8394
- }), (s, i) => (d(), x("section", Vm, [
8394
+ }), (s, i) => (d(), x("section", V0, [
8395
8395
  i[1] || (i[1] = o("h2", { class: "text-lg font-semibold text-gray-800 mb-4" }, "Шари", -1)),
8396
8396
  i[2] || (i[2] = o("label", { class: "block text-sm font-medium text-gray-700 mb-2" }, "Доступні шари", -1)),
8397
8397
  Q(ee(_r), {
@@ -8402,7 +8402,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8402
8402
  }, null, 8, ["options", "modelValue"])
8403
8403
  ]));
8404
8404
  }
8405
- }), Rm = { class: "mapLayer-info__inner" }, Bm = { class: "mapLayer-info__item-label" }, Um = /* @__PURE__ */ se({
8405
+ }), R0 = { class: "mapLayer-info__inner" }, B0 = { class: "mapLayer-info__item-label" }, U0 = /* @__PURE__ */ se({
8406
8406
  __name: "MapLayerInfoPopover",
8407
8407
  props: {
8408
8408
  items: {}
@@ -8483,7 +8483,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8483
8483
  href: "#",
8484
8484
  onClick: Oe(m, ["prevent", "stop"])
8485
8485
  }, [...y[1] || (y[1] = [
8486
- Ft('<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)
8486
+ Ft('<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)
8487
8487
  ])]),
8488
8488
  (d(), te(dt, { to: "body" }, [
8489
8489
  l.open ? (d(), x("div", {
@@ -8495,12 +8495,12 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8495
8495
  onClick: y[0] || (y[0] = Oe(() => {
8496
8496
  }, ["stop"]))
8497
8497
  }, [
8498
- o("div", Rm, [
8498
+ o("div", R0, [
8499
8499
  (d(!0), x(G, null, oe(e.items, (c) => (d(), x("div", {
8500
8500
  key: c.label,
8501
8501
  class: "mapLayer-info__item"
8502
8502
  }, [
8503
- o("div", Bm, R(c.label), 1),
8503
+ o("div", B0, R(c.label), 1),
8504
8504
  o("div", {
8505
8505
  class: ve(["mapLayer-info__item-value", { "mapLayer-info__item-value--break-all": c.breakLine }])
8506
8506
  }, R(c.value ?? "—"), 3)
@@ -8510,13 +8510,13 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8510
8510
  ]))
8511
8511
  ], 512));
8512
8512
  }
8513
- }), Qn = /* @__PURE__ */ fe(Um, [["__scopeId", "data-v-5688d192"]]), qm = {
8513
+ }), Qn = /* @__PURE__ */ fe(U0, [["__scopeId", "data-v-cc1cc7bf"]]), q0 = {
8514
8514
  key: 0,
8515
8515
  class: "map-info__title"
8516
- }, Hm = { class: "map-info__actions" }, Wm = {
8516
+ }, H0 = { class: "map-info__actions" }, W0 = {
8517
8517
  key: 0,
8518
8518
  class: "map-info__menu"
8519
- }, Ym = ["onClick"], Zm = ["innerHTML"], Km = /* @__PURE__ */ se({
8519
+ }, Y0 = ["onClick"], Z0 = ["innerHTML"], K0 = /* @__PURE__ */ se({
8520
8520
  __name: "MapInfoWidget",
8521
8521
  props: {
8522
8522
  title: {},
@@ -8585,9 +8585,9 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8585
8585
  class: "map-info__header",
8586
8586
  style: De([e.content ? "" : "padding-bottom: 20px"])
8587
8587
  }, [
8588
- e.title ? (d(), x("h2", qm, R(e.title), 1)) : Z("", !0),
8589
- o("div", Hm, [
8590
- w.value.length ? (d(), x("div", Wm, [
8588
+ e.title ? (d(), x("h2", q0, R(e.title), 1)) : Z("", !0),
8589
+ o("div", H0, [
8590
+ w.value.length ? (d(), x("div", W0, [
8591
8591
  o("button", {
8592
8592
  ref_key: "menuButton",
8593
8593
  ref: r,
@@ -8638,7 +8638,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8638
8638
  type: "button",
8639
8639
  class: "map-info__popover-link",
8640
8640
  onClick: (C) => y(U.slug)
8641
- }, R(U.name), 9, Ym))), 128))
8641
+ }, R(U.name), 9, Y0))), 128))
8642
8642
  ], 4)) : Z("", !0)
8643
8643
  ]))
8644
8644
  ])) : Z("", !0),
@@ -8676,10 +8676,10 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8676
8676
  key: 1,
8677
8677
  class: ve(["map-info__content", { "map-info__content--collapsed": h.value && !m.value }]),
8678
8678
  innerHTML: e.content
8679
- }, null, 10, Zm)) : Z("", !0)
8679
+ }, null, 10, Z0)) : Z("", !0)
8680
8680
  ], 512));
8681
8681
  }
8682
- }), Ro = /* @__PURE__ */ fe(Km, [["__scopeId", "data-v-d8c9a613"]]), Gm = { class: "opacity-popover__content" }, Xm = { class: "opacity-popover__value" }, Jm = /* @__PURE__ */ se({
8682
+ }), Ro = /* @__PURE__ */ fe(K0, [["__scopeId", "data-v-b7a90727"]]), G0 = { class: "opacity-popover__content" }, X0 = { class: "opacity-popover__value" }, J0 = /* @__PURE__ */ se({
8683
8683
  __name: "LayerOpacityPopover",
8684
8684
  props: {
8685
8685
  layerId: {}
@@ -8757,7 +8757,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8757
8757
  class: "opacity-popover",
8758
8758
  style: De({ top: i.top + "px", left: i.left + "px" })
8759
8759
  }, [
8760
- o("div", Gm, [
8760
+ o("div", G0, [
8761
8761
  p[1] || (p[1] = o("label", { class: "opacity-popover__label" }, "Прозорість:", -1)),
8762
8762
  Te(o("input", {
8763
8763
  type: "range",
@@ -8770,13 +8770,13 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8770
8770
  }, null, 544), [
8771
8771
  [bt, l.value]
8772
8772
  ]),
8773
- o("span", Xm, R(l.value) + "%", 1)
8773
+ o("span", X0, R(l.value) + "%", 1)
8774
8774
  ])
8775
8775
  ], 4)) : Z("", !0)
8776
8776
  ]))
8777
8777
  ], 512));
8778
8778
  }
8779
- }), Jl = /* @__PURE__ */ fe(Jm, [["__scopeId", "data-v-0f5e9595"]]), Qm = { class: "layers-panel" }, eg = { class: "layers-panel__header" }, tg = { class: "layers-panel__heading" }, ng = { class: "layers-panel__title" }, og = {
8779
+ }), Jl = /* @__PURE__ */ fe(J0, [["__scopeId", "data-v-b278347a"]]), Q0 = { class: "layers-panel" }, eg = { class: "layers-panel__header" }, tg = { class: "layers-panel__heading" }, ng = { class: "layers-panel__title" }, og = {
8780
8780
  key: 0,
8781
8781
  class: "layers-panel__description"
8782
8782
  }, lg = { class: "layers-panel__header-actions" }, rg = { class: "layers-panel__label" }, sg = { class: "layers-panel__label-row" }, ig = ["checked", "onChange"], ag = { class: "layers-panel__title-block" }, ug = ["aria-label"], cg = { class: "layers-panel__name" }, dg = { class: "layers-panel__meta text-slate-500" }, fg = ["onClick"], pg = { class: "inline-flex items-center justify-center w-[18px] h-[18px] text-slate-500 transition-colors duration-200 hover:text-blue-700" }, vg = {
@@ -8988,7 +8988,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
8988
8988
  }), (V, F) => {
8989
8989
  var T, N;
8990
8990
  const _ = Ko("tooltip");
8991
- return d(), x("div", Qm, [
8991
+ return d(), x("div", Q0, [
8992
8992
  o("div", eg, [
8993
8993
  o("div", tg, [
8994
8994
  o("h2", ng, R(((T = e.config) == null ? void 0 : T.title) || "Шари"), 1),
@@ -9107,7 +9107,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
9107
9107
  ]);
9108
9108
  };
9109
9109
  }
9110
- }), Uo = /* @__PURE__ */ fe(gg, [["__scopeId", "data-v-b69f6110"]]), hg = { class: "catalog-tab__search relative mt-[10px]" }, yg = {
9110
+ }), Uo = /* @__PURE__ */ fe(gg, [["__scopeId", "data-v-2724c3c9"]]), hg = { class: "catalog-tab__search relative mt-[10px]" }, yg = {
9111
9111
  width: "24",
9112
9112
  height: "24",
9113
9113
  viewBox: "0 0 24 24",
@@ -9308,7 +9308,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
9308
9308
  ]))
9309
9309
  ], 512));
9310
9310
  }
9311
- }), Mg = /* @__PURE__ */ fe(Eg, [["__scopeId", "data-v-7d3953c5"]]), Tg = { class: "flex flex-col gap-0" }, Fg = { class: "text-xs text-slate-600 font-semibold" }, Ig = /* @__PURE__ */ se({
9311
+ }), Mg = /* @__PURE__ */ fe(Eg, [["__scopeId", "data-v-f68d8bda"]]), Tg = { class: "flex flex-col gap-0" }, Fg = { class: "text-xs text-slate-600 font-semibold" }, Ig = /* @__PURE__ */ se({
9312
9312
  __name: "MapLayerPopover",
9313
9313
  props: {
9314
9314
  items: {}
@@ -9780,7 +9780,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
9780
9780
  ]))
9781
9781
  ]));
9782
9782
  }
9783
- }), Wg = /* @__PURE__ */ fe(Hg, [["__scopeId", "data-v-e8c4b151"]]), Yg = { class: "filter-tab" }, Zg = {
9783
+ }), Wg = /* @__PURE__ */ fe(Hg, [["__scopeId", "data-v-39b6f281"]]), Yg = { class: "filter-tab" }, Zg = {
9784
9784
  key: 0,
9785
9785
  class: "filter-tab__header"
9786
9786
  }, Kg = { class: "filter-tab__title" }, Gg = {
@@ -9827,7 +9827,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
9827
9827
  ])]))
9828
9828
  ]));
9829
9829
  }
9830
- }), eh = /* @__PURE__ */ fe(Qg, [["__scopeId", "data-v-b9cd2910"]]), th = { class: "flex items-center justify-between mb-4" }, nh = { class: "flex items-center gap-2" }, oh = { class: "text-lg font-semibold text-gray-800" }, lh = { key: 0 }, rh = {
9830
+ }), eh = /* @__PURE__ */ fe(Qg, [["__scopeId", "data-v-c6632fbd"]]), th = { class: "flex items-center justify-between mb-4" }, nh = { class: "flex items-center gap-2" }, oh = { class: "text-lg font-semibold text-gray-800" }, lh = { key: 0 }, rh = {
9831
9831
  key: 1,
9832
9832
  class: "block text-sm font-normal text-gray-500"
9833
9833
  }, sh = { class: "flex items-center gap-2" }, ih = { class: "flex mb-4 border-b border-gray-200" }, ah = { class: "map-catalog-widget__body" }, uh = /* @__PURE__ */ se({
@@ -10020,7 +10020,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
10020
10020
  class: "p-1 rounded-full hover:bg-gray-200 transition-colors",
10021
10021
  "aria-label": "Reset layers"
10022
10022
  }, [...T[6] || (T[6] = [
10023
- Ft('<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-22fbc74e><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" data-v-22fbc74e></path><path d="M21 3v5h-5" data-v-22fbc74e></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-22fbc74e></path><path d="M8 16H3v5" data-v-22fbc74e></path></svg>', 1)
10023
+ Ft('<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-6372b747><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" data-v-6372b747></path><path d="M21 3v5h-5" data-v-6372b747></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-6372b747></path><path d="M8 16H3v5" data-v-6372b747></path></svg>', 1)
10024
10024
  ])]),
10025
10025
  u.value ? (d(), x("button", {
10026
10026
  key: 0,
@@ -10096,7 +10096,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
10096
10096
  ], 2)
10097
10097
  ], 2));
10098
10098
  }
10099
- }), qo = /* @__PURE__ */ fe(uh, [["__scopeId", "data-v-22fbc74e"]]), ch = {
10099
+ }), qo = /* @__PURE__ */ fe(uh, [["__scopeId", "data-v-6372b747"]]), ch = {
10100
10100
  key: 1,
10101
10101
  class: "flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative widget"
10102
10102
  }, dh = { class: "flex items-start justify-between gap-3 p-5 pb-3" }, fh = { class: "inline-block text-xl font-semibold text-gray-800" }, ph = {
@@ -10385,7 +10385,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
10385
10385
  onClick: N[0] || (N[0] = (E) => l.value = !0)
10386
10386
  }, " Набори даних "));
10387
10387
  }
10388
- }), Ho = /* @__PURE__ */ fe(Sh, [["__scopeId", "data-v-437c8d68"]]), Eh = { class: "map-search-widget flex flex-col gap-2 bg-white border border-stone-200 shadow-2xs rounded-xl widget p-3 min-w-[200px]" }, Mh = ["title"], Th = {
10388
+ }), Ho = /* @__PURE__ */ fe(Sh, [["__scopeId", "data-v-9686ce7b"]]), Eh = { class: "map-search-widget flex flex-col gap-2 bg-white border border-stone-200 shadow-2xs rounded-xl widget p-3 min-w-[200px]" }, Mh = ["title"], Th = {
10389
10389
  key: 0,
10390
10390
  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"
10391
10391
  }, Fh = ["onClick"], Ih = ["placeholder"], jh = { class: "divide-y divide-gray-100" }, zh = ["onClick"], Nh = 600, Oh = 30, Ph = 8, Vh = "https://data.softpro.ua/api-user/gis-url-proxy", Dh = "https://geo.rv.ua/api-user/dzk.api", Rh = "https://nominatim.openstreetmap.org/search", Bh = /* @__PURE__ */ se({
@@ -10569,7 +10569,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
10569
10569
  ke({ type: "warning", title: "Пошук координат", message: "Не знайдено або невірний формат координат" });
10570
10570
  return;
10571
10571
  }
10572
- N({ ...k }), u.value = "";
10572
+ N({ id: "xy", title: "Точка на мапі", ...k }), u.value = "";
10573
10573
  return;
10574
10574
  }
10575
10575
  if (w.value === "address") {
@@ -10720,7 +10720,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
10720
10720
  ], 32)
10721
10721
  ]));
10722
10722
  }
10723
- }), Wo = /* @__PURE__ */ fe(Bh, [["__scopeId", "data-v-3403649e"]]), Uh = "https://watergis.github.io/mapbox-gl-export/mapbox-gl-export.css", qh = "https://watergis.github.io/mapbox-gl-export/mapbox-gl-export.js", Hh = /* @__PURE__ */ se({
10723
+ }), Wo = /* @__PURE__ */ fe(Bh, [["__scopeId", "data-v-6650498a"]]), Uh = "https://watergis.github.io/mapbox-gl-export/mapbox-gl-export.css", qh = "https://watergis.github.io/mapbox-gl-export/mapbox-gl-export.js", Hh = /* @__PURE__ */ se({
10724
10724
  __name: "MapPrintControl",
10725
10725
  setup(e) {
10726
10726
  const { map: t, ready: n, addControl: l, removeControl: r } = Ke(), s = P(null), i = P(null), a = P(null), m = P(null);
@@ -10889,7 +10889,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
10889
10889
  class: "map-print-control"
10890
10890
  }, null, 512));
10891
10891
  }
10892
- }), Wh = /* @__PURE__ */ fe(Hh, [["__scopeId", "data-v-d08551cb"]]), Yh = { class: "cursor-coordinates" }, Zh = { class: "cursor-coordinates__text" }, Kh = /* @__PURE__ */ se({
10892
+ }), Wh = /* @__PURE__ */ fe(Hh, [["__scopeId", "data-v-89156246"]]), Yh = { class: "cursor-coordinates" }, Zh = { class: "cursor-coordinates__text" }, Kh = /* @__PURE__ */ se({
10893
10893
  __name: "MapCursorCoordinates",
10894
10894
  props: {
10895
10895
  coordinates: {}
@@ -10899,7 +10899,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
10899
10899
  o("span", Zh, R(e.coordinates), 1)
10900
10900
  ]));
10901
10901
  }
10902
- }), Gh = /* @__PURE__ */ fe(Kh, [["__scopeId", "data-v-d83db59a"]]), Xh = { class: "minimap__wrapper" }, dn = "minimap-viewport", Jh = "minimap-viewport-layer", Qh = /* @__PURE__ */ se({
10902
+ }), Gh = /* @__PURE__ */ fe(Kh, [["__scopeId", "data-v-334315d9"]]), Xh = { class: "minimap__wrapper" }, dn = "minimap-viewport", Jh = "minimap-viewport-layer", Qh = /* @__PURE__ */ se({
10903
10903
  __name: "MapMiniMap",
10904
10904
  props: {
10905
10905
  mapContext: {},
@@ -11133,7 +11133,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
11133
11133
  })
11134
11134
  ], 2));
11135
11135
  }
11136
- }), ey = /* @__PURE__ */ fe(Qh, [["__scopeId", "data-v-ff9c5f7b"]]), ty = {
11136
+ }), ey = /* @__PURE__ */ fe(Qh, [["__scopeId", "data-v-bc754c89"]]), ty = {
11137
11137
  key: 1,
11138
11138
  class: "absolute bottom-4 right-4 z-[80] flex items-end gap-2"
11139
11139
  }, ny = { class: "absolute top-[103px] right-[6.5px] z-[80] flex flex-col items-end gap-1" }, oy = { class: "map-widget__overlay-grid" }, ly = {
@@ -11534,7 +11534,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
11534
11534
  a.value ? (d(), x("div", uy, "Завантаження карти…")) : m.value ? (d(), x("div", cy, R(m.value), 1)) : Z("", !0)
11535
11535
  ], 4));
11536
11536
  }
11537
- }), Ql = /* @__PURE__ */ fe(dy, [["__scopeId", "data-v-b5920949"]]), fy = { class: "rounded-lg border border-gray-200 bg-gray-50 p-6" }, py = { class: "rounded-xl border border-gray-200 overflow-hidden bg-white" }, vy = /* @__PURE__ */ se({
11537
+ }), Ql = /* @__PURE__ */ fe(dy, [["__scopeId", "data-v-73d647f9"]]), fy = { class: "rounded-lg border border-gray-200 bg-gray-50 p-6" }, py = { class: "rounded-xl border border-gray-200 overflow-hidden bg-white" }, vy = /* @__PURE__ */ se({
11538
11538
  __name: "MapPreview",
11539
11539
  props: {
11540
11540
  id: {}
@@ -12056,13 +12056,13 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
12056
12056
  l.value ? (d(), x("div", Ky, [...L[8] || (L[8] = [
12057
12057
  o("p", { class: "text-gray-500" }, "Завантаження...", -1)
12058
12058
  ])])) : (d(), x(G, { key: 1 }, [
12059
- Q(Nm, {
12059
+ Q(N0, {
12060
12060
  tabs: a,
12061
12061
  activeTab: u.value,
12062
12062
  "onUpdate:activeTab": L[1] || (L[1] = (M) => u.value = M)
12063
12063
  }, null, 8, ["activeTab"]),
12064
12064
  Te(o("div", Gy, [
12065
- Q(Pm, {
12065
+ Q(P0, {
12066
12066
  schema: b,
12067
12067
  loading: l.value,
12068
12068
  modelValue: p.value,
@@ -12074,7 +12074,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
12074
12074
  [xt, u.value === "general"]
12075
12075
  ]),
12076
12076
  Te(o("div", Xy, [
12077
- Q(Dm, {
12077
+ Q(D0, {
12078
12078
  options: v.value,
12079
12079
  layerIDs: f.value,
12080
12080
  "onUpdate:layerIDs": L[4] || (L[4] = (M) => f.value = M),
@@ -12104,7 +12104,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
12104
12104
  ])
12105
12105
  ]));
12106
12106
  }
12107
- }), hx = /* @__PURE__ */ fe(Qy, [["__scopeId", "data-v-d824d951"]]), e1 = { class: "flex-1 overflow-y-auto p-0" }, t1 = { class: "pt-0 mt-0" }, n1 = {
12107
+ }), hx = /* @__PURE__ */ fe(Qy, [["__scopeId", "data-v-75f83258"]]), e1 = { class: "flex-1 overflow-y-auto p-0" }, t1 = { class: "pt-0 mt-0" }, n1 = {
12108
12108
  key: 0,
12109
12109
  class: "flex items-center justify-center py-12"
12110
12110
  }, o1 = {
@@ -12287,7 +12287,7 @@ const Q0 = /* @__PURE__ */ fe(G0, [["render", J0]]), em = { class: "flex flex-co
12287
12287
  ])) : Z("", !0)
12288
12288
  ]));
12289
12289
  }
12290
- }), b1 = /* @__PURE__ */ fe(x1, [["__scopeId", "data-v-4e273e41"]]), w1 = { class: "flex flex-col 2xl:flex-row 2xl:items-center 2xl:justify-between" }, _1 = { class: "" }, k1 = { class: "text-2xl font-bold mb-2 flex items-center gap-2" }, $1 = {
12290
+ }), b1 = /* @__PURE__ */ fe(x1, [["__scopeId", "data-v-6f5da01d"]]), w1 = { class: "flex flex-col 2xl:flex-row 2xl:items-center 2xl:justify-between" }, _1 = { class: "" }, k1 = { class: "text-2xl font-bold mb-2 flex items-center gap-2" }, $1 = {
12291
12291
  key: 0,
12292
12292
  class: "text-sm font-normal text-gray-500 mt-2 ml-1"
12293
12293
  }, C1 = { class: "flex flex-col gap-3 mt-4 lg:mt-5 lg:flex-row lg:items-center" }, A1 = { class: "w-full md:w-auto" }, L1 = ["value"], S1 = { class: "relative w-full lg:w-[16rem]" }, E1 = { class: "bg-white focus:bg-white focus:border-blue-500 focus:ring-blue-500 rounded-lg" }, M1 = { class: "absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3" }, T1 = ["value"], F1 = /* @__PURE__ */ se({