@thibezer/ui-components-kit 1.0.0 → 2.0.0

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 (99) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/LICENSE +21 -21
  3. package/README.md +739 -624
  4. package/dist/botao.cjs +1 -1
  5. package/dist/botao.js +1 -1
  6. package/dist/camadas.cjs +38 -38
  7. package/dist/camadas.js +494 -494
  8. package/dist/campo-texto.cjs +1 -1
  9. package/dist/campo-texto.js +1 -1
  10. package/dist/canvas.cjs +33 -33
  11. package/dist/canvas.js +100 -100
  12. package/dist/card.cjs +1 -1
  13. package/dist/card.js +1 -1
  14. package/dist/components/ui-botao/ui-botao.d.ts +15 -0
  15. package/dist/components/ui-campo-texto/ui-campo-texto.d.ts +5 -0
  16. package/dist/components/ui-modal/modal-pilha.d.ts +3 -0
  17. package/dist/components/ui-modal/ui-modal.d.ts +19 -4
  18. package/dist/components/ui-tabela/tabela-corpo.d.ts +2 -0
  19. package/dist/components/ui-tabela/tabela-renderizador.d.ts +1 -0
  20. package/dist/components/ui-tabela/tabela-selecao.d.ts +5 -0
  21. package/dist/components/ui-tabela/ui-tabela.d.ts +15 -0
  22. package/dist/components/ui-tooltip/ui-tooltip.d.ts +15 -0
  23. package/dist/core/form-submissao.d.ts +16 -0
  24. package/dist/core/parts.d.ts +6 -0
  25. package/dist/core/rotulo.d.ts +6 -0
  26. package/dist/core/ui-bus.d.ts +13 -2
  27. package/dist/core.cjs +1 -1
  28. package/dist/core.js +2 -2
  29. package/dist/custom-elements.json +28789 -0
  30. package/dist/data.cjs +1 -1
  31. package/dist/data.js +2 -2
  32. package/dist/feedback.cjs +1 -1
  33. package/dist/feedback.js +3 -3
  34. package/dist/form-submissao-C-SPRKgT.js +61 -0
  35. package/dist/form-submissao-DxKO5MHI.cjs +1 -0
  36. package/dist/forms.cjs +1 -1
  37. package/dist/forms.js +2 -2
  38. package/dist/index.cjs +1 -1
  39. package/dist/index.d.ts +2 -2
  40. package/dist/index.js +13 -13
  41. package/dist/mapa.cjs +4 -4
  42. package/dist/mapa.js +1 -1
  43. package/dist/modal.cjs +1 -1
  44. package/dist/modal.js +1 -1
  45. package/dist/parts-CaoQiCfI.js +7 -0
  46. package/dist/parts-vQa2873h.cjs +1 -0
  47. package/dist/register.cjs +1 -1
  48. package/dist/register.js +12 -12
  49. package/dist/seletor-mapa-base.cjs +11 -11
  50. package/dist/seletor-mapa-base.js +37 -37
  51. package/dist/tabela.cjs +1 -1
  52. package/dist/tabela.js +1 -1
  53. package/dist/tipos-elementos.d.ts +1219 -0
  54. package/dist/tipos-react.d.ts +113 -0
  55. package/dist/tipos-vue.d.ts +1190 -0
  56. package/dist/tools.cjs +1 -1
  57. package/dist/tools.js +1 -1
  58. package/dist/ui-badge-BxT-sDmV.cjs +28 -0
  59. package/dist/ui-badge-C0eKBI8E.js +183 -0
  60. package/dist/ui-botao-OGJV6Vfk.js +165 -0
  61. package/dist/ui-botao-psS1juof.cjs +12 -0
  62. package/dist/ui-campo-texto-Cnn2UAkS.cjs +16 -0
  63. package/dist/{ui-campo-texto-B_JF6POq.js → ui-campo-texto-Uu2dJE_0.js} +81 -63
  64. package/dist/{ui-card-Bhm6k91e.cjs → ui-card-B86lJXTP.cjs} +7 -7
  65. package/dist/{ui-card-BJ8SmvVf.js → ui-card-C_o5_0cB.js} +14 -14
  66. package/dist/ui-kit.css +1 -1
  67. package/dist/ui-modal-CvGFGh1h.cjs +18 -0
  68. package/dist/ui-modal-DBOtSTbR.js +238 -0
  69. package/dist/{ui-paleta-ferramentas-Bpp4XBVg.js → ui-paleta-ferramentas-BIytXQLh.js} +1 -1
  70. package/dist/{ui-paleta-ferramentas-B6dJ0O6K.cjs → ui-paleta-ferramentas-DqLY51qa.cjs} +1 -1
  71. package/dist/ui-segmented-D6b6zxVs.cjs +19 -0
  72. package/dist/{ui-segmented-C8wuycjJ.js → ui-segmented-wUraId2e.js} +68 -67
  73. package/dist/ui-skeleton-DI4_9WOX.js +428 -0
  74. package/dist/ui-skeleton-elhKIh2B.cjs +33 -0
  75. package/dist/{ui-switch-CO9MoS8x.js → ui-switch-DWLgVVnT.js} +121 -119
  76. package/dist/ui-switch-yZIn3IW0.cjs +53 -0
  77. package/dist/ui-tabela-propriedades-BNcE6VLX.js +2180 -0
  78. package/dist/ui-tabela-propriedades-D3pyQvyy.cjs +145 -0
  79. package/dist/{ui-toast-CwUmiqyG.js → ui-toast-Bp_NlM5G.js} +51 -51
  80. package/dist/ui-toast-DGTZKne5.cjs +20 -0
  81. package/dist/zero-js-triggers-C_KrvFOQ.js +244 -0
  82. package/dist/zero-js-triggers-C_gtaojZ.cjs +1 -0
  83. package/package.json +169 -149
  84. package/dist/ui-badge-92yelKls.js +0 -183
  85. package/dist/ui-badge-B95jSECC.cjs +0 -28
  86. package/dist/ui-botao-BShEouvi.js +0 -124
  87. package/dist/ui-botao-DF1yuUUD.cjs +0 -12
  88. package/dist/ui-campo-texto-BCh5HyCM.cjs +0 -16
  89. package/dist/ui-modal-Bi4isGYh.cjs +0 -18
  90. package/dist/ui-modal-DV-pw2x1.js +0 -194
  91. package/dist/ui-segmented-NC5cBXLh.cjs +0 -19
  92. package/dist/ui-skeleton-B3xQyn0Z.js +0 -396
  93. package/dist/ui-skeleton-D42oQufF.cjs +0 -33
  94. package/dist/ui-switch-C6o4yZUF.cjs +0 -53
  95. package/dist/ui-tabela-propriedades-7yJ9g7ti.cjs +0 -145
  96. package/dist/ui-tabela-propriedades-D-XKNVwK.js +0 -2078
  97. package/dist/ui-toast-CQBqvUm3.cjs +0 -20
  98. package/dist/zero-js-triggers-DdESy0tk.js +0 -205
  99. package/dist/zero-js-triggers-QGD7FOTv.cjs +0 -1
