@thibezer/ui-components-kit 2.17.1 → 2.17.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/camadas.cjs +80 -83
- package/dist/camadas.js +1131 -869
- package/dist/components/ui-camadas/camadas-arvore-renderer.d.ts +1 -0
- package/dist/components/ui-camadas/camadas-atualizacao-incremental.d.ts +1 -0
- package/dist/components/ui-camadas/camadas-colecao.d.ts +1 -0
- package/dist/components/ui-camadas/camadas-drag-drop.d.ts +2 -0
- package/dist/components/ui-camadas/camadas-drop-ops.d.ts +34 -0
- package/dist/components/ui-camadas/camadas-lembranca.d.ts +2 -1
- package/dist/components/ui-camadas/camadas-persistencia.d.ts +3 -0
- package/dist/components/ui-camadas/ui-camadas.d.ts +1 -0
- package/dist/custom-elements.json +4531 -4079
- package/dist/tipos-elementos.d.ts +3 -0
- package/dist/tipos-vue.d.ts +3 -0
- package/package.json +1 -1
- package/dist/form-validacao-BIOXxt-1.js +0 -140
- package/dist/form-validacao-ytRYSF3E.cjs +0 -1
- package/dist/gerencigeo-canvas/layer_defaults.d.ts +0 -3
- package/dist/gerencigeo-canvas/layer_instance_ops.d.ts +0 -6
- package/dist/gerencigeo-canvas/layer_state_ops.d.ts +0 -6
- package/dist/leaflet-DcO7uRC-.cjs +0 -1
- package/dist/leaflet-PPDKB6Dd.js +0 -69
- package/dist/motor-BCWqlv3e.cjs +0 -1
- package/dist/motor-CXjQjVba.js +0 -1386
- package/dist/svg-seguro-BsbNQqpd.js +0 -50
- package/dist/svg-seguro-C76iLlAZ.cjs +0 -1
- package/dist/ui-badge-1UU8vT-b.js +0 -198
- package/dist/ui-badge-B5J_c5P5.js +0 -197
- package/dist/ui-badge-BxT-sDmV.cjs +0 -28
- package/dist/ui-badge-C0eKBI8E.js +0 -183
- package/dist/ui-badge-CKKKPdt8.cjs +0 -28
- package/dist/ui-badge-DC4y6Dik.cjs +0 -28
- package/dist/ui-botao-BOOnP8ds.cjs +0 -12
- package/dist/ui-botao-D24oXySA.cjs +0 -12
- package/dist/ui-botao-DfqSivHl.js +0 -165
- package/dist/ui-botao-Dsj08jjw.js +0 -165
- package/dist/ui-botao-OGJV6Vfk.js +0 -165
- package/dist/ui-botao-bU_bf6SU.js +0 -166
- package/dist/ui-botao-psS1juof.cjs +0 -12
- package/dist/ui-botao-xTbH5mpH.cjs +0 -12
- package/dist/ui-campo-texto-19tIrmBK.js +0 -377
- package/dist/ui-campo-texto-CH8mzX61.cjs +0 -16
- package/dist/ui-campo-texto-Cnn2UAkS.cjs +0 -16
- package/dist/ui-campo-texto-DVU_sWV1.cjs +0 -16
- package/dist/ui-campo-texto-Uu2dJE_0.js +0 -379
- package/dist/ui-campo-texto-W5M0gNE4.js +0 -377
- package/dist/ui-card-0wu4rjEX.cjs +0 -20
- package/dist/ui-card-B86lJXTP.cjs +0 -20
- package/dist/ui-card-BYyYxxY1.cjs +0 -20
- package/dist/ui-card-C_o5_0cB.js +0 -111
- package/dist/ui-card-CojoGXaT.js +0 -144
- package/dist/ui-card-DRtpOo3l.js +0 -143
- package/dist/ui-controle-cores-B4R6ct4I.js +0 -291
- package/dist/ui-controle-cores-BS0WYPdi.js +0 -572
- package/dist/ui-controle-cores-Bq_XUrIQ.cjs +0 -32
- package/dist/ui-controle-cores-BtA6yzu3.js +0 -291
- package/dist/ui-controle-cores-C8um-If9.cjs +0 -32
- package/dist/ui-controle-cores-CHMKGemo.cjs +0 -141
- package/dist/ui-controle-cores-C_cVXxCn.js +0 -291
- package/dist/ui-controle-cores-CuDFS8Y8.cjs +0 -32
- package/dist/ui-controle-cores-Dog7ERYv.js +0 -697
- package/dist/ui-controle-cores-Er6ZcQ7U.cjs +0 -111
- package/dist/ui-linha-BxhEBn27.js +0 -749
- package/dist/ui-linha-C306zxWG.cjs +0 -19
- package/dist/ui-linha-C_azWkcG.js +0 -517
- package/dist/ui-linha-CcalUBDw.cjs +0 -38
- package/dist/ui-linha-DAz6DBcl.cjs +0 -38
- package/dist/ui-linha-DkxwMhD-.js +0 -749
- package/dist/ui-modal-4nU-tXjO.cjs +0 -18
- package/dist/ui-modal-BkYvNP0G.js +0 -214
- package/dist/ui-modal-BwB9fksp.js +0 -214
- package/dist/ui-modal-CUNbpbZ1.cjs +0 -18
- package/dist/ui-modal-CvGFGh1h.cjs +0 -18
- package/dist/ui-modal-DBOtSTbR.js +0 -238
- package/dist/ui-paleta-ferramentas-BXXrI1Y7.js +0 -1233
- package/dist/ui-paleta-ferramentas-CEZYcN4J.js +0 -624
- package/dist/ui-paleta-ferramentas-CU4icLl0.js +0 -1171
- package/dist/ui-paleta-ferramentas-Ccmo-rB5.cjs +0 -21
- package/dist/ui-paleta-ferramentas-CsPMTY0G.cjs +0 -21
- package/dist/ui-paleta-ferramentas-DLwZHIDv.cjs +0 -21
- package/dist/ui-paleta-ferramentas-DNN5i6nL.js +0 -860
- package/dist/ui-paleta-ferramentas-Dbj1kBS9.cjs +0 -18
- package/dist/ui-paleta-ferramentas-DbwdWVtT.js +0 -1173
- package/dist/ui-paleta-ferramentas-bvqxj1Yd.cjs +0 -21
- package/dist/ui-segmented-D6b6zxVs.cjs +0 -19
- package/dist/ui-segmented-DyF5YLsV.js +0 -418
- package/dist/ui-segmented-rn9RxRGM.cjs +0 -19
- package/dist/ui-segmented-wUraId2e.js +0 -412
- package/dist/ui-seletor-cor-C4U2eqxY.cjs +0 -82
- package/dist/ui-seletor-cor-D2_C6Aor.js +0 -391
- package/dist/ui-seletor-cor-DPKqf5wb.cjs +0 -82
- package/dist/ui-seletor-cor-FYtRccnK.js +0 -396
- package/dist/ui-skeleton-B2Rgrv8o.js +0 -648
- package/dist/ui-skeleton-DEHwpDqa.js +0 -648
- package/dist/ui-skeleton-DI4_9WOX.js +0 -428
- package/dist/ui-skeleton-DiOxTBZK.cjs +0 -52
- package/dist/ui-skeleton-SPYqku8P.cjs +0 -52
- package/dist/ui-skeleton-W9uwIceA.js +0 -585
- package/dist/ui-skeleton-elhKIh2B.cjs +0 -33
- package/dist/ui-skeleton-sIphhOSx.cjs +0 -52
- package/dist/ui-switch-BL-x_-SM.js +0 -1202
- package/dist/ui-switch-BcOqOkiV.js +0 -856
- package/dist/ui-switch-C0i_3QXu.cjs +0 -66
- package/dist/ui-switch-D7iPKDj-.cjs +0 -53
- package/dist/ui-switch-DAIgOhqr.cjs +0 -66
- package/dist/ui-switch-_F8yubdX.js +0 -1203
- package/dist/ui-tabela-propriedades-2bq2nX-b.js +0 -3202
- package/dist/ui-tabela-propriedades-8IAYmk3P.cjs +0 -142
- package/dist/ui-tabela-propriedades-B8AwlpqL.cjs +0 -141
- package/dist/ui-tabela-propriedades-BBr5sqki.cjs +0 -145
- package/dist/ui-tabela-propriedades-BecPqC-e.cjs +0 -141
- package/dist/ui-tabela-propriedades-BoYXzP5Z.js +0 -3191
- package/dist/ui-tabela-propriedades-BokvDD3b.js +0 -2648
- package/dist/ui-tabela-propriedades-Boy7I5yW.js +0 -2412
- package/dist/ui-tabela-propriedades-C-PeuW1i.cjs +0 -141
- package/dist/ui-tabela-propriedades-C5YYnod1.js +0 -3053
- package/dist/ui-tabela-propriedades-CnfW9DZG.cjs +0 -142
- package/dist/ui-tabela-propriedades-CyPyKXtB.js +0 -3013
- package/dist/ui-tabela-propriedades-DWOKznMN.cjs +0 -142
- package/dist/ui-tabela-propriedades-Df9ajC6M.js +0 -2648
- package/dist/ui-tabela-propriedades-DqvPilK_.cjs +0 -142
- package/dist/ui-tabela-propriedades-DuaC4sFX.js +0 -2767
- package/dist/ui-toast-Bp_NlM5G.js +0 -156
- package/dist/ui-toast-DGTZKne5.cjs +0 -20
- package/dist/zero-js-triggers-C_KrvFOQ.js +0 -244
- package/dist/zero-js-triggers-C_gtaojZ.cjs +0 -1
package/dist/camadas.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
1
|
+
var Pa = Object.defineProperty;
|
|
2
|
+
var za = (e, t, a) => t in e ? Pa(e, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[t] = a;
|
|
3
|
+
var I = (e, t, a) => za(e, typeof t != "symbol" ? t + "" : t, a);
|
|
4
4
|
/* empty css */
|
|
5
|
-
import { d as
|
|
6
|
-
import { A as
|
|
7
|
-
import { L as
|
|
8
|
-
import { a as
|
|
9
|
-
import { a as
|
|
10
|
-
import { f as
|
|
11
|
-
import { UIMapaBase as
|
|
12
|
-
const
|
|
5
|
+
import { d as Ce, S as Ba } from "./ssr-safe-5cWfJP-s.js";
|
|
6
|
+
import { A as qa, a as qe, e as Da } from "./degrade-gDa5sW__.js";
|
|
7
|
+
import { L as Ta } from "./listener-bag-DQgv7OON.js";
|
|
8
|
+
import { a as _e } from "./parts-CaoQiCfI.js";
|
|
9
|
+
import { a as Oa } from "./ui-seletor-cor-DFIQ1sin.js";
|
|
10
|
+
import { f as Ra } from "./alvo-digitavel-CzCvNVQ3.js";
|
|
11
|
+
import { UIMapaBase as Fr, UISeletorMapaBase as $r } from "./seletor-mapa-base.js";
|
|
12
|
+
const b = {
|
|
13
13
|
camadas: `<svg viewBox="0 0 24 24" width="13" height="13" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
14
14
|
<polygon points="12 2 2 7 12 12 22 7 12 2"></polygon>
|
|
15
15
|
<polyline points="2 17 12 22 22 17"></polyline>
|
|
@@ -107,8 +107,8 @@ const y = {
|
|
|
107
107
|
<line x1="9" y1="3" x2="9" y2="21"></line>
|
|
108
108
|
<line x1="15" y1="3" x2="15" y2="21"></line>
|
|
109
109
|
</svg>`
|
|
110
|
-
},
|
|
111
|
-
function
|
|
110
|
+
}, X = 6378137;
|
|
111
|
+
function ja(e, t) {
|
|
112
112
|
if (!Array.isArray(e) || !Array.isArray(t) || e.length < 2 || t.length < 2 || !Number.isFinite(e[0]) || !Number.isFinite(e[1]) || !Number.isFinite(t[0]) || !Number.isFinite(t[1]))
|
|
113
113
|
return 0;
|
|
114
114
|
const a = e[0] * Math.PI / 180, r = e[1] * Math.PI / 180, i = t[0] * Math.PI / 180, o = t[1] * Math.PI / 180, n = i - a, s = o - r, c = Math.min(
|
|
@@ -117,65 +117,65 @@ function za(e, t) {
|
|
|
117
117
|
0,
|
|
118
118
|
Math.sin(n / 2) * Math.sin(n / 2) + Math.cos(a) * Math.cos(i) * Math.sin(s / 2) * Math.sin(s / 2)
|
|
119
119
|
)
|
|
120
|
-
), l =
|
|
120
|
+
), l = X * 2 * Math.atan2(Math.sqrt(c), Math.sqrt(1 - c));
|
|
121
121
|
return Number.isFinite(l) ? l : 0;
|
|
122
122
|
}
|
|
123
|
-
function
|
|
123
|
+
function Ye(e) {
|
|
124
124
|
if (!Array.isArray(e) || e.length < 2) return 0;
|
|
125
125
|
if (Array.isArray(e[0]) && Array.isArray(e[0][0]))
|
|
126
|
-
return e.reduce((a, r) => a +
|
|
126
|
+
return e.reduce((a, r) => a + Ye(r), 0);
|
|
127
127
|
let t = 0;
|
|
128
128
|
for (let a = 0; a < e.length - 1; a++) {
|
|
129
129
|
const r = e[a], i = e[a + 1];
|
|
130
|
-
Array.isArray(r) && Array.isArray(i) && r.length >= 2 && i.length >= 2 && (t +=
|
|
130
|
+
Array.isArray(r) && Array.isArray(i) && r.length >= 2 && i.length >= 2 && (t += ja([r[0], r[1]], [i[0], i[1]]));
|
|
131
131
|
}
|
|
132
132
|
return t;
|
|
133
133
|
}
|
|
134
|
-
function
|
|
134
|
+
function ye(e) {
|
|
135
135
|
if (!Array.isArray(e)) return 0;
|
|
136
136
|
const t = [];
|
|
137
|
-
for (let
|
|
138
|
-
const
|
|
139
|
-
Array.isArray(
|
|
137
|
+
for (let p = 0; p < e.length; p++) {
|
|
138
|
+
const d = e[p];
|
|
139
|
+
Array.isArray(d) && d.length >= 2 && Number.isFinite(d[0]) && Number.isFinite(d[1]) && t.push([d[0], d[1]]);
|
|
140
140
|
}
|
|
141
141
|
t.length > 3 && t[0][0] === t[t.length - 1][0] && t[0][1] === t[t.length - 1][1] && t.pop();
|
|
142
142
|
const a = t.length;
|
|
143
143
|
if (a < 3) return 0;
|
|
144
144
|
let r = 0;
|
|
145
|
-
for (let
|
|
146
|
-
r += t[
|
|
145
|
+
for (let p = 0; p < a; p++)
|
|
146
|
+
r += t[p][0];
|
|
147
147
|
const i = r / a * Math.PI / 180, o = Math.cos(i), n = Math.PI / 180, s = t[0][0], c = t[0][1];
|
|
148
148
|
let l = 0;
|
|
149
|
-
for (let
|
|
150
|
-
const
|
|
151
|
-
l += m *
|
|
149
|
+
for (let p = 0; p < a; p++) {
|
|
150
|
+
const d = t[p], f = t[(p + 1) % a], m = (d[1] - c) * n * X * o, h = (d[0] - s) * n * X, v = (f[1] - c) * n * X * o, g = (f[0] - s) * n * X;
|
|
151
|
+
l += m * g - v * h;
|
|
152
152
|
}
|
|
153
|
-
const
|
|
154
|
-
return Number.isFinite(
|
|
153
|
+
const u = Math.abs(l) / 2;
|
|
154
|
+
return Number.isFinite(u) ? u : 0;
|
|
155
155
|
}
|
|
156
|
-
function
|
|
156
|
+
function Ue(e) {
|
|
157
157
|
if (!Array.isArray(e) || e.length === 0) return 0;
|
|
158
158
|
if (Array.isArray(e[0]) && typeof e[0][0] == "number")
|
|
159
|
-
return
|
|
159
|
+
return ye(e);
|
|
160
160
|
if (Array.isArray(e[0]) && Array.isArray(e[0][0])) {
|
|
161
161
|
if (Array.isArray(e[0][0][0]))
|
|
162
|
-
return e.reduce((r, i) => r +
|
|
163
|
-
const t =
|
|
162
|
+
return e.reduce((r, i) => r + Ue(i), 0);
|
|
163
|
+
const t = ye(e[0]);
|
|
164
164
|
let a = 0;
|
|
165
165
|
for (let r = 1; r < e.length; r++)
|
|
166
|
-
a +=
|
|
166
|
+
a += ye(e[r]);
|
|
167
167
|
return Math.max(0, t - a);
|
|
168
168
|
}
|
|
169
169
|
return 0;
|
|
170
170
|
}
|
|
171
|
-
function
|
|
171
|
+
function Er(e) {
|
|
172
172
|
if (!e || e.length === 0) return "";
|
|
173
173
|
const t = e.filter(
|
|
174
174
|
(r) => r.type === "Polygon" || r.type === "MultiPolygon" || r.geometryType === "Polygon"
|
|
175
175
|
);
|
|
176
176
|
if (t.length > 0) {
|
|
177
177
|
const r = t.reduce(
|
|
178
|
-
(i, o) => i + (
|
|
178
|
+
(i, o) => i + (Ue(o.coordinates) || 0),
|
|
179
179
|
0
|
|
180
180
|
);
|
|
181
181
|
return r >= 1e4 ? `${(r / 1e4).toLocaleString("pt-BR", {
|
|
@@ -188,7 +188,7 @@ function lr(e) {
|
|
|
188
188
|
);
|
|
189
189
|
if (a.length > 0) {
|
|
190
190
|
const r = a.reduce(
|
|
191
|
-
(i, o) => i + (
|
|
191
|
+
(i, o) => i + (Ye(o.coordinates) || 0),
|
|
192
192
|
0
|
|
193
193
|
);
|
|
194
194
|
return r >= 1e3 ? `${(r / 1e3).toLocaleString("pt-BR", {
|
|
@@ -198,23 +198,23 @@ function lr(e) {
|
|
|
198
198
|
}
|
|
199
199
|
return "";
|
|
200
200
|
}
|
|
201
|
-
function
|
|
201
|
+
function M(e) {
|
|
202
202
|
return e == null ? "" : String(e).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
203
203
|
}
|
|
204
|
-
const
|
|
205
|
-
function
|
|
204
|
+
const Na = /^(#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})|(?:rgb|hsl)a?\(\s*[\w.%\s,/+-]+\)|[a-z]{3,30})$/i;
|
|
205
|
+
function K(e, t = "#00E08A") {
|
|
206
206
|
if (!e || typeof e != "string") return t;
|
|
207
207
|
const a = e.trim();
|
|
208
|
-
return
|
|
208
|
+
return Na.test(a) ? a : t;
|
|
209
209
|
}
|
|
210
|
-
function
|
|
210
|
+
function xe(e) {
|
|
211
211
|
return Math.max(0, Math.min(255, Math.round(e))).toString(16).padStart(2, "0");
|
|
212
212
|
}
|
|
213
|
-
function
|
|
213
|
+
function Ha(e, t, a) {
|
|
214
214
|
const r = t / 100, i = a / 100, o = (c) => (c + e / 30) % 12, n = r * Math.min(i, 1 - i), s = (c) => i - n * Math.max(-1, Math.min(o(c) - 3, Math.min(9 - o(c), 1)));
|
|
215
215
|
return [s(0) * 255, s(8) * 255, s(4) * 255];
|
|
216
216
|
}
|
|
217
|
-
function
|
|
217
|
+
function Ga(e, t = "#000000") {
|
|
218
218
|
if (!e || typeof e != "string") return t;
|
|
219
219
|
const a = e.trim().toLowerCase(), r = /^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.exec(a);
|
|
220
220
|
if (r) {
|
|
@@ -225,19 +225,19 @@ function Pa(e, t = "#000000") {
|
|
|
225
225
|
if (i) {
|
|
226
226
|
const o = i[2].split(/[\s,/]+/).filter(Boolean).map((n) => parseFloat(n));
|
|
227
227
|
if (o.length >= 3 && o.slice(0, 3).every((n) => !isNaN(n))) {
|
|
228
|
-
const [n, s, c] = o, [l,
|
|
229
|
-
return `#${
|
|
228
|
+
const [n, s, c] = o, [l, u, p] = i[1] === "rgb" ? [n, s, c] : Ha(n, s, c);
|
|
229
|
+
return `#${xe(l)}${xe(u)}${xe(p)}`;
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
232
|
return t;
|
|
233
233
|
}
|
|
234
|
-
function
|
|
234
|
+
function D(e, t, a) {
|
|
235
235
|
const r = e.querySelectorAll(`[${t}]`);
|
|
236
236
|
for (let i = 0; i < r.length; i++)
|
|
237
237
|
if (r[i].getAttribute(t) === a) return r[i];
|
|
238
238
|
return null;
|
|
239
239
|
}
|
|
240
|
-
function
|
|
240
|
+
function Ke(e, t = 80) {
|
|
241
241
|
let a = null;
|
|
242
242
|
return (...r) => {
|
|
243
243
|
a && clearTimeout(a), a = setTimeout(() => {
|
|
@@ -245,10 +245,10 @@ function je(e, t = 80) {
|
|
|
245
245
|
}, t);
|
|
246
246
|
};
|
|
247
247
|
}
|
|
248
|
-
function
|
|
248
|
+
function T(e, t) {
|
|
249
249
|
e.setAttribute("title", t), e.setAttribute("aria-label", t);
|
|
250
250
|
}
|
|
251
|
-
const
|
|
251
|
+
const Qe = [
|
|
252
252
|
{
|
|
253
253
|
id: "none",
|
|
254
254
|
nome: "Sem Mapa",
|
|
@@ -291,16 +291,16 @@ const Ne = [
|
|
|
291
291
|
thumbnailUrl: "https://images.unsplash.com/photo-1518709268805-4e9042af9f23?w=160&auto=format&fit=crop&q=80"
|
|
292
292
|
}
|
|
293
293
|
];
|
|
294
|
-
function
|
|
294
|
+
function Xe(e, t) {
|
|
295
295
|
const a = Array.isArray(e) ? e.find((r) => r.id === t) : void 0;
|
|
296
296
|
return a && typeof a.nome == "string" ? a.nome : "";
|
|
297
297
|
}
|
|
298
|
-
function
|
|
298
|
+
function Va(e = Qe, t = "satelite", a = !1) {
|
|
299
299
|
if (!e || e.length === 0) return "";
|
|
300
300
|
const r = e.map((i) => {
|
|
301
|
-
const o = t === i.id, n =
|
|
301
|
+
const o = t === i.id, n = M(i.id), s = M(i.nome), c = M(i.descricao || i.nome);
|
|
302
302
|
let l = "";
|
|
303
|
-
return i.thumbnailUrl ? l = `<img class="ui-basemap-preview" src="${
|
|
303
|
+
return i.thumbnailUrl ? l = `<img class="ui-basemap-preview" src="${M(i.thumbnailUrl)}" alt="" loading="lazy" referrerpolicy="no-referrer" data-basemap-thumb />` : l = `<div class="ui-basemap-preview-none">${b.gradeCad}</div>`, `
|
|
304
304
|
<div class="ui-basemap-card ${o ? "active" : ""}" data-basemap-id="${n}" role="button" tabindex="0" aria-pressed="${o}" title="${c}">
|
|
305
305
|
${l}
|
|
306
306
|
<span>${s}</span>
|
|
@@ -311,8 +311,8 @@ function Da(e = Ne, t = "satelite", a = !1) {
|
|
|
311
311
|
<div class="ui-basemap-section ${a ? "recolhido" : ""}" part="mapas-base">
|
|
312
312
|
<button type="button" class="ui-basemap-toggle" data-basemap-toggle="alternar" aria-expanded="${!a}" aria-controls="ui-basemap-grid" title="${a ? "Mostrar mapas base" : "Recolher mapas base"}">
|
|
313
313
|
<span class="ui-basemap-title">Mapa Base</span>
|
|
314
|
-
<span class="ui-basemap-atual" data-basemap-atual>${
|
|
315
|
-
<span class="ui-chevron-icon ${a ? "" : "open"}">${
|
|
314
|
+
<span class="ui-basemap-atual" data-basemap-atual>${M(Xe(e, t))}</span>
|
|
315
|
+
<span class="ui-chevron-icon ${a ? "" : "open"}">${b.chevronDir}</span>
|
|
316
316
|
</button>
|
|
317
317
|
${a ? "" : `<div class="ui-basemap-grid" id="ui-basemap-grid">
|
|
318
318
|
${r}
|
|
@@ -320,50 +320,50 @@ function Da(e = Ne, t = "satelite", a = !1) {
|
|
|
320
320
|
</div>
|
|
321
321
|
`;
|
|
322
322
|
}
|
|
323
|
-
function
|
|
323
|
+
function pe(e) {
|
|
324
324
|
if (!Array.isArray(e) || e.length === 0) return [];
|
|
325
325
|
const t = e.filter((l) => !!(l && typeof l == "object" && l.id)), a = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
|
|
326
|
-
t.forEach((l,
|
|
327
|
-
a.set(l.id, l), r.set(l.id,
|
|
326
|
+
t.forEach((l, u) => {
|
|
327
|
+
a.set(l.id, l), r.set(l.id, u);
|
|
328
328
|
});
|
|
329
329
|
const i = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set();
|
|
330
330
|
for (const l of t) {
|
|
331
331
|
if (o.has(l.id)) continue;
|
|
332
|
-
const
|
|
333
|
-
let
|
|
334
|
-
for (;
|
|
335
|
-
if (
|
|
336
|
-
const f =
|
|
337
|
-
let
|
|
332
|
+
const u = [], p = /* @__PURE__ */ new Map();
|
|
333
|
+
let d = l;
|
|
334
|
+
for (; d && d.parentId && a.has(d.parentId) && d.parentId !== d.id; ) {
|
|
335
|
+
if (p.has(d.id)) {
|
|
336
|
+
const f = p.get(d.id), m = u.slice(f);
|
|
337
|
+
let h = m[0];
|
|
338
338
|
for (const v of m)
|
|
339
|
-
(r.get(v) ?? 1 / 0) < (r.get(
|
|
340
|
-
i.add(
|
|
339
|
+
(r.get(v) ?? 1 / 0) < (r.get(h) ?? 1 / 0) && (h = v);
|
|
340
|
+
i.add(h);
|
|
341
341
|
break;
|
|
342
342
|
}
|
|
343
|
-
if (o.has(
|
|
344
|
-
|
|
343
|
+
if (o.has(d.id)) break;
|
|
344
|
+
p.set(d.id, u.length), u.push(d.id), d = a.get(d.parentId);
|
|
345
345
|
}
|
|
346
|
-
for (const f of
|
|
346
|
+
for (const f of u) o.add(f);
|
|
347
347
|
}
|
|
348
348
|
const n = /* @__PURE__ */ new Map(), s = [];
|
|
349
349
|
t.forEach((l) => {
|
|
350
350
|
!i.has(l.id) && !!(l.parentId && a.has(l.parentId) && l.parentId !== l.id) && l.parentId ? (n.has(l.parentId) || n.set(l.parentId, []), n.get(l.parentId).push(l)) : s.push(l);
|
|
351
351
|
});
|
|
352
|
-
function c(l,
|
|
353
|
-
const
|
|
354
|
-
|
|
352
|
+
function c(l, u, p) {
|
|
353
|
+
const d = new Set(p);
|
|
354
|
+
d.add(l.id);
|
|
355
355
|
const m = (n.get(l.id) || (Array.isArray(l.children) ? l.children : [])).filter(
|
|
356
|
-
(
|
|
356
|
+
(h) => !!(h && typeof h == "object" && h.id && !d.has(h.id))
|
|
357
357
|
);
|
|
358
358
|
return {
|
|
359
359
|
camada: l,
|
|
360
|
-
depth:
|
|
361
|
-
subcamadas: m.map((
|
|
360
|
+
depth: u,
|
|
361
|
+
subcamadas: m.map((h) => c(h, u + 1, d))
|
|
362
362
|
};
|
|
363
363
|
}
|
|
364
364
|
return s.map((l) => c(l, 0, /* @__PURE__ */ new Set()));
|
|
365
365
|
}
|
|
366
|
-
function
|
|
366
|
+
function _a(e, t) {
|
|
367
367
|
const a = /* @__PURE__ */ new Set();
|
|
368
368
|
if (!t || !Array.isArray(e)) return a;
|
|
369
369
|
const r = /* @__PURE__ */ new Map();
|
|
@@ -381,12 +381,12 @@ function Ta(e, t) {
|
|
|
381
381
|
}
|
|
382
382
|
return a;
|
|
383
383
|
}
|
|
384
|
-
function
|
|
384
|
+
function ae(e, t, a) {
|
|
385
385
|
if (!a || !Array.isArray(t) || t.length === 0) return [];
|
|
386
|
-
const r =
|
|
386
|
+
const r = _a(e, a);
|
|
387
387
|
return t.filter((i) => !!(i && i.layerId && r.has(i.layerId)));
|
|
388
388
|
}
|
|
389
|
-
function
|
|
389
|
+
function fe(e) {
|
|
390
390
|
const t = /* @__PURE__ */ new Map();
|
|
391
391
|
e.forEach((r) => r && r.id && t.set(r.id, r));
|
|
392
392
|
const a = /* @__PURE__ */ new Map();
|
|
@@ -400,8 +400,8 @@ function le(e) {
|
|
|
400
400
|
}
|
|
401
401
|
return a;
|
|
402
402
|
}
|
|
403
|
-
function
|
|
404
|
-
const t =
|
|
403
|
+
function ce(e) {
|
|
404
|
+
const t = fe(e);
|
|
405
405
|
return new Set(
|
|
406
406
|
e.filter((a) => {
|
|
407
407
|
var r;
|
|
@@ -409,24 +409,24 @@ function ie(e) {
|
|
|
409
409
|
}).map((a) => a.id)
|
|
410
410
|
);
|
|
411
411
|
}
|
|
412
|
-
function
|
|
413
|
-
const t =
|
|
414
|
-
const o = i.camada, n = i.depth, s = i.subcamadas, c = n > 0 ? " ".repeat(n) + "↳ " : s.length > 0 || o.isGroup ? "📁 " : "", l = a.has(o.id),
|
|
415
|
-
return
|
|
412
|
+
function We(e) {
|
|
413
|
+
const t = pe(e), a = ce(e), r = (i) => {
|
|
414
|
+
const o = i.camada, n = i.depth, s = i.subcamadas, c = n > 0 ? " ".repeat(n) + "↳ " : s.length > 0 || o.isGroup ? "📁 " : "", l = a.has(o.id), u = `<option value="${M(o.id)}"${l ? " disabled" : ""}>${c}${M(o.name)}${l ? " 🔒" : ""}</option>`, p = s.map((d) => r(d)).join("");
|
|
415
|
+
return u + p;
|
|
416
416
|
};
|
|
417
417
|
return t.map((i) => r(i)).join("");
|
|
418
418
|
}
|
|
419
|
-
function
|
|
419
|
+
function Je(e, t) {
|
|
420
420
|
return t > 0 ? {
|
|
421
|
-
icone:
|
|
421
|
+
icone: b.alvoEnquadrar,
|
|
422
422
|
texto: `${t} ${t > 1 ? "selecionados" : "selecionado"}`
|
|
423
423
|
} : {
|
|
424
|
-
icone:
|
|
424
|
+
icone: b.camadas,
|
|
425
425
|
texto: `${e} ${e > 1 ? "camadas" : "camada"}`
|
|
426
426
|
};
|
|
427
427
|
}
|
|
428
|
-
function
|
|
429
|
-
const r = t.filter((c) => a.has(c.id)), i = r.length > 0, o = i ? r.length : e.length, n =
|
|
428
|
+
function Ya(e, t, a) {
|
|
429
|
+
const r = t.filter((c) => a.has(c.id)), i = r.length > 0, o = i ? r.length : e.length, n = Je(e.length, r.length), s = We(e);
|
|
430
430
|
return `
|
|
431
431
|
<div class="ui-tree-footer ${i ? "tem-selecao" : "sem-selecao"}" part="rodape">
|
|
432
432
|
<div class="ui-footer-left">
|
|
@@ -437,11 +437,11 @@ function Ra(e, t, a) {
|
|
|
437
437
|
<!-- Criação de camadas/grupos quando não há nada selecionado -->
|
|
438
438
|
<div class="ui-footer-actions-gerais" style="display: ${i ? "none" : "flex"};">
|
|
439
439
|
<button class="ui-footer-chip-btn" id="btn-footer-new-group" title="Criar Nova Pasta/Grupo de Camadas" aria-label="Criar Grupo de Camadas">
|
|
440
|
-
${
|
|
440
|
+
${b.moverPasta}
|
|
441
441
|
<span>Grupo</span>
|
|
442
442
|
</button>
|
|
443
443
|
<button class="ui-footer-chip-btn primario" id="btn-footer-new-layer" title="Criar Nova Camada Vetorial" aria-label="Criar Nova Camada">
|
|
444
|
-
${
|
|
444
|
+
${b.mais}
|
|
445
445
|
<span>Camada</span>
|
|
446
446
|
</button>
|
|
447
447
|
</div>
|
|
@@ -456,104 +456,103 @@ function Ra(e, t, a) {
|
|
|
456
456
|
</div>
|
|
457
457
|
|
|
458
458
|
<button class="ui-footer-btn btn-danger-footer ${i ? "" : "disabled"}" id="btn-footer-del" title="Excluir selecionados" aria-label="Excluir selecionados" ${i ? "" : "disabled"}>
|
|
459
|
-
${
|
|
459
|
+
${b.lixeira}
|
|
460
460
|
</button>
|
|
461
461
|
</div>
|
|
462
462
|
</div>
|
|
463
463
|
`;
|
|
464
464
|
}
|
|
465
|
-
const
|
|
466
|
-
function
|
|
465
|
+
const we = 64;
|
|
466
|
+
function De(e) {
|
|
467
467
|
return Array.isArray(e) && e.length >= 2 && Number.isFinite(e[0]) && Number.isFinite(e[1]);
|
|
468
468
|
}
|
|
469
|
-
function
|
|
470
|
-
return !Array.isArray(e) || e.length === 0 ? [] :
|
|
469
|
+
function Ze(e) {
|
|
470
|
+
return !Array.isArray(e) || e.length === 0 ? [] : De(e[0]) ? [e.filter(De)] : e.flatMap(Ze);
|
|
471
471
|
}
|
|
472
|
-
function
|
|
473
|
-
if (e.length <=
|
|
474
|
-
const t = e.length /
|
|
475
|
-
for (let r = 0; r <
|
|
472
|
+
function Te(e) {
|
|
473
|
+
if (e.length <= we) return e;
|
|
474
|
+
const t = e.length / we, a = [];
|
|
475
|
+
for (let r = 0; r < we; r++) a.push(e[Math.floor(r * t)]);
|
|
476
476
|
return a.push(e[e.length - 1]), a;
|
|
477
477
|
}
|
|
478
|
-
function
|
|
479
|
-
const r =
|
|
478
|
+
function Ua(e, t, a) {
|
|
479
|
+
const r = Ze(t).filter((S) => S.length > 0);
|
|
480
480
|
if (r.length === 0) return "";
|
|
481
481
|
let i = 1 / 0, o = -1 / 0, n = 1 / 0, s = -1 / 0;
|
|
482
482
|
for (const S of r)
|
|
483
|
-
for (const [
|
|
484
|
-
|
|
485
|
-
const c = 16, l = 2,
|
|
486
|
-
if (
|
|
487
|
-
const S = r.filter((
|
|
488
|
-
return S ?
|
|
483
|
+
for (const [F, B] of S)
|
|
484
|
+
B < i && (i = B), B > o && (o = B), -F < n && (n = -F), -F > s && (s = -F);
|
|
485
|
+
const c = 16, l = 2, u = c - l * 2, p = o - i, d = s - n, f = Math.max(p, d), m = f > 0 ? u / f : 0, h = l + (u - p * m) / 2, v = l + (u - d * m) / 2, g = (S) => Math.round(S * 100) / 100, w = ([S, F]) => `${g(h + (F - i) * m)},${g(v + (-S - n) * m)}`, k = e === "polygon" || e === "multipolygon", L = e === "linestring" || e === "multilinestring", A = (S) => `<svg viewBox="0 0 ${c} ${c}" width="100%" height="100%" aria-hidden="true">${S}</svg>`;
|
|
486
|
+
if (k) {
|
|
487
|
+
const S = r.filter((F) => F.length >= 3).map((F) => `M${Te(F).map(w).join("L")}Z`).join("");
|
|
488
|
+
return S ? A(
|
|
489
489
|
`<path d="${S}" fill="${a}" fill-opacity="0.45" fill-rule="evenodd" stroke="${a}" stroke-width="1.2" stroke-linejoin="round"/>`
|
|
490
490
|
) : "";
|
|
491
491
|
}
|
|
492
|
-
if (
|
|
493
|
-
const S = r.filter((
|
|
494
|
-
return S ?
|
|
492
|
+
if (L) {
|
|
493
|
+
const S = r.filter((F) => F.length >= 2).map((F) => `M${Te(F).map(w).join("L")}`).join("");
|
|
494
|
+
return S ? A(
|
|
495
495
|
`<path d="${S}" fill="none" stroke="${a}" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>`
|
|
496
496
|
) : "";
|
|
497
497
|
}
|
|
498
498
|
return "";
|
|
499
499
|
}
|
|
500
|
-
function
|
|
501
|
-
const r =
|
|
500
|
+
function ea(e, t, a) {
|
|
501
|
+
const r = K(t, "#00E08A"), i = (e || "").toLowerCase(), o = a !== void 0 ? Ua(i, a, r) : "";
|
|
502
502
|
return o || (i === "polygon" || i === "multipolygon" ? `<svg viewBox="0 0 16 16" width="11" height="11"><polygon points="2,14 14,14 12,2 4,4" fill="${r}" fill-opacity="0.45" stroke="${r}" stroke-width="1.5"/></svg>` : i === "linestring" || i === "multilinestring" ? `<svg viewBox="0 0 16 16" width="11" height="11"><polyline points="2,13 8,3 14,10" fill="none" stroke="${r}" stroke-width="2"/></svg>` : i === "text" ? `<svg viewBox="0 0 16 16" width="11" height="11"><text x="8" y="12" font-size="12" font-weight="bold" fill="${r}" text-anchor="middle" font-family="sans-serif">T</text></svg>` : `<svg viewBox="0 0 16 16" width="11" height="11"><circle cx="8" cy="8" r="4.2" fill="${r}" stroke="#ffffff" stroke-width="1.2"/></svg>`);
|
|
503
503
|
}
|
|
504
|
-
function
|
|
504
|
+
function aa(e, t, a) {
|
|
505
505
|
return {
|
|
506
|
-
camadaIdSeguro:
|
|
507
|
-
corCamada:
|
|
506
|
+
camadaIdSeguro: M(e.id),
|
|
507
|
+
corCamada: K(e.color, "#00E08A"),
|
|
508
508
|
profundidade: t,
|
|
509
509
|
esmaecida: e.visible === !1 || (a == null ? void 0 : a.ocultaPorAncestral) === !0,
|
|
510
510
|
travadaPelaCamada: e.locked === !0 || (a == null ? void 0 : a.travadaPorAncestral) === !0
|
|
511
511
|
};
|
|
512
512
|
}
|
|
513
|
-
const
|
|
514
|
-
function
|
|
515
|
-
return a === 0 ?
|
|
513
|
+
const Ae = (e, t, a) => `${e} ${e === 1 ? t : a}`;
|
|
514
|
+
function ta(e, t, a) {
|
|
515
|
+
return a === 0 ? Ae(e, "feição", "feições") : `${Ae(e, "feição", "feições")} no grupo (${t} nesta camada) · ${Ae(a, "subcamada", "subcamadas")}`;
|
|
516
516
|
}
|
|
517
|
-
function
|
|
518
|
-
return e === 0 && r ? "" : `<span class="ui-count-chip" title="${
|
|
517
|
+
function ra(e, t, a, r) {
|
|
518
|
+
return e === 0 && r ? "" : `<span class="ui-count-chip" title="${ta(e, t, a)}">${e}</span>`;
|
|
519
519
|
}
|
|
520
|
-
function
|
|
520
|
+
function ia(e, t) {
|
|
521
521
|
const a = t - e;
|
|
522
522
|
return {
|
|
523
523
|
resumo: `Exibindo ${e} de ${t} feições. Use a busca acima para filtrar.`,
|
|
524
524
|
botao: `Mostrar mais (+${Math.min(80, a)})`
|
|
525
525
|
};
|
|
526
526
|
}
|
|
527
|
-
function
|
|
528
|
-
const r =
|
|
527
|
+
function oa(e, t, a) {
|
|
528
|
+
const r = ia(t, a);
|
|
529
529
|
return `<div class="ui-truncate-notice" role="note">
|
|
530
530
|
<span>${r.resumo}</span>
|
|
531
531
|
<button type="button" class="ui-truncate-more-btn" data-layer-show-more="${e}">${r.botao}</button>
|
|
532
532
|
</div>`;
|
|
533
533
|
}
|
|
534
|
-
function
|
|
534
|
+
function na(e) {
|
|
535
535
|
return `<div class="ui-empty-row"><span>${e ? "Grupo vazio (adicione subcamadas ou feições)" : "Camada vazia"}</span></div>`;
|
|
536
536
|
}
|
|
537
|
-
const
|
|
538
|
-
function
|
|
539
|
-
return
|
|
537
|
+
const Ka = ["name", "color", "visible", "locked", "status", "type", "geometryType", "coordinates", "layerId"];
|
|
538
|
+
function Qa(e, t) {
|
|
539
|
+
return Ka.every((a) => e[a] === t[a]);
|
|
540
540
|
}
|
|
541
|
-
function
|
|
542
|
-
const { camadaIdSeguro: i, corCamada: o, profundidade: n } = t, s =
|
|
541
|
+
function sa(e, t, a, r) {
|
|
542
|
+
const { camadaIdSeguro: i, corCamada: o, profundidade: n } = t, s = M(e.id), c = M(e.name || "Feição"), l = K(e.color, o), u = e.visible !== !1, p = t.travadaPelaCamada, d = e.locked === !0 || p, f = p ? "Bloqueada pela camada" : d ? "Desbloquear Feição" : "Bloquear Feição", m = e.status === "previa" ? '<span class="ui-previa-dot" title="Geometria prévia" aria-label="Geometria prévia"></span>' : "";
|
|
543
543
|
return `
|
|
544
|
-
<div class="ui-feat-row ${a ? "selected-row" : ""} ${
|
|
545
|
-
<div class="ui-col ui-col-eye" data-feat-eye="${s}" role="button" tabindex="0" aria-label="${
|
|
546
|
-
${
|
|
544
|
+
<div class="ui-feat-row ${a ? "selected-row" : ""} ${u ? "" : "hidden-row"} ${t.esmaecida ? "herdado-oculto" : ""}" data-feat-row="${s}" data-feat-select="${s}" data-feat-layer="${i}" role="treeitem" aria-level="${n + 2}" aria-selected="${a}" tabindex="-1" draggable="true" part="${a ? "feicao feicao-selecionada" : "feicao"}" style="--layer-depth: ${n + 1};" title="Clique para selecionar | Arraste para reordenar">
|
|
545
|
+
<div class="ui-col ui-col-eye" data-feat-eye="${s}" role="button" tabindex="0" aria-label="${u ? "Ocultar Feição" : "Exibir Feição"}" title="${u ? "Ocultar Feição" : "Exibir Feição"}">
|
|
546
|
+
${u ? b.olhoAberto : b.olhoFechado}
|
|
547
547
|
</div>
|
|
548
548
|
|
|
549
|
-
<div class="ui-col ui-col-lock ${
|
|
550
|
-
${
|
|
549
|
+
<div class="ui-col ui-col-lock ${d ? "" : "ui-lock-open"}" data-feat-lock="${s}" ${p ? 'data-locked-by-layer="true"' : ""} role="button" tabindex="0" aria-label="${f}" title="${f}">
|
|
550
|
+
${d ? b.cadeadoTrancado : b.cadeadoAberto}
|
|
551
551
|
</div>
|
|
552
552
|
|
|
553
|
-
<div class="ui-col ui-col-colorbar" style="background: ${
|
|
554
|
-
<div class="ui-col ui-col-branch"><span style="opacity: 0.35;">└─</span></div>
|
|
553
|
+
<div class="ui-col ui-col-colorbar" style="background: ${o};"></div>
|
|
555
554
|
<div class="ui-col ui-col-thumb">
|
|
556
|
-
<div class="ui-thumb-box">${
|
|
555
|
+
<div class="ui-thumb-box">${ea(e.type || e.geometryType, l, e.coordinates)}</div>
|
|
557
556
|
</div>
|
|
558
557
|
|
|
559
558
|
<div class="ui-col ui-col-name" data-feat-name-trigger="${s}" title="Duplo clique para renomear">
|
|
@@ -561,7 +560,7 @@ function Ze(e, t, a, r) {
|
|
|
561
560
|
</div>
|
|
562
561
|
|
|
563
562
|
<div class="ui-col ui-col-actions">
|
|
564
|
-
<button class="ui-micro-btn" data-feat-fit="${s}" title="Enquadrar no mapa" aria-label="Enquadrar feição no mapa">${
|
|
563
|
+
<button class="ui-micro-btn" data-feat-fit="${s}" title="Enquadrar no mapa" aria-label="Enquadrar feição no mapa">${b.alvoEnquadrar}</button>
|
|
565
564
|
</div>
|
|
566
565
|
|
|
567
566
|
<div class="ui-col ui-col-target" data-feat-target="${s}" role="button" tabindex="0" aria-label="Selecionar feição" title="Selecionar feição">
|
|
@@ -570,15 +569,15 @@ function Ze(e, t, a, r) {
|
|
|
570
569
|
</div>
|
|
571
570
|
`;
|
|
572
571
|
}
|
|
573
|
-
const
|
|
574
|
-
function
|
|
572
|
+
const Se = 80;
|
|
573
|
+
function W(e, t) {
|
|
575
574
|
const a = (t || "").trim().toLowerCase();
|
|
576
575
|
return a ? e.filter(
|
|
577
576
|
(r) => (r.name || "").toLowerCase().includes(a) || (r.category || "").toLowerCase().includes(a) || (r.type || "").toLowerCase().includes(a)
|
|
578
577
|
) : e;
|
|
579
578
|
}
|
|
580
|
-
function
|
|
581
|
-
var
|
|
579
|
+
function la(e, t, a) {
|
|
580
|
+
var d, f;
|
|
582
581
|
const r = (a || "").trim().toLowerCase();
|
|
583
582
|
if (!r) return null;
|
|
584
583
|
const i = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
|
|
@@ -586,73 +585,73 @@ function ea(e, t, a) {
|
|
|
586
585
|
i.set(m.id, m), m.parentId && m.parentId !== m.id && (o.has(m.parentId) || o.set(m.parentId, []), o.get(m.parentId).push(m.id));
|
|
587
586
|
const n = /* @__PURE__ */ new Map();
|
|
588
587
|
for (const m of t) {
|
|
589
|
-
const
|
|
590
|
-
n.has(
|
|
588
|
+
const h = m.layerId || "";
|
|
589
|
+
n.has(h) || n.set(h, []), n.get(h).push(m);
|
|
591
590
|
}
|
|
592
591
|
const s = /* @__PURE__ */ new Set(), c = /* @__PURE__ */ new Set();
|
|
593
592
|
for (const m of e)
|
|
594
|
-
(typeof m.name == "string" ? m.name.toLowerCase() : "").includes(r) ? (s.add(m.id), c.add(m.id)) :
|
|
593
|
+
(typeof m.name == "string" ? m.name.toLowerCase() : "").includes(r) ? (s.add(m.id), c.add(m.id)) : W(n.get(m.id) || [], r).length > 0 && c.add(m.id);
|
|
595
594
|
const l = new Set(c);
|
|
596
595
|
for (const m of c) {
|
|
597
|
-
const
|
|
598
|
-
let v = (
|
|
599
|
-
for (; v && i.has(v) && !
|
|
600
|
-
|
|
601
|
-
}
|
|
602
|
-
const
|
|
603
|
-
for (;
|
|
604
|
-
const m =
|
|
605
|
-
for (const
|
|
606
|
-
l.has(
|
|
607
|
-
}
|
|
608
|
-
const
|
|
596
|
+
const h = /* @__PURE__ */ new Set([m]);
|
|
597
|
+
let v = (d = i.get(m)) == null ? void 0 : d.parentId;
|
|
598
|
+
for (; v && i.has(v) && !h.has(v); )
|
|
599
|
+
h.add(v), l.add(v), v = (f = i.get(v)) == null ? void 0 : f.parentId;
|
|
600
|
+
}
|
|
601
|
+
const u = [...s];
|
|
602
|
+
for (; u.length > 0; ) {
|
|
603
|
+
const m = u.pop();
|
|
604
|
+
for (const h of o.get(m) || [])
|
|
605
|
+
l.has(h) || (l.add(h), u.push(h));
|
|
606
|
+
}
|
|
607
|
+
const p = /* @__PURE__ */ new Map();
|
|
609
608
|
for (const m of l) {
|
|
610
|
-
const
|
|
611
|
-
|
|
612
|
-
}
|
|
613
|
-
return { camadasVisiveis: l, feicoesPorCamada:
|
|
614
|
-
}
|
|
615
|
-
function
|
|
616
|
-
const n =
|
|
617
|
-
for (let
|
|
618
|
-
const
|
|
619
|
-
if (!
|
|
620
|
-
const f =
|
|
621
|
-
c.has(f) || c.set(f, []), c.get(f).push(
|
|
622
|
-
}
|
|
623
|
-
const l =
|
|
624
|
-
function p
|
|
625
|
-
const
|
|
626
|
-
if (n && !n.camadasVisiveis.has(
|
|
627
|
-
for (const
|
|
628
|
-
|
|
629
|
-
const m = n ? n.feicoesPorCamada.get(
|
|
630
|
-
for (let
|
|
631
|
-
s.push(v[
|
|
632
|
-
}
|
|
633
|
-
for (const
|
|
634
|
-
p
|
|
609
|
+
const h = n.get(m) || [];
|
|
610
|
+
p.set(m, s.has(m) ? h : W(h, r));
|
|
611
|
+
}
|
|
612
|
+
return { camadasVisiveis: l, feicoesPorCamada: p };
|
|
613
|
+
}
|
|
614
|
+
function ca(e, t, a, r = "", i = Se, o) {
|
|
615
|
+
const n = la(e, t, r), s = [], c = /* @__PURE__ */ new Map();
|
|
616
|
+
for (let p = 0; p < t.length; p++) {
|
|
617
|
+
const d = t[p];
|
|
618
|
+
if (!d || !d.id) continue;
|
|
619
|
+
const f = d.layerId || "";
|
|
620
|
+
c.has(f) || c.set(f, []), c.get(f).push(d);
|
|
621
|
+
}
|
|
622
|
+
const l = pe(e);
|
|
623
|
+
function u(p) {
|
|
624
|
+
const d = p.camada;
|
|
625
|
+
if (n && !n.camadasVisiveis.has(d.id) || !(n ? !0 : a.has(d.id))) return;
|
|
626
|
+
for (const g of p.subcamadas)
|
|
627
|
+
u(g);
|
|
628
|
+
const m = n ? n.feicoesPorCamada.get(d.id) || [] : c.get(d.id) || [], h = (o == null ? void 0 : o.get(d.id)) ?? i, v = m.slice(0, h);
|
|
629
|
+
for (let g = 0; g < v.length; g++)
|
|
630
|
+
s.push(v[g].id);
|
|
631
|
+
}
|
|
632
|
+
for (const p of l)
|
|
633
|
+
u(p);
|
|
635
634
|
return s;
|
|
636
635
|
}
|
|
637
|
-
function
|
|
636
|
+
function Xa(e, t, a, r, i, o) {
|
|
638
637
|
if (!e.includes(r)) return null;
|
|
639
638
|
const n = new Set(t);
|
|
640
639
|
let s = a;
|
|
641
640
|
if (o && a && e.includes(a)) {
|
|
642
|
-
const c = e.indexOf(a), l = e.indexOf(r),
|
|
641
|
+
const c = e.indexOf(a), l = e.indexOf(r), u = Math.min(c, l), p = Math.max(c, l);
|
|
643
642
|
i || n.clear();
|
|
644
|
-
for (let
|
|
645
|
-
n.add(e[
|
|
643
|
+
for (let d = u; d <= p; d++)
|
|
644
|
+
n.add(e[d]);
|
|
646
645
|
} else i ? (n.has(r) ? n.delete(r) : n.add(r), s = r) : (n.clear(), n.add(r), s = r);
|
|
647
646
|
return { selecionados: n, ultimoClicadoId: s };
|
|
648
647
|
}
|
|
649
|
-
function
|
|
648
|
+
function Fe(e, t) {
|
|
650
649
|
if (e.size === 0) return;
|
|
651
650
|
const a = new Set(t.map((r) => r.id));
|
|
652
651
|
for (const r of e)
|
|
653
652
|
a.has(r) || e.delete(r);
|
|
654
653
|
}
|
|
655
|
-
function
|
|
654
|
+
function N(e, t, a) {
|
|
656
655
|
const r = /* @__PURE__ */ new Set();
|
|
657
656
|
let i = e.find((o) => o.id === t);
|
|
658
657
|
for (; i && i.parentId; ) {
|
|
@@ -661,40 +660,172 @@ function Y(e, t, a) {
|
|
|
661
660
|
}
|
|
662
661
|
return !1;
|
|
663
662
|
}
|
|
664
|
-
function
|
|
663
|
+
function Ee(e) {
|
|
665
664
|
return Number.isFinite(e) ? e < 0.25 ? "acima" : e > 0.75 ? "abaixo" : "dentro" : "dentro";
|
|
666
665
|
}
|
|
667
|
-
function
|
|
666
|
+
function Oe(e, t, a, r) {
|
|
668
667
|
if (!t || !a || t === a) return null;
|
|
669
668
|
const i = e.find((l) => l.id === t), o = e.find((l) => l.id === a);
|
|
670
669
|
if (!i || !o) return null;
|
|
671
670
|
const n = i.parentId !== void 0 ? i.parentId : null;
|
|
672
671
|
if (r === "dentro")
|
|
673
|
-
return
|
|
674
|
-
if (
|
|
672
|
+
return N(e, o.id, i.id) ? null : (i.parentId = o.id, { tipo: "hierarquia", camada: i, novoParentId: o.id, parentAnteriorId: n });
|
|
673
|
+
if (N(e, o.id, i.id)) return null;
|
|
675
674
|
const s = e.findIndex((l) => l.id === t);
|
|
676
675
|
e.splice(s, 1);
|
|
677
676
|
const c = e.findIndex((l) => l.id === a);
|
|
678
677
|
return c === -1 ? e.push(i) : e.splice(r === "acima" ? c : c + 1, 0, i), i.parentId = o.parentId ?? null, { tipo: "ordem", camada: i, parentAnteriorId: n, novoParentId: i.parentId };
|
|
679
678
|
}
|
|
680
|
-
function
|
|
679
|
+
function Wa(e, t, a, r) {
|
|
681
680
|
const i = e.find((s) => s.id === a), o = t.find((s) => s.id === r);
|
|
682
681
|
if (!i || !o || i.layerId === r) return null;
|
|
683
682
|
const n = i.layerId;
|
|
684
683
|
return i.layerId = r, { feicao: i, camadaOrigemId: n, camadaDestinoId: r, mudouDeCamada: !0 };
|
|
685
684
|
}
|
|
686
|
-
function
|
|
685
|
+
function Ja(e, t, a, r) {
|
|
687
686
|
if (!t || !a || t === a) return null;
|
|
688
|
-
const i = e.findIndex((
|
|
687
|
+
const i = e.findIndex((p) => p.id === t);
|
|
689
688
|
if (i === -1) return null;
|
|
690
|
-
const o = e.find((
|
|
689
|
+
const o = e.find((p) => p.id === a);
|
|
691
690
|
if (!o) return null;
|
|
692
691
|
const [n] = e.splice(i, 1), s = n.layerId, c = o.layerId, l = s !== c;
|
|
693
692
|
l && (n.layerId = c);
|
|
694
|
-
const
|
|
695
|
-
return
|
|
693
|
+
const u = e.findIndex((p) => p.id === a);
|
|
694
|
+
return u === -1 ? e.push(n) : e.splice(r ? u : u + 1, 0, n), { feicao: n, camadaOrigemId: s, camadaDestinoId: c, mudouDeCamada: l };
|
|
695
|
+
}
|
|
696
|
+
function R(e) {
|
|
697
|
+
return `L:${e}`;
|
|
698
|
+
}
|
|
699
|
+
function O(e) {
|
|
700
|
+
return `F:${e}`;
|
|
696
701
|
}
|
|
697
|
-
function
|
|
702
|
+
function Za(e, t, a) {
|
|
703
|
+
if (!a || a.length === 0)
|
|
704
|
+
return [
|
|
705
|
+
...e.map((s) => ({ tipo: "layer", nodo: s })),
|
|
706
|
+
...t.map((s) => ({ tipo: "feature", feicao: s }))
|
|
707
|
+
];
|
|
708
|
+
const r = new Map(e.map((s) => [s.camada.id, s])), i = new Map(t.map((s) => [s.id, s])), o = /* @__PURE__ */ new Set(), n = [];
|
|
709
|
+
for (const s of a)
|
|
710
|
+
if (!o.has(s)) {
|
|
711
|
+
if (s.startsWith("L:")) {
|
|
712
|
+
const c = s.slice(2), l = r.get(c);
|
|
713
|
+
l && (o.add(s), n.push({ tipo: "layer", nodo: l }));
|
|
714
|
+
} else if (s.startsWith("F:")) {
|
|
715
|
+
const c = s.slice(2), l = i.get(c);
|
|
716
|
+
l && (o.add(s), n.push({ tipo: "feature", feicao: l }));
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
for (const s of e) {
|
|
720
|
+
const c = R(s.camada.id);
|
|
721
|
+
o.has(c) || (o.add(c), n.push({ tipo: "layer", nodo: s }));
|
|
722
|
+
}
|
|
723
|
+
for (const s of t) {
|
|
724
|
+
const c = O(s.id);
|
|
725
|
+
o.has(c) || (o.add(c), n.push({ tipo: "feature", feicao: s }));
|
|
726
|
+
}
|
|
727
|
+
return n;
|
|
728
|
+
}
|
|
729
|
+
function me(e, t, a, r) {
|
|
730
|
+
const i = a.filter((u) => u.parentId === t).map((u) => u.id), o = r.filter((u) => u.layerId === t).map((u) => u.id), n = /* @__PURE__ */ new Set([
|
|
731
|
+
...i.map(R),
|
|
732
|
+
...o.map(O)
|
|
733
|
+
]), s = e.get(t), c = [], l = /* @__PURE__ */ new Set();
|
|
734
|
+
if (s)
|
|
735
|
+
for (const u of s)
|
|
736
|
+
n.has(u) && !l.has(u) && (l.add(u), c.push(u));
|
|
737
|
+
for (const u of i) {
|
|
738
|
+
const p = R(u);
|
|
739
|
+
l.has(p) || (l.add(p), c.push(p));
|
|
740
|
+
}
|
|
741
|
+
for (const u of o) {
|
|
742
|
+
const p = O(u);
|
|
743
|
+
l.has(p) || (l.add(p), c.push(p));
|
|
744
|
+
}
|
|
745
|
+
return c;
|
|
746
|
+
}
|
|
747
|
+
function ge(e, t, a, r) {
|
|
748
|
+
const i = e.filter((n) => n !== t), o = i.indexOf(a);
|
|
749
|
+
o === -1 ? i.push(t) : i.splice(r ? o : o + 1, 0, t), e.length = 0, e.push(...i);
|
|
750
|
+
}
|
|
751
|
+
function _(e, t, a) {
|
|
752
|
+
if (!t) return;
|
|
753
|
+
const r = e.get(t);
|
|
754
|
+
if (!r) return;
|
|
755
|
+
const i = r.filter((o) => o !== a);
|
|
756
|
+
i.length === 0 ? e.delete(t) : e.set(t, i);
|
|
757
|
+
}
|
|
758
|
+
function et(e, t) {
|
|
759
|
+
const a = t.filter((n) => n.startsWith("L:")).map((n) => n.slice(2));
|
|
760
|
+
if (a.length < 2) return;
|
|
761
|
+
const r = new Set(a), i = [], o = /* @__PURE__ */ new Map();
|
|
762
|
+
for (let n = 0; n < e.length; n++)
|
|
763
|
+
r.has(e[n].id) && (i.push(n), o.set(e[n].id, e[n]));
|
|
764
|
+
if (i.length === a.length)
|
|
765
|
+
for (let n = 0; n < i.length; n++) {
|
|
766
|
+
const s = o.get(a[n]);
|
|
767
|
+
s && (e[i[n]] = s);
|
|
768
|
+
}
|
|
769
|
+
}
|
|
770
|
+
function at(e, t) {
|
|
771
|
+
const a = t.filter((n) => n.startsWith("F:")).map((n) => n.slice(2));
|
|
772
|
+
if (a.length < 2) return;
|
|
773
|
+
const r = new Set(a), i = [], o = /* @__PURE__ */ new Map();
|
|
774
|
+
for (let n = 0; n < e.length; n++)
|
|
775
|
+
r.has(e[n].id) && (i.push(n), o.set(e[n].id, e[n]));
|
|
776
|
+
if (i.length === a.length)
|
|
777
|
+
for (let n = 0; n < i.length; n++) {
|
|
778
|
+
const s = o.get(a[n]);
|
|
779
|
+
s && (e[i[n]] = s);
|
|
780
|
+
}
|
|
781
|
+
}
|
|
782
|
+
function Re(e, t, a, r, i, o) {
|
|
783
|
+
if (!r || !i) return null;
|
|
784
|
+
const n = e.find((p) => p.id === r), s = t.find((p) => p.id === i);
|
|
785
|
+
if (!n || !s || !s.layerId) return null;
|
|
786
|
+
const c = s.layerId;
|
|
787
|
+
if (c === r || N(e, c, r)) return null;
|
|
788
|
+
const l = n.parentId !== void 0 ? n.parentId : null;
|
|
789
|
+
l && l !== c && _(a, l, R(r)), n.parentId = c;
|
|
790
|
+
const u = me(a, c, e, t);
|
|
791
|
+
return ge(u, R(r), O(i), o), a.set(c, u), et(e, u), {
|
|
792
|
+
tipo: l !== c ? "hierarquia" : "ordem",
|
|
793
|
+
camada: n,
|
|
794
|
+
parentAnteriorId: l,
|
|
795
|
+
novoParentId: c
|
|
796
|
+
};
|
|
797
|
+
}
|
|
798
|
+
function tt(e, t, a, r, i, o) {
|
|
799
|
+
if (!r || !i) return null;
|
|
800
|
+
const n = t.find((d) => d.id === r), s = e.find((d) => d.id === i);
|
|
801
|
+
if (!n || !s || !s.parentId) return null;
|
|
802
|
+
const c = s.parentId, l = n.layerId, u = l !== c;
|
|
803
|
+
u && (_(a, l, O(r)), n.layerId = c);
|
|
804
|
+
const p = me(a, c, e, t);
|
|
805
|
+
return ge(p, O(r), R(i), o), a.set(c, p), at(t, p), { feicao: n, camadaOrigemId: l, camadaDestinoId: c, mudouDeCamada: u };
|
|
806
|
+
}
|
|
807
|
+
function je(e, t, a, r, i, o, n, s) {
|
|
808
|
+
const c = R(r);
|
|
809
|
+
if (n && (n !== s || o === "dentro") && _(a, n, c), o !== "dentro" && s && a.has(s)) {
|
|
810
|
+
const l = me(a, s, e, t);
|
|
811
|
+
ge(l, c, R(i), o === "acima"), a.set(s, l);
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
function rt(e, t, a, r, i, o, n, s) {
|
|
815
|
+
const c = O(r);
|
|
816
|
+
if (n && n !== s && _(a, n, c), s && a.has(s)) {
|
|
817
|
+
const l = me(a, s, e, t);
|
|
818
|
+
ge(l, c, O(i), o), a.set(s, l);
|
|
819
|
+
}
|
|
820
|
+
}
|
|
821
|
+
function it(e, t, a, r) {
|
|
822
|
+
const i = O(t);
|
|
823
|
+
if (_(e, a, i), r && e.has(r)) {
|
|
824
|
+
const o = e.get(r);
|
|
825
|
+
o.includes(i) || o.push(i);
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
function ot(e) {
|
|
698
829
|
const {
|
|
699
830
|
camadas: t,
|
|
700
831
|
feicoes: a,
|
|
@@ -705,60 +836,59 @@ function Ua(e) {
|
|
|
705
836
|
editingLayerId: s,
|
|
706
837
|
editingFeatureId: c,
|
|
707
838
|
searchQuery: l,
|
|
708
|
-
titulo:
|
|
709
|
-
mostrarBusca:
|
|
710
|
-
limitesPorCamada:
|
|
711
|
-
limiteFeicoesPorCamada: f =
|
|
712
|
-
mostrarBotaoColapsar: m = !1
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
839
|
+
titulo: u = "CAMADAS",
|
|
840
|
+
mostrarBusca: p = !0,
|
|
841
|
+
limitesPorCamada: d,
|
|
842
|
+
limiteFeicoesPorCamada: f = Se,
|
|
843
|
+
mostrarBotaoColapsar: m = !1,
|
|
844
|
+
ordemFilhosPorPai: h
|
|
845
|
+
} = e, v = (l || "").trim().toLowerCase(), g = la(t, a, v), w = /* @__PURE__ */ new Map();
|
|
846
|
+
for (let x = 0; x < a.length; x++) {
|
|
847
|
+
const y = a[x];
|
|
848
|
+
if (!y || !y.id) continue;
|
|
849
|
+
const P = y.layerId || "";
|
|
850
|
+
w.has(P) || w.set(P, []), w.get(P).push(y);
|
|
851
|
+
}
|
|
852
|
+
const k = fe(t), L = t.every((x) => x.visible !== !1), A = t.length > 0 && t.every((x) => i.has(x.id)), S = p ? `
|
|
721
853
|
<div class="ui-tree-search-wrapper" part="busca">
|
|
722
|
-
<span class="ui-tree-search-icon">${
|
|
723
|
-
<input type="text" class="ui-tree-search-input" id="input-layer-search" aria-label="Buscar camada ou feição" placeholder="Buscar camada ou feição..." value="${
|
|
854
|
+
<span class="ui-tree-search-icon">${b.busca}</span>
|
|
855
|
+
<input type="text" class="ui-tree-search-input" id="input-layer-search" aria-label="Buscar camada ou feição" placeholder="Buscar camada ou feição..." value="${M(
|
|
724
856
|
l
|
|
725
857
|
)}" />
|
|
726
|
-
${l ? `<button class="ui-tree-search-clear" id="btn-clear-layer-search" title="Limpar busca" aria-label="Limpar busca">${
|
|
858
|
+
${l ? `<button class="ui-tree-search-clear" id="btn-clear-layer-search" title="Limpar busca" aria-label="Limpar busca">${b.fechar}</button>` : ""}
|
|
727
859
|
</div>
|
|
728
|
-
` : "",
|
|
860
|
+
` : "", F = `
|
|
729
861
|
<div class="ui-tree-toolbar" part="toolbar">
|
|
730
862
|
<div class="ui-tree-title-group">
|
|
731
|
-
<span class="ui-tree-section-title">${
|
|
863
|
+
<span class="ui-tree-section-title">${M(u || "CAMADAS")}</span>
|
|
732
864
|
<span class="ui-tree-count-badge">${t.length}</span>
|
|
733
865
|
</div>
|
|
734
866
|
<div class="ui-tree-actions">
|
|
735
867
|
<button id="btn-toggle-all-vis" class="ui-tree-action-btn" title="${L ? "Ocultar Todas as Camadas" : "Exibir Todas as Camadas"}" aria-label="${L ? "Ocultar Todas as Camadas" : "Exibir Todas as Camadas"}">
|
|
736
|
-
${L ?
|
|
868
|
+
${L ? b.olhoAberto : b.olhoFechado}
|
|
737
869
|
</button>
|
|
738
|
-
<button id="btn-toggle-all-expand" class="ui-tree-action-btn" aria-label="${
|
|
739
|
-
<span class="ui-chevron-icon ${
|
|
870
|
+
<button id="btn-toggle-all-expand" class="ui-tree-action-btn" aria-label="${A ? "Recolher Todos os Grupos" : "Expandir Todos os Grupos"}" title="${A ? "Recolher Todos os Grupos" : "Expandir Todos os Grupos"}">
|
|
871
|
+
<span class="ui-chevron-icon ${A ? "open" : ""}">${b.chevronDir}</span>
|
|
740
872
|
</button>
|
|
741
|
-
${m ? `<button id="btn-colapsar" class="ui-camadas-btn-colapsar" title="Recolher painel" aria-label="Recolher painel">${
|
|
873
|
+
${m ? `<button id="btn-colapsar" class="ui-camadas-btn-colapsar" title="Recolher painel" aria-label="Recolher painel">${b.recolherPainel}</button>` : ""}
|
|
742
874
|
</div>
|
|
743
875
|
</div>
|
|
744
|
-
${
|
|
745
|
-
`,
|
|
746
|
-
const
|
|
747
|
-
if (
|
|
748
|
-
const
|
|
749
|
-
(
|
|
750
|
-
).join(""),
|
|
751
|
-
|
|
752
|
-
).join(""), Aa = ce ? `
|
|
753
|
-
<div class="ui-layer-settings-drawer" id="settings-drawer-${C}" part="drawer" style="--drawer-cor-camada: ${N};">
|
|
876
|
+
${S}
|
|
877
|
+
`, B = (x) => {
|
|
878
|
+
const y = x.camada;
|
|
879
|
+
if (g && !g.camadasVisiveis.has(y.id)) return "";
|
|
880
|
+
const P = x.depth, Y = x.subcamadas, Me = g ? Y.filter(($) => g.camadasVisiveis.has($.camada.id)) : Y, te = !!(y.isGroup || Y.length > 0), C = M(y.id), re = M(y.name || (te ? "Novo Grupo" : "Camada")), H = K(y.color, "#00E08A"), ie = y.visible !== !1, oe = y.locked === !0, ne = v ? !0 : i.has(y.id), he = n === y.id, ve = r === y.id, G = k.get(y.id), xa = (G == null ? void 0 : G.ocultaPorAncestral) === !0, wa = (G == null ? void 0 : G.travadaPorAncestral) === !0, j = g ? g.feicoesPorCamada.get(y.id) || [] : w.get(y.id) || [], se = g ? j : ae(t, a, y.id), Pe = se.length > 0 && se.every(($) => o.has($.id)), Aa = !Pe && se.some(($) => o.has($.id)), be = (d == null ? void 0 : d.get(y.id)) ?? f, Ea = j.slice(0, be), Ia = j.length > be, ka = aa(y, P, G), La = ($) => sa($, ka, o.has($.id), c === $.id), Ca = Ia ? oa(C, be, j.length) : "", ze = Number(y.opacity ?? 1), Be = Number.isFinite(ze) ? Math.min(1, Math.max(0, ze)) : 1, Sa = Math.round(Be * 100), Fa = t.filter(($) => $.id !== y.id && !N(t, $.id, y.id)).map(
|
|
881
|
+
($) => `<option value="${M($.id)}" ${y.parentId === $.id ? "selected" : ""}>${$.isGroup ? "📁 " : ""}${M($.name)}</option>`
|
|
882
|
+
).join(""), $a = he ? `
|
|
883
|
+
<div class="ui-layer-settings-drawer" id="settings-drawer-${C}" part="drawer" style="--drawer-cor-camada: ${H};">
|
|
754
884
|
<div class="ui-drawer-header">
|
|
755
885
|
<div class="ui-drawer-header-left">
|
|
756
|
-
<span class="ui-drawer-icon">${
|
|
886
|
+
<span class="ui-drawer-icon">${b.engrenagem}</span>
|
|
757
887
|
<span class="ui-drawer-title">Configurações da Camada</span>
|
|
758
|
-
<span class="ui-drawer-layer-chip" title="${
|
|
888
|
+
<span class="ui-drawer-layer-chip" title="${re}">${re}</span>
|
|
759
889
|
</div>
|
|
760
890
|
<button type="button" class="ui-drawer-btn-fechar" data-layer-settings-close="${C}" title="Fechar configurações (Esc)" aria-label="Fechar configurações">
|
|
761
|
-
${
|
|
891
|
+
${b.fechar}
|
|
762
892
|
</button>
|
|
763
893
|
</div>
|
|
764
894
|
|
|
@@ -770,9 +900,9 @@ function Ua(e) {
|
|
|
770
900
|
</div>
|
|
771
901
|
<div class="ui-drawer-color-group">
|
|
772
902
|
<label class="ui-drawer-color-pill" title="Clique para alterar a cor da camada">
|
|
773
|
-
<span class="ui-drawer-color-sample" id="sample-color-${C}" style="background-color: ${
|
|
774
|
-
<span class="ui-drawer-color-hex" id="hex-color-${C}">${
|
|
775
|
-
<input type="color" aria-label="Cor da camada" data-layer-color-picker="${C}" value="${
|
|
903
|
+
<span class="ui-drawer-color-sample" id="sample-color-${C}" style="background-color: ${H};"></span>
|
|
904
|
+
<span class="ui-drawer-color-hex" id="hex-color-${C}">${H.toUpperCase()}</span>
|
|
905
|
+
<input type="color" aria-label="Cor da camada" data-layer-color-picker="${C}" value="${Ga(H, "#00e08a")}" class="ui-drawer-color-native" />
|
|
776
906
|
</label>
|
|
777
907
|
</div>
|
|
778
908
|
</div>
|
|
@@ -781,10 +911,10 @@ function Ua(e) {
|
|
|
781
911
|
<div class="ui-drawer-row">
|
|
782
912
|
<div class="ui-drawer-row-label">
|
|
783
913
|
<span>Opacidade</span>
|
|
784
|
-
<span class="ui-drawer-badge" id="badge-op-${C}">${
|
|
914
|
+
<span class="ui-drawer-badge" id="badge-op-${C}">${Sa}%</span>
|
|
785
915
|
</div>
|
|
786
916
|
<div class="ui-drawer-slider-container">
|
|
787
|
-
<input type="range" aria-label="Opacidade da camada" min="0.05" max="1" step="0.05" value="${Number(
|
|
917
|
+
<input type="range" aria-label="Opacidade da camada" min="0.05" max="1" step="0.05" value="${Number(Be) || 0}" data-layer-opacity-slider="${C}" class="ui-drawer-slider" />
|
|
788
918
|
</div>
|
|
789
919
|
</div>
|
|
790
920
|
|
|
@@ -795,8 +925,8 @@ function Ua(e) {
|
|
|
795
925
|
</div>
|
|
796
926
|
<div class="ui-drawer-select-wrapper">
|
|
797
927
|
<select class="ui-drawer-select" data-layer-parent-select="${C}" aria-label="Grupo pai da camada">
|
|
798
|
-
<option value="" ${
|
|
799
|
-
${
|
|
928
|
+
<option value="" ${y.parentId ? "" : "selected"}>(Nenhum - Nível Principal)</option>
|
|
929
|
+
${Fa}
|
|
800
930
|
</select>
|
|
801
931
|
</div>
|
|
802
932
|
</div>
|
|
@@ -804,76 +934,78 @@ function Ua(e) {
|
|
|
804
934
|
|
|
805
935
|
<div class="ui-drawer-footer">
|
|
806
936
|
<div class="ui-drawer-meta-info">
|
|
807
|
-
<span>${
|
|
937
|
+
<span>${Y.length > 0 ? `${Y.length} subcamadas · ` : ""}${j.length} ${j.length === 1 ? "feição" : "feições"}</span>
|
|
808
938
|
</div>
|
|
809
939
|
<div class="ui-drawer-actions">
|
|
810
940
|
<button type="button" class="ui-drawer-btn-sublayer" data-add-sublayer="${C}" title="Adicionar nova camada dentro desta">
|
|
811
|
-
${
|
|
941
|
+
${b.mais} Subcamada
|
|
812
942
|
</button>
|
|
813
943
|
<button type="button" class="ui-drawer-btn-danger" data-delete-layer="${C}" title="Excluir esta camada e suas feições">
|
|
814
|
-
${
|
|
944
|
+
${b.lixeira}
|
|
815
945
|
<span class="ui-btn-label">Excluir</span>
|
|
816
946
|
</button>
|
|
817
947
|
</div>
|
|
818
948
|
</div>
|
|
819
949
|
</div>
|
|
820
|
-
` : "",
|
|
950
|
+
` : "", Ma = Za(
|
|
951
|
+
Me,
|
|
952
|
+
Ea,
|
|
953
|
+
h == null ? void 0 : h.get(y.id)
|
|
954
|
+
).map(($) => $.tipo === "layer" ? B($.nodo) : La($.feicao)).join("");
|
|
821
955
|
return `
|
|
822
|
-
<div class="ui-layer-group ${
|
|
823
|
-
<div class="ui-layer-row ${
|
|
824
|
-
<div class="ui-col ui-col-drag" title="Arrastar para reordenar Z-Index">${
|
|
956
|
+
<div class="ui-layer-group ${P > 0 ? "is-sublayer-group" : ""}" data-layer-id="${C}" data-layer-depth="${P}" role="treeitem" aria-level="${P + 1}" aria-expanded="${ne}" part="grupo" style="--layer-active-color: ${H};">
|
|
957
|
+
<div class="ui-layer-row ${ie ? "" : "hidden-layer"} ${ve ? "active-drawing-layer" : ""} ${P > 0 ? "is-sublayer" : ""} ${te ? "is-group-row" : ""} ${xa ? "herdado-oculto" : ""} ${wa ? "herdado-travado" : ""}" data-layer-row="${C}" data-layer-id="${C}" tabindex="-1" draggable="true" part="${ve ? "camada camada-ativa" : "camada"}" ${ve ? 'aria-current="true"' : ""} style="--layer-depth: ${P};">
|
|
958
|
+
<div class="ui-col ui-col-drag" title="Arrastar para reordenar Z-Index">${b.dragHandle}</div>
|
|
825
959
|
|
|
826
|
-
<div class="ui-col ui-col-eye" data-layer-eye="${C}" role="button" tabindex="0" aria-label="${
|
|
827
|
-
${
|
|
960
|
+
<div class="ui-col ui-col-eye" data-layer-eye="${C}" role="button" tabindex="0" aria-label="${ie ? "Ocultar Camada" : "Exibir Camada"}" title="${ie ? "Ocultar Camada" : "Exibir Camada"}">
|
|
961
|
+
${ie ? b.olhoAberto : b.olhoFechado}
|
|
828
962
|
</div>
|
|
829
963
|
|
|
830
|
-
<div class="ui-col ui-col-lock ${
|
|
831
|
-
${
|
|
964
|
+
<div class="ui-col ui-col-lock ${oe ? "" : "ui-lock-open"}" data-layer-lock="${C}" role="button" tabindex="0" aria-label="${oe ? "Desbloquear Camada" : "Bloquear Camada"}" title="${oe ? "Desbloquear Camada" : "Bloquear Camada"}">
|
|
965
|
+
${oe ? b.cadeadoTrancado : b.cadeadoAberto}
|
|
832
966
|
</div>
|
|
833
967
|
|
|
834
|
-
<div class="ui-col ui-col-colorbar ui-col-colorbar-editavel" data-layer-color="${C}" role="button" tabindex="0" style="background: ${
|
|
968
|
+
<div class="ui-col ui-col-colorbar ui-col-colorbar-editavel" data-layer-color="${C}" role="button" tabindex="0" style="background: ${H};" aria-label="Alterar cor da camada" title="Alterar cor da camada (usada no destaque de seleção)"></div>
|
|
835
969
|
|
|
836
|
-
<div class="ui-col ui-col-chevron" data-layer-expand="${C}" role="button" tabindex="0" aria-label="${
|
|
837
|
-
<span class="ui-chevron-icon ${
|
|
970
|
+
<div class="ui-col ui-col-chevron" data-layer-expand="${C}" role="button" tabindex="0" aria-label="${ne ? "Recolher grupo" : "Expandir grupo"}">
|
|
971
|
+
<span class="ui-chevron-icon ${ne ? "open" : ""}">${b.chevronDir}</span>
|
|
838
972
|
</div>
|
|
839
973
|
|
|
840
974
|
<div class="ui-col ui-col-name" data-layer-name-trigger="${C}" title="Clique para ativar camada de desenho | Duplo clique para renomear">
|
|
841
|
-
${s ===
|
|
842
|
-
|
|
843
|
-
${Qe(te.length, R.length, T.length, _)}`}
|
|
975
|
+
${s === y.id ? `<input type="text" class="ui-inline-rename-input" data-inline-layer-input="${C}" value="${re}" />` : `<span class="ui-name-text">${re}</span>
|
|
976
|
+
${ra(se.length, j.length, Y.length, te)}`}
|
|
844
977
|
</div>
|
|
845
978
|
|
|
846
979
|
<div class="ui-col ui-col-actions">
|
|
847
|
-
<button class="ui-micro-btn" data-layer-fit="${C}" title="Enquadrar camada no mapa" aria-label="Enquadrar camada no mapa">${
|
|
848
|
-
<button class="ui-micro-btn ${
|
|
980
|
+
<button class="ui-micro-btn" data-layer-fit="${C}" title="Enquadrar camada no mapa" aria-label="Enquadrar camada no mapa">${b.alvoEnquadrar}</button>
|
|
981
|
+
<button class="ui-micro-btn ${he ? "active" : ""}" data-layer-settings="${C}" title="Ajustar cor, hierarquia, opacidade e excluir" aria-label="Configurações da camada" aria-expanded="${he}">${b.engrenagem}</button>
|
|
849
982
|
</div>
|
|
850
983
|
|
|
851
984
|
<div class="ui-col ui-col-target" data-layer-target="${C}" role="button" tabindex="0" aria-label="Selecionar todas as feições deste grupo" title="Selecionar todas as feições deste grupo">
|
|
852
|
-
<div class="ui-target-circle ${
|
|
985
|
+
<div class="ui-target-circle ${Pe ? "selected" : Aa ? "partial" : ""}"></div>
|
|
853
986
|
</div>
|
|
854
987
|
</div>
|
|
855
988
|
|
|
856
|
-
${
|
|
989
|
+
${$a}
|
|
857
990
|
|
|
858
|
-
<div class="ui-children-container ${
|
|
859
|
-
${
|
|
860
|
-
${
|
|
861
|
-
${
|
|
862
|
-
${Ie.length === 0 && R.length === 0 ? Je(_) : ""}
|
|
991
|
+
<div class="ui-children-container ${P > 0 ? "is-subchildren" : ""}" role="group" style="--parent-depth: ${P}; --parent-layer-color: ${H}; display: ${ne ? "block" : "none"};">
|
|
992
|
+
${Ma}
|
|
993
|
+
${Ca}
|
|
994
|
+
${Me.length === 0 && j.length === 0 ? na(te) : ""}
|
|
863
995
|
</div>
|
|
864
996
|
</div>
|
|
865
997
|
`;
|
|
866
|
-
},
|
|
998
|
+
}, E = pe(t), z = g && g.camadasVisiveis.size === 0 ? `<div class="ui-search-empty" role="status">Nenhum resultado para “${M((l || "").trim())}”</div>` : E.map((x) => B(x)).join("");
|
|
867
999
|
return `
|
|
868
|
-
${
|
|
1000
|
+
${F}
|
|
869
1001
|
<div class="ui-panel-box">
|
|
870
1002
|
<div class="ui-layer-tree" id="ui-layer-tree-mount" role="tree" aria-label="Camadas e feições" aria-multiselectable="true" part="arvore">
|
|
871
|
-
${
|
|
1003
|
+
${z}
|
|
872
1004
|
</div>
|
|
873
1005
|
</div>
|
|
874
1006
|
`;
|
|
875
1007
|
}
|
|
876
|
-
function
|
|
1008
|
+
function nt(e) {
|
|
877
1009
|
return [
|
|
878
1010
|
{
|
|
879
1011
|
gatilho: "data-layer-name-trigger",
|
|
@@ -903,46 +1035,46 @@ function Va(e) {
|
|
|
903
1035
|
}
|
|
904
1036
|
];
|
|
905
1037
|
}
|
|
906
|
-
function
|
|
907
|
-
for (const r of
|
|
1038
|
+
function Ne(e, t, a = t) {
|
|
1039
|
+
for (const r of nt(e))
|
|
908
1040
|
a.querySelectorAll(`[${r.gatilho}]`).forEach((i) => {
|
|
909
1041
|
i.addEventListener("dblclick", (o) => {
|
|
910
1042
|
o.stopPropagation();
|
|
911
1043
|
const n = i.getAttribute(r.gatilho);
|
|
912
1044
|
if (!n) return;
|
|
913
1045
|
r.marcarEditando(n), e.solicitarRenderizacao();
|
|
914
|
-
const s =
|
|
1046
|
+
const s = D(t, r.input, n);
|
|
915
1047
|
if (!s) return;
|
|
916
1048
|
s.focus(), s.select();
|
|
917
1049
|
let c = !1;
|
|
918
|
-
const l = (
|
|
919
|
-
var
|
|
1050
|
+
const l = (u, p = !1) => {
|
|
1051
|
+
var d, f;
|
|
920
1052
|
if (!c) {
|
|
921
|
-
if (c = !0, r.marcarEditando(null),
|
|
1053
|
+
if (c = !0, r.marcarEditando(null), u) {
|
|
922
1054
|
const m = r.aplicar(n, s.value.trim());
|
|
923
|
-
m && (m.salvar && ((
|
|
1055
|
+
m && (m.salvar && ((d = e.salvarLembrancaEstado) == null || d.call(e)), r.emitir(m.detalhe));
|
|
924
1056
|
}
|
|
925
|
-
e.solicitarRenderizacao(),
|
|
1057
|
+
e.solicitarRenderizacao(), p && ((f = D(t, r.linha, n)) == null || f.focus());
|
|
926
1058
|
}
|
|
927
1059
|
};
|
|
928
|
-
s.addEventListener("keydown", (
|
|
929
|
-
|
|
1060
|
+
s.addEventListener("keydown", (u) => {
|
|
1061
|
+
u.key === "Enter" ? (u.preventDefault(), l(!0, !0)) : u.key === "Escape" && (u.preventDefault(), l(!1, !0));
|
|
930
1062
|
}), s.addEventListener("blur", () => l(!0));
|
|
931
1063
|
});
|
|
932
1064
|
});
|
|
933
1065
|
}
|
|
934
|
-
const
|
|
935
|
-
class
|
|
1066
|
+
const st = ["dragging", "drop-above", "drop-below", "drop-into"];
|
|
1067
|
+
class lt {
|
|
936
1068
|
constructor(t, a) {
|
|
937
|
-
|
|
938
|
-
|
|
1069
|
+
I(this, "host");
|
|
1070
|
+
I(this, "shadow");
|
|
939
1071
|
/** Cancela um arraste por toque em andamento (remove os ouvintes de `window`). */
|
|
940
|
-
|
|
1072
|
+
I(this, "cancelarToque", null);
|
|
941
1073
|
/**
|
|
942
1074
|
* Arraste HTML5 em andamento. Fica no gerenciador (e não numa closure de `bindDragAndDrop`) para que linhas
|
|
943
1075
|
* ligadas depois, na atualização incremental, enxerguem o arraste iniciado numa linha mais antiga.
|
|
944
1076
|
*/
|
|
945
|
-
|
|
1077
|
+
I(this, "arraste", {
|
|
946
1078
|
tipo: null,
|
|
947
1079
|
camadaId: null,
|
|
948
1080
|
feicaoId: null
|
|
@@ -958,11 +1090,11 @@ class Ka {
|
|
|
958
1090
|
(t = this.cancelarToque) == null || t.call(this), this.cancelarToque = null;
|
|
959
1091
|
}
|
|
960
1092
|
bindInlineRename() {
|
|
961
|
-
|
|
1093
|
+
Ne(this.host, this.shadow);
|
|
962
1094
|
}
|
|
963
1095
|
limparClassesDeArraste() {
|
|
964
1096
|
this.shadow.querySelectorAll(".ui-layer-row, .ui-feat-row, .ui-layer-group").forEach((t) => {
|
|
965
|
-
t.classList.remove(...
|
|
1097
|
+
t.classList.remove(...st);
|
|
966
1098
|
});
|
|
967
1099
|
}
|
|
968
1100
|
/** Depois de qualquer mudança na ordem/hierarquia de camadas. */
|
|
@@ -975,7 +1107,8 @@ class Ka {
|
|
|
975
1107
|
feicaoId: t.feicao.id,
|
|
976
1108
|
camadaOrigemId: t.camadaOrigemId,
|
|
977
1109
|
camadaDestinoId: t.camadaDestinoId,
|
|
978
|
-
feicao: t.feicao
|
|
1110
|
+
feicao: t.feicao,
|
|
1111
|
+
feicoes: [...this.host.feicoes]
|
|
979
1112
|
});
|
|
980
1113
|
}
|
|
981
1114
|
/** Camada travada (ou sob grupo travado) ou feição individualmente travada não pode ser movida entre camadas. */
|
|
@@ -983,7 +1116,7 @@ class Ka {
|
|
|
983
1116
|
const r = this.host.feicoes.find((n) => n.id === t), i = r == null ? void 0 : r.layerId;
|
|
984
1117
|
if (!a || i === a) return !1;
|
|
985
1118
|
if ((r == null ? void 0 : r.locked) === !0) return !0;
|
|
986
|
-
const o =
|
|
1119
|
+
const o = ce(this.host.camadas);
|
|
987
1120
|
return o.has(a) || !!i && o.has(i);
|
|
988
1121
|
}
|
|
989
1122
|
arrasteBloqueado(t) {
|
|
@@ -995,7 +1128,7 @@ class Ka {
|
|
|
995
1128
|
}
|
|
996
1129
|
/** Atualização incremental: liga renomear e arraste só nas linhas de feição novas dentro de `raiz`. */
|
|
997
1130
|
bindLinhasFeicao(t) {
|
|
998
|
-
|
|
1131
|
+
Ne(this.host, this.shadow, t), this.vincularArrasteFeicoes(t);
|
|
999
1132
|
}
|
|
1000
1133
|
vincularArrasteCamadas(t) {
|
|
1001
1134
|
t.querySelectorAll('.ui-layer-row[draggable="true"]').forEach((a) => {
|
|
@@ -1011,35 +1144,72 @@ class Ka {
|
|
|
1011
1144
|
const o = i;
|
|
1012
1145
|
if (o.preventDefault(), o.stopPropagation(), o.dataTransfer && (o.dataTransfer.dropEffect = "move"), this.arraste.tipo === "layer") {
|
|
1013
1146
|
if (this.arraste.camadaId === r) return;
|
|
1014
|
-
const n = a.getBoundingClientRect(), s =
|
|
1147
|
+
const n = a.getBoundingClientRect(), s = Ee((o.clientY - n.top) / n.height);
|
|
1015
1148
|
a.classList.toggle("drop-above", s === "acima"), a.classList.toggle("drop-below", s === "abaixo"), a.classList.toggle("drop-into", s === "dentro");
|
|
1016
|
-
} else this.arraste.tipo === "feature"
|
|
1149
|
+
} else if (this.arraste.tipo === "feature") {
|
|
1150
|
+
const n = this.host.camadas.find((s) => s.id === r);
|
|
1151
|
+
if (n != null && n.parentId) {
|
|
1152
|
+
const s = a.getBoundingClientRect(), c = s.height > 0 ? Ee((o.clientY - s.top) / s.height) : "dentro";
|
|
1153
|
+
a.classList.toggle("drop-above", c === "acima"), a.classList.toggle("drop-below", c === "abaixo"), a.classList.toggle("drop-into", c === "dentro");
|
|
1154
|
+
} else
|
|
1155
|
+
a.classList.remove("drop-above", "drop-below"), a.classList.add("drop-into");
|
|
1156
|
+
}
|
|
1017
1157
|
}), a.addEventListener("dragleave", (i) => {
|
|
1018
1158
|
const o = i.relatedTarget;
|
|
1019
1159
|
o && a.contains(o) || a.classList.remove("drop-above", "drop-below", "drop-into");
|
|
1020
1160
|
}), a.addEventListener("drop", (i) => {
|
|
1021
|
-
var s;
|
|
1161
|
+
var s, c, l, u, p;
|
|
1022
1162
|
const o = i;
|
|
1023
1163
|
o.preventDefault(), o.stopPropagation();
|
|
1024
1164
|
const n = a.classList.contains("drop-into") ? "dentro" : a.classList.contains("drop-above") ? "acima" : "abaixo";
|
|
1025
1165
|
if (this.limparClassesDeArraste(), this.arraste.tipo === "layer") {
|
|
1026
|
-
if (!this.arraste.camadaId || this.arraste.camadaId === r || !this.host.camadas.some((
|
|
1027
|
-
const
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1166
|
+
if (!this.arraste.camadaId || this.arraste.camadaId === r || !this.host.camadas.some((f) => f.id === this.arraste.camadaId) || !this.host.camadas.some((f) => f.id === r)) return;
|
|
1167
|
+
const d = Oe(this.host.camadas, this.arraste.camadaId, r, n);
|
|
1168
|
+
d && this.host.ordemFilhosPorPai && je(
|
|
1169
|
+
this.host.camadas,
|
|
1170
|
+
this.host.feicoes,
|
|
1171
|
+
this.host.ordemFilhosPorPai,
|
|
1172
|
+
this.arraste.camadaId,
|
|
1173
|
+
r,
|
|
1174
|
+
n,
|
|
1175
|
+
d.parentAnteriorId,
|
|
1176
|
+
d.novoParentId
|
|
1177
|
+
), (d == null ? void 0 : d.tipo) === "hierarquia" ? ((s = this.host.expandedLayers) == null || s.add(d.novoParentId), this.host.dispararEvento("ui-camada-mover-hierarquia", {
|
|
1178
|
+
camadaId: d.camada.id,
|
|
1179
|
+
novoParentId: d.novoParentId,
|
|
1180
|
+
parentAnteriorId: d.parentAnteriorId,
|
|
1181
|
+
camada: d.camada
|
|
1182
|
+
})) : d && d.parentAnteriorId !== d.novoParentId && this.host.dispararEvento("ui-camada-mover-hierarquia", {
|
|
1183
|
+
camadaId: d.camada.id,
|
|
1184
|
+
novoParentId: d.novoParentId,
|
|
1185
|
+
parentAnteriorId: d.parentAnteriorId,
|
|
1186
|
+
camada: d.camada
|
|
1038
1187
|
}), this.aposReordenarCamadas();
|
|
1039
1188
|
} else if (this.arraste.tipo === "feature") {
|
|
1040
|
-
if (!this.arraste.feicaoId
|
|
1041
|
-
const
|
|
1042
|
-
|
|
1189
|
+
if (!this.arraste.feicaoId) return;
|
|
1190
|
+
const d = this.host.camadas.find((f) => f.id === r);
|
|
1191
|
+
if (d != null && d.parentId && (n === "acima" || n === "abaixo")) {
|
|
1192
|
+
if (this.trocaEntreCamadasTravada(this.arraste.feicaoId, d.parentId) || !this.host.ordemFilhosPorPai) return;
|
|
1193
|
+
const f = tt(
|
|
1194
|
+
this.host.camadas,
|
|
1195
|
+
this.host.feicoes,
|
|
1196
|
+
this.host.ordemFilhosPorPai,
|
|
1197
|
+
this.arraste.feicaoId,
|
|
1198
|
+
r,
|
|
1199
|
+
n === "acima"
|
|
1200
|
+
);
|
|
1201
|
+
if (!f) return;
|
|
1202
|
+
this.host.dispararEvento("ui-feicoes-reordenadas", { feicoes: [...this.host.feicoes] }), f.mudouDeCamada && this.emitirFeicaoMovida(f), (l = (c = this.host).salvarLembrancaEstado) == null || l.call(c), this.host.solicitarRenderizacao();
|
|
1203
|
+
} else {
|
|
1204
|
+
if (this.trocaEntreCamadasTravada(this.arraste.feicaoId, r)) return;
|
|
1205
|
+
const f = Wa(this.host.feicoes, this.host.camadas, this.arraste.feicaoId, r);
|
|
1206
|
+
f && (this.host.ordemFilhosPorPai && it(
|
|
1207
|
+
this.host.ordemFilhosPorPai,
|
|
1208
|
+
f.feicao.id,
|
|
1209
|
+
f.camadaOrigemId,
|
|
1210
|
+
f.camadaDestinoId
|
|
1211
|
+
), this.emitirFeicaoMovida(f), (p = (u = this.host).salvarLembrancaEstado) == null || p.call(u), this.host.solicitarRenderizacao());
|
|
1212
|
+
}
|
|
1043
1213
|
}
|
|
1044
1214
|
}), a.addEventListener("dragend", () => {
|
|
1045
1215
|
this.arraste.tipo = null, this.arraste.camadaId = null, this.arraste.feicaoId = null, this.limparClassesDeArraste();
|
|
@@ -1057,22 +1227,50 @@ class Ka {
|
|
|
1057
1227
|
}
|
|
1058
1228
|
n.stopPropagation(), this.arraste.tipo = "feature", this.arraste.feicaoId = r, this.arraste.camadaId = i, n.dataTransfer && (n.dataTransfer.setData("text/plain", JSON.stringify({ type: "feature", id: r, layerId: i })), n.dataTransfer.effectAllowed = "move"), a.classList.add("dragging");
|
|
1059
1229
|
}), a.addEventListener("dragover", (o) => {
|
|
1060
|
-
const n = o;
|
|
1061
|
-
if (
|
|
1230
|
+
const n = o, s = this.arraste.tipo === "feature" && this.arraste.feicaoId !== r, c = this.arraste.tipo === "layer" && !!this.arraste.camadaId && !!i && this.arraste.camadaId !== i && !N(this.host.camadas, i, this.arraste.camadaId);
|
|
1231
|
+
if (!s && !c) return;
|
|
1062
1232
|
n.preventDefault(), n.stopPropagation(), n.dataTransfer && (n.dataTransfer.dropEffect = "move");
|
|
1063
|
-
const
|
|
1064
|
-
a.classList.toggle("drop-above",
|
|
1233
|
+
const l = a.getBoundingClientRect(), u = n.clientY - l.top < l.height / 2;
|
|
1234
|
+
a.classList.toggle("drop-above", u), a.classList.toggle("drop-below", !u);
|
|
1065
1235
|
}), a.addEventListener("dragleave", (o) => {
|
|
1066
1236
|
const n = o.relatedTarget;
|
|
1067
1237
|
n && a.contains(n) || a.classList.remove("drop-above", "drop-below");
|
|
1068
1238
|
}), a.addEventListener("drop", (o) => {
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1239
|
+
var l, u, p;
|
|
1240
|
+
const n = o, s = a.getBoundingClientRect(), c = a.classList.contains("drop-above") ? !0 : a.classList.contains("drop-below") ? !1 : s.height > 0 && n.clientY - s.top < s.height / 2;
|
|
1241
|
+
if (this.arraste.tipo === "feature") {
|
|
1242
|
+
if (!this.arraste.feicaoId || this.arraste.feicaoId === r || (n.preventDefault(), n.stopPropagation(), this.limparClassesDeArraste(), this.trocaEntreCamadasTravada(this.arraste.feicaoId, i))) return;
|
|
1243
|
+
const d = Ja(this.host.feicoes, this.arraste.feicaoId, r, c);
|
|
1244
|
+
if (!d) return;
|
|
1245
|
+
this.host.ordemFilhosPorPai && rt(
|
|
1246
|
+
this.host.camadas,
|
|
1247
|
+
this.host.feicoes,
|
|
1248
|
+
this.host.ordemFilhosPorPai,
|
|
1249
|
+
this.arraste.feicaoId,
|
|
1250
|
+
r,
|
|
1251
|
+
c,
|
|
1252
|
+
d.camadaOrigemId,
|
|
1253
|
+
d.camadaDestinoId
|
|
1254
|
+
), this.host.dispararEvento("ui-feicoes-reordenadas", { feicoes: [...this.host.feicoes] }), d.mudouDeCamada && this.emitirFeicaoMovida(d), (u = (l = this.host).salvarLembrancaEstado) == null || u.call(l), this.host.solicitarRenderizacao();
|
|
1255
|
+
} else if (this.arraste.tipo === "layer") {
|
|
1256
|
+
if (!this.arraste.camadaId || !i || !this.host.ordemFilhosPorPai) return;
|
|
1257
|
+
n.preventDefault(), n.stopPropagation(), this.limparClassesDeArraste();
|
|
1258
|
+
const d = Re(
|
|
1259
|
+
this.host.camadas,
|
|
1260
|
+
this.host.feicoes,
|
|
1261
|
+
this.host.ordemFilhosPorPai,
|
|
1262
|
+
this.arraste.camadaId,
|
|
1263
|
+
r,
|
|
1264
|
+
c
|
|
1265
|
+
);
|
|
1266
|
+
if (!d) return;
|
|
1267
|
+
d.parentAnteriorId !== d.novoParentId && d.novoParentId && ((p = this.host.expandedLayers) == null || p.add(d.novoParentId), this.host.dispararEvento("ui-camada-mover-hierarquia", {
|
|
1268
|
+
camadaId: d.camada.id,
|
|
1269
|
+
novoParentId: d.novoParentId,
|
|
1270
|
+
parentAnteriorId: d.parentAnteriorId,
|
|
1271
|
+
camada: d.camada
|
|
1272
|
+
})), this.aposReordenarCamadas();
|
|
1273
|
+
}
|
|
1076
1274
|
}), a.addEventListener("dragend", (o) => {
|
|
1077
1275
|
o.stopPropagation(), this.arraste.tipo = null, this.arraste.feicaoId = null, this.arraste.camadaId = null, this.limparClassesDeArraste();
|
|
1078
1276
|
}));
|
|
@@ -1090,82 +1288,129 @@ class Ka {
|
|
|
1090
1288
|
if (!a) return;
|
|
1091
1289
|
const r = a.getAttribute("data-layer-id");
|
|
1092
1290
|
r && t.addEventListener("pointerdown", (i) => {
|
|
1093
|
-
var
|
|
1291
|
+
var p;
|
|
1094
1292
|
const o = i;
|
|
1095
1293
|
if (o.pointerType === "mouse" && o.button !== 0 || this.host.editingLayerId || this.host.editingFeatureId) return;
|
|
1096
|
-
(
|
|
1294
|
+
(p = this.cancelarToque) == null || p.call(this);
|
|
1097
1295
|
let n = null, s = "abaixo";
|
|
1098
|
-
const c = (
|
|
1099
|
-
|
|
1100
|
-
const f = this.shadow.elementFromPoint(
|
|
1101
|
-
if (n && n !== m && n.classList.remove("drop-above", "drop-below", "drop-into"), m && m !== a)
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1296
|
+
const c = (d) => {
|
|
1297
|
+
d.preventDefault(), a.classList.add("dragging");
|
|
1298
|
+
const f = this.shadow.elementFromPoint(d.clientX, d.clientY), m = f ? f.closest(".ui-layer-row, .ui-feat-row") : null;
|
|
1299
|
+
if (n && n !== m && n.classList.remove("drop-above", "drop-below", "drop-into"), m && m !== a)
|
|
1300
|
+
if (m.classList.contains("ui-feat-row")) {
|
|
1301
|
+
const v = m.getAttribute("data-feat-layer");
|
|
1302
|
+
if (!v || v === r || N(this.host.camadas, v, r)) {
|
|
1303
|
+
n = null;
|
|
1304
|
+
return;
|
|
1305
|
+
}
|
|
1306
|
+
n = m;
|
|
1307
|
+
const g = m.getBoundingClientRect(), w = g.height > 0 && d.clientY - g.top < g.height / 2;
|
|
1308
|
+
s = w ? "acima" : "abaixo", m.classList.toggle("drop-above", w), m.classList.toggle("drop-below", !w), m.classList.remove("drop-into");
|
|
1309
|
+
} else {
|
|
1310
|
+
n = m;
|
|
1311
|
+
const v = m.getBoundingClientRect();
|
|
1312
|
+
s = v.height > 0 ? Ee((d.clientY - v.top) / v.height) : "abaixo", m.classList.toggle("drop-above", s === "acima"), m.classList.toggle("drop-below", s === "abaixo"), m.classList.toggle("drop-into", s === "dentro");
|
|
1313
|
+
}
|
|
1314
|
+
else
|
|
1106
1315
|
n = null;
|
|
1107
1316
|
}, l = () => {
|
|
1108
|
-
window.removeEventListener("pointermove", c), window.removeEventListener("pointerup",
|
|
1109
|
-
},
|
|
1110
|
-
var
|
|
1317
|
+
window.removeEventListener("pointermove", c), window.removeEventListener("pointerup", u), window.removeEventListener("pointercancel", u), this.cancelarToque = null;
|
|
1318
|
+
}, u = () => {
|
|
1319
|
+
var h, v;
|
|
1111
1320
|
l();
|
|
1112
|
-
const
|
|
1113
|
-
if (this.limparClassesDeArraste(),
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
parentAnteriorId
|
|
1124
|
-
|
|
1321
|
+
const d = n == null ? void 0 : n.getAttribute("data-layer-id"), f = n == null ? void 0 : n.getAttribute("data-feat-row");
|
|
1322
|
+
if (this.limparClassesDeArraste(), f && this.host.ordemFilhosPorPai) {
|
|
1323
|
+
const g = Re(
|
|
1324
|
+
this.host.camadas,
|
|
1325
|
+
this.host.feicoes,
|
|
1326
|
+
this.host.ordemFilhosPorPai,
|
|
1327
|
+
r,
|
|
1328
|
+
f,
|
|
1329
|
+
s === "acima"
|
|
1330
|
+
);
|
|
1331
|
+
if (!g) return;
|
|
1332
|
+
g.parentAnteriorId !== g.novoParentId && g.novoParentId && ((h = this.host.expandedLayers) == null || h.add(g.novoParentId), this.host.dispararEvento("ui-camada-mover-hierarquia", {
|
|
1333
|
+
camadaId: g.camada.id,
|
|
1334
|
+
novoParentId: g.novoParentId,
|
|
1335
|
+
parentAnteriorId: g.parentAnteriorId,
|
|
1336
|
+
camada: g.camada
|
|
1337
|
+
})), this.aposReordenarCamadas();
|
|
1338
|
+
return;
|
|
1339
|
+
}
|
|
1340
|
+
if (!d || d === r) return;
|
|
1341
|
+
const m = Oe(this.host.camadas, r, d, s);
|
|
1342
|
+
m && (this.host.ordemFilhosPorPai && je(
|
|
1343
|
+
this.host.camadas,
|
|
1344
|
+
this.host.feicoes,
|
|
1345
|
+
this.host.ordemFilhosPorPai,
|
|
1346
|
+
r,
|
|
1347
|
+
d,
|
|
1348
|
+
s,
|
|
1349
|
+
m.parentAnteriorId,
|
|
1350
|
+
m.novoParentId
|
|
1351
|
+
), m.tipo === "hierarquia" ? ((v = this.host.expandedLayers) == null || v.add(m.novoParentId), this.host.dispararEvento("ui-camada-mover-hierarquia", {
|
|
1352
|
+
camadaId: m.camada.id,
|
|
1353
|
+
novoParentId: m.novoParentId,
|
|
1354
|
+
parentAnteriorId: m.parentAnteriorId,
|
|
1355
|
+
camada: m.camada
|
|
1356
|
+
})) : m.parentAnteriorId !== m.novoParentId && this.host.dispararEvento("ui-camada-mover-hierarquia", {
|
|
1357
|
+
camadaId: m.camada.id,
|
|
1358
|
+
novoParentId: m.novoParentId,
|
|
1359
|
+
parentAnteriorId: m.parentAnteriorId,
|
|
1360
|
+
camada: m.camada
|
|
1125
1361
|
}), this.aposReordenarCamadas());
|
|
1126
1362
|
};
|
|
1127
1363
|
this.cancelarToque = () => {
|
|
1128
1364
|
l(), this.limparClassesDeArraste();
|
|
1129
|
-
}, window.addEventListener("pointermove", c, { passive: !1 }), window.addEventListener("pointerup",
|
|
1365
|
+
}, window.addEventListener("pointermove", c, { passive: !1 }), window.addEventListener("pointerup", u), window.addEventListener("pointercancel", u);
|
|
1130
1366
|
});
|
|
1131
1367
|
});
|
|
1132
1368
|
}
|
|
1133
1369
|
}
|
|
1134
|
-
const
|
|
1135
|
-
function
|
|
1370
|
+
const ct = "ui_camadas_estado_";
|
|
1371
|
+
function dt(e, t) {
|
|
1136
1372
|
const a = (e || t || "default").trim();
|
|
1137
|
-
return `${
|
|
1373
|
+
return `${ct}${a}`;
|
|
1138
1374
|
}
|
|
1139
|
-
function
|
|
1375
|
+
function le(e) {
|
|
1140
1376
|
return !!e && typeof e == "object" && !Array.isArray(e);
|
|
1141
1377
|
}
|
|
1142
|
-
function
|
|
1378
|
+
function Q(e) {
|
|
1143
1379
|
return Array.isArray(e) ? e.filter((t) => typeof t == "string") : [];
|
|
1144
1380
|
}
|
|
1145
|
-
function
|
|
1146
|
-
if (!
|
|
1381
|
+
function He(e) {
|
|
1382
|
+
if (!le(e)) return;
|
|
1147
1383
|
const t = {};
|
|
1148
1384
|
return typeof e.name == "string" && (t.name = e.name), typeof e.visible == "boolean" && (t.visible = e.visible), typeof e.locked == "boolean" && (t.locked = e.locked), typeof e.opacity == "number" && Number.isFinite(e.opacity) && e.opacity >= 0 && e.opacity <= 1 && (t.opacity = e.opacity), typeof e.color == "string" && (t.color = e.color), (typeof e.parentId == "string" || e.parentId === null) && (t.parentId = e.parentId), t;
|
|
1149
1385
|
}
|
|
1150
|
-
function
|
|
1151
|
-
if (!
|
|
1386
|
+
function ut(e) {
|
|
1387
|
+
if (!le(e)) return null;
|
|
1152
1388
|
const t = {};
|
|
1153
|
-
if (
|
|
1389
|
+
if (le(e.camadasOverrides))
|
|
1154
1390
|
for (const [r, i] of Object.entries(e.camadasOverrides)) {
|
|
1155
|
-
const o =
|
|
1391
|
+
const o = He(i);
|
|
1156
1392
|
if (!o) continue;
|
|
1157
|
-
const n =
|
|
1393
|
+
const n = He(i.origem);
|
|
1158
1394
|
t[r] = n ? { ...o, origem: n } : o;
|
|
1159
1395
|
}
|
|
1160
1396
|
const a = e.altura;
|
|
1161
1397
|
return {
|
|
1162
1398
|
versao: typeof e.versao == "number" ? e.versao : 1,
|
|
1163
|
-
expandedLayerIds:
|
|
1164
|
-
collapsedLayerIds:
|
|
1399
|
+
expandedLayerIds: Q(e.expandedLayerIds),
|
|
1400
|
+
collapsedLayerIds: Q(e.collapsedLayerIds),
|
|
1165
1401
|
camadaAtivaId: typeof e.camadaAtivaId == "string" ? e.camadaAtivaId : null,
|
|
1166
1402
|
painelColapsado: typeof e.painelColapsado == "boolean" ? e.painelColapsado : void 0,
|
|
1167
|
-
ordemCamadasIds:
|
|
1168
|
-
ordemOrigemIds: Array.isArray(e.ordemOrigemIds) ?
|
|
1403
|
+
ordemCamadasIds: Q(e.ordemCamadasIds),
|
|
1404
|
+
ordemOrigemIds: Array.isArray(e.ordemOrigemIds) ? Q(e.ordemOrigemIds) : void 0,
|
|
1405
|
+
ordemFilhosPorPai: (() => {
|
|
1406
|
+
if (!le(e.ordemFilhosPorPai)) return;
|
|
1407
|
+
const r = {};
|
|
1408
|
+
for (const [i, o] of Object.entries(e.ordemFilhosPorPai)) {
|
|
1409
|
+
const n = Q(o);
|
|
1410
|
+
n.length > 0 && (r[i] = n);
|
|
1411
|
+
}
|
|
1412
|
+
return Object.keys(r).length > 0 ? r : void 0;
|
|
1413
|
+
})(),
|
|
1169
1414
|
mapaBaseAtivo: typeof e.mapaBaseAtivo == "string" ? e.mapaBaseAtivo : void 0,
|
|
1170
1415
|
densidade: e.densidade === "compacto" || e.densidade === "normal" ? e.densidade : void 0,
|
|
1171
1416
|
altura: typeof a == "number" && Number.isFinite(a) && a > 0 ? a : null,
|
|
@@ -1173,18 +1418,18 @@ function Wa(e) {
|
|
|
1173
1418
|
ultimaAtualizacao: typeof e.ultimaAtualizacao == "number" ? e.ultimaAtualizacao : void 0
|
|
1174
1419
|
};
|
|
1175
1420
|
}
|
|
1176
|
-
function
|
|
1421
|
+
function ke(e) {
|
|
1177
1422
|
if (typeof window > "u" || typeof localStorage > "u")
|
|
1178
1423
|
return null;
|
|
1179
1424
|
try {
|
|
1180
1425
|
const t = localStorage.getItem(e);
|
|
1181
|
-
return t ?
|
|
1426
|
+
return t ? ut(JSON.parse(t)) : null;
|
|
1182
1427
|
} catch (t) {
|
|
1183
1428
|
console.warn(`[UI-Camadas] Não foi possível carregar o estado persistido (${e}):`, t);
|
|
1184
1429
|
}
|
|
1185
1430
|
return null;
|
|
1186
1431
|
}
|
|
1187
|
-
function
|
|
1432
|
+
function pt(e, t) {
|
|
1188
1433
|
if (!(typeof window > "u" || typeof localStorage > "u"))
|
|
1189
1434
|
try {
|
|
1190
1435
|
localStorage.setItem(e, JSON.stringify(t));
|
|
@@ -1192,14 +1437,14 @@ function Ja(e, t) {
|
|
|
1192
1437
|
console.warn(`[UI-Camadas] Não foi possível salvar o estado persistido (${e}):`, a);
|
|
1193
1438
|
}
|
|
1194
1439
|
}
|
|
1195
|
-
function
|
|
1440
|
+
function ft(e) {
|
|
1196
1441
|
if (!(typeof window > "u" || typeof localStorage > "u"))
|
|
1197
1442
|
try {
|
|
1198
1443
|
localStorage.removeItem(e);
|
|
1199
1444
|
} catch {
|
|
1200
1445
|
}
|
|
1201
1446
|
}
|
|
1202
|
-
function
|
|
1447
|
+
function da(e) {
|
|
1203
1448
|
return {
|
|
1204
1449
|
name: e.name,
|
|
1205
1450
|
visible: e.visible !== !1,
|
|
@@ -1209,58 +1454,61 @@ function ta(e) {
|
|
|
1209
1454
|
parentId: e.parentId !== void 0 ? e.parentId : null
|
|
1210
1455
|
};
|
|
1211
1456
|
}
|
|
1212
|
-
function
|
|
1213
|
-
var
|
|
1457
|
+
function mt(e, t, a, r) {
|
|
1458
|
+
var p;
|
|
1214
1459
|
if (!Array.isArray(e)) return;
|
|
1215
1460
|
const i = (t == null ? void 0 : t.camadasOverrides) || {}, o = new Set((t == null ? void 0 : t.expandedLayerIds) || []), n = new Set((t == null ? void 0 : t.collapsedLayerIds) || []), s = o.size > 0 || n.size > 0;
|
|
1216
|
-
for (let
|
|
1217
|
-
const f = e[
|
|
1218
|
-
if (r == null || r.set(f.id,
|
|
1219
|
-
const
|
|
1220
|
-
var
|
|
1221
|
-
const
|
|
1222
|
-
return
|
|
1461
|
+
for (let d = 0; d < e.length; d++) {
|
|
1462
|
+
const f = e[d], m = i[f.id];
|
|
1463
|
+
if (r == null || r.set(f.id, da(f)), m) {
|
|
1464
|
+
const h = m.origem, v = (g) => {
|
|
1465
|
+
var k;
|
|
1466
|
+
const w = (k = r == null ? void 0 : r.get(f.id)) == null ? void 0 : k[g];
|
|
1467
|
+
return h !== void 0 && h[g] !== w;
|
|
1223
1468
|
};
|
|
1224
1469
|
typeof m.name == "string" && m.name.trim() && !v("name") && (f.name = m.name), typeof m.visible == "boolean" && !v("visible") && (f.visible = m.visible), typeof m.locked == "boolean" && !v("locked") && (f.locked = m.locked), typeof m.opacity == "number" && !v("opacity") && (f.opacity = m.opacity), typeof m.color == "string" && !v("color") && (f.color = m.color), m.parentId !== void 0 && !v("parentId") && (f.parentId = m.parentId);
|
|
1225
1470
|
}
|
|
1226
1471
|
s ? o.has(f.id) ? a.add(f.id) : n.has(f.id) ? a.delete(f.id) : a.add(f.id) : a.add(f.id);
|
|
1227
1472
|
}
|
|
1228
|
-
for (let
|
|
1229
|
-
const f = e[
|
|
1230
|
-
f.parentId && (f.parentId === f.id ||
|
|
1473
|
+
for (let d = 0; d < e.length; d++) {
|
|
1474
|
+
const f = e[d];
|
|
1475
|
+
f.parentId && (f.parentId === f.id || N(e, f.parentId, f.id)) && (f.parentId = ((p = r == null ? void 0 : r.get(f.id)) == null ? void 0 : p.parentId) ?? null);
|
|
1231
1476
|
}
|
|
1232
|
-
const c = new Set(e.map((
|
|
1477
|
+
const c = new Set(e.map((d) => d.id)), l = t == null ? void 0 : t.ordemOrigemIds;
|
|
1233
1478
|
if (!(Array.isArray(l) && (() => {
|
|
1234
|
-
const
|
|
1479
|
+
const d = new Set(l), f = (m) => m.filter((h) => c.has(h) && d.has(h)).join("|");
|
|
1235
1480
|
return f(l) !== f(e.map((m) => m.id));
|
|
1236
1481
|
})()) && Array.isArray(t == null ? void 0 : t.ordemCamadasIds) && t.ordemCamadasIds.length > 0) {
|
|
1237
|
-
const
|
|
1238
|
-
t.ordemCamadasIds.forEach((f, m) =>
|
|
1239
|
-
const
|
|
1240
|
-
return
|
|
1482
|
+
const d = /* @__PURE__ */ new Map();
|
|
1483
|
+
t.ordemCamadasIds.forEach((f, m) => d.set(f, m)), e.sort((f, m) => {
|
|
1484
|
+
const h = d.has(f.id) ? d.get(f.id) : 9999, v = d.has(m.id) ? d.get(m.id) : 9999;
|
|
1485
|
+
return h - v;
|
|
1241
1486
|
});
|
|
1242
1487
|
}
|
|
1243
1488
|
}
|
|
1244
|
-
function
|
|
1489
|
+
function gt(e) {
|
|
1245
1490
|
const { estadoAnterior: t, camadas: a, expandedLayers: r } = e;
|
|
1246
1491
|
let i = (t == null ? void 0 : t.expandedLayerIds) || [], o = (t == null ? void 0 : t.collapsedLayerIds) || [], n = (t == null ? void 0 : t.ordemCamadasIds) || [], s = t == null ? void 0 : t.ordemOrigemIds;
|
|
1247
1492
|
const c = {
|
|
1248
1493
|
...(t == null ? void 0 : t.camadasOverrides) || {}
|
|
1249
1494
|
};
|
|
1250
|
-
a.length > 0 && (i = [], o = [], n = a.map((
|
|
1495
|
+
a.length > 0 && (i = [], o = [], n = a.map((u) => u.id), s = e.origensCamadas ? [...e.origensCamadas.keys()] : n, a.forEach((u) => {
|
|
1251
1496
|
var p, d;
|
|
1252
|
-
r.has(
|
|
1253
|
-
name:
|
|
1254
|
-
visible:
|
|
1255
|
-
locked: !!
|
|
1256
|
-
opacity: typeof
|
|
1257
|
-
color:
|
|
1258
|
-
parentId:
|
|
1259
|
-
origem: ((p = e.origensCamadas) == null ? void 0 : p.get(
|
|
1497
|
+
r.has(u.id) ? i.push(u.id) : o.push(u.id), c[u.id] = {
|
|
1498
|
+
name: u.name,
|
|
1499
|
+
visible: u.visible !== !1,
|
|
1500
|
+
locked: !!u.locked,
|
|
1501
|
+
opacity: typeof u.opacity == "number" ? u.opacity : 1,
|
|
1502
|
+
color: u.color || "#00E08A",
|
|
1503
|
+
parentId: u.parentId !== void 0 ? u.parentId : null,
|
|
1504
|
+
origem: ((p = e.origensCamadas) == null ? void 0 : p.get(u.id)) ?? ((d = c[u.id]) == null ? void 0 : d.origem)
|
|
1260
1505
|
};
|
|
1261
1506
|
}));
|
|
1262
|
-
for (const
|
|
1263
|
-
|
|
1507
|
+
for (const u of e.camadasRemovidas ?? []) delete c[u];
|
|
1508
|
+
let l;
|
|
1509
|
+
return e.ordemFilhosPorPai && e.ordemFilhosPorPai.size > 0 ? (l = {}, e.ordemFilhosPorPai.forEach((u, p) => {
|
|
1510
|
+
u.length > 0 && (l[p] = [...u]);
|
|
1511
|
+
}), Object.keys(l).length === 0 && (l = void 0)) : !a.length && (t != null && t.ordemFilhosPorPai) && (l = t.ordemFilhosPorPai), {
|
|
1264
1512
|
versao: 1,
|
|
1265
1513
|
expandedLayerIds: i,
|
|
1266
1514
|
collapsedLayerIds: o,
|
|
@@ -1268,6 +1516,7 @@ function at(e) {
|
|
|
1268
1516
|
painelColapsado: e.painelColapsado,
|
|
1269
1517
|
ordemCamadasIds: n,
|
|
1270
1518
|
ordemOrigemIds: s,
|
|
1519
|
+
ordemFilhosPorPai: l,
|
|
1271
1520
|
mapaBaseAtivo: e.mapaBaseAtivo,
|
|
1272
1521
|
densidade: e.densidade,
|
|
1273
1522
|
altura: e.altura,
|
|
@@ -1275,25 +1524,25 @@ function at(e) {
|
|
|
1275
1524
|
ultimaAtualizacao: Date.now()
|
|
1276
1525
|
};
|
|
1277
1526
|
}
|
|
1278
|
-
const tt = `:host{display:flex;flex-direction:column;box-sizing:border-box;font-family:inherit;font-size:11px;color:var(--ui-cor-texto, #e1e1e6);-webkit-user-select:none;user-select:none;width:100%;height:var(--ui-camadas-altura, 100%);min-height:var(--ui-camadas-min-altura, 140px);position:relative;--camada-respiro: 8px;--camada-barra-altura: 28px;--camada-linha-altura: 25px;--camada-thumb-tamanho: 20px;--camada-transicao: .16s cubic-bezier(.16, 1, .3, 1)}:host([densidade="compacto"]){--camada-linha-altura: 22px;--camada-thumb-tamanho: 17px;font-size:10px}:host([flutuante]){position:absolute;top:10px;right:10px;bottom:46px;z-index:var(--ui-z-workspace-hud, 500);width:auto;height:var(--ui-camadas-altura, auto)}*,*:before,*:after{box-sizing:border-box}:host(:not([flutuante])) .ui-camadas-container{max-width:100%;min-width:0;border:none;box-shadow:none;border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.ui-camadas-container{display:flex;flex-direction:column;flex:1 1 auto;height:100%;min-height:0;width:100%;max-width:380px;min-width:270px;background:var(--ui-degrade-interno, var(--ui-camadas-fundo, var(--ui-fundo-superficie, var(--ui-cor-superficie, #141417))));border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:var(--ui-raio-borda, 8px);box-shadow:var(--ui-sombra-lg, 0 10px 30px -4px rgba(0, 0, 0, .5)),0 0 0 1px color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 5%,transparent);overflow:hidden;position:relative;transition:transform .24s cubic-bezier(.16,1,.3,1),opacity .2s ease;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}:host([colapsado]) .ui-camadas-container{transform:translate(calc(100% + 24px));opacity:0;pointer-events:none}.ui-camadas-toggle-flutuante{display:none;position:absolute;top:10px;right:10px;z-index:calc(var(--ui-z-workspace-hud, 500) - 1);background:var(--ui-camadas-toggle-fundo, var(--ui-fundo-superficie, var(--ui-cor-superficie, #141417)));border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .18));border-radius:var(--ui-raio-borda, 6px);color:var(--ui-cor-texto, #ffffff);width:34px;height:34px;cursor:pointer;align-items:center;justify-content:center;box-shadow:var(--ui-sombra-md, 0 8px 20px rgba(0, 0, 0, .45));transition:all var(--camada-transicao)}:host([colapsado][flutuante]) .ui-camadas-toggle-flutuante{display:flex}.ui-camadas-toggle-flutuante:hover{border-color:var(--ui-cor-primaria, #00E08A);color:var(--ui-cor-primaria, #00E08A);transform:scale(1.08);box-shadow:0 0 14px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 35%,transparent)}.ui-camadas-btn-colapsar{background:transparent;border:none;color:var(--ui-cor-texto-secundario, #888899);width:22px;height:22px;cursor:pointer;border-radius:var(--ui-raio-sm, 4px);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--camada-transicao)}.ui-camadas-btn-colapsar:hover{color:var(--ui-cor-texto, #ffffff);background:var(--ui-cor-hover-menu, rgba(255, 255, 255, .09))}.ui-camadas-corpo{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 var(--camada-respiro) var(--camada-respiro);display:flex;flex-direction:column;gap:6px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 16%,transparent) transparent}.ui-camadas-corpo::-webkit-scrollbar{width:4px}.ui-camadas-corpo::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 18%,transparent);border-radius:var(--ui-raio-sm, 4px)}.ui-camadas-corpo::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 32%,transparent)}.ui-tree-toolbar{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:var(--camada-barra-altura);min-height:var(--camada-barra-altura);flex-shrink:0;margin:0 calc(-1 * var(--camada-respiro));padding:0 var(--camada-respiro);gap:8px;border-bottom:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .06))}.ui-tree-title-group{display:flex;align-items:center;gap:5px}.ui-tree-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--ui-cor-texto-secundario, #888899)}.ui-tree-count-badge{font-size:9px;font-family:var(--ui-fonte-codigo, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-variant-numeric:tabular-nums;background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 7%,transparent);color:var(--ui-cor-texto-secundario, #888899);padding:1px 5px;border-radius:8px;border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 6%,transparent)}.ui-tree-actions{display:flex;align-items:center;gap:3px}.ui-tree-action-btn{background:transparent;border:none;color:var(--ui-cor-texto-secundario, #888899);border-radius:var(--ui-raio-sm, 4px);width:24px;height:24px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--camada-transicao)}.ui-tree-action-btn:hover{color:var(--ui-cor-texto, #ffffff);background:var(--ui-cor-hover-menu, rgba(255, 255, 255, .09))}.ui-tree-btn-new{background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 14%,transparent);border:none;color:var(--ui-cor-primaria, #00E08A);border-radius:var(--ui-raio-sm, 4px);height:24px;padding:0 8px;font-size:10px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all var(--camada-transicao)}.ui-tree-btn-new:hover{background:var(--ui-cor-primaria, #00E08A);color:var(--ui-cor-texto-sobre-primaria, #000000)}.ui-tree-search-wrapper{position:relative;display:flex;align-items:center;margin:1px 0}.ui-tree-search-icon{position:absolute;left:8px;color:var(--ui-cor-texto-secundario, #888899);pointer-events:none;display:flex;align-items:center}.ui-tree-search-input{width:100%;height:25px;background:var(--ui-cor-fundo, #0a0a0c);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .1));border-radius:var(--ui-raio-borda, 5px);padding:0 24px 0 26px;color:var(--ui-cor-texto, #ffffff);font-size:10.5px;outline:none;transition:border-color var(--camada-transicao),box-shadow var(--camada-transicao)}.ui-tree-search-input:focus{border-color:var(--ui-cor-primaria, #00E08A);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 18%,transparent)}.ui-tree-search-clear{position:absolute;right:5px;background:transparent;border:none;color:var(--ui-cor-texto-secundario, #888899);cursor:pointer;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:all var(--camada-transicao)}.ui-tree-search-clear:hover{color:var(--ui-cor-texto, #ffffff);background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 10%,transparent)}.ui-panel-box{background:var(--ui-cor-fundo, #0c0c0f);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));border-radius:var(--ui-raio-borda, 6px);overflow:hidden;display:flex;flex-direction:column;flex:1 1 0%;min-height:140px}.ui-search-empty{padding:14px 10px;text-align:center;font-size:11px;color:var(--ui-cor-texto-secundario, #888899);overflow-wrap:anywhere}.ui-layer-tree{flex:1 1 0%;min-height:40px;overflow-y:auto;overflow-x:hidden}.ui-layer-group{border-bottom:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .04));transition:background var(--camada-transicao)}.ui-layer-group.drop-into{background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 9%,transparent)!important;outline:1.5px dashed var(--ui-cor-primaria, #00E08A);outline-offset:-1.5px}.ui-layer-row,.ui-feat-row{display:flex;align-items:center;height:var(--camada-linha-altura);min-height:var(--camada-linha-altura);max-height:var(--camada-linha-altura);padding:0 4px;-webkit-user-select:none;user-select:none;cursor:default;transition:background .1s ease;position:relative}.ui-layer-row{background:var(--ui-cor-fundo-elevado, #18181d);font-weight:600;cursor:pointer;border-left:3px solid transparent}.ui-layer-row:hover{background:var(--ui-cor-hover-menu, #22222a)}.ui-layer-row.active-drawing-layer{background:color-mix(in srgb,var(--layer-active-color, var(--ui-cor-primaria, #00E08A)) 18%,var(--ui-cor-fundo-elevado, #18181d))!important;border-left:3px solid var(--layer-active-color, var(--ui-cor-primaria, #00E08A))!important;box-shadow:inset 0 0 12px color-mix(in srgb,var(--layer-active-color, var(--ui-cor-primaria, #00E08A)) 10%,transparent)}.ui-layer-row.active-drawing-layer .ui-name-text{color:var(--ui-cor-texto, #e1e1e6);font-weight:700}.ui-feat-row{border-left:3px solid transparent;padding-left:13px;background:var(--ui-cor-fundo, #101014);font-weight:400;cursor:pointer}.ui-feat-row:hover{background:var(--ui-cor-hover-menu, #19191f)}.ui-feat-row.selected-row{background:color-mix(in srgb,var(--layer-active-color, var(--ui-cor-texto-info, #33b5ff)) 20%,var(--ui-cor-fundo, #101014))!important;outline:1px solid color-mix(in srgb,var(--layer-active-color, var(--ui-cor-texto-info, #33b5ff)) 55%,transparent)!important;outline-offset:-1px}.ui-layer-row.hidden-layer,.ui-feat-row.hidden-row{opacity:.52}.ui-layer-row.hidden-layer .ui-col-eye,.ui-feat-row.hidden-row .ui-col-eye{color:var(--ui-cor-texto-alerta, #ffb86c);opacity:.95}.ui-layer-row.dragging,.ui-feat-row.dragging{opacity:.35;background:color-mix(in srgb,var(--ui-cor-texto-info, #33b5ff) 16%,transparent)!important}.ui-layer-row.drop-above:before,.ui-feat-row.drop-above:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--ui-cor-texto-info, #33b5ff);box-shadow:0 0 8px color-mix(in srgb,var(--ui-cor-texto-info, #33b5ff) 100%,transparent);z-index:20;pointer-events:none}.ui-layer-row.drop-below:after,.ui-feat-row.drop-below:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--ui-cor-texto-info, #33b5ff);box-shadow:0 0 8px color-mix(in srgb,var(--ui-cor-texto-info, #33b5ff) 100%,transparent);z-index:20;pointer-events:none}.ui-layer-row.drop-into{background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 16%,transparent)!important;outline:1.5px dashed var(--ui-cor-primaria, #00E08A)!important;outline-offset:-2px;border-radius:var(--ui-raio-sm, 4px)}.ui-layer-row.is-sublayer{background:color-mix(in srgb,var(--ui-cor-fundo-elevado, #18181d) 70%,transparent)}.ui-group-folder-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--ui-cor-texto-alerta, #ffb86c);margin-right:4px;flex-shrink:0}.ui-col{display:flex;align-items:center;justify-content:center;flex-shrink:0;height:var(--camada-linha-altura)}.ui-col-drag{width:8px;margin-right:1px;cursor:grab;color:var(--ui-cor-texto-secundario, #888899);opacity:.35;touch-action:none;transition:opacity var(--camada-transicao),color var(--camada-transicao)}.ui-layer-row:hover .ui-col-drag,.ui-feat-row:hover .ui-col-drag{opacity:.9;color:var(--ui-cor-primaria, #00E08A)}.ui-col-drag:active{cursor:grabbing}.ui-col-eye{width:20px;cursor:pointer;color:var(--ui-cor-texto-secundario, #888899);transition:color var(--camada-transicao)}.ui-col-eye:hover{color:var(--ui-cor-primaria, #00E08A)}.ui-col-lock{width:18px;cursor:pointer;color:var(--ui-cor-texto-secundario, #888899);transition:color var(--camada-transicao)}.ui-col-lock:hover{color:var(--ui-cor-texto-alerta, #ffb86c)}.ui-col-colorbar{width:3.5px;height:16px;margin:0 3px 0 2px;border-radius:1.5px;flex-shrink:0}.ui-col-colorbar-editavel{position:relative;width:5px;height:18px;cursor:pointer}.ui-col-colorbar-editavel:before{content:"";position:absolute;top:-3px;right:-4px;bottom:-3px;left:-4px}.ui-col-colorbar-editavel:hover,.ui-col-colorbar-editavel:focus-visible{filter:brightness(1.3);outline:none}.ui-col-chevron,.ui-col-branch{margin-left:calc(var(--layer-depth, 0) * 12px)}.ui-col-chevron{width:14px;cursor:pointer;color:var(--ui-cor-texto-secundario, #888899);display:flex;align-items:center;justify-content:center}.ui-chevron-icon{display:inline-flex;align-items:center;justify-content:center;transition:transform var(--camada-transicao)}.ui-chevron-icon.open{transform:rotate(90deg)}.ui-col-branch{width:14px;display:flex;align-items:center;justify-content:center;color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 22%,transparent);font-size:10px;font-family:var(--ui-fonte-codigo, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)}.ui-col-thumb{width:calc(var(--camada-thumb-tamanho) + 3px);margin-right:4px;display:flex;align-items:center;justify-content:center}.ui-thumb-box{width:var(--camada-thumb-tamanho);height:var(--camada-thumb-tamanho);border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 15%,transparent);border-radius:3px;background:var(--ui-cor-fundo, #0d0d10);box-sizing:border-box;overflow:hidden;display:flex;align-items:center;justify-content:center}.ui-col-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;color:var(--ui-cor-texto, #e1e1e6);padding-left:2px;padding-right:4px;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:4px}.ui-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-count-chip{font-size:9px;font-family:var(--ui-fonte-codigo, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-variant-numeric:tabular-nums;color:var(--ui-cor-texto-secundario, #888899);font-weight:400;padding:0 2px;flex-shrink:0}.ui-col-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity var(--camada-transicao)}.ui-layer-row:hover .ui-col-actions,.ui-feat-row:hover .ui-col-actions,.ui-layer-row:focus-within .ui-col-actions,.ui-feat-row:focus-within .ui-col-actions,.ui-col-actions:has(.ui-micro-btn.active){opacity:1}.ui-micro-btn{background:transparent;border:none;color:var(--ui-cor-texto-secundario, #888899);width:18px;height:18px;padding:0;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--camada-transicao)}.ui-micro-btn:hover{color:var(--ui-cor-primaria, #00E08A);background:var(--ui-cor-hover-menu, rgba(255, 255, 255, .12))}.ui-micro-btn.active{color:var(--ui-cor-primaria, #00E08A);background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 18%,transparent)}.ui-col-target{width:22px;cursor:pointer}.ui-target-circle{width:11px;height:11px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 32%,transparent);background:transparent;transition:all .12s ease}.ui-col-target:hover .ui-target-circle{border-color:var(--ui-cor-texto-info, #33b5ff);transform:scale(1.18)}.ui-target-circle.selected{border:2px solid var(--layer-active-color, var(--ui-cor-texto-info, #33b5ff));background:var(--layer-active-color, var(--ui-cor-texto-info, #33b5ff));box-shadow:inset 0 0 0 2px var(--ui-cor-superficie, #141418)}.ui-target-circle.partial{border:2px solid var(--layer-active-color, var(--ui-cor-texto-info, #33b5ff));background:color-mix(in srgb,var(--layer-active-color, var(--ui-cor-texto-info, #33b5ff)) 40%,transparent)}.ui-inline-rename-input{width:100%;height:20px;background:var(--ui-cor-fundo, #0d0d10);color:var(--ui-cor-texto, #e1e1e6);border:1px solid var(--ui-cor-primaria, #00E08A);border-radius:3px;font-size:10.5px;padding:0 4px;outline:none;box-shadow:0 0 8px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 40%,transparent)}.ui-layer-settings-drawer{background:linear-gradient(180deg,var(--ui-cor-fundo-elevado, #17171e) 0%,var(--ui-cor-superficie, #0f0f13) 100%);padding:10px 14px 12px;border-top:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 12%,transparent);border-left:3px solid var(--drawer-cor-camada, var(--ui-cor-primaria, #00E08A));display:flex;flex-direction:column;gap:10px;box-shadow:inset 0 1px color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 6%,transparent),0 6px 16px #00000073;animation:drawerSlideDown .18s cubic-bezier(.16,1,.3,1);position:relative;z-index:10}@keyframes drawerSlideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.ui-drawer-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 7%,transparent)}.ui-drawer-header-left{display:flex;align-items:center;gap:7px;min-width:0}.ui-drawer-icon{color:var(--drawer-cor-camada, var(--ui-cor-primaria, #00E08A));display:flex;align-items:center;flex-shrink:0}.ui-drawer-title{font-size:10.5px;font-weight:700;color:var(--ui-cor-texto, #e1e1e6);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.ui-drawer-layer-chip{font-size:9.5px;font-weight:500;color:var(--ui-cor-texto-secundario, #888899);background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 7%,transparent);padding:1px 6px;border-radius:var(--ui-raio-sm, 4px);border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent);max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-drawer-btn-fechar{background:transparent;border:none;color:var(--ui-cor-texto-secundario, #888899);width:20px;height:20px;padding:0;border-radius:var(--ui-raio-sm, 4px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--camada-transicao)}.ui-drawer-btn-fechar:hover{color:var(--ui-cor-texto, #e1e1e6);background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 12%,transparent)}.ui-drawer-body{display:flex;flex-direction:column;gap:10px}.ui-drawer-row{display:flex;flex-direction:column;gap:5px}.ui-drawer-row-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--ui-cor-texto-secundario, #888899)}.ui-drawer-color-group{display:flex;align-items:center;justify-content:space-between;gap:8px}.ui-drawer-color-pill{position:relative;display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 5px;background:var(--ui-cor-fundo, #0b0b0d);border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 16%,transparent);border-radius:var(--ui-raio-sm, 4px);cursor:pointer;transition:all var(--camada-transicao);-webkit-user-select:none;user-select:none}.ui-drawer-color-pill:hover{border-color:var(--drawer-cor-camada, var(--ui-cor-primaria, #00E08A));background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 25%,transparent)}.ui-drawer-color-sample{width:14px;height:14px;border-radius:3px;border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 35%,transparent);box-shadow:var(--ui-sombra-sm, 0 1px 3px rgba(0, 0, 0, .5));flex-shrink:0;transition:background-color .1s ease}.ui-drawer-color-hex{font-size:10px;font-family:var(--ui-fonte-codigo, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-variant-numeric:tabular-nums;font-weight:700;color:var(--ui-cor-texto, #e1e1e6);letter-spacing:.5px}.ui-drawer-color-native{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.ui-drawer-badge{font-size:9.5px;font-family:var(--ui-fonte-codigo, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-variant-numeric:tabular-nums;font-weight:700;color:var(--ui-cor-texto, #e1e1e6);background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 10%,transparent);padding:1px 6px;border-radius:var(--ui-raio-sm, 4px);border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 12%,transparent)}.ui-drawer-slider-container{display:flex;flex-direction:column;gap:4px}.ui-drawer-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:5px;background:linear-gradient(90deg,color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent) 0%,var(--drawer-cor-camada, var(--ui-cor-primaria, #00E08A)) 100%);border-radius:3px;outline:none;margin:3px 0;cursor:pointer;border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 12%,transparent)}.ui-drawer-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--drawer-cor-camada, var(--ui-cor-primaria, #00E08A));box-shadow:0 0 6px #0009,0 0 10px var(--drawer-cor-camada, rgba(0, 224, 138, .6));cursor:pointer;transition:transform .12s ease}.ui-drawer-slider::-webkit-slider-thumb:hover{transform:scale(1.22)}.ui-drawer-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--drawer-cor-camada, var(--ui-cor-primaria, #00E08A));box-shadow:0 0 6px #0009,0 0 10px var(--drawer-cor-camada, rgba(0, 224, 138, .6));cursor:pointer}.ui-drawer-footer{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 7%,transparent)}.ui-drawer-meta-info{font-size:9.5px;color:var(--ui-cor-texto-secundario, #888899);font-style:italic}.ui-drawer-actions{display:flex;align-items:center;gap:6px}.ui-drawer-btn-danger{background:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 10%,transparent);border:1px solid color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 35%,transparent);color:var(--ui-cor-texto-erro, #ff5555);border-radius:var(--ui-raio-sm, 4px);height:24px;padding:0 10px;font-size:10px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all var(--camada-transicao)}.ui-drawer-btn-danger:hover{background:var(--ui-cor-botao-destrutivo-fundo, #d32f2f);color:var(--ui-cor-botao-destrutivo-texto, #ffffff);border-color:var(--ui-cor-botao-destrutivo-fundo, #d32f2f);box-shadow:0 0 10px color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 45%,transparent);transform:translateY(-.5px)}.ui-drawer-btn-danger.confirming{background:var(--ui-cor-botao-destrutivo-hover, #b71c1c);color:var(--ui-cor-botao-destrutivo-texto, #ffffff);border-color:var(--ui-cor-botao-destrutivo-hover, #b71c1c);animation:pulseDanger 1.2s infinite}@keyframes pulseDanger{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.ui-previa-dot{width:6px;height:6px;margin-left:4px;border-radius:50%;flex-shrink:0;background:var(--ui-cor-texto-alerta, #ffb86c);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-cor-texto-alerta, #ffb86c) 25%,transparent)}.ui-tree-footer{height:var(--camada-barra-altura);min-height:var(--camada-barra-altura);background:var(--ui-cor-fundo-elevado, #121216);border-top:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));display:flex;align-items:center;justify-content:space-between;padding:0 var(--camada-respiro);gap:6px;box-sizing:border-box;overflow:hidden;position:relative;flex-shrink:0;margin:0 calc(-1 * var(--camada-respiro))}.ui-footer-left{display:flex;align-items:center;gap:5px;white-space:nowrap;min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.ui-footer-count{font-size:11px;font-family:var(--ui-fonte-codigo, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-variant-numeric:tabular-nums;font-weight:700;color:var(--ui-cor-primaria, #00E08A);flex-shrink:0}.ui-footer-label{display:inline-flex;align-items:center;color:var(--ui-cor-texto-secundario, #888899);flex-shrink:0}.ui-footer-actions-gerais{display:flex;align-items:center;gap:4px;flex-shrink:0}.ui-footer-chip-btn{background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 6%,transparent);border:none;color:var(--ui-cor-texto-secundario, #a0a0b0);font-size:10px;font-weight:600;height:22px;padding:0 8px;border-radius:var(--ui-raio-sm, 4px);cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all var(--camada-transicao)}.ui-footer-chip-btn:hover{background:var(--ui-cor-hover-menu, rgba(255, 255, 255, .12));color:var(--ui-cor-texto, #ffffff)}.ui-footer-chip-btn.primario{background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 14%,transparent);color:var(--ui-cor-primaria, #00E08A)}.ui-footer-chip-btn.primario:hover{background:var(--ui-cor-primaria, #00E08A);color:var(--ui-cor-texto-sobre-primaria, #000000)}.ui-footer-right{display:flex;align-items:center;gap:4px;flex:1 1 auto;min-width:0}.ui-footer-btn{background:transparent;border:none;color:var(--ui-cor-texto-secundario, #888899);width:22px;height:22px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all var(--camada-transicao);flex-shrink:0}.ui-footer-btn:hover:not(.disabled){color:var(--ui-cor-texto, #e1e1e6);background:var(--ui-cor-hover-menu, rgba(255, 255, 255, .12))}.ui-footer-btn.disabled{opacity:.25;cursor:not-allowed}.ui-footer-btn.btn-danger-footer:hover:not(.disabled){color:var(--ui-cor-texto-erro, #ff5555);background:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 15%,transparent)}.ui-footer-btn.confirming{background:var(--ui-cor-botao-destrutivo-hover, #b71c1c)!important;color:var(--ui-cor-botao-destrutivo-texto, #ffffff)!important}.ui-footer-move-wrapper{position:relative;display:flex;align-items:center;flex:1 1 auto;min-width:0}.ui-footer-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;--_chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888899' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background:var(--_chevron) right 6px center / 10px no-repeat,color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 6%,transparent);border:none;color:var(--ui-cor-texto, #e1e1e6);border-radius:var(--ui-raio-sm, 4px);font:inherit;font-size:10px;font-weight:500;height:22px;padding:0 22px 0 8px;cursor:pointer;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-footer-select:hover:not(:disabled){background:var(--_chevron) right 6px center / 10px no-repeat,var(--ui-cor-hover-menu, rgba(255, 255, 255, .12))}.ui-footer-select:focus-visible{outline:1px solid var(--ui-cor-primaria, #00E08A)}.ui-drawer-btn-sublayer{background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 6%,transparent);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));color:var(--ui-cor-texto, #e1e1e6);font-size:10.5px;font-weight:500;padding:4px 8px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all var(--camada-transicao)}.ui-drawer-btn-sublayer:hover{background:var(--ui-cor-hover-menu, rgba(255, 255, 255, .12));color:var(--ui-cor-primaria, #00E08A);border-color:var(--ui-cor-primaria, #00E08A)}.ui-drawer-select-wrapper{display:flex;align-items:center}.ui-drawer-select{background:var(--ui-cor-fundo, #16161c);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .15));color:var(--ui-cor-texto, #e1e1e6);border-radius:4px;font-size:10.5px;height:24px;padding:0 6px;cursor:pointer;max-width:140px}.ui-basemap-section{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.ui-basemap-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:2px;background:transparent;border:0;border-radius:var(--ui-raio-sm, 4px);font:inherit;color:inherit;cursor:pointer;text-align:left}.ui-basemap-toggle:hover .ui-basemap-title{color:var(--ui-cor-texto, #e1e1e6)}.ui-basemap-toggle:focus-visible{outline:2px solid var(--ui-cor-primaria, #00E08A);outline-offset:1px}.ui-basemap-atual{flex:1 1 auto;min-width:0;font-size:10px;color:var(--ui-cor-primaria, #00E08A);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.ui-basemap-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--ui-cor-texto-secundario, #888899)}.ui-basemap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.ui-basemap-section{container-type:inline-size}@container (min-width: 260px){.ui-basemap-grid{grid-template-columns:repeat(3,1fr)}}@container (min-width: 340px){.ui-basemap-grid{grid-template-columns:repeat(4,1fr)}}.ui-basemap-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:3px;border-radius:var(--ui-raio-borda, 5px);background:var(--ui-cor-fundo, #101014);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));cursor:pointer;transition:all var(--camada-transicao);text-align:center;overflow:hidden}.ui-basemap-card:hover{border-color:var(--ui-cor-primaria, #00E08A);background:var(--ui-cor-fundo-elevado, #17171c)}.ui-basemap-card.active{border-color:var(--ui-cor-primaria, #00E08A);background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 12%,transparent);color:var(--ui-cor-primaria, #00E08A);font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 35%,transparent)}.ui-basemap-preview{width:100%;height:22px;border-radius:3px;object-fit:cover;opacity:.85;transition:opacity var(--camada-transicao)}.ui-basemap-preview-none{width:100%;height:22px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 4%,transparent);border-radius:3px;color:var(--ui-cor-texto-secundario, #888899)}.ui-basemap-card:hover .ui-basemap-preview,.ui-basemap-card.active .ui-basemap-preview{opacity:1}.ui-basemap-card span{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ui-layer-row.herdado-oculto,.ui-feat-row.herdado-oculto{opacity:.52}.ui-layer-row.herdado-travado .ui-col-lock.ui-lock-open{color:var(--ui-cor-texto-secundario, #888899);opacity:.7}.ui-search-hidden{display:none!important}.ui-empty-row{height:22px;display:flex;align-items:center;padding-left:36px;font-size:10px;color:var(--ui-cor-texto-secundario, #666677);font-style:italic;background:var(--ui-cor-fundo-recuado, rgba(0, 0, 0, .15))}.ui-camadas-resizer-altura{display:none;flex-shrink:0;width:100%;height:9px;background:var(--ui-cor-superficie, #141417);border-top:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));cursor:ns-resize;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;touch-action:none;transition:background .15s ease,border-color .15s ease;position:relative;z-index:10}:host([redimensionavel]) .ui-camadas-resizer-altura,:host([redimensionavel-altura]) .ui-camadas-resizer-altura{display:flex}.ui-camadas-resizer-altura:hover,.ui-camadas-resizer-altura.ui-camadas-resizer--ativo{background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 9%,transparent);border-top-color:var(--ui-cor-primaria, #00E08A)}.ui-camadas-resizer-grip{width:32px;height:3px;border-radius:2px;background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 22%,transparent);transition:all .15s ease}.ui-camadas-resizer-altura:hover .ui-camadas-resizer-grip,.ui-camadas-resizer-altura.ui-camadas-resizer--ativo .ui-camadas-resizer-grip{background:var(--ui-cor-primaria, #00E08A);width:46px;box-shadow:0 0 8px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 45%,transparent)}:host(.ui-camadas--redimensionando){-webkit-user-select:none!important;user-select:none!important;cursor:ns-resize!important}:host(.ui-camadas--redimensionando) *{-webkit-user-select:none!important;user-select:none!important}.ui-col-lock.ui-lock-open{opacity:.28}.ui-col-lock.ui-lock-open:hover,.ui-col-lock.ui-lock-open:focus-visible{opacity:.8}.ui-col-lock[data-locked-by-layer]{cursor:not-allowed}.ui-col[role=button]:focus-visible,.ui-basemap-card:focus-visible,.ui-feat-row:focus-visible,.ui-layer-row:focus-visible{outline:2px solid var(--ui-cor-primaria, #00E08A);outline-offset:-2px}.ui-footer-btn.confirming{color:var(--ui-cor-botao-destrutivo-texto, #ffffff);background:var(--ui-cor-botao-destrutivo-hover, #b71c1c);width:auto;padding:0 6px}.ui-truncate-notice{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;margin:4px 8px 6px;background:color-mix(in srgb,var(--ui-cor-fundo-elevado, #1a1a1e) 70%,transparent);border:1px dashed var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:var(--ui-raio-borda, 4px);font-size:10px;color:var(--ui-cor-texto-secundario, #9696a6)}.ui-truncate-notice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-truncate-more-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--ui-cor-superficie, #141417);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .18));border-radius:var(--ui-raio-borda, 4px);color:var(--ui-cor-primaria, #00E08A);font-size:10px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--camada-transicao)}.ui-truncate-more-btn:hover{background:var(--ui-cor-hover-menu, rgba(255, 255, 255, .08));border-color:var(--ui-cor-primaria, #00E08A)}.ui-truncate-more-btn:focus-visible{outline:2px solid var(--ui-cor-primaria, #00E08A);outline-offset:1px}:host(.degrade),:host(.gradiente),:host([data-degrade]:not([data-degrade="false"])),.ui-camadas-container[data-degrade]:not([data-degrade=false]){--ui-camadas-fundo: var(--ui-gradiente-superficie);--ui-camadas-toggle-fundo: var(--ui-gradiente-superficie)}`;
|
|
1279
|
-
function
|
|
1527
|
+
const ht = `:host{display:flex;flex-direction:column;box-sizing:border-box;font-family:inherit;font-size:11px;color:var(--ui-cor-texto, #e1e1e6);-webkit-user-select:none;user-select:none;width:100%;height:var(--ui-camadas-altura, 100%);min-height:var(--ui-camadas-min-altura, 140px);position:relative;--camada-respiro: 8px;--camada-barra-altura: 28px;--camada-linha-altura: 25px;--camada-thumb-tamanho: 20px;--camada-indent-nivel: 16px;--camada-transicao: .16s cubic-bezier(.16, 1, .3, 1)}:host([densidade="compacto"]){--camada-linha-altura: 22px;--camada-thumb-tamanho: 17px;font-size:10px}:host([flutuante]){position:absolute;top:10px;right:10px;bottom:46px;z-index:var(--ui-z-workspace-hud, 500);width:auto;height:var(--ui-camadas-altura, auto)}*,*:before,*:after{box-sizing:border-box}:host(:not([flutuante])) .ui-camadas-container{max-width:100%;min-width:0;border:none;box-shadow:none;border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.ui-camadas-container{display:flex;flex-direction:column;flex:1 1 auto;height:100%;min-height:0;width:100%;max-width:380px;min-width:270px;background:var(--ui-degrade-interno, var(--ui-camadas-fundo, var(--ui-fundo-superficie, var(--ui-cor-superficie, #141417))));border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:var(--ui-raio-borda, 8px);box-shadow:var(--ui-sombra-lg, 0 10px 30px -4px rgba(0, 0, 0, .5)),0 0 0 1px color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 5%,transparent);overflow:hidden;position:relative;transition:transform .24s cubic-bezier(.16,1,.3,1),opacity .2s ease;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}:host([colapsado]) .ui-camadas-container{transform:translate(calc(100% + 24px));opacity:0;pointer-events:none}.ui-camadas-toggle-flutuante{display:none;position:absolute;top:10px;right:10px;z-index:calc(var(--ui-z-workspace-hud, 500) - 1);background:var(--ui-camadas-toggle-fundo, var(--ui-fundo-superficie, var(--ui-cor-superficie, #141417)));border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .18));border-radius:var(--ui-raio-borda, 6px);color:var(--ui-cor-texto, #ffffff);width:34px;height:34px;cursor:pointer;align-items:center;justify-content:center;box-shadow:var(--ui-sombra-md, 0 8px 20px rgba(0, 0, 0, .45));transition:all var(--camada-transicao)}:host([colapsado][flutuante]) .ui-camadas-toggle-flutuante{display:flex}.ui-camadas-toggle-flutuante:hover{border-color:var(--ui-cor-primaria, #00E08A);color:var(--ui-cor-primaria, #00E08A);transform:scale(1.08);box-shadow:0 0 14px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 35%,transparent)}.ui-camadas-btn-colapsar{background:transparent;border:none;color:var(--ui-cor-texto-secundario, #888899);width:22px;height:22px;cursor:pointer;border-radius:var(--ui-raio-sm, 4px);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--camada-transicao)}.ui-camadas-btn-colapsar:hover{color:var(--ui-cor-texto, #ffffff);background:var(--ui-cor-hover-menu, rgba(255, 255, 255, .09))}.ui-camadas-corpo{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 var(--camada-respiro) var(--camada-respiro);display:flex;flex-direction:column;gap:6px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 16%,transparent) transparent}.ui-camadas-corpo::-webkit-scrollbar{width:4px}.ui-camadas-corpo::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 18%,transparent);border-radius:var(--ui-raio-sm, 4px)}.ui-camadas-corpo::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 32%,transparent)}.ui-tree-toolbar{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:var(--camada-barra-altura);min-height:var(--camada-barra-altura);flex-shrink:0;margin:0 calc(-1 * var(--camada-respiro));padding:0 var(--camada-respiro);gap:8px;border-bottom:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .06))}.ui-tree-title-group{display:flex;align-items:center;gap:5px}.ui-tree-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--ui-cor-texto-secundario, #888899)}.ui-tree-count-badge{font-size:9px;font-family:var(--ui-fonte-codigo, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-variant-numeric:tabular-nums;background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 7%,transparent);color:var(--ui-cor-texto-secundario, #888899);padding:1px 5px;border-radius:8px;border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 6%,transparent)}.ui-tree-actions{display:flex;align-items:center;gap:3px}.ui-tree-action-btn{background:transparent;border:none;color:var(--ui-cor-texto-secundario, #888899);border-radius:var(--ui-raio-sm, 4px);width:24px;height:24px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--camada-transicao)}.ui-tree-action-btn:hover{color:var(--ui-cor-texto, #ffffff);background:var(--ui-cor-hover-menu, rgba(255, 255, 255, .09))}.ui-tree-btn-new{background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 14%,transparent);border:none;color:var(--ui-cor-primaria, #00E08A);border-radius:var(--ui-raio-sm, 4px);height:24px;padding:0 8px;font-size:10px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all var(--camada-transicao)}.ui-tree-btn-new:hover{background:var(--ui-cor-primaria, #00E08A);color:var(--ui-cor-texto-sobre-primaria, #000000)}.ui-tree-search-wrapper{position:relative;display:flex;align-items:center;margin:1px 0}.ui-tree-search-icon{position:absolute;left:8px;color:var(--ui-cor-texto-secundario, #888899);pointer-events:none;display:flex;align-items:center}.ui-tree-search-input{width:100%;height:25px;background:var(--ui-cor-fundo, #0a0a0c);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .1));border-radius:var(--ui-raio-borda, 5px);padding:0 24px 0 26px;color:var(--ui-cor-texto, #ffffff);font-size:10.5px;outline:none;transition:border-color var(--camada-transicao),box-shadow var(--camada-transicao)}.ui-tree-search-input:focus{border-color:var(--ui-cor-primaria, #00E08A);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 18%,transparent)}.ui-tree-search-clear{position:absolute;right:5px;background:transparent;border:none;color:var(--ui-cor-texto-secundario, #888899);cursor:pointer;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:all var(--camada-transicao)}.ui-tree-search-clear:hover{color:var(--ui-cor-texto, #ffffff);background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 10%,transparent)}.ui-panel-box{background:var(--ui-cor-fundo, #0c0c0f);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));border-radius:var(--ui-raio-borda, 6px);overflow:hidden;display:flex;flex-direction:column;flex:1 1 0%;min-height:140px}.ui-search-empty{padding:14px 10px;text-align:center;font-size:11px;color:var(--ui-cor-texto-secundario, #888899);overflow-wrap:anywhere}.ui-layer-tree{flex:1 1 0%;min-height:40px;overflow-y:auto;overflow-x:hidden}.ui-layer-group{border-bottom:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .04));transition:background var(--camada-transicao)}.ui-layer-group.drop-into{background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 9%,transparent)!important;outline:1.5px dashed var(--ui-cor-primaria, #00E08A);outline-offset:-1.5px}.ui-layer-row,.ui-feat-row{display:flex;align-items:center;height:var(--camada-linha-altura);min-height:var(--camada-linha-altura);max-height:var(--camada-linha-altura);padding:0 4px;-webkit-user-select:none;user-select:none;cursor:default;transition:background .1s ease;position:relative}.ui-layer-row{background:var(--ui-cor-fundo-elevado, #18181d);font-weight:600;cursor:pointer;border-left:3px solid transparent}.ui-layer-row:hover{background:var(--ui-cor-hover-menu, #22222a)}.ui-layer-row.active-drawing-layer{background:color-mix(in srgb,var(--layer-active-color, var(--ui-cor-primaria, #00E08A)) 18%,var(--ui-cor-fundo-elevado, #18181d))!important;border-left:3px solid var(--layer-active-color, var(--ui-cor-primaria, #00E08A))!important;box-shadow:inset 0 0 12px color-mix(in srgb,var(--layer-active-color, var(--ui-cor-primaria, #00E08A)) 10%,transparent)}.ui-layer-row.active-drawing-layer .ui-name-text{color:var(--ui-cor-texto, #e1e1e6);font-weight:700}.ui-feat-row{border-left:3px solid transparent;padding-left:13px;background:var(--ui-cor-fundo, #101014);font-weight:400;cursor:pointer}.ui-feat-row:hover{background:var(--ui-cor-hover-menu, #19191f)}.ui-feat-row.selected-row{background:color-mix(in srgb,var(--layer-active-color, var(--ui-cor-texto-info, #33b5ff)) 20%,var(--ui-cor-fundo, #101014))!important;outline:1px solid color-mix(in srgb,var(--layer-active-color, var(--ui-cor-texto-info, #33b5ff)) 55%,transparent)!important;outline-offset:-1px}.ui-layer-row.hidden-layer,.ui-feat-row.hidden-row{opacity:.52}.ui-layer-row.hidden-layer .ui-col-eye,.ui-feat-row.hidden-row .ui-col-eye{color:var(--ui-cor-texto-alerta, #ffb86c);opacity:.95}.ui-layer-row.dragging,.ui-feat-row.dragging{opacity:.35;background:color-mix(in srgb,var(--ui-cor-texto-info, #33b5ff) 16%,transparent)!important}.ui-layer-row.drop-above:before,.ui-feat-row.drop-above:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--ui-cor-texto-info, #33b5ff);box-shadow:0 0 8px color-mix(in srgb,var(--ui-cor-texto-info, #33b5ff) 100%,transparent);z-index:20;pointer-events:none}.ui-layer-row.drop-below:after,.ui-feat-row.drop-below:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--ui-cor-texto-info, #33b5ff);box-shadow:0 0 8px color-mix(in srgb,var(--ui-cor-texto-info, #33b5ff) 100%,transparent);z-index:20;pointer-events:none}.ui-layer-row.drop-into{background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 16%,transparent)!important;outline:1.5px dashed var(--ui-cor-primaria, #00E08A)!important;outline-offset:-2px;border-radius:var(--ui-raio-sm, 4px)}.ui-layer-row.is-sublayer{background:color-mix(in srgb,var(--ui-cor-fundo-elevado, #18181d) 70%,transparent)}.ui-group-folder-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--ui-cor-texto-alerta, #ffb86c);margin-right:4px;flex-shrink:0}.ui-col{display:flex;align-items:center;justify-content:center;flex-shrink:0;height:var(--camada-linha-altura)}.ui-col-drag{width:8px;margin-right:1px;cursor:grab;color:var(--ui-cor-texto-secundario, #888899);opacity:.35;touch-action:none;transition:opacity var(--camada-transicao),color var(--camada-transicao)}.ui-layer-row:hover .ui-col-drag,.ui-feat-row:hover .ui-col-drag{opacity:.9;color:var(--ui-cor-primaria, #00E08A)}.ui-col-drag:active{cursor:grabbing}.ui-col-eye{width:20px;cursor:pointer;color:var(--ui-cor-texto-secundario, #888899);transition:color var(--camada-transicao)}.ui-col-eye:hover{color:var(--ui-cor-primaria, #00E08A)}.ui-col-lock{width:18px;cursor:pointer;color:var(--ui-cor-texto-secundario, #888899);transition:color var(--camada-transicao)}.ui-col-lock:hover{color:var(--ui-cor-texto-alerta, #ffb86c)}.ui-col-colorbar{width:5px;height:16px;margin:0 3px 0 2px;border-radius:1.5px;flex-shrink:0}.ui-col-colorbar-editavel{position:relative;width:5px;height:18px;cursor:pointer}.ui-col-colorbar-editavel:before{content:"";position:absolute;top:-3px;right:-4px;bottom:-3px;left:-4px}.ui-col-colorbar-editavel:hover,.ui-col-colorbar-editavel:focus-visible{filter:brightness(1.3);outline:none}.ui-children-container{position:relative}.ui-children-container:before{content:"";position:absolute;top:0;bottom:10px;left:calc(64px + var(--parent-depth, 0) * var(--camada-indent-nivel, 16px) + 7px);width:1.5px;background:color-mix(in srgb,var(--parent-layer-color, var(--layer-active-color, var(--ui-cor-primaria, #00E08A))) 48%,transparent);pointer-events:none;z-index:2}.ui-children-container:has(>.ui-empty-row):before{display:none}.ui-col-chevron,.ui-feat-row .ui-col-thumb{position:relative;margin-left:calc(var(--layer-depth, 0) * var(--camada-indent-nivel, 16px))}.ui-layer-row.is-sublayer .ui-col-chevron:before,.ui-feat-row .ui-col-thumb:before{content:"";position:absolute;left:-9px;top:50%;width:8px;height:1.5px;transform:translateY(-50%);background:color-mix(in srgb,var(--parent-layer-color, var(--layer-active-color, var(--ui-cor-primaria, #00E08A))) 48%,transparent);pointer-events:none}.ui-col-chevron{width:14px;cursor:pointer;color:var(--ui-cor-texto-secundario, #888899);display:flex;align-items:center;justify-content:center}.ui-chevron-icon{display:inline-flex;align-items:center;justify-content:center;transition:transform var(--camada-transicao)}.ui-chevron-icon.open{transform:rotate(90deg)}.ui-col-thumb{width:calc(var(--camada-thumb-tamanho) + 3px);margin-right:4px;display:flex;align-items:center;justify-content:center}.ui-thumb-box{width:var(--camada-thumb-tamanho);height:var(--camada-thumb-tamanho);border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 15%,transparent);border-radius:3px;background:var(--ui-cor-fundo, #0d0d10);box-sizing:border-box;overflow:hidden;display:flex;align-items:center;justify-content:center}.ui-col-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;color:var(--ui-cor-texto, #e1e1e6);padding-left:2px;padding-right:4px;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:4px}.ui-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-count-chip{font-size:9px;font-family:var(--ui-fonte-codigo, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-variant-numeric:tabular-nums;color:var(--ui-cor-texto-secundario, #888899);font-weight:400;padding:0 2px;flex-shrink:0}.ui-col-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity var(--camada-transicao)}.ui-layer-row:hover .ui-col-actions,.ui-feat-row:hover .ui-col-actions,.ui-layer-row:focus-within .ui-col-actions,.ui-feat-row:focus-within .ui-col-actions,.ui-col-actions:has(.ui-micro-btn.active){opacity:1}.ui-micro-btn{background:transparent;border:none;color:var(--ui-cor-texto-secundario, #888899);width:18px;height:18px;padding:0;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--camada-transicao)}.ui-micro-btn:hover{color:var(--ui-cor-primaria, #00E08A);background:var(--ui-cor-hover-menu, rgba(255, 255, 255, .12))}.ui-micro-btn.active{color:var(--ui-cor-primaria, #00E08A);background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 18%,transparent)}.ui-col-target{width:22px;cursor:pointer}.ui-target-circle{width:11px;height:11px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 32%,transparent);background:transparent;transition:all .12s ease}.ui-col-target:hover .ui-target-circle{border-color:var(--ui-cor-texto-info, #33b5ff);transform:scale(1.18)}.ui-target-circle.selected{border:2px solid var(--layer-active-color, var(--ui-cor-texto-info, #33b5ff));background:var(--layer-active-color, var(--ui-cor-texto-info, #33b5ff));box-shadow:inset 0 0 0 2px var(--ui-cor-superficie, #141418)}.ui-target-circle.partial{border:2px solid var(--layer-active-color, var(--ui-cor-texto-info, #33b5ff));background:color-mix(in srgb,var(--layer-active-color, var(--ui-cor-texto-info, #33b5ff)) 40%,transparent)}.ui-inline-rename-input{width:100%;height:20px;background:var(--ui-cor-fundo, #0d0d10);color:var(--ui-cor-texto, #e1e1e6);border:1px solid var(--ui-cor-primaria, #00E08A);border-radius:3px;font-size:10.5px;padding:0 4px;outline:none;box-shadow:0 0 8px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 40%,transparent)}.ui-layer-settings-drawer{background:linear-gradient(180deg,var(--ui-cor-fundo-elevado, #17171e) 0%,var(--ui-cor-superficie, #0f0f13) 100%);padding:10px 14px 12px;border-top:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 12%,transparent);border-left:3px solid var(--drawer-cor-camada, var(--ui-cor-primaria, #00E08A));display:flex;flex-direction:column;gap:10px;box-shadow:inset 0 1px color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 6%,transparent),0 6px 16px #00000073;animation:drawerSlideDown .18s cubic-bezier(.16,1,.3,1);position:relative;z-index:10}@keyframes drawerSlideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.ui-drawer-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 7%,transparent)}.ui-drawer-header-left{display:flex;align-items:center;gap:7px;min-width:0}.ui-drawer-icon{color:var(--drawer-cor-camada, var(--ui-cor-primaria, #00E08A));display:flex;align-items:center;flex-shrink:0}.ui-drawer-title{font-size:10.5px;font-weight:700;color:var(--ui-cor-texto, #e1e1e6);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.ui-drawer-layer-chip{font-size:9.5px;font-weight:500;color:var(--ui-cor-texto-secundario, #888899);background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 7%,transparent);padding:1px 6px;border-radius:var(--ui-raio-sm, 4px);border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent);max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-drawer-btn-fechar{background:transparent;border:none;color:var(--ui-cor-texto-secundario, #888899);width:20px;height:20px;padding:0;border-radius:var(--ui-raio-sm, 4px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--camada-transicao)}.ui-drawer-btn-fechar:hover{color:var(--ui-cor-texto, #e1e1e6);background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 12%,transparent)}.ui-drawer-body{display:flex;flex-direction:column;gap:10px}.ui-drawer-row{display:flex;flex-direction:column;gap:5px}.ui-drawer-row-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--ui-cor-texto-secundario, #888899)}.ui-drawer-color-group{display:flex;align-items:center;justify-content:space-between;gap:8px}.ui-drawer-color-pill{position:relative;display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 5px;background:var(--ui-cor-fundo, #0b0b0d);border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 16%,transparent);border-radius:var(--ui-raio-sm, 4px);cursor:pointer;transition:all var(--camada-transicao);-webkit-user-select:none;user-select:none}.ui-drawer-color-pill:hover{border-color:var(--drawer-cor-camada, var(--ui-cor-primaria, #00E08A));background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 25%,transparent)}.ui-drawer-color-sample{width:14px;height:14px;border-radius:3px;border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 35%,transparent);box-shadow:var(--ui-sombra-sm, 0 1px 3px rgba(0, 0, 0, .5));flex-shrink:0;transition:background-color .1s ease}.ui-drawer-color-hex{font-size:10px;font-family:var(--ui-fonte-codigo, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-variant-numeric:tabular-nums;font-weight:700;color:var(--ui-cor-texto, #e1e1e6);letter-spacing:.5px}.ui-drawer-color-native{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.ui-drawer-badge{font-size:9.5px;font-family:var(--ui-fonte-codigo, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-variant-numeric:tabular-nums;font-weight:700;color:var(--ui-cor-texto, #e1e1e6);background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 10%,transparent);padding:1px 6px;border-radius:var(--ui-raio-sm, 4px);border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 12%,transparent)}.ui-drawer-slider-container{display:flex;flex-direction:column;gap:4px}.ui-drawer-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:5px;background:linear-gradient(90deg,color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent) 0%,var(--drawer-cor-camada, var(--ui-cor-primaria, #00E08A)) 100%);border-radius:3px;outline:none;margin:3px 0;cursor:pointer;border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 12%,transparent)}.ui-drawer-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--drawer-cor-camada, var(--ui-cor-primaria, #00E08A));box-shadow:0 0 6px #0009,0 0 10px var(--drawer-cor-camada, rgba(0, 224, 138, .6));cursor:pointer;transition:transform .12s ease}.ui-drawer-slider::-webkit-slider-thumb:hover{transform:scale(1.22)}.ui-drawer-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--drawer-cor-camada, var(--ui-cor-primaria, #00E08A));box-shadow:0 0 6px #0009,0 0 10px var(--drawer-cor-camada, rgba(0, 224, 138, .6));cursor:pointer}.ui-drawer-footer{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 7%,transparent)}.ui-drawer-meta-info{font-size:9.5px;color:var(--ui-cor-texto-secundario, #888899);font-style:italic}.ui-drawer-actions{display:flex;align-items:center;gap:6px}.ui-drawer-btn-danger{background:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 10%,transparent);border:1px solid color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 35%,transparent);color:var(--ui-cor-texto-erro, #ff5555);border-radius:var(--ui-raio-sm, 4px);height:24px;padding:0 10px;font-size:10px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all var(--camada-transicao)}.ui-drawer-btn-danger:hover{background:var(--ui-cor-botao-destrutivo-fundo, #d32f2f);color:var(--ui-cor-botao-destrutivo-texto, #ffffff);border-color:var(--ui-cor-botao-destrutivo-fundo, #d32f2f);box-shadow:0 0 10px color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 45%,transparent);transform:translateY(-.5px)}.ui-drawer-btn-danger.confirming{background:var(--ui-cor-botao-destrutivo-hover, #b71c1c);color:var(--ui-cor-botao-destrutivo-texto, #ffffff);border-color:var(--ui-cor-botao-destrutivo-hover, #b71c1c);animation:pulseDanger 1.2s infinite}@keyframes pulseDanger{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.ui-previa-dot{width:6px;height:6px;margin-left:4px;border-radius:50%;flex-shrink:0;background:var(--ui-cor-texto-alerta, #ffb86c);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-cor-texto-alerta, #ffb86c) 25%,transparent)}.ui-tree-footer{height:var(--camada-barra-altura);min-height:var(--camada-barra-altura);background:var(--ui-cor-fundo-elevado, #121216);border-top:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));display:flex;align-items:center;justify-content:space-between;padding:0 var(--camada-respiro);gap:6px;box-sizing:border-box;overflow:hidden;position:relative;flex-shrink:0;margin:0 calc(-1 * var(--camada-respiro))}.ui-footer-left{display:flex;align-items:center;gap:5px;white-space:nowrap;min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.ui-footer-count{font-size:11px;font-family:var(--ui-fonte-codigo, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-variant-numeric:tabular-nums;font-weight:700;color:var(--ui-cor-primaria, #00E08A);flex-shrink:0}.ui-footer-label{display:inline-flex;align-items:center;color:var(--ui-cor-texto-secundario, #888899);flex-shrink:0}.ui-footer-actions-gerais{display:flex;align-items:center;gap:4px;flex-shrink:0}.ui-footer-chip-btn{background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 6%,transparent);border:none;color:var(--ui-cor-texto-secundario, #a0a0b0);font-size:10px;font-weight:600;height:22px;padding:0 8px;border-radius:var(--ui-raio-sm, 4px);cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all var(--camada-transicao)}.ui-footer-chip-btn:hover{background:var(--ui-cor-hover-menu, rgba(255, 255, 255, .12));color:var(--ui-cor-texto, #ffffff)}.ui-footer-chip-btn.primario{background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 14%,transparent);color:var(--ui-cor-primaria, #00E08A)}.ui-footer-chip-btn.primario:hover{background:var(--ui-cor-primaria, #00E08A);color:var(--ui-cor-texto-sobre-primaria, #000000)}.ui-footer-right{display:flex;align-items:center;gap:4px;flex:1 1 auto;min-width:0}.ui-footer-btn{background:transparent;border:none;color:var(--ui-cor-texto-secundario, #888899);width:22px;height:22px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all var(--camada-transicao);flex-shrink:0}.ui-footer-btn:hover:not(.disabled){color:var(--ui-cor-texto, #e1e1e6);background:var(--ui-cor-hover-menu, rgba(255, 255, 255, .12))}.ui-footer-btn.disabled{opacity:.25;cursor:not-allowed}.ui-footer-btn.btn-danger-footer:hover:not(.disabled){color:var(--ui-cor-texto-erro, #ff5555);background:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 15%,transparent)}.ui-footer-btn.confirming{background:var(--ui-cor-botao-destrutivo-hover, #b71c1c)!important;color:var(--ui-cor-botao-destrutivo-texto, #ffffff)!important}.ui-footer-move-wrapper{position:relative;display:flex;align-items:center;flex:1 1 auto;min-width:0}.ui-footer-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;--_chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888899' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background:var(--_chevron) right 6px center / 10px no-repeat,color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 6%,transparent);border:none;color:var(--ui-cor-texto, #e1e1e6);border-radius:var(--ui-raio-sm, 4px);font:inherit;font-size:10px;font-weight:500;height:22px;padding:0 22px 0 8px;cursor:pointer;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-footer-select:hover:not(:disabled){background:var(--_chevron) right 6px center / 10px no-repeat,var(--ui-cor-hover-menu, rgba(255, 255, 255, .12))}.ui-footer-select:focus-visible{outline:1px solid var(--ui-cor-primaria, #00E08A)}.ui-drawer-btn-sublayer{background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 6%,transparent);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));color:var(--ui-cor-texto, #e1e1e6);font-size:10.5px;font-weight:500;padding:4px 8px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all var(--camada-transicao)}.ui-drawer-btn-sublayer:hover{background:var(--ui-cor-hover-menu, rgba(255, 255, 255, .12));color:var(--ui-cor-primaria, #00E08A);border-color:var(--ui-cor-primaria, #00E08A)}.ui-drawer-select-wrapper{display:flex;align-items:center}.ui-drawer-select{background:var(--ui-cor-fundo, #16161c);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .15));color:var(--ui-cor-texto, #e1e1e6);border-radius:4px;font-size:10.5px;height:24px;padding:0 6px;cursor:pointer;max-width:140px}.ui-basemap-section{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.ui-basemap-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:2px;background:transparent;border:0;border-radius:var(--ui-raio-sm, 4px);font:inherit;color:inherit;cursor:pointer;text-align:left}.ui-basemap-toggle:hover .ui-basemap-title{color:var(--ui-cor-texto, #e1e1e6)}.ui-basemap-toggle:focus-visible{outline:2px solid var(--ui-cor-primaria, #00E08A);outline-offset:1px}.ui-basemap-atual{flex:1 1 auto;min-width:0;font-size:10px;color:var(--ui-cor-primaria, #00E08A);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.ui-basemap-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--ui-cor-texto-secundario, #888899)}.ui-basemap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.ui-basemap-section{container-type:inline-size}@container (min-width: 260px){.ui-basemap-grid{grid-template-columns:repeat(3,1fr)}}@container (min-width: 340px){.ui-basemap-grid{grid-template-columns:repeat(4,1fr)}}.ui-basemap-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:3px;border-radius:var(--ui-raio-borda, 5px);background:var(--ui-cor-fundo, #101014);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));cursor:pointer;transition:all var(--camada-transicao);text-align:center;overflow:hidden}.ui-basemap-card:hover{border-color:var(--ui-cor-primaria, #00E08A);background:var(--ui-cor-fundo-elevado, #17171c)}.ui-basemap-card.active{border-color:var(--ui-cor-primaria, #00E08A);background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 12%,transparent);color:var(--ui-cor-primaria, #00E08A);font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 35%,transparent)}.ui-basemap-preview{width:100%;height:22px;border-radius:3px;object-fit:cover;opacity:.85;transition:opacity var(--camada-transicao)}.ui-basemap-preview-none{width:100%;height:22px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 4%,transparent);border-radius:3px;color:var(--ui-cor-texto-secundario, #888899)}.ui-basemap-card:hover .ui-basemap-preview,.ui-basemap-card.active .ui-basemap-preview{opacity:1}.ui-basemap-card span{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ui-layer-row.herdado-oculto,.ui-feat-row.herdado-oculto{opacity:.52}.ui-layer-row.herdado-travado .ui-col-lock.ui-lock-open{color:var(--ui-cor-texto-secundario, #888899);opacity:.7}.ui-search-hidden{display:none!important}.ui-empty-row{height:22px;display:flex;align-items:center;padding-left:36px;font-size:10px;color:var(--ui-cor-texto-secundario, #666677);font-style:italic;background:var(--ui-cor-fundo-recuado, rgba(0, 0, 0, .15))}.ui-camadas-resizer-altura{display:none;flex-shrink:0;width:100%;height:9px;background:var(--ui-cor-superficie, #141417);border-top:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));cursor:ns-resize;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;touch-action:none;transition:background .15s ease,border-color .15s ease;position:relative;z-index:10}:host([redimensionavel]) .ui-camadas-resizer-altura,:host([redimensionavel-altura]) .ui-camadas-resizer-altura{display:flex}.ui-camadas-resizer-altura:hover,.ui-camadas-resizer-altura.ui-camadas-resizer--ativo{background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 9%,transparent);border-top-color:var(--ui-cor-primaria, #00E08A)}.ui-camadas-resizer-grip{width:32px;height:3px;border-radius:2px;background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 22%,transparent);transition:all .15s ease}.ui-camadas-resizer-altura:hover .ui-camadas-resizer-grip,.ui-camadas-resizer-altura.ui-camadas-resizer--ativo .ui-camadas-resizer-grip{background:var(--ui-cor-primaria, #00E08A);width:46px;box-shadow:0 0 8px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 45%,transparent)}:host(.ui-camadas--redimensionando){-webkit-user-select:none!important;user-select:none!important;cursor:ns-resize!important}:host(.ui-camadas--redimensionando) *{-webkit-user-select:none!important;user-select:none!important}.ui-col-lock.ui-lock-open{opacity:.28}.ui-col-lock.ui-lock-open:hover,.ui-col-lock.ui-lock-open:focus-visible{opacity:.8}.ui-col-lock[data-locked-by-layer]{cursor:not-allowed}.ui-col[role=button]:focus-visible,.ui-basemap-card:focus-visible,.ui-feat-row:focus-visible,.ui-layer-row:focus-visible{outline:2px solid var(--ui-cor-primaria, #00E08A);outline-offset:-2px}.ui-footer-btn.confirming{color:var(--ui-cor-botao-destrutivo-texto, #ffffff);background:var(--ui-cor-botao-destrutivo-hover, #b71c1c);width:auto;padding:0 6px}.ui-truncate-notice{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;margin:4px 8px 6px;background:color-mix(in srgb,var(--ui-cor-fundo-elevado, #1a1a1e) 70%,transparent);border:1px dashed var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:var(--ui-raio-borda, 4px);font-size:10px;color:var(--ui-cor-texto-secundario, #9696a6)}.ui-truncate-notice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-truncate-more-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--ui-cor-superficie, #141417);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .18));border-radius:var(--ui-raio-borda, 4px);color:var(--ui-cor-primaria, #00E08A);font-size:10px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--camada-transicao)}.ui-truncate-more-btn:hover{background:var(--ui-cor-hover-menu, rgba(255, 255, 255, .08));border-color:var(--ui-cor-primaria, #00E08A)}.ui-truncate-more-btn:focus-visible{outline:2px solid var(--ui-cor-primaria, #00E08A);outline-offset:1px}:host(.degrade),:host(.gradiente),:host([data-degrade]:not([data-degrade="false"])),.ui-camadas-container[data-degrade]:not([data-degrade=false]){--ui-camadas-fundo: var(--ui-gradiente-superficie);--ui-camadas-toggle-fundo: var(--ui-gradiente-superficie)}`;
|
|
1528
|
+
function vt(e, t) {
|
|
1280
1529
|
t.querySelectorAll("[data-layer-row]").forEach((r) => {
|
|
1281
1530
|
const o = r.getAttribute("data-layer-row") === e.camadaAtivaId;
|
|
1282
|
-
r.classList.toggle("active-drawing-layer", o),
|
|
1531
|
+
r.classList.toggle("active-drawing-layer", o), _e(r, "camada-ativa", o), o ? r.setAttribute("aria-current", "true") : r.removeAttribute("aria-current");
|
|
1283
1532
|
});
|
|
1284
1533
|
}
|
|
1285
|
-
function
|
|
1534
|
+
function bt(e, t) {
|
|
1286
1535
|
t.querySelectorAll(".ui-feat-row").forEach((a) => {
|
|
1287
1536
|
const r = a.getAttribute("data-feat-row"), i = r ? e.selectedFeatureIds.has(r) : !1;
|
|
1288
|
-
a.classList.toggle("selected-row", i),
|
|
1537
|
+
a.classList.toggle("selected-row", i), _e(a, "feicao-selecionada", i), a.setAttribute("aria-selected", String(i));
|
|
1289
1538
|
const o = a.querySelector(".ui-target-circle");
|
|
1290
1539
|
o && o.classList.toggle("selected", i);
|
|
1291
1540
|
}), t.querySelectorAll(".ui-layer-group").forEach((a) => {
|
|
1292
|
-
const r = a.getAttribute("data-layer-id"), i =
|
|
1293
|
-
|
|
1294
|
-
}),
|
|
1541
|
+
const r = a.getAttribute("data-layer-id"), i = ae(e.camadas, e.feicoes, r ?? ""), o = W(i, e.searchQuery);
|
|
1542
|
+
ua(a.querySelector(".ui-layer-row .ui-target-circle"), o, e.selectedFeatureIds);
|
|
1543
|
+
}), pa(e, t);
|
|
1295
1544
|
}
|
|
1296
|
-
function
|
|
1545
|
+
function ua(e, t, a) {
|
|
1297
1546
|
if (!e) return;
|
|
1298
1547
|
if (t.length === 0) {
|
|
1299
1548
|
e.classList.remove("selected", "partial");
|
|
@@ -1302,28 +1551,28 @@ function ra(e, t, a) {
|
|
|
1302
1551
|
const r = t.every((o) => a.has(o.id)), i = !r && t.some((o) => a.has(o.id));
|
|
1303
1552
|
e.classList.toggle("selected", r), e.classList.toggle("partial", i);
|
|
1304
1553
|
}
|
|
1305
|
-
function
|
|
1306
|
-
const a = e.feicoes.filter((
|
|
1554
|
+
function pa(e, t) {
|
|
1555
|
+
const a = e.feicoes.filter((p) => e.selectedFeatureIds.has(p.id)), r = a.length > 0, i = t.getElementById("footer-count"), o = t.getElementById("footer-label");
|
|
1307
1556
|
if (i && (i.textContent = String(r ? a.length : e.camadas.length)), o) {
|
|
1308
|
-
const
|
|
1309
|
-
o.innerHTML =
|
|
1557
|
+
const p = Je(e.camadas.length, a.length);
|
|
1558
|
+
o.innerHTML = p.icone, o.title = p.texto, o.setAttribute("aria-label", p.texto);
|
|
1310
1559
|
}
|
|
1311
1560
|
const n = t.querySelector(".ui-tree-footer");
|
|
1312
1561
|
n && (n.classList.toggle("tem-selecao", r), n.classList.toggle("sem-selecao", !r));
|
|
1313
1562
|
const s = t.querySelector(".ui-footer-actions-gerais");
|
|
1314
1563
|
s && (s.style.display = r ? "none" : "flex");
|
|
1315
1564
|
const c = t.querySelector(".ui-footer-bulk-actions");
|
|
1316
|
-
c && (c.style.display = r ? "flex" : "none"), ["btn-footer-del"].forEach((
|
|
1317
|
-
const
|
|
1318
|
-
|
|
1565
|
+
c && (c.style.display = r ? "flex" : "none"), ["btn-footer-del"].forEach((p) => {
|
|
1566
|
+
const d = t.getElementById(p);
|
|
1567
|
+
d && (d.disabled = !r, d.classList.toggle("disabled", !r));
|
|
1319
1568
|
});
|
|
1320
1569
|
const l = t.querySelector(".ui-footer-move-wrapper");
|
|
1321
1570
|
l && l.classList.toggle("disabled", !r);
|
|
1322
|
-
const
|
|
1323
|
-
|
|
1571
|
+
const u = t.getElementById("select-footer-move");
|
|
1572
|
+
u && (u.disabled = !r);
|
|
1324
1573
|
}
|
|
1325
|
-
function
|
|
1326
|
-
const a =
|
|
1574
|
+
function Ge(e, t) {
|
|
1575
|
+
const a = fe(e.camadas), r = new Map(e.camadas.map((n) => [n.id, n]));
|
|
1327
1576
|
t.querySelectorAll(".ui-layer-row").forEach((n) => {
|
|
1328
1577
|
const s = a.get(n.getAttribute("data-layer-row") || "");
|
|
1329
1578
|
n.classList.toggle("herdado-oculto", (s == null ? void 0 : s.ocultaPorAncestral) === !0), n.classList.toggle("herdado-travado", (s == null ? void 0 : s.travadaPorAncestral) === !0);
|
|
@@ -1332,18 +1581,18 @@ function Pe(e, t) {
|
|
|
1332
1581
|
t.querySelectorAll(".ui-feat-row").forEach((n) => {
|
|
1333
1582
|
const s = n.getAttribute("data-feat-layer") || "", c = r.get(s), l = a.get(s);
|
|
1334
1583
|
n.classList.toggle("herdado-oculto", (c == null ? void 0 : c.visible) === !1 || (l == null ? void 0 : l.ocultaPorAncestral) === !0);
|
|
1335
|
-
const
|
|
1336
|
-
if (!
|
|
1337
|
-
const
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1584
|
+
const u = n.querySelector("[data-feat-lock]"), p = i.get(n.getAttribute("data-feat-row") || "");
|
|
1585
|
+
if (!u || !p) return;
|
|
1586
|
+
const d = (c == null ? void 0 : c.locked) === !0 || (l == null ? void 0 : l.travadaPorAncestral) === !0, f = p.locked === !0 || d;
|
|
1587
|
+
u.innerHTML = f ? b.cadeadoTrancado : b.cadeadoAberto, u.classList.toggle("ui-lock-open", !f), d ? u.setAttribute("data-locked-by-layer", "true") : u.removeAttribute("data-locked-by-layer"), T(
|
|
1588
|
+
u,
|
|
1589
|
+
d ? "Bloqueada pela camada" : f ? "Desbloquear Feição" : "Bloquear Feição"
|
|
1341
1590
|
);
|
|
1342
1591
|
});
|
|
1343
1592
|
const o = t.getElementById("select-footer-move");
|
|
1344
|
-
o && (o.innerHTML = `<option value="" disabled selected>Mover para...</option>${
|
|
1593
|
+
o && (o.innerHTML = `<option value="" disabled selected>Mover para...</option>${We(e.camadas)}`);
|
|
1345
1594
|
}
|
|
1346
|
-
function
|
|
1595
|
+
function yt(e, t) {
|
|
1347
1596
|
t.querySelectorAll("[data-layer-row]").forEach((i) => {
|
|
1348
1597
|
i.addEventListener("click", (o) => {
|
|
1349
1598
|
if (o.target.closest(
|
|
@@ -1362,10 +1611,10 @@ function ot(e, t) {
|
|
|
1362
1611
|
const s = i.closest(".ui-layer-group"), c = i.querySelector(".ui-chevron-icon"), l = e.expandedLayers.has(n);
|
|
1363
1612
|
if (c && c.classList.toggle("open", l), s) {
|
|
1364
1613
|
s.setAttribute("aria-expanded", String(l));
|
|
1365
|
-
const
|
|
1366
|
-
|
|
1614
|
+
const u = s.querySelector(".ui-children-container");
|
|
1615
|
+
u && (u.style.display = l ? "block" : "none");
|
|
1367
1616
|
}
|
|
1368
|
-
|
|
1617
|
+
T(i, l ? "Recolher grupo" : "Expandir grupo"), xt(e, t), e.salvarLembrancaEstado();
|
|
1369
1618
|
});
|
|
1370
1619
|
}), t.querySelectorAll("[data-layer-eye]").forEach((i) => {
|
|
1371
1620
|
i.addEventListener("click", (o) => {
|
|
@@ -1374,9 +1623,9 @@ function ot(e, t) {
|
|
|
1374
1623
|
if (s) {
|
|
1375
1624
|
s.visible = s.visible === !1;
|
|
1376
1625
|
const c = s.visible !== !1;
|
|
1377
|
-
i.innerHTML = c ?
|
|
1626
|
+
i.innerHTML = c ? b.olhoAberto : b.olhoFechado, T(i, c ? "Ocultar Camada" : "Exibir Camada");
|
|
1378
1627
|
const l = i.closest(".ui-layer-row");
|
|
1379
|
-
l && l.classList.toggle("hidden-layer", !c),
|
|
1628
|
+
l && l.classList.toggle("hidden-layer", !c), wt(e, t), Ge(e, t), e.salvarLembrancaEstado(), e.dispararEvento("ui-camada-visibilidade", {
|
|
1380
1629
|
camadaId: s.id,
|
|
1381
1630
|
visivel: c
|
|
1382
1631
|
});
|
|
@@ -1386,7 +1635,7 @@ function ot(e, t) {
|
|
|
1386
1635
|
i.addEventListener("click", (o) => {
|
|
1387
1636
|
o.stopPropagation();
|
|
1388
1637
|
const n = i.getAttribute("data-layer-lock"), s = e.camadas.find((c) => c.id === n);
|
|
1389
|
-
s && (s.locked = !s.locked, i.innerHTML = s.locked ?
|
|
1638
|
+
s && (s.locked = !s.locked, i.innerHTML = s.locked ? b.cadeadoTrancado : b.cadeadoAberto, i.classList.toggle("ui-lock-open", !s.locked), T(i, s.locked ? "Desbloquear Camada" : "Bloquear Camada"), Ge(e, t), e.salvarLembrancaEstado(), e.dispararEvento("ui-camada-bloqueio", {
|
|
1390
1639
|
camadaId: s.id,
|
|
1391
1640
|
bloqueado: s.locked
|
|
1392
1641
|
}));
|
|
@@ -1411,29 +1660,31 @@ function ot(e, t) {
|
|
|
1411
1660
|
const a = (i, o, n) => {
|
|
1412
1661
|
const s = e.camadas.find((f) => f.id === i);
|
|
1413
1662
|
if (!s) return;
|
|
1414
|
-
const c =
|
|
1663
|
+
const c = K(o, s.color || "#00E08A");
|
|
1415
1664
|
s.color = c;
|
|
1416
1665
|
const l = t.getElementById(`sample-color-${i}`);
|
|
1417
1666
|
l && (l.style.backgroundColor = c);
|
|
1418
|
-
const
|
|
1419
|
-
|
|
1420
|
-
const
|
|
1421
|
-
|
|
1422
|
-
const
|
|
1423
|
-
if (
|
|
1424
|
-
const f =
|
|
1667
|
+
const u = t.getElementById(`hex-color-${i}`);
|
|
1668
|
+
u && (u.textContent = c.toUpperCase());
|
|
1669
|
+
const p = t.getElementById(`settings-drawer-${i}`);
|
|
1670
|
+
p && p.style.setProperty("--drawer-cor-camada", c);
|
|
1671
|
+
const d = D(t, "data-layer-row", i);
|
|
1672
|
+
if (d) {
|
|
1673
|
+
const f = d.closest(".ui-layer-group");
|
|
1425
1674
|
f == null || f.style.setProperty("--layer-active-color", c);
|
|
1426
|
-
const m =
|
|
1427
|
-
m
|
|
1428
|
-
const
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
if (
|
|
1433
|
-
const
|
|
1434
|
-
|
|
1435
|
-
const
|
|
1436
|
-
|
|
1675
|
+
const m = f == null ? void 0 : f.querySelector(":scope > .ui-children-container");
|
|
1676
|
+
m == null || m.style.setProperty("--parent-layer-color", c);
|
|
1677
|
+
const h = d.querySelector(".ui-col-colorbar");
|
|
1678
|
+
h && (h.style.backgroundColor = c);
|
|
1679
|
+
const v = new Map(e.feicoes.map((g) => [g.id, g]));
|
|
1680
|
+
f == null || f.querySelectorAll(".ui-feat-row").forEach((g) => {
|
|
1681
|
+
if (g.getAttribute("data-feat-layer") !== i) return;
|
|
1682
|
+
const w = g.querySelector(".ui-col-colorbar");
|
|
1683
|
+
w && (w.style.backgroundColor = c);
|
|
1684
|
+
const k = v.get(g.getAttribute("data-feat-row") || "");
|
|
1685
|
+
if (!k || k.color) return;
|
|
1686
|
+
const L = g.querySelector(".ui-thumb-box");
|
|
1687
|
+
L && (L.innerHTML = ea(k.type || k.geometryType, c, k.coordinates));
|
|
1437
1688
|
});
|
|
1438
1689
|
}
|
|
1439
1690
|
n ? e.salvarLembrancaEstado() : e.agendarSalvarLembranca(), e.dispararEvento("ui-camada-cor", { camadaId: s.id, cor: c });
|
|
@@ -1442,19 +1693,19 @@ function ot(e, t) {
|
|
|
1442
1693
|
const o = i, n = (s) => (c) => {
|
|
1443
1694
|
const l = o.getAttribute("data-layer-color-picker");
|
|
1444
1695
|
if (!l) return;
|
|
1445
|
-
const
|
|
1446
|
-
a(l,
|
|
1696
|
+
const u = c.target.value;
|
|
1697
|
+
a(l, u, s);
|
|
1447
1698
|
};
|
|
1448
1699
|
o.addEventListener("input", n(!1)), o.addEventListener("change", n(!0));
|
|
1449
1700
|
}), t.querySelectorAll("[data-layer-color]").forEach((i) => {
|
|
1450
1701
|
const o = (n) => {
|
|
1451
1702
|
n.stopPropagation();
|
|
1452
1703
|
const s = i.getAttribute("data-layer-color"), c = e.camadas.find((l) => l.id === s);
|
|
1453
|
-
!s || !c ||
|
|
1704
|
+
!s || !c || Oa({
|
|
1454
1705
|
ancora: i,
|
|
1455
1706
|
titulo: `Cor · ${c.name || "Camada"}`,
|
|
1456
1707
|
modo: "simples",
|
|
1457
|
-
cor:
|
|
1708
|
+
cor: K(c.color, "#00E08A"),
|
|
1458
1709
|
mostrarOpacidade: !1,
|
|
1459
1710
|
aoAlterar: (l) => a(s, l.cor, !1),
|
|
1460
1711
|
aoConfirmar: (l) => a(s, l.cor, !0),
|
|
@@ -1472,7 +1723,7 @@ function ot(e, t) {
|
|
|
1472
1723
|
n.opacity = o;
|
|
1473
1724
|
const s = t.getElementById(`badge-op-${i}`);
|
|
1474
1725
|
s && (s.textContent = `${Math.round(o * 100)}%`);
|
|
1475
|
-
const c =
|
|
1726
|
+
const c = D(t, "data-layer-opacity-slider", i);
|
|
1476
1727
|
c && parseFloat(c.value) !== o && (c.value = String(o)), e.agendarSalvarLembranca(), e.dispararEvento("ui-camada-opacidade", { camadaId: n.id, opacidade: o });
|
|
1477
1728
|
};
|
|
1478
1729
|
t.querySelectorAll("[data-layer-opacity-slider]").forEach((i) => {
|
|
@@ -1495,29 +1746,29 @@ function ot(e, t) {
|
|
|
1495
1746
|
if (!c) return;
|
|
1496
1747
|
if (i.classList.contains("confirming")) {
|
|
1497
1748
|
n(), e.dispararEvento("ui-camada-excluida", { camadaId: c });
|
|
1498
|
-
const
|
|
1499
|
-
e.camadas.forEach((
|
|
1500
|
-
|
|
1501
|
-
}), e.removerCamada(c), e.selectedFeatureIds.size !==
|
|
1749
|
+
const u = e.selectedFeatureIds.size;
|
|
1750
|
+
e.camadas.forEach((p) => {
|
|
1751
|
+
p.parentId === c && (p.parentId = null);
|
|
1752
|
+
}), e.removerCamada(c), e.selectedFeatureIds.size !== u && e.notificarMudancaSelecao();
|
|
1502
1753
|
} else {
|
|
1503
1754
|
i.classList.add("confirming");
|
|
1504
|
-
const
|
|
1505
|
-
|
|
1755
|
+
const u = i.querySelector(".ui-btn-label");
|
|
1756
|
+
u && (u.textContent = "Confirmar Exclusão?"), o = setTimeout(n, 3500);
|
|
1506
1757
|
}
|
|
1507
1758
|
});
|
|
1508
1759
|
}), t.querySelectorAll("[data-layer-parent-select]").forEach((i) => {
|
|
1509
1760
|
i.addEventListener("change", (o) => {
|
|
1510
|
-
const n = o.target, s = n.getAttribute("data-layer-parent-select"), c = n.value || null, l = e.camadas.find((
|
|
1761
|
+
const n = o.target, s = n.getAttribute("data-layer-parent-select"), c = n.value || null, l = e.camadas.find((u) => u.id === s);
|
|
1511
1762
|
if (l) {
|
|
1512
|
-
if (c && (c === l.id ||
|
|
1763
|
+
if (c && (c === l.id || N(e.camadas, c, l.id))) {
|
|
1513
1764
|
n.value = l.parentId || "";
|
|
1514
1765
|
return;
|
|
1515
1766
|
}
|
|
1516
|
-
const
|
|
1767
|
+
const u = l.parentId ?? null;
|
|
1517
1768
|
l.parentId = c, c && e.expandedLayers.add(c), e.salvarLembrancaEstado(), e.dispararEvento("ui-camada-mover-hierarquia", {
|
|
1518
1769
|
camadaId: l.id,
|
|
1519
1770
|
novoParentId: c,
|
|
1520
|
-
parentAnteriorId:
|
|
1771
|
+
parentAnteriorId: u,
|
|
1521
1772
|
camada: l
|
|
1522
1773
|
}), e.solicitarRenderizacao();
|
|
1523
1774
|
}
|
|
@@ -1528,18 +1779,18 @@ function ot(e, t) {
|
|
|
1528
1779
|
const n = i.getAttribute("data-add-sublayer");
|
|
1529
1780
|
e.dispararEvento("ui-camada-adicionar", { parentId: n });
|
|
1530
1781
|
});
|
|
1531
|
-
}),
|
|
1782
|
+
}), fa(e, t), t.querySelectorAll("[data-layer-target]").forEach((i) => {
|
|
1532
1783
|
i.addEventListener("click", (o) => {
|
|
1533
1784
|
o.stopPropagation();
|
|
1534
1785
|
const n = o, s = i.getAttribute("data-layer-target");
|
|
1535
1786
|
if (!s) return;
|
|
1536
|
-
const c =
|
|
1787
|
+
const c = ae(e.camadas, e.feicoes, s), l = W(c, e.searchQuery);
|
|
1537
1788
|
if (l.length === 0) return;
|
|
1538
|
-
l.every((
|
|
1789
|
+
l.every((p) => e.selectedFeatureIds.has(p.id)) ? l.forEach((p) => e.selectedFeatureIds.delete(p.id)) : (!n.ctrlKey && !n.metaKey && e.selectedFeatureIds.clear(), l.forEach((p) => e.selectedFeatureIds.add(p.id))), e.lastClickedFeatureId = l[l.length - 1].id, e.sincronizarSelecaoDOM(), e.notificarMudancaSelecao();
|
|
1539
1790
|
});
|
|
1540
1791
|
});
|
|
1541
1792
|
}
|
|
1542
|
-
function
|
|
1793
|
+
function fa(e, t) {
|
|
1543
1794
|
t.querySelectorAll("[data-layer-show-more]").forEach((a) => {
|
|
1544
1795
|
a.addEventListener("click", (r) => {
|
|
1545
1796
|
r.stopPropagation();
|
|
@@ -1548,49 +1799,49 @@ function oa(e, t) {
|
|
|
1548
1799
|
});
|
|
1549
1800
|
});
|
|
1550
1801
|
}
|
|
1551
|
-
function
|
|
1802
|
+
function xt(e, t) {
|
|
1552
1803
|
const a = t.getElementById("btn-toggle-all-expand");
|
|
1553
1804
|
if (!a) return;
|
|
1554
1805
|
const r = e.camadas.length > 0 && e.camadas.every((o) => e.expandedLayers.has(o.id)), i = a.querySelector(".ui-chevron-icon");
|
|
1555
|
-
i && i.classList.toggle("open", r),
|
|
1806
|
+
i && i.classList.toggle("open", r), T(
|
|
1556
1807
|
a,
|
|
1557
1808
|
r ? "Recolher Todos os Grupos" : "Expandir Todos os Grupos"
|
|
1558
1809
|
);
|
|
1559
1810
|
}
|
|
1560
|
-
function
|
|
1811
|
+
function wt(e, t) {
|
|
1561
1812
|
const a = t.getElementById("btn-toggle-all-vis");
|
|
1562
1813
|
if (!a) return;
|
|
1563
1814
|
const r = e.camadas.every((i) => i.visible !== !1);
|
|
1564
|
-
a.innerHTML = r ?
|
|
1815
|
+
a.innerHTML = r ? b.olhoAberto : b.olhoFechado, T(a, r ? "Ocultar Todas as Camadas" : "Exibir Todas as Camadas");
|
|
1565
1816
|
}
|
|
1566
|
-
function
|
|
1817
|
+
function At(e, t) {
|
|
1567
1818
|
const a = t.getElementById("select-footer-move");
|
|
1568
1819
|
a && a.addEventListener("change", (n) => {
|
|
1569
1820
|
const s = n.target.value;
|
|
1570
1821
|
if (!s) return;
|
|
1571
|
-
const c =
|
|
1822
|
+
const c = ce(e.camadas);
|
|
1572
1823
|
if (c.has(s)) {
|
|
1573
1824
|
a.value = "";
|
|
1574
1825
|
return;
|
|
1575
1826
|
}
|
|
1576
1827
|
const l = e.feicoes.filter(
|
|
1577
|
-
(
|
|
1828
|
+
(p) => e.selectedFeatureIds.has(p.id) && !c.has(p.layerId) && p.locked !== !0
|
|
1578
1829
|
);
|
|
1579
1830
|
if (l.length === 0) {
|
|
1580
1831
|
a.value = "";
|
|
1581
1832
|
return;
|
|
1582
1833
|
}
|
|
1583
|
-
const
|
|
1584
|
-
l.forEach((
|
|
1585
|
-
|
|
1586
|
-
feicaoId:
|
|
1587
|
-
camadaOrigemId:
|
|
1834
|
+
const u = new Map(l.map((p) => [p.id, p.layerId]));
|
|
1835
|
+
l.forEach((p) => p.layerId = s), l.forEach((p) => {
|
|
1836
|
+
u.get(p.id) !== s && e.dispararEvento("ui-feicao-movida", {
|
|
1837
|
+
feicaoId: p.id,
|
|
1838
|
+
camadaOrigemId: u.get(p.id),
|
|
1588
1839
|
camadaDestinoId: s,
|
|
1589
|
-
feicao:
|
|
1840
|
+
feicao: p
|
|
1590
1841
|
});
|
|
1591
1842
|
}), e.dispararEvento("ui-acao-massa", {
|
|
1592
1843
|
acao: "mover",
|
|
1593
|
-
feicoesIds: l.map((
|
|
1844
|
+
feicoesIds: l.map((p) => p.id),
|
|
1594
1845
|
feicoes: l,
|
|
1595
1846
|
valor: s
|
|
1596
1847
|
}), e.solicitarRenderizacao();
|
|
@@ -1607,45 +1858,45 @@ function lt(e, t) {
|
|
|
1607
1858
|
if (o) {
|
|
1608
1859
|
let n = null;
|
|
1609
1860
|
const s = "Excluir selecionados", c = () => {
|
|
1610
|
-
n && (clearTimeout(n), n = null), o.classList.remove("confirming"),
|
|
1861
|
+
n && (clearTimeout(n), n = null), o.classList.remove("confirming"), T(o, s);
|
|
1611
1862
|
};
|
|
1612
1863
|
o.addEventListener("ui-cancelar-confirmacao", c), o.addEventListener("click", () => {
|
|
1613
|
-
const l =
|
|
1864
|
+
const l = ce(e.camadas), u = e.feicoes.filter(
|
|
1614
1865
|
(f) => e.selectedFeatureIds.has(f.id) && !l.has(f.layerId) && f.locked !== !0
|
|
1615
1866
|
);
|
|
1616
|
-
if (
|
|
1617
|
-
const
|
|
1867
|
+
if (u.length === 0) return;
|
|
1868
|
+
const p = u.map((f) => f.id);
|
|
1618
1869
|
if (!o.classList.contains("confirming")) {
|
|
1619
|
-
o.classList.add("confirming"),
|
|
1870
|
+
o.classList.add("confirming"), T(o, `Clique novamente para excluir ${p.length} selecionado(s)`), n = setTimeout(c, 3500);
|
|
1620
1871
|
return;
|
|
1621
1872
|
}
|
|
1622
1873
|
c();
|
|
1623
|
-
const
|
|
1624
|
-
e.feicoes = e.feicoes.filter((f) => !
|
|
1874
|
+
const d = new Set(p);
|
|
1875
|
+
e.feicoes = e.feicoes.filter((f) => !d.has(f.id)), p.forEach((f) => e.selectedFeatureIds.delete(f)), e.lastClickedFeatureId && d.has(e.lastClickedFeatureId) && (e.lastClickedFeatureId = null), e.dispararEvento("ui-acao-massa", {
|
|
1625
1876
|
acao: "excluir",
|
|
1626
|
-
feicoesIds:
|
|
1627
|
-
feicoes:
|
|
1877
|
+
feicoesIds: p,
|
|
1878
|
+
feicoes: u
|
|
1628
1879
|
}), e.notificarMudancaSelecao(), e.solicitarRenderizacao();
|
|
1629
1880
|
});
|
|
1630
1881
|
}
|
|
1631
1882
|
}
|
|
1632
|
-
const
|
|
1883
|
+
const Et = [
|
|
1633
1884
|
{ tipo: "olho", atributo: "data-layer-eye", entidade: "camada" },
|
|
1634
1885
|
{ tipo: "olho", atributo: "data-feat-eye", entidade: "feicao" },
|
|
1635
1886
|
{ tipo: "cadeado", atributo: "data-layer-lock", entidade: "camada" },
|
|
1636
1887
|
{ tipo: "cadeado", atributo: "data-feat-lock", entidade: "feicao" },
|
|
1637
1888
|
{ tipo: "selecao", atributo: "data-layer-target", entidade: "camada" },
|
|
1638
1889
|
{ tipo: "selecao", atributo: "data-feat-target", entidade: "feicao" }
|
|
1639
|
-
],
|
|
1890
|
+
], Le = {
|
|
1640
1891
|
olho: "[data-layer-eye], [data-feat-eye]",
|
|
1641
1892
|
cadeado: "[data-layer-lock], [data-feat-lock]",
|
|
1642
1893
|
selecao: "[data-layer-target], [data-feat-target]"
|
|
1643
|
-
},
|
|
1644
|
-
function
|
|
1645
|
-
return
|
|
1894
|
+
}, It = 3;
|
|
1895
|
+
function kt(e) {
|
|
1896
|
+
return Et.find((t) => e.hasAttribute(t.atributo)) ?? null;
|
|
1646
1897
|
}
|
|
1647
|
-
function
|
|
1648
|
-
const a =
|
|
1898
|
+
function Ie(e, t) {
|
|
1899
|
+
const a = kt(t);
|
|
1649
1900
|
if (!a) return null;
|
|
1650
1901
|
const r = t.getAttribute(a.atributo);
|
|
1651
1902
|
if (!r) return null;
|
|
@@ -1659,13 +1910,13 @@ function ve(e, t) {
|
|
|
1659
1910
|
return o ? o.locked === !0 : null;
|
|
1660
1911
|
}
|
|
1661
1912
|
if (a.entidade === "feicao") return e.selectedFeatureIds.has(r);
|
|
1662
|
-
const i =
|
|
1663
|
-
|
|
1913
|
+
const i = W(
|
|
1914
|
+
ae(e.camadas, e.feicoes, r),
|
|
1664
1915
|
e.searchQuery
|
|
1665
1916
|
);
|
|
1666
1917
|
return i.length === 0 ? null : i.every((o) => e.selectedFeatureIds.has(o.id));
|
|
1667
1918
|
}
|
|
1668
|
-
function
|
|
1919
|
+
function Ve(e, t, a = !1) {
|
|
1669
1920
|
e.dispatchEvent(
|
|
1670
1921
|
new MouseEvent("click", {
|
|
1671
1922
|
bubbles: !0,
|
|
@@ -1676,53 +1927,53 @@ function De(e, t, a = !1) {
|
|
|
1676
1927
|
);
|
|
1677
1928
|
}
|
|
1678
1929
|
let q = null;
|
|
1679
|
-
function
|
|
1930
|
+
function Lt(e) {
|
|
1680
1931
|
(q == null ? void 0 : q.host) === e && q.cancelar();
|
|
1681
1932
|
}
|
|
1682
|
-
function
|
|
1683
|
-
Object.keys(
|
|
1684
|
-
a.querySelectorAll(
|
|
1685
|
-
i.addEventListener("pointerdown", (o) =>
|
|
1933
|
+
function ma(e, t, a = t) {
|
|
1934
|
+
Object.keys(Le).forEach((r) => {
|
|
1935
|
+
a.querySelectorAll(Le[r]).forEach((i) => {
|
|
1936
|
+
i.addEventListener("pointerdown", (o) => Ct(e, t, r, i, o));
|
|
1686
1937
|
});
|
|
1687
1938
|
});
|
|
1688
1939
|
}
|
|
1689
|
-
function
|
|
1690
|
-
if (i.pointerType === "mouse" && i.button !== 0 || e.editingLayerId || e.editingFeatureId ||
|
|
1940
|
+
function Ct(e, t, a, r, i) {
|
|
1941
|
+
if (i.pointerType === "mouse" && i.button !== 0 || e.editingLayerId || e.editingFeatureId || Ie(e, r) === null) return;
|
|
1691
1942
|
q == null || q.cancelar();
|
|
1692
|
-
const o =
|
|
1693
|
-
let c = !1, l = !1,
|
|
1694
|
-
const
|
|
1695
|
-
|
|
1696
|
-
}, f = (
|
|
1697
|
-
|
|
1698
|
-
}, m = (
|
|
1699
|
-
|
|
1943
|
+
const o = Le[a], n = i.ctrlKey || i.metaKey, s = i.shiftKey;
|
|
1944
|
+
let c = !1, l = !1, u = i.clientY;
|
|
1945
|
+
const p = /* @__PURE__ */ new Set([r]), d = (A) => {
|
|
1946
|
+
A.preventDefault(), A.stopImmediatePropagation();
|
|
1947
|
+
}, f = (A) => {
|
|
1948
|
+
A.stopPropagation(), A.preventDefault();
|
|
1949
|
+
}, m = (A) => A.preventDefault(), h = (A) => {
|
|
1950
|
+
p.has(A) || (p.add(A), Ie(e, A) !== l && Ve(A, a === "selecao"));
|
|
1700
1951
|
}, v = () => {
|
|
1701
|
-
c = !0,
|
|
1702
|
-
},
|
|
1703
|
-
var
|
|
1952
|
+
c = !0, Ve(r, n, s), l = Ie(e, r) === !0, t.addEventListener("selectstart", m), document.body.style.userSelect = "none";
|
|
1953
|
+
}, g = (A) => {
|
|
1954
|
+
var E, z;
|
|
1704
1955
|
if (!c) {
|
|
1705
|
-
if (Math.hypot(
|
|
1706
|
-
const x = (
|
|
1956
|
+
if (Math.hypot(A.clientX - i.clientX, A.clientY - i.clientY) < It) return;
|
|
1957
|
+
const x = (E = t.elementFromPoint(A.clientX, A.clientY)) == null ? void 0 : E.closest(o);
|
|
1707
1958
|
if (!x || x === r) return;
|
|
1708
1959
|
v();
|
|
1709
1960
|
}
|
|
1710
|
-
|
|
1711
|
-
const S = Math.min(
|
|
1961
|
+
A.preventDefault();
|
|
1962
|
+
const S = Math.min(u, A.clientY), F = Math.max(u, A.clientY);
|
|
1712
1963
|
t.querySelectorAll(o).forEach((x) => {
|
|
1713
|
-
const
|
|
1714
|
-
if (
|
|
1715
|
-
const
|
|
1716
|
-
|
|
1964
|
+
const y = x.getBoundingClientRect();
|
|
1965
|
+
if (y.height === 0) return;
|
|
1966
|
+
const P = y.top + y.height / 2;
|
|
1967
|
+
P >= S && P <= F && h(x);
|
|
1717
1968
|
});
|
|
1718
|
-
const
|
|
1719
|
-
|
|
1720
|
-
},
|
|
1721
|
-
(q == null ? void 0 : q.cancelar) ===
|
|
1722
|
-
},
|
|
1723
|
-
q = { host: e, cancelar:
|
|
1724
|
-
}
|
|
1725
|
-
function
|
|
1969
|
+
const B = (z = t.elementFromPoint(A.clientX, A.clientY)) == null ? void 0 : z.closest(o);
|
|
1970
|
+
B && h(B), u = A.clientY;
|
|
1971
|
+
}, w = (A = !1) => {
|
|
1972
|
+
(q == null ? void 0 : q.cancelar) === L && (q = null), window.removeEventListener("pointermove", g), window.removeEventListener("pointerup", k), window.removeEventListener("pointercancel", k), window.removeEventListener("dragstart", d, !0), t.removeEventListener("selectstart", m), c && (document.body.style.userSelect = "", A || (window.addEventListener("click", f, { capture: !0, once: !0 }), setTimeout(() => window.removeEventListener("click", f, !0), 0)));
|
|
1973
|
+
}, k = () => w(), L = () => w(!0);
|
|
1974
|
+
q = { host: e, cancelar: L }, window.addEventListener("dragstart", d, !0), window.addEventListener("pointermove", g, { passive: !1 }), window.addEventListener("pointerup", k), window.addEventListener("pointercancel", k);
|
|
1975
|
+
}
|
|
1976
|
+
function St(e, t) {
|
|
1726
1977
|
const a = t.getElementById("btn-toggle-all-vis");
|
|
1727
1978
|
a && a.addEventListener("click", () => e.alternarVisibilidadeTodas(!0));
|
|
1728
1979
|
const r = t.getElementById("btn-toggle-all-expand");
|
|
@@ -1730,15 +1981,15 @@ function mt(e, t) {
|
|
|
1730
1981
|
o.stopPropagation(), e.camadas.length > 0 && e.camadas.every((s) => e.expandedLayers.has(s.id)) ? e.colapsarTodas() : e.expandirTodas();
|
|
1731
1982
|
});
|
|
1732
1983
|
const i = t.getElementById("btn-colapsar");
|
|
1733
|
-
i && i.addEventListener("click", () => e.colapsar(!0)),
|
|
1984
|
+
i && i.addEventListener("click", () => e.colapsar(!0)), Ft(e, t);
|
|
1734
1985
|
}
|
|
1735
|
-
function
|
|
1986
|
+
function Ft(e, t) {
|
|
1736
1987
|
const a = t.getElementById("input-layer-search"), r = t.getElementById("btn-clear-layer-search"), i = () => {
|
|
1737
1988
|
var o;
|
|
1738
1989
|
e.searchQuery = "", e.solicitarRenderizacao(), (o = t.getElementById("input-layer-search")) == null || o.focus();
|
|
1739
1990
|
};
|
|
1740
1991
|
if (a) {
|
|
1741
|
-
const o =
|
|
1992
|
+
const o = Ke(() => e.solicitarRenderizacao(), 75);
|
|
1742
1993
|
a.addEventListener("input", (n) => {
|
|
1743
1994
|
e.searchQuery = n.target.value, o();
|
|
1744
1995
|
}), a.addEventListener("keydown", (n) => {
|
|
@@ -1747,7 +1998,7 @@ function gt(e, t) {
|
|
|
1747
1998
|
}
|
|
1748
1999
|
r && r.addEventListener("click", i);
|
|
1749
2000
|
}
|
|
1750
|
-
function
|
|
2001
|
+
function ga(e, t) {
|
|
1751
2002
|
t.querySelectorAll("[data-feat-select]").forEach((a) => {
|
|
1752
2003
|
a.addEventListener("click", (r) => {
|
|
1753
2004
|
if (e.editingFeatureId) return;
|
|
@@ -1772,7 +2023,7 @@ function sa(e, t) {
|
|
|
1772
2023
|
if (o) {
|
|
1773
2024
|
o.visible = o.visible === !1;
|
|
1774
2025
|
const n = o.visible !== !1;
|
|
1775
|
-
a.innerHTML = n ?
|
|
2026
|
+
a.innerHTML = n ? b.olhoAberto : b.olhoFechado, T(a, n ? "Ocultar Feição" : "Exibir Feição");
|
|
1776
2027
|
const s = a.closest(".ui-feat-row");
|
|
1777
2028
|
s && s.classList.toggle("hidden-row", !n), e.dispararEvento("ui-feicao-visibilidade", {
|
|
1778
2029
|
feicaoId: o.id,
|
|
@@ -1784,7 +2035,7 @@ function sa(e, t) {
|
|
|
1784
2035
|
a.addEventListener("click", (r) => {
|
|
1785
2036
|
if (r.stopPropagation(), a.hasAttribute("data-locked-by-layer")) return;
|
|
1786
2037
|
const i = a.getAttribute("data-feat-lock"), o = e.feicoes.find((n) => n.id === i);
|
|
1787
|
-
o && (o.locked = !o.locked, a.innerHTML = o.locked ?
|
|
2038
|
+
o && (o.locked = !o.locked, a.innerHTML = o.locked ? b.cadeadoTrancado : b.cadeadoAberto, a.classList.toggle("ui-lock-open", !o.locked), T(a, o.locked ? "Desbloquear Feição" : "Bloquear Feição"), e.dispararEvento("ui-feicao-bloqueio", {
|
|
1788
2039
|
feicaoId: o.id,
|
|
1789
2040
|
bloqueado: o.locked
|
|
1790
2041
|
}));
|
|
@@ -1797,7 +2048,7 @@ function sa(e, t) {
|
|
|
1797
2048
|
});
|
|
1798
2049
|
});
|
|
1799
2050
|
}
|
|
1800
|
-
function
|
|
2051
|
+
function $t(e, t) {
|
|
1801
2052
|
var a;
|
|
1802
2053
|
(a = t.querySelector("[data-basemap-toggle]")) == null || a.addEventListener("click", () => {
|
|
1803
2054
|
e.alternarMapasBaseRecolhido(!0);
|
|
@@ -1808,10 +2059,10 @@ function vt(e, t) {
|
|
|
1808
2059
|
});
|
|
1809
2060
|
});
|
|
1810
2061
|
}
|
|
1811
|
-
function
|
|
1812
|
-
|
|
2062
|
+
function Mt(e, t) {
|
|
2063
|
+
St(e, t), yt(e, t), ga(e, t), $t(e, t), At(e, t), ma(e, t);
|
|
1813
2064
|
}
|
|
1814
|
-
function
|
|
2065
|
+
function Pt(e) {
|
|
1815
2066
|
if (!e.arvoreRenderizada) return { incremental: !1, motivo: "arvore-nao-renderizada" };
|
|
1816
2067
|
if (e.buscaAtiva) return { incremental: !1, motivo: "busca-ativa" };
|
|
1817
2068
|
if (e.editandoCamada || e.editandoFeicao) return { incremental: !1, motivo: "edicao-inline" };
|
|
@@ -1822,12 +2073,12 @@ function ht(e) {
|
|
|
1822
2073
|
}
|
|
1823
2074
|
return e.idsDuplicados ? { incremental: !1, motivo: "ids-duplicados" } : { incremental: !0 };
|
|
1824
2075
|
}
|
|
1825
|
-
function
|
|
2076
|
+
function ha(e, t = /* @__PURE__ */ new Map()) {
|
|
1826
2077
|
for (const a of e)
|
|
1827
|
-
t.set(a.camada.id, a),
|
|
2078
|
+
t.set(a.camada.id, a), ha(a.subcamadas, t);
|
|
1828
2079
|
return t;
|
|
1829
2080
|
}
|
|
1830
|
-
function
|
|
2081
|
+
function zt(e) {
|
|
1831
2082
|
const t = /* @__PURE__ */ new Map();
|
|
1832
2083
|
for (let a = 0; a < e.length; a++) {
|
|
1833
2084
|
const r = e[a];
|
|
@@ -1837,23 +2088,24 @@ function yt(e) {
|
|
|
1837
2088
|
}
|
|
1838
2089
|
return t;
|
|
1839
2090
|
}
|
|
1840
|
-
function
|
|
2091
|
+
function J(e, t) {
|
|
1841
2092
|
for (let a = e.firstElementChild; a; a = a.nextElementSibling)
|
|
1842
2093
|
if (a.classList.contains(t)) return a;
|
|
1843
2094
|
return null;
|
|
1844
2095
|
}
|
|
1845
|
-
function
|
|
2096
|
+
function Bt(e) {
|
|
1846
2097
|
const t = /* @__PURE__ */ new Map(), a = (r) => {
|
|
1847
|
-
for (let i = r.firstElementChild; i
|
|
2098
|
+
for (let i = r.firstElementChild; i; i = i.nextElementSibling) {
|
|
2099
|
+
if (!i.classList.contains("ui-layer-group")) continue;
|
|
1848
2100
|
const o = i.getAttribute("data-layer-id");
|
|
1849
2101
|
o !== null && t.set(o, i);
|
|
1850
|
-
const n =
|
|
2102
|
+
const n = J(i, "ui-children-container");
|
|
1851
2103
|
n && a(n);
|
|
1852
2104
|
}
|
|
1853
2105
|
};
|
|
1854
2106
|
return a(e), t;
|
|
1855
2107
|
}
|
|
1856
|
-
function
|
|
2108
|
+
function qt(e) {
|
|
1857
2109
|
if (!e || e.length < 2) return !1;
|
|
1858
2110
|
const t = /* @__PURE__ */ new Set();
|
|
1859
2111
|
for (const a of e) {
|
|
@@ -1862,7 +2114,7 @@ function wt(e) {
|
|
|
1862
2114
|
}
|
|
1863
2115
|
return !1;
|
|
1864
2116
|
}
|
|
1865
|
-
function
|
|
2117
|
+
function Dt(e, t) {
|
|
1866
2118
|
var i;
|
|
1867
2119
|
const a = new Map(t.map((o) => [o.id, o])), r = /* @__PURE__ */ new Set();
|
|
1868
2120
|
for (const o of e) {
|
|
@@ -1872,142 +2124,145 @@ function At(e, t) {
|
|
|
1872
2124
|
}
|
|
1873
2125
|
return r;
|
|
1874
2126
|
}
|
|
1875
|
-
function
|
|
2127
|
+
function de(e) {
|
|
1876
2128
|
const t = document.createElement("template");
|
|
1877
2129
|
return t.innerHTML = e, { modelo: t, elementos: Array.from(t.content.children) };
|
|
1878
2130
|
}
|
|
1879
|
-
function
|
|
2131
|
+
function ue(e) {
|
|
1880
2132
|
var a;
|
|
1881
2133
|
const t = e.nextSibling;
|
|
1882
2134
|
t && t.nodeType === 3 && !(t.textContent ?? "").trim() && ((a = t.parentNode) == null || a.removeChild(t)), e.remove();
|
|
1883
2135
|
}
|
|
1884
|
-
function
|
|
2136
|
+
function Tt(e, t) {
|
|
1885
2137
|
if (!e || !t.contains(e)) return null;
|
|
1886
2138
|
const a = Array.from(e.attributes).find((r) => r.name.startsWith("data-") && r.value !== "");
|
|
1887
2139
|
return a ? { nome: a.name, valor: a.value } : null;
|
|
1888
2140
|
}
|
|
1889
|
-
function
|
|
1890
|
-
|
|
2141
|
+
function Ot(e, t) {
|
|
2142
|
+
var F, B;
|
|
2143
|
+
const { host: a, shadow: r, mudanca: i } = e;
|
|
2144
|
+
if ((B = (F = a.ordemFilhosPorPai) == null ? void 0 : F.get(t)) != null && B.length) return !1;
|
|
2145
|
+
const o = e.grupos.get(t), n = e.nodos.get(t), s = o ? J(o, "ui-children-container") : null;
|
|
1891
2146
|
if (!o || !n || !s) return !1;
|
|
1892
|
-
const c = n.camada, l = e.porCamada.get(t) ?? [],
|
|
2147
|
+
const c = n.camada, l = e.porCamada.get(t) ?? [], u = a.expandedFeatureLimits.get(t) ?? Se, p = l.slice(0, u), d = new Set(p.map((E) => E.id)), f = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map(), h = r.activeElement;
|
|
1893
2148
|
let v = null;
|
|
1894
|
-
for (let
|
|
1895
|
-
|
|
1896
|
-
const
|
|
1897
|
-
if (
|
|
1898
|
-
!v && !
|
|
2149
|
+
for (let E = s.firstElementChild, z; E; E = z) {
|
|
2150
|
+
z = E.nextElementSibling;
|
|
2151
|
+
const x = E.getAttribute("data-feat-row");
|
|
2152
|
+
if (x === null) {
|
|
2153
|
+
!v && !E.classList.contains("ui-layer-group") && (v = E);
|
|
1899
2154
|
continue;
|
|
1900
2155
|
}
|
|
1901
|
-
const
|
|
1902
|
-
!
|
|
1903
|
-
}
|
|
1904
|
-
const
|
|
1905
|
-
let
|
|
1906
|
-
if (
|
|
1907
|
-
const
|
|
1908
|
-
(
|
|
1909
|
-
).join(""), { modelo:
|
|
1910
|
-
if (
|
|
1911
|
-
e.ligar(
|
|
1912
|
-
}
|
|
1913
|
-
let
|
|
2156
|
+
const y = i.idsAlterados.has(x) && d.has(x) && !f.has(x);
|
|
2157
|
+
!d.has(x) || f.has(x) || y ? (y && m.set(x, { tabindex: E.getAttribute("tabindex"), foco: Tt(h, E) }), ue(E)) : (f.set(x, E), v || (v = E));
|
|
2158
|
+
}
|
|
2159
|
+
const g = aa(c, n.depth, e.herdado.get(t)), w = p.filter((E) => !f.has(E.id));
|
|
2160
|
+
let k = [];
|
|
2161
|
+
if (w.length > 0) {
|
|
2162
|
+
const E = w.map(
|
|
2163
|
+
(y) => sa(y, g, a.selectedFeatureIds.has(y.id), a.editingFeatureId === y.id)
|
|
2164
|
+
).join(""), { modelo: z, elementos: x } = de(E);
|
|
2165
|
+
if (x.length !== w.length) return !1;
|
|
2166
|
+
e.ligar(z.content), k = x;
|
|
2167
|
+
}
|
|
2168
|
+
let L = v, A = 0;
|
|
1914
2169
|
const S = /* @__PURE__ */ new Map();
|
|
1915
|
-
for (const
|
|
1916
|
-
const
|
|
1917
|
-
if (
|
|
1918
|
-
|
|
2170
|
+
for (const E of p) {
|
|
2171
|
+
const z = f.get(E.id);
|
|
2172
|
+
if (z)
|
|
2173
|
+
z === L ? L = z.nextElementSibling : s.insertBefore(z, L);
|
|
1919
2174
|
else {
|
|
1920
|
-
const
|
|
1921
|
-
s.insertBefore(
|
|
2175
|
+
const x = k[A++];
|
|
2176
|
+
s.insertBefore(x, L), S.set(E.id, x);
|
|
1922
2177
|
}
|
|
1923
2178
|
}
|
|
1924
|
-
return m.forEach((
|
|
1925
|
-
const
|
|
1926
|
-
if (!
|
|
1927
|
-
const
|
|
1928
|
-
(
|
|
2179
|
+
return m.forEach((E, z) => {
|
|
2180
|
+
const x = S.get(z);
|
|
2181
|
+
if (!x || (E.tabindex !== null && x.setAttribute("tabindex", E.tabindex), !E.foco)) return;
|
|
2182
|
+
const y = x.getAttribute(E.foco.nome) === E.foco.valor ? x : Array.from(x.querySelectorAll(`[${E.foco.nome}]`)).find(
|
|
2183
|
+
(P) => P.getAttribute(E.foco.nome) === E.foco.valor
|
|
1929
2184
|
);
|
|
1930
|
-
|
|
1931
|
-
}),
|
|
2185
|
+
y == null || y.focus({ preventScroll: !0 });
|
|
2186
|
+
}), Rt(e, s, n, u, l.length);
|
|
1932
2187
|
}
|
|
1933
|
-
function
|
|
1934
|
-
const o =
|
|
1935
|
-
if (
|
|
2188
|
+
function Rt(e, t, a, r, i) {
|
|
2189
|
+
const o = M(a.camada.id), n = !!(a.camada.isGroup || a.subcamadas.length > 0), s = i > r, c = a.subcamadas.length === 0 && i === 0, l = J(t, "ui-truncate-notice"), u = J(t, "ui-empty-row");
|
|
2190
|
+
if (u && !c && ue(u), l && !s && ue(l), s)
|
|
1936
2191
|
if (l) {
|
|
1937
|
-
const
|
|
1938
|
-
if (!
|
|
1939
|
-
|
|
2192
|
+
const p = ia(r, i), d = l.querySelector("span"), f = l.querySelector(".ui-truncate-more-btn");
|
|
2193
|
+
if (!d || !f) return !1;
|
|
2194
|
+
d.textContent !== p.resumo && (d.textContent = p.resumo), f.textContent !== p.botao && (f.textContent = p.botao);
|
|
1940
2195
|
} else {
|
|
1941
|
-
const { modelo:
|
|
1942
|
-
if (
|
|
1943
|
-
e.ligar(
|
|
2196
|
+
const { modelo: p, elementos: d } = de(oa(o, r, i));
|
|
2197
|
+
if (d.length !== 1) return !1;
|
|
2198
|
+
e.ligar(p.content), t.appendChild(d[0]);
|
|
1944
2199
|
}
|
|
1945
|
-
if (c && !
|
|
1946
|
-
const { elementos:
|
|
1947
|
-
if (
|
|
1948
|
-
t.appendChild(
|
|
2200
|
+
if (c && !u) {
|
|
2201
|
+
const { elementos: p } = de(na(n));
|
|
2202
|
+
if (p.length !== 1) return !1;
|
|
2203
|
+
t.appendChild(p[0]);
|
|
1949
2204
|
}
|
|
1950
2205
|
return !0;
|
|
1951
2206
|
}
|
|
1952
|
-
function
|
|
1953
|
-
const a = e.grupos.get(t), r = e.nodos.get(t), i = a ?
|
|
2207
|
+
function jt(e, t) {
|
|
2208
|
+
const a = e.grupos.get(t), r = e.nodos.get(t), i = a ? J(a, "ui-layer-row") : null, o = i == null ? void 0 : i.querySelector(".ui-col-name");
|
|
1954
2209
|
if (!a || !r || !i || !o) return !1;
|
|
1955
|
-
const { host: n } = e, s =
|
|
1956
|
-
if (
|
|
1957
|
-
if (s.length === 0 &&
|
|
1958
|
-
|
|
2210
|
+
const { host: n } = e, s = ae(n.camadas, n.feicoes, t), c = (e.porCamada.get(t) ?? []).length, l = r.subcamadas.length, u = !!(r.camada.isGroup || l > 0), p = o.querySelector(".ui-count-chip");
|
|
2211
|
+
if (p)
|
|
2212
|
+
if (s.length === 0 && u)
|
|
2213
|
+
ue(p);
|
|
1959
2214
|
else {
|
|
1960
|
-
const
|
|
1961
|
-
|
|
2215
|
+
const d = String(s.length), f = ta(s.length, c, l);
|
|
2216
|
+
p.textContent !== d && (p.textContent = d), p.getAttribute("title") !== f && p.setAttribute("title", f);
|
|
1962
2217
|
}
|
|
1963
2218
|
else {
|
|
1964
|
-
const
|
|
1965
|
-
if (
|
|
1966
|
-
const { elementos: f } =
|
|
2219
|
+
const d = ra(s.length, c, l, u);
|
|
2220
|
+
if (d) {
|
|
2221
|
+
const { elementos: f } = de(d);
|
|
1967
2222
|
if (f.length !== 1) return !1;
|
|
1968
2223
|
o.appendChild(f[0]);
|
|
1969
2224
|
}
|
|
1970
2225
|
}
|
|
1971
|
-
return
|
|
2226
|
+
return ua(i.querySelector(".ui-target-circle"), s, n.selectedFeatureIds), !0;
|
|
1972
2227
|
}
|
|
1973
|
-
function
|
|
1974
|
-
const i = t.getElementById("ui-layer-tree-mount"), o =
|
|
1975
|
-
existeNoModelo: o.has(
|
|
1976
|
-
renderizadaNoDom: n.has(
|
|
1977
|
-
drawerAberto: e.activeSettingsLayerId ===
|
|
2228
|
+
function Nt(e, t, a, r) {
|
|
2229
|
+
const i = t.getElementById("ui-layer-tree-mount"), o = ha(pe(e.camadas)), n = i ? Bt(i) : /* @__PURE__ */ new Map(), s = zt(e.feicoes), c = a.camadas === "todas" ? Array.from(o.keys()) : Array.from(a.camadas), l = c.map((d) => ({
|
|
2230
|
+
existeNoModelo: o.has(d),
|
|
2231
|
+
renderizadaNoDom: n.has(d),
|
|
2232
|
+
drawerAberto: e.activeSettingsLayerId === d
|
|
1978
2233
|
}));
|
|
1979
|
-
if (!
|
|
2234
|
+
if (!Pt({
|
|
1980
2235
|
arvoreRenderizada: i !== null,
|
|
1981
2236
|
buscaAtiva: (e.searchQuery || "").trim() !== "",
|
|
1982
2237
|
editandoCamada: e.editingLayerId !== null,
|
|
1983
2238
|
editandoFeicao: e.editingFeatureId !== null,
|
|
1984
|
-
idsDuplicados: c.some((
|
|
2239
|
+
idsDuplicados: c.some((d) => qt(s.get(d))),
|
|
1985
2240
|
camadasAfetadas: l
|
|
1986
2241
|
}).incremental) return !1;
|
|
1987
|
-
const
|
|
2242
|
+
const p = {
|
|
1988
2243
|
host: e,
|
|
1989
2244
|
shadow: t,
|
|
1990
2245
|
mudanca: a,
|
|
1991
2246
|
porCamada: s,
|
|
1992
2247
|
nodos: o,
|
|
1993
2248
|
grupos: n,
|
|
1994
|
-
herdado:
|
|
2249
|
+
herdado: fe(e.camadas),
|
|
1995
2250
|
ligar: r
|
|
1996
2251
|
};
|
|
1997
|
-
for (const
|
|
1998
|
-
if (!
|
|
1999
|
-
for (const
|
|
2000
|
-
if (!
|
|
2001
|
-
return (a.selecaoAfetada || e.selectedFeatureIds.size > 0) &&
|
|
2252
|
+
for (const d of c)
|
|
2253
|
+
if (!Ot(p, d)) return !1;
|
|
2254
|
+
for (const d of Dt(c, e.camadas))
|
|
2255
|
+
if (!jt(p, d)) return !1;
|
|
2256
|
+
return (a.selecaoAfetada || e.selectedFeatureIds.size > 0) && pa(e, t), !0;
|
|
2002
2257
|
}
|
|
2003
|
-
function
|
|
2258
|
+
function Ht(e) {
|
|
2004
2259
|
if (!e.isConnected) return;
|
|
2005
2260
|
const t = document.createElement("div");
|
|
2006
|
-
t.className = "ui-basemap-preview-none", t.innerHTML =
|
|
2261
|
+
t.className = "ui-basemap-preview-none", t.innerHTML = b.gradeCad, e.replaceWith(t);
|
|
2007
2262
|
}
|
|
2008
|
-
function
|
|
2009
|
-
var
|
|
2010
|
-
const i =
|
|
2263
|
+
function Gt(e, t, a, r) {
|
|
2264
|
+
var h, v;
|
|
2265
|
+
const i = ot({
|
|
2011
2266
|
camadas: e.camadas,
|
|
2012
2267
|
feicoes: e.feicoes,
|
|
2013
2268
|
camadaAtivaId: e.camadaAtivaId,
|
|
@@ -2020,50 +2275,51 @@ function $t(e, t, a, r) {
|
|
|
2020
2275
|
titulo: e.titulo,
|
|
2021
2276
|
mostrarBusca: e.mostrarBusca,
|
|
2022
2277
|
limitesPorCamada: e.expandedFeatureLimits,
|
|
2023
|
-
mostrarBotaoColapsar: e.flutuante && e.getAttribute("colapsavel") !== "false"
|
|
2024
|
-
|
|
2278
|
+
mostrarBotaoColapsar: e.flutuante && e.getAttribute("colapsavel") !== "false",
|
|
2279
|
+
ordemFilhosPorPai: e.ordemFilhosPorPai
|
|
2280
|
+
}), o = e.mostrarMapasBase ? Va(e.mapasBase, e.mapaBaseAtivo, e.mapasBaseRecolhido) : "", n = e.mostrarRodape ? Ya(e.camadas, e.feicoes, e.selectedFeatureIds) : "", s = t.getElementById("ui-layer-tree-mount"), c = a.scrollTop, l = s ? s.scrollTop : 0, u = t.activeElement, p = u && a.contains(u) ? u.id : "", d = u && !p && a.contains(u) ? Array.from(u.attributes).find((g) => g.name.startsWith("data-") && g.value !== "") : void 0, f = u && "selectionStart" in u ? u.selectionStart : null;
|
|
2025
2281
|
a.innerHTML = `
|
|
2026
2282
|
${i}
|
|
2027
2283
|
${n}
|
|
2028
2284
|
${o}
|
|
2029
2285
|
`, a.scrollTop = c;
|
|
2030
2286
|
const m = t.getElementById("ui-layer-tree-mount");
|
|
2031
|
-
if (m && (m.scrollTop = l),
|
|
2032
|
-
const
|
|
2033
|
-
if (
|
|
2287
|
+
if (m && (m.scrollTop = l), p) {
|
|
2288
|
+
const g = t.getElementById(p);
|
|
2289
|
+
if (g && (g.focus({ preventScroll: !0 }), f !== null && typeof g.setSelectionRange == "function"))
|
|
2034
2290
|
try {
|
|
2035
|
-
|
|
2291
|
+
g.setSelectionRange(f, f);
|
|
2036
2292
|
} catch {
|
|
2037
2293
|
}
|
|
2038
2294
|
}
|
|
2039
|
-
!
|
|
2040
|
-
const
|
|
2041
|
-
|
|
2042
|
-
}),
|
|
2295
|
+
!p && d && ((h = D(a, d.name, d.value)) == null || h.focus({ preventScroll: !0 })), (v = t.querySelector("[data-layer-row], [data-feat-row]")) == null || v.setAttribute("tabindex", "0"), a.querySelectorAll("img[data-basemap-thumb]").forEach((g) => {
|
|
2296
|
+
const w = () => Ht(g);
|
|
2297
|
+
g.addEventListener("error", w, { once: !0 }), g.complete && g.naturalWidth === 0 && g.getAttribute("src") && w();
|
|
2298
|
+
}), Mt(e, t), r.bindAll();
|
|
2043
2299
|
}
|
|
2044
|
-
function
|
|
2300
|
+
function Vt(e, t, a, r) {
|
|
2045
2301
|
try {
|
|
2046
|
-
return
|
|
2047
|
-
|
|
2302
|
+
return Nt(e, t, r, (i) => {
|
|
2303
|
+
ga(e, i), fa(e, i), ma(e, t, i), a.bindLinhasFeicao(i);
|
|
2048
2304
|
});
|
|
2049
2305
|
} catch (i) {
|
|
2050
2306
|
return console.warn("[UI-Camadas] atualização incremental falhou; redesenhando o painel.", i), !1;
|
|
2051
2307
|
}
|
|
2052
2308
|
}
|
|
2053
|
-
const
|
|
2054
|
-
function
|
|
2055
|
-
return !e || !(e instanceof Element) || e instanceof HTMLInputElement &&
|
|
2309
|
+
const _t = '[role="button"][tabindex]', Z = "[data-layer-row], [data-feat-row]", Yt = ["color", "range", "checkbox", "radio", "button"];
|
|
2310
|
+
function va(e) {
|
|
2311
|
+
return !e || !(e instanceof Element) || e instanceof HTMLInputElement && Yt.includes(e.type) ? !1 : Ra({ composedPath: () => [e] });
|
|
2056
2312
|
}
|
|
2057
|
-
function
|
|
2058
|
-
return Array.from(e.querySelectorAll(
|
|
2313
|
+
function Ut(e) {
|
|
2314
|
+
return Array.from(e.querySelectorAll(Z)).filter((t) => {
|
|
2059
2315
|
const a = t.closest(".ui-children-container");
|
|
2060
2316
|
return !(a && a.style.display === "none") && !t.classList.contains("ui-search-hidden");
|
|
2061
2317
|
});
|
|
2062
2318
|
}
|
|
2063
|
-
function
|
|
2064
|
-
t && (e.querySelectorAll(
|
|
2319
|
+
function V(e, t) {
|
|
2320
|
+
t && (e.querySelectorAll(Z).forEach((a) => a.setAttribute("tabindex", "-1")), t.setAttribute("tabindex", "0"), t.focus());
|
|
2065
2321
|
}
|
|
2066
|
-
function
|
|
2322
|
+
function Kt(e, t) {
|
|
2067
2323
|
e.dispatchEvent(
|
|
2068
2324
|
new MouseEvent("click", {
|
|
2069
2325
|
bubbles: !0,
|
|
@@ -2072,9 +2328,9 @@ function qt(e, t) {
|
|
|
2072
2328
|
})
|
|
2073
2329
|
);
|
|
2074
2330
|
}
|
|
2075
|
-
function
|
|
2331
|
+
function Qt(e, t, a) {
|
|
2076
2332
|
var i;
|
|
2077
|
-
if (
|
|
2333
|
+
if (va(a.composedPath()[0])) return;
|
|
2078
2334
|
const r = t.querySelector(".confirming");
|
|
2079
2335
|
if (r) {
|
|
2080
2336
|
a.preventDefault(), r.dispatchEvent(new Event("ui-cancelar-confirmacao")), r.classList.remove("confirming");
|
|
@@ -2083,30 +2339,30 @@ function Pt(e, t, a) {
|
|
|
2083
2339
|
if (e.activeSettingsLayerId) {
|
|
2084
2340
|
a.preventDefault();
|
|
2085
2341
|
const o = e.activeSettingsLayerId;
|
|
2086
|
-
e.activeSettingsLayerId = null, e.solicitarRenderizacao(), (i =
|
|
2342
|
+
e.activeSettingsLayerId = null, e.solicitarRenderizacao(), (i = D(t, "data-layer-settings", o)) == null || i.focus();
|
|
2087
2343
|
return;
|
|
2088
2344
|
}
|
|
2089
2345
|
e.selectedFeatureIds.size > 0 && (a.preventDefault(), e.limparSelecao(!0));
|
|
2090
2346
|
}
|
|
2091
|
-
function
|
|
2347
|
+
function Xt(e, t, a, r) {
|
|
2092
2348
|
var s, c, l;
|
|
2093
2349
|
const i = r.composedPath()[0];
|
|
2094
|
-
if (!(i instanceof HTMLElement) ||
|
|
2095
|
-
if ((r.key === "Enter" || r.key === " ") && i.matches(
|
|
2350
|
+
if (!(i instanceof HTMLElement) || va(i)) return;
|
|
2351
|
+
if ((r.key === "Enter" || r.key === " ") && i.matches(_t)) {
|
|
2096
2352
|
r.preventDefault(), i.click();
|
|
2097
2353
|
return;
|
|
2098
2354
|
}
|
|
2099
|
-
if (!i.matches(
|
|
2100
|
-
const o =
|
|
2355
|
+
if (!i.matches(Z)) return;
|
|
2356
|
+
const o = Ut(t), n = o.indexOf(i);
|
|
2101
2357
|
if (r.key === "F2") {
|
|
2102
2358
|
r.preventDefault();
|
|
2103
|
-
const
|
|
2104
|
-
|
|
2359
|
+
const u = i.getAttribute("data-layer-row"), p = i.getAttribute("data-feat-row"), d = u ? D(i, "data-layer-name-trigger", u) : p ? D(i, "data-feat-name-trigger", p) : null;
|
|
2360
|
+
d && d.dispatchEvent(new MouseEvent("dblclick", { bubbles: !0 }));
|
|
2105
2361
|
return;
|
|
2106
2362
|
}
|
|
2107
2363
|
if ((r.ctrlKey || r.metaKey) && (r.key === "a" || r.key === "A")) {
|
|
2108
2364
|
r.preventDefault();
|
|
2109
|
-
const
|
|
2365
|
+
const u = ca(
|
|
2110
2366
|
e.camadas,
|
|
2111
2367
|
e.feicoes,
|
|
2112
2368
|
e.expandedLayers,
|
|
@@ -2114,75 +2370,75 @@ function Dt(e, t, a, r) {
|
|
|
2114
2370
|
void 0,
|
|
2115
2371
|
e.expandedFeatureLimits
|
|
2116
2372
|
);
|
|
2117
|
-
|
|
2373
|
+
u.length > 0 && e.selecionarFeicoes(u, !0);
|
|
2118
2374
|
return;
|
|
2119
2375
|
}
|
|
2120
2376
|
if (r.key === "Delete") {
|
|
2121
|
-
const
|
|
2122
|
-
if (
|
|
2123
|
-
r.preventDefault(),
|
|
2377
|
+
const u = a.getElementById("btn-footer-del");
|
|
2378
|
+
if (u && !u.hasAttribute("disabled") && e.selectedFeatureIds.size > 0) {
|
|
2379
|
+
r.preventDefault(), u.click();
|
|
2124
2380
|
return;
|
|
2125
2381
|
}
|
|
2126
2382
|
}
|
|
2127
2383
|
switch (r.key) {
|
|
2128
2384
|
case "ArrowDown":
|
|
2129
|
-
r.preventDefault(),
|
|
2385
|
+
r.preventDefault(), V(t, o[Math.min(o.length - 1, n + 1)]);
|
|
2130
2386
|
break;
|
|
2131
2387
|
case "ArrowUp":
|
|
2132
|
-
r.preventDefault(),
|
|
2388
|
+
r.preventDefault(), V(t, o[Math.max(0, n - 1)]);
|
|
2133
2389
|
break;
|
|
2134
2390
|
case "Home":
|
|
2135
|
-
r.preventDefault(),
|
|
2391
|
+
r.preventDefault(), V(t, o[0]);
|
|
2136
2392
|
break;
|
|
2137
2393
|
case "End":
|
|
2138
|
-
r.preventDefault(),
|
|
2394
|
+
r.preventDefault(), V(t, o[o.length - 1]);
|
|
2139
2395
|
break;
|
|
2140
2396
|
case "ArrowRight": {
|
|
2141
|
-
const
|
|
2142
|
-
if (!
|
|
2143
|
-
const
|
|
2144
|
-
(
|
|
2397
|
+
const u = i.getAttribute("data-layer-row");
|
|
2398
|
+
if (!u) return;
|
|
2399
|
+
const p = i.closest(".ui-layer-group");
|
|
2400
|
+
(p == null ? void 0 : p.getAttribute("aria-expanded")) === "true" ? n + 1 < o.length && (p != null && p.contains(o[n + 1])) && (r.preventDefault(), V(t, o[n + 1])) : (r.preventDefault(), (s = D(a, "data-layer-expand", u)) == null || s.click());
|
|
2145
2401
|
break;
|
|
2146
2402
|
}
|
|
2147
2403
|
case "ArrowLeft": {
|
|
2148
|
-
const
|
|
2149
|
-
if (
|
|
2404
|
+
const u = i.getAttribute("data-layer-row");
|
|
2405
|
+
if (u) {
|
|
2150
2406
|
const f = i.closest(".ui-layer-group");
|
|
2151
2407
|
if ((f == null ? void 0 : f.getAttribute("aria-expanded")) === "true")
|
|
2152
|
-
r.preventDefault(), (c =
|
|
2408
|
+
r.preventDefault(), (c = D(a, "data-layer-expand", u)) == null || c.click();
|
|
2153
2409
|
else {
|
|
2154
|
-
const
|
|
2155
|
-
|
|
2410
|
+
const h = (l = f == null ? void 0 : f.parentElement) == null ? void 0 : l.closest(".ui-layer-group"), v = h == null ? void 0 : h.getAttribute("data-layer-id"), g = v ? D(t, "data-layer-row", v) : null;
|
|
2411
|
+
g && (r.preventDefault(), V(t, g));
|
|
2156
2412
|
}
|
|
2157
2413
|
return;
|
|
2158
2414
|
}
|
|
2159
|
-
const
|
|
2160
|
-
|
|
2415
|
+
const p = i.getAttribute("data-feat-layer"), d = p ? D(t, "data-layer-row", p) : null;
|
|
2416
|
+
d && (r.preventDefault(), V(t, d));
|
|
2161
2417
|
break;
|
|
2162
2418
|
}
|
|
2163
2419
|
case "Enter":
|
|
2164
2420
|
case " ":
|
|
2165
|
-
r.preventDefault(),
|
|
2421
|
+
r.preventDefault(), Kt(i, r);
|
|
2166
2422
|
break;
|
|
2167
2423
|
}
|
|
2168
2424
|
}
|
|
2169
|
-
function
|
|
2425
|
+
function Wt(e, t, a, r, i) {
|
|
2170
2426
|
i.add(t, "keydown", (o) => {
|
|
2171
|
-
o.key === "Escape" &&
|
|
2172
|
-
}), i.add(r, "keydown", (o) =>
|
|
2427
|
+
o.key === "Escape" && Qt(e, a, o);
|
|
2428
|
+
}), i.add(r, "keydown", (o) => Xt(e, r, a, o)), i.add(r, "focusin", (o) => {
|
|
2173
2429
|
const n = o.composedPath()[0];
|
|
2174
|
-
n instanceof HTMLElement && n.matches(
|
|
2430
|
+
n instanceof HTMLElement && n.matches(Z) && (r.querySelectorAll(Z).forEach((s) => s.setAttribute("tabindex", "-1")), n.setAttribute("tabindex", "0"));
|
|
2175
2431
|
});
|
|
2176
2432
|
}
|
|
2177
|
-
function
|
|
2178
|
-
const o =
|
|
2433
|
+
function Jt(e, t, a, r, i) {
|
|
2434
|
+
const o = ca(
|
|
2179
2435
|
e.camadas,
|
|
2180
2436
|
e.feicoes,
|
|
2181
2437
|
e.expandedLayers,
|
|
2182
2438
|
e.searchQuery,
|
|
2183
2439
|
void 0,
|
|
2184
2440
|
e.expandedFeatureLimits
|
|
2185
|
-
), n = !r && !o.includes(t) && e.feicoes.some((c) => c.id === t), s =
|
|
2441
|
+
), n = !r && !o.includes(t) && e.feicoes.some((c) => c.id === t), s = Xa(
|
|
2186
2442
|
n ? [...o, t] : o,
|
|
2187
2443
|
e.selectedFeatureIds,
|
|
2188
2444
|
e.lastClickedFeatureId,
|
|
@@ -2192,33 +2448,33 @@ function Rt(e, t, a, r, i) {
|
|
|
2192
2448
|
);
|
|
2193
2449
|
s && (e.selectedFeatureIds = s.selecionados, e.lastClickedFeatureId = s.ultimoClicadoId, e.sincronizarSelecaoDOM(), i && e.notificarMudancaSelecao());
|
|
2194
2450
|
}
|
|
2195
|
-
function
|
|
2451
|
+
function Zt(e, t, a) {
|
|
2196
2452
|
const r = t || [];
|
|
2197
2453
|
r.length === e.selectedFeatureIds.size && r.every((n) => e.selectedFeatureIds.has(n)) || (e.selectedFeatureIds.clear(), r.forEach((n) => e.selectedFeatureIds.add(n)), e.lastClickedFeatureId = r.length > 0 ? r[r.length - 1] : null, e.sincronizarSelecaoDOM(), a && e.notificarMudancaSelecao());
|
|
2198
2454
|
}
|
|
2199
|
-
function
|
|
2455
|
+
function er(e, t) {
|
|
2200
2456
|
e.selectedFeatureIds.size !== 0 && (e.selectedFeatureIds.clear(), e.lastClickedFeatureId = null, e.sincronizarSelecaoDOM(), t && e.notificarMudancaSelecao());
|
|
2201
2457
|
}
|
|
2202
|
-
function
|
|
2458
|
+
function ar(e) {
|
|
2203
2459
|
const t = e.feicoes.filter((a) => e.selectedFeatureIds.has(a.id));
|
|
2204
2460
|
e.dispararEvento("ui-feicoes-selecionadas", {
|
|
2205
2461
|
feicoesIds: Array.from(e.selectedFeatureIds),
|
|
2206
2462
|
feicoes: t
|
|
2207
2463
|
}), t.length === 1 ? e.dispararEvento("ui-feicao-selecionada", { feicaoId: t[0].id, feicao: t[0] }) : t.length === 0 && e.dispararEvento("ui-feicao-selecionada", { feicaoId: null, feicao: null });
|
|
2208
2464
|
}
|
|
2209
|
-
class
|
|
2465
|
+
class tr {
|
|
2210
2466
|
constructor(t) {
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2467
|
+
I(this, "origens", /* @__PURE__ */ new Map());
|
|
2468
|
+
I(this, "removidas", /* @__PURE__ */ new Set());
|
|
2469
|
+
I(this, "salvarComDebounce", Ke(() => this.salvar(), 200));
|
|
2214
2470
|
this.instantaneo = t;
|
|
2215
2471
|
}
|
|
2216
2472
|
chaveAtual() {
|
|
2217
2473
|
const t = this.instantaneo();
|
|
2218
|
-
return
|
|
2474
|
+
return dt(t.storageKey, t.id);
|
|
2219
2475
|
}
|
|
2220
2476
|
carregar() {
|
|
2221
|
-
return
|
|
2477
|
+
return ke(this.chaveAtual());
|
|
2222
2478
|
}
|
|
2223
2479
|
/** Versão com debounce, para interações contínuas (seletor de cor, slider de opacidade). */
|
|
2224
2480
|
agendar() {
|
|
@@ -2227,8 +2483,8 @@ class Ht {
|
|
|
2227
2483
|
salvar() {
|
|
2228
2484
|
const t = this.instantaneo();
|
|
2229
2485
|
if (!t.persistir || !t.conectado) return;
|
|
2230
|
-
const a = this.chaveAtual(), r =
|
|
2231
|
-
estadoAnterior:
|
|
2486
|
+
const a = this.chaveAtual(), r = gt({
|
|
2487
|
+
estadoAnterior: ke(a),
|
|
2232
2488
|
origensCamadas: this.origens,
|
|
2233
2489
|
camadas: t.camadas,
|
|
2234
2490
|
expandedLayers: t.expandedLayers,
|
|
@@ -2237,29 +2493,32 @@ class Ht {
|
|
|
2237
2493
|
mapaBaseAtivo: t.mapaBaseAtivo,
|
|
2238
2494
|
densidade: t.densidade,
|
|
2239
2495
|
altura: t.altura,
|
|
2240
|
-
camadasRemovidas: this.removidas
|
|
2496
|
+
camadasRemovidas: this.removidas,
|
|
2497
|
+
ordemFilhosPorPai: t.ordemFilhosPorPai
|
|
2241
2498
|
});
|
|
2242
|
-
this.removidas.clear(),
|
|
2499
|
+
this.removidas.clear(), pt(a, r);
|
|
2243
2500
|
}
|
|
2244
2501
|
limpar() {
|
|
2245
|
-
|
|
2502
|
+
ft(this.chaveAtual());
|
|
2246
2503
|
}
|
|
2247
2504
|
// --- Origens (como a camada chegou do consumidor) e remoções ---
|
|
2248
2505
|
limparOrigens() {
|
|
2249
2506
|
this.origens.clear();
|
|
2250
2507
|
}
|
|
2251
2508
|
registrarOrigem(t) {
|
|
2252
|
-
this.origens.set(t.id,
|
|
2509
|
+
this.origens.set(t.id, da(t));
|
|
2253
2510
|
}
|
|
2254
2511
|
esquecerCamada(t) {
|
|
2255
2512
|
this.origens.delete(t), this.removidas.add(t);
|
|
2256
2513
|
}
|
|
2257
2514
|
/** Aplica por cima de `camadas` o que foi lembrado (expansão, visibilidade, travas, opacidade, cor, ordem). */
|
|
2258
|
-
reidratar(t, a, r) {
|
|
2259
|
-
|
|
2515
|
+
reidratar(t, a, r, i) {
|
|
2516
|
+
if (mt(t, a, r, this.origens), i && (i.clear(), a != null && a.ordemFilhosPorPai))
|
|
2517
|
+
for (const [o, n] of Object.entries(a.ordemFilhosPorPai))
|
|
2518
|
+
Array.isArray(n) && n.length > 0 && i.set(o, [...n]);
|
|
2260
2519
|
}
|
|
2261
2520
|
}
|
|
2262
|
-
function
|
|
2521
|
+
function $e(e, t = null, a = /* @__PURE__ */ new Set()) {
|
|
2263
2522
|
const r = [];
|
|
2264
2523
|
if (!Array.isArray(e)) return r;
|
|
2265
2524
|
for (const i of e) {
|
|
@@ -2268,15 +2527,15 @@ function Ee(e, t = null, a = /* @__PURE__ */ new Set()) {
|
|
|
2268
2527
|
if (a.has(o)) continue;
|
|
2269
2528
|
a.add(o);
|
|
2270
2529
|
const n = { ...i, id: o };
|
|
2271
|
-
delete n.children, t && n.parentId === void 0 && (n.parentId = t), r.push(n), Array.isArray(i.children) && i.children.length > 0 && r.push(
|
|
2530
|
+
delete n.children, t && n.parentId === void 0 && (n.parentId = t), r.push(n), Array.isArray(i.children) && i.children.length > 0 && r.push(...$e(i.children, o, a));
|
|
2272
2531
|
}
|
|
2273
2532
|
return r;
|
|
2274
2533
|
}
|
|
2275
|
-
function
|
|
2534
|
+
function ba(e) {
|
|
2276
2535
|
const t = e.lastClickedFeatureId;
|
|
2277
2536
|
t && !e.feicoes.some((a) => a.id === t) && (e.lastClickedFeatureId = null);
|
|
2278
2537
|
}
|
|
2279
|
-
function
|
|
2538
|
+
function ya(e) {
|
|
2280
2539
|
if (!Array.isArray(e)) return [];
|
|
2281
2540
|
const t = /* @__PURE__ */ new Set(), a = [];
|
|
2282
2541
|
for (const r of e) {
|
|
@@ -2286,21 +2545,21 @@ function ua(e) {
|
|
|
2286
2545
|
}
|
|
2287
2546
|
return a;
|
|
2288
2547
|
}
|
|
2289
|
-
function
|
|
2290
|
-
if (e.camadas = Array.isArray(t) ?
|
|
2548
|
+
function rr(e, t, a) {
|
|
2549
|
+
if (e.camadas = Array.isArray(t) ? $e(t) : [], e.lembranca.limparOrigens(), e.persistir) {
|
|
2291
2550
|
const o = e.lembranca.carregar();
|
|
2292
|
-
e.lembranca.reidratar(e.camadas, o, e.expandedLayers), o != null && o.camadaAtivaId && e.camadas.some((n) => n.id === o.camadaAtivaId) && (e.camadaAtivaId = o.camadaAtivaId);
|
|
2551
|
+
e.lembranca.reidratar(e.camadas, o, e.expandedLayers, e.ordemFilhosPorPai), o != null && o.camadaAtivaId && e.camadas.some((n) => n.id === o.camadaAtivaId) && (e.camadaAtivaId = o.camadaAtivaId);
|
|
2293
2552
|
} else
|
|
2294
2553
|
e.camadas.forEach((o) => {
|
|
2295
2554
|
e.lembranca.registrarOrigem(o), e.expandedLayers.has(o.id) || e.expandedLayers.add(o.id);
|
|
2296
2555
|
});
|
|
2297
2556
|
if (Array.isArray(a)) {
|
|
2298
|
-
e.feicoes =
|
|
2557
|
+
e.feicoes = ya(a);
|
|
2299
2558
|
const o = new Set(e.camadas.map((s) => s.id)), n = e.feicoes.filter((s) => s.layerId && !o.has(s.layerId));
|
|
2300
2559
|
n.length > 0 && console.warn(
|
|
2301
2560
|
`[UI-Camadas] ${n.length} feição(ões) possuem 'layerId' não cadastrado nas camadas:`,
|
|
2302
2561
|
n.map((s) => ({ id: s.id, nome: s.name, layerId: s.layerId }))
|
|
2303
|
-
),
|
|
2562
|
+
), Fe(e.selectedFeatureIds, e.feicoes), ba(e);
|
|
2304
2563
|
}
|
|
2305
2564
|
const r = new Set(e.camadas.map((o) => o.id));
|
|
2306
2565
|
if (e.activeSettingsLayerId && !r.has(e.activeSettingsLayerId) && (e.activeSettingsLayerId = null), e.editingLayerId && !r.has(e.editingLayerId) && (e.editingLayerId = null), e.expandedFeatureLimits)
|
|
@@ -2309,32 +2568,32 @@ function Gt(e, t, a) {
|
|
|
2309
2568
|
const i = e.getAttribute("camada-ativa");
|
|
2310
2569
|
e.camadas.length > 0 && (!i || !r.has(i)) && (e.camadaAtivaId = e.camadas[0].id), e.salvarLembrancaEstado(), e.solicitarRenderizacao();
|
|
2311
2570
|
}
|
|
2312
|
-
function
|
|
2571
|
+
function ir(e, t) {
|
|
2313
2572
|
const a = new Map(e.map((i) => [i.id, i])), r = /* @__PURE__ */ new Set();
|
|
2314
2573
|
for (const i of t) {
|
|
2315
2574
|
const o = a.get(i.id);
|
|
2316
|
-
(!o || !
|
|
2575
|
+
(!o || !Qa(o, i)) && r.add(i.id);
|
|
2317
2576
|
}
|
|
2318
2577
|
return r;
|
|
2319
2578
|
}
|
|
2320
|
-
function
|
|
2579
|
+
function or(e, t) {
|
|
2321
2580
|
const a = e.feicoes;
|
|
2322
|
-
e.feicoes =
|
|
2581
|
+
e.feicoes = ya(t);
|
|
2323
2582
|
const r = e.selectedFeatureIds.size;
|
|
2324
|
-
|
|
2583
|
+
Fe(e.selectedFeatureIds, e.feicoes), ba(e), e.editingFeatureId && !e.feicoes.some((i) => i.id === e.editingFeatureId) && (e.editingFeatureId = null), e.solicitarAtualizacaoFeicoes({
|
|
2325
2584
|
camadas: "todas",
|
|
2326
|
-
idsAlterados:
|
|
2585
|
+
idsAlterados: ir(a, e.feicoes),
|
|
2327
2586
|
selecaoAfetada: e.selectedFeatureIds.size !== r
|
|
2328
2587
|
});
|
|
2329
2588
|
}
|
|
2330
|
-
function
|
|
2589
|
+
function nr(e, t) {
|
|
2331
2590
|
if (!t || !t.id) return;
|
|
2332
2591
|
if (e.camadas.some((r) => r.id === t.id)) {
|
|
2333
2592
|
console.warn(`[UI-Camadas] adicionarCamada ignorado: já existe uma camada com id '${t.id}'.`);
|
|
2334
2593
|
return;
|
|
2335
2594
|
}
|
|
2336
2595
|
const a = new Set(e.camadas.map((r) => r.id));
|
|
2337
|
-
for (const r of
|
|
2596
|
+
for (const r of $e([t])) {
|
|
2338
2597
|
if (a.has(r.id)) {
|
|
2339
2598
|
console.warn(`[UI-Camadas] adicionarCamada: subcamada '${r.id}' ignorada, o id já existe.`);
|
|
2340
2599
|
continue;
|
|
@@ -2343,13 +2602,14 @@ function Vt(e, t) {
|
|
|
2343
2602
|
}
|
|
2344
2603
|
e.salvarLembrancaEstado(), e.solicitarRenderizacao();
|
|
2345
2604
|
}
|
|
2346
|
-
function
|
|
2347
|
-
var
|
|
2348
|
-
e.camadas.
|
|
2349
|
-
|
|
2350
|
-
|
|
2605
|
+
function sr(e, t) {
|
|
2606
|
+
var r, i;
|
|
2607
|
+
const a = e.camadas.find((o) => o.id === t);
|
|
2608
|
+
e.camadas.forEach((o) => {
|
|
2609
|
+
o.parentId === t && (o.parentId = null);
|
|
2610
|
+
}), e.camadas = e.camadas.filter((o) => o.id !== t), e.feicoes = e.feicoes.filter((o) => o.layerId !== t), e.ordemFilhosPorPai && (e.ordemFilhosPorPai.delete(t), a != null && a.parentId && _(e.ordemFilhosPorPai, a.parentId, R(t))), e.lembranca.esquecerCamada(t), e.expandedLayers.delete(t), (r = e.expandedFeatureLimits) == null || r.delete(t), e.activeSettingsLayerId === t && (e.activeSettingsLayerId = null), e.editingLayerId === t && (e.editingLayerId = null), e.editingFeatureId && !e.feicoes.some((o) => o.id === e.editingFeatureId) && (e.editingFeatureId = null), Fe(e.selectedFeatureIds, e.feicoes), e.selectedFeatureIds.size === 0 && (e.lastClickedFeatureId = null), e.camadaAtivaId === t && (e.camadaAtivaId = ((i = e.camadas[0]) == null ? void 0 : i.id) ?? null), e.salvarLembrancaEstado(), e.solicitarRenderizacao();
|
|
2351
2611
|
}
|
|
2352
|
-
function
|
|
2612
|
+
function lr(e, t) {
|
|
2353
2613
|
if (!(!t || !t.id)) {
|
|
2354
2614
|
if (e.feicoes.some((a) => a.id === t.id)) {
|
|
2355
2615
|
console.warn(`[UI-Camadas] adicionarFeicao ignorado: já existe uma feição com id '${t.id}'.`);
|
|
@@ -2362,7 +2622,7 @@ function Kt(e, t) {
|
|
|
2362
2622
|
});
|
|
2363
2623
|
}
|
|
2364
2624
|
}
|
|
2365
|
-
function
|
|
2625
|
+
function cr(e, t) {
|
|
2366
2626
|
if (!t || typeof t != "object" || !t.id) return;
|
|
2367
2627
|
const a = e.feicoes.findIndex((r) => r.id === t.id);
|
|
2368
2628
|
if (a !== -1) {
|
|
@@ -2374,9 +2634,9 @@ function Qt(e, t) {
|
|
|
2374
2634
|
});
|
|
2375
2635
|
}
|
|
2376
2636
|
}
|
|
2377
|
-
function
|
|
2637
|
+
function dr(e, t) {
|
|
2378
2638
|
const a = e.feicoes.find((i) => i.id === t);
|
|
2379
|
-
e.feicoes = e.feicoes.filter((i) => i.id !== t);
|
|
2639
|
+
e.feicoes = e.feicoes.filter((i) => i.id !== t), a != null && a.layerId && e.ordemFilhosPorPai && _(e.ordemFilhosPorPai, a.layerId, O(t));
|
|
2380
2640
|
const r = e.selectedFeatureIds.delete(t);
|
|
2381
2641
|
e.lastClickedFeatureId === t && (e.lastClickedFeatureId = null), e.editingFeatureId === t && (e.editingFeatureId = null), e.solicitarAtualizacaoFeicoes({
|
|
2382
2642
|
camadas: new Set(a ? [a.layerId || ""] : []),
|
|
@@ -2384,16 +2644,16 @@ function Xt(e, t) {
|
|
|
2384
2644
|
selecaoAfetada: r
|
|
2385
2645
|
});
|
|
2386
2646
|
}
|
|
2387
|
-
function
|
|
2647
|
+
function ur(e) {
|
|
2388
2648
|
function r() {
|
|
2389
2649
|
return e.getMinAltura ? e.getMinAltura() : 140;
|
|
2390
2650
|
}
|
|
2391
2651
|
function i() {
|
|
2392
2652
|
return e.getMaxAltura ? e.getMaxAltura() : 1600;
|
|
2393
2653
|
}
|
|
2394
|
-
function o(l,
|
|
2654
|
+
function o(l, u = !1) {
|
|
2395
2655
|
if (l == null || l === "") {
|
|
2396
|
-
e.hostElement.style.removeProperty("height"), e.hostElement.style.removeProperty("--ui-camadas-altura"),
|
|
2656
|
+
e.hostElement.style.removeProperty("height"), e.hostElement.style.removeProperty("--ui-camadas-altura"), u && e.hostElement.dispatchEvent(
|
|
2397
2657
|
new CustomEvent("ui-redimensionar-altura", {
|
|
2398
2658
|
bubbles: !0,
|
|
2399
2659
|
composed: !0,
|
|
@@ -2402,64 +2662,64 @@ function Wt(e) {
|
|
|
2402
2662
|
);
|
|
2403
2663
|
return;
|
|
2404
2664
|
}
|
|
2405
|
-
const
|
|
2406
|
-
if (isNaN(
|
|
2407
|
-
const
|
|
2408
|
-
e.hostElement.style.height = `${
|
|
2665
|
+
const p = typeof l == "number" ? l : parseFloat(String(l));
|
|
2666
|
+
if (isNaN(p)) return;
|
|
2667
|
+
const d = Math.max(r(), Math.min(i(), Math.round(p)));
|
|
2668
|
+
e.hostElement.style.height = `${d}px`, e.hostElement.style.setProperty("--ui-camadas-altura", `${d}px`), u && e.hostElement.dispatchEvent(
|
|
2409
2669
|
new CustomEvent("ui-redimensionar-altura", {
|
|
2410
2670
|
bubbles: !0,
|
|
2411
2671
|
composed: !0,
|
|
2412
|
-
detail: { altura:
|
|
2672
|
+
detail: { altura: d }
|
|
2413
2673
|
})
|
|
2414
2674
|
);
|
|
2415
2675
|
}
|
|
2416
2676
|
let n = null;
|
|
2417
2677
|
function s() {
|
|
2418
2678
|
if (!e.resizerElement) return;
|
|
2419
|
-
let l = !1,
|
|
2420
|
-
const
|
|
2679
|
+
let l = !1, u = 0, p = 0;
|
|
2680
|
+
const d = (m) => {
|
|
2421
2681
|
if (m.button !== 0) return;
|
|
2422
|
-
m.preventDefault(), m.stopPropagation(), l = !0,
|
|
2682
|
+
m.preventDefault(), m.stopPropagation(), l = !0, u = m.clientY, p = e.hostElement.getBoundingClientRect().height, e.resizerElement.classList.add("ui-camadas-resizer--ativo"), e.hostElement.classList.add("ui-camadas--redimensionando");
|
|
2423
2683
|
try {
|
|
2424
2684
|
e.resizerElement.setPointerCapture(m.pointerId);
|
|
2425
2685
|
} catch {
|
|
2426
2686
|
}
|
|
2427
|
-
const
|
|
2687
|
+
const h = (w) => {
|
|
2428
2688
|
if (!l) return;
|
|
2429
|
-
|
|
2430
|
-
const
|
|
2431
|
-
e.hostElement.style.height = `${
|
|
2689
|
+
w.preventDefault();
|
|
2690
|
+
const k = w.clientY - u, L = Math.max(r(), Math.min(i(), Math.round(p + k)));
|
|
2691
|
+
e.hostElement.style.height = `${L}px`, e.hostElement.style.setProperty("--ui-camadas-altura", `${L}px`), e.onRedimensionando && e.onRedimensionando(L), e.hostElement.dispatchEvent(
|
|
2432
2692
|
new CustomEvent("ui-redimensionando-altura", {
|
|
2433
2693
|
bubbles: !0,
|
|
2434
2694
|
composed: !0,
|
|
2435
|
-
detail: { altura:
|
|
2695
|
+
detail: { altura: L }
|
|
2436
2696
|
})
|
|
2437
2697
|
);
|
|
2438
2698
|
}, v = () => {
|
|
2439
|
-
var
|
|
2440
|
-
l = !1, n = null, window.removeEventListener("pointermove",
|
|
2441
|
-
},
|
|
2699
|
+
var w;
|
|
2700
|
+
l = !1, n = null, window.removeEventListener("pointermove", h), window.removeEventListener("pointerup", g), window.removeEventListener("pointercancel", g), (w = e.resizerElement) == null || w.classList.remove("ui-camadas-resizer--ativo"), e.hostElement.classList.remove("ui-camadas--redimensionando");
|
|
2701
|
+
}, g = (w) => {
|
|
2442
2702
|
if (!l) return;
|
|
2443
2703
|
l = !1, e.resizerElement.classList.remove("ui-camadas-resizer--ativo"), e.hostElement.classList.remove("ui-camadas--redimensionando");
|
|
2444
2704
|
try {
|
|
2445
|
-
e.resizerElement.hasPointerCapture(
|
|
2705
|
+
e.resizerElement.hasPointerCapture(w.pointerId) && e.resizerElement.releasePointerCapture(w.pointerId);
|
|
2446
2706
|
} catch {
|
|
2447
2707
|
}
|
|
2448
|
-
window.removeEventListener("pointermove",
|
|
2449
|
-
const
|
|
2450
|
-
e.onAlturaAlterada && e.onAlturaAlterada(
|
|
2708
|
+
window.removeEventListener("pointermove", h), window.removeEventListener("pointerup", g), window.removeEventListener("pointercancel", g);
|
|
2709
|
+
const k = e.hostElement.getBoundingClientRect().height, L = Math.round(k);
|
|
2710
|
+
e.onAlturaAlterada && e.onAlturaAlterada(L), e.hostElement.dispatchEvent(
|
|
2451
2711
|
new CustomEvent("ui-redimensionar-altura", {
|
|
2452
2712
|
bubbles: !0,
|
|
2453
2713
|
composed: !0,
|
|
2454
|
-
detail: { altura:
|
|
2714
|
+
detail: { altura: L }
|
|
2455
2715
|
})
|
|
2456
2716
|
);
|
|
2457
2717
|
};
|
|
2458
|
-
n = v, window.addEventListener("pointermove",
|
|
2718
|
+
n = v, window.addEventListener("pointermove", h), window.addEventListener("pointerup", g), window.addEventListener("pointercancel", g);
|
|
2459
2719
|
}, f = (m) => {
|
|
2460
2720
|
m.preventDefault(), m.stopPropagation(), o(null, !0), e.onAlturaAlterada && e.onAlturaAlterada(null);
|
|
2461
2721
|
};
|
|
2462
|
-
e.listeners.add(e.resizerElement, "pointerdown",
|
|
2722
|
+
e.listeners.add(e.resizerElement, "pointerdown", d), e.listeners.add(e.resizerElement, "dblclick", f);
|
|
2463
2723
|
}
|
|
2464
2724
|
function c() {
|
|
2465
2725
|
n == null || n(), e.listeners.cleanup();
|
|
@@ -2470,21 +2730,21 @@ function Wt(e) {
|
|
|
2470
2730
|
destruir: c
|
|
2471
2731
|
};
|
|
2472
2732
|
}
|
|
2473
|
-
const
|
|
2733
|
+
const U = class U extends Ba {
|
|
2474
2734
|
constructor() {
|
|
2475
2735
|
super();
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2736
|
+
I(this, "shadow");
|
|
2737
|
+
I(this, "listeners", new Ta());
|
|
2738
|
+
I(this, "dragDropManager");
|
|
2739
|
+
I(this, "resizerController");
|
|
2740
|
+
I(this, "alturaCustomizada", null);
|
|
2741
|
+
I(this, "conectado", !1);
|
|
2742
|
+
I(this, "profundidadeLote", 0);
|
|
2743
|
+
I(this, "renderPendente", !1);
|
|
2484
2744
|
/** Mudança de feições à espera do `render()` (consumida nele): permite atualizar só as linhas afetadas. */
|
|
2485
|
-
|
|
2745
|
+
I(this, "mudancaFeicoes", null);
|
|
2486
2746
|
/** @internal */
|
|
2487
|
-
|
|
2747
|
+
I(this, "lembranca", new tr(() => ({
|
|
2488
2748
|
persistir: this.persistir,
|
|
2489
2749
|
conectado: this.conectado,
|
|
2490
2750
|
storageKey: this.storageKey,
|
|
@@ -2495,24 +2755,26 @@ const H = class H extends La {
|
|
|
2495
2755
|
painelColapsado: this.colapsado,
|
|
2496
2756
|
mapaBaseAtivo: this.mapaBaseAtivo,
|
|
2497
2757
|
densidade: this.densidade,
|
|
2498
|
-
altura: this.alturaCustomizada
|
|
2758
|
+
altura: this.alturaCustomizada,
|
|
2759
|
+
ordemFilhosPorPai: this.ordemFilhosPorPai
|
|
2499
2760
|
})));
|
|
2500
2761
|
// Estado interno
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2762
|
+
I(this, "camadas", []);
|
|
2763
|
+
I(this, "feicoes", []);
|
|
2764
|
+
I(this, "mapasBase", [...Qe]);
|
|
2765
|
+
I(this, "expandedLayers", /* @__PURE__ */ new Set());
|
|
2766
|
+
I(this, "expandedFeatureLimits", /* @__PURE__ */ new Map());
|
|
2767
|
+
I(this, "ordemFilhosPorPai", /* @__PURE__ */ new Map());
|
|
2768
|
+
I(this, "selectedFeatureIds", /* @__PURE__ */ new Set());
|
|
2769
|
+
I(this, "lastClickedFeatureId", null);
|
|
2770
|
+
I(this, "activeSettingsLayerId", null);
|
|
2771
|
+
I(this, "editingLayerId", null);
|
|
2772
|
+
I(this, "editingFeatureId", null);
|
|
2773
|
+
I(this, "searchQuery", "");
|
|
2774
|
+
I(this, "corpoElement");
|
|
2775
|
+
I(this, "btnExpandirFlutuante");
|
|
2514
2776
|
this.shadow = this.attachShadow({ mode: "open" }), this.shadow.innerHTML = `
|
|
2515
|
-
<style>${
|
|
2777
|
+
<style>${ht}</style>
|
|
2516
2778
|
<div class="ui-camadas-container" id="panel-container" part="base" role="region" aria-label="Painel de Camadas">
|
|
2517
2779
|
<div class="ui-camadas-corpo" id="painel-corpo" part="corpo"></div>
|
|
2518
2780
|
<div class="ui-camadas-resizer-altura" id="resizer-altura" part="resizer" title="Arraste para redimensionar a altura (duplo-clique para resetar)" aria-label="Redimensionar altura">
|
|
@@ -2520,11 +2782,11 @@ const H = class H extends La {
|
|
|
2520
2782
|
</div>
|
|
2521
2783
|
</div>
|
|
2522
2784
|
<button class="ui-camadas-toggle-flutuante" id="btn-expandir-flutuante" part="botao-expandir" title="Expandir Painel de Camadas" aria-label="Expandir Painel de Camadas">
|
|
2523
|
-
${
|
|
2785
|
+
${b.camadas}
|
|
2524
2786
|
</button>
|
|
2525
|
-
`, this.corpoElement = this.shadow.getElementById("painel-corpo"), this.btnExpandirFlutuante = this.shadow.getElementById("btn-expandir-flutuante"), this.dragDropManager = new
|
|
2787
|
+
`, this.corpoElement = this.shadow.getElementById("painel-corpo"), this.btnExpandirFlutuante = this.shadow.getElementById("btn-expandir-flutuante"), this.dragDropManager = new lt(this, this.shadow);
|
|
2526
2788
|
const a = this.shadow.getElementById("resizer-altura");
|
|
2527
|
-
this.resizerController =
|
|
2789
|
+
this.resizerController = ur({
|
|
2528
2790
|
hostElement: this,
|
|
2529
2791
|
resizerElement: a,
|
|
2530
2792
|
listeners: this.listeners,
|
|
@@ -2562,27 +2824,27 @@ const H = class H extends La {
|
|
|
2562
2824
|
"altura",
|
|
2563
2825
|
"min-altura",
|
|
2564
2826
|
"max-altura",
|
|
2565
|
-
...
|
|
2827
|
+
...qa
|
|
2566
2828
|
];
|
|
2567
2829
|
}
|
|
2568
2830
|
connectedCallback() {
|
|
2569
2831
|
if (this.persistir) {
|
|
2570
|
-
const a =
|
|
2832
|
+
const a = ke(this.obterChaveStorageAtual());
|
|
2571
2833
|
a && (a.painelColapsado === !0 && !this.hasAttribute("colapsado") && (this.colapsado = !0), a.camadaAtivaId && !this.getAttribute("camada-ativa") && (this.camadaAtivaId = a.camadaAtivaId), a.mapaBaseAtivo && !this.getAttribute("mapa-base-ativo") && (this.mapaBaseAtivo = a.mapaBaseAtivo), a.densidade && !this.getAttribute("densidade") && (this.densidade = a.densidade), typeof a.altura == "number" && !this.getAttribute("altura") && !this.style.height && (this.resizerController.definirAltura(a.altura, !1), this.alturaCustomizada = a.altura));
|
|
2572
2834
|
}
|
|
2573
|
-
this.hasAttribute("altura") && this.resizerController.definirAltura(this.getAttribute("altura"), !1), this.persistir && !this.storageKey && !this.id && (
|
|
2835
|
+
this.hasAttribute("altura") && this.resizerController.definirAltura(this.getAttribute("altura"), !1), this.persistir && !this.storageKey && !this.id && (U.instanciasChavePadrao.size > 0 && console.warn(
|
|
2574
2836
|
"[UI-Camadas] Mais de um painel sem 'id' nem 'storage-key' divide a mesma chave de persistência e um sobrescreve o estado do outro. Defina 'storage-key' (ou 'id') em cada um."
|
|
2575
|
-
),
|
|
2837
|
+
), U.instanciasChavePadrao.add(this)), this.resizerController.init(), qe(this, this.shadow.getElementById("panel-container")), this.render(), this.conectarEventosGerais(), Wt(this, this, this.shadow, this.corpoElement, this.listeners), this.conectado = !0, this.camadas.length > 0 && this.salvarLembrancaEstado();
|
|
2576
2838
|
}
|
|
2577
2839
|
disconnectedCallback() {
|
|
2578
2840
|
var a, r;
|
|
2579
|
-
this.conectado = !1,
|
|
2841
|
+
this.conectado = !1, U.instanciasChavePadrao.delete(this), (a = this.resizerController) == null || a.destruir(), (r = this.dragDropManager) == null || r.destruir(), Lt(this), this.listeners.cleanup();
|
|
2580
2842
|
}
|
|
2581
2843
|
attributeChangedCallback(a, r, i) {
|
|
2582
2844
|
var o, n;
|
|
2583
2845
|
if (r !== i) {
|
|
2584
|
-
if (
|
|
2585
|
-
|
|
2846
|
+
if (Da(a)) {
|
|
2847
|
+
qe(this, this.shadow.getElementById("panel-container"));
|
|
2586
2848
|
return;
|
|
2587
2849
|
}
|
|
2588
2850
|
a === "colapsado" ? this.salvarLembrancaEstado() : a === "camada-ativa" ? (this.sincronizarCamadaAtivaDOM(), this.salvarLembrancaEstado()) : a === "densidade" ? this.salvarLembrancaEstado() : a === "mapa-base-ativo" ? i && this.marcarMapaBaseAtivoNoDOM(i) : a === "titulo" || a === "mostrar-mapas-base" || a === "mapas-base-recolhido" || a === "mostrar-rodape" || a === "mostrar-busca" || a === "colapsavel" || a === "flutuante" ? this.solicitarRenderizacao() : a === "altura" ? (o = this.resizerController) == null || o.definirAltura(i, !1) : (a === "min-altura" || a === "max-altura") && this.alturaCustomizada !== null && ((n = this.resizerController) == null || n.definirAltura(this.alturaCustomizada, !1));
|
|
@@ -2617,7 +2879,7 @@ const H = class H extends La {
|
|
|
2617
2879
|
i.classList.toggle("active", o), i.setAttribute("aria-pressed", String(o));
|
|
2618
2880
|
});
|
|
2619
2881
|
const r = this.shadow.querySelector("[data-basemap-atual]");
|
|
2620
|
-
r && (r.textContent =
|
|
2882
|
+
r && (r.textContent = Xe(this.mapasBase, a));
|
|
2621
2883
|
}
|
|
2622
2884
|
/** Seção "Mapa Base" recolhida (só o cabeçalho com o mapa ativo). Atributo `mapas-base-recolhido`. */
|
|
2623
2885
|
get mapasBaseRecolhido() {
|
|
@@ -2720,7 +2982,7 @@ const H = class H extends La {
|
|
|
2720
2982
|
this.lembranca.salvar();
|
|
2721
2983
|
}
|
|
2722
2984
|
limparLembranca() {
|
|
2723
|
-
this.expandedFeatureLimits.clear(), this.lembranca.limpar();
|
|
2985
|
+
this.expandedFeatureLimits.clear(), this.ordemFilhosPorPai.clear(), this.lembranca.limpar();
|
|
2724
2986
|
}
|
|
2725
2987
|
// --- API Pública de Alta Ergonomia ---
|
|
2726
2988
|
//
|
|
@@ -2751,10 +3013,10 @@ const H = class H extends La {
|
|
|
2751
3013
|
this.definirMapasBase(a);
|
|
2752
3014
|
}
|
|
2753
3015
|
definirCamadas(a, r) {
|
|
2754
|
-
|
|
3016
|
+
rr(this, a, r);
|
|
2755
3017
|
}
|
|
2756
3018
|
definirFeicoes(a) {
|
|
2757
|
-
|
|
3019
|
+
or(this, a);
|
|
2758
3020
|
}
|
|
2759
3021
|
definirMapasBase(a) {
|
|
2760
3022
|
this.mapasBase = Array.isArray(a) ? [...a] : [], this.solicitarRenderizacao();
|
|
@@ -2778,28 +3040,28 @@ const H = class H extends La {
|
|
|
2778
3040
|
return this.feicoes.filter((a) => this.selectedFeatureIds.has(a.id));
|
|
2779
3041
|
}
|
|
2780
3042
|
adicionarCamada(a) {
|
|
2781
|
-
|
|
3043
|
+
nr(this, a);
|
|
2782
3044
|
}
|
|
2783
3045
|
removerCamada(a) {
|
|
2784
|
-
|
|
3046
|
+
sr(this, a);
|
|
2785
3047
|
}
|
|
2786
3048
|
adicionarFeicao(a) {
|
|
2787
|
-
|
|
3049
|
+
lr(this, a);
|
|
2788
3050
|
}
|
|
2789
3051
|
atualizarFeicao(a) {
|
|
2790
|
-
|
|
3052
|
+
cr(this, a);
|
|
2791
3053
|
}
|
|
2792
3054
|
removerFeicao(a) {
|
|
2793
|
-
|
|
3055
|
+
dr(this, a);
|
|
2794
3056
|
}
|
|
2795
3057
|
selecionarFeicao(a, r = !1, i = !1, o = !1) {
|
|
2796
|
-
|
|
3058
|
+
Jt(this, a, r, i, o);
|
|
2797
3059
|
}
|
|
2798
3060
|
selecionarFeicoes(a, r = !1) {
|
|
2799
|
-
|
|
3061
|
+
Zt(this, a, r);
|
|
2800
3062
|
}
|
|
2801
3063
|
limparSelecao(a = !1) {
|
|
2802
|
-
|
|
3064
|
+
er(this, a);
|
|
2803
3065
|
}
|
|
2804
3066
|
expandirTodas() {
|
|
2805
3067
|
this.expandedLayers = new Set(this.camadas.map((a) => a.id)), this.salvarLembrancaEstado(), this.solicitarRenderizacao();
|
|
@@ -2877,7 +3139,7 @@ const H = class H extends La {
|
|
|
2877
3139
|
}
|
|
2878
3140
|
render() {
|
|
2879
3141
|
const a = this.mudancaFeicoes;
|
|
2880
|
-
this.mudancaFeicoes = null, this.corpoElement && (a &&
|
|
3142
|
+
this.mudancaFeicoes = null, this.corpoElement && (a && Vt(this, this.shadow, this.dragDropManager, a) || Gt(this, this.shadow, this.corpoElement, this.dragDropManager));
|
|
2881
3143
|
}
|
|
2882
3144
|
// --- Conexão de Eventos ---
|
|
2883
3145
|
conectarEventosGerais() {
|
|
@@ -2885,27 +3147,27 @@ const H = class H extends La {
|
|
|
2885
3147
|
}
|
|
2886
3148
|
// --- Sincronização de DOM (delegada) ---
|
|
2887
3149
|
sincronizarCamadaAtivaDOM() {
|
|
2888
|
-
|
|
3150
|
+
vt(this, this.shadow);
|
|
2889
3151
|
}
|
|
2890
3152
|
sincronizarSelecaoDOM() {
|
|
2891
|
-
|
|
3153
|
+
bt(this, this.shadow);
|
|
2892
3154
|
}
|
|
2893
3155
|
// --- Auxiliares Internos ---
|
|
2894
3156
|
notificarMudancaSelecao() {
|
|
2895
|
-
|
|
3157
|
+
ar(this);
|
|
2896
3158
|
}
|
|
2897
3159
|
};
|
|
2898
3160
|
/** Painéis conectados sem `id` nem `storage-key`: dividem a mesma chave de persistência. */
|
|
2899
|
-
|
|
2900
|
-
let
|
|
2901
|
-
class
|
|
3161
|
+
I(U, "instanciasChavePadrao", /* @__PURE__ */ new Set());
|
|
3162
|
+
let ee = U;
|
|
3163
|
+
class pr extends ee {
|
|
2902
3164
|
}
|
|
2903
|
-
class
|
|
3165
|
+
class fr extends ee {
|
|
2904
3166
|
}
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
function
|
|
3167
|
+
Ce("ui-camadas", ee);
|
|
3168
|
+
Ce("ui-painel-camadas", pr);
|
|
3169
|
+
Ce("ui-layer-panel", fr);
|
|
3170
|
+
function Ir(e) {
|
|
2909
3171
|
var t;
|
|
2910
3172
|
return {
|
|
2911
3173
|
id: e.id,
|
|
@@ -2922,7 +3184,7 @@ function cr(e) {
|
|
|
2922
3184
|
dados: e.dados
|
|
2923
3185
|
};
|
|
2924
3186
|
}
|
|
2925
|
-
function
|
|
3187
|
+
function kr(e, t = "levantamento", a = "feicoes") {
|
|
2926
3188
|
return {
|
|
2927
3189
|
id: e.id,
|
|
2928
3190
|
nome: e.name,
|
|
@@ -2941,7 +3203,7 @@ function dr(e, t = "levantamento", a = "feicoes") {
|
|
|
2941
3203
|
dados: typeof e.dados == "object" && e.dados !== null ? e.dados : void 0
|
|
2942
3204
|
};
|
|
2943
3205
|
}
|
|
2944
|
-
function
|
|
3206
|
+
function Lr(e, t = "") {
|
|
2945
3207
|
var o, n, s, c;
|
|
2946
3208
|
const a = ((o = e.geometria) == null ? void 0 : o.tipo) || ((n = e.geometria) == null ? void 0 : n.type) || e.tipo || e.type || "Polygon", r = ((s = e.geometria) == null ? void 0 : s.coordenadas) || ((c = e.geometria) == null ? void 0 : c.coordinates) || e.coordinates, i = e.cor || e.color;
|
|
2947
3209
|
return {
|
|
@@ -2960,43 +3222,43 @@ function ur(e, t = "") {
|
|
|
2960
3222
|
};
|
|
2961
3223
|
}
|
|
2962
3224
|
export {
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
|
|
2967
|
-
|
|
2968
|
-
|
|
2969
|
-
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
|
|
3225
|
+
lt as CamadasDragDropManager,
|
|
3226
|
+
b as ICONES,
|
|
3227
|
+
Se as LIMITE_FEICOES_POR_CAMADA,
|
|
3228
|
+
Qe as MAPAS_BASE_PADRAO,
|
|
3229
|
+
ee as UICamadas,
|
|
3230
|
+
fr as UILayerPanel,
|
|
3231
|
+
Fr as UIMapaBase,
|
|
3232
|
+
pr as UIPainelCamadas,
|
|
3233
|
+
$r as UISeletorMapaBase,
|
|
3234
|
+
ye as calcularAreaAnelSimples,
|
|
3235
|
+
Ue as calcularAreaPoligono,
|
|
3236
|
+
Ye as calcularComprimentoLinha,
|
|
3237
|
+
ja as calcularDistanciaPontos,
|
|
3238
|
+
Xa as calcularSelecaoFeicao,
|
|
3239
|
+
ke as carregarEstadoPersistido,
|
|
3240
|
+
pe as construirHierarquiaCamadas,
|
|
3241
|
+
kr as converterCamadaItemParaCanvasLayer,
|
|
3242
|
+
Ir as converterCanvasLayerParaCamadaItem,
|
|
3243
|
+
Lr as converterFeicaoParaItem,
|
|
3244
|
+
M as escapeHtml,
|
|
3245
|
+
la as filtrarCamadasPorBusca,
|
|
3246
|
+
W as filtrarFeicoesPorBusca,
|
|
3247
|
+
Er as formatarMetricaFeicoes,
|
|
3248
|
+
We as formatarOpcoesCamadasHierarquicas,
|
|
3249
|
+
dt as gerarChaveStorage,
|
|
3250
|
+
ft as limparEstadoPersistido,
|
|
3251
|
+
gt as montarEstadoPersistido,
|
|
3252
|
+
Xe as nomeDoMapaBase,
|
|
3253
|
+
ut as normalizarEstadoPersistido,
|
|
3254
|
+
ca as obterIdsVisiveisFeicoes,
|
|
3255
|
+
mt as reidratarCamadasComOverrides,
|
|
3256
|
+
Fe as removerSelecoesInvalidas,
|
|
3257
|
+
ot as renderizarArvoreCamadas,
|
|
3258
|
+
Va as renderizarGridMapasBase,
|
|
3259
|
+
Ya as renderizarRodapeAcoes,
|
|
3260
|
+
ea as renderizarThumbGeometria,
|
|
3261
|
+
Je as rotuloRodape,
|
|
3262
|
+
pt as salvarEstadoPersistido,
|
|
3263
|
+
da as snapshotCamada
|
|
3002
3264
|
};
|