package/dist/canvas.js CHANGED
@@ -3,7 +3,7 @@ var ut = (n, t, e) => t in n ? ft(n, t, { enumerable: !0, configurable: !0, writ
3
3
  var u = (n, t, e) => ut(n, typeof t != "symbol" ? t + "" : t, e);
4
4
  /* empty css */
5
5
  import v from "leaflet";
6
- import { e as P, p as O, r as W, b as Y, a as K, o as J, c as ot, l as gt } from "./leaflet-DkaFZYc5.js";
6
+ import { e as P, p as O, r as F, b as Y, a as K, o as J, c as ot, l as gt } from "./leaflet-DkaFZYc5.js";
7
7
  import { f as ke } from "./leaflet-DkaFZYc5.js";
8
8
  import { L as dt } from "./listener-bag-DQgv7OON.js";
9
9
  import { d as mt, S as vt } from "./ssr-safe-5cWfJP-s.js";
@@ -24,13 +24,13 @@ const it = {
24
24
  crosshair: !1,
25
25
  satOpacity: 1,
26
26
  magnetSnap: !1
27
- }, F = class F {
27
+ }, W = class W {
28
28
  constructor() {
29
29
  u(this, "config");
30
30
  this.config = this.loadConfig();
31
31
  }
32
32
  static getInstance() {
33
- return F.instance || (F.instance = new F()), F.instance;
33
+ return W.instance || (W.instance = new W()), W.instance;
34
34
  }
35
35
  loadConfig() {
36
36
  try {
@@ -49,17 +49,17 @@ const it = {
49
49
  return this.config = this.loadConfig(), { ...this.config };
50
50
  }
51
51
  };
52
- u(F, "instance");
53
- let Q = F;
54
- async function yt(n, t, e, o) {
52
+ u(W, "instance");
53
+ let Q = W;
54
+ async function bt(n, t, e, o) {
55
55
  const i = n.getSize(), s = n.getBounds(), a = s.getSouthWest(), c = s.getNorthEast(), r = `${a.lng},${a.lat},${c.lng},${c.lat}`;
56
56
  let l = 0, p = 0;
57
57
  try {
58
58
  if (t.containerPoint)
59
59
  l = Math.round(t.containerPoint.x), p = Math.round(t.containerPoint.y);
60
60
  else if (t.layerPoint) {
61
- const b = n.layerPointToContainerPoint(t.layerPoint);
62
- l = Math.round(b.x), p = Math.round(b.y);
61
+ const y = n.layerPointToContainerPoint(t.layerPoint);
62
+ l = Math.round(y.x), p = Math.round(y.y);
63
63
  }
64
64
  } catch {
65
65
  l = 0, p = 0;
@@ -70,7 +70,7 @@ async function yt(n, t, e, o) {
70
70
  className: "compact-sigef-popup",
71
71
  maxWidth: 250
72
72
  }).setLatLng(t.latlng).setContent(`
73
- <div style="font-family:sans-serif; display:flex; align-items:center; gap:8px; color:rgba(255,255,255,0.9); font-size:12px;">
73
+ <div style="font-family:var(--ui-fonte-base, sans-serif); display:flex; align-items:center; gap:8px; color:rgba(255,255,255,0.9); font-size:12px;">
74
74
  <svg style="animation:spin 1s linear infinite; width:14px; height:14px; flex-shrink:0;" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
75
75
  <circle cx="12" cy="12" r="10" stroke="rgba(255,255,255,0.2)" stroke-width="4" fill="none"></circle>
76
76
  <path fill="#00f5a0" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
@@ -79,11 +79,11 @@ async function yt(n, t, e, o) {
79
79
  </div>
80
80
  `).openOn(n);
81
81
  o.currentAbortController && o.currentAbortController.abort(), o.currentAbortController = new AbortController();
82
- const y = o.currentAbortController.signal, S = setTimeout(() => {
82
+ const b = o.currentAbortController.signal, S = setTimeout(() => {
83
83
  o.currentAbortController && o.currentAbortController.abort();
84
84
  }, 8e3);
85
85
  try {
86
- const M = typeof window < "u" && (window.location.origin.includes("localhost") || window.location.origin.includes("127.0.0.1") || window.location.origin.includes("[::1]")) ? `${e}/proxy/sigef?url=${encodeURIComponent(d)}` : `${window.location.origin}/api.php?action=proxy_sigef&url=${encodeURIComponent(d)}`, I = await fetch(M, { signal: y });
86
+ const M = typeof window < "u" && (window.location.origin.includes("localhost") || window.location.origin.includes("127.0.0.1") || window.location.origin.includes("[::1]")) ? `${e}/proxy/sigef?url=${encodeURIComponent(d)}` : `${window.location.origin}/api.php?action=proxy_sigef&url=${encodeURIComponent(d)}`, I = await fetch(M, { signal: b });
87
87
  clearTimeout(S);
88
88
  let z = null;
89
89
  if (I.ok) {
@@ -98,13 +98,13 @@ async function yt(n, t, e, o) {
98
98
  const E = z.features[0], w = E.properties || {}, g = String(E.id || w.parcela_codigo || w.co_parcela || w.id_parcela || ""), m = String(w.nome_area || w.nome_imovel || "Imóvel Sem Nome");
99
99
  if (g) {
100
100
  const x = encodeURIComponent(g), L = `https://sigef.incra.gov.br/geo/exportar/parcela/shp/${x}/`, _ = `https://sigef.incra.gov.br/geo/parcela/detalhe/${x}/`, k = document.createElement("div");
101
- k.style.cssText = "font-family:sans-serif; color:rgba(255, 255, 255, 0.9); line-height:1.4; min-width:180px;", k.innerHTML = `
101
+ k.style.cssText = "font-family:var(--ui-fonte-base, sans-serif); color:rgba(255, 255, 255, 0.9); line-height:1.4; min-width:180px;", k.innerHTML = `
102
102
  <div style="display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; padding-bottom:5px; border-bottom:1px solid rgba(255, 255, 255, 0.1);">
103
103
  <span style="font-weight:700; font-size:11px; color:#10b981; text-transform:uppercase; letter-spacing:0.5px;">SIGEF</span>
104
104
  <span style="font-size:10px; color:rgba(255, 255, 255, 0.5);">${P(w.situacao_informada || w.status || "Certificada")}</span>
105
105
  </div>
106
106
  <div style="font-weight:700; font-size:12px; margin-bottom:4px; color:#ffffff; word-break:break-word;">${P(m)}</div>
107
- <div style="font-size:11px; color:rgba(255, 255, 255, 0.7); margin-bottom:2px;">Cód: <span style="font-family:monospace;">${P(w.codigo_imovel || "N/A")}</span></div>
107
+ <div style="font-size:11px; color:rgba(255, 255, 255, 0.7); margin-bottom:2px;">Cód: <span style="font-family:var(--ui-fonte-codigo, monospace);">${P(w.codigo_imovel || "N/A")}</span></div>
108
108
  <div style="display:flex; gap:12px; font-size:11px; color:rgba(255, 255, 255, 0.7); margin-bottom:6px;">
109
109
  <span>Mat: <strong style="color:#ffffff;">${P(w.registro_matricula || w.matricula || "N/A")}</strong></span>
110
110
  <span>${P(w.data_submissao || "")}</span>
@@ -134,23 +134,23 @@ async function yt(n, t, e, o) {
134
134
  }), h.setContent(k);
135
135
  } else
136
136
  h.setContent(`
137
- <div style="font-family:sans-serif; font-size:12px; color:#b45309; padding:2px 0;">
137
+ <div style="font-family:var(--ui-fonte-base, sans-serif); font-size:12px; color:#b45309; padding:2px 0;">
138
138
  Lote identificado, mas código da parcela indisponível.
139
139
  </div>
140
140
  `);
141
141
  } else
142
142
  h.setContent(`
143
- <div style="font-family:sans-serif; font-size:12px; color:rgba(255, 255, 255, 0.7); padding:2px 0;">
143
+ <div style="font-family:var(--ui-fonte-base, sans-serif); font-size:12px; color:rgba(255, 255, 255, 0.7); padding:2px 0;">
144
144
  Nenhum imóvel SIGEF certificado neste ponto.
145
145
  </div>
146
146
  `);
147
- } catch (b) {
148
- b.name === "AbortError" ? h.setContent(`
149
- <div style="font-family:sans-serif; font-size:12px; color:#f59e0b; padding:2px 0;">
147
+ } catch (y) {
148
+ y.name === "AbortError" ? h.setContent(`
149
+ <div style="font-family:var(--ui-fonte-base, sans-serif); font-size:12px; color:#f59e0b; padding:2px 0;">
150
150
  Consulta cancelada ou tempo limite de resposta esgotado.
151
151
  </div>
152
- `) : (console.warn("Erro ao consultar SIGEF:", b), h.setContent(`
153
- <div style="font-family:sans-serif; font-size:12px; color:#f59e0b; padding:2px 0;">
152
+ `) : (console.warn("Erro ao consultar SIGEF:", y), h.setContent(`
153
+ <div style="font-family:var(--ui-fonte-base, sans-serif); font-size:12px; color:#f59e0b; padding:2px 0;">
154
154
  Serviço de consulta SIGEF indisponível nesta área.
155
155
  </div>
156
156
  `));
@@ -158,16 +158,16 @@ async function yt(n, t, e, o) {
158
158
  f.style.cursor = "";
159
159
  }
160
160
  }
161
- function bt(n, t) {
161
+ function yt(n, t) {
162
162
  if (!n) return;
163
163
  const e = Math.floor(n.getZoom()), o = Math.max(e, 12), i = Math.min(e + 1, 19), s = t.pad(0.2), a = ["mt0", "mt1", "mt2", "mt3"];
164
164
  let c = 0;
165
165
  const r = 32;
166
166
  for (let l = o; l <= i && c < r; l++) {
167
- const p = s.getNorthWest(), d = s.getSouthEast(), f = nt(p.lng, l), h = nt(d.lng, l), y = st(p.lat, l), S = st(d.lat, l);
168
- for (let b = f; b <= h && c < r; b++)
169
- for (let M = y; M <= S && c < r; M++) {
170
- const z = `https://${a[(b + M) % a.length]}.google.com/vt/lyrs=s,h&x=${b}&y=${M}&z=${l}`, E = new Image();
167
+ const p = s.getNorthWest(), d = s.getSouthEast(), f = nt(p.lng, l), h = nt(d.lng, l), b = st(p.lat, l), S = st(d.lat, l);
168
+ for (let y = f; y <= h && c < r; y++)
169
+ for (let M = b; M <= S && c < r; M++) {
170
+ const z = `https://${a[(y + M) % a.length]}.google.com/vt/lyrs=s,h&x=${y}&y=${M}&z=${l}`, E = new Image();
171
171
  E.src = z, c++;
172
172
  }
173
173
  }
@@ -285,10 +285,10 @@ class xt {
285
285
  }
286
286
  }
287
287
  preCarregarTilesRegiao(t) {
288
- bt(this.map, t);
288
+ yt(this.map, t);
289
289
  }
290
290
  async consultarSigef(t) {
291
- this.map && await yt(this.map, t, this.apiBaseUrl, this.sigefState);
291
+ this.map && await bt(this.map, t, this.apiBaseUrl, this.sigefState);
292
292
  }
293
293
  }
294
294
  const Pt = [
@@ -351,22 +351,22 @@ class wt {
351
351
  y1: Math.min(this.selectStartPoint.y, c.y),
352
352
  x2: Math.max(this.selectStartPoint.x, c.x),
353
353
  y2: Math.max(this.selectStartPoint.y, c.y)
354
- }, d = ((w = this.ctx.mapaController) == null ? void 0 : w.getMarkers()) || [], f = ((g = this.ctx.mapaController) == null ? void 0 : g.getVizinhosMarkers()) || [], h = [], y = [], S = !this.ctx.layerManager || this.ctx.layerManager.isLayerActiveAndSelectable("vertices"), b = !this.ctx.layerManager || this.ctx.layerManager.isLayerActiveAndSelectable("vizinhos");
354
+ }, d = ((w = this.ctx.mapaController) == null ? void 0 : w.getMarkers()) || [], f = ((g = this.ctx.mapaController) == null ? void 0 : g.getVizinhosMarkers()) || [], h = [], b = [], S = !this.ctx.layerManager || this.ctx.layerManager.isLayerActiveAndSelectable("vertices"), y = !this.ctx.layerManager || this.ctx.layerManager.isLayerActiveAndSelectable("vizinhos");
355
355
  return S && d.forEach((m) => {
356
356
  const x = m.pontoId;
357
357
  if (!x) return;
358
358
  const L = this.map.latLngToContainerPoint(m.getLatLng());
359
359
  L.x >= p.x1 && L.x <= p.x2 && L.y >= p.y1 && L.y <= p.y2 && h.push(x);
360
- }), b && f.forEach((m) => {
360
+ }), y && f.forEach((m) => {
361
361
  const x = m.pontoId;
362
362
  if (!x) return;
363
363
  const L = this.map.latLngToContainerPoint(m.getLatLng());
364
- L.x >= p.x1 && L.x <= p.x2 && L.y >= p.y1 && L.y <= p.y2 && y.push(x);
364
+ L.x >= p.x1 && L.x <= p.x2 && L.y >= p.y1 && L.y <= p.y2 && b.push(x);
365
365
  }), t.ctrlKey || t.metaKey ? (h.forEach((m) => {
366
366
  this.ctx.selectedPontoIds.includes(m) ? this.ctx.selectedPontoIds = this.ctx.selectedPontoIds.filter((x) => x !== m) : this.ctx.selectedPontoIds.push(m);
367
- }), y.forEach((m) => {
367
+ }), b.forEach((m) => {
368
368
  this.ctx.selectedVizinhoPontoIds.includes(m) ? this.ctx.selectedVizinhoPontoIds = this.ctx.selectedVizinhoPontoIds.filter((x) => x !== m) : this.ctx.selectedVizinhoPontoIds.push(m);
369
- })) : (this.ctx.selectedPontoIds = h, this.ctx.selectedVizinhoPontoIds = y), this.ctx.selectedPontoIds.length > 0 && (this.ctx.lastSelectedPontoId = this.ctx.selectedPontoIds[this.ctx.selectedPontoIds.length - 1]), e(), !0;
369
+ })) : (this.ctx.selectedPontoIds = h, this.ctx.selectedVizinhoPontoIds = b), this.ctx.selectedPontoIds.length > 0 && (this.ctx.lastSelectedPontoId = this.ctx.selectedPontoIds[this.ctx.selectedPontoIds.length - 1]), e(), !0;
370
370
  }
371
371
  cancelarSelecao() {
372
372
  this.isSelecting && (this.isSelecting = !1, this.selectionDiv && (this.selectionDiv.style.display = "none"), this.setPanesPointerEvents("auto"), this.ctx.layerManager && this.ctx.layerManager.ensurePanes());
@@ -584,8 +584,8 @@ function pt(n, t, e) {
584
584
  return Math.max(1, Math.round(o * i));
585
585
  }
586
586
  function at(n, t, e, o, i) {
587
- var y, S, b, M, I, z, E, w;
588
- const s = n.id === "homologados", a = ((y = n.dados) == null ? void 0 : y.conexoes) ?? (Array.isArray(n.dados) && n.dados.length > 0 && "origemId" in n.dados[0] ? n.dados : null), c = ((S = n.dados) == null ? void 0 : S.segmentos) || o.segmentos || [], r = ((b = n.dados) == null ? void 0 : b.pontos) || (s ? o.bancoPontos || [] : o.pontos) || [], l = pt(n, e, o), p = n.opacidade !== void 0 ? n.opacidade : 1, d = n.interativo && !n.bloqueada, f = [];
587
+ var b, S, y, M, I, z, E, w;
588
+ const s = n.id === "homologados", a = ((b = n.dados) == null ? void 0 : b.conexoes) ?? (Array.isArray(n.dados) && n.dados.length > 0 && "origemId" in n.dados[0] ? n.dados : null), c = ((S = n.dados) == null ? void 0 : S.segmentos) || o.segmentos || [], r = ((y = n.dados) == null ? void 0 : y.pontos) || (s ? o.bancoPontos || [] : o.pontos) || [], l = pt(n, e, o), p = n.opacidade !== void 0 ? n.opacidade : 1, d = n.interativo && !n.bloqueada, f = [];
589
589
  r.forEach((g) => {
590
590
  const m = O(g.lat ?? g.latitude ?? g.y, g.lon ?? g.lng ?? g.longitude ?? g.x);
591
591
  m && f.push({ ...g, lat: m.lat, lon: m.lon });
@@ -616,9 +616,9 @@ function at(n, t, e, o, i) {
616
616
  interactive: d
617
617
  });
618
618
  if (d) {
619
- const G = g.acoes || n.acoes || ((C = n.dados) == null ? void 0 : C.acoes) || [], H = `${g.origemId}-${g.destinoId}`, D = W(G, H);
619
+ const G = g.acoes || n.acoes || ((C = n.dados) == null ? void 0 : C.acoes) || [], H = `${g.origemId}-${g.destinoId}`, D = F(G, H);
620
620
  A.bindPopup(`
621
- <div style="font-family:sans-serif; color:rgba(255, 255, 255, 0.9); line-height:1.3;">
621
+ <div style="font-family:var(--ui-fonte-base, sans-serif); color:rgba(255, 255, 255, 0.9); line-height:1.3;">
622
622
  <div style="font-weight:700; font-size:12px; margin-bottom:3px; color:#ffffff;">Conexão ${P(String(g.origemId))} ↔ ${P(String(g.destinoId))}</div>
623
623
  <div style="font-size:11px; color:rgba(255, 255, 255, 0.65);">Tipo: ${P(g.tipoLinha || "contínua")}</div>
624
624
  ${D}
@@ -650,7 +650,7 @@ function at(n, t, e, o, i) {
650
650
  interactive: d
651
651
  });
652
652
  if (d && V.bindPopup(`
653
- <div style="font-family:sans-serif; color:rgba(255, 255, 255, 0.9); line-height:1.3;">
653
+ <div style="font-family:var(--ui-fonte-base, sans-serif); color:rgba(255, 255, 255, 0.9); line-height:1.3;">
654
654
  <div style="font-weight:700; font-size:12px; margin-bottom:3px; color:#ffffff;">Polilinha: Grupo ${P(_)}</div>
655
655
  <div style="font-size:11px; color:rgba(255, 255, 255, 0.65);">Vértices: ${N.length}</div>
656
656
  </div>
@@ -682,9 +682,9 @@ function at(n, t, e, o, i) {
682
682
  interactive: d
683
683
  });
684
684
  if (d) {
685
- const C = g.acoes || n.acoes || ((L = n.dados) == null ? void 0 : L.acoes) || [], $ = `${g.ponto_inicio_id}-${g.ponto_fim_id}`, T = W(C, $);
685
+ const C = g.acoes || n.acoes || ((L = n.dados) == null ? void 0 : L.acoes) || [], $ = `${g.ponto_inicio_id}-${g.ponto_fim_id}`, T = F(C, $);
686
686
  V.bindPopup(`
687
- <div style="font-family:sans-serif; color:rgba(255, 255, 255, 0.9); line-height:1.3;">
687
+ <div style="font-family:var(--ui-fonte-base, sans-serif); color:rgba(255, 255, 255, 0.9); line-height:1.3;">
688
688
  <div style="font-weight:700; font-size:12px; margin-bottom:3px; color:#ffffff;">${P(m.nome_vertice)} ↔ ${P(x.nome_vertice)}</div>
689
689
  <div style="font-size:11px; color:rgba(255, 255, 255, 0.65);">Limite: ${P(_ || "N/A")} · ${P(k || "N/A")}</div>
690
690
  ${T}
@@ -787,11 +787,11 @@ function Z(n, t, e, o = "", i = "", s = !1) {
787
787
  </div>
788
788
  `;
789
789
  case "circle-dot": {
790
- const y = Math.max(3, Math.floor(l / 3));
790
+ const b = Math.max(3, Math.floor(l / 3));
791
791
  return `
792
792
  <div id="${i}" class="${h}" style="${f}">
793
793
  <div style="width:${l}px; height:${l}px; background-color:${c}; border-radius:50%; display:flex; align-items:center; justify-content:center; border:1px solid rgba(0,0,0,0.3); box-sizing:border-box; ${p}">
794
- <div style="width:${y}px; height:${y}px; background-color:#ffffff; border-radius:50%; box-shadow:0 0 2px rgba(0,0,0,0.8);"></div>
794
+ <div style="width:${b}px; height:${b}px; background-color:#ffffff; border-radius:50%; box-shadow:0 0 2px rgba(0,0,0,0.8);"></div>
795
795
  </div>
796
796
  </div>
797
797
  `;
@@ -891,9 +891,9 @@ class zt {
891
891
  var f;
892
892
  const c = t.id === "homologados-pontos" ? i.bancoPontos || [] : ((f = t.dados) == null ? void 0 : f.pontos) || i.pontos || [], r = t.interativo && !t.bloqueada, l = t.id === "vizinhos", p = t.id === "homologados" || t.id === "homologados-pontos", d = i.selectedPontoIds || [];
893
893
  c.forEach((h) => {
894
- var b;
895
- const y = h.lat ?? h.latitude, S = h.lon ?? h.lng ?? h.longitude;
896
- if (y !== void 0 && S !== void 0 && y !== 0 && S !== 0 && !isNaN(Number(y)) && !isNaN(Number(S))) {
894
+ var y;
895
+ const b = h.lat ?? h.latitude, S = h.lon ?? h.lng ?? h.longitude;
896
+ if (b !== void 0 && S !== void 0 && b !== 0 && S !== 0 && !isNaN(Number(b)) && !isNaN(Number(S))) {
897
897
  const M = h.tipo_ponto === "B" || h.tipo === "B", I = h.tipo_ponto === "M" || h.tipo === "M";
898
898
  let z = t.estilo.estiloMarcador || "x", E = t.estilo.corPrimaria || "bg-mint-vibrant", w = t.estilo.tamanhoMarcador || 7;
899
899
  p ? (z = "circle", E = t.estilo.corPrimaria || "#f59e0b", w = 8) : l ? (z = I ? "circle-dot" : t.estilo.estiloMarcador || "cross", E = t.estilo.corPrimaria || "#a855f7", w = I ? 10 : 8) : I ? (E = "#6366f1", z = "circle-dot", w = 10) : M && (E = "#f43f5e", z = "square", w = 9);
@@ -908,18 +908,18 @@ class zt {
908
908
  html: L,
909
909
  className: `custom-leaflet-marker flex items-center justify-center ${g ? "cad-marker-selected" : ""}`,
910
910
  iconSize: [m + 6, m + 6]
911
- }), k = v.marker([Number(y), Number(S)], {
911
+ }), k = v.marker([Number(b), Number(S)], {
912
912
  icon: _,
913
913
  pane: s,
914
914
  interactive: r
915
915
  });
916
916
  if (g && k.setZIndexOffset(2e3), k.pontoId = h.id, k.layerId = t.id, k.isVizinho = l, k.baseSize = w, k.shapeStyle = z, k.markerBg = E, k.isSelected = g, r) {
917
- const N = p ? "Vértice Homologado SIGEF" : l ? "Confrontante (Importado)" : I ? "Base Homologada PPP" : M ? "Base de Campo (Translação)" : "Vértice de Perímetro", q = h.acoes || t.acoes || ((b = t.dados) == null ? void 0 : b.acoes) || [], V = W(q, h.id);
917
+ const N = p ? "Vértice Homologado SIGEF" : l ? "Confrontante (Importado)" : I ? "Base Homologada PPP" : M ? "Base de Campo (Translação)" : "Vértice de Perímetro", q = h.acoes || t.acoes || ((y = t.dados) == null ? void 0 : y.acoes) || [], V = F(q, h.id);
918
918
  k.bindPopup(`
919
- <div style="font-family:sans-serif; color:rgba(255, 255, 255, 0.9); line-height:1.3;">
919
+ <div style="font-family:var(--ui-fonte-base, sans-serif); color:rgba(255, 255, 255, 0.9); line-height:1.3;">
920
920
  <div style="font-weight:700; font-size:13px; margin-bottom:4px; color:#ffffff;">${P(h.nome_vertice || String(h.id))}</div>
921
921
  <div style="font-size:11px; color:rgba(255, 255, 255, 0.65);">${P(N)} · ${P(h.tipo_ponto || h.tipo || "Vértice")}</div>
922
- <div style="font-size:11px; color:rgba(255, 255, 255, 0.45); font-family:monospace; margin-top:4px;">Lat ${Number(y).toFixed(6)} &nbsp; Lon ${Number(S).toFixed(6)}</div>
922
+ <div style="font-size:11px; color:rgba(255, 255, 255, 0.45); font-family:var(--ui-fonte-codigo, monospace); margin-top:4px;">Lat ${Number(b).toFixed(6)} &nbsp; Lon ${Number(S).toFixed(6)}</div>
923
923
  ${V}
924
924
  </div>
925
925
  `, {
@@ -928,7 +928,7 @@ class zt {
928
928
  }), q && q.length > 0 && k.on("popupopen", (C) => {
929
929
  Y(C.popup, h, i, k);
930
930
  }), k.on("click", () => {
931
- i.onMarkerClick && i.onMarkerClick(h.id, l, h, { lat: Number(y), lon: Number(S) });
931
+ i.onMarkerClick && i.onMarkerClick(h.id, l, h, { lat: Number(b), lon: Number(S) });
932
932
  });
933
933
  }
934
934
  k.addTo(e);
@@ -954,7 +954,7 @@ class It {
954
954
  a.forEach((h) => {
955
955
  var w, g, m, x, L, _, k, N, q, V;
956
956
  if (!h) return;
957
- const y = ((w = h.estilo) == null ? void 0 : w.cor) || ((g = h.estilo) == null ? void 0 : g.color) || r, S = ((m = h.estilo) == null ? void 0 : m.espessura) || ((x = h.estilo) == null ? void 0 : x.weight) || l, b = ((L = h.estilo) == null ? void 0 : L.opacidade) ?? p, M = ((_ = h.estilo) == null ? void 0 : _.fillColor) || y, I = ((k = h.estilo) == null ? void 0 : k.fillOpacity) ?? Math.min(0.2, b * 0.15), z = ((N = h.estilo) == null ? void 0 : N.dashArray) || t.estilo.dashArray || "4, 6";
957
+ const b = ((w = h.estilo) == null ? void 0 : w.cor) || ((g = h.estilo) == null ? void 0 : g.color) || r, S = ((m = h.estilo) == null ? void 0 : m.espessura) || ((x = h.estilo) == null ? void 0 : x.weight) || l, y = ((L = h.estilo) == null ? void 0 : L.opacidade) ?? p, M = ((_ = h.estilo) == null ? void 0 : _.fillColor) || b, I = ((k = h.estilo) == null ? void 0 : k.fillOpacity) ?? Math.min(0.2, y * 0.15), z = ((N = h.estilo) == null ? void 0 : N.dashArray) || t.estilo.dashArray || "4, 6";
958
958
  if (h.coordenadas && Array.isArray(h.coordenadas) && h.coordenadas.length >= 3) {
959
959
  const C = Array.isArray(h.coordenadas[0]) && Array.isArray(h.coordenadas[0][0]);
960
960
  let $;
@@ -968,9 +968,9 @@ class It {
968
968
  return B ? [B.lat, B.lon] : null;
969
969
  }).filter(Boolean), $ && (C ? ((q = $[0]) == null ? void 0 : q.length) >= 3 : $.length >= 3)) {
970
970
  const T = v.polygon($, {
971
- color: y,
971
+ color: b,
972
972
  weight: S,
973
- opacity: b,
973
+ opacity: y,
974
974
  dashArray: z,
975
975
  fillColor: M,
976
976
  fillOpacity: I,
@@ -980,7 +980,7 @@ class It {
980
980
  if (T.poligonoId = h.id, T.layerId = t.id, c) {
981
981
  let B = "";
982
982
  h.metadados && Object.keys(h.metadados).length > 0 && (B = Object.entries(h.metadados).map(([A, G]) => `<div style="font-size:11px;"><strong>${P(A)}:</strong> ${P(String(G))}</div>`).join("")), T.bindPopup(`
983
- <div style="font-family:sans-serif; color:rgba(255, 255, 255, 0.9); line-height:1.3; min-width:180px;">
983
+ <div style="font-family:var(--ui-fonte-base, sans-serif); color:rgba(255, 255, 255, 0.9); line-height:1.3; min-width:180px;">
984
984
  <div style="font-weight:700; font-size:12px; color:#c084fc; margin-bottom:3px; border-bottom:1px solid rgba(255,255,255,0.1); padding-bottom:3px;">Polígono ${P(String(h.id ?? ""))}</div>
985
985
  ${B || `<div style="font-size:11px;">Área vetorial definida por ${h.coordenadas.length} vértices</div>`}
986
986
  </div>
@@ -1007,9 +1007,9 @@ class It {
1007
1007
  G.length >= 3 && B.push(G);
1008
1008
  }), B.length > 0) {
1009
1009
  const A = B.length === 1 ? B[0] : B, G = v.polygon(A, {
1010
- color: y,
1010
+ color: b,
1011
1011
  weight: S,
1012
- opacity: b,
1012
+ opacity: y,
1013
1013
  dashArray: z,
1014
1014
  fillColor: M,
1015
1015
  fillOpacity: I,
@@ -1017,9 +1017,9 @@ class It {
1017
1017
  interactive: c
1018
1018
  });
1019
1019
  if (G.poligonoId = h.id, G.layerId = t.id, c) {
1020
- const H = h.acoes || t.acoes || ((V = t.dados) == null ? void 0 : V.acoes) || [], D = W(H, h.id);
1020
+ const H = h.acoes || t.acoes || ((V = t.dados) == null ? void 0 : V.acoes) || [], D = F(H, h.id);
1021
1021
  G.bindPopup(`
1022
- <div style="font-family:sans-serif; color:rgba(255, 255, 255, 0.9); line-height:1.3; min-width:180px;">
1022
+ <div style="font-family:var(--ui-fonte-base, sans-serif); color:rgba(255, 255, 255, 0.9); line-height:1.3; min-width:180px;">
1023
1023
  <div style="font-weight:700; font-size:12px; color:#c084fc; margin-bottom:3px; border-bottom:1px solid rgba(255,255,255,0.1); padding-bottom:3px;">${$}</div>
1024
1024
  <div style="font-size:11px; margin-bottom:2px;"><strong>Identificador:</strong> ${P(String(h.id ?? ""))}</div>
1025
1025
  ${h.nome ? `<div style="font-size:11px;"><strong>Proprietário:</strong> ${T}</div>` : ""}
@@ -1051,12 +1051,12 @@ class It {
1051
1051
  interactive: c
1052
1052
  });
1053
1053
  if (A.pontoId = C.id, A.isVizinho = !0, A.layerId = t.id, c) {
1054
- const G = C.acoes || h.acoes || t.acoes || ((T = t.dados) == null ? void 0 : T.acoes) || [], H = W(G, C.id);
1054
+ const G = C.acoes || h.acoes || t.acoes || ((T = t.dados) == null ? void 0 : T.acoes) || [], H = F(G, C.id);
1055
1055
  A.bindPopup(`
1056
- <div style="font-family:sans-serif; color:rgba(255, 255, 255, 0.9); line-height:1.3; min-width:170px;">
1056
+ <div style="font-family:var(--ui-fonte-base, sans-serif); color:rgba(255, 255, 255, 0.9); line-height:1.3; min-width:170px;">
1057
1057
  <div style="font-weight:700; font-size:12px; color:#c084fc; margin-bottom:3px;">${P(C.nome_vertice || String(C.id))}</div>
1058
1058
  <div style="font-size:11px; color:rgba(255, 255, 255, 0.65);">Confrontante: ${P(h.nome || "Desconhecido")}</div>
1059
- <div style="font-size:10px; color:rgba(255, 255, 255, 0.45); font-family:monospace; margin-top:3px;">Lat ${$.lat.toFixed(6)} &nbsp; Lon ${$.lon.toFixed(6)}</div>
1059
+ <div style="font-size:10px; color:rgba(255, 255, 255, 0.45); font-family:var(--ui-fonte-codigo, monospace); margin-top:3px;">Lat ${$.lat.toFixed(6)} &nbsp; Lon ${$.lon.toFixed(6)}</div>
1060
1060
  ${H}
1061
1061
  </div>
1062
1062
  `, { className: "compact-popup", maxWidth: 220 }), A.on("click", () => {
@@ -1089,18 +1089,18 @@ class Et {
1089
1089
  const i = v.layerGroup(), s = `pane-${t.id}`, a = () => {
1090
1090
  if (i.clearLayers(), !t.visivel) return;
1091
1091
  if (e.getZoom() > 20) {
1092
- const r = e.getBounds(), l = r.getSouth(), p = r.getNorth(), d = r.getWest(), f = r.getEast(), h = e.getCenter(), y = 8999e-9, S = Math.cos(h.lat * Math.PI / 180), b = y / (S > 0.1 ? S : 1), M = Math.floor((p - l) / y), I = Math.floor((f - d) / b);
1092
+ const r = e.getBounds(), l = r.getSouth(), p = r.getNorth(), d = r.getWest(), f = r.getEast(), h = e.getCenter(), b = 8999e-9, S = Math.cos(h.lat * Math.PI / 180), y = b / (S > 0.1 ? S : 1), M = Math.floor((p - l) / b), I = Math.floor((f - d) / y);
1093
1093
  if (M < 200 && I < 200) {
1094
- const z = Math.ceil(l / y) * y;
1095
- for (let w = z; w <= p; w += y)
1094
+ const z = Math.ceil(l / b) * b;
1095
+ for (let w = z; w <= p; w += b)
1096
1096
  v.polyline([[w, d], [w, f]], {
1097
1097
  color: t.estilo.corPrimaria || "rgba(0, 245, 160, 0.18)",
1098
1098
  weight: t.estilo.espessuraLinha || 0.6,
1099
1099
  interactive: !1,
1100
1100
  pane: s
1101
1101
  }).addTo(i);
1102
- const E = Math.ceil(d / b) * b;
1103
- for (let w = E; w <= f; w += b)
1102
+ const E = Math.ceil(d / y) * y;
1103
+ for (let w = E; w <= f; w += y)
1104
1104
  v.polyline([[l, w], [p, w]], {
1105
1105
  color: t.estilo.corPrimaria || "rgba(0, 245, 160, 0.18)",
1106
1106
  weight: t.estilo.espessuraLinha || 0.6,
@@ -1447,8 +1447,8 @@ function ht(n, t) {
1447
1447
  var a, c;
1448
1448
  if (t == null) return null;
1449
1449
  const e = String(t).trim(), o = (r) => r ? (r.lon = r.lng, r) : null, s = n.getMarkers().find((r) => {
1450
- var h, y, S, b;
1451
- const l = r.pontoId, p = r.elementoId ?? r.id ?? ((h = r.options) == null ? void 0 : h.pontoId) ?? ((y = r.options) == null ? void 0 : y.id), d = (S = r.elemento) == null ? void 0 : S.nome_vertice, f = (b = r.elemento) == null ? void 0 : b.codigo_completo;
1450
+ var h, b, S, y;
1451
+ const l = r.pontoId, p = r.elementoId ?? r.id ?? ((h = r.options) == null ? void 0 : h.pontoId) ?? ((b = r.options) == null ? void 0 : b.id), d = (S = r.elemento) == null ? void 0 : S.nome_vertice, f = (y = r.elemento) == null ? void 0 : y.codigo_completo;
1452
1452
  return String(l) === e || String(p) === e || d && String(d).toLowerCase() === e.toLowerCase() || f && String(f).toLowerCase() === e.toLowerCase();
1453
1453
  });
1454
1454
  if (s && typeof s.getLatLng == "function")
@@ -1457,9 +1457,9 @@ function ht(n, t) {
1457
1457
  for (const r of n.layerManager.getAllLayerInstances()) {
1458
1458
  let l = null;
1459
1459
  const p = (d) => {
1460
- var y, S, b, M, I;
1460
+ var b, S, y, M, I;
1461
1461
  if (l) return;
1462
- const f = d.pontoId ?? d.elementoId ?? d.id ?? ((y = d.options) == null ? void 0 : y.id) ?? ((S = d.options) == null ? void 0 : S.pontoId), h = ((b = d.elemento) == null ? void 0 : b.nome) ?? ((M = d.elemento) == null ? void 0 : M.nome_vertice) ?? ((I = d.options) == null ? void 0 : I.nome);
1462
+ const f = d.pontoId ?? d.elementoId ?? d.id ?? ((b = d.options) == null ? void 0 : b.id) ?? ((S = d.options) == null ? void 0 : S.pontoId), h = ((y = d.elemento) == null ? void 0 : y.nome) ?? ((M = d.elemento) == null ? void 0 : M.nome_vertice) ?? ((I = d.options) == null ? void 0 : I.nome);
1463
1463
  (String(f) === e || h && String(h).toLowerCase() === e.toLowerCase()) && (typeof d.getLatLng == "function" ? l = d.getLatLng() : typeof d.getBounds == "function" && (l = d.getBounds().getCenter()));
1464
1464
  };
1465
1465
  if (p(r), typeof r.eachLayer == "function" && r.eachLayer(p), l) return o(l);
@@ -1490,7 +1490,7 @@ function ht(n, t) {
1490
1490
  if (r.pontos && r.pontos.length > 0) {
1491
1491
  let l = 0, p = 0, d = 0;
1492
1492
  for (const f of r.pontos) {
1493
- const h = f.lat ?? f.latitude ?? f.y, y = f.lon ?? f.lng ?? f.longitude ?? f.x, S = O(h, y);
1493
+ const h = f.lat ?? f.latitude ?? f.y, b = f.lon ?? f.lng ?? f.longitude ?? f.x, S = O(h, b);
1494
1494
  S && (l += S.lat, p += S.lon, d++);
1495
1495
  }
1496
1496
  if (d > 0)
@@ -1535,8 +1535,8 @@ function ht(n, t) {
1535
1535
  if (Array.isArray(l.coordenadas) && l.coordenadas.length > 0) {
1536
1536
  let p = 0, d = 0, f = 0;
1537
1537
  for (const h of l.coordenadas) {
1538
- const y = O(h[0], h[1]) || O(h[1], h[0]);
1539
- y && (p += y.lat, d += y.lon, f++);
1538
+ const b = O(h[0], h[1]) || O(h[1], h[0]);
1539
+ b && (p += b.lat, d += b.lon, f++);
1540
1540
  }
1541
1541
  if (f > 0) return o(v.latLng(p / f, d / f));
1542
1542
  }
@@ -1547,7 +1547,7 @@ function ht(n, t) {
1547
1547
  return null;
1548
1548
  }
1549
1549
  function Ht(n, t, e, o) {
1550
- var h, y;
1550
+ var h, b;
1551
1551
  tt(t, n.getMap());
1552
1552
  const i = n.getMap();
1553
1553
  if (!i) return;
@@ -1579,7 +1579,7 @@ function Ht(n, t, e, o) {
1579
1579
  interactive: !1,
1580
1580
  keyboard: !1
1581
1581
  }), t.destaqueMarker.addTo(i);
1582
- const f = (y = (h = t.destaqueMarker).getElement) == null ? void 0 : y.call(h);
1582
+ const f = (b = (h = t.destaqueMarker).getElement) == null ? void 0 : b.call(h);
1583
1583
  f && (f.style.pointerEvents = "none"), o != null && o.duracaoMs && o.duracaoMs > 0 && (t.destaqueTimeoutId = window.setTimeout(() => {
1584
1584
  tt(t, i);
1585
1585
  }, o.duracaoMs));
@@ -1622,7 +1622,7 @@ function Rt(n, t) {
1622
1622
  return i !== void 0 && (!o.pontos || o.pontos.length === 0) && e.has(i) ? { ...o, pontos: e.get(i) } : { ...o };
1623
1623
  });
1624
1624
  }
1625
- function Ft(n, t, e = !1) {
1625
+ function Wt(n, t, e = !1) {
1626
1626
  let o = [...n];
1627
1627
  e && t && t.forEach((s) => {
1628
1628
  s.pontos && o.push(...s.pontos);
@@ -1633,7 +1633,7 @@ function Ft(n, t, e = !1) {
1633
1633
  }).filter((s) => s !== null);
1634
1634
  return i.length === 1 ? { single: i[0] } : i.length > 1 ? { bounds: v.latLngBounds(i) } : null;
1635
1635
  }
1636
- function Wt(n, t) {
1636
+ function Ft(n, t) {
1637
1637
  const e = [], o = /* @__PURE__ */ new Set(), i = (s) => {
1638
1638
  s instanceof v.Marker && s.pontoId !== void 0 && !o.has(s) && (o.add(s), e.push(s));
1639
1639
  };
@@ -1892,7 +1892,7 @@ class oe {
1892
1892
  }
1893
1893
  fitBounds(t, e = [40, 40], o = !1) {
1894
1894
  if (!this.core.map) return;
1895
- const i = Ft(t || this.context.pontos || [], this.context.confrontantes, o);
1895
+ const i = Wt(t || this.context.pontos || [], this.context.confrontantes, o);
1896
1896
  if (i) {
1897
1897
  i.single ? this.core.map.setView(i.single, 18) : i.bounds && (this.core.map.fitBounds(i.bounds, { padding: e }), this.core.map.once("moveend", () => {
1898
1898
  this.core.preCarregarTilesRegiao(i.bounds);
@@ -1904,7 +1904,7 @@ class oe {
1904
1904
  }
1905
1905
  }
1906
1906
  getMarkers() {
1907
- return Wt(this.core.map, this.layerManager);
1907
+ return Ft(this.core.map, this.layerManager);
1908
1908
  }
1909
1909
  getVizinhosMarkers() {
1910
1910
  return this.getMarkers().filter((t) => !!t.isVizinho);
@@ -1947,8 +1947,8 @@ function ie(n, t, e, o) {
1947
1947
  p && parseInt(p.value, 10) !== f && (p.value = String(f)), d && (d.textContent = `${f}%`);
1948
1948
  const h = a.querySelector(".btn-lock-layer");
1949
1949
  h && (h.classList.toggle("active", !!s.bloqueada), h.title = s.bloqueada ? "Desbloquear Camada" : "Bloquear Camada");
1950
- const y = a.querySelector(".btn-toggle-scale-mode");
1951
- y && ((c = s.estilo) != null && c.scaleMode) && (y.textContent = ((r = s.estilo) == null ? void 0 : r.scaleMode) === "world" ? "Métrico" : "Tela");
1950
+ const b = a.querySelector(".btn-toggle-scale-mode");
1951
+ b && ((c = s.estilo) != null && c.scaleMode) && (b.textContent = ((r = s.estilo) == null ? void 0 : r.scaleMode) === "world" ? "Métrico" : "Tela");
1952
1952
  }
1953
1953
  });
1954
1954
  return;
@@ -1977,7 +1977,7 @@ function ie(n, t, e, o) {
1977
1977
  <div class="layer-controls-row">
1978
1978
  <span>Opacidade</span>
1979
1979
  <input type="range" min="0" max="100" value="${Math.round(s.opacidade * 100)}" class="layer-opacity-slider" data-layer-id="${s.id}" />
1980
- <span class="opacity-percent-label" style="font-family:monospace; font-size:9px; width:28px; text-align:right;">${Math.round(s.opacidade * 100)}%</span>
1980
+ <span class="opacity-percent-label" style="font-family:var(--ui-fonte-codigo, monospace); font-size:9px; width:28px; text-align:right;">${Math.round(s.opacidade * 100)}%</span>
1981
1981
  </div>
1982
1982
  </div>
1983
1983
  `;
@@ -2015,12 +2015,12 @@ function ie(n, t, e, o) {
2015
2015
  });
2016
2016
  }
2017
2017
  function ne(n, t, e, o) {
2018
- var b, M, I, z, E, w;
2018
+ var y, M, I, z, E, w;
2019
2019
  if (n.modoSequencial || n.controller.canvasInteracao.selectionHappened || n.controller.canvasInteracao.panHappened || n.mouseMovedSinceDown) return !1;
2020
2020
  const i = (t == null ? void 0 : t.originalEvent) || t, s = typeof (i == null ? void 0 : i.composedPath) == "function" ? i.composedPath() : [], a = s.length > 0 ? s[0] : (i == null ? void 0 : i.target) || (t == null ? void 0 : t.target);
2021
2021
  if (a) {
2022
2022
  const g = '.custom-leaflet-marker, .leaflet-marker-icon, .leaflet-interactive, .compact-popup, .leaflet-popup, .ui-popup-btn, .cad-btn-tool, .qgis-layer-panel, [class*="leaflet-marker"], [class*="leaflet-popup"]';
2023
- if (((b = a.matches) == null ? void 0 : b.call(a, g)) || ((M = a.closest) == null ? void 0 : M.call(a, g))) return !1;
2023
+ if (((y = a.matches) == null ? void 0 : y.call(a, g)) || ((M = a.closest) == null ? void 0 : M.call(a, g))) return !1;
2024
2024
  }
2025
2025
  const c = n.controller.getMap();
2026
2026
  if (!c || !n.mapContainer) return !1;
@@ -2042,7 +2042,7 @@ function ne(n, t, e, o) {
2042
2042
  const g = c.containerPointToLatLng(v.point(p.x, p.y));
2043
2043
  d = g.lat, f = g.lng;
2044
2044
  }
2045
- const y = n.controller.layerManager ? n.controller.layerManager.getLayers().filter((g) => g.visivel).map((g) => g.id) : [], S = i;
2045
+ const b = n.controller.layerManager ? n.controller.layerManager.getLayers().filter((g) => g.visivel).map((g) => g.id) : [], S = i;
2046
2046
  return n.host.dispatchEvent(new CustomEvent("ui-canvas-clique", {
2047
2047
  detail: {
2048
2048
  coordenadas: {
@@ -2054,7 +2054,7 @@ function ne(n, t, e, o) {
2054
2054
  lat: d,
2055
2055
  lon: f,
2056
2056
  lng: f,
2057
- camadasAtivas: y
2057
+ camadasAtivas: b
2058
2058
  },
2059
2059
  bubbles: !0,
2060
2060
  composed: !0
@@ -2370,7 +2370,7 @@ class de {
2370
2370
  return this.contexto.obterController().getVizinhosMarkers();
2371
2371
  }
2372
2372
  }
2373
- const pe = ':host{display:block;width:100%;height:520px;position:relative;border-radius:var(--ui-radius-lg, 10px);overflow:hidden;box-shadow:0 10px 30px -5px #0009;border:1px solid rgba(255,255,255,.1);background:#080d0a;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;user-select:none;-webkit-user-select:none}*,*:before,*:after{box-sizing:border-box}.cad-root{position:relative;width:100%;height:100%;display:flex;overflow:hidden}.cad-map-container{width:100%;height:100%;background:#080d0a;z-index:1}.qgis-layer-panel{position:absolute;top:12px;left:12px;z-index:var(--ui-z-workspace-hud, 500);width:290px;max-height:calc(100% - 24px);background:#0a120eeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);border-radius:8px;box-shadow:0 20px 40px #000000b3;display:flex;flex-direction:column;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s ease;overflow:hidden}.qgis-layer-panel.collapsed{transform:translate(-310px);opacity:0;pointer-events:none}.layer-panel-header{padding:10px 14px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between}.layer-panel-title{font-size:12px;font-weight:700;letter-spacing:.5px;color:#00f5a0;display:flex;align-items:center;gap:6px;text-transform:uppercase}.layer-panel-close{background:transparent;border:none;color:#ffffff80;cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s}.layer-panel-close:hover{color:#fff;background:#ffffff1a}.layer-panel-body{padding:8px 10px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;max-height:400px}.layer-panel-body::-webkit-scrollbar{width:5px}.layer-panel-body::-webkit-scrollbar-track{background:transparent}.layer-panel-body::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.layer-panel-body::-webkit-scrollbar-thumb:hover{background:#00f5a066}.layer-item{background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.08);border-radius:0;padding:4px;display:flex;flex-direction:column;gap:3px;transition:background .15s ease}.layer-item:last-child{border-bottom:none}.layer-item:hover{background:#ffffff08;border-radius:4px}.layer-item-row{display:flex;align-items:center;justify-content:space-between;min-height:18px}.layer-item-label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;line-height:1.2;color:#ffffffe6;cursor:pointer;-webkit-user-select:none;user-select:none}.layer-chk-visibility{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:14px;height:14px;border:1px solid rgba(255,255,255,.4);border-radius:3px;background:#0006;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative;transition:all .15s ease;flex-shrink:0;margin:0}.layer-chk-visibility:hover{border-color:#00f5a0}.layer-chk-visibility:checked{background:#00f5a0;border-color:#00f5a0}.layer-chk-visibility:checked:after{content:"";width:3.5px;height:7px;border:solid #04150c;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-.5px);display:block}.layer-item-actions{display:flex;align-items:center;gap:4px}.btn-layer-action{background:transparent;border:none;color:#fff6;cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:all .15s}.btn-layer-action:hover{color:#00f5a0;background:#ffffff14}.btn-layer-action.active{color:#f43f5e;background:#f43f5e26}.layer-controls-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9.5px;line-height:1;color:#ffffff80;padding-left:21px}.layer-opacity-slider{flex:1;height:3px;margin:0;border-radius:2px;background:#ffffff26;accent-color:#00f5a0;cursor:pointer}.scale-mode-pill{font-size:8.5px;font-weight:600;padding:1px 6px;border-radius:6px;background:#ffffff0f;color:#ffffffb3;cursor:pointer;border:1px solid rgba(255,255,255,.1);transition:all .15s;line-height:1.2}.scale-mode-pill:hover{border-color:#00f5a0;color:#00f5a0;background:#00f5a01a}.cad-quick-toolbar{position:absolute;top:12px;right:12px;z-index:var(--ui-z-workspace-hud, 500);display:flex;flex-direction:column;gap:6px;background:#0c1510eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:5px;box-shadow:0 10px 25px -5px #0009}.cad-btn-tool{background:transparent;border:none;color:#fff9;cursor:pointer;padding:7px;border-radius:5px;display:flex;align-items:center;justify-content:center;transition:all .15s}.cad-btn-tool:hover{background:#ffffff1a;color:#fff}.cad-btn-tool.active{background:#00f5a026;color:#00f5a0;border:1px solid rgba(0,245,160,.3)}.cad-selection-box{pointer-events:none;box-sizing:border-box}.custom-leaflet-marker{cursor:pointer}.custom-leaflet-marker:hover{filter:brightness(1.25);transform:scale(1.15);transition:transform .15s ease}.leaflet-popup-content-wrapper{background:#0f1712!important;color:#f8fafc!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:8px!important;box-shadow:0 10px 25px #0009!important;padding:0!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important}.leaflet-popup-tip{background:#0f1712!important;border:1px solid rgba(255,255,255,.15)!important;box-shadow:none!important}.leaflet-popup-close-button{color:#fff9!important;padding:6px!important;transition:color .15s ease}.leaflet-popup-close-button:hover{color:#fff!important}.leaflet-popup-content{margin:12px 14px!important;line-height:1.4;font-family:inherit;color:#f8fafc}.compact-popup .leaflet-popup-content{margin:10px 12px!important}.ui-popup-actions-footer{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);justify-content:flex-end;align-items:center;flex-wrap:wrap}.ui-popup-btn{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:11px;font-weight:500;padding:4px 9px;border-radius:var(--ui-raio-borda, var(--ui-radius-sm, 6px));cursor:pointer;transition:all .15s ease;border:1px solid transparent;outline:none;line-height:1.25;-webkit-user-select:none;user-select:none}.ui-popup-btn-primary{background:var(--ui-cor-primaria, #00f5a0);color:#080d0a;font-weight:600;border-color:var(--ui-cor-primaria, #00f5a0)}.ui-popup-btn-primary:hover{filter:brightness(1.1);box-shadow:0 0 10px #00f5a059}.ui-popup-btn-secondary{background:#ffffff14;color:#fff;border-color:#ffffff2e}.ui-popup-btn-secondary:hover{background:#ffffff29;border-color:#ffffff4d}.ui-popup-btn-destrutivo{background:#ef444426;color:#f87171;border-color:#ef444459}.ui-popup-btn-destrutivo:hover{background:#ef444440;border-color:#ef444499;color:#fff}@media (max-width: 520px){.qgis-layer-panel{top:8px;left:8px;right:8px;width:auto;max-height:calc(100% - 16px)}.qgis-layer-panel.collapsed{transform:translateY(-115%)}.layer-panel-close{min-width:36px;min-height:36px;font-size:16px}.layer-action-btn{min-width:32px;min-height:32px}}.cad-destaque-marker-container{pointer-events:none!important;background:transparent!important;border:none!important;overflow:visible!important}.cad-destaque-marker-container *{pointer-events:none!important}.cad-pulse-highlight{position:relative;width:52px;height:52px;display:flex;align-items:center;justify-content:center;pointer-events:none!important;user-select:none;-webkit-user-select:none}.cad-pulse-core{position:absolute;width:14px;height:14px;border-radius:50%;background-color:var(--cad-pulse-cor, #00f5a0);box-shadow:0 0 10px var(--cad-pulse-cor, #00f5a0),0 0 20px var(--cad-pulse-cor, #00f5a0);pointer-events:none!important;animation:cad-pulse-glow 1.4s ease-in-out infinite alternate}.cad-pulse-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:2.5px solid var(--cad-pulse-cor, #00f5a0);box-shadow:0 0 10px var(--cad-pulse-cor, #00f5a0);pointer-events:none!important;opacity:0;animation:cad-pulse-ping 1.8s cubic-bezier(0,0,.2,1) infinite}.cad-pulse-ring.ring-2{animation-delay:.6s}@keyframes cad-pulse-ping{0%{transform:scale(.35);opacity:.95}60%{opacity:.5}to{transform:scale(2.5);opacity:0}}@keyframes cad-pulse-glow{0%{transform:scale(.85);opacity:.8}to{transform:scale(1.15);opacity:1;box-shadow:0 0 14px var(--cad-pulse-cor, #00f5a0),0 0 26px var(--cad-pulse-cor, #00f5a0)}}.cad-marker-selected,.ponto-selecionado{z-index:2000!important}.cad-marker-selected>div,.ponto-selecionado>div{animation:cad-ponto-pulse 1.8s ease-in-out infinite alternate!important}@keyframes cad-ponto-pulse{0%{filter:drop-shadow(0 0 3px #ffffff) drop-shadow(0 0 6px #00f5a0)}to{filter:drop-shadow(0 0 6px #ffffff) drop-shadow(0 0 16px #00f5a0)}}.ui-popup-actions-footer{margin-top:8px;padding-top:6px;border-top:1px solid rgba(255,255,255,.12);display:flex;gap:6px;flex-wrap:wrap}.ui-popup-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;font-size:11px;font-weight:600;border-radius:4px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#fff;cursor:pointer;line-height:1.2;transition:all .15s ease;-webkit-user-select:none;user-select:none}.ui-popup-btn:hover{background:#ffffff2e;border-color:#ffffff4d}.ui-popup-btn-primary{background:#00f5a0;color:#06130b;border-color:#00f5a0}.ui-popup-btn-primary:hover{background:#10ffad;box-shadow:0 0 8px #00f5a066}.ui-popup-btn-danger{background:#f43f5e33;color:#f43f5e;border-color:#f43f5e66}.ui-popup-btn-danger:hover{background:#f43f5e59;color:#fff}';
2373
+ const pe = ':host{display:block;width:100%;height:520px;position:relative;border-radius:var(--ui-raio-lg, 10px);overflow:hidden;box-shadow:0 10px 30px -5px #0009;border:1px solid rgba(255,255,255,.1);background:#080d0a;color:#fff;font-family:var(--ui-fonte-base, "Inter", sans-serif);user-select:none;-webkit-user-select:none}*,*:before,*:after{box-sizing:border-box}.cad-root{position:relative;width:100%;height:100%;display:flex;overflow:hidden}.cad-map-container{width:100%;height:100%;background:#080d0a;z-index:1}.qgis-layer-panel{position:absolute;top:12px;left:12px;z-index:var(--ui-z-workspace-hud, 500);width:290px;max-height:calc(100% - 24px);background:#0a120eeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);border-radius:8px;box-shadow:0 20px 40px #000000b3;display:flex;flex-direction:column;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s ease;overflow:hidden}.qgis-layer-panel.collapsed{transform:translate(-310px);opacity:0;pointer-events:none}.layer-panel-header{padding:10px 14px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between}.layer-panel-title{font-size:12px;font-weight:700;letter-spacing:.5px;color:#00f5a0;display:flex;align-items:center;gap:6px;text-transform:uppercase}.layer-panel-close{background:transparent;border:none;color:#ffffff80;cursor:pointer;padding:2px;border-radius:var(--ui-raio-sm, 4px);display:flex;align-items:center;justify-content:center;transition:all .15s}.layer-panel-close:hover{color:#fff;background:#ffffff1a}.layer-panel-body{padding:8px 10px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;max-height:400px}.layer-panel-body::-webkit-scrollbar{width:5px}.layer-panel-body::-webkit-scrollbar-track{background:transparent}.layer-panel-body::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--ui-raio-sm, 4px)}.layer-panel-body::-webkit-scrollbar-thumb:hover{background:#00f5a066}.layer-item{background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.08);border-radius:0;padding:4px;display:flex;flex-direction:column;gap:3px;transition:background .15s ease}.layer-item:last-child{border-bottom:none}.layer-item:hover{background:#ffffff08;border-radius:var(--ui-raio-sm, 4px)}.layer-item-row{display:flex;align-items:center;justify-content:space-between;min-height:18px}.layer-item-label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;line-height:1.2;color:#ffffffe6;cursor:pointer;-webkit-user-select:none;user-select:none}.layer-chk-visibility{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:14px;height:14px;border:1px solid rgba(255,255,255,.4);border-radius:3px;background:#0006;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative;transition:all .15s ease;flex-shrink:0;margin:0}.layer-chk-visibility:hover{border-color:#00f5a0}.layer-chk-visibility:checked{background:#00f5a0;border-color:#00f5a0}.layer-chk-visibility:checked:after{content:"";width:3.5px;height:7px;border:solid #04150c;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-.5px);display:block}.layer-item-actions{display:flex;align-items:center;gap:4px}.btn-layer-action{background:transparent;border:none;color:#fff6;cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:all .15s}.btn-layer-action:hover{color:#00f5a0;background:#ffffff14}.btn-layer-action.active{color:#f43f5e;background:#f43f5e26}.layer-controls-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9.5px;line-height:1;color:#ffffff80;padding-left:21px}.layer-opacity-slider{flex:1;height:3px;margin:0;border-radius:2px;background:#ffffff26;accent-color:#00f5a0;cursor:pointer}.scale-mode-pill{font-size:8.5px;font-weight:600;padding:1px 6px;border-radius:6px;background:#ffffff0f;color:#ffffffb3;cursor:pointer;border:1px solid rgba(255,255,255,.1);transition:all .15s;line-height:1.2}.scale-mode-pill:hover{border-color:#00f5a0;color:#00f5a0;background:#00f5a01a}.cad-quick-toolbar{position:absolute;top:12px;right:12px;z-index:var(--ui-z-workspace-hud, 500);display:flex;flex-direction:column;gap:6px;background:#0c1510eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:5px;box-shadow:0 10px 25px -5px #0009}.cad-btn-tool{background:transparent;border:none;color:#fff9;cursor:pointer;padding:7px;border-radius:5px;display:flex;align-items:center;justify-content:center;transition:all .15s}.cad-btn-tool:hover{background:#ffffff1a;color:#fff}.cad-btn-tool.active{background:#00f5a026;color:#00f5a0;border:1px solid rgba(0,245,160,.3)}.cad-selection-box{pointer-events:none;box-sizing:border-box}.custom-leaflet-marker{cursor:pointer}.custom-leaflet-marker:hover{filter:brightness(1.25);transform:scale(1.15);transition:transform .15s ease}.leaflet-popup-content-wrapper{background:#0f1712!important;color:#f8fafc!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:8px!important;box-shadow:0 10px 25px #0009!important;padding:0!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important}.leaflet-popup-tip{background:#0f1712!important;border:1px solid rgba(255,255,255,.15)!important;box-shadow:none!important}.leaflet-popup-close-button{color:#fff9!important;padding:6px!important;transition:color .15s ease}.leaflet-popup-close-button:hover{color:#fff!important}.leaflet-popup-content{margin:12px 14px!important;line-height:1.4;font-family:inherit;color:#f8fafc}.compact-popup .leaflet-popup-content{margin:10px 12px!important}.ui-popup-actions-footer{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);justify-content:flex-end;align-items:center;flex-wrap:wrap}.ui-popup-btn{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:11px;font-weight:500;padding:4px 9px;border-radius:var(--ui-raio-borda, 6px);cursor:pointer;transition:all .15s ease;border:1px solid transparent;outline:none;line-height:1.25;-webkit-user-select:none;user-select:none}.ui-popup-btn-primary{background:var(--ui-cor-primaria, #00f5a0);color:#080d0a;font-weight:600;border-color:var(--ui-cor-primaria, #00f5a0)}.ui-popup-btn-primary:hover{filter:brightness(1.1);box-shadow:0 0 10px #00f5a059}.ui-popup-btn-secondary{background:#ffffff14;color:#fff;border-color:#ffffff2e}.ui-popup-btn-secondary:hover{background:#ffffff29;border-color:#ffffff4d}.ui-popup-btn-destrutivo{background:#ef444426;color:#f87171;border-color:#ef444459}.ui-popup-btn-destrutivo:hover{background:#ef444440;border-color:#ef444499;color:#fff}@media (max-width: 520px){.qgis-layer-panel{top:8px;left:8px;right:8px;width:auto;max-height:calc(100% - 16px)}.qgis-layer-panel.collapsed{transform:translateY(-115%)}.layer-panel-close{min-width:36px;min-height:36px;font-size:16px}.layer-action-btn{min-width:32px;min-height:32px}}.cad-destaque-marker-container{pointer-events:none!important;background:transparent!important;border:none!important;overflow:visible!important}.cad-destaque-marker-container *{pointer-events:none!important}.cad-pulse-highlight{position:relative;width:52px;height:52px;display:flex;align-items:center;justify-content:center;pointer-events:none!important;user-select:none;-webkit-user-select:none}.cad-pulse-core{position:absolute;width:14px;height:14px;border-radius:50%;background-color:var(--cad-pulse-cor, #00f5a0);box-shadow:0 0 10px var(--cad-pulse-cor, #00f5a0),0 0 20px var(--cad-pulse-cor, #00f5a0);pointer-events:none!important;animation:cad-pulse-glow 1.4s ease-in-out infinite alternate}.cad-pulse-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:2.5px solid var(--cad-pulse-cor, #00f5a0);box-shadow:0 0 10px var(--cad-pulse-cor, #00f5a0);pointer-events:none!important;opacity:0;animation:cad-pulse-ping 1.8s cubic-bezier(0,0,.2,1) infinite}.cad-pulse-ring.ring-2{animation-delay:.6s}@keyframes cad-pulse-ping{0%{transform:scale(.35);opacity:.95}60%{opacity:.5}to{transform:scale(2.5);opacity:0}}@keyframes cad-pulse-glow{0%{transform:scale(.85);opacity:.8}to{transform:scale(1.15);opacity:1;box-shadow:0 0 14px var(--cad-pulse-cor, #00f5a0),0 0 26px var(--cad-pulse-cor, #00f5a0)}}.cad-marker-selected,.ponto-selecionado{z-index:2000!important}.cad-marker-selected>div,.ponto-selecionado>div{animation:cad-ponto-pulse 1.8s ease-in-out infinite alternate!important}@keyframes cad-ponto-pulse{0%{filter:drop-shadow(0 0 3px #ffffff) drop-shadow(0 0 6px #00f5a0)}to{filter:drop-shadow(0 0 6px #ffffff) drop-shadow(0 0 16px #00f5a0)}}.ui-popup-actions-footer{margin-top:8px;padding-top:6px;border-top:1px solid rgba(255,255,255,.12);display:flex;gap:6px;flex-wrap:wrap}.ui-popup-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;font-size:11px;font-weight:600;border-radius:var(--ui-raio-sm, 4px);border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#fff;cursor:pointer;line-height:1.2;transition:all .15s ease;-webkit-user-select:none;user-select:none}.ui-popup-btn:hover{background:#ffffff2e;border-color:#ffffff4d}.ui-popup-btn-primary{background:#00f5a0;color:#06130b;border-color:#00f5a0}.ui-popup-btn-primary:hover{background:#10ffad;box-shadow:0 0 8px #00f5a066}.ui-popup-btn-danger{background:#f43f5e33;color:#f43f5e;border-color:#f43f5e66}.ui-popup-btn-danger:hover{background:#f43f5e59;color:#fff}';
2374
2374
  function he() {
2375
2375
  return `
2376
2376
  <style>
@@ -2813,7 +2813,7 @@ class we {
2813
2813
  dashArray: a === "LN1" ? "6, 6" : void 0,
2814
2814
  pane: "perimetroPane"
2815
2815
  }).bindPopup(`
2816
- <div style="font-family:sans-serif; color:rgba(255, 255, 255, 0.9); line-height:1.3;">
2816
+ <div style="font-family:var(--ui-fonte-base, sans-serif); color:rgba(255, 255, 255, 0.9); line-height:1.3;">
2817
2817
  <div style="font-weight:700; font-size:12px; margin-bottom:3px; color:#ffffff;">${P(i.nome_vertice)} ↔ ${P(s.nome_vertice)}</div>
2818
2818
  <div style="font-size:11px; color:rgba(255, 255, 255, 0.65);">Limite: ${P(a)} · ${P(c)}</div>
2819
2819
  </div>
@@ -2836,8 +2836,8 @@ class we {
2836
2836
  Object.values(i).forEach((d) => {
2837
2837
  const f = J(d);
2838
2838
  if (f.length < 2) return;
2839
- for (let b = 0; b < f.length - 1; b++) {
2840
- const M = f[b], I = f[b + 1], z = v.polyline([[M.lat, M.lon], [I.lat, I.lon]], {
2839
+ for (let y = 0; y < f.length - 1; y++) {
2840
+ const M = f[y], I = f[y + 1], z = v.polyline([[M.lat, M.lon], [I.lat, I.lon]], {
2841
2841
  color: s,
2842
2842
  weight: a,
2843
2843
  opacity: c,
@@ -2845,7 +2845,7 @@ class we {
2845
2845
  }).addTo(this.core.map);
2846
2846
  this.polylines.push(z);
2847
2847
  }
2848
- const h = f[f.length - 1], y = f[0], S = v.polyline([[h.lat, h.lon], [y.lat, y.lon]], {
2848
+ const h = f[f.length - 1], b = f[0], S = v.polyline([[h.lat, h.lon], [b.lat, b.lon]], {
2849
2849
  color: s,
2850
2850
  weight: a,
2851
2851
  opacity: c,
@@ -2871,11 +2871,11 @@ class we {
2871
2871
  className: "banco-leaflet-marker",
2872
2872
  iconSize: [18, 18]
2873
2873
  }), d = `
2874
- <div style="font-family:sans-serif; color:rgba(255, 255, 255, 0.9); line-height:1.35; min-width:180px;">
2874
+ <div style="font-family:var(--ui-fonte-base, sans-serif); color:rgba(255, 255, 255, 0.9); line-height:1.35; min-width:180px;">
2875
2875
  <div style="font-weight:800; font-size:11px; color:#fbbf24; text-transform:uppercase; letter-spacing:0.5px; border-bottom:1px solid rgba(255, 255, 255, 0.1); padding-bottom:3px; margin-bottom:5px;">Vértice Homologado SIGEF</div>
2876
2876
  <div style="font-weight:700; font-size:13px; margin-bottom:3px; color:#ffffff;">${P(r.codigo_completo || r.nome_vertice)}</div>
2877
- <div style="font-size:11px; color:rgba(255, 255, 255, 0.7); font-family:monospace;">Este (E): ${r.este ? r.este.toFixed(2) : "N/A"} m</div>
2878
- <div style="font-size:11px; color:rgba(255, 255, 255, 0.7); font-family:monospace; margin-bottom:3px;">Norte (N): ${r.norte ? r.norte.toFixed(2) : "N/A"} m</div>
2877
+ <div style="font-size:11px; color:rgba(255, 255, 255, 0.7); font-family:var(--ui-fonte-codigo, monospace);">Este (E): ${r.este ? r.este.toFixed(2) : "N/A"} m</div>
2878
+ <div style="font-size:11px; color:rgba(255, 255, 255, 0.7); font-family:var(--ui-fonte-codigo, monospace); margin-bottom:3px;">Norte (N): ${r.norte ? r.norte.toFixed(2) : "N/A"} m</div>
2879
2879
  <div style="font-size:11px; color:rgba(255, 255, 255, 0.7); margin-bottom:2px;">Alt (h): <strong>${r.altitude ? r.altitude.toFixed(2) : "N/A"} m</strong></div>
2880
2880
  <div style="font-size:10px; color:rgba(255, 255, 255, 0.45);">Método: ${P(r.metodo_posicionamento) || "N/A"} · Limite: ${P(r.tipo_limite) || "N/A"}</div>
2881
2881
  ${r.confrontante_descritivo ? `<div style="font-size:10px; color:rgba(255, 255, 255, 0.65); border-top:1px solid rgba(255, 255, 255, 0.1); padding-top:4px; margin-top:4px; word-break:break-word;"><strong>Conf:</strong> ${P(r.confrontante_descritivo)}</div>` : ""}
@@ -2921,19 +2921,19 @@ class Ce {
2921
2921
  const c = o.tipo_ponto === "B" || o.tipo === "B", r = o.tipo_ponto === "M" || o.tipo === "M";
2922
2922
  let l = "bg-mint-vibrant", p = "x", d = 7;
2923
2923
  r ? (l = "bg-indigo-500", d = 9) : c && (l = "bg-rose-500", d = 9);
2924
- const f = this.core.config.enableAnimations ? "transition-all duration-150" : "", h = (s = (i = this.controller) == null ? void 0 : i.linhas) != null && s.bancoPontosAtivo ? "opacity-40 hover:opacity-100" : "", y = Z(p, d, l, `${f} ${h}`, `map-marker-${o.id}`), S = v.divIcon({
2925
- html: y,
2924
+ const f = this.core.config.enableAnimations ? "transition-all duration-150" : "", h = (s = (i = this.controller) == null ? void 0 : i.linhas) != null && s.bancoPontosAtivo ? "opacity-40 hover:opacity-100" : "", b = Z(p, d, l, `${f} ${h}`, `map-marker-${o.id}`), S = v.divIcon({
2925
+ html: b,
2926
2926
  className: "custom-leaflet-marker flex items-center justify-center",
2927
2927
  iconSize: [d + 6, d + 6]
2928
- }), b = r ? "Base Homologada PPP" : c ? "Base de Campo (Translação)" : "Vértice de Perímetro", M = v.marker([o.lat, o.lon], {
2928
+ }), y = r ? "Base Homologada PPP" : c ? "Base de Campo (Translação)" : "Vértice de Perímetro", M = v.marker([o.lat, o.lon], {
2929
2929
  icon: S,
2930
2930
  pane: "verticesPane"
2931
2931
  });
2932
2932
  M.pontoId = o.id, (a = this.controller) != null && a.modoCliqueSequencialAtivo || M.bindPopup(`
2933
- <div style="font-family:sans-serif; color:rgba(255, 255, 255, 0.9); line-height:1.3;">
2933
+ <div style="font-family:var(--ui-fonte-base, sans-serif); color:rgba(255, 255, 255, 0.9); line-height:1.3;">
2934
2934
  <div style="font-weight:700; font-size:13px; margin-bottom:4px; color:#ffffff;">${P(o.nome_vertice)}</div>
2935
- <div style="font-size:11px; color:rgba(255, 255, 255, 0.65);">${P(b)} · ${P(o.tipo_ponto || o.tipo)}</div>
2936
- <div style="font-size:11px; color:rgba(255, 255, 255, 0.45); font-family:monospace; margin-top:4px;">Lat ${o.lat.toFixed(6)} &nbsp; Lon ${o.lon.toFixed(6)}</div>
2935
+ <div style="font-size:11px; color:rgba(255, 255, 255, 0.65);">${P(y)} · ${P(o.tipo_ponto || o.tipo)}</div>
2936
+ <div style="font-size:11px; color:rgba(255, 255, 255, 0.45); font-family:var(--ui-fonte-codigo, monospace); margin-top:4px;">Lat ${o.lat.toFixed(6)} &nbsp; Lon ${o.lon.toFixed(6)}</div>
2937
2937
  </div>
2938
2938
  `, {
2939
2939
  className: "compact-popup",
@@ -3076,7 +3076,7 @@ export {
3076
3076
  O as parseCoordenada,
3077
3077
  se as processarAcaoPopup,
3078
3078
  ne as processarCliqueLivreCanvas,
3079
- W as renderPopupAcoesHtml,
3079
+ F as renderPopupAcoesHtml,
3080
3080
  ie as renderizarPainelCamadas,
3081
3081
  ae as tratarCliqueMarcador
3082
3082
  